HNHacker News
TopNewBestAskShowJobs

jondubois

-7 karma · joined May 14, 2020

submissionscomments
jondubois··on IQ rates are dropping in many developed countries
I don't buy the genetic argument. Intelligence is worthless.

In this society, a complete idiot with capital can achieve much more than a genius can achieve without capital.

jondubois··on Alan Kay and OO Programming
Maybe you should break up that large system into more manageable chunks (e.g. microservices, engines, ...) and integration test those individually.
jondubois··on Alan Kay and OO Programming
That's not my experience. Usually it only takes me a few minutes to fix a bug once it has been caught by an integration test.
jondubois··on Alan Kay and OO Programming
Why next week? Why not use the integration tests as part of your debug cycle now? The kinds of integration tests that I write only take a few milliseconds to run so if they fail I can just make a code change (or add a new breakpoint or log), then run again, then repeat. The flow should not be any different from doing TDD with unit tests. Note that integration tests don't necessarily have to be end-to-end; the point is more that each test case should cover a specific behavior.
jondubois··on Virtual DOM is pure overhead (2018)
>> I've noticed React is often conflated with the wider ecosystem it is a part of (Webpack, Redux, Babel) - perhaps this is the complexity you are referring to, but to be clear React can be used without any of these things.

I disagree with this. Everyone claims that you can use React without JSX but no one does it. Aside from ugliness, the main reason why no ones does this is because you would be missing the most useful aspect of React which is compatibility and consistency with the rest of the React ecosystem. So you cannot separate React from its ecosystem. All this complexity has become tightly intertwined.

If you use VueJS without a bundler (which is actually feasible), you will be surprised how much simpler and elegant the whole development experience is. Once HTTP servers start supporting static push of scripts, we will not even need bundling in production.

jondubois··on Solid Principles: A Software Developer’s Framework to Robust, Maintainable Code
For OOP, I aim for:

- Separation of concerns between classes/modules. The responsibilities of a class should be easy to explain to a non-developer. E.g. Ideally , every class/module abstraction should be an entity discovered in the specification (or easily inferred from it) and not invented from the developer's own mind.

- Be very careful about how you name things. Try to stick to the spec/domain terminology.

jondubois··on Sam Altman’s leap of faith
>> If OpenAI achieves AGI and you invested in it, you get infinite returns, because AGI will capture all economic value

AGI would render ALL humans redundant... Investors too.

"Evolution is cleverer than you are" - Orgel's rule.

jondubois··on Homeless Population Jumps by Thousands Across the San Francisco Bay Area
I don't understand how a country can maintain a coherent system of law when there are so many homeless people and almost 1% of the entire population is in prison.
jondubois··on The struggles of an open source maintainer
I've been maintaining my OSS project for almost 6 years. It's well used in the industry but nowhere near as popular as Redis. But I can relate to pretty much everything in the article even the thinking approach. It makes me think that it takes a certain personality to be an OSS developer.
jondubois··on City residents live with mental illness at higher rates than general population
I spent most of my childhood in suburban towns but most of my adulthood in big cities so I was shocked to discover that many city people seem to think that suburban towns are full of crazy people and violent criminals...

But I still feel that city people are crazier and more dangerous on average. The stick and carrot aspect of big cities does drive people at least slightly crazy.

jondubois··on Falsehoods programmers believe about Unix time
We should abolish local time too. There should be a single time for every country which is the number of milliseconds since either the beginning of human civilization, the beginning of earth or the universe.
jondubois··on I Charged $18k for a Static HTML Page
That's the problem with corporations; it's not the manager's own money, they don't know where it comes from, who the shareholders are, what the real goal of the company is, what high quality work looks like, etc... So if you're friends with the right people, you can get whatever amount you want and nobody cares.

The company is like a giant communal wallet. It sucks money out of lord-knows-where and dispenses it back to you. You just have to physically sit at your desk and waste time for 8 hours a day.

jondubois··on Ask HN: What overlooked class of tools should a self-taught programmer look into
Corporations have been pushing hard on marketing their vendor-lock-in as-a-service solutions so you don't hear about simple free open source tools anymore; all developer channels are saturated with corporate marketing. So much so that you don't even realize that it's marketing.
jondubois··on What I gained, lost and learned while working for Microsoft
I've worked for both startups and corporations. Corporate jobs are soul-crushing because everything about the environment seems to hinder you from producing real value and from learning new useful things. Corporate jobs hurt your inner creator and they destroy your sense of pragmatism.

