HNHacker News
TopNewBestAskShowJobs

jongjong

3,069 karma · joined July 22, 2022

submissionscomments
jongjong··on SimCity, but with Permits
This sounds really efficient actually compared to the alternative in many developed countries where new houses simply do not get built at all after spending a lot of money on admin fees for nothing.

"Nuance gets lost" well with centralized politics, the whole damn point gets lost.

jongjong··on It's still ok to enjoy programming
I also did some distributed systems work recently creating a flexible sharded data aggregation pipeline but my AI (Claude Code) was able to do it. The prompts were very technical and I kept having to check that it didn't miss anything but it did a great job. It would have taken me way longer to implement by hand.

That said, it's true that all the default decisions it initially took were not good. I had to keep insisting that the solution should scale linearly with number of workers. With every additional feature or adjustment, it kept adding shared processing bottlenecks, even though it required less than 20% extra code to keep it embarrassingly parallel. And that's with my entire codebase designed to be embarrassingly parallel from the ground up.

I think there's definitely a weakness there. That said, I think this industry tends to shun embarrassingly parallel solutions; equating it to overengineering. Personally, I find embarrassingly parallel solutions more elegant and robust especially in terms of state management. Doesn't require that much additional work. Everyone seems to be on board with Functional Programming which also helps to manage state more reliably (and often helps make code embarrassingly parallel) but my impression is that just aiming for parallelism gives you the same key benefits as FP. Allowing modules to hold state isn't the problem. The problem is that state has to be handled carefully. FP is kind of throwing out the baby with the bathwater, IMO.

jongjong··on Coconuts in Medieval Britain (2015)
Yes it's a stretch to claim they came from a specific country... If you go to remote islands in Australia with nobody on them, there are coconut trees there. I highly doubt they were planted there by people. They are pretty good at surviving long ocean journeys and they can start growing above the ground, they don't even need to be planted. Probably the most hardy tree species that exists if you think about it. According to Claude, a coconut can survive 3 to 4 months at sea. They could have come from any beach.
jongjong··on Stolen Renoir paintings found hidden, and damaged, behind cinder block wall
It's weird though.

I don't understand why anyone would want to buy something outside of its legal socio-economic context, when that thing's entire value is derived from that context and is otherwise worth very little intrinsically based purely on aesthetic value.

Any market value it sells for is then based on some shared mental deficiency which prevents people from understanding that.

jongjong··on Redesigning Source Control at Anthropic
It's almost impossible to avoid over-engineering these days. I can't make other people generate minimalist code. Before AI, you could reach alignment with your team members and produce high quality, minimal code, but nowadays I find it impossible because:

- People believe they will be able to maintain code just as easily as they can generate it and it's hard to explain the asymmetry to people who haven't experienced it themselves.

- People don't feel like coding is a craft anymore so they don't care about how the code looks. They just want it to appear like it's working and don't care about anything else. As a team leader, you can't get people to overcome this deep sense of apathy they feel towards the code.

jongjong··on Suicide rates highest ever among middle-aged men
They can leave! Escape the country through some forest.

And yes, drones are a kind of tangible narrative device. If people didn't believe the narrative, they would just have 'surrendered' on day one of the war and the drones would never have been sent. They're just not smart enough and too proud.

French people are the smartest in that respect. Look at how many times they surrendered and look at how big France is still. France has territories all over the world and a dominant culture. They lost essentially every major war but haven't lost a thing in practice.

I wonder if Germans even learned the lesson yet... They have plenty of evidence to look at in their case. They're smart but also a bit gullible and their pride gets in the way. Heck, even a backward country like Iraq or Afghanistan can lose a war to the world's #1 superpower and still manage to keep everything.

How can anyone see this and believe that fighting a war makes sense? Most people are retarded and gullible.

jongjong··on Suicide rates highest ever among middle-aged men
No, that's just what happens in Haiti.
jongjong··on Banks are now trying to offload the AI data center debt they just underwrote
Understood, but they've got all the leverage, unfortunately. In countries like Australia, it's essentially impossible to get a fixed rate mortgage (for the life of the mortgage), when it would probably has been a great deal a few years ago; banks have all the leverage to dictate the terms.

With variable-rate mortgages, banks can insulate themselves from inflation risks, which they themselves create.

