HNHacker News
TopNewBestAskShowJobs

daotoad

906 karma · joined November 8, 2016

submissionscomments
daotoad··on What Killed Perl?
You say it was a "bad language" for projects of any real size. But I've worked on large systems written in perl maintained by multiple teams. Perl wasn't the source of our difficulties.

The real issue was ugly code that was in the product when it was acquired--you can write 2000 line methods in any language if you are cursed enough. Believe me, if you do this, you will be cursed.

We dealt with the flexibility of the language by defining clear guidelines on what approaches were recommended and what misfeatures were banned.

I'd go so far as to argue that the expressiveness and flexibility of the language was an asset that helped us in our refactoring. For example, we built instrumentation that took advantage of Perl's unusual semantics for dynamic "local" variables to create flexible instrumentation that could have log levels enabled based on the call stack--if you turned on aggressive logging in function A, it would propagate to A's calls into functions B and C, while other calls to B and C would be logged at normal levels.

Yes, it's possible to do this sort of thing in other languages using a singleton that tracks logging context, but the dynamic scoping gave us the tools we needed to build something powerful with only a small amount of clear, commented code.

daotoad··on What Killed Perl?
As I have said before[1], I think the biggest thing slowed Perl adoption was the changing background of new developers. New folks just didn't have a background in shell, C, awk, and sed. This fact took Perl syntax from being amazingly intuitive and easy to adopt and turned it into obscure nonsense. As a newb what the heck are you going to think about constructs like the file test operators[2]?

[1] https://news.ycombinator.com/item?id=44726347#44752240 [2] https://perldoc.perl.org/functions/-X

daotoad··on LLMs are steroids for your Dunning-Kruger
https://en.wikipedia.org/wiki/Gell-Mann_amnesia_effect
daotoad··on One year with Next.js App Router and why we're moving on
The crazy thing is that the Pages router looked to me to essentially be a React flavored version of the venerable Perl HTML::Mason library.

It offered embedded code that is used to generate static HTML server side. It had application routing based on the file directory structure of the repository. It had automatic code wrappers distributed across the directory structure.

https://metacpan.org/pod/HTML::Mason

I used the heck out of HTML::Mason for years and it scaled ridiculously well to large apps.

Over time, HTML::Mason was supplanted by Mason, but I never used it due to not working in Perl anymore.

https://metacpan.org/pod/Mason

If you like the Pages router, it wouldn't hurt to dig through ancient scrolls of Mason users to look for techniques and lost knowledge.

Caveat: I haven't written or maintained any big apps in Next, but I've played with it a bit and have supported the SDKs I work on in Next apps.

daotoad··on How to Obsessively Tune WezTerm
I was using Wezterm because of the cross platform and the lua config (let's me reuse my mad lua skilz from keeping my nvim config).

The thing that made me switch to Ghostty was the image support in wez didn't play well with tmux.

After testing wez, kitty, and Ghostty, I ended up going with Ghostty.

I do miss the idea of the whole lua config thing, but since I never did anything with it, I can't treat that as a practical concern.

daotoad··on Police used Flock cameras to accuse a woman of theft, she had to prove innocence
FTA: “We thought nothing of it, as common surveillance, that’s great,” Elser said of the cameras. “You’re watching for crime — not to wrongly accuse somebody.”

So, what did she learn?

Imagine if she hadn't been able to afford a Rivian or a lawyer. The police could easily have handcuffed her and put her in jail on day 1. Without a good lawyer, what chance of release would she have had? Bail? Sure, but if you can't afford it or don't have someone to put up a bond, guess what? You're not going home.

Had the victim of this police overreach been less privileged, she could easily have been convicted.

daotoad··on E-paper display reaches the realm of LCD screens
I want a clamshell that has one OLED/LCD screen and one e-ink screen. Both should be multi-touch. The hinge should pivot (like an omnibook) so that either screen can be visible when close.

Besides the obvious benefit of having a single tablet with both types of screen, in "laptop mode", the e ink screen could be used as a soft keyboard and touch pad.

Something like this in phone sizes could be really great too.

daotoad··on The Potato Chip That Destroyed the Bowels of America
I have no idea, but a quick search didn't find anyone selling it.

Maybe it's available under a different trade name.

daotoad··on Taco Bell AI Drive-Thru
I wish I was optimistic that data and compliant robots will be used to make things better for customers.

I think it's far more likely that they will, at best, be used to do whatever horrible and unpleasant things that temporarily juice sales numbers. Across our economy we'll see this play out in every customer service interaction. And a wave of perniciously persistent upselling attempts will wash over us all.

After a while, we won't stop noticing that the simple process of buying a soda requires saying no to 15 different requests to subscribe to a service, put our credit card on file, sign up for notifications, and consider buying cookies, a burger, and some fries. But our lives will be worse for it.

daotoad··on The Potato Chip That Destroyed the Bowels of America
I worked at a company that handled transcription of customer service calls for those chips. Even though I started there well after they were discontinued, stories about the things people said were passed on by the old hands. A few choice snippets of the transcripts survived.

The thing is, many people loved them. They ate small amounts of the chips and were fine.

Others had less than stellar experiences and their messages relayed a mixture of confusion, frustration, fear, and body horror.

But the people I feel the most compassion for were the people who called to say that these chips changed their lives. How? Sometimes a side effect is a cure.

A surprising number of callers said that these chips saved them from chronic, painful constipation. To them, a bag of these chips was a delicious and highly effective form of medicine unlike anything else they had tried. Losing access to something like that must have been a horrible loss.

daotoad··on Neuralink 'Participant 1' says his life has changed
I'd expect that right now it's life changing in a positive way for many recipients.

- The people getting it are in very rough shape and even a tiny bit of improved ability to control their environment is a tremendous gift to them - Musk seems to be busy playing with his other toys - We're far to early in this tech's progress for enshitification to start

Much as I dislike Musk, for the sake of all the people with debilitating conditions that this could help, I wish him phenomenal success with this project.

OTOH, I don't trust him to manage this as a product in an ethical way. What's the DBI equivalent of locking you in a car to drown?

daotoad··on Meta just suspended the Facebook account of Neal Stephenson
That trailer is brilliant for what it is.

I would love to see a proper version of Snow Crash get theatrical release or maybe even the high-concept-tv-series-with-ten-episodes treatment the big streamers are cooking up these days.

daotoad··on Show HN: I spent 6 years building a ridiculous wooden pixel display
If you wanted to take this a little further, you could cover the "display" with heat erasable ink like is used in a Pilot Frixion pens.

This ink is interesting in that it fades when heated (60 C), but darkens when cooled (-10 C). In between those temperatures it is stable.

Thus you could have one loop that is continuously reused. Not sure how many cycles you can get before the ink degrades.

daotoad··on Programmers aren’t so humble anymore, maybe because nobody codes in Perl
Perl was the perfect language when the majority of people wanting to use it already knew shell, sed, awk, and C.

It succeeded because it was a beautiful and horrible combination of those tools/languages. If you know those things, Perl is really easy to bang together and generate a webpage or use to automate administrative task.

Given Larry Wall's education, perhaps we shouldn't be surprised that Perl underwent a linguistic evolution from pidgin[1] to creole[2].

I came to Perl a bit late, not being a super adept user of Unix and only having written C in school. I'd put myself in the category of Perl developer that was part of the second "creole language" phase of Perl's development. I learned a ton of Unix and got better at C by learning Perl.

While Perl's mixed nature made it successful, when the world of web development expanded to include more people without the necessary background to benefit from the admixture, it went from asset to hinderance. All that syntax went from instantly familiar to bizarre. A perfect example of this are the file test operators[3].

The Perl 6 struggles definitely added to the difficulties posed by the changing nature of the web dev community. They created enough uncertainty that tons of people asked themselves "Why should I learn Perl 5 when Perl 6 is just around the corner?". That slowed adoption from in the 2001-2010 timeframe while Python and Ruby grew rapidly.

Rakulang is kind of magical. Writing it is like using a language given to us by aliens. I wish it was getting more uptake because it is fun and truly mind expanding to write.

In the end, I think the shifting nature of the community was a larger factor in the decline of Perl than the slow Perl 6 rollout and failure of messaging around it.

I still love writing Perl 5 and I wish I got to do more of it.

[1] https://en.wikipedia.org/wiki/Pidgin [2] https://en.wikipedia.org/wiki/Creole_language [3] https://perldoc.perl.org/functions/-X

daotoad··on East Asian aerosol cleanup has likely contributed to global warming
This thread is a great example of minding your peas and queues. Or maybe cues. It's hard to say which.
daotoad··on Astro is a return to the fundamentals of the web
Software engineering/development has had a long September.

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

daotoad··on I Switched from Flutter and Rust to Rust and Egui
Not a rust developer, but this seems like an opportunity for Egui to have switchable layout engines.

If you want a simple, one pass layout that super fast, you use the fast-and-dumb-on-purpose-engine. If you want a fancy dynamic scaling layout with breakpoints and blah blah blah, you use the whole-damn-browser-engine.

Thinking along the lines of geometry managers in Tk. Or wxWidgets Sizers.

https://wiki.tcl-lang.org/page/Geometry+Managers

Maybe I am missing something basic and this won't work/doesn't address the problem.

But maybe there's good prior art to learn from here.

daotoad··on Cray versus Raspberry Pi
This little piece reminds me of a conversation I had about the power of modern mobile phones.

Given a modern flagship phone, what year was that phone equivalent to total world computational power?

For example, based on TFA, a Pi5 represents a around a thousand Cray 1 systems in 1977. Based on that seems likely that a single Pi5 outstrips total world supercomputer capacity in 1977.

We tossed some numbers around, but the rough consensus was that the were likely to have the 60s covered and most of the 70s as well. Given that this was a decade ago, I expect that we could move forward a few years.

daotoad··on Curtis Yarvin's Plot Against America
Pride and the opportunity to get your ego stroked makes people do dumb stuff all the time.

On the other hand, Yarvin may also be making the decision that any publicity will drive readers to him and net him more followers overall and that the risk of damage to Vance is less than the perceived benefit of new followers.

daotoad··on 2025 Tariff Impacts at Puget Systems
Probably. It would have made it a lot harder to sell to voters.
daotoad··on Study casts doubt on gluten as cause of gut ailments among non-coeliacs
This is absolutely not surprising.

Anyone who spends time in online support groups for folks with gluten sensitivities could tell you that there is a good percentage of people who think they can't handle gluten but couldn't tell you what foods have it.

It's pretty regular to be asked if soy and milk contain gluten.

Based on the difficulties in actually obtaining a medical diagnosis (average time spent trying is around a decade, IIRC), it's not surprising to find a lot of self diagnosis in the same community.

But when people who lack basic information make self diagnoses they are likely to be wrong. They're just desperate people who aren't getting the help they need searching for a solution.

It sucks that there are health influencers who will sell them on gluten as the source of their problems. But the health grifters are going to grift.

Since I get terrible dermatitis when I consume wheat I certainly won't be eating it whether or not my sensitivity is specifically to gluten or wheat in specific. One of the side effects of all the grifters directing people who don't have a sensitivity to gluten is a massive increase in availability and quality of wheat/gluten free foods.

While the net benefit to all the people who are being duped switching back to better, cheaper foods far outweighs my comfort, I'll be sad if they all stop buying the crappy fake bread. This will lead grocery stores to stop selling it due to lack of demand. Then producers will go bankrupt or stop selling their products. Which will mean that I can't even get that sad stuff anymore.

I've been watching this part of the market evolve for two decades and we went from a tiny selection of culinary horrors, to a fair variety of reasonably okay-ish things. I'll be pretty bummed if we lose all that progress.

daotoad··on The Frontend Treadmill
I get really exacerbated when people make this mistake.
daotoad··on What makes code hard to read: Visual patterns of complexity (2023)
Funny, I see the need to add comments as an indicator that it's time to introduce chunking of some sort--arguably it already has been.

In this case, I'd lean towards intermediate variables, but sometimes I'll use functions or methods to group things.

I prefer function/method/variable names over comments because the are actual first class parts of the code. In my experience, people are a bit more likely to update them when they stop being true. YMMV.

daotoad··on Tianjin robot incident raises alarm over public safety and robotics
These heroic officers will have to deal with malefactors that want to rock and roll all night and party every day. This is why they will need an unlimited supply of waterfalls and sandwiches.
daotoad··on Show HN: I created a language called AntiLang – breaking all the conventions
If you used leading whitespace you could wind up with something like old basics where you had to number your lines. It was great, you'd always skip 10 between lines so if you had a bug you could stuff a patch in between existing lines at *5.

For the whitespace, you'd have to know how deeply to indent the outermost part of your code.

So if you add an if block to a for loop, every line of the code has to be indented and only the contents of the new if would be at indent of 0.

I am not going to write this pseudocode in AntiLang because I am not that much of a masochist.

    for ( foo in somearray )
  doStuff(foo)
    end
becomes

      for ( foo in somearray )
    if ( condition )
  doStuff(foo)
    end
      end
If you antilanged this the rest of the way, you could have a common `start` to indicate the start of a block and then replace the `end with the actual conditional.

    start
  doStuff(foo)
    for( foo in somearray )

This gets horrible pretty quick. So as terrible as trailing line space is, leading line space is quite possibly worse.

Which leads me to the ultimate conlusion -

  White space should be balanced.  If you need 4 spaces indent, you also need 4 spaces on the end of the string.
daotoad··on “The closer to the train station, the worse the kebab” – a “study”
Would it help if I were to chime in with a response about the benefits of kebab case over train case?
daotoad··on Egg prices are soaring. Are backyard chickens the answer?
If only it was only the early hours. The damn things scream pretty much all the time. I've had two neighbors over the years that accidentally kept roosters.

So, if you want to keep backyard chickens, save yourself the trouble and get the red sex linked chicks. They are hybrids whose color is very reliably determined by color, so you can be pretty sure you aren't getting a rooster chick.

It's either that or brace yourself for the process of turning the occasion young rooster into fried chicken before it gets too obstreperous.

daotoad··on Pantograph: A Fluid and Typed Structure Editor
I could see something like this operating like a WYSWYG HTML editor that either has a split screen or toggles between source and rendered views.

I think creating any sizable chunk of code in something like this would be likely to involve way too much clicking around.

But I can also see that it could be a really useful way to spot errors and a big help with refactoring tasks.

daotoad··on GitHub Copilot: The Agent Awakens
Not the person who said it and I wouldn't say "never"...

But I will say that until we have a robot that can fold laundry, we won't have a robot that can go into your crawlspace and replace a chunk of crusty old galvanized pipe with copper or pex.

Robots have excelled, so far, in controlled environments. Dealing with the chaos of plumbing in a building that has been "improved" by different people over the course of a century is the opposite of that.

daotoad··on GitHub Copilot: The Agent Awakens
The thing is the total amount of work to do keeps increasing. We're putting firmware in lightbulbs now.

When everything includes software, someone needs to write and maintain that software.

If software becomes cheaper, we'll just use even more of it.

← PreviousPage 2 of 11Next →