Hacker Newsnew | past | comments | ask | show | jobs | submit | dejawu's favoriteslogin

>it feels like reading an impression of a literature book by a high school English class’s most overconfident student who’s only ever read LinkedIn-speak.

Claude is very much the “stupid person’s idea of an intelligent person”[0] which, I suspect, is why it is so popular.

It certainly explains why half the internet is huge chunks of Claude-authored gibberish copied and pasted and published. If people didn’t think it sounded clever they wouldn’t put their name behind its ramblings - but very few of them seem to realise that a lot of people see straight through the bullshit and know instantly that they didn’t write it themselves.

But equally, a lot of people can’t tell, and read whatever it is and think “that person must be clever!” So you have people incapable of coherently expressing thoughts who are using Claude to write on their behalf, with the result that the people they want to think of them as clever think less of them and the people who can’t distinguish clever from AI slop think they are clever.

And the people who can’t tell don’t care, and the people copying and pasting Claude slop seemingly don’t care either.

And then I remember that more than half of the US populations reads at Grade 6 or lower[1], and nearly 1 in 5 people in England is functionally illiterate[2], and I simultaneously despair of - and am thankful for - the bubble of literacy I inhabit.

[0] https://quoteinvestigator.com/2018/01/05/clever/ [1] https://www.thenationalliteracyinstitute.com/2024-2025-liter... [2] https://literacytrust.org.uk/parents-and-families/adult-lite...


My name in Claude is Silly Bean. I did it at first because it made me chuckle every time I opened Claude and it said 'Back again, Silly Bean?'

But turns out I was playing 4D cybersecurity chess


Programming is in tension between the Light Side and the Dark Side.

The Light Side is about preventing the programmer from making mistakes: Get rid of go-tos! Add static types! Do not allow a bug to be expressible. The Dark Side is about giving power to the programmer: Macros? Obviously. Operator overloading? Self-modifying code? Multi-line reg-exps? Go to town!

The Light Side knows programmers are flawed and imposes constraints. The Dark Side trusts programmers with power. Neither side is correct all of the time, and a good programmer learns both.

Lisp is interesting in that it is clearly Dark Side programming (the programmer can do anything) but it's still admired by Light Side programmers. Maybe there's something about the simplicity of the language that makes it seem platonic--almost incorruptible. Or maybe Lisp is so pure that it embodies both Light Side and Dark Side, like a god that spawned the programming universe.


Sharing my beloved ancient Chinese poem

山坡羊·潼关怀古 张养浩

峰峦如聚,波涛如怒,山河表里潼关路。望西都,意踌躇。 伤心秦汉经行处,宫阙万间都做了土。兴,百姓苦;亡,百姓苦。

Tune: “Sheep on the Hillside” —Tong Pass

Zhang Yanghao

Translated by Wayne Schlepp

Peaks as if massed,

Waves that look angry,

Along the mountains and the river lies the road to Tong Pass.

I look to the West Capital,

My thoughts unsettled.

Here, where the Qin and Han armies passed, I lament

The ten thousand palaces, all turned to dust.

Kingdoms rise,

The people suffer;

Kingdoms fall,

The people suffer.


I grew up with a cocker spaniel obsessed with tennis balls to the point of covering his food with them and letting it rot. Looking into his eyes conveyed no emotion and he didn't seem to care much for affection. He was a tennis ball tracking machine.

There was nothing you could do to satiate his desire. If you gave in to a catch session, you could throw it 100 times, he would start coughing/convulsing from exhaustion, yet still drop a ball at your feet begging you to throw it. You could probably have killed him with it.

If no one was playing catch with him he would spend hours scouring the neighborhood for balls hidden in bushes. At one point I believe he had over 20 balls piling up in various places in our backyard. We would regularly take his balls away so he only had a couple, but more would magically appear.

We did have a little fun with this. My dad would use him as a tennis practice 'partner'. And we built a tennis ball cannon powered by M80s (note: this was mid-80s in the SFV when/where things like bottle rockets and blow guns were legal).

