MurphyA/hacker-news huggingface dataset:
by jgrahamc | 2025-04-10 14:36:25+00:00
It's great to read a recollection by someone from the UK of a similar age to me. I remember the Jupiter Ace very well and was so interested in Forth that I got the Acornsoft Forth ROM for my BBC Micro. I too made money selling software (and writing magazine articles---mostly about the Research Machines 380Z/480Z).

I think the biggest difference between then and now is the sense of discovery. I spent an enormous amount of time just discovering everything I could about computers and the machines I had access to. Everything from circuit diagrams to compilers. I don't think there's the same level of discovery now because so much else is available. In some ways, a lot of what we could do with a computer was understand the computer itself because other stuff (like games or programs to buy and run) was relatively difficult to get.
by 9rx | 2025-04-10 14:37:06+00:00
> Depends what you mean by, "Best choice in front of you"

Meaning that after you've weighed all the tradeoffs, you determine one of the available choices is your best option. Making tradeoffs was already spoken to. I don't think that is a foreign concept to the HN crowd, is it? Engineering is all about managing tradeoffs.

> Nearly every grocery store should have things like tofu, lentil, beans, etc easily available.

None of them are perfectly equivalent to the burger, thus tradeoffs have to be made if you choose tofu over a burger. If satiation is your only goal, then it may not matter, but most people don't eat in that kind of vacuum. They will have a long list of properties they want to fulfill with their food, with no food item perfectly satisfying all of them, hence the need to determine what one is willing to give up.

> Voting for a candidate in a 2 party system is not comparable, as there is literally not another viable choice in most cases.

I guess I don't see how your math is mathing. In my world, 2 implies that you have at least two choices (you could argue that not voting, spoiling the ballot, etc. are also choices, but we can ignore them for now). That means one of the choices you can deem as the best choice.
by EncomLab | 2025-04-10 14:38:04+00:00
The generations in my family are full of people who had dementia/Alzheimer's/auto-immune disorders. They all had anxiety, and they all had sleep disorders - I'm certain there is a connection among it all.

I joined a Stanford study and had a spinal tap sample submitted for testing - in theory I am "unlikely" to develop anything for the next 20 years - but that only gets me to my late 60's :(
by virtualritz | 2025-04-10 14:38:50+00:00
Last time I checked this didn't do operations involving multiplications in linear space, i.e. any convolution or downscale operation would create wrong results.

Everything was done in 8-bit/channel non-linear. It uses the 'image' crate's `ImageRgb8` type under the hood. As such I would also be surprised if did anything faster than the 'image' crate/its companion crate 'imageproc' (for the same operations, resp.).

I think the 'image' crate may have fixed some of the non-linear issues in the meantime (but not sure). But 'photon-rs' on crates.io wasn't updated in two years and depends on 'image' v0.23.12 which does e.g. resizing in the input space, AFAIR.

Also this crate confuses what is a color model with a what is a color space. Some of the supported "color spaces" are color models, some are indeed spaces. E.g. RGB is a model, as is HSV or HSL.

While there are the 'colstodian' (1), 'kolor' (2) and recently the new (and very good looking) 'color' (3) crates to abstract the color space aspect nicely, the list of reverse dependencies on crates.io lays the issue bare (1: zero, 2: one when not counting colstodian and 3: a few but none of them dealing with image processing AFAIK).

The ecosystem of Rust crates that get these things right is small because few people understand the signal processing math and color science.

At the same time there are disproportional many crates that do some sort of image processing (as many people want to write/enjoy writing such a crate, it seems -- possibly theirs being "faster" or their API being "better" than everyone else's).

To wrap up the bitching about the 'photon-rs' crate: it's name has an -rs suffix about which the official Rust API guidelines [3] have this to say:

"Crate names should not use -rs or -rust as a suffix or prefix. Every crate is Rust! It serves no purpose to remind users of this constantly."

And its getters start with `get_`, also a no-no in Rust, if you care about [3] (which you should, official naming guidelines are one of the reasons that make the Rust ecosystem a lot more "wholesome").

And now for some good stuff:

If you want to see some really fast image processing in Rust that has built-in support to get the above things right, check e.g. the 'libblur' [1] or 'pic-scale' [2] crates, by the same author.

They allow doing operations in non-linear space but they warn users about it and/or explicitly mention & provide avenues of doing the right thing easily, i.e. in doing everything in linear space (even when input & output is e.g. 8bit/channel sRGB).

[1] https://crates.io/crates/libblur

[2] https://crates.io/crates/pic-scale

[3] https://rust-lang.github.io/api-guidelines/naming.html

Edit: footnote numbering.
by wpietri | 2025-04-10 14:38:54+00:00
The dissonance I'm pointing out is that killing and eating some otherwise-equivalent animals is either fine or horrific purely depending on what you're used to.

Just running with Americans here, because that's what I'm most familiar with, but Americans are happy to eat burgers and would be horrified to eat dog. They are also happy to eat burgers but would generally be horrified by the killing of the cow. This is not because there's any major difference between cattle and dogs; they're both cute, sociable mammals that raise adorable young. This isn't a rational position, and Americans who think at all about it experience cognitive dissonance.
by Workaccount2 | 2025-04-10 14:39:02+00:00
This is so key to understand because it illuminates how not every job is equal in raw value.

You cannot have a drying rack manufacturer in the US that pays a bunch of workers $35/hr. There simply is not enough value in drying racks to achieve this.

This is what is lost on the populist crowd. They compare themselves to high value workers (i.e. workers that produce a lot of raw economic value per hour), and then want to legislate that low value work pays on the same order.

To put that into simple terms, they want to make it so that producing a single $20 bill per hours pays them $30 an hour. No matter what, that isn't going to work out well.
by maeln | 2025-04-10 14:39:37+00:00
> Free speech is a about whether a society values and protects free speech or not.

That is a recursive and meaningless definition. Free speech is widely understood, and codified, as being able to say stuff without having the government send you to jail for it. That is a pretty basic requirement for a functional democracy. Altough, depending on where you live, even free speech does not mean fully free. In the U.S it is mostly limited by libel/defamation, but in a lot of country hate speech is not allowed. Whether you think it is a good thing or not that is up to you, but this is actual free speech.
by zigcBenx | 2025-04-10 14:39:41+00:00
Currently there is quite a lot of noise regarding AI replacing developers, most of which is coming from people who are not technical and think they got super powers with the rise of AI assistants - which in a way is true.

However the point of programmers is not just writing code (some might disagree) but rather problem evaluating and problem solving.

Sometimes the goal of programmer/developer/Software engineer is not to develop a feature that superior has given, but rather to figure out the source of the problem and how to solve it in the most optimal way. Sometimes that means suggesting that nothing is developed, but only processes are altered.

Regarding using AI as assistants and helpers when programming, I agree they can be helpful, but it depends on a problem, person and assistant you are using.

I can speak only for my self, and I can say I hate copilot or other alternative constantly suggesting me lines of code, I find this not only annoying but also very distracting.

On the other hand I really enjoy discussing specific problem with AI, because sometime it can suggests different approach I would have never thought of.

But this cases are really personal preferences.

As it goes for beginners, who are still learning the basic concepts of programming I would highly recommend NOT to use AI, because your foundations will be very poor, and you will struggle to grow as a developer. There is nothing wrong to ask ChatGPT about an error that you can't resolve your self, but asking him to write you code instead of you is not a good idea for beginner.

I don't see programming careers going anywhere anytime soon, if that is something you would like to hear :D
by chriswarbo | 2025-04-10 14:39:49+00:00
I think it could be done in a backwards-compatible way, since existing hashes fit a known pattern; e.g. (silly example) store paths using SHA512 could be distinguished using prefix like 'sha512_'. One problem would be cache misses and duplication of files.

I'm not completely up to date on Git's hash situation, but it seems to me like SHA256 is usable; but only for new repos. I imagine lots of existing infrastructure assumes SHA1 hashes though, and would break for silly reasons like different lengths.

Relatedly, Nix has a new feature called `git-hashing` which can use Git tree hashes to validate fixed-output derivations, rather than requiring two separate hashes; e.g. the following `fetchTreeFromGitHub` function uses a single `tree` argument for a Git tree ID, rather than needing separate `rev` and `hash` arguments:

{ owner, repo, tree }: (pkgs.fetchFromGitHub { inherit owner repo; rev = tree; hash = builtins.convertHash { hash = tree; hashAlgo = "sha1"; toHashFormat = "sri"; }; }).overrideAttrs (_: { outputHashMode = "git"; })

Unfortunately, this git-hashing functionality only works for SHA1; so it's a good example of the infrastructure around Git not allowing us to move away from SHA1!
by KPGv2 | 2025-04-10 14:39:52+00:00
If this tickles your pickle, there's a beautiful, large book put out by Taschen called Japan 1900 that you might want to check out! I have a copy and I love it. It just can't actually go on my coffee table since I have three kids under ten running around throwing juice and crumbs and handprints everywhere.

https://www.taschen.com/en/books/photography/41412/japan-190...
by _Algernon_ | 2025-04-10 14:39:55+00:00
You're talking about free speech in the narrow sense it is defined by the US first amendment to the constitution is. This is a pretty narrow definition, and people also use it in broader senses of the word. The UN Declaration on human rights[^1] writes the following for instance (making no limitation to governments):

>Everyone has the right to freedom of opinion and expression; this right includes freedom to hold opinions without interference and to seek, receive and impart information and ideas through any media and regardless of frontiers.

[1]: https://www.un.org/en/about-us/universal-declaration-of-huma...
by mmb | 2025-04-10 14:40:19+00:00
The posts are text only so the memory usage doesn't grow very fast. You can post images using Markdown but the images themselves have to be hosted elsewhere. I've created a few million posts on a development laptop and the memory usage was not bad (can't remember the exact number).

Right now there is no memory limit or handling for when memory reaches a certain point. Pruning based on FIFO or fewest replies could work, or OS level techniques to handle memory limitations like swap.

I will add some screenshots to the repo. Thanks for the suggestion.
by tetromino_ | 2025-04-10 14:40:43+00:00
50 lines in a single .cc source file which is only compiled once to produce the final artifact - sure, easy to handle.

Now consider that you are editing 50 lines of source for a tool which will then need to be executed on some particular platform to generate some parts of your project.

Now consider that you are editing 50 lines defining the structure and dependency graph of your project itself.
by Cieric | 2025-04-10 14:41:05+00:00
SpacetimeDB is open source[1], the open source version doesn't currently have all the features of maincloud, but most of those features are solely for scalability. I've done all of my work on my own local servers. I would even suggest paying for your own server up front until you're ready to scale out. I believe the 4 years is when the license changes to a more open license. And the scalability features on local are coming, they're just not here yet.

[1] https://github.com/ClockworkLabs/SpacetimeDB
by lihaoyi | 2025-04-10 14:41:07+00:00
A big problem with Bazel not mentioned here is the complexity. It's just really hard for many people to grasp, and adopting Bazel at the two places I worked was a ~10 person-year effort for the rollout with ongoing maintenance after. That's a lot of effort!

IMO Bazel has a lot of good ideas to it: hierarchical graph-based builds, pure hermetic build steps, and so on. Especially at the time, these were novel ideas. But in Bazel they are buried behind a sea of other concepts that may not be so critical: `query` vs `aquery` vs `cquery`, action-graph vs configured-action-graph vs target-graph, providers vs outputs, macro vs rule-impl, etc. Some of these are necessary for ultra-large-scale builds, some are compromises due to legacy, but for the vast majority of non-Google-scale companies there may be a better way.

I'm hoping the next generation of build tools can simplify things enough that you don't need a person-decade of engineering work to adopt it. My own OSS project Mill (https://mill-build.org/) is one attempt in that direction, by re-using ideas from functional and object-oriented programming that people are already familiar with to make build graphs easier to describe and work with. Maybe a new tool won't be able to support million-file monorepos with 10,000 active contributors, but I think for the vast majority of developers and teams that's not a problem at all.
by keddad | 2025-04-10 14:41:56+00:00
Seems like a non-issue to me. I work with a relatively large Bazel monorepo, and we have to vendor pretty much anything anyways. Many 3rd-party rules might need patches to work properly with our custom toolchains/rules.

Bzlmod sounds nice for small projects, but for big monorepos within organizations with established processes it is more of a hassle, and I imagine that most Bazel users are not using it for small projects.
by morkalork | 2025-04-10 14:42:21+00:00
Wasn't there supposed to be a smart watch out there you could set a window of time you wanted to wake up like "between 6:30 and 7:00" where it would use the sleep tracking to pick the optimal time to wake you up like at the end of a REM cycle? I feel like I must have hallucinated this because I'm wearing a smart watch (fitbit) now and no such feature exists.
by kd5bjo | 2025-04-10 14:42:27+00:00
I admit that I was unaware of that order, as I currently live overseas and don’t follow US news that closely.

However, the order opens with the line “By the authority vested in me as President by the Constitution and the laws of the United States of America,” and I know of no law or constitutional clause that grants the President the power to designate an official language.

I could easily be mistaken, as there are a lot of laws on the books and this isn’t my field of expertise. Usually, though, an executive order will cite the relevant authority so that everyone understands where the power comes from; this one doesn’t.

It’s also mostly symbolic, aside from rescinding a previous order— None of the executive agencies are directed to halt producing or processing non-English documents, for instance.
by smeej | 2025-04-10 14:43:15+00:00
This is the kind of thing I think about doing every so often, before realizing it would take me a lot more time, energy, and money than I'm willing to spend to save 10 minutes once a week manually copying my work events from GCal to Etar on my phone and vice versa, and both to the weekly dry erase calendar on my wall.

My recurring events are all blocked off on the calendars already ("private" for personal events on my work calendar), so it really is quite a quick update.
by A_D_E_P_T | 2025-04-10 14:43:27+00:00
My wife needs 8-9 hours, whereas I can get by just fine with 5-6. She is a very light sleeper who will wake up 3-4 times every night; I can sleep through almost any noise, and never get up in the middle of the night. My son takes after me -- he seems to need significantly less sleep than other kids his age, but he's an extraordinarily deep sleeper.

Anecdotal, but I think that sleep depth might have something to do with it.
by Sanzig | 2025-04-10 14:43:46+00:00
I'd also be curious about the detection range, even on a sunny day.

Stealth doesn't mean the aircraft is invisible to radar, it just means it has a very low radar cross section, so you can't detect it from very far away. Fly close enough to an air defense radar, it will reflect enough energy to show up, it's not a black hole. The point of stealth is to make it impractical and uneconomical to build an air defense system with a high enough density of expensive high performance radars to reliably detect the aircraft.
by 9rx | 2025-04-10 14:44:06+00:00
> This is not because there's any major difference between cattle and dogs

There is a major difference: Dogs have been deemed workers, thus eating them is seen as a threat to one's livelihood. Same reason Americans won't eat horses. You can't plow the fields tomorrow if you eat the horse tonight, so to speak. It has been an imperative that these animals be off limits for consumption. In other parts of the world where the working animals differ, they have no qualms about eating dogs and horses, but may not eat other animals.
by linkregister | 2025-04-10 14:44:44+00:00
Government officials are permitted to issue recommendations to private entities. Private entities are permitted to follow or disregard those recommendations. For an example presumably compatible with your world view, a government official recommending a private company remove their Diversity, Equity, and Inclusion (DEI) program; a company may choose to follow or disregard this advice.

If there is evidence of improper coersion by government employees, for example threatening to withhold public funding or permitting based on political views, that would likely be illegal and indeed should be handled by the judicial branch.
by anonfordays | 2025-04-10 14:44:49+00:00
This is an incredibly bad take. I can't think of a single hunter I've ran across that didn't talk about how peaceful, relaxing and enjoyable hunting is. I don't personally hunt, but all the big hunter personalities such as Joe Rogan, the Meateater crew, etc. constantly harp on the peacefulness of spending time in nature while hunting. My coworkers that hunt rarely talk/brag about what they shoot. Maybe they brag between themselves because the peacefulness and relaxation aspects are givens, everyone in the group understands that.
by giraffe_lady | 2025-04-10 14:45:03+00:00
Yes though iirc the author probed at that a bit and while not directly contradicting them points to this being more a matter of social cohesion, justified by that one specific policy when pressed in this instance. But others gave more prosaic answers about industry and employment.

Re the christian thing though, it was unsettling to read about their understanding of right relationship between humans and creation being essentially (and uncharitably) "god put us in charge of it to do what we want with it." Which is maybe a natural extension of historical european/north american christian doctrine on the subject but that still I had never really heard a contemporary christian state clearly and proudly like that. I'm also christian and it's pretty foreign to my tradition.
by eulenteufel | 2025-04-10 14:45:11+00:00
Another CalDav server I can recommend is Radicale. It's written in python and designed in a pretty modular way, enabling authentication and authorization (and more) plugins.

Data is saved in plain text files and I track/backup it using git.

Over the time I've accumulated some interesting modifications:

- Authentication runs with pam on the host system.

- To enable sharing of calendars I run a periodic script symlinking the calendars to all authorized users. Unfortunately this suffers from combinatiorial explosion.

- Using a rights plugin with custom CalDav Attributes and a modified web plugin I added support for access Control Lists.

- To enable public calendars you give read permissions to the `public` user using ACL. Then a nginx hack gives blanket acces for read operations:

location /public { proxy_pass http://127.0.0.1:{%RADICALE_PORT%}; include proxy_params; proxy_set_header Authorization "Basic {%RADICALE_PUBLIC_AUTH%}"; proxy_hide_header Authorization; add_header Access-Control-Allow-Origin * always; add_header Access-Control-Allow-Methods "GET, OPTIONS, PROPFIND"; add_header Access-Control-Allow-Headers "Depth"; limit_except GET OPTIONS PROPFIND { deny all; } }

These public calendars are can be viewed on a web calendar (https://gitlab.nomagic.uk/popi/js_calendar_from_ics)

I should probably write a blog post about the setup.
by rwmj | 2025-04-10 14:45:30+00:00
Steve Vickers was my university lecturer circa 1995. His course was legendarily difficult, in contrast to his lucid tutorials in both the Jupiter Ace and ZX81 manuals! The list of his papers on Wikipedia should give you a flavour of what the course was about: https://en.wikipedia.org/wiki/Steve_Vickers_(computer_scient...
by mhandley | 2025-04-10 14:45:32+00:00
I agree completely about that sense of discovery. No-one around me knew anything about computers and the information available was limited, but somehow figuring things out for myself was a key part of the attraction for me. And it served me very well as the foundation for a lifetime of research too. If you're passing through London and fancy a beer, look me up, and we can reminisce!
by KPGv2 | 2025-04-10 14:46:16+00:00
> this is now partially done by multinational corporations, wiping out local traditions.

And it used to be partially done by empires, wiping out local traditions. And powerful warlords would do it, too. Monarchs, etc. Hard to say Western Europe doesn't look the way it does in large part because of this multicontinental, millennia-old institution called the Catholic Church!
by dkarl | 2025-04-10 14:46:53+00:00
Speaking of "crummy," R. Crumb talked about an afternoon he spent driving around the suburbs in the 1980s taking pictures of houses, streets, and strip malls so he could draw realistic backgrounds for his comics.

> “People don’t draw it, all this crap, people don’t focus attention on it because it’s ugly, it’s bleak, it’s depressing,” he says, “The stuff is not created to be visually pleasing and you can’t remember exactly what it looks like. But, this is the world we live in; I wanted my work to reflect that, the background reality of urban life.”

https://time.com/3802766/r-crumbs-snapshots-source-material-...

I don't have a reference for it (it might be from the film "Crumb") but I remember him saying that people would rave about how he artistically exaggerated the proliferation of poles, signage, and overhead lines to create over-the-top dystopian images, when he was just copying backgrounds from photographs of suburban California.