HNHacker News
TopNewBestAskShowJobs

WA

9,458 karma · joined November 20, 2009

I run a bootstrapped B2C webapp/app. Mostly a lurker on HN.
submissionscomments
WA··on US lawmakers tell Apple, Google to be ready to remove TikTok from stores Jan. 19
That is observable untrue. Social media thrives because of the lack of consent in the population. Social media amplifies dissent. That is why many people find these places so toxic.
WA··on Isomorphic Web Components
> SSR for frameworks is an absurdly complex solution to a problem that doesn't exist if you can just send a complete document right to the browser.

So, React is just a view library. It's made to map state to DOM changes. Except it's not just a view library, because if you write an app with React, you are writing a React app. You slice and dice your view up and put them into React components. Now, since you want to use your React components on the server and not slice and dice them up again in another view library, you morph that DOM-manipulating lib into a templating engine that generates static HTML. Except you call it "server side rendering", because "templating engine" sounds so 2010 and "static site generation" is also not the right term, because the output isn't a static HTML page, but can change with every page request. Of course, the "React" part of React is completely ditched in SSR, because you don't need to continuously modify the DOM based on your state. React on the server is what PHP templates have been doing forever. Outputting HTML in PHP is "view = f(state)". We've come full circle.

I sometimes wonder if younger web devs even understand that SSR isn't, like, really rendering a page on the server, but basically means "we produce frickin HTML like we've been for the last 30 years, except our tools are now 10x as complex to such a point that we don't understand them anymore", because 90% of our view library does nothing on the server, because, you know, there is no DOM. There is only HTML as a string send over HTTP.

Having said that: Your analysis is completely correct. The discussion really is orthogonal and I'm not sure I see the point in rendering web components on the server, since most web components benefit from interactivity through JS. If I merely encapsulate a bunch of HTML tags, I can ditch the custom element entirely and send the HTML tags down the wire by themselves.

WA··on Gemini 2.0: our new AI model for the agentic era
Gemini, too, for the sole reason that non-native speakers have no clue how to pronounce it.
WA··on If not React, then what?
Not a live preview and not a button-counter demo at the end, but the overall structure and the whole O(n) vs O(n^2) argumentation was in this blog post from a now defunct domain. Maybe this is what you were looking for:

https://web.archive.org/web/20150414080539/http://hackflow.c...

WA··on Controlling AI's Growing Energy Needs
Let’s see about the exponential part. Too early to judge. Some signs that the current capabilities are actually stagnating and progress is slowing down. The problem of determining when an LLM is wrong is fundamental and might be a show-stopper for exponential imorovements.
WA··on Using Pandoc and Typst to Produce PDFs
Browser support to print HTML sucked. No page counter / max pages, no way to properly style headers and footers. Chrome 131 recently added CSS support for @page [1][2] and cross-references in the same doc (giving you the page number), which is a great step forward. I think this simplifies Markdown → PDF even more on the tooling side.

[1] https://developer.chrome.com/blog/print-margins

[2] https://developer.mozilla.org/en-US/docs/Web/CSS/@page

WA··on Show HN: I created a lightweight JavaScript library to visualize JSON as a graph
Perfect candidate for a nice, simple, self-contained web component / custom element. Instead of:

    <div id="json-tree"></div>
    ...
    const container = document.getElementById('json-tree');
    container.innerHTML = generateJSONTree(jsonData);
You'd have this:

    <json-tree id="json-tree"></json-tree>
    ...
    const container = document.getElementById('json-tree');
    container.jsonTree = jsonData;
Attributes not necessary, simply pass the json data as a prop. Granted, the difference isn't that big, but this is where web components shine.
WA··on JavaScript dos and donts Mu-An Chiou
It shows clearly that Flutter for web is hot garbage. It is flaky (Safari on iOS 18, iPhone 15 Pro Max), it doesn’t let me select text or copy-paste anything. Rendering the UI in a Canvas works only for niche apps.
WA··on Installed an open source garage door opener, and I'm loving it
The nerd 3 states away is not going to break in. The script kiddie 3 states away running a bot and opening garage doors en masse for the lulz is going to be a problem. Especially if the random idiot from down the street gets your ebikes without using a crowbar, because he passes by in the right moment.
WA··on OpenAI, Google and Anthropic are struggling to build more advanced AI
OT: Your tool has a typo in the right hand side: "Claude 3.5 Sonnet Techincal writing checker"
WA··on A Student's Guide to Writing with ChatGPT
I've been programming for 20 years and mostly JS for the last 10 years. Right now, I'm learning Go. I wrote a simple CLI tool to get data from several servers. Asked GPT-4o to generate some code, which worked fine at first. Then I asked it to rewrite the code with channels to make it async and it contained at least one major bug.

I don't dismiss it as completely useless, because it pointed me in the correct direction a couple times, but you have to double-check everything. In a way, it might help me learn stuff, because I have to read its output critically. From my perspective, the success rate is a bit above 0, but it's nowhere close to "magical" at all.