I've had to put down quite a few animals, and he was the only one were there was no sadness, only relief when his time came, esp. after 15 long years of having to pander to this obsessive behavior.

My belief is animals experience something similar to autism, and he was as far along the spectrum as possible, to the point where the only thing that defined him was his working instinct. That million years of mind-meld evolution w/ humans? Simply not there.


Hi, I'm the choir you're preaching to

I have been to northern Norway and Iceland a few times.

It all started when I was running my previous SaaS at the peak of its growth. I needed a break, and wanted to go far away, while still being close enough if sh*t hit the fan. My co-founder had recently talked to some friends who had been to Tromsø, Norway. The place looked perfect, so I booked a 5-day solo trip there.

Places that are so distant, with such harsh conditions and few people living there always give me a feeling I do not experience anywhere else in the world. I feel small, irrelevant, in the face of brutal, powerful nature.

And believe me, it is a feeling that is overwhelming. But never have I perceived it as something negative. The opposite was true. Feeling small made me feel calm, embracing that that was the right spot for me as part of God's creation. Suddenly, all those dark clouds that followed me everywhere I went back home were... Gone.

If you ever have the opportunity to go to one of these places - go. It might change you in profound ways.


I feel like I need a button on HN for, as another commenter put it, "folksy wisdom porn", where an article superficially touches all the right buttons to get it to the front page (hey, I always fail to reach my goals, I need a new framework!), but is just anecdotes and shows the results of the author's own Rorschach test.

The section on NASA made absolutely no sense to me:

> NASA had a fixed budget, fixed timeline, and a goal that bordered on the absurd: land a man on the moon before the decade was out. But what made it possible wasn’t the moonshot goal. It was the sheer range of constraints: weight, heat, vacuum, radio delay, computation. Each constraint forced creative workarounds. Slide rules and paper simulations gave us one of the most improbable technological feats in history.

Wut? The constraints are what made it a hard problem, but the only reason they were able to hit this goal in an impossibly short timeline is the huge amount of resources that they put toward a very clear goal (which was, honestly, less "let man explore the heavens" than "beat the Soviets").


A tight iteration loop is the only solution I've seen for building high quality UI/UX. Embrace that it's going to be terrible the first few times and plan for this.

We could save on cost per iteration by avoiding the layout and styling pass until the very end. These interfaces are about communicating information. Plain text and basic form submissions work just as well as anything else when you're still trying to design site map and purpose of each page.

There's a direct correlation between the customer-developer distance and the number of iterations required to achieve an acceptable result. You can dramatically reduce the churn by requiring daily builds or screenshots to the customer. If your development process can't support the idea of iterating like this, you need to find one that can. If the actual customer can't handle that amount of traffic, create internal proxies or advocates.


You can tear out some of the stuff (sse support, web sockets) and shrink it ~2k. Do away with the events mechanism and extension points, knock down the configuration options, drop IE support and probably get it down to around 6 or 7k.

It could certainly be smaller, but to support things like CSS transitions and so forth it takes some code. I've tried to keep the power-to-weight ratio high by creating a rich events model and extensions mechanism to take pressure off the core library. My goal was to keep it under 10k, but I couldn't do it (I may pull SSE and WebSocket support out to try to tuck it under 10k again.)

On the other hand, compare it with the average image on a website, and 11k isn't bad.


> A function with well-constrained inputs and outputs is easy to reason about.

It's quite easy to imagine a well factored codebase where all things are neatly separated. If you've written something a thousand times, like user authentication, then you can plan out exactly how you want to separate everything. But user authentication isn't where things get messy.

The messy stuff is where the real world concepts need to be transformed into code. Where just the concepts need to be whiteboarded and explained because they're unintuitive and confusing. Then these unintuitive and confusing concepts need to somehow described to the computer.

Oh, and it needs to be fast. So not only do you need to model an unintuitive and confusing concept - you also need to write it in a convoluted way because, for various annoying reasons, that's what performs best on the computer.

