Hacker Newsnew | past | comments | ask | show | jobs | submit | Buttons840's commentslogin

Software engineers keep software on the tracks like train engineers keep the train on the tracks. Nobody thinks the train engineer built the train...

We should train engineers regardless.

Do you think the "engineer" in software engineer is etymologically closer to train engineer than it is to electrical/mechanical/civil engineer?

I don't think so.


Isn't it maintenance, not engineering?

This might be happening with the founders of Kalshi. The federal law and CFTC has been saying that these prediction markets are federally regulated, but they're facing criminal charges in some states.

Even that causes problems though as normal casinos with sports betting are then offering a cftc regulated product without a license.

Kalshi isn't "bets", it's a "market" where people trade contracts related to the outcome of the sports game. I think that's the argued legal distinction.

I think it's nonsense and that gambling is very destructive, but there does seem to be a line there where sometimes sports betting is betting, and other times it's trading in a market.


Yeah, we wont be one-shotting stuff like this for a least another year or maybe even two! (This is a risky prediction, but I made it.)

Programmers are "program reviewers" now, more and more.

But the tools we have to do this suck. We don't have much beyond "here's the source code as text, look at it, and think really hard".

Another comment[0] suggested having AI generate "code walks" through the code. This seems better than our current approach of "my PR contains a diff, good luck".

I'm working on a tool in Emacs that allows me to mark certain lines, or entire projects, as needing review, and then helps me track which parts have been reviewed. I need something to help me find parts of the code I have never reviewed before.

[0]: https://news.ycombinator.com/item?id=50410493


As PRs get beefier I find myself using the LLM to ask pointed questions and do general surveys of the diff to flag architectural violations, smells, etc. before I read through the entire thing by hand. If you put all of your architectural and business decisions in the repo via spec-driven tools or otherwise then this becomes quite useful. It also helps if you have a vision in your head of what the system is supposed to look like structurally so you can ask the LLM specifically how the PR is handling things that you'd be on the lookout for anyway.

I've been thinking about a workflow where PRs just get automerged into a staging environment of some kind, and then tooling helps ensure that all code, ALL the code in the entire project, is regularly reviewed together.

When lines change, they are put up for review. When lines haven't been reviewed for awhile, they are put up for review. Lines are ranked based upon the complexity of the context they are in, and complex areas of the code are reviewed more often.

Basically, stop focusing on individual PRs and instead focus on continuous review of the entire system with tooling that helps identify those parts of the code that are most in need of review.

Reviewing PRs is wasteful because the optimal way to review a system does not match the way a system naturally grows through individual commits.


> Programmers are "program reviewers" now, more and more.

Our job, much like a locomotive operator, is to make sure the agents don't go off the rails. We call ourselves software engineers in recognition of that.


The Haskell ecosystem seems obsessed with NixOS in a way I haven't seen anywhere else.

I recall wanting to use Haskell packages that were only available in Nix, but nobody had bothered to make just a normal package.


I’ve been using Haskell for about eighteen years and can’t think of a single example of anything that was only available via nix, other than Obsidian System’s stuff that used WASM back when building for that as a target was _complicated_ and having a reproducible environment was kind of a necessity.

Yeah. That tickles my memory, so that's probably what I'm talking about.

NixOS is subtly marketed to Haskell folks.

I got into Haskell because I wanted to learn ADTs, and quickly found I really appreciate the ways that purely functional programming tickles my brain!

NixOS has been described as a "purely functional Linux distribution" and I liked the sound of that at first. I haven't figured out what this means, lol, but I tried it anyway and quickly found I really appreciate it's declarative configuration.

https://edolstra.github.io/pubs/nixos-jfp-final.pdf


If you want to create an ecosystem optimized towards correctness, you'll have to curate what you let inside, and drop many things. And Nix is probably the best package manager for correctness.

That of course hurts market share.


There is no correct, only pros and cons. How you weight the pros and cons will not be the same as everyone else.

in correct i meant "minimizes the amount of bugs".

Learn whichever one makes you most excited right now.

Don't worry, you can change your mind. If you end up learning a little of all 3, that's a good thing.

The time you spend analyzing which you should learn would be better spent learning the worst possible pick of the 3.

But don't feel too bad, I also procrastinate by analysis. Many of us do. :)


Companies pay entire departments to ruthlessly optimize 24/7 and squeeze every dime out of every process.

Meanwhile, I just like spending time with my family, like a fool. I mean, this is a capitalist society and here I am doing something other than ruthlessly exploiting the capital I possess.

I can't hope to compete with companies. I can't hope to ruthlessly optimize to the same extent they do.

Except... now with AI, I might finally have a way to ruthlessly optimize for myself.

With the help of AI, I might know the best place to buy everything. I will drive past your store to save a buck at the next, if only I know to do so.

And, who knows, maybe in 20 years AIs will be good enough to help me personally manage a few hundred LLCs and shell companies so that I too can disappear in a poof of legal smoke whenever I desire.

I think one of the biggest changes AI will bring is in empowering individuals--potentially...

As you say, the most important decision of our day is whether AIs will be allowed to benefit individuals. There's like 100 trillion dollars on the line though, so I expect a fight.


It's a weird world where we're refactoring everything, but not just using a type system that can enforce those seams and limitations at compile time.

We are though. Why do you think Rust has become the defacto standard for vibe-coding? Most vibe coders can't read a line of Rust, but the strong ML-inspired type system, and also having native performance, is why it is the king of the hill right now.

I'm not sure if this was your point, but AI will eventually just flow to the competitor that wants business and has the best price.

Want to block bots? Okay, watch your customers just seamlessly move to a competitor without requiring even the slightest thought or action from the customer.

Of course, if--somehow--customers moving to a competitor doesn't actually hurt the company they're moving away from... I might have to start questioning exactly how this whole "free market capitalism" experiment is working out. I think companies want to compete to win customers, but I'm not 100% sure anymore.


> but AI will eventually just flow to the competitor that wants business and has the best price.

This assumes that competitors will be willing to accommodate, which isn't always a given. I could easily see a ban industry-wide on agents for airlines to protect their pricing strategy, and the perceived administrative burden gives them legal cover against acting as a cartel.

> I think companies want to compete to win customers, but I'm not 100% sure anymore.

Companies don't want to compete if they can buy the competition instead. If they did, you wouldn't see mass consolidation across the economy (airlines are a great example of this). Cornering the market or getting bought before you're cornered is usually more lucrative than trying to compete.


Which is stored in `this.s` as the following string:

Gur Mra bs Clguba, ol Gvz Crgref

Ornhgvshy vf orggre guna htyl. Rkcyvpvg vf orggre guna vzcyvpvg. Fvzcyr vf orggre guna pbzcyrk. Pbzcyrk vf orggre guna pbzcyvpngrq. Syng vf orggre guna arfgrq. Fcnefr vf orggre guna qrafr. Ernqnovyvgl pbhagf. Fcrpvny pnfrf nera'g fcrpvny rabhtu gb oernx gur ehyrf. Nygubhtu cenpgvpnyvgl orngf chevgl. Reebef fubhyq arire cnff fvyragyl. Hayrff rkcyvpvgyl fvyraprq. Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff. Gurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg. Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh'er Qhgpu. Abj vf orggre guna arire. Nygubhtu arire vf bsgra orggre guna evtug abj. Vs gur vzcyrzragngvba vf uneq gb rkcynva, vg'f n onq vqrn. Vs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn. Anzrfcnprf ner bar ubaxvat terng vqrn -- yrg'f qb zber bs gubfr!



Oh, ROT13!

...but why? Why is it encrypted and not stored as plaintext?

It's to ensure the text is never altered because altering it would require reverse engineering the encryption algorithm which is a felony. (This is a joke, and a not-so-subtle criticism of the DMCA.)

Wouldn’t be much of an easter egg if it was too easy to understand <wink>?

Easter eggs are a code smell now, completely unacceptable. I'm sure the fun police will be all in to remove it.

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

Search: