For all your programming needs
How capitalism contradicts hacker culture (in computer science).
Hacker culture fundamentally contradicts with capitalism in their principles; capitalism is based on surplus value, while hakcer culture is based on communist values: collectivization (of program code) and revolutionary action. # How the UNIX philosophy favors capitalism The UNIX philosophy is a philosophical guideline for software development that was formed in the 1970s; it formed because hardware resources in all computers were minimal during that period. An important detail (that is not mentioned) is that computers were under the influence of capitalism. **The lack of hardware resources favors capitalism; because it demands that the consumer must buy more hardware.** This means that computers developed under capitalism necessitates arbitrarily gradual increments in sold computer hardware. It is in this system that the UNIX philosophy forms. Practice is directly related to theory; **so the resulting theory of capitalist computers in the past is the UNIX philosophy.** **So, capitalism subverts hacker culture by favoring profit over technology.** LISPs (and by extension LISP machines) have a cultural association with hacker culture due to being efficiently flexible. (I wouldn't be surprised if there was or are propaganda against LISPs and LISP machines as a result.) Hence, the UNIX philosophy was heavily promoted to fight against hacker culture. ## "Write programs that do one thing and do it well." This allows the capitalist to easily profit by selling each program under the guise of being efficient due to the UNIX philosophy. Base UNIX tools could have a heavy expense, while more complex programs with redundant functionality have a cheap expense. # LISP machines... Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language. Lisp is an efficiently flexible language that is fostered in hacker culture; LISP's read-eval-print-loop promotes collectivization through interactivity. Lisp machines are technologically superior in efficiency and flexibility as a result. ## ...promote socialist values. ### Collectivization LISP promotes collectivization (of program code) to the person through the read-eval-print-loop (REPL). A REPL promotes interactivity and experimentation, an environment were a person can freely learn at their own pace. ### Revolutionary Action **LISP promotes revolutionary action through (the *interactivity* of) the read-eval-print-loop (REPL).** This seems absurd, but think it. Compilers that do not use a REPL result in programs that can *only* compiled machine code. Program code is difficult to reverse engineer without the source code; because the source code is often converted to machine code. The result is that **programming languages that lacks runtime interactivity dissuade socialist values in users.** The user cannot freely tinker with the program code without the program becoming unstable. Users of compiled programs, formed with languages designed to soley be executed, are dissuaded from collectivizing machine code in the program and utilizing revolution action to improve the material conditions to achieve goals; even when the program's source code is open. For example: C is a popular programming language in operating systems; because it lacks interactivity. Open source code often works against the capitalist's advantage, so they close the source code to prevent the proletariat from freely copying the source code and compiling it themselves. Although the Linux kernel is free and open source, there is still a contradiction between the program code and the user. The program code runs independently of the user because it was not designed with interactivity in mind. ## ...contradict capitalism's principles. Profit forms the base of capitalism. Developing high hardware resources for computers are expensive investments; therefore capitalism promotes minimalist hardware resources to increase profitability. LISP machines were expensive to the consumer because more labor needed to be invested in them. **LISP machines are technologically superior in efficiency and flexibility (due to being a list processor and the REPL);** but capitalism demands halting development for profit; and Lisp machines were only expensive to build because developing good computers works against the capitalist's profit. # Summary **The UNIX philosophy seems to be a mostly corporate philosophy that carries a reformist message;** a philosophy to weakly justify the lack of hardware resources in computers developed in capitalist countries, and distract the proletariat from real change. The present material conditions work against the UNIX philosophy; yet it's still promoted as being efficient. **LISP contradict capitalism's principles** because it's based on socialist (arguably communist) values: collectivization and revolutionary action. LISP promotes these values through the REPL and favoring linked lists. I suspect that the UNIX philosophy is intentionally promoted by the capitalist to slow the inevitable development and use of LISP and LISP machines. (This idea hasn't been confirmed.) --- So what do you think of this? I'll probably append more details in the future.

Is there a Python exercise list similar to rustlings?
For anyone that doesn't know, [rustlings]( is a "project [which] contains small exercises to get you used to reading and writing Rust code. This includes reading and responding to compiler messages!" I'm going to help someone with learning Python. After we go through [*Automate The Boring Stuff With Python*](, I was hoping we could work through something similar to rustlings, as it's really an incredible set of exercises that helped me immensely. If there isn't, I might look into creating something similar that follows along with [Python 3 tutorial](, as that covers a good chunk of the language and would also expect a basic grasp of Python and programming concepts.

Has anyone applied dialectical materialism to programming?
cross-posted from: > It seems like there's no English material on this topic.

Yep, I knew it. Google is trying to recuperate C++.

When does programming (alone) get cumbersome for you?
cross-posted from: > For me, it's when I start prototyping. I lose the little amount of interest I had.

How do you programmers deal with over engineering?
I feel like I waste my time on thinking a good solution rather than getting a prototype out.

If LISP is flexible enough to represent every existing programming language, then why use languages other than LISP?
cross-posted from: > Lisp is a very flexible language; I don't see why people can't just use LISP instead of other language, since it technically has every feature of every language.

cross-posted from: > and it only takes a few seconds to do too!

Hopefully Linus is aware that big tech donates to Rust.

It seems like Google is trying to recuperate the ISO for C++.
[From]( > This proposal, for the next standard of C++, which is a general-purpose programming language, lists hardware architectures, OS platforms, and environments that should be prioritized. From a technical point of view, this is absolute nonsense. It is not the place of a programming language to prioritize hardware architectures or OS platforms. It is the job of a compiler for this language to implement the specification for various platforms and the implementation may be more or less optimized depending on the backend, but the language itself should be entirely agnostic. And even if you accept the premise that it makes sense to define a list of priorities, let's take a look: none of the various BSD operating systems have made the list, despite having significant, vibrant communities and a long history of working, but Fuchsia, Google's own, not-ready-yet operating system, has. Hmmm. Also, there is a curious insistence on prioritizing little-endian hardware, which would be detrimental to a certain number of embedded systems and other platforms, but it so happens that Google uses none of them. > > And it just so happens that out of the 17 authors of that document, 8 of them are working at Google. Seems like Google is trying to recuperate the ISO to convert C++ into corporate bloatware. I would be cautious when using C++ in the future.

Inquiry into educational mathematics freeware
So the other day I was burning time doing a little bit of Spanish practice on the free version of duolingo when I thought to myself "wouldn't it be fantastic if something freely available like this existed that comprehensively taught mathematics up to a university level". Does something like this exist and if so is it any good? Ideally the software I imagine is totally comprehensive; offering not only tutorials on everything from the absolute fundamentals to advanced topics but also problem generators that allow people to apply the lessons, practice and test their understanding under a wide variety of possible circumstances. Does such freeware exist? A readily available, approachable and most importantly freely available resource of this kind could be a huge boon for spreading mathematical education all over the world.

> When previous internet privacy scandals hit—from the Apple dispute with the FBI to Edward Snowden’s NSA leaks and even to obscure data gathering provisions in anti-piracy laws—groups like the Electronic Frontier Foundation had been out on the cyber-barricades, piling up the e-tires and setting them ablaze with memes and gifs. They organized online protests, website blackouts, digital strikes, cyber pickets, and even physical rallies: you name it, they did it all. And that made sense. Because EFF’s leaders, together with their digital-rights comrades shoring up the bulwarks of civil society as we know it, were supposed to be go-to defenders of the people on the internet. They were professional activists, attorneys, and technologists who did the hard, thankless work of keeping the internet free and democratic. > > And yet something broke down with the Facebook-Cambridge Analytica scandal. On paper, this controversy looked to be a dream organizing opportunity for EFF and its allies. Here was a Silicon Valley giant using its platform to spy on Americans and subvert the workings of our democracy. EFF should have been leading the charge. And yet in what was arguably the greatest public dispute concerning the planet’s largest social networking platform, EFF was AWOL—nowhere to be found. As I continued scanning the privacy group’s website in the weeks after Mark Zuckerberg’s appearance on Capitol Hill, all the advice it offered to irate and concerned Netizens seeking to preserve their privacy on Facebook were pro forma notifications telling them to opt out of platform API sharing and download EFF’s Privacy Badger ad blocker extension for Chrome—a browser made by Google, a Silicon Valley surveillance giant. > > The silence of digital advocacy groups was deafening, and even insiders began to question their motives. April Glaser, a Slate tech reporter who had previously worked at EFF, penned a heartfelt appeal for EFF and other tech watchdogs to do something—anything—to protect the American people from Silicon Valley surveillance. “Privacy advocates know how to build coalitions and campaigns. They know how to make demands, and they know how to hatch an action agenda fast,” she wrote. “But it didn’t happen over the March weekend that the Cambridge Analytica news broke.” She wondered why the normally spunky and combative advocacy groups—groups that she admired and worked for—were sitting on the sidelines. “If the people whose job it is to care about digital privacy can’t be bothered to push for laws to regulate how Facebook treats the data we give it,” she wrote, “why should Congress?”

How it works - Briar
Briar is a messaging app designed for activists, journalists, and anyone else who needs a safe, easy and robust way to communicate. Unlike traditional messaging apps, Briar doesn’t rely on a central server - messages are synchronized directly between the users’ devices. If the internet’s down, Briar can sync via Bluetooth or Wi-Fi, keeping the information flowing in a crisis. If the internet’s up, Briar can sync via the Tor network, protecting users and their relationships from surveillance.

but seriously what text editor do y'all use?

Kinda weird how you find Nazis in the most unlikely places. Thankfully I was only using their terminal emulator so I switched to alacritty. Also relevant:

For all your programming needs

    A community to discuss programming and or related topics

    • 0 users online
    • 7 users / day
    • 9 users / week
    • 19 users / month
    • 31 users / 6 months
    • 288 subscribers
    • 39 Posts
    • Modlog