News for hackers. Stuff that matters.

ocharles

Re:The Tao of Backup on Monday October 05, 2026 @08:04AM (#49963735)
I felt old seeing this posted again, but I think I feel even older due to the lack of comments saying "I remember this"!
You can learn how to build an LLM from scratch while doing all of those things...
Re:Claude Fable is relentlessly proactive on Friday June 12, 2026 @07:10AM (#48502577)
A small diff /= a small change! They are completely separate things. Quite often a small diff is hours of actual work. Even in this case _finding_ those lines could have taken work - we don't really know.
I don't think there's anything passive here - it's a very constructive and valid argument. Are we not here to have a discussion?
Re:Get an AI code review in 10 seconds on Sunday December 21, 2025 @02:38PM (#46347630)
We're a Haskell shop, so I usually just say "review the current commit. You're an experienced Haskell programmer and you value readable and obvious code" (because that it is indeed what we value on the team). I'll often ask it to explicitly consider testing, too
Re:Get an AI code review in 10 seconds on Sunday December 21, 2025 @02:07PM (#46347322)
I recently started using LLMs to review my code before asking for a more formal review from colleagues. It's actually been surprisingly useful - why waste my colleagues time with small obvious things? But it's also gone much further than that sometimes with deeper reviews points. Even when I don't agree with them it's great having that little bit more food for thought - if anything it helps seed the review
So - exceptions are for invariant violations? I'm essentially trying to work out what it is that makes something "exceptional"
Re:Self hosting 10TB in S3 on a framework laptop and disks on Sunday October 05, 2025 @10:03AM (#45481552)
What enclosure houses the JBOD?
Re:Leveling Up My Homelab on Sunday October 05, 2025 @06:18AM (#45480430)
I'm curious how much this costs to run. I.e., how much are you paying for electricity?
Re: on Sunday August 31, 2025 @01:54PM (#45085275)
I write Haskell with Claude Code and it's got remarkably good recently. We have some code at work that uses STM to have what is essentially a mutable state machine. I needed to split a state transition apart, and it did an admirable job. I had to intervene once or twice when it was going down a valid, but undesirable approach. This almost one shot performance was already a productivity boost, but didn't quite build. What I find most impressive now is the "fix" here is to literally have Claude run the build and see the errors. While GHC errors are verbose and not always the best it got everything building in a few more iterations. When it later got a test failure, I suggested we add a bit more logging - so it logged all state transitions, and spotted the unexpected transition and got the test passing. We really are a LONG way away from 3.5 performance.
Re:Tough news for our UK users on Sunday July 20, 2025 @05:55PM (#44629679)
This keeps getting parroted but it's flawed/overly idealistic/frankly naive. An awful of children are, unfortunately, poorly parented. This is not a new phenomenon, nor something we seem to be improving. OTOH, exposure to extreme material for young children is increasing, and has consequences beyond that child. Exposure to extreme pornography leads to a warped view of sex which affects everyone this child might have sexual encounters with. Exposure to extreme violent material leads to the murder of other innocent children.

I don't know where I stand on this legislation - my gut is that it's too heavy handed and will miss the mark. But I think we need to stop saying this falls solely on parents. The internet is far too big, and parenting is far too varied for this to work. I wish it would, but it won't. There simply aren't enough parents that care enough.

Because we know the implications of poor quality food, and we also know those who would buy it have no choice but to buy the cheapest. So, no thanks. I'd much rather the state intervene here and keep this crap out. This "let consumers choose" argument is tiring when consumers don't have the ability to choose. They are just trying to survive
Re:Johnny.Decimal – A system to organise your life on Friday February 21, 2025 @11:00AM (#43129021)
Because of the volume of documents, or because of some cognitive change at that age?
Re:Daily Usenet Feed Size Hits 300TB on Wednesday July 10, 2024 @04:23PM (#40931122)
Honestly there's way more there, and you get consistent solid speeds. Find a provider with a lot of retention and you can find almost all mainstream media regardless of it's age. (Public) torrents tend to track what's popular and quickly fade. The masses seem to favour low size encodes too, so if you're looking for more quality (and again, public trackers) you're usually much more out of luck.
Re:Deliveroo and Uber Eats Riders Strike on Valentine's Day on Friday February 16, 2024 @03:58AM (#39394744)
> On what timeline? Per hour? Per day?

Surely a pinch of critical thinking answers this? 4 deliveries a day isn't going to pay a daily minimum wage. If it did, then we wouldn't have this situation - surely most riders manage more than one delivery every 2 hours and make more than the minimum wage!

Re:Fossil Is Quitting Smartwatches on Sunday January 28, 2024 @04:47AM (#39164035)
Is Whoop maybe more what you're looking for? I don't think that has a display at all
Sleep isn't the metric to track here, there are much better things to analyze such as HRV. For reducing drinking you shouldn't be doing that because of your sleep, you should be doing it because of your overall health. If you care about future health, take blood tests, weigh yourself, evaluate your physical fitness.
Re:Understanding Deep Learning on Monday November 27, 2023 @03:39AM (#38429728)
Very hard to answer without knowing what your goal is. Do you want to be a practitioner of DL, or do you want to be a researcher?
Re:The Piccadilly line’s new air conditioned trains on Tuesday November 21, 2023 @08:33AM (#38363365)
For those who won't bother to RTFA: the trains run cooler than other trains, so they are taking advantage of the difference such that the net result is the same temperature in tunnels, but the interior of trains can be cooler.
Re:Firefox Development Is Moving from Mercurial to Git on Monday November 06, 2023 @05:23AM (#38160773)
You might like https://github.com/martinvonz/jj, which gives an alternative frontend to Git.
Re:Is supervised learning dead for computer vision? on Saturday October 28, 2023 @12:23PM (#38051012)
As I understand it, the point is that these models while they are _trained_ on identifying cats or cars, because they have soon so much variation during training have internalised very different concepts to help come up with "its a cat". The idea then is to take all of these pre-trained weights that let you build this classifier, but then add your own custom head on the front of this network. This saves you doing a huge amount of training for what is essentially feature extraction - that part is already done. All you need to do is just add a bit more training that works out how to use these learnt features. I could be way off the mark, but that's how I understand it.
Yea, it needs to go fully off screen too!
Re:Pixel 8 Pro on Thursday October 05, 2023 @06:14AM (#37776780)
I have the 9 and it's a fairly good phone, but seems to have a hard time working with UK phone networks. I get patchy 4G, not sure I've ever seen 5G, and there seems to be a very magic combination of settings that allows me to actually make and receive calls (turning of VoLTE, and a bunch of other things need to be on or off). A shame, because otherwise I love the form factor and other features.
Re:Fantastic Learning Resources on Monday August 07, 2023 @01:21PM (#37037544)
The book "Beautiful Code", maybe?
The analogous command here is `jj split -i`, which interactively splits the current commit (which is your working copy).
Yea, just GitHub repos. In fact just a single repo (work's mono repo) for now, but that's where I spend the majority of my day.
Nice to see this posted here. I switched over to it about 2-3 weeks ago, and I haven't looked back. It took a lot of mental rewiring, but I really enjoy the workflow `jj` provides. There's no longer a time to think about what's being committed, because all file changes automatically amend the working copy commit. Of course, sometimes you don't want this, so you have things like the ability to split a commit into two, moving commits, etc. But having _everything_ operate on commits is really nice! Other niceities that I like:

- `jj log` is awesome for getting an overview of all your branches. If, like me, you have a lot of work in progress at once, this provides a great map

- Conflict resolution is really cool, as you can partially resolve conflicts, and then switch branches. Conflicts are also tracked specially, but I haven't done too much with this yet.

Re: on Wednesday July 12, 2023 @04:28PM (#36701175)
Very nice, but what's the upgrade story on these kind of things? Like if there's a bug in any of these, you've got to basically manually watch the repository and manually copy bug fixes back over
Re:Parse, Don't Validate (2019) on Tuesday March 07, 2023 @07:38AM (#35054640)
> OP is delusional if they think that their approach can be made practical. I mean, what if the expectation from the data that an value is a prime number? -- How are they going to encode this in their type systems? And this is just a trivial example.

People get too caught up in thinking that the type _has_ to express intricate properties, it doesn't. How am I going to express the expectation that something is prime? With the following closed API:

  module Prime where

  data PrimeNumber

  parsePrime :: Int -> Maybe PrimeNumber
  toInt :: PrimeNumber -> Int
Now the problem is that _leaving_ this API forgets information. Whether or not that is a problem is a different question, and very dependent on the context.

The same applies to your comment about passwords. One can quite easily create a closed module that encapsulates a ValidPassword type that simply performs runtime character tests on a string.

I want to stress that this approach is making a trade off (as I earlier mentioned about leaving the API forgetting information, forcing you to re-parse). However, this puts this design somewhere in the middle of the spectrum. At one extreme end we have primitive obsession and shotgun parsing everywhere, with this we push the parsing into a sane place and try and hold on to these parsed values as long as possible, and at the extreme end we need dependent types or sophisticated encodings where the value carries a lot more information (and here we get towards propositions as types)

Older »