Most of the stuff you learn in corporations are anti-patterns that you have to unlearn after you leave.

The reason why corporate jobs feel so meaningless is because most tech corporations have had a long term monopoly over their respective markets. They haven't had to really struggle on the market for several decades in some cases... Inside a corporation, mediocrity is the definition of success. If employees can produce something mediocre that only just works, it will translate into disproportionate revenue gains due to centralizing and monopolistic market forces. I think that this is what is meant when people talk about the "golden cage".

That's why I try to avoid corporate jobs. They pay well and you do learn some stuff in the first few months but after that your skills start degenerating and a lot of people don't notice it when it happens to them; then they get stuck in that job (or other corporate jobs) because no efficient company exposed to normal market forces will hire them.

Also note that the definition of 'normal market forces' is relative. Most startups which don't go through the normal corporation-controlled VC funnel (e.g. bootstraped startups) have a really tough time working against centralizing and monopolizing market forces.

jondubois··on Chris Hughes Says It’s Time to Break Up Facebook
Why is this article not being upvoted more? It's probably the most important piece that has ever been posted to HN; especially considering who the author is.
jondubois··on Chris Hughes Says It’s Time to Break Up Facebook
Both should be broken up. They are both equally dangerous. It's just that Facebook's standards have been degrading faster and so it's been more noticeable.
jondubois··on For Better Computing, Liberate CPUs from Garbage Collection
>> consumes a lot of computational power—up to 10 percent or more of the total time a CPU spends on an application.

I stopped reading there. 10% is nothing. For such a useful feature as automatic garbage collection, for the vast majority of applications, I'd gladly give away 50% of the CPU.

In terms of ensuring code correctness and robustness, if I had to choose static typing or automatic garbage collection, I'd pick garbage collection every time. It adds a lot of value in terms of development efficiency and code simplicity.

jondubois··on We Need to Save What Made Linux and FOSS Possible
>> bare walls with old ugly wallpaper

With Lambda, it's more like no walls at all... The land just comes with a concrete foundation but you have to build the walls and roof yourself.

jondubois··on We Need to Save What Made Linux and FOSS Possible
I still cannot believe that we live in a world were:

- A website with a silly name like 'Facebook' is worth half a trillion dollars and is extremely profitable.

- A website with a silly name like 'Twitter' which only lets you post 140 characters at a time is worth 30 billion dollars.

- An app with a silly name like 'Snapchat' which loses billions of dollars per year is worth almost $15 billion.

- An international taxi service with a silly name like 'Uber' which is losing billions of dollars per year is worth almost $100 billion.

- That software developers don't see anything wrong with building apps on top of proprietary cloud APIs (e.g. Amazon Lambda) - The closest real-world analogy that I can think of is that it's like building a house with your own bare hands for years and then, once you finally finish it, you start paying a corporation rent (at whatever rate they ask for) so that you can live in your own house! Meanwhile, the whole time, there was an even better plot of land right next door which was 100% free but you ignored it because the signposts on the corporate land were flashing with bright neon lights.

The economy makes so little sense that there is no incentive left to create value. The best you can do is just look for the next financial scheme to take advantage of. I bet it will be something completely random and useless.

jondubois··on Banks Look Safer with Deposits
Only about 10 years ago, the entire banking system was on the brink or collapse and had to be bailed out - This was followed by a decade of cutting interest rates and quantitative easing which served to pump free money into the economy; most of this money ended up directly in the hands of corporations and tech startups (and the Consumer Price Index was only kept artificially low due to increased centralization of wealth).

The economy that we have today is the result of a decade of artificial manipulation by government entities - There is little real value behind the growth. All the numbers look bigger but they're more brittle than ever.

jondubois··on Banks Look Safer with Deposits
If being the first in line to collect the proceeds of liquidation in case of bankruptcy is the only advantage of loaning vs investing, then it still doesn't seem like a very strong case to me.

>> a business might not want to hand over ownership

In terms of not wanting to hand over control; a business could achieve this by issuing non-voting shares. In terms of actual ownership, I don't think it makes sense for an economic entity to give or loan money to a venture unless they understand or at least believe in the venture - Ownership is the best way to demonstrate that belief.

Debt may be a way to commoditize the funding process but this doesn't make sense begin with - Money loaned by bankers on the basis of broad statistical probabilities cannot outperform money invested by investors on the basis of deep understanding of the market and business domain.

If the economy ran more on debt, we'd end up with fewer well informed investors and more poorly informed bankers. The economy would be much less efficient.

jondubois··on Banks Look Safer with Deposits
If the financial system were a software system, it would be in dire need of a refactoring.

Complexity makes systems brittle and exploitable. Also, most of the complexity adds no value. For example, do we still need debt? Wouldn't it be better for a company to just create and sell shares if they wanted to raise funding?

In a healthy economic environment, loaning money doesn't make any sense. When you make a loan, you limit your upside potential but you're still exposed to the full downside risk (e.g. if the debtor goes bankrupt). The only real use case for debt is to create speculative bubbles... You manipulate markets to inflate asset prices so that people need to borrow more money so that the interest payment on the loan taken for that asset is more profitable than any real investment return that the asset could have generated organically.

jondubois··on Applying the Gestalt Principles to Code
You don't necessarily need to plan everything up front. You can identify critical decisions points within your project as you go along. Personally, I try to keep interfaces between modules as simple and restrictive as possible (as simple as they can be while still meeting business requirements) but I keep the option open to add more flexibility/complexity later if it turns out to be absolutely necessary. Often it turns out to not be necessary. Having simple and restrictive module interfaces is extremely valuable if you can figure out what the right restrictions are.
jondubois··on Applying the Gestalt Principles to Code
For personal side projects, I spend at least 80% of my time thinking about the code that I'm going to write, 5% writing it and 15% reading it.

The more experienced I become, the less time I spend writing code and the more time I spend thinking about it and drawing diagrams on paper.

Coding should not be the bottleneck. The bottleneck should be deciding what solution to choose because there are usually a lot of factors to consider and it takes a while to identify all the main ones. It's not unusual for me to spend multiple days just thinking through different technical solutions without writing any code.

IMO developers who commit often and too many lines are juniors. Most of these lines will have to be rewritten because there wasn't enough thought behind them.

jondubois··on Self-Taught Mathematician; an Impossibility?
I enjoy the pure logical aspect of maths, but really dislike the notation/abstraction aspect.

I think that if we could rewind time and humanity had to reinvent math from scratch, it would probably end up very different from what we have today; most of the underlying logic and ideas would be the same, but the abstractions, notations and representations of those ideas would be completely different (and possibly better/simpler and more logical).

When it comes to code; whenever something is kept a certain way because of historical reasons, that's called technical debt and it's a bad thing.

In maths, basically all of the abstractions and notations are the way they are because of complex historical reasons. Math never gets refactored.

jondubois··on Why Good Developers Are Promoted into Unhappiness (2007)
>> maybe you aren’t in the right social circles

I think this may be the case. I don't have many friends but those that I do have are very close.

The foundation of most friendships among the wealthy seems to be shared financial interests. This is not real friendship IMO and I cannot understand why supposedly intelligent people (who already have a high level of financial security) would participate in this kind of social theater where everyone is acting and everyone knows that everyone else is also acting and yet they all keep playing along. Friendships must be founded around core values not around mutual financial interests.

jondubois··on The Problem With Happiness
>> Observing that wealth has not made people happier, some economists have proposed that

The fact that wealth and happiness are often mentioned together in articles and books is a very strong indicator that they are related.

The problem is that people who are greedy enough to actually acquire a good sum of money in this system are usually psychopaths. The problem with psychopaths is that their only pleasure in life is knowing that they are better than other people. Capitalism is built to make sure that psychopaths are never satisfied; there will always be someone who has more money. If you're not a psychopath and you manage to make a lot of money, then you will almost certainly be very happy because you won't care at all if a lot of other people are wealthier than you.

jondubois··on Remote Code Execution on Most Dell Computers
Yes I don't think that the government needs to plant vulnerabilities to get backdoors into people's machines. Finding vulnerabilities is not that difficult. The more moving parts you have and the more complex the code is, the more likely it is that there are vulnerabilities in the software.
jondubois··on Software, the Tough Tomato Principle, and the Great Weirdening of the World
>> One instance of the Tough Tomato Principle is particularly interesting: when people are the tomatoes that have to fit their new technological paradigm.

Sounds like a lot of people are going to be thrown out.

jondubois··on Open Source Is Eternal
>> But, that's the choice you make when you choose to work for free

Choice is a relative thing. A lot of developers go into open source as a last resort because they believe that it's the only way that they can get access to users. Corporations have a near monopoly over users.

← PreviousPage 4 of 34Next →