WA··on Following up "Mother of all Htmx demos"
WebAssembly has no DOM access.
WA··on Rewrite It in Rails
What do you mean? Rails seems to come with authentication, session management, cookie management, an ORM, extensive logging capabilities and a bunch of other things. Go and Kotlin are languages, not frameworks, and they certainly don't include these things. So what are you comparing exactly?
WA··on Ironclad link between red meat and cancer identified
Worth noting, eating 200g of beef is easy. Eating 200g of kale (or lentils) is challenging.
WA··on The richest people borrow against their stock (2021)
What do you gain by talking about absolute numbers? They are meaningless. By this logic, Musk could pay only $1 million in tax and still would've "contributed more to the country" than most individuals.

If you talk about taxes percentage-wise, you make clear that the super-rich do not pay their fair share, that they will get richer faster than everybody else and, the most important fact, that long-term stability might suffer, because the bigger the divide between rich and poor, the more civil unrest follows.

WA··on The richest people borrow against their stock (2021)
Please stop counting taxes of super-rich in absolute terms. It simply doesn't matter. We need percentage-based taxes to get the real picture. Because those numbers seems a rounding error given their wealth.
WA··on The Retreat to Muskworld
And they have way better dynamic range.
WA··on Firepad – An embeddable open-source collaborative code and text editor for web
Dead project: "This repository has been archived by the owner on Oct 4, 2024. It is now read-only."
WA··on How long til we're all on Ozempic?
My theory is that consuming sugar makes you more hungry. You can eat until you're full, but if you eat desert or a sugary snack a little later, it makes you feel less full and you can eat more. As if your brain notices the sugar source and switches into "full loading mode" and craves more of this historically rare resource.

> And yet most obese people are no more addicted to food than you are addicted to oxygen...

Most obese people seem to be addicted to sugary food, soft drings, desert and all that, which then triggers more eating.

In addition, it might be a gut bacteria thing. If your gut is used to processing lots of sugar, you crave it even more and fighting your gut microbiome requires way too much impulse control and moderation.

The solution might be to recognize this mechanism, remove all sugar from the diet and find a way to control impulses for a few weeks until the gut bacteria changed.

Drinking water and chewing sugar-free gum helps me to remove food cravings temporarily with no downsides. But... I have a normal weight.

WA··on The Static Site Paradox
> This is already happening to HN

This is an ongoing theme since I first checked out this website, which was in 2008 or so.

WA··on To Be Born in a Bag
We just recently discovered, that during childbrith, vaginal microbiota is transferred to the child and this transfer is quite beneficial for the development of the immune system of the child. It's called vaginal microbiota transfer (VMT). It's so beneficial that babies being born via c-section are now artificially covered in their mother's vaginal microbiota.

Now imagine the thousands of factors that happen during pregnancy that probably influence the neurodevelopment of a human and which artifical womb doesn't take into account. Simple things such as: hearing and feeling the heartbeat of the mother, feeling the environment, heat, cold, being carried through life and so on.

WA··on Building a robust frontend using progressive enhancement
A good rule of thumb is: if your app can/could run offline-first like a desktop app, it's ok to make it a single-page application. They can be snappier and better than a multi-page browser app. Examples would be stuff like Photopea, Google Docs/Sheets, tldraw, etc.

This way, the biggest downsides (moving between pages & requiring an internet connection) are eliminated.

But if your app requires an internet connection and multiple pages, it's better to let the browser handle navigation in a fault-tolerant way.

WA··on Orion, our first true augmented reality glasses
That is kinda like saying "I pay for FB ads and WhatsApp business, and these things doesn’t advertise at me".

Google has "build an ad profile about every human being" in their DNA just like Facebook, employing similar creepy tactics with Gmail and Chrome.

WA··on Twitter/X will let people you've blocked see your posts
"AI system"? I think it’s

   if Referer != ''
WA··on Does “building in public” work?
Kudos on realizing this after only 8 months. The blog post is spot on. The snarky tweet about chad b2b dev is basically true, except it doesn't have to be B2B. B2C works, too. Just stay clear of the mother of all grifts: telling others how to make money online.
WA··on Sublime text started adding a “.s” to new files
I just saw macOS Sequoia 15.0 today on my Mac and thought "gonna skip the .0 version as always on this one". Now I find this thread to just prove my point. iOS is not nearly as bad imho, but with macOS, some stuff like this happens every year.
WA··on It's Okay to Abandon Things
I loved Four Thousand Weeks. The new one sounds intriguing, but wasn't the point of the first book that "you don't even need to Finally Make Time for What Counts", because that is a rather new concept considering the history of civilization? You just did what you had to do. You don't have to make it count and min-max your life. Do you see this as a contradiction?
WA··on Scramble: Open-Source Alternative to Grammarly
Seems a stretch to call it "more privacy-friendly" if it talks to OpenAI.
WA··on Founder Mode, hackers, and being bored by tech
How many years need to pass until HN stops with the "what would Steve Jobs do"-mentality, where it's entirely unclear how he would operate in the current environment and where Apple would've been with him still being in charge (if he still were in charge - he would've turned 70 next year). It's been 13 years. I think most assessments are merely projection by now.
WA··on Apple Watch Series 10
I still have the series 5 in stainless steel. After 4 years, I recently received "battery service", in which they just replace the whole watch. I still like it. Biggest downside for me is one of the more recent watchOS versions they introduced roughly a year ago. To this day, sometimes the notifications can't be dragged down and the display seems to be unresponsive once every 2 weeks for a while.

If you get a new watch, beware of the Milanese loop: it tends to destroy the fiber of long sleeve shirts.

← PreviousPage 10 of 34Next →