Oh, and in 6 months the unintuitive and confusing concept needs to be completely changed into - surprise, surprise - a completely different but equally unintuitive and confusing concept.

Oh, and you can't rewrite everything because there isn't enough time or budget to do that. You have to minimally change the current uintuitive and confusing thing so that it works like the new unintuitive and confusing thing is supposed to work.

Oh, and the original author doesn't work here anymore so no one's here to explain the original code's intent.


I'll be the one to plug Valetudo in this thread I guess. Primitively, it replaces the cloud functionality on-device for robot vacuums (see supported models) and replaces it with local services that run offline and can connect to Home Assistant easily.

I will never buy another robot vacuum without Valetudo support as long as that project lives. It's great.

https://valetudo.cloud/


I have thought about doing this and I just can't get around the fact that you can't get much better performance in JS. The best you could probably do is transpile the JS into V8 C++ calls.

The really cool optimizations come from compiling TypeScript, or something close to it. You could use types to get enormous gains. Anything without typing gets the default slow JS calls. Interfaces can get reduced to vtables or maybe even straight calls, possibly on structs instead of maps. You could have an Int and Float type that degrade into Number that just sit inside registers.

The main problem is that both TS and V8 are fast-moving, non-standard targets. You could only really do such a project with a big team. Maintaining compatibility would be a job by itself.


To determine whether you're a slow or fast caffeine metabolizer..

Wait for a sale at Nebula.org. Get your whole genome sequenced. ~$200. Having your whole genome sequenced could have added benefits down the road.

Download the .BAM file. It will be several gigabytes.

Use WSG Extract to generate the 23andMe raw data files.

https://www.geneticlifehacks.com/convert-whole-genome-file/

Connect that data file to Genetic Life Hacks. Take a look at the article on CYP1A2. This will show you whether you're a slow metabolizer or not.

https://www.geneticlifehacks.com/liver-detox-genes-cyp1a2/

The linked data file at GLF never uploads to the server. All analysis is local, client side.


Best cleaning / organizational tip I’ve learned : everything out of place goes into a tote. Every day shuttle the tote around the house to deposit the items in their rightful place. This reduces reorganizing to linear time

I've been playing with this for 30 minutes, and I'm still smiling my head off. It's just so much fun. I have used Pico-8 a bunch in the past (so it was easy to jump into making stuff). Pico-8 is one of four bits of software that I put it in my basket of "software that sparks joy" along with Aesprite, Blender, and Propellorhead's Rebirth.

Pico-8 had so much care put into its goals and intentional limitations: and so far Picotron seems to have that same level of love and thought. It's delightful, and I don't want to stop making things with it.

I've used many of the clones of pico-8 and they all feel like they miss the point. They "improve" on the limitations, but are just... not satisfying. Funnily enough, I've tried three times to make my own JavaScript version of what Picotron is ("what if I made a more feature-rich version of Pico-8 to use for prototyping in game jams?") and each time abandoned it because it felt like the Pico-8 clones: adequate, functional, but not inspirational.

I don't know who makes Pico-8 and Picotron, but hats off to you amazing person/people for making such likable software!


I currently have 10 fully remote engineering jobs. The bar is so low, oversight is non-existent, and everyone is so forgiving for under performance I can coast about 4-8 weeks before a given job fires me. Currently on a $1.5M run-rate for comp this year. And the interviewing process is so much faster today, companies are desperate, it takes me 2-3hrs of total effort to land a new job with thousands to chose from.


>search engines

You can decompose a "search engine" into multiple big components and figure out what you want to look at first:

(1) web crawler/spiders

(2) database cache of web content -- aka building the "search index"

(3) algorithm of scoring/weighing/ranking of pages -- e.g. "PageRank"

(4) query engine -- translating user inputs into returning the most "relevant" pages

Each technical topic is a sub-specialty and can be staffed by dedicated engineers. There are also more topics such as lexical analysis, distributed computing (for all 4 areas), etc.

If you're mainly focused on experimenting with programming another ranking algorithm, you can skip part (1) by leveraging the dataset from Common Crawl: https://index.commoncrawl.org/

Here are some videos about PageRank:

https://www.youtube.com/watch?v=JGQe4kiPnrU , https://www.youtube.com/watch?v=qxEkY8OScYY

... but keep in mind that the scope of those videos omits all of (1), (2), and (4).


Vaguely related, a few years ago I made a map of "how to drive from SF to NYC while passing through the minimum number of Republican-voting counties": https://github.com/louispotok/blue-road-trip

Learning about my own mind and how to tame it.

I've started realizing that I don't have much control over the external world, people or events, and only my perception of it can keep me sane or fix my mental issues.

This has effectively forced me to see my relationship with my devices with more scrutiny. I've repeatedly found that digital consumption, whether it is infotainment, knowledge, or mindless Reels or Shorts, has always led me to a more depressed and sad state.

A recent trip in the mountains without any cell reception even further confirmed this hypothesis for me personally.

I try to leave my devices and social media for longer durations, but the eventual FOMO and withdrawals that kick in always bring me back to square one of agony.

Events around a romantic interest recently also made me to rethink on how to effectively control emotions and feelings. The other person can do nothing wrong, but my mind can still feel tormented by their simple actions and events that unfold.

Unless I can achieve some sort of mental and emotional equanimity, I feel all my pursuits of learning and career would still not alleviate me from this joyless state of life.


A lot of music teachers are like that. I personally consider it shitty. My friend's first violin teacher (when she was 10 years old) made her do empty string bowing for a year. Just pull and push bowing. Now, don't get me wrong, technique is extremely important, and a lot of teachers have "if you can't do it well, don't do it" mentality. But really these people miss music is also tons of fucking fun. For a 10 year old infant, you really need a better curriculum to motivate her than just perfecting empty bowing.

I tell people: you wanna play Rachmaninoff's Piano Concerto? Go fucking play it. I mean you're not gonna play it well, even some world-class pianists can't, but if it gives you pleasure to try, and motivates you to play piano, that's fine. If you're gonna be a professional pianist, or you're a student at university, it's an entirely different matter. Some people are just hobbyists, or they want to be composers and learn piano to help compose (which is an extremely important core skill for a composer). Those people can just sit down and play whatever they want, along with things that are at their level that they can perfectly play.


I poked around with this a few months ago to figure out how it works locally. The answer is SQLite: https://til.simonwillison.net/deno/deno-kv

I'm finding the business model aspect of Deno KV absolutely fascinating.

    const kv = await Deno.openKv();
That's a Deno core API. It works fine in the open source version of Deno using a local SQLite database file.

But as soon as you deploy your application to their proprietary hosted service, that core API feature gets massively more powerful. It's no longer a SQLite database, it's now a globally distributed key/value store backed by FoundationDB, replicated around the world.

It looks like they've extended that idea further with the latest version - you can now do this:

    export DENO_KV_ACCESS_TOKEN="personal access token"
    
    const kv = await Deno.openKv(
        "https://api.deno.com/databases/your-database/connect",
    );
And your local code is now able to manipulate that remote FoundationDB database as well.

I'm having trouble thinking of a precedent for this - an open source project that has a core API which is effectively a lead generator for their proprietary cloud service.

I'm not entirely sure how I feel about it. I think I like it: open source projects need a business model, and the openKv() method is still a supported, useful part of the open source offering.

Kind of fascinating pattern though.

UPDATE: I just found this page of docs https://github.com/denoland/deno/blob/be1fc754a14683bf640b7b... - which describes the "KV Connect" protocol they are using. It looks like this evens the playing field, in that anyone could implement their own alternative backend to Deno Deploy if they wanted to.

This firmly establishes me on the "I think this is cool" side of the fence.


How they found me: When I was 18, I was hired by The Disinformation Company (disinfo.com, the subculture search engine, which presaged our now post-truth conspiracy-theory laden world, though now sadly a shadow of its former self) as their Director of Technology. (I was precocious.)

Disinfo had a cozy relationship with Razorfish, perhaps the biggest of the new breed of digital transformation consulting companies that emerged in the 90's. Razorfish was pretty insane back then — wildly smart and creative people working at the absolute forefront of technology, much of which now seems quaint and taken for granted.

As Razorfish rose and went public, it acquired a bunch of companies, one of which was Disinfo. I ended up becoming Director of Technology for RSUB, Razorfish's media division. Razorfish also acquired another company called Electrokinetics, which was all about hardware, and with whom we shared an office. I started hanging around the hardware guys, because, well, I loved hardware, and they were doing neat things like letting you SMS a soda machine to get a Coke. (This is 1999 — this was the stuff of technology demos of the future, not the real world).

When the Dotcom boom turned into the bust, one of the founders of Electrokinetics left to start Remote. I stayed in touch with them, heard about the project, started talking to them about it, one thing led to another, and I started working there!

Arcane knowledge: I was 21 at the time and had dropped out of computer science to work at a startup, so some of this was just being green, but some of it was also an utter lack of documentation. I was using Perl to write this server, because at the time everything was Perl. I had to read, write, and route data to over a hundred serial devices (our Cocktail Consoles) in a non-blocking fashion using DigiKey serial-to-IP converters. In effect, I was writing the basics of a networking stack (read packet, figure out where it was supposed to be sent, transform it if necessary, send it somewhere else) just over serial.

It wasn't really rocket science, it was just completely undocumented. And also solved by, well, IP networking. But we had to use serial, I was left with basically no books, terrible man pages, and random mentions of stuff in Usenet posts. Much of Linux's serial/tty subsystem was written very early on in the development of the kernel, made rock-solid, and promptly forgotten. What little documentation I could find was sparse and in relation to C functions or syscalls. Perl would then have a wrapper around it, and the wrapper wasn't well-documented nor was it exactly like the underlying call, so there was just a lot of trial and error as I figured out how to properly get the server to wait in a non-blocking way to get input from all of the different serial lines, figure out what to do with them, and write back to them, all in realtime.

Privacy: there was discussion, actually. We had a huge sign when you entered the bar that said something like, "There are hundreds of cameras in here and you agree that you have no expectation of privacy by entering." The whole point was to be a little voyeuristic, so it was very consciously not a private place.

Technical wishes: This is great question, I had to think about it for a bit. Amazingly, I don't think we had a lot of things we weren't able to do. We were able to take screen grabs and email them to people, so taking that a step further I suppose it would have been nice to be able to capture entire video streams instead of just still images, but the whole place had this Jetsons retro-future vibe to it, so some of the limitations were in line with the ethos of the place.


More of a tech lead myself, but my personal policy is that I put my coworkers above my career. I am willing to quit before doing anything to throw them under the bus or be fired before remaining silent if they are treated unfairly. This does not imply corruption or favoritism, just a lot of transparency. If I think they have a lot of potential, I try to help them optimize their career growth even if this means they may one day overtake me and I end up reporting to them. If I don't think they are likely to be successful in their current team or company, I will suggest alternatives and invest my personal time in helping them apply for a transfer or an outside job. If required to mislead people on matters that are important to their long term wellbeing, I will refuse to do so and accept getting fired as a consequence.

Maybe that's one reason I am not a manager, but I do feel my current manager, unlike a couple of others before, is in this ballpark. In these conditions, I do feel there is space for genuine friendships. A true friend is respectful of their friends station in life. If you are friends with someone in more humble financial circumstances than yourself, you go to affordable places for get togethers. If you are friends with someone more junior professionally, you make sure that personal and professional boundaries are clearly separated and that you will never act to their detriment for your own selfish gain. If it's a real friendship, they will also understand that you have your job to do and so do they.

Now if you plan to use people for your own ends, it's certainly very creepy and unfair to imply you care about them on a personal level. But on the other hand, who wouldn't want a senior person at a new company to be their mentor and ally? Act with honesty, compassion and integrity and then friendships are not a problem.


Dependencies (coupling) is an important concern to address, but it's only 1 of 4 criteria that I consider and it's not the most important one. I try to optimize my code around reducing state, coupling, complexity and code, in that order. I'm willing to add increased coupling if it makes my code more stateless. I'm willing to make it more complex if it reduces coupling. And I'm willing to duplicate code if it makes the code less complex. Only if it doesn't increase state, coupling or complexity do I dedup code.

The reason I put stateless code as the highest priority is it's the easiest to reason about. Stateless logic functions the same whether run normally, in parallel or distributed. It's the easiest to test, since it requires very little setup code. And it's the easiest to scale up, since you just run another copy of it. Once you introduce state, your life gets significantly harder.

I think the reason that novice programmers optimize around code reduction is that it's the easiest of the 4 to spot. The other 3 are much more subtle and subjective and so will require greater experience to spot. But learning those priorities, in that order, has made me a significantly better developer.


During the process of buying our house, one of the disclosures was that the house has a huge inground swimming pool, but some aspect of the plumbing was broken, and nobody knew how much it might cost to repair. So, as-is.

Nobody in our house swims, and the costs of repairing and running the pool would be excessive. At first I thought about having it drained and either removed or converted to some kind of outbuilding space. Then it occurred to me, I shouldn't just dispose of a water-bearing structure! The thing is engineered to safely contain thousands of gallons! We kept it. The pool hadn't been used in several years prior to the sale of the house, which was perfect because the chlorination had long since evaporated. Thus a readymade freshwater pond.

I started adding native plants and sheltering areas to the shallow end. Frogs were already in residence for mating season but now several species live there full time. Tons of insects: backswimmers, water skimmers, caddisfly, mayfly, damselfly and dragonfly larvae, bladder snails, giant water beetles. Ducks and herons visit. Purple martins and flycatchers hang out at dusk.

People often ask about mosquito control, and so far it hasn't been an issue. I believe this is due to a combination of the water depth (mosquitos prefer very shallow and still water like puddles), circulation speed, and predation of the mosquito larvae by everyone else. Because there are marginal plants, predatory insects can transition from their aquatic larval stage to adulthood (they need stalks to climb up out of the water).

The pond has become one of the great joys of my life--seeing the seasons change through the lifecycles of the species, watching bees forage on pickerel rush flowers, hearing frogs sing at night.


Parent of three ranging from tween to college age.

We have never had limits on anything. Screen time/content unrestricted. Probably dozens of times, maybe hundreds, we have had "the talk" about how there's a lot of weird shit in the world, internet included, and it's better to know about that stuff and how to deal with it than to create a temporary secure enclave at home where it doesn't exist.

We especially didn't want to pawn off our responsibility as parents onto their future 18-year-old college-bound selves to learn how to deal with excesses. Since the moment they could point, they've been given the opportunity to make mistakes with excess. They've fallen thousands of times, we've picked them up thousands of times, and now they're pretty good at not falling.

You can guess that I love CI/CD, stable trunk, etc., in my day job. My attitude as an engineer/parent is you'll never make bugs/threats go away. So make sure you and your team/family are experts at dealing with them while they're fresh and small.


Why is it that all news, including tech news, just fills me with endless dread nowadays? I surely can't be the only one who feels like this. Like what do we have to look forward to in the event that we don't have to face a depression, get drafted, see another pandemic, realize more of the effects of climate change, or get nuked? Wearing stupid goggles for 8 hours a day and paying Zuckerberg $50 for a virtual "I Hate Mondays" t-shirt? Oof.

The fact that a service exists to make you better at interviews implies that interviews don't evaluate competency. If interviews evaluated competency then the way to get better at interviews would be the same as the way to get better at software development (books, projects, etc.). I feel like improving my competency is worthwhile but improving my interviewing is rent seeking.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: