arisuchan    [ tech / cult / art ]   [ λ / Δ ]   [ psy ]   [ ru ]   [ random ]   [ meta ]   [ all ]    info / stickers     temporarily disabledtemporarily disabled

/λ/ - programming

structure and interpretation of computer programs.

formatting options

Password (For file deletion.)

Help me fix this shit.

Kalyx ######

File: 1499680705976.jpg (34.05 KB, 1039x771, KcS6k.jpg)


Is there any validity to this claim? I have been thinking about it all week and I can't actually see the flaw in it. Maybe computers are just different than real life?
35 posts and 3 image replies omitted. Click reply to view.


>. I don't trust the judgments or eyes of anyone other than me
i don't trust the judgements of any other single person,
but all the judgements of /everyone/ else sound pretty reliable.


Like the one which claims that Naruto or One Piece are vastly superior to Serial Experiments Lain.


This guy's got it right, imo. As illustrated by the Thompson Hack itself, tracing malevolent behaviour in an unwieldingly complex system makes it's "openness" a moot point, for the malicious piece of code could be hidden anywhere among all that spaghetti.
Is linux really "open"? is gcc really "Free"? I recall rms obfuscating it so it would be fucking hard to use it… well… freely.


i mean i agree with everyone if they all agree with eachother.

if there is a single person who can point out backdoors in Linux, i wouldn't trust it.


OP is probably talking about trusting trust attack.

File: 1496813637046.jpg (39.22 KB, 500x500, 8ccd670fb642bc6d177558f299….jpg)


If I want to learn something useful now, but eventually go on to focus more on academic programming languages, what would be a better start, JavaScript or Python? I'm getting mixed messages everywhere.
50 posts and 10 image replies omitted. Click reply to view.


>that's what they do at the good CS schools
A lot of them start with Java.
which one are you thinking of?


>if you're really serious about this, start with c. that's what they do at the good CS schools.
I really don't understand people's fondness for recommending C as a first language. As a language it has very little to recommend, and the requirements of manual memory management can be a serious distraction and nuisance to beginning programmers.

I suspect it stems from the widespread mythology around lower-level programming, that it's somehow more "real" than higher level programming. I believe that's a serious mistake - programming isn't fundamentally about how computers work, and prioritizing understanding computers over understanding programs is doing a disservice to people learning how to program.


>programming isn't fundamentally about how computers work, and prioritizing understanding computers over understanding programs is doing a disservice to people learning how to program
This. This is why you read a book called Structure and Interpretation of Computer Programs or How to Design Programs, not one called "Java 101" or something.


I would recommend Python as a first language. The syntax is quite easy and it can be used in a lot of different fields.

You should learn some basic Python, then classes and then functional programming.
For me programming is more than just learning the language, you should also look into maths, how computer works (understanding microprocessors etc.) and stuff that comes in handy, for example if you use Linux learn Bash, Powershell if you use Windows. Learn a little about your operation system and networking.

I know this sounds like a lot but you should take small steps, nobody can just work through one book and be a good programmer. It takes times but when you are able to break down problems and understand the system "as a whole", it''s an amazing feeling and it's really worth it.


>Powershell if you use Windows

use bash in the linux subsystem for windows

File: 1505683211810.jpeg (299.92 KB, 600x909, Linus_Torvalds_talking.jpeg)


When people install any piece of software, proprietary or otherwise, they are doing so because they expect some utility from it. It adds something of value to their life. When you tell people to uninstall that same software, you are asking them to voluntarily remove that value from their life, often without an adequate replacement, whether you think so or not. There is no open source Adobe Photoshop. There is no open source Discord. There is no open source World of Warcraft.

"Yeah, but [insert software here]." If that software were what someone wanted, they would have probably installed it already. It isn't. Even if you don't understand or respect why. When someone resists your overtures to remove or replace the software you vehemently dislike, it is happening for a reason. Maybe they need it for their job. Maybe they want to talk to their friends. Maybe they just want to enjoy life.

Telling people they are wrong for wanting these things leaves a bad impression of the FOSS community at large and alienates people that might have otherwise been persuaded. Instead of chastising someone, try educating them instead. Maybe they will be converted. Maybe they won't. But policing what people do with their computers is the absolute antithesis of what the "free software" movement should stand for.

Every line of disparagement against a piece of closed source software could have been a line of code building an open source alternative.

Stop bitching and start coding.
32 posts and 9 image replies omitted. Click reply to view.



True, that was perhaps a little too far. I'll be charitable and amend what I said. Gimp is really more of a competitor to older versions of Paintshop Pro.

But I stand by the rest of what I said. Gimp's pace of development has been absolutely glacial. GEGL has been promised by Gimp's devs to solve its bitdepth issues for almost fifteen years now. Normally in FOSS projects, that means that more programmers need to pitch in and help speed development, but Gimp's dev team has been notorious for their insular attitudes and hostility to outsiders offering patches.

Krita's much better on the bit depth and adjustment layer fronts, and it has a truly excellent welcoming attitude towards newcomers offering patches. Krita's a poster child for how collaborative FOSS development can do great things. But their tools are far better suited to illustration work. They're really not suited to photography.


File: 1511720866090.gif (50.74 KB, 225x300, Mars-san.gif)

My two cents as to why I still use non-free software like Discord. Simply put, the community is there. Sure, if my favourite non-tech savy communities were using FOSS alternatives, I'd be right there with them, but most aren't. They use Discord because it's easy to install on your standard Windows PC, and has an extremely user friendly interface. I can get down with GIMP and the like because my experience doesn't hinge as much on a community of other users. Online communities do.

On Discord, there's not a lot of clutter or excessive features. Firefox also shows how simple and streamlined is often more attractive. Out of the box, Firefox is fairly plain, and works how the normal end user wants it to. Yet it does offer a lot of customisation and more advanced features for those who are looking for it.

The one thing most people want in their software is accessibility and user-friendliness. Making them so much as touch the command line is a recipe for disaster. The status quo of Windows makes it such that no-one is going to go out of their way to install Linux.

If you're serious about moving the world towards completely FOSS software, then it needs to get a lot more simple, and I mean A LOT (with the OPTION of advanced features). Only then will you actually see a lot of conversion.


File: 1511730809914.jpg (91 KB, 500x710, 27b087d60b6e7219f8a6b37514….jpg)

>"Yeah, but [insert software here]." If that software were what someone wanted, they would have probably installed it already. It isn't

that's not true, most people just use what people they know use or what came pre-installed in their devices, even if the program is a piece of soykaf

>Every line of disparagement against a piece of closed source software could have been a line of code building an open source alternative.

SpywareOS 10, NSAkype, and iClosedGarden are not popular because of their quality, but because of marketing. Software is not promoted by writing code.


Just use plan9 and discard real-life needs
Distribute your soul across the cpu servers


FOSS is almost pointless if users are illiterate children who panick if presented with anything with less than a few hundred thousand lines of code making it nice and """simple"""

File: 1504679359531.png (434.84 KB, 736x542, Console Cowboys.png)


What terminal do you use, Alice? Why?


It does what I need it to and it works well with my i3 config.
22 posts and 2 image replies omitted. Click reply to view.


One pill makes you larger, and one pill makes you small
And the ones that mother gives you, don't do anything at all
Go ask Alice, when she's ten feet tall
And if you go chasing rabbits, and you know you're going to fall…


Was using st for a long time but the lack of scrolling got to me, now I'm back to urxvt


st w/ zsh + powerline
(and tmux for scrollback :-p) also, if you ever wanna go back:


whoops, replied to the wrong anon x_x



No real reason, just got recommened it. Never found a reason to change it.

File: 1511416627416.png (503.09 KB, 900x563, anime_girl_working_on_comp….png)


This may sound like the classic newbie-wants-to-do-something-really-hard, but I've been trying to study OS programming, cuz I would like to create my own. This is mostly for hobby purposes and because I feel that, by learning OS programming, I will be tackling down a lot of Computer Sciences topics and applying that knowledge.

I know some programming language (mainly Python) and I'm learning C right now. I noticed that my hardware knowledge is lacking, though.

Any recommendations you could give me for bibliographical sources? Thanks.

P.D: I've been lurking here for a while…


linux from scratch might be something to look into


I would recommend first looking into ASM DOS development, because you can mostly ignore the OS and interact direcly with the hardware. If you want to use protected mode making your Kernel multiboot compliant makes everything a bit faster. Also you need to learn Assembly, at least some bits need to be written in Assembly (and some parts are easier or need some ASM glue, like ISRs). The OSDev Wiki has quite good tutorials for beginners as well.

Operating Systems: Design and Implementation
The Indispensable PC Hardware Book


File: 1511041363956.png (1.43 MB, 1062x826, girl-on-laptop.png)


How do i put my knowledge to action when i don't work in the field and don't have enough knowledge to freelance or start something complex from scratch?

Suppose i start learning C today (just an example), and then i spend one month studying hard, after that how will i be able to practice like if i was actually working in the field, or close to that?



The same way you studie for a exam you need to have a objectif to put your knowledge to test. I'm no programmer so i don't even know if my example will be good but i hope it gives you a picture of what I'm trying to say.

So you're learning C, well let's think that to ensure you correctly understood what you learn you are going to create a program that gonna generate random character. One step at the time you're going to put your programming knowledge in the objective to create a a program that generate random character.

One of my mentor best tips he gave me was when you want to learn something new most of the time you have a objective in mind.



Thanks bro.


just find something and work on it.

I wouldn't suggest using C.
It's mostly good for low level stuff you won't be ready to work on as a beginner, and debugging can be tough.

File: 1510918535788.jpg (48.95 KB, 768x433, 091826412-047.jpg)


Is it stupid to even think about working with only one programming language?

I think i suck at multi tasking, since high school and now in college i thing the worst part of it all is having to deal with way too many things at the same time, i fucking hate it. Suppose i learn VBA, C, and other programming languages at college but most of the time i only study C++, or Java, or anything, is that a bad move?


Learn C and Scheme, after that you should be able to learn most other languages pretty quickly. The thing is languages don't actually matter; good program design is language-agnostic.


You should start out with one simply programming language to understand the basics like classes, functions, variables etc.

After you learned one language and when you understand those basic concepts it's much easier to learn a second language, then it's mostly learning a new syntax



Hmm thanks guys.

File: 1506484538091.png (78.13 KB, 304x492, scala-spiral.png)


Have the best of both worlds. Construct elegant class hierarchies for maximum code reuse and extensibility, implement their behavior using higher-order functions. Or anything in-between.

Pull your head out of your SICP book and learn you some Scala.

Already know java?

Need some tutorials straight from the source?

Don't know what a program is?

Like koans(one tiny bite sized lesson at a time)?

Wanna take a class from the guy who created the fucking thing?

Need an IDE?


I'm pretty new to functional design, but I use java and OOP daily. In a nutshell why is it worth it for me to learn scala (aside from a purely academic interest)? Also does anyone here actually use scala on the job?


I use scala on the job daily, and previously used java on the job primarily.

I'd say why you should use functional design and why use scala are different questions, since it's perfectly OK to write nothing but side-effecting OO scala.

I'd say in a nutshell, scala's advantage is that it just has more language features. You can do everything you can do in java, plus more. Case classes and pattern matching dramatically cut down on boilerplate for everyday tasks, type classes allow you to have incredible libraries that would just be too cumbersome to bear in java, etc.

The main reason (and pretty much the definition) to use functional design is that it decreases your ability to make runtime mistakes from not calling side-effecting methods enough, in the right order, at the right time, or too much. Also makes doing things in parallel easier to reason about.


Okay, that makes sense. I think the thing that turned me off scala a couple years ago was the syntactical learning curve. Scala source is so dense I found myself taking 3-4x as long to understand a code snippet as a similar function in java. That and the backwards compatibility was awful, though that might have changed.


I found the syntax daunting at first too, but it's a pretty small initial hurdle. Once you know what the basic set of syntax rules are, everything is pretty easy.
Try one of the courses, I found that if I stuck through one of them that was about all I needed.


File: 1509056900888.pdf (3.54 MB, AtomicScalaV2.0.pdf)

I've been learning Scala recently (mostly for use with Spark), and Eckel and Marsh's "Atomic Scala" is proving a useful guide.

File: 1507867704630.jpg (115.06 KB, 1200x954, 1200px-Sega-Genesis-Model2….jpg)


what is the best resource for Sega Genesis 32x programming? I'm not totally sure how it works, but I'm guessing there's more to it than just 68K assembly. Tell me if I'm wrong.
I'm talking about specifically for the 32x.


Probably too obscure for fan written resources and developer documents are usually very rare even with very popular consoles. Outside of looking up the SuperH SH2 architecture the only advice I can give is to go to assembler games and ask there.


>go to assembler games



File: 1499112239813.jpg (1.15 MB, 5120x2880, pink mountain.jpg)


Just finished first semester of CS, my country doesn't seem to get it's soykaf together so I'lll have like 3 months off. What project could I start? I wanted to know more about backend web developing, as I found out that frontend is tedious af, but I don't really know where to start. Besides that, what does Lain think I should do? I'm really not that great at having ideas.


Since you gave no info on your personal interests, I'll just spout some ideas here:
- Lisp REPL:
- CLI note taking tool
- RPN calculator
- Simple BBS
- Personal website
- IRC bot
These are just from the top of my head. Of course, if you want to do only web stuff, you're pretty much stuck with several languages and frameworks for them.


File: 1499177659998.png (3.3 MB, 1920x1080, 1475163895042.png)

That build your own Lisp thing looks cool, holy soykaf, but dunno, I was interested in web dev because I want to be able to make money as soon as possible. The thing with web stuff is that there's tons of tools and I have no idea how to choose the right ones.
Thank you anyway, if I can't decide by the end of the week I'll probably start that Lisp proyect.


File: 1499186364750.jpg (173.22 KB, 1280x720, shot0048.jpg)

Look at job listings and try to figure out what employers around you are looking for. First I would try to get a taste of each popular technology, maybe implement the same small project in each (todo-list, blog, image gallery, etc.). Be sure to include "enterprise" solutions for both Java (like JavaEE or Spring) and Microsoft (like ASP.NET MVC). After this choose one that you like, and you can get deeper by doing more projects, reading books and such.


what happened?

Delete Post [ ]
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
[ Catalog ]