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

Sounds like this app wasn't a good fit for htmx. I have added it to the "On The Other Hand" section on the htmx website:

https://htmx.org/essays/#on-the-other-hand

Regarding the default swap behavior of "innerHTML":

https://htmx.org/quirks/#the-default-swap-strategy-is-innerh...

Our proposal to merge htmx functionality into the HTML spec uses outerHTML:

https://alexanderpetros.com/triptych/

Also consider datastar, it was written from an SSE-first perspective by a go engineer:

https://data-star.dev/


A good opportunity to point people to the paper with my favorite title of all time:

"How to wreck a nice beach you sing calm incense"

https://dl.acm.org/doi/10.1145/1040830.1040898


It feels like these new models are no longer making order of magnitude jumps, but are instead into the long tail of incremental improvements. It seems like we might be close to maxing out what the current iteration of LLMs can accomplish and we're into the diminishing returns phase.

If that's the case, then I have a bad feeling for the state of our industry. My experience with LLMs is that their code does _not_ cut it. The hallucinations are still a serious issue, and even when they aren't hallucinating they do not generate quality code. Their code is riddled with bugs, bad architectures, and poor decisions.

Writing good code with an LLM isn't any faster than writing good code without it, since the vast majority of an engineer's time isn't spent writing -- it's spent reading and thinking. You have to spend more or less the same amount of time with the LLM understanding the code, thinking about the problems, and verifying its work (and then reprompting or redoing its work) as you would just writing it yourself from the beginning (most of the time).

Which means that all these companies that are firing workers and demanding their remaining employees use LLMs to increase their productivity and throughput are going to find themselves in a few years with spaghettified, bug-riddled codebases that no one understands. And competitors who _didn't_ jump on the AI bandwagon, but instead kept grinding with a strong focus on quality will eat their lunches.

Of course, there could be an unforeseen new order of magnitude jump. There's always the chance of that and then my prediction would be invalid. But so far, what I see is a fast approaching plateau.


Just my opinion but, server‑side rendering never really went away, but the web is finally remembering why it was the default. First paint and SEO are still better when markup comes from the server, which is why frameworks as different as Rails + Turbo, HTMX, Phoenix LiveView, and React Server Components all make SSR the baseline. Those projects have shown that most dashboards and CRUD apps don’t need a client router, global state, or a 200 kB hydration bundle—they just need partial HTML swaps.

The real driver is complexity cost. Every line of client JS brings build tooling, npm audit noise, and another supply chain risk. Cutting that payload often makes performance and security better at the same time. Of course, Figma‑ or Gmail‑class apps still benefit from heavy client logic, so the emerging pattern is “HTML by default, JS only where it buys you something.” Think islands, not full SPAs.

So yes, the pendulum is swinging back toward the server, but it’s not nostalgia for 2004 PHP. It’s about right‑sizing JavaScript and letting HTML do the boring 90 % of the job it was always good at.


The best advice I can give you is to use bigserial for B-tree friendly primary keys and consider a string-encoded UUID as one of your external record locator options. Consider other simple options like PNR-style (airline booking) locators first, especially if nontechnical users will quote them. It may even be OK if they’re reused every few years. Do not mix PK types within the schema for a service or application, especially a line-of-business application. Use UUIDv7 only as an identifier for data that is inherently timecoded, otherwise it leaks information (even if timeshifted). Do not use hashids - they have no cryptographic qualities and are less friendly to everyday humans than the integers they represent; you may as well just use the sequence ID. As for the encoding, do not use base64 or other hyphenated alphabets, nor any identifier scheme that can produce a leading ‘0’ (zero) or ‘+’ (plus) when encoded (for the day your stuff is pasted via Excel).

Generally, the principles of separation of concerns and mechanical sympathy should be top of mind when designing a lasting and purposeful database schema.

Finally, since folks often say “I like stripe’s typed random IDs” in these kind of threads: Stripe are lying when they say their IDs are random. They have some random parts but when analyzed in sets, a large chunk of the binary layout is clearly metadata, including embedded timestamps, shard and reference keys, and versioning, in varying combinations depending on the service. I estimate they typically have 48-64 bits of randomness. That’s still plenty for most systems; you can do the same. Personally I am very fond of base58-encoded AES-encrypted bigserial+HMAC locators with a leading type prefix and a trailing metadata digit, and you can in a pinch even do this inside the database with plv8.


What an excellent resource! (And yes Outlook is a pain and supports so very little!)

We've tried building email templates for notifications for our apps where I work, and it has typically been a pain. We have since swapped to using mjml (https://mjml.io/) to build the templates, and it's working wonders. The output seems the be the most compatible with all different devices that we've tested on.

The other tool we enjoy using is Litmus (https://litmus.com), which allows you to throw in an email template and see what it looks like on all kinds of apps and devices. Other thread here mentions https://testi.at/ as well, which we've also had success with.

All of these have been really invaluable to designing emails for our apps.


Deno continues to seem very interested in making marginal improvements to the Node/npm ecosystem that (if adopted) would be massive breaking changes for everyone. It's hard for me to imagine many people being interested in this.

Yes, there are hot desk memberships on their coworking page [1], including single day purchases. They're underneath the giant "get a quote" call to action, however, which is indicative of their priorities.

[1] https://www.regus.com/en-us/coworking


Scratch is amazing. https://scratch.mit.edu/

And a slightly different direction than what you describe. Nowadays a complete "basic environment" on a computer (say a Raspberry Pi, sure why not, but perhaps simply a used laptop) feels too complicated. Far more complicated than DOS was.

Scratch is actually both interesting for kids and a seriously competent programming environment. They can explore; they can implement basic games; they can implement ambitious games or other directions like story telling. And possibly (but not all that easily) open for cooperation, cooperating on larger projects with others.


I agree with the headline, but for a very different reason:

Kid's online activities are criminalized when schools snoop and hand that information over to the school resource officer.

I don't ever want a visit to the wrong website to cause my family to be sucked into the legal system. So, I provide my kids hardware, and refuse to allow spyware to be installed and that includes browser extensions. Every year I have at least one of the three schools my kids are at try to force us to let them install something, and they find out:

0. The spyware they are using is creating a lot of network traffic to unexpected (and often unwanted) places and is much more intrusive than parents are led to believe.

1. Government, and that would be a public school, does not have legal right to surveil my kids without a search warrant.

2. They have no right to install stuff on a computer they do not own.

3. Public schools cannot deny education to my kids because we opted out of surveillance.

The final resolution is usually the district's lawyer telling the head of IT they have to stand down on the issue.


It's really easy to get an LLM to hallucinate by asking an open ended question - the type typically answered by a Google search or checking Wikiedpia. However, this is not the best application of LLMs. This criticism is getting old.

LLMs are great at:

- Text synthesis given all of the facts in a prompt (expand these bullet points)

- Summarization (condense this text)

- Data extraction (fit this data into this schema)

- Fiction (virtual characters, scripts, etc.)

They will dramatically change these industries.


Here are 34 lectures for his Linear Algebra course he recorded in 1999:

https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010...


The satellite imagery is incredible -- you can see atmospheric waves traveling hundreds of kilometers:

https://www.star.nesdis.noaa.gov/goes/sector_band.php?sat=G1... (GOES-West)

https://www.star.nesdis.noaa.gov/goes/sector.php?sat=G17&sec...

https://rammb.cira.colostate.edu/ramsdis/online/loop.asp?dat... (Himawari-8)

https://rammb.cira.colostate.edu/ramsdis/online/himawari-8.a...

Edited comment: originally linked to the wrong satellite imagery (from a separate eruption several hours ago). The discussion in this link is still informative, but not current:

https://www.nesdis.noaa.gov/news/hunga-tonga-hunga-haapai-er...


Yes. The CPU and GPU demand has nothing to do with it. The reason is the car industry.

For some reason in early 2020 all the car industry execs were convinced that people would buy dramatically fewer cars in 2020, due to pandemic crashing demand. Because they have a religious aversion to holding any stock they decided to shift the risk over to their suppliers, fucking said suppliers over, as the car industry normally does when they expect demand shifts. The thing that made this particular time special as opposed to business as usual is that the car execs all got it wrong, because people bought way more cars due to pandemic rather than less, due to moving out of cities and avoiding public transit. So they fucked over their suppliers a second time by demanding all those orders back.

Now, suppose you're a supplier of some sort of motor driver or power conversion chip (PMIC) in early 2020. You run 200 wafers per month through a fab running some early 2000s process. Half your yearly revenue is a customized part for a particular auto vendor. That vendor calls you up and tells you that they will not be paying you for any parts this year, and you can figure out what to do with them. You can't afford to run your production at half the revenue, so you're screwed. You call up your fab and ask if you can get out of that contract and pay a penalty for doing so, and you reduce your fab order to 100 wafers per month, so you can at least serve your other customers. The fab is annoyed but they put out an announcement that a slot is free, and another vendor making a PMIC for computer motherboards buys it, because they can use the extra capacity and expect increased demand for computers. So far so normal. One vendor screwed, but they'll manage, one fab slightly annoyed that they had to reduce throughput a tiny bit while they find a new buyer.

Then a few months later the car manufacturer calls you again and asks for their orders back, and more on top. You tell them to fuck off, because you can no longer manufacture it this year. They tell you they will pay literally anything because their production lines can't run without it because (for religious reasons) they have zero inventory buffers. So what do you do? You call up your fab and they say they can't help you, that slot is already gone. So you ask them to change which mask they use for the wafers you already have reserved, and instead of making your usual non-automotive products, you only make the customized chip for the automotive market. And then, because they screwed you over so badly, and you already lost lots of money and had to lay off staff due to the carmaker, you charge them 6x to 8x the price. All your other customers are now screwed, but you still come out barely ahead. Now, of course the customer not only asked for their old orders back, but more. So you call up all the other customers of the fab you use and ask them if they're willing to trade their fab slots for money. Some do, causing a shortage of whatever they make as well. Repeat this same story for literally every chipmaker that makes anything used by a car. This was the situation in January 2021. Then, several major fabs were destroyed (several in Texas, when the big freeze killed the air pumps keeping the cleanrooms sterile, and the water pipes in the walls of the buildings burst and contaminated other facilities, and one in Japan due to a fire) making the already bad problem worse. So there are several mechanisms that make part availability poor here:

1. The part you want is used in cars. Car manufacturers have locked in the following year or so of production, and "any amount extra you can make in that time" for a multiple of the normal price. Either you can't get the parts at all or you'll be paying a massive premium.

2. The part you want is not used in cars, but is made by someone who makes other parts on the same process that are used in cars. Your part has been deprioritized and will not be manufactured for months. Meanwhile stock runs out and those who hold any stock massively raise prices.

3. The part you want is not used in cars, and the manufacturer doesn't supply the car industry, but uses a process used by someone who does. Car IC suppliers have bought out their fab slots, so the part will not be manufactured for months.

4. The part you want is not used in cars, and doesn't share a process with parts that are. However, it's on the BOM of a popular product that uses such parts, and the manufacturer has seen what the market looks like and is stocking up for months ahead. Distributor inventory is therefore zero and new stock gets snapped up as soon as it shows up because a single missing part means you can't produce your product.

So here we are. Shameless plug - email me if you are screwed by this and need help getting your product re-engineered to the new reality. There's a handful of manufacturers, usually obscure companies in mainland China that only really sell to the internal market, that are much less affected. Some have drop-in replacement parts for things that are out of stock, others have functionally similar parts that can be used with minor design adaptation. I've been doing that kind of redesign work for customers this whole year. Don't email me if you work in/for the car industry. You guys poisoned the well for all of us so deal with it yourselves.


Dr. Martin Loetzsch did a great video, ETL Patterns with Postgres. He covers some really good topics:

- Instead of updating tables build their replacements under a different name then rename them. This makes updating heavy-to-compute table instant. Works even for schemas: rebuild a schema as schemaname_next rename the current to schemaname_old then rename schemaname_next to schemaname.

- Keep all the source data raw and disable WAL, you don't need it for ETL.

- Set memory limitis high.

And lots of other good tips for doing ETL/DW in postgres. It's here: https://www.youtube.com/watch?v=whwNi21jAm4

I really appreciate having data in postgres. It's often easy to think that a specialised DW tool will solve all your problems, but that often fails to consider things like:

- Developer experience. Postgres runs very easily on a local machine, more specialized solutions often don't or are tricky to setup.

- Learning another tool costs time. A developer can learn postgres really well in the time it takes them to figure out how to use several more specialised tools. And many devs already know postgres because it's pretty much the default DB nowadays.

- Analytics queries often don't need to run at warp speed. Bigquery might give you the answer in a second but if postgres does it in a minute and it's a weekly report, who cares?

- Postgres is boring and has been around for many years now, it will probably still be here in 10 years so time spent learning it is time well spent. More niche systems will probably be superseded by fancier, faster replacements.

I would go so far as to say don't necessarily need to split out your DW from your prod DB in every case. As soon as you start splitting out a DW to a separate server you need some way to keep it in sync, so you'll probably end up duplicating some business logic for a report, maintaining some ingestion app, shuffling data around S3 or whatever. Keeping your analytics in your prod DB (or just a snapshot of yesterdays DB) is often good enough and means you will be more likely to avoid gnarly business-rules going out of sync between your app and your DW.


I’m sorry you feel that way. Death is inevitable. It is natural. It is universal. Birth, Death, and ideally reproduction in between- that’s the essence of life. You have to look beyond yourself as an individual. Humanity was here before you were born, but you were part of it in your ancestors’s genes. Humanity will continue after your death, and you will be part of it in the genes you pass down to your children, and the ripples of your actions in life.

Death is a change, but it hold no more horror than pre-birth. Be at peace. Embrace your time. Live your life with purpose, love, humility and hope. Our ephemerality makes every moment meaningful, enjoy it.


Factorio (and also games like SimCity) are not actually pure CA rules, but they combine cellular automata techniques together with many other techniques like system dynamics, etc.

Will Wright gave a great explanation of how simulation games combine different techniques together in three intersection dimensions: Topologies (agents, networks, and layers), dynamics (propagation, growth, grouping, order, allocation, mapping, specialization, and nesting), and paradigms (cybernetics, system dynamics, cellular automata, chaos theory, adaptive systems, network theory).

https://www.youtube.com/watch?v=CdgQyq3hEPo&t=35m50s

>Lessons in Game Design, lecture by Will Wright, Computer History Museum, November 20, 2003.

Maybe the comment I posted about Factorio and CA was this, in the discussion of John von Neumann's 29 state cellular automata rule -- It is a pure CA, and a historically interesting one that he actually designed on paper and wrote about in a book. I compared it to Factorio, in the way Factorio uses conveyor belts in four different directions to direct the flow of items, and JVN29 uses arrows in four different directions to direct the flow of signals. But you can put a lot of different kinds of things on Factorio conveyor belts, but only ones and zeros on JVN29 arrows, since it was designed to be minimal and mathematically rigorous like a Turing Machine, not practical and convenient to program and fun to play like Factorio.

https://news.ycombinator.com/item?id=22727228

>Von Neumann Universal Constructor (wikipedia.org) 90 points by amjd 4 months ago | hide | past | favorite | 29 comments

https://en.wikipedia.org/wiki/Von_Neumann_universal_construc...

https://news.ycombinator.com/item?id=22738598

>[...]

>Factorio players will recognize these tapes of construction instructions as 2D "blueprints" that construction drones use to build patterns of factories and conveyor belts, etc. In Factorio, after your drones have build a blueprint in the unpowered, unsupplied state, you can connect it to the power grid, hook up pipes to deliver fluids, and run conveyor belts in and out of it to deliver resources and products, and it will immediately starts doing its thing. Playing Factorio is uncannily like von Neumann 29 state cellular automata programming, not by coincidence. So it's a great way to get your head around cellular automata programming, gpu programming, parallel programming, queuing systems, and data flow programming in general!

>Factorio Tutorial #20 - Bots, part 1 - Construction robots

https://www.youtube.com/watch?v=kLOyk55uI2Y&t=19m32s

>Factorio just doesn't have the ability to construct cells by spilling items off the end of conveyor belts, or destroy cells with conveyor belts, either. But maybe there's an extension for that! And John von Neumann's 29 state cellular automata doesn't have swarms of construction drones that build and tear down blueprints in parallel like Factorio does, so there are some differences. But the basic idea of grids of cells with conveyor belts carrying items between factories is the same.

Also I wrote some more about JVN32:

https://news.ycombinator.com/item?id=22737079

>The Real Time Crossing (Buckley, p. 457, The real-time crossing organ) is like a road intersection that splits the two crossing lanes, then uses traffic lights to give cars in each pair of lanes alternating turns to cross, and then merges the lanes back together (since each intersection works at 50% throughput, you need to split, use two of them, and merge -- Factorio and Satisfactory players will get what I mean, in terms of conveyor belts, splitters and mergers, and conveyor belt throughput).

Also I asked Alan Kay about Factorio and other games here, and he replied:

https://news.ycombinator.com/item?id=11807250

>DonHopkins on May 31, 2016 | parent | favorite | on: Alan Kay's reading list

>I've heard you say that Rocky's Boots was one of your favorite computer games. Please, off the top of your head, what's your top-n list of inspiring games that you think people learning to program should play?

>I've been playing Factorio [1] [2], which I think would resonate with your love of Rocky's Boots, cellular automata, queuing theory, visual programming, system dynamics and distributed control systems. It's in the spirit of John von Neumann's 29 state cellular automata [3] and universal constructor. [4]

>[1] Factorio: https://www.factorio.com/

>[2] HN Factorio discussion: https://news.ycombinator.com/item?id=11266471

>[3] John von Neumann's 29 state cellular automata: https://en.wikipedia.org/wiki/Von_Neumann_cellular_automaton

>[4] JvN Universal Constructor: https://en.wikipedia.org/wiki/Von_Neumann_universal_construc....

>alankay on June 1, 2016 [–]

>Hi Don

>I think I'm so out of context wrt video games here and now that I can't come up with a worthwhile reply. I liked Rocky's Boots because of the brilliant combination of the content and the idea behind the game play -- and they were well matched up. I liked the idea of its successor "Robot Odyssey" a lot, but advised the TLC folks to use something like Logo for the robot language rather than the Rocky's circuit diagrams (which were now not well matched up to the needs). As you know I really tried to get the Maxis people to make "Sim City" a rule based system that children could program in so they could both understand the generators and to change them (no luck there).

>If I were to look around today, I'd look for something where the underlying content was really "good" for children -- I doubt that cellular automata would be in my top 10 -- and then would also have good to great game play.


Very well. I have two questions.

Why should one use this service, instead of using directly ecb(https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xm...)?

How do you keep this service free since there is a server cost?


> My wife thinks that so long as it is helping, it isn't necessarily bad. She feels that people shouldn't see psychics or read too much into the movement of planets and stars, but that whats the harm if it makes you feel better.

I don't know your wife of course, but I feel that this might be a mischaracterization of the sentiment. Sometimes people's model of reality is incompatible with yours, and since communication requires shared context it is difficult to convey your true meaning in a way that can be readily understood. One solution to this is to build up all the context that person needs to understand what you're saying, but this is slow and because it may require them to destroy and rebuild their fundamental understanding of the world it can cause quite a lot of suffering. An alternative is to reframe what you're saying into terms that are compatible with their current model. Even though the understanding you convey may be less accurate, it is often good enough.


I think my favorite (in terms of humor) is a commit from mpv complaining about locales and encodings. You can practically feel the committer's sheer frustration.

[1] https://github.com/mpv-player/mpv/commit/1e70e82baa9193f6f02...


What are the problems you are personally trying to solve?

How do you like to make decisions?

What do you believe is the purpose of a manager?

What do you believe motivates employees at your company?

From an employees perspective, what makes your company a unique place to work?

How do you recognize major achievements?

... basically I like to dig into culture (which is always top down), and empathy. I want to know whether the CEO considers employees people or a resource.


Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: