skysight-inc/HackerNews huggingface dataset:
Having written one of these, a few optimizations will go a long way:

1. syscall.Iovec allows you to build up multiple batches semi independently and then write them all in a single syscall and sync the file with the next one. It is a good basis for allowing multiple pending writes to proceed in independent go routines and have another one have all the responsibility for flushing data.

2. It is better to use larger preallocated files than a bunch of smaller ones, along with batching, fixed size headers and padding write blocks to a known size. 16 megabytes per wal and a 128 byte padding worked well for me.

3. Batching writes until they reach a max buffer size and/or a max buffer age can also massively increase throughput. 1 megabyte max pending write or 50 ms time passed worked pretty well for me for batching and throughput to start with, then dynamically tuning the last bound to the rolling average of the time the last 16 write+sync operations (and a hard upper bound to deal with 99th percentile latency badness) worked better. Bounded channels and a little clever math makes parallelizing all of this pretty seamless.

4. Mmap'ing the wals makes consistency checking and byte level fiddling much easier on replay. No need to seek or use a buffered reader, just use slice math and copy() or append() to pull out what you need.
For the CLI there's litecli. It has auto-completion and syntax highlighting.

https://github.com/dbcli/litecli
I think that's an oversimplification and not quite the core value proposition. Implementing a solution is just the beginning. Systems evolve, so software development is not only about delivering solutions but also about enabling their maintenance and evolution.

I view programming languages and software dev tools as fundamentally about the management of complexity.

The evolution of software development tools reflects a continuous effort to manage the inherent complexity of building and maintaining software systems. From the earliest programming languages and punch cards to simple text editors, and now to sophisticated IDEs, version control systems, and automated testing frameworks, each advancement enables better ways to manage and simplify the overall development process. These tools help developers handle dependencies, abstract away low-level details, and facilitate collaboration, ultimately enabling the creation of more robust, scalable, and maintainable software.

Notable figures in software development emphasize this focus on complexity management. Fred Brooks, in "The Mythical Man-Month," highlights the inherent complexity in software development and the necessity of tools and methodologies to manage it effectively. Eric S. Raymond, in "The Cathedral and the Bazaar," discusses how collaborative tools and practices, especially in open-source projects, help manage complexity. Grady Booch's "Object-Oriented Analysis and Design" underscores how object-oriented principles and tools promote modularity and reuse, aiding complexity management.

Martin Fowler, known for advocating the use of design patterns in his book "Patterns of Enterprise Application Architecture," emphasizes how patterns provide proven solutions to recurring problems, thereby managing complexity more effectively. By using patterns, developers can reuse solutions, improve communication through a common vocabulary, and enhance system flexibility. Fowler also advocates for continuous improvement and refactoring in his book "Refactoring" as essential practices for managing and reducing software complexity. Similarly, Robert C. Martin, in "Clean Code," stresses the importance of writing clean, readable, and maintainable code to manage complexity and ensure long-term software health.

While speed and efficiency are important, the core value of software development lies in the ability to manage complexity, ensuring that systems are robust, scalable, and maintainable over time.
A feature-specific prediction error model explains dopaminergic heterogeneity
Honestly nothing of substance here.
Would be great to get a first hand account of jj in practice.
It’s not the first study to find differences. And that’s not the only meta study in existence. I don’t see why one would be surprised given other literature around the subject.

BTW, note how the article you cited doesn’t argue against differences between male and female brains but makes a rather pedantic point about “dimorphism”.
https://webservices.archive.org/pages/vault

https://archive.org/details/vault-overview
Yeah, that’s what I do now. It’s not as convenient as having it integrated directly into the stats, but free sure beats $160 for my hobby blog.
This is why I still have hope.

We see the tangle representing a complex system and say the tangle is ugly.
We hide the tangle in text and names and say it is better. There is something odd there.

That the tangle is perceived to be uglier than the word.... is it that our brains deal better with a sliding window of symbols rather than gazing upon the sprawled true tentacled glory of some large algorithmic expression?

The promise of VP is that the program is the architecture is the monitoring tools.

Should we learn to love the sprawl?

So, I'm making two parallel attempts at this again. One more serious ( https://youtu.be/sqvHjXfbI8o?si=-PDXQes5i4JglBQj&t=411 ) and one as a game/exploration.

The first will be for tiny machine-generated programs linked together, which will be for a research project. The second is for an abstract physics game which will be for learning, fun, and hopefully some tiny profit on Steam. (Will appear here https://store.steampowered.com/search/?publisher=My64K when playable)

In, both I am adding severe constraints to the VP design but the game one will be the most interesting. I'm looking to add a kind of cellular automata mediated physics that also provides gradual automated optimization. Think programming in Minecraft with Redstone but with multiple dimensions and a regular polygon substrate. The key ideas I am exploring in both are:

1) Can we design a substrate that enforces some order that solves the tangle problem?

2) Within a substrate, can an algorithm be "crystalized" or "folded" into something recognisable by its shape?

I am starting next week. I have six months off work. It should be fun.
This doesn’t happen in terminal or even GUI Emacs; how on earth are you using Vim to make this an issue?
Russia has always been the answer to the moon hoaxes. (Also, you can see the retro reflection tags left there).
oh no why did you hijack scrolling?
Can't someone with physical access to my system also pull out the hard drive, edit it however they want, and change Secure Boot settings too? And I don't want there to be anything even root can't do, since then there's stuff I can't do to my own computer.
And even cis women notoriously feel shitty with that little hormones of either kind in their body.
I’m wrong. Fourth paragraph from the bottom, last sentence they say “normal resource limits.” I thought that meant “the limit of something called normal resources” not the normal amount of the resource’s limit. Probably because I was trying to find out the exact same question as OP and thought that was it when I read it. I wish articles explained names more specifically sometimes…
I agree. It would be a great start.
> Is this 'couldn't' a self imposed requirement or a technical one I can't think of ?

Probably not technical. There is another element, obtaining a HDD encryption key from the TPM. The idea that the HDD is encrypted outside of my laptop and nothing can boot on my laptop that isn't my signed OS to read it.

Thinking about it I probably could do everything in the kernel directly - why not? Well, because it would be extra work to write all that, but probably not a technical limitation.
They have not. And now not possible due to justified animal welfare concerns.

Hans-Peter Lipp and colleagues have studied domestic mice reared and maintained in a large outdoor pen. I could only find this reference:

https://pubmed.ncbi.nlm.nih.gov/21454292/
I have this app open right now, actually. It's honestly... okay. I wish I had something better installed. It gets the job done, but the UI leaves something to be desired. It's free though, so I can't complain. I use it to manage my local financial transaction database.
>how the brain performs reinforcement learning in high dimensional environments.
Spammers who just blast stuff out won't do it, I'm sure.

But as a counterpoint it literally happened to me to me years ago when I used to use name+<service>@exmaple.com. I got cold emails to 'name+paypal' despite never, ever having used that localpart. I've no doubt it was absolutely targetted and not a hit-and-hope spamblast but it was enough of a wake-up call for me to realise it couldn't really be relied on.
I've always loved Penn Jilette's account of attending a space shuttle launch:
https://web.archive.org/web/20221026023636/https://www.tumbl...
That's interesting. So if a study is counter intuitive to "common sense," it's the study that's wrong? Especially since they're talking about structural and functional neurological differences, whereas the "everyday common sense" differences you're gesturing at could be due to other things, so they aren't necessarily in contradiction.
Interesting, I'll give this a shot. I can't try the free tier.. this URL gives a 404 error: https://www.clockech.com/en/signup

404
This page could not be found.
> minimum wage. If you enjoy reading, but don't think they deserve even that amount, well...

I think they shouldn't be attached to that old business model in a world where self-publishing is possible.

I also think generous UBI should exist, but I guess that's another issue.
I take psych research with a grain of salt after witness people such as Dan Ariely. It's very easy to be like "oh this is 'soft' research" and create a bit of a study that is 90% interesting hypothesis and 10% evidence. They're all "Twilight Zone" style hypothesii where there's an ironic twist at the end. Such as drug dealers are the same as sumo wrestlers or presidents operate like toddlers, or whatever interesting irony or generalization strikes the public fancy for novelty. In this context, the term "nasty neighbors" feels like a marketing-hype type term.
I don't think it's off-topic at all!
You might find Curt Schimmel's UNIX Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers useful.
I don't think that's specific to industry though. A prolonged period of ultra-low interest rate environment followed by a rapid rate climb hurts all industries with financing needs.
The usual solution is to read the manual. The CLI is not an esoteric language. Software does complex things and you can either go with the GUI-fiction which...does things. Or have every options available to do what the software can do. Take find where the first line is the manual is: find - search for files in a directory hierarchy. Think however you want to find files inside a specific directory and find can do it for you and more. Most users will only have a few use cases for finding and that's what most GUI file explorers offer, but when you need that extra power, it's available to you.

The solution for your problem is to not do stuff you don't understand. And for the above use case, there's usually a GUI for it. The CLI stuff heavily assume that you know what you're doing.
That's for the case for MBR partition type, I really hope we moved to more modern alternatives
I think you should have a free level at the very least, not just a 2 week trial but something someone can use forever if they are small enough. I wouldn't go through the trouble of trying it unless I knew I could leave it up indefinitely if I liked it, but not necessarily enough to pay for it.
How do people work with jujutsu and hacks/secrets? Having no staging feels like a disaster magnet to me where things that should never be published have a chance to be saved and distributed by accident. I consistently have some temporary workarounds / scripts / credentials / logs hanging around my repos while I work on things. I think I'd have to change my approaches significantly to use this safely.
Seems like a precedent for the Conch Republic https://en.m.wikipedia.org/wiki/Conch_Republic
what would be ideal from my point of view for check boxes, dropdowns, and labels would be if they were a simultaneous alternative view of a command line, or rather a configuration line. an additional simultaneous view would provide a live preview of the result of that line. but you could still type and copy and paste the text

interestingly this is not too far from my usual experience with the command line. i want to compile a target, so i type `make ` and hit tab twice. i see a list of targets and pick one by typing a letter or three and tab, and hit enter. the compiler errors out right away with a c99 construct, so i add `-k` to the command line (^p spc - k ret) to see how widespread the carnage is. it's everywhere, so i add a compiler flag to the options and try again. and in 30 seconds i have a working build. or maybe i need to use a different compiler, or something, but it's easy to return to the fresh unpacked tarball or git checkout

this is close to the opposite extreme from what you describe in

> You just changed something. Didn't fix the problem. But the change still happened. Can you undo it? Probably not without way more digging.

i very rarely do anything in text mode that is in any way hard to undo. shell commands are mostly purely ephemeral: their only effect is some text on your screen, an entry in your history file, and maybe an output file. if i want to change one, i hit ^p and change it before hitting enter. as for configuration changes, i would say that change management is actually the major strength of the text approach: you can copy configuration lines into your notes, comment out old versions in case you want to go back to them, check the whole configuration into git, diff it to see what all has changed, etc. everything can be undone in exactly the same way. everything is a controlled experiment, with the computer itself recording the configuration of each trial automatically and implicitly

admittedly there are occasional exceptions, like when you're reconfiguring the firewall or upgrading debian to a new release. though current configuration-as-code systems like docker and ansible go a long way to making all that stuff just as recoverable. the server went catatonic? too bad, revert the firewall rule change and reinstall it, and 45 seconds later the problem is fixed

by contrast, it's almost never obvious how to undo clicking on a command button or a menu item. even a dropdown selection is hard to undo: you have to remember what was previously selected

but yeah having to read the manual and slowly piece together a working command or configuration file is definitely worse than having every option documented in the place where you choose it
making your article force a tiny, fixed, unchangeable font size seems like a good way to convince people that you should be nowhere near text rendering infrastructure
This is a lovely write up, but oh boy... when I see:

> Finally, I proposed that the future of font shaping and drawing/ painting will involve a fully-programmable paradigm.

> Two tongue-in-cheek mis-uses of the HarfBuzz Wasm shaper appeared recently: the Bad Apple font, and llama.ttf. Check them out!

See... the thing about solving problems is that, eventually you realize that any kind of problem can be solved by simply making a platform that can execute arbitrary code.

...and you see it again and again.

Declarative compile definition in make? Why not just make it code and use cmake?

Declarative infra in terraform? Why not just make it code and use pulumi?

Declarative ui? Why not just make it code and use javascript?

Database that holds data? Why not just use stored procedures and do it in code?

The list just goes on and on, and every time you have to roll back to a few important questions:

- Is the domain so complicated you really need arbitrary code execution?

- Are you inventing a new programming language for it?

- How will people program and test for the target?

- How will you manage the security sandbox around it?

It's just such a persuasive idea; can't figure out how to deal with the complexity in configuration? Make it code and push the problem to the user instead!

Sometimes it makes sense. Sometimes it works out.

To be fair, I get it, yes, font layouts are harder than they look, and yes, using WASM as a target solves some of those issues, but I look at llama.ttf and I really have to pause and go...

...really? Does my font need to be able to implement a LLM?

I don't really think it does.

...and even if the problem is really so complex that rendering glyphs requires arbitrary code (I'm not convinced, but I can see the argument), I think you should be doing this in shaders, which already exist, already have a security sandbox and already have an ecosystem of tooling around it.

I think inventing a new programmable font thing is basically inventing a new less functional form of shaders, and it's a decision that everyone involved will come to regret...
That simulator hits home. The discouragement and anguish was real.

I finished my Ph.D. in 6 years rather than the usual 4 1/2 because ideas just didn't work out. My topic was much harder than those of my peers.

That said, I felt the 2 extra years I spent made me a much more solid researcher in my narrow field, because I spent more time learning and relearning the foundations of my craft.

I relate to what Winston Churchill said about being a dunce at school (who later become a incomparable wartime orator distinguished by his use of simple English):

"By being so long in the lowest form I gained an immense advantage over the cleverer boys... I got into my bones the essential structure of the ordinary British sentence–which is a noble thing. Naturally I am biased in favor of boys learning English; I would make them all learn English: and then I would let the clever ones learn Latin as an honor, and Greek as a treat."
That doesn't sound exactly correct per the definitions I'm familiar with -- a multi-engine plane with a failure will not safely climb at V1, that's what V2 defines (the speed at which an engine-out aircraft can climb at 200ft/s, with at least 35ft of altitude at the end of the runway).
Vr should be when the pilot begins rotation unless an engine is out; I don't believe there's any guidance to wait until V2.
I receive the physical "newspaper," but typically consume the content through the audio version, about 8-9 hours every week. Pretty good value for $100-150/year!
Well, great, now I’m going to have that stuck in my head.
Exactly.

Every lab usually has a few “I’ll bet it’ll work but I don’t have time to find out” projects.

But that’s actually a big part of doing independent research - using your time the most efficiently, so students need to get to the point where they have a dozen or so paths and they plan out the next year or two thinking about the best way to tackle them and “fail fast”.
If bait-and-switch were our strategy, we would have chosen a different license from the beginning. The Apache license allows everyone to fork FerretDB away and do whatever they like with it. It is unlike MongoDB with their initial AGPL that, in theory, allows everyone to, say, run MongoDB SaaS, but in practice, has enough strings attached to scare people off.

We want to have a piece of a bigger pie, not a bigger piece of an existing pie. Providing alternatives makes the whole market bigger.

> Also check you managed service links on GitHub, half are dead.

Thank you.
While this is just a blog article, which is fine, I think the intended audience isn't sold on being told to run a couple of commands and install a mystery binary. (especially for those not already familiar with the Rust ecosystem and package manager)

The actual project website is here: https://martinvonz.github.io/jj/latest/

The repo is https://github.com/martinvonz/jj

Note: the project author is a Googler, and it appears to be under the umbrella of Google/Alphabet, as a CLA is required: https://martinvonz.github.io/jj/latest/contributing/
Anyone have time to dig in and say what tricks its using most?
JPEG does entropy encoding.
As you might know windows is kind of cheating with the "instant boot" by creating an hibernate snapshot of the OS before login.

Otherwise, I while I would not describe the boot process of most of the linux I own as "instant" they are certainly booting quite faster that windows.
I can't remember the last time I used a laptop without Home/End keys.

Among them are a Dell from 2002, an IBM from 2006, another Dell from 2018, and a Lenovo from 2019.

...and here's one from 2024 that still does: https://www.storagereview.com/wp-content/uploads/2024/04/Sto...
No, because the secure boot settings are in flash and also the firmware measures the secure boot policy when booting so TPM-backed secrets will be inaccessible if someone modifies the variable store directly.

As a device owner you have the option to recompile your kernel to disable any of the root/kernel barriers - when we designed Shim we did so in a way that ensures that you're always able to disable secure boot. Or you can simply disable secure boot entirely (another feature offered by Shim) at which point the kernel will disable most of those features. But by default the kernel will still, for example, refuse to allow even root to mmap() address regions belonging to hardware - some of those restrictions are down to "This has a high risk of causing accidental data corruption" rather than anything nefarious.
I'm sure someone great at math could come up with a function. Although I'd think it's more to do with the popularity and amount of times a work is consumed, while accounting for people consuming it for free.
I regularly download the python source code, compile it with standard prod optimizations, then install to /use/local/python${version}. This works extremely consistently since python 3.7 (released in 2018). In my experience, these commands are so stable and consistent they could be automated away. What might the author's issue or underlying protest be?
This is a very nice article, thank you for the kind words.
Casey's a fundamentalist, in the religious extremist sense. Just as a theologian might have something to learn from the most extremely devout, so it is that there is valuable information in Casey's proselytizing.

But you should no more follow Casey in form and function than you would any other fundamentalist.
I agree, just look at the reams of rubbish on LinkedIn , people trying to get attention as an example
the cli is just as much of a fiction, just fiction with a different focus

i agree that reading the manual is helpful, but doing stuff you don't understand is necessary to come to understand it, so i don't think it's good advice to avoid it. using the cli for simple things builds the skills you can use for more complex things. the same is true of a gui

(of course there are clis and guis incapable of doing complex things, and those are kind of a dead end)
Just from an energy perspective, I'm pretty sure HFT uses many orders of magnitude less energy than bitcoin mining.
DataGrip is less free and has a pretty good UI.

I primarily use DBeaver, it is meh...
> 24-bit audio is obviously a noticeable improvement

Audio quality is famous for having an extremely strong placebo effect. Unless you did the test double blinded, your anecdote has a good chance of being wrong.
Can you target buckets at different providers, such as syncing from AWS to Backblaze (assuming S3 compatible target)?