jongjong··on Suicide rates highest ever among middle-aged men
Yes it's a bad idea. Everyone should just think individually; "is this fiction working for me personally?" If the answer is no, then you shouldn't support it. If the people from some other organized group which "threatens you" are so brainwashed that they think they benefit from their humongous group (when in fact, they're just treated as a meaningless, tiny number), then you may have to bare the pain of their idiocy for a few generations or so until their masters exploit them out of existence. It's an unfortunate situation. The sheep get slaughtered, but unlike sheep, you can't force the sheeple to breed; and they don't; deep down they know how miserable their existence is.

In reality, the group has little power over you as an individual. It derives most of its power from your own compliance. The compliance of others is a lesser factor in your oppression.

You don't need to believe in alternative fictions unless you created it. You just need to wait it out and pretend hard! Create your own fiction, exploit every loophole! Let the idiots realize their idiocy on their own and rebel on their own later once they realize they were fooled. You have to be a radical realist, wait it out and bare all the costs in the meantime. It's better to bare the pain of system dysfunction for decades than to go along with it and find yourself at the front of the firing line later, fighting against what you helped to create.

jongjong··on Suicide rates highest ever among middle-aged men
Governments are a bad idea. That's the root problem. People are stupid for thinking they need a government. You don't need laws. Laws are designed to oppress. Think in your own life how many times the law harmed you vs helped you... Europe, Russia, Ukraine, USA. These concepts do not exist; they are fictions... But the fiction can kill you if you believe it; just like a schizophrenic having hallucinations; those can kill.

If the fiction doesn't benefit you; there really is no incentive for you to believe it, and you shouldn't... You can be sure it's benefiting someone else. Do you want to die for the people who created this nightmare reality?

jongjong··on Banks are now trying to offload the AI data center debt they just underwrote
I assume the right to sell the mortgage to anyone they want is part of the original mortgage contract.
jongjong··on Banks are now trying to offload the AI data center debt they just underwrote
Debt doesn't make any sense in tech sector. Why would anyone take all the risks associated with innovation and accept an upside capped at like 5% per year which barely offsets the value lost to inflation. The only reason anyone takes the risk is because the risk is on the taxpayer who has to foot the bill through inflation.
jongjong··on Things to know when you get cancer
When my wife got stage 3 cancer, the doctors initially made the decision that she would get standard chemo, but I had done a lot of LLM-assisted research the weekend before and we had essentially come up with a full decision tree in our heads so we knew that if test results show A, then we want option X, otherwise if B and C, we want option Y otherwise if B but not C, we want option Z... And so when the doctor told us the test results, we understood straight away that my wife had the rarer form of cancer which didn't respond well to chemo and responded well to immunotherapy. So it was a shock when the doctor suggested that she would be put on standard chemo-radiation therapy. Immunotherapy wasn't even mentioned in the conversation. We pushed back and asked for immunotherapy to be considered. We had to wait one additional week for the decision, but they essentially agreed with this course of action. We got lucky because the class of drug we needed was only just made available on the public health system in my country 1 month prior at the discretion of the doctor. Also, very glad we switched to a private oncologist (everything prior had been done in the public health system). So far, it seems to have been a good decision because they did a test just 1 month into treatment and the tumor had shrunk by almost 50%. I struggle to imagine how different our lives would be if we hadn't pushed back.

Her cancer was the exact same kind, down to every detail as the one which was tested in one of the most successful cancer trials in history; 100% success rate of full recovery with no surgery. Also, her specific genetic profile was an exact match for about half of participants in that trial. Essentially she was a textbook perfect candidate for immunotherapy so it's mind-boggling that it wasn't the first recommended option.

jongjong··on Why is every rationalist blog post way too long?
Personally, I often write long responses when making a contrarian point. The reason is because people have been heavily conditioned to believe certain things and making a contrarian point requires you to provide an alternative interpretation for all of their many beliefs around the subject.

Every contrarian idea has to dismantle layer upon layer of existing beliefs to even be considered plausible. Many people will discard it outright because of how much it goes against their worldview.

The worst part is that people have also been conditioned to believe that long, detailed explanations are the result of delusions built up in social media 'echo chambers' or 'conspiracy theories' based upon fake news. LLMs will typically act as though they are concerned for your mental health if you provide a valid rebuttal to all of their points in such a discussion; they will say "Note what you did, you've made your argument unfalsifiable..." And I have to point out that its own mainstream version is also merely a narrative and also unfalsifiable and backed by even less evidence. The discussion has to be evaluated from first principles, taking into account empirical evidence, trends and incentives.

Incentives are much more important than simplicity of arguments to estimate accuracy. People will go to great lengths to obtain rewards and avoid punishment. Often, reality is complicated, not simple. Occam's razor generally isn't correct these days. Perhaps it was at one point in the past; those were simpler times.

From my own life experience and behavior, there are no simple explanations for anything I did or what happened to me; so I don't see why simple explanations are valid for anyone else. Occam's razor is essentially part of Hollywood's conditioning; conditioning people to people map their lived experiences into simple movie-like narratives.

jongjong··on Codex CLI installs a persistent, self-updating background daemon by default
100 years ago, if you had told people that everyone in the future would be summoning 'persistent daemons' inside black boxes using something called a 'Codex CLI', they'd have thought we went crazy and that the future is a horrifying place.
jongjong··on Epic Games tells employees to use AI to get Disney game done
What you learnt is still useful in terms of training your mind to think critically.

To summarize 15 years of experience for you: You keep learning non-stop the entire time and after 15 years, you've got a really good high level view and you've built up an intuition for how to separate code in a way to minimize complexity whilst maximizing maintainability, reliability and performance... But you still miss stuff, miss some security vulnerabilities; because complex projects give you so many things to think about, it's a struggle to attend to everything. The one real advantage is that what you miss is generally easy to fix (thanks to your design intuition).

Even after 15 years, though, my feeling is that I'm still not skeptical enough. Solving problems with software is really hard. The more experience I have, the harder it appears to be. I'm a much better coder now than I ever was by an order of magnitude but I trust my own code less than I ever did. AI is can help a junior a lot; you just have to be humble about your output and be very critical of it.

jongjong··on Epic Games tells employees to use AI to get Disney game done
I think a lot of these devs are too proud. Personally, I'm glad to have AI coding now. After 15 years of professional experience, it was becoming repetitive.

Also, my goal since I graduated university, was to become a software architect but the position had become rare and mostly existed in bureaucratic organisations.

Now with AI, every developer is essentially a software architect.

My university major was 'software design'. When I came out of uni, I was shocked to learn that nobody cared about software design. Now software design is all any engineer has left to care about.

jongjong··on Passkeys are a trap
You probably don't use a lot of different software like I do. For example my work computer is encrypted at boot in the BIOS and I need a password for that... There is no password manager available during BIOS boot up to fill in the password for me. Or I need to run a legacy application in a less popular browser or in the terminal/CLI where the password manager is not available and I don't want to open my vault and manually copy my plaintext password in front of my colleague who I'm currently screen-sharing with. I've had times when I was temporarily locked out of the password manager or I my laptop was wiped clean after a mandatory laptop swap/upgrade at my company (my work is confidential so there are a lot of security protocols I need to follow).

Once, I lost the master password of my password manager and the email to reset that master password was sent to my email inbox which required a password which was stored in my password manager which I was trying to regain access to... Catch 22... In the end, I got lucky that I didn't trust the entire security model and I had written down the password for my email on a sticky note on my desk!

The reason I lost the master password is because my company made me change the password every few months and didn't let me reuse old passwords and forced me to use a specific sequence of special characters. Eventually I couldn't remember which of the last 10 passwords I used was the latest one and which special characters were not allowed for which environment.

jongjong··on Passkeys are a trap
Password managers drive me furious. I hate them. They don't work and I don't trust them. I've lost count of the number of times I thought to myself "Thank god I didn't trust the password manager and memorized the password." Many times, the password manager doesn't work properly with a particular website or scenario or I need to remember the password for a different form (not web browser-based).
jongjong··on Unikernels were hard. key word: were
Yeah but the OS I'm speaking of would not be a typical OS.

Is it a good thing to have so many processes that the user doesn't understand and often isn't even aware of?

If it's a security concern now, think of how bad of a problem it will be after AI is writing most programs that people use.

jongjong··on Unikernels were hard. key word: were
I was thinking that we don't need programs to share CPUs anymore now that each machine has so many of them. We could have an OS which binds each program to one CPU. When it runs out of CPUs, it suggests to close an existing program. Then programs don't need to pay context-switching cost.
jongjong··on No Man Is an Island
"No man is an island" is retarded. Literally retarded because nowadays we have internet and abundant information at our individual disposal. Things have changed and the failure to recognize this is retardation.

Almost nobody cares about intellectual activity. Not now, not before AI. People only care about status. That's all. The people who care about intellectual stuff are islands nowadays. They are all alone.

jongjong··on What should we tell our students?
It's pretty much the same story with software development. There are two camps and the bigger camp got hit hard. Nowadays I feel entitled to use the "software engineer" title. Essentially, all the decisions-making and nuanced trade-offs which AI is not capable of making; that's engineering. AI can only do programming and code analysis... At least so far.

That said, in the past couple of month, AI has gained a lot of ground on the 'project management' front in terms of planning capability for a lot of simple to medium-complexity projects. It still needs a lot of help for more complex projects. Just today, it almost fooled me into making a major structural mistake but thankfully I asked the right question and saved myself a lot of future problems; it was essentially dancing around a critical point and giving me the illusion that the critical point had been addressed but only when I phrased my question in a particular way, I understood the core issue was not addressed.

jongjong··on What's Earth's dominant species by mass?
It's funny because when I read that title, first thought I had was "Whales" but then my second thought was "Probably not; too few of them in number."

But when I saw the photo of the krill, which is whales' main food source, I was like "AHA!"

But no, cattle it is... Though I guess this is probably a more recent development. Without humans, there would surely be a lot fewer cows.

jongjong··on The era of software quality, or the era of ostriches?
My experience is that for a lot of complex systems, there are many exception cases which need to be handled, many interpretations, gaps and sometimes contradictions in the spec. It just takes a lot of effort and a long time to handle all possible cases.

Sometimes even something which sounds really simple, isn't simple at all once you consider all the possible formats, modes of interaction and all the things which could go wrong.

jongjong··on Friendship ended with Deno, now Node is my best friend
I don't know what kind of LLMs you're using but mine (Claude) has never once in 6 months got the type incorrect; neither with JavaScript nor TypeScript. So what's the point of type safety if it never gets the type wrong?

All the LLM issues I face are related to incorrect priorities, choosing the wrong tradeoffs, UX and UI flaws or incorrect assumption about requirements.

Why would I want to fill up my context window with useless type annotations and waste tokens generating them? Just like I don't want to be distracted thinking about types when I code, I don't want my LLM to be distracted by them either. Also, I don't want to waste time waiting for the transpiler to build. I don't use bundling nowadays - Not necessary if I use plain JS; instead I preload all my frontend libraries and distribute them individually; better for caching and they still download in parallel. I don't have to invalidate the entire bundle cache just because I updated one script.

Also, I don't want my LLM to generate over-engineered enterprise code. My priority is to get stuff done, not achieve job security.

jongjong··on Friendship ended with Deno, now Node is my best friend
It's great that we now have 3 major JS server environments: Node.js, Deno and Bun. The competition keeps them all in check.

Although I was keen to get involved in Deno in the beginning and I'm a fan of Ryan Dahl, I just couldn't shake my preference for vanilla JavaScript; it was already the case before LLMs took over, but now even more so after LLMs. But I like that Deno is an option which users of my open source projects can use.

That said, Deno deserves the credit for making TypeScript as painless as possible. Juggling different Node.js and tsc versions and tsconfig versions was a major pain in the neck. I like how Deno forces a specific TypeScript version. None of that nonsense.

jongjong··on The era of software quality, or the era of ostriches?
I work with distributed systems. It gets difficult when you have to deal with table sharding, replication, cache, realtime updates (targeted/efficient), distributed processing, streaming in batches without missing any rows while the data is being updated live...

When I worked with blockchain before, that was another level because each node had to talk with thousands of other nodes; each running different versions of the code and they had to propagate messages throughout the network in a secure and scalable way without missing any nodes or reaching the same node twice (spam vulnerability) so your code is basically talking to different versions of itself which feels a bit like recursion, but harder and with a network between which adds latency and errors; and you can encounter tricky issues like message storms among others where the nodes keep bouncing and replicating a message between themselves. Or if any kind of propagated processing doesn't deduct tokens, then that's a massive spam vulnerability. Also, if the peer-discovery algorithm is structured, then the network is vulnerable to eclipse attacks. Also, most parts of the code had to be fully deterministic and idempotent or else some nodes could fork off the network. Stamping out non-deterministic, non-idempotent logic is hard work, especially when you have to do it across multiple distinct nodes running on different machines operated by different people! Paradoxically, some parts of the code actually benefited from being non-deterministic like the P2P networking and peer discovery logic since that made it harder to game/carry out eclipse attacks. So you need deep, nuanced knowledge to get it right.

For the kinds of systems I work on, loose coupling + high cohesion is mandatory, but building reliable systems is still difficult and time consuming regardless.

That blockchain project I mentioned wasn't architected well in the beginning and it was a nightmare to work with; it had to be rewritten because it was literally impossible to add new features on top (in a reliable way); nobody could do it, even the people who were there since the beginning couldn't explain how it was working. Making it modular allowed us to make it reliable and extensible but each module was still difficult to work on in the sense that every feature required careful discussion and debate with team members because so many tradeoffs had to be considered.

jongjong··on The technology to eradicate mosquito-borne disease exists
I grew up in the Caribbeans and I got dengue once and 2 of my siblings did as well. It was not considered a big deal (at least not fatal) - We talked about it like a bad flu. I remember a bad week-long fever, headache, pain behind the eyes and I couldn't eat anything for days because I had a really bad nausea and I felt disgusted by food.

I think probably the people whose ancestors lived there for hundreds of years (as mine did) probably became immune to all these nasty mosquito-borne diseases through natural selection. Dengue sounds really serious when I read about it now.

jongjong··on The era of software quality, or the era of ostriches?
Producing correct code is insanely difficult. It's hard to convey this to junior or even mid-level engineers.

In fact, for many complex projects, it's essentially impossible, even with AI.

Eventually, you get to a point when you have every feature you could possibly want but the list of tradeoffs is long and yet not worth trimming.

← PreviousPage 3 of 34Next →