MurphyA/hacker-news huggingface dataset:
by alabastervlog | 2025-05-04 18:33:54+00:00
I kinda bailed on being optimistic/enthusiastic about the Web when xhtml wasn't adopted as the way forward.

It was such a huge improvement. For some reason rather than just tolerating old tag-soup mess while forging the way for a brighter future, we went "nah, let's embrace the mess". WTF.

It was so cool to be able to apply XML tools to the Web and have it actually work. Like getting a big present for Christmas. That was promptly thrown in a dumpster.
by bigstrat2003 | 2025-05-04 18:34:04+00:00
> Cobain was a good songwriter in the rock and roll tradition.

He wasn't even that. He was a pretty bad songwriter. His music was by and large mopey, plodding monotonous work that is dreary to listen to. Apart from Smells Like Teen Spirit, I don't think he wrote a single song worth listening to.
by DocTomoe | 2025-05-04 18:34:06+00:00
From the other side of the pond, when your chieftain wonders aloud again why the Europeans don't buy your beef, or your chicken, or now your pork: This here, is the reason.

We like our beef clean, our chickens unchlorinated, and our pigs without heavily experimental GMO modification, thank you very much.

Not because we are anti-science. Because the US has a horrible track record when it comes to how far you can go with caveat emptor.
by neuroelectron | 2025-05-04 18:34:13+00:00
Love this and the way everything is mapped out and explained simply really opens up the opportunity for trying new things, and where you can do that effectively.

For instance, why not use whole words as tokens? Make a "robot" with a limited "robot dialect." Yes, no capacity for new words or rare words, but you could modify the training data and input data to translate those words into the existing vocabulary. Now you have a much smaller mapping that's literally robot-like and kind of gives the user an expectation of what kind of answers the robot can answer well, like C-3PO.
by refulgentis | 2025-05-04 18:35:03+00:00
I'm curious, in this example, what does MiddlewareResult::Next do?

use feather::{App, AppContext, MiddlewareResult,Request, Response}; fn main() { let mut app = App::new(); app.get("/",|_req: &mut Request, res: &mut Response, _ctx: &mut AppContext| { res.send_text("Hello, world!"); MiddlewareResult::Next }); app.listen("127.0.0.1:3000"); }

Given my lack of experience, I'm sure it's needed, it's just unclear to me what purpose it would serve in a server app.
by rekenaut | 2025-05-04 18:35:29+00:00
OnShape is great (we have been using it exclusively for a project over the past four months, the collaboration tools are phenomenal), but FreeCAD has made some fantastic progress over the past year. Some of the underlying technology problems have solved, and the UX has improved a lot with 1.0. The customization and scripting opportunities are also wonderful with FreeCAD. That said, if you’re coming over from Solidworks/NX/Inventor, as much as there are buggy parts of those, FreeCAD still has extremely frustrating workflows and buggy parts that you have to work around. It feels like it’s moving closer to Blender-like quality, but it still has a long road ahead of it.
by whatnow37373 | 2025-05-04 18:35:55+00:00
Populism and democracy are orthogonal. Usually populists just ride democracy as a vehicle to where they really want to go.

If The People selected you as their Chosen Leader, who needs pesky Elites in the courts and the Corrupt bureaucrats holding you back, the Chosen One? All opposition to what The People want is elitist gatekeeping and needs to be violently eradicated.
by wint3rmute | 2025-05-04 18:36:30+00:00
This is especially true for newcomers, but async Rust has significant mental overhead. You quickly run into things like the Pin marker, Tokio runtime, complex compiler errors related to ownership, basically each "normal" component of the language get some additional complexity due to async.

If you're new to Rust and you want to "just make a web app", the view at the async Rust landscape could be a turnoff for novices. I speak from experience, having started a couple Rust projects in Python/C++ teams. After writing in Rust for 3+ years I can navigate async contepts without troubles, but for someone coming from the usual popular languages (Python/C#/Java/C++), there are simply too many new things to learn when jumping straight into an async Rust codebase.

IMO this framework is going in a good direction, assuming that it will only be used for small/educational projects.

For the async Rust landscape, things are improving every year, IMO we're around 5-10 years until we get tooling which will feel intuitive to complete newcomers.
by LeonM | 2025-05-04 18:37:11+00:00
I use Google Workspace for my personal domain. It does support a catch-all, and as a nice perk you get more storage for your drive compared to a free Gmail/Google account. You can even add more domains for free, because you pay per user/inbox. So as long as you let all your domains forward/catch-all into one inbox, you only pay the €6,50/mo, or whatever it is in your part of the world.

Lock-in is not so much of a problem I'd say, you can export your entire inbox, that's possible with both Google and Outlook that I am aware of.

Just about any email service will offer IMAP, Google included. So you don't have to use the Gmail client if you don't like it, you can install any email agent of choice.

Don't try to self-host e-mail. It's not worth the headache.
by wyclif | 2025-05-04 18:38:08+00:00
FWIW, I'm a huge fan of both John Lee Hooker and Jimmy Reed, who had similar vamp-based playing styles and were untutored, couldn't read music, &c. One of my guitar teachers knew Hooker and he even imparted "the secret of the guitar" to him, which he then passed down to me.

But yeah, feel, instinct, and having good ears can carry you a long way especially for solo artists. I'm still glad I can read music and wouldn't trade that for (almost) anything, though.
by srhtftw | 2025-05-04 18:38:11+00:00
> This post’s title is a little cheeky. Brian Eno does not have an explicit theory of democracy that I know of, although he is visibly and emphatically committed to its practice. But Eno’s arguments about the arts tell us important things about how democracy ought work, and what kinds of democratic stability and variety we ought aspire to.

So... clickbait.
Show HN: Rescribos – AI-powered knowledge management for information analysis
by rescribos | 2025-05-04 18:38:50+00:00
Hi HN! I built Rescribos to solve a problem I faced daily: drowning in valuable information while struggling to extract meaningful insights and connections. As someone who needs to stay on top of complex, rapidly-evolving information, I found traditional knowledge management tools lacking in their ability to help me actually understand and use the knowledge I was collecting. Rescribos is different because it transforms how we process and analyze information by:

- Using AI to automatically categorize content into thematic sections

- Creating intelligent subtopic clusters that reveal connections between related information

- Generating multi-tiered summaries (from detailed analysis to executive overviews)

- Identifying multi-order implications across domains (short, medium, and long-term)

- Providing actionable recommendations based on analyzed content

The tool grew out of a personal script I wrote to analyze weekly AI research papers. What started as a simple parser evolved into a sophisticated knowledge management system that now helps teams process large volumes of information more effectively than traditional methods.

You can see an example of Rescribos in action through our sample report and read more about our approach to AI-powered knowledge management in our whitepaper. whitepaper: https://rescribosbrief.s3.us-east-2.amazonaws.com/Rescribos_... sample report: https://rescribos.com/sample-report

I'd particularly value feedback from knowledge workers, researchers, and teams who manage complex information flows. What are your biggest challenges in knowledge management, and how could a tool like Rescribos help?
by dadkins | 2025-05-04 18:41:51+00:00
Yup, this is how stuff ends up getting lost and delayed, even if the crews on either side are competent and efficient. Most people can't fill up an 18-wheeler, so some bin packing has to take place for the long haul.

I've done a couple of cross-country moves with a full house and had fairly good luck -- North American Van Lines if anyone is interested -- and by far the best experience was when my stuff was last into the truck making the long distance trip. It was delivered a few days later by the same truck and driver. Nothing was lost or broken. There was no chance to screw things up with intermediate transfers to depots.
by tczMUFlmoNk | 2025-05-04 18:42:53+00:00
The fact that a request can happily get a mutable reference to a shared context felt suspicious to me, so I ran a quick test, and it seems like the whole server is single-threaded:

$ cat src/main.rs use feather::{App, AppContext, MiddlewareResult, Request, Response}; use std::{thread, time}; fn main() { let mut app = App::new(); app.get( "/", |_req: &mut Request, res: &mut Response, _ctx: &mut AppContext| { res.send_text("Hello, world!\n"); thread::sleep(time::Duration::from_secs(2)); MiddlewareResult::Next }, ); app.listen("127.0.0.1:3000"); } $ cargo run -q & [1] 119407 Feather Listening on : http://127.0.0.1:3000 $ curl localhost:3000 & curl localhost:3000 & time wait -n && time wait -n [2] 119435 [3] 119436 Hello, world! [2]- Done curl localhost:3000 real 2.008s Hello, world! [3]+ Done curl localhost:3000 real 2.001s

That is: when the request handler takes 2 seconds, and you fire two requests simultaneously, one of them returns in 2 seconds, but the other one takes 4 seconds, because it has to wait for the first request to finish before it can begin.

It feels like this has to be the behavior from the API, because if two threads run `ctx.get_mut_state::<T>()` to get a `&mut T` reference to the same state value, only one of those references is allowed to be live at once.

It doesn't quite seem fair to call this "designed for Rust’s performance and safety". One of the main goals of Rust is to facilitate safe concurrency. But this library just throws any hope of concurrency away altogether.
by duskwuff | 2025-05-04 18:43:50+00:00
Like a number of other service businesses with reputation problems - plumbers, locksmiths, garage door technicians (no, really) - it's a service which customers only need very infrequently, and where the customer is typically under pressure to choose a vendor quickly when they need service. There's very little repeat business; as such, there's not a lot of pressure against dishonest or substandard vendors.
by Sesse__ | 2025-05-04 18:43:52+00:00
I find Clang generally a bit too eager to combine loads. This is especially bad when returning structs through the stack; you typically write them piecemeal in some function, return, and then the caller often wants to copy it from the stack into somewhere else, which it does with SIMD loads/stores.

This is a significant problem on AMD; Intel and Apple seems to be better.
by Retric | 2025-05-04 18:43:54+00:00
Nope, I’m saying you need to pick a consistent method.

A) If you want move a plow, you can grow some oats/grass/whatever to feed some horses then use those horses, or using the same land for oats/wood/whatever and burn in an early tractor, or use oil. Nobody in 1900 was getting 20 people to pull a plow. All of those methods are turning some amount of chemical energy to produce useful work. As such looking into the chemical energy in food vs oil makes some sense though sunlight vs oil is a better comparison as tractors are burning a far more expensive product not crude oil.

B) Alternatively, you can look at the amount of useful work from a barrel of oil after all losses and compare that to the work done by a horse or person after all losses. But again suddenly oil doesn’t look so hot.

What you tried to do is compare the energy content of oil with some amount of useful work which is a silly comparison.
by holowoodman | 2025-05-04 18:44:29+00:00
I admit that "kids" is a bit imprecise and can lead to misunderstandings. But that is just not important to this discussion.

And the exact definition of the anesthesia given to most infants before 1987: A paralytic. Nothing else.

If you feel adventurous, have your family doctor give you a paralytic and then push a sterile needle under your fingernail. Then tell me the exact definition of sufficient anesthesia in that case ;)
by lelanthran | 2025-05-04 18:44:48+00:00
> It would literally be many thousands of times slower(or worse) than doing it locally where the templates can be in memory as you render the pre-render the pages.

Yeah, it's not. I'm doing client side includes and the includes get cached by the browser. I'm sure I would have noticed if my pages went from 1s to display to 1000s to display.

If you have a site/webapp with (say) twenty pages, that's only two extra requests for both header and footer.
by kbolino | 2025-05-04 18:46:09+00:00
No, this is directly relevant to the comparison, especially since the original context of this discussion is about how Windows portable apps are no bigger than their locally installed counterparts.

A typical Linux package manager provides applications and libraries. It is very common for a single package install with yum/dnf, apt, pacman, etc. to pull in dozens of dependencies, many of which are shared with other applications. Whereas, a single package install on Windows through winget almost never pulls in any other packages. This is because Windows applications are almost always distributed in self-contained format; the aforementioned MSVCRT is a notable exception, though it's typically bundled as part of the installer.

So yes, Windows has a package manager, and it's great for what it does, but it's very different from a Linux package manager in practice. The distinction doesn't really matter to end users, but it does to developers, and it has a direct effect on package sizes. I don't think this situation is going to change much even as winget matures. Linux distributions carefully manage their packages, while Microsoft doesn't (and probably shouldn't).
by tptacek | 2025-05-04 18:46:11+00:00
There's a whole thing here where people are trying to axiomatically reconstruct Cobain's guitar playing, but he famously shoplifted riffs from other acts. I don't mean that as a dunk, any more than I would talk down J Dilla. But I feel like the process he used to construct memorable hooks might not be too hard to reverse engineer. The band's most famous hook comes from Boston, for crying out loud.
by soared | 2025-05-04 18:46:24+00:00
> an AI startup that helps students apply to study abroad programs

That product requires working 7 days a week? And it somehow is AI powered?

This has to be a joke.

> he thinks schedules should be broken into smaller increments of work and rest, with intense working sessions followed by naps, instead of waiting for weekends to catch a breath.

Oh - This is just reddit-incel brain polyphasic sleep nonsense “Einstein slept 4 hours a day with micronaps, so my employees will do the same”.
by wkat4242 | 2025-05-04 18:47:12+00:00
I use Fusion 360. Free for hobbyists. Yeah it's quirky and they constantly screw the free plan out of features (e.g. less saved editable designs, having to use the cloud to export STL) but it is also a highly capable tool that aligned best with the stuff I already knew.

Not entirely sure if it's available for Linux.

I probably shouldn't use autodesk but I'm not trying to make the world a better place. Just to unleash my creativity.
by johnfn | 2025-05-04 18:47:25+00:00
It is an ad hominem. "you shouldn't be turning into a script-kiddy" is guilt by association, see Wikipedia[1] or ask AI[2]. If you think that learning from AI is dangerous you should articulate why you think that. I find it neither "well-known" or "obvious".

[1]: https://en.wikipedia.org/wiki/Ad_hominem#Guilt_by_associatio... [2]: https://chatgpt.com/share/6817b741-8a80-800c-8d5d-1b315806dd...
by bombela | 2025-05-04 18:48:18+00:00
For my hobby projects I hardware debounce with a single tiny capacitor.

The MCU already has schmitt trigger inputs (handles hysteresis). And it also has a high value pull up resistor. The tiny capacitor from input to ground complete the low pass filter.

When you press the button, it quickly empties the capacitor to ground. Because it is so tiny, combined with the intrinsics parasitic resistance, this is a small enough EMI for hobby work.

The MCU input will register the state change right away, the pull up resistor will slowly recharge the capacitor (we talking a few dozen of milliseconds here). The schmitt trigger will handle the transition cleanly.

Nothing to do in code. Interrupts just work as expected without anything special. I think it's worth it.
by Qwuke | 2025-05-04 18:48:21+00:00
Yes, if you want a mature web framework that doesn't force you to use async then Rocket already exists, which is multithreaded and quite performant - and now allows you to use async if you want to.

Feather seems fundamentally single threaded and requires more boilerplate for something pretty simple. So I'm not sure the claim about developer experience holds up to scrutiny here either.
by NorwegianDude | 2025-05-04 18:49:31+00:00
Well, that very much depends on your definition of slow, doesn't it?

An additional request is another round trip. That can be very slow. Average TTFB on the internet in the US is ~0.7 seconds.

It's much faster to send it as part of the same request as you then don't have to wait for the browser to discover it, request it, wait for the response and then add it.

A build process does not have to be complicated, at all. If you can write HTML then using something that can simply read the HTML includes you wish existed and swap it with the specified filename is trivial.

Ofc, the idea has many other issues, like how to handle dependencies of the included HTML, how to handle conflicts, what oath to use and many more.
by iwanttocomment | 2025-05-04 18:50:01+00:00
I took a trip in a Cruise before they shut down. It was around twice the time it should have taken due to avoidance of legal left turns (leading to a genuinely strange route) and bizarre and jarring sudden braking and acceleration. There was a large plexiglas shield between the passenger and "driver" area, preventing air conditioning from reaching the passenger compartment, and it was hot - it was like riding in a taxi with broken AC. It was a strange and unsettling ride.

I've also ridden in a Waymo, and apart from the strangely small amount of clearance into the rear passenger compartment (I am tall), the ride was smooth and refined.

I'm willing to give Cruise some sort of pass on the San Francisco issue - a body hit by another vehicle had been suddenly thrown into the path of the Cruise at close range, a terrible and confusing situation for any human or automated driver - but based on my experience, they did not generally have things worked out in a commercial fashion and needed to hit pause until they did.
by Retric | 2025-05-04 18:50:23+00:00
> because they can leverage the potential energy in oil to replace human labor

Nope, what’s being replaced is animal feed used for animal labor. People didn’t pull a plow by hand and then suddenly swap to tractors.

For thousands of years farmers used sunlight > animal feed > domesticated animals, there’s nothing special about oil here.

Track the in oil energy for a tractor vs the sunlight to grow plants to feed a pair of horses and the tractor is using wildly less energy per year to get vastly more done. You can even make it more obvious by using solar panels in the same fields feeding horses 100 years ago to charge an electric tractor. Oil is cheap, but not necessary there was even wood and coal burning tractors in the early days.

PS: Horses can apparently digest the cellulose in sawdust from several types of trees. It’s unhealthy in large quantities but kind of an interesting fact.
by no_wizard | 2025-05-04 18:51:09+00:00
I always thought 3D printing would make multi widget machine[0] manufacturing possible

While it’s done a lot of cool stuff and enabled rapid prototyping etc it never scaled the way I really thought it would

[0]: there may be a better turn for this however this is what I mean: that is one machine that can output a wide variety of different things using the same common material, IE maybe one day it produces ball bearings and the next it could produce a bunch of car pistons, with only having to make minimal changes to the machine itself if not changing anything at all
by pxoe | 2025-05-04 18:51:27+00:00
In a context of "converting youtube into mp3", "technically not the best format" is an understatement for what most likely is "conversion" of 128 kbps aac or opus into "320 kbps" mp3s (or whatever random bitrate). The least one could do is just listen to the aac/m4a or opus files without converting them yet another time.
by florilegiumson | 2025-05-04 18:51:39+00:00
Really cool project. I love the animations that go with the songs.

I’d go through all of the chord progressions and make sure they actually match what is being played. There are quite a few errors. Happens to everyone.

Also, you and everyone else should remember that while the band is mostly playing power chords and omitting the fifths, what Cobain sings is part of the chord as it’s heard. This means that, for example, a lot of songs do sound major, Smells like teen spirit is probably in F minor.

I find determining key in popular music to be tricky. Most progressions consist of something like 4 chords, and there isn’t the teleology you see in something like Tin Pan Alley or Chopin to give the sense of where one is to arrive. Even the Axis of Awesome progression can be heard a major or minor depending on how you end the song.
by seltzered_ | 2025-05-04 18:52:35+00:00
I've been a newbie too and tried to use FreeCAD as others mentioned but I found myself enjoying build123d (basically a python library that uses an long-existing technology called OpenCascade and a viewer called OCPViewer generally used within visual studio code).

The learning curve is still there, but I felt more empowered to adjust/share 3d printing designs made in it over dealing with quirks of GUI-based CAD applications. The discord community on there is rather helpful too.

https://build123d.readthedocs.io/

https://github.com/bernhard-42/vscode-ocp-cad-viewer

I'll still use FreeCAD on occasion as a secondary viewer for stl files, though my hope is to use build123d entirely including for describing joints as well.
Show HN: 100.st – Dev utilities I built for format conversions and encoding
by abdelbkk | 2025-05-04 18:53:29+00:00
I built this because I needed one place for all my dev tasks. Handles JSON/YAML/XML conversions, UUID gen, case transforms, and encoding tools. Built with Next.js/Chakra UI frontend, NGINX on a vps, Cloudflare for dns and cache. All client-side processing for privacy. What tools should I add next?

Andrei
by TranquilMarmot | 2025-05-04 18:54:40+00:00
I don't think any business goal of anywhere I've worked for the past 10 years has been "put text on a screen". It's usually more like, "interactive application that can view and manage complex data representations in intuitive ways". Charts, forms, graphs, error validation, nested tables, consistent styling, nice animations are all vital components that are much much easier with a modern web tech stack.
by EA-3167 | 2025-05-04 18:56:34+00:00
This article reminds me of another I read first here, 'Reality Has A Surprising Amount of Detail' by John Salvatier. At first blush 3D printing seems easy, but especially with smaller parts that might go through many duty cycles it's anything but. I'm going to have to do more than skim this, I think this one is worth multiple reads over many days to really absorb the densely packed information.

Thanks to the author for being willing to put so much of their hard-earned experience into a resource for the rest of us.