HN user

SCdF

5,751 karma

https://sdufresne.info

[ my public key: https://keybase.io/scdf; my proof: https://keybase.io/scdf/sigs/jVRYVWlkXNQn3BTQA-xnWaJ0DYFHTtuPv9zZ3UT1uZQ ]

Posts28
Comments939
View on HN
www.allankelly.net 4y ago

Programmers without TDD will be unemployable by 2022 (a prediction) (2014)

SCdF
1pts4
news.ycombinator.com 7y ago

Ask HN: Strategies for mentoring junior developers remotely?

SCdF
7pts0
www.youtube.com 7y ago

Blloc Zero 18 first look

SCdF
1pts1
github.com 8y ago

The original Common Lisp version of Reddit

SCdF
6pts1
medium.com 8y ago

Do articles on PC Gamer increase sales of your indie game? Polygon? Kotaku?

SCdF
1pts0
writing.jan.io 8y ago

Understanding the Facebook vs. Apache Software Foundation License Kerfuffle

SCdF
2pts0
www.indiegogo.com 9y ago

GPD Pocket: 7.0' UMPC-Laptop

SCdF
3pts0
bullshit.ist 9y ago

Driving Lyft Has Its Rewards, but Not in the Bank Account

SCdF
4pts0
www.nngroup.com 9y ago

Give Thanks for Good UX

SCdF
1pts0
gilesbowkett.blogspot.com 9y ago

This Infographic Explains Why JavaScript Dev Seems So Complicated

SCdF
3pts0
medium.com 9y ago

I’m Done Pretending SF Tech Is Visionary

SCdF
4pts0
mikemainguy.blogspot.com 10y ago

The myth of asynchronous JDBC [2015]

SCdF
1pts0
github.com 10y ago

MacPaste – The Missing Mouse Paste Feature for Mac OS X

SCdF
1pts0
www.dailydot.com 10y ago

154M voter records exposed

SCdF
6pts0
blog.cleverelephant.ca 10y ago

NoNoSQL (2010)

SCdF
2pts0
yogthos.net 10y ago

Consider Hoplon

SCdF
1pts0
clojure.org 10y ago

Clojure.spec – Rationale and Overview

SCdF
474pts153
techreport.com 10y ago

Into a new era

SCdF
1pts0
medium.com 10y ago

Things the media does to manufacture outrage

SCdF
3pts0
movio.co 11y ago

6 months with Slick

SCdF
1pts0
betabeat.com 11y ago

Ello Signs a Legally-Binding Charter to Never Sell Ads or Data

SCdF
4pts0
online.wsj.com 12y ago

Amid Stratospheric Valuations, Google Unearths a Deal With Skybox

SCdF
3pts0
aphyr.com 12y ago

Language Power

SCdF
2pts0
www.nzherald.co.nz 13y ago

US spy device 'tested on NZ public'

SCdF
127pts53
www.youtube.com 13y ago

GTAC 2013: Drinking the Ocean - Finding XSS at Google Scale

SCdF
2pts0
www.whattofix.com 13y ago

Process Patterns: Design Patterns for Process Nerds

SCdF
1pts0
dismagazine.com 14y ago

Spam-erican Apparel

SCdF
2pts0
www.pogomix.net 14y ago

Back on the horse

SCdF
1pts0

The cheapest internet where I live (just outside London) is gigabit, which is why I have it, but really I haven't needed anything faster than ADSL at any point, unless I guess I really want that game downloaded now now now.

That's not really the point of the topic though right, it's that in the UK I have the choice of a billion different ISPs, including (I think stupidly) three different fibre providers (I literally have two fibre connections to my house because I changed ISPs and they ran on different fibre networks), and in the US all I hear about is streamers complaining that they are all stuck with the same shitty ISP as there is no choice, in a country that supposedly champions choice.

Valve makes it very very easy to be a PC gamer, and, importantly, slightly harder to be a PC gamer who buys games in places other than Steam.

Yes you can buy games on GoG or Epic and play them on a steam deck or a steam machine. But it's juuuuust enough faff to be annoying enough, that you'd rather just get them on steam. I know people (and am a person) who have rebought games they already own so they are on steam, to make playing between steam deck and desktop more reliable.

It's the same with the steam controller. You _can_ use it with games outside of steam, but it's enough of a faff that you find yourself avoiding it.

It's incredibly effective, and why they are an effective monopoly in PC gaming.

Not OP, but I had to change the mail cache from all mail to recent, I think because it couldn't handle how much mail I had? It would often get stuck not syncing, and offline would be unreliable and showing a blank screen. Recent works fine, but it would be worthwhile folks testing more with all mail enabled, especially if they have larger inboxes.

LLMs aren’t lazy. They don’t cut corners because a simpler solution feels good enough. If they know how to solve something thoroughly, they will.

I don't know why they think this, but no? Perhaps it's badly expressed, but LLMs cut corners all the time. It's sort of their core fault really.

Anyway, I disagree with the core premise[1]. Re-writes are not cheap, because 1) code can be so bad it's unclear how to rewrite it[2], b) code can be so significant it's challenging to rewrite it (architectural choices, schemas, etc), and lastly if you're ever wanting to own your own code and not rent it from LLM companies, having it understandable by a human is still a goal worth working toward.

[1] To be fair, I think OP _might_ be talking about rewriting in the moment of the thing being built, but with some unspoken rule that once they think the change is good enough, then they are reviewing all the code? They don't make it clear..

[2] it's not even that hard. Write a test that exercises an end result and not the rule that causes that end result and 6 months later you've forgotten why the code is like that. I had to maintain a piece of software once where the primary form of tests were a bunch of snapshots of an end report being generated, based on some initial data input, mostly all unlabeled. The code was like "do this SQL query on table A and then take the second result". Why the second result? Your guess is as good as mine! I couldn't even work out why they were querying table A and not table B...

Not all tools are made for inexperienced people. Not everything is idiot proof. This is OK!

In my experience using the AUR:

1. when you first install the package you can read the build script (and you should). These are in a very standard structure, and if the one you are reading is weird and complicated consider not installing it. No one is forcing you to. Almost every build script I read just downloads a build from a tagged github release.

2. when you get an upgrade you are shown the diff. For almost every AUR package I use this is literally just changing the $VERSION variable and the subsequent $HASH of the download. It is trivial to see if anything (in the AUR script) is happening that is sneaky.

It's really not that scary. And if it's considered scary, there are literally dozens of other linux distros (not to mention Windows or MacOS) you could be using instead.

We must live in different realities, because I have the direct opposite experience.

Perhaps we are defining "job" differently? AI can, with much coaching, _perhaps_[1], do some _aspects_ of a programmer's job. But not all of it, or even the most important parts of it.

[1] given that we have spent the past many decades pointing out that developer productivity is possibly impossible to measure, or at least very hard; given "done" vs "done done"; given the history of "rock star" developers creating messes behind them, the difference between short and long term thinking and the external imperceptability of that difference; given all of that, we haven't really had enough time to form a valid opinion on what AI can do, in the long run.

IDK, I do think a lot of it is LLMs enable people who were not in our community to come into it (in an eternal september kind of way) and they are going through all this from first principals and ignoring their elders, but I've also seen technical people suddenly measuring themselves this way. The most optimistic read of this is that they _feel_ productive, and that feels nice, and they want to share how that feels, and so they are reaching for these garbage metrics because they have nothing else.

It is endlessly... amusing (?) to me, that we as a community spent decades trying to make it clear that our productivity is not easily measured because what we're doing is complicated and long running, only for AI to come along and suddenly LoC, Nx multipliers, tickets / week etc are held up as useful if not objective measurements.

The reasons we rejected LoC and other measurements have not changed (broadly: code output isn't important, quality output is). AI has all the same problems people do. But for whatever reason we are throwing what we've learnt away. It's kind of embarrassing.

Jesus fucking Christ. On a bicycle.

LLMs should be treated as untrusted. At all times.

The mind boggles at the attitudes that seem to have have led to LLMs being an excuse to throw any of the "science" in computer science we've managed to get into production out the window and go elbow deep into treating computers like mystical alchemy.

The next decade is going to be a bumpy ride.

This is perhaps a very American-centric article? I realise that ZIRP was near-global, but "When banks hiked interest rates, almost every tech company immediately laid off 5-20% of their engineers." does not track with my or my friends' experiences.

And, fundamentally, in countries with employee rights, as an employee I do not give two shits about interest rates the company I work at borrows on. My philosophy on software design does not change. You can argue that the company might pick and choose who it makes redundant, and they might value people who produce "more product", but companies have always valued that visibility. It's your responsibility, if you care, to sell your actions in a commercial context. I don't think ZIRP changes that, and I have not personally noticed a change there.

So currently there are people who are buying grey market peptides[1], marked "not for human consumption" and injecting themselves with them based on dubious anecdotes and vibes, to make their skin clearer, build muscle mass, and so on.

Are they are all suddenly turning into zombies? No. Do they have any real idea what that is going to do to their body a few years down the line? Also no. Could it be catastrophic? Maybe!

I think about this when I think about how violently much of the industry has pivoted into AI being the primary generator of code in the last 6ish months. AI is the peptide, your codebase[2] is the body. Literally no one knows how maintainable this approach is, because there simply hasn't been enough time to find out. It could be fine. It could be a complete mess, with your entire engineering team falling asleep at the wheel, lulled into thinking they understand what is being built when they don't, completely impotent to fix or maintain it once the LLM is no longer able to.

[1] https://www.bbc.co.uk/news/articles/cdr268m5pxro

[2] Well, _their_ codebase. I've stopped doing it with my own personal codebases, unless I genuinely don't care about maintainability or longevity

Interesting project!

I would say some of the indicators are a little odd.

Some of them are questionable in terms of capturing the spirit of the idea ("violent crime" being the same in the UK and the US is a surprising one to me for example. It's capturing serious assault per 100k, but is then not considering murder as violent crime. You have murder later, but maybe combine / group them?).

Some are confusing because they are not clear politically: everyone wants less violent crime, but I don't know your politics and so have no idea which direction you have weighted net migration and asylum/capita.

It wouldn't be atomic, and so would break transaction semantics.

If you committed a row update but didn't update the index, a subsequent query using the not yet updated index would not find the updated row correctly.

It would also only work for certain types of indexes, you couldn't do it for uniqueness constraint for example.

I do agree that in theory you could have some extension to the index declaration that covers all that, but my worry there would be that it would be non obvious and a foot gun. Doing it the way described above makes that break in semantics clear.

Yes, many times. Roughly once a week this year my team or an associated team can't ship changes because PRs, GitHub Actions, or some other associated mechanism is down.

Not to be glib, but being dead lowers your night time heart rate more then exercise as well.

Is having a lower night time heart rate the core goal of exercise? Is it even a goal at all? Or is it just an indicator of other goals being reached? I'm genuinely curious, I wasn't aware that the number mattered, more than what that number actually represents.

If you use scrum, and if you have a scrum master. You categorically don't need to do either of those things though.

Another way of phrasing this though, is that it's in the team's power to determine process (or the lack thereof).

Regardless of success or failure you can say to what degree this is true, and to me this is really that only part of "agile" that is worth locking in.

I will say I specifically don't sync git repos (they are just local and pushed to github, which I consider good enough for now), and I am aware that syncthing is one more of those tools that does not work well with git.

syncthing is not perfect, and can get into weird states if you add and remove devices from it for example, but for my case it is I think the best option.

Ironically the only place I encounter this is using google news, where news sites seem to detect you're in google news (I don't think these same sites do it when I'm just browing normally?), and try to upsell you their other stories before you go back to the main page.

After mucking around with various easy to use options my lack of trust[1] pushed me into a more-complicated-but-at-least-under-my-control-option: syncthing+restic+s3 compatible cloud provider.

Basically it works like this:

- I have syncthing moving files between all my devices. The larger the device, the more stuff I move there[2]. My phone only has my keepass file and a few other docs, my gaming PC has that plus all of my photos and music, etc.

- All of this ends up on a raspberry pi with a connected USB harddrive, which has everything on it. Why yes, that is very shoddy and short term! The pi is mirrored on my gaming PC though, which is awake once every day or two, so if it completely breaks I still have everything locally.

- Nightly a restic job runs, which backs up everything on the pi to an s3 compatible cloud[3], and cleans out old snapshots (30 days, 52 weeks, 60 months, then yearly)

- Yearly I test restoring a random backup, both on the pi, and on another device, to make sure there is no required knowledge stuck on there.

This is was somewhat of a pain to setup, but since the pi is never off it just ticks along, and I check it periodically to make sure nothing has broken.

[1] there is always weirdness with these tools. They don't sync how you think, or when you actually want to restore it takes forever, or they are stuck in perpetual sync cycles

[2] I sync multiple directories, broadly "very small", "small", "dumping ground", and "media", from smallest to largest.

[3] Currently Wasabi, but it really doens't matter. Restic encrypts client side, you just need to trust the provider enough that they don't completely collapse at the same time that you need backups.