9 months ago in Quotes

emphasis mine

So I'm from Newark, NJ, didn't really grow up around many good examples of work ethic nor wealth, really shit neighborhoods every time I moved. My brother discovered the "view page source" context menu item back in the day on myspace and decided to see what this is about, went to college, came back and I picked up some code skills now 8 years later, we both make the same amount. Now to be fair, of the two of us, I'm the better dev and he even says it to his friends and bosses often.
This is why I hate the layers of bloat and abstraction, and think all the big "web companies" today are basically trash. The results usually look terrible, are slow and riddled with spyware, AND you can't even learn from them... that is, if you do, you just learn some watered down walled garden bullshit that will be completely revamped in 3 years while the fundamentals (they try their best to keep you away from) haven't really changed.

Meanwhile, the Chrome developers ponder removing the address bar altogether, and Windows 10 brags during installation how you should "leave everything to us", and let's not even mention Apple or Facebook.
 9 months ago in Quotes
The worst programs are written by people who know how to plug a million and one things together, but can't drill down and analyse the algorithmic implications of what they're doing. Electron runs like shit and inhales RAM is because it was programmed by people who don't have solid understanding of fundamentals. They understand a huge number of horizontal abstractions but they have no concept of how it looks vertically.

Knowing how to maximally exploit a CPU is way more important than knowing eight different Javascript frameworks if good software is your objective. And frankly, learning Node is way easier than figuring out how to structure basic, bare-bones Javascript so that it leverages your L1 cache.

And therein lies the problem. How many interviewers dock marks for iterating over columns, instead of rows? Because that matters, a huge amount. How many interviewers would give credit for "how can you speed this up?" if the interviewee said, "write it in C, and simplify the datastructures you want me to use so we maximise sequential lookups over basic arrays, to maximise cache usage." They'll look at you like you have three heads.

"Don't you know Big N complexity is the only thing that really matters if you're looking for speed?" - then you get Electron.
 9 months ago in Things
(click image to load video)
 9 months ago in Things
 10 months ago in Quotes
We do programmers a disservice when we act as if the conversation about the growing threat of legacy code begins and ends with COBOL. A whole generation of software engineers are spending their careers making the problem worse by outsourcing all but the most unique aspects of their applications to armies of libraries, plugins and modules that they are powerless to monitor let alone update.

The real horsemen of the legacy apocalypse is the depth of the dependency tree. Modern software development stacks abstraction on top of abstraction. If the left-pad incident of 2016 proved nothing else it demonstrated that even experienced engineers will YOLO dependencies on to their applications if given the infrastructure to make installing them easy. Modern developer environments are a veritable candy store of cheap and convenient dependencies.
 11 months ago in Quotes
My workstation (E5-2640) has seen multiple generations of operating systems, video editing software, DAWs.

Browsers and web browsing in general is the only thing that I can tell it's getting consistently worse year after year.

I know it's an odd metric but 10-15 seconds to fully render a newspaper homepage is more than it takes for my full DAW setup (Cubase + FL Studio as VST plugin) to fully come up with tracks loaded and play button ready. I don't even recall dialup being this bad.
 11 months ago in Quotes
Sometimes, they don’t even know that their system can run their stack natively. I’ve been on teams that have said “Let’s just use Docker because X doesn’t know how to install Y.”
 11 months ago in Quotes
So we are driving company decision making based on the needs of synthetic fake financial instruments? Is there any other way to run a company that is more stupid than striving to fulfill the needs of someone else's derivative product?

I cannot imagine a worse basis on which to steer a company. It makes zero sense. Using a random number generator to pick every decision would result in better results than what we are currently doing.

An example of a company that has completely succumbed to Wall Street is Texas Instruments. They are (or used to be) a tech company. They used to have research. They used to create new products.

But in the past few years they have started committing to "returning 100% of free cash flow to investors" (quoting their own earnings release) via stock buybacks and dividends. They actually put it down in writing: we are committed to NOT reinvesting in employees, NOT doing R&D, NOT creating new products. In every earnings call about how they are still committed to getting all the cash into stock buybacks and dividends. That's it. That's the whole company now.

Wall Street loves Texas Instruments. The shiny bucket of treasure known as stock buybacks + equity based compensation is irresistible. This is going to keep happening until we make it stop happening.
 11 months ago in Articles

The Paradox of Source Code Secrecy

First, as I show, courts have shifted the boundaries of protection for software under both copyright and patent law, further amplifying the attractiveness of trade secrecy. Second, the law has been willing to entertain an unique – and paradoxical-- overlap between copyright, patent, and trade secrecy, even though the three regimes have opposing public goals. Copyright and patent law are oriented towards disclosure, trade secrecy the opposite. While this overlap of protection in software seemed, at first glance, to be a good thing for innovation policy, it has proven deleterious for the larger public, particularly criminal defendants and lower income populations, who are now increasingly governed by an invisible hand that they can no longer investigate or question.
 11 months ago
8

Articles

 11 months ago in Quotes
Recent years saw a number of supply chain attacks that leverage the increasing use of open source during software development, which is facilitated by dependency managers that automatically resolve, download and install hundreds of open source packages throughout the software life cycle. This paper presents a dataset of 174 malicious software packages that were used in real-world attacks on open source software supply chains, and which were distributed via the popular package repositories npm, PyPI, and RubyGems. Those packages, dating from November 2015 to November 2019, were manually collected and analyzed.
 11 months ago in Quotes
Third-party delivery platforms, as they've been built, just seem like the wrong model, but instead of testing, failing, and evolving, they've been subsidised into market dominance.
 11 months ago in Quotes
“Things have really changed since I began learning, and rightly so. Instead of coding in plain HTML, CSS and JS, I'm now using endless frameworks, modules and libraries to build increasingly more complex web and mobile applications. It's great, if I didn't use these tools my code would be an unmaintainable mess.”

How sad that this has become the widely accepted narrative. There’s a lot of value right now in NOT building things that way. Last week I had to deal with fixing another dev’s mess on a stuck project. Big company website, but nothing fancy at all. Purely a marketing window. The amount of complexity he put into it by using Vue.js was insane for the scope of the project. INSANE. To do something as easy as changing the pages <title> tag we had to write an unjustified amount of lines of code. Framework-itis really is a bad disease, it not only affects your work, but it definitely clouds the simplest form of judgement, it appears. Then we have exactly this: someone who got a hammer and spent years treating everything like a nail comes to a reckoning, usually framed as a longing for the good old days when things used to be simple. Well, you know, things can still be simple, if you don’t offload to unjustifiably complex frameworks the duty of understanding what’s going on in your project.
 11 months ago in Talks

Making Game Programming Less Terrible

by Jonathan Blow
 11 months ago
4

Talks