skysight-inc/HackerNews huggingface dataset:
I recently had a small project to proxy through cloudfront, using our main TLD/SDL and route53, any website we were asked to proxy. I think it took me at most 3 days to automate that (counting the discussion, demand definition, and demos), and now we're able to proxy websites like that (who are created by partners or subcontractors) in minutes. 3 man-day is basically free for any company that use AWS or any public cloud imho, and that would help a lot.
> But that it took 20 fucking years to correct while the broken software continued to be used is just indescribable, and absolutely not the fault of any software but the result of human choices

100% agree. Managers who were in charge of these choices should be convicted.
Yep. Adding "-C target-cpu=native" to rustc on my desktop computer consistently gets a ~10-15% performance boost compared to the default target. The default target is extremely conservative. As far as I can tell, it doesn't take advantage of any CPU features added in the last 20 years. (The k8 came out in 2003.)
Everywhere the company showed their Modula-2 development system people started making inquires about the mouse and its availability as a separate item, Logitech scrambled to put together a developers kit for DOS and started to offer the mouse for sale

Brilliant. It's very important to notice early enough that the clients prefer buying not exactly what you're selling...
I think it might be worth starting with pure mechanical simple goods, and working from there?

E.g. Specialised bbq tongs might be an easier entry point, allow you to build up the machinery, drills, laser cutters, mould injection equipment, etc.
Putting the electronics aspect aside for now will mean you can get things to market now, rather than that extra level of design, QC, legislation etc.

0-to-toaster is a big jump, and we wouldn't attempt a monolithic deliverable like that in software-dev...
Don't get your hopes up, the behavior when lo > hi is explicitly undefined.
My first (and only) serious compiler had such nested functions, though without stack frames. Instead my VM had two stacks: one for function arguments and locals, and the other for return addresses, same as Forth.

I had no stack frame at all. Instead, the compiler kept track of the stack offset of every accessible local (relative to the top of stack). That way the implementation of my nested function was kind of trivial: there were no difference between true locals like `x` and locals from an outer scope like `s`, except of course for the possibility of shadowing.

One reason this was not special is that internally, it was nested scopes all the way down: there was one scope per local variable, so merely declaring two variables already means dealing with nested scopes. Once that was out of the way adding nesting functions was really easy (I believe it added less than 20 lines to my compiler).

Nowadays I think I would use a single stack instead, but if my language is simple enough I’ll probably skip the frame pointer and just keep track of offsets like I did this first time.
I miss the days where you could upgrade your laptop. I had a dell back in 2010, that I updated its ram and wifi card. Which gave me a budget to update my home wifi also with an extended drive. So the money I would of spent on a new laptop I ended upgrading my home network and speeding up my laptop. True freedom to do what you want with your tech.
Is Google Getting Worse? A Longitudinal Investigation of SEO Spam in Search [pdf]
I was originally from Belarus, but as you mention - I am indeed in Zürich for some years.

Still, I can assure you, 99% of people in Belarus do work on x86, and cutting edge x86 hardware is being sold freely. Technological sanctions failed many years ago and at some point I will need to write an article about that...
A nice little read! Fun to have a short trip through history, there.

I'm a little disappointed that it didn't talk about passwordless logins, at all, though. I'm thinking of implementing one, and I was hoping this would give me some food for thought! Ah well.
If the price is not readily available, you're not going to like it.
I have definitely thought about it. It wasn't my "dream", if there's such a thing any more when it comes to careers, and I didn't even study it in school. I always say I fell into software, which is true. But I have also considered doing things with software that make me happy in a way that I could make a living from it. I haven't come across something yet, but I have a few ideas in mind that could work with a lot of initial work.
In a couple decades I had to verify my bank once with PayPal
I believe diff support between container images is being worked on as well.

edit: there's a link in that document to https://github.com/containers/image/pull/902
Having worked in healthcare for 10 years, I have to say it hardly even matters how an AI doctor performs or acts, for most people it will be the only option soon.

Odds are you don't even see a GP anymore in the United States, you see a Nurse Practitioner who then potentially forwards your information to the doctor. Most visits your doctor spends less than 5 minutes on you.

This assumes you even have a GP already, since most are booked out 3 months or more for new patients. Reality is, the AI doctor you CAN visit is better than no visit at all.
it's unclear whether this comment is describing the extreme opposite of the truth out of ignorance or for satirical purposes
Researchers have merged nonlinear optics with electron microscopy
Alcohol poisoning was and is quite rare. Plenty of long term health issues from drinking and smoking, but we don’t consider diseases from shared needles as an overdose either.

~140,000 people die from excessive alcohol use in the U.S. each year, only ~2,000 of those are alcohol poisoning.
I think it's not that black and white. Clearly they made a choice to be backwards compatible. Not because Java Threads have a nice API (not even close) but because a lot of legacy code that will never be changed uses it. Including all the ugly bits that you shouldn't be using. Like a lot of the low level synchronization primitives that date back to the early days of Java. It's an impressive bit of work but they made some compromises to make things work. A new API would have been easier, would have had less overhead, and be nicer to use. But backwards compatibility with legacy code was a big goal.

It mostly works fine and it's an impressive bit of engineering. But it has some really ugly failure modes in combination with hacky legacy code designed for real threads. So, you can't blindly assume things to just work. Hence the deadlocks.

Many Java servers already work the way you outline. It's just that they are a bit tedious to use with the traditional Java frameworks. Which is one reason I like using Spring's webflux with Kotlin instead. Just way nicer when it's all exposed via co-routines.
Yea this is fair. Nobody has found a more reliable proxy at scale is what I should have said.
I submit that the existing packaging mosaic covers the requirements (almost) totally.

Just need to incentivi$e the proper ninja(s) to merge the functionality into One True package.

Whether or not that is a native python, or C-port of all this Rust goodness, or the Rust binary will be a sticky wicket.
I kinda wish PEP-621 had gone more down the pyproject route that poetry took, their version looks so much cleaner and more readable at a glance than the PEP-621 version.
https://www.kitchenandbathclassics.com/eco-friendly/advanced...

> A DWHR unit consists of copper pipe tightly wound around a vertical section of copper drainpipe. As water flows down the drainpipe, it clings to the inside surface of the drainpipe. The heat from the drain water is transferred through the copper drainpipe to fresh cold water flowing in the outer copper coil.

> The warmed water is then sent either to the hot water tank or other permitted end-use. In either case, the amount of energy needed to provide hot water is reduced. DWHR systems provide greater potential for energy savings as the number of simultaneous flows increases.

The Home Depot version: https://www.homedepot.com/p/Power-Pipe-3-in-x-48-in-Drain-Wa...

You wouldn't necessarily need this on every waste water egress. In my house, I've got one shower egress route that it would make sense on. The kitchen (I don't have a dish washer) doesn't run hot water for long enough for it to be reasonable - nor the 2nd floor bathroom with just a toilet and sink.

(edit)

There are spots where (in my house for example), this could be more useful. For example, that 2nd floor bathroom I've looked at a tankless water heater for the sink (so that I don't have to pull hot water from far away and then could simplify to only need to run cold water). Capturing the hot water there and returning the heat there there may make some sense... though for just a sink that would be a long ROI time.
I've got ~15 years of software development under my belt. And I've also experienced a 2ish year stint where I was exposed to a lot of structural engineering.

The structural engineers take a piece of steel out into the desert and they dump sand on it until it collapses. Then they divide whatever weight the sand was by 3 and write it down into a book which is then published for all the other structural engineers. This type of steel with this type of configuration with this length can hold up to this much weight.

Meanwhile, in software engineering the limiting factor that prevents collapse is often "these sets of constraints and requirements are too complicated for the team to keep track of in their heads in this messy codebase". Not only do we not have a way to test this and publish the results, it's not even obvious what exactly you're even trying to measure.

[Cyclomatic complexity isn't very well correlated to defects (iirc lines of code is better correlated). Design patterns, best practices, and code smells are all just poetry that we use to story tell our ways out of blame. And Weyuker's 9 Properties are at best a waste of time. There is currently no way to measure bad code that fails under load until it does so in production.]
> Ctrl+C

...and to try and avoid this being perpetuated as it always seems to: ctrl-c is NOT the identical to escape. Notably is doesn't trigger InsertLeave which means a handful of plugins won't trigger.

I think your advice can be summed up to: Remap esc to something more convenient. My capslock key is tap for escape and hold for ctrl. I use jk for escaping insert mode because why would I want to be a "victim" who has to stretch their pinky even one key when my fingers are always going to rest on JK? ;)
If regulations say you gotta run the route, and ridership maxes out at a dozen-ish...well, a bus is cheaper & easier to run than an actual train.
I was thinking about that, but matmul is so too hardware specific (cache sizes, and the like), and I'm not confident I can get an implementation that can get close to max performance.
Could you elaborate on your concern? My understanding of how most biometric auth works is that it functions a lot like passwords in that your features get translated into a non-reversible hash that should be meaningless to any other biometric auth system.
This is why the idea of the public using hydrogen cars is kind of crazy.
It has been a huge pain trying to get SDL2 to play nicely with Android / iOS. Would winit / wgpu make this easier?
This is a great example of how Hacker News comment section preferences do not represent the general population’s preferences.

If you’ve ever worked in purchasing or IT, you see how much people who travel or move around value thin, small, and light notebooks.

If you’ve used modern thin, light notebooks, you’ve seen how little it matters for performance and battery life. A modern Apple laptop is tiny and performs extremely well.

Upgradeable RAM is a very niche demand. If your goals are simultaneously to keep a machine forever while minimizing upfront cost, then compromising form to make RAM upgradeable is a reasonable decision. However, most people just want an all-new laptop come upgrade time because CPUs and GPUs are advancing rapidly. People who know they’re going to keep the laptop forever will spend an extra couple hundred on RAM up front.

I think HN has also lost sight of how the average laptop user operates. Even I had an 8GB RAM secondary Apple laptop for testing and it worked completely fine for a mix of day to day tasks and coding. I wasn’t going to be doing Chromium compiles in the background while cycling through 100 background tabs in Chrome, but for even moderate usage with Chrome and Electron apps and an IDE it was fine.

> I had a Panasonic CF-Y5 which was a 14" 1.5kg laptop and yet it included a DVD burner. It was not thin for sure. This thin craze is only making worse laptops because you have no space for cooling, ports and keyboard travel.

I suspect a lot of these perspectives are anchored to past realities: Laptops from 5-10 years ago where carrying a jumbo laptop did actually have significant advantages. Times have changed and all of the anecdotes from ancient laptops or even 2010-era laptops just don’t apply.
A podcast about everything that happens after `Git push`
(GitLab Team member here) You can learn more about the disclosure from GitLab, the security releases made and the recommended actions at https://about.gitlab.com/releases/2024/01/11/critical-securi...
Making a cheap toaster for the masses is a difficult business today. Making a luxury product for a smaller audience is still feasible. I have a $300 Balmuda toaster that is honestly very good (it’s a steam oven). Previously I had a Breville toaster oven that was big enough to handle 80% of my oven tasks, but didn’t toast bread all that well. Tovala and Joule make fancy toaster ovens.
> I would love to see any rigorously documented causation or even correlation between police budgets and crime rates.

Here's a bit of what we do have.

https://www.nytimes.com/2021/11/08/us/police-crime.html

https://abcnews.go.com/US/crimes-rise-battles-rage-police-fu...
We are going way over the top with 2FA.

Why do I need to activate mandatory 2FA in services like GitHub repositories for hobby projects? It's a lot of extra effort for a questionable security improvement, and anyway, if someone impersonates me there, it's not the end of the world. If they care about end users (which my projects mostly don't even have) mark me as "unverified" or something, but let me avoid the hassle.

And in more serious services, like banking... since there is no such thing about 100% security (and in particular 2FA is far from it, e.g. if your phone is stolen with the banking app open, you're screwed), actually the most important thing is that the bank responds and can refund the money if fraud is committed, which it inevitably will for some percentage of unlucky customers. I view 2FA as a way to pass responsability to the customer ("we have very secure systems, so if someone transferred $X out of your account it's surely your fault"). Personally, I feel safer with less security and the bank worrying about fraud than the other way around, so I don't think they're protecting me when they implement this kind of stuff.
>it was never an experience that held me up long enought to think twice about

The pain is when you're doing more complex stuff than creating a local virtualenv with some basic deps though.
Best use for capslock in my book is tap for escape, hold for ctrl.
So if I read your article and then write a new using just the facts in your article it’s fine? Why can’t an AI do that?
Wouldn't it be just as safe if it was possible to print out a backup key?
Curious what you use for backend. Is this just a wrapper over existing models or did you need to finetune open models to achieve this?
It's short term because you will filter out intelligent and experienced candidates simply because they have happened to not use <x> extensively in their career. It's short term because such a candidate will have used a plethora of other things and would likely come in with a fresh perspective given their experience. It just might take them slightly longer to ramp up on the language and its associated tooling and ecosystem.
But caps lock is remapped to control already! :)
Nations don't get rich by plundering other nations
It is definitely possible. But it is not always trivial to know which solution you need without the advice of a lawyer. Lawyers use templates a lot, but they also know which templates work in which scenarios and in which jurisdictions.

Personally I'd be more comfortable using templates on my own for generic business documents, and less comfortable using them for areas of the law that vary greatly by state, like landlord/tenant law, or employment law.
I once found a pastebin with a log containing the error message that I was getting.

This log also had a user id. I took a long shot, googled the id and emailed the person. It turned out they had found the fix, it was in a recent dev build of a library.
> Seems like stretch to say there is a cause, not just correlation.

A better take might be that they reliably happen together.
No, but I done something more stupid. I had it help me write a command to delete Woocommerce/Wordpress users from my site which were older than 1 year and who had never ordered before.

It deleted tens of thousands of active users who had placed orders. I had a backup which was only a couple of hours old, thank the lord.

Lesson learned.
In vimium I use vim navigation for scrolling around, / for search, and a bunch of tab actions that aren't vim accurate but vim inspired.

In mpv I use gg/G to getting to the beginning/end of a file.

Many terminal file managers use vim binds or idioms (such as x for delete, marks, etc).
Ask HN: Where's All the P2P?
Everyone is talking about how everything online is too becoming too centralized and closed off all the time.. I'm seeing lots of "self hosted"* projects, but almost nothing seems to truly invite user-participation when it comes to hosting.

Remember filetopia, kazaa and napster?

When you used it, your computer became part of it. Why can't we have this with non-piracy oriented services?

Why is peertube a collection of disconnected, hosted instances, rather than something every user is actively participating in hosting?

I'd much rather see a peer-tube client prorgam that I run on my computer and say "here's 100G I contribute to the network, go use that for whatever is needed" than a number of slow, weakly connected "instances".

With such fast computers, so much storage and so plentiful bandwith, it seems almost insane to me that the Internet is still mostly a bunch of privately-owned webservers in datacenters, rather than the fabric of a truly user-hosted and user-run network.

[*] Where self-hosted means "pay a cloud provider to host it for you.
I think the important bit here is: a Linux scheduler written "during Christmas break, just for fun", is better that the current one.
it might be the developer sense of "fun", it might be rust, but it is impressive, notheless
That is exactly what I meant, thank you. That said, I would like to know the differences in those implementation details as to why it outperforms the default scheduler.
if your outer function f called a function 'quicksort' which called a function 'partition' which called your nested function 'compare', how did 'compare' get access to the variables of f from its statically enclosing scope? how did it know how many locals 'quicksort' and 'partition' had pushed onto the operand stack?
Just turn on Passkeys on GitHub, then you don't need 2FA/TOTP. It's also faster.
"I ended up writing a Linux scheduler in Rust using sched-ext during Christmas break, just for fun. I'm pretty shocked to see that it doesn't just work, but it can even outperform the default Linux scheduler (EEVDF) with certain workloads (i.e., gaming)." — Andrea Righi

I think that pretty clearly summarizes the entire reason for doing this and the excitement that it works and works well.
What Are Magic Links and How to Use Them
Yeah, assuming that my biometric auth is relatively strong, stays on my device, and is a device-specific hashed representation I have a hard time finding fault. I believe most modern phone's biometrics fit that criteria.
> It’s not you. Nobody is hiring.

Such a simple statement, but it does help. Thanks. :)
>I always see people complaining about Python packaging, but rarely run into issues myself. Maybe it's an OS issue? I use Linux.

No, it's a "what you do with it issue". Not necessarily about the mere "number of dependencies" used, when e.g. someone just makes some conda env and is fine with it.

Things like relocating, provisioning, reproducibility, version updating, cross platform, etc, all have their issues, and it gets worse when you need to build your own packages.
To be clear, this doesn't mean this scheduler itself runs faster.
It means that the scheduler algorithm is better suited for gaming workloads, allocating your hardware more effectively.

Of course, if the scheduler ran much slower so your CPU spends more time on the scheduler than time saved through better resource allocation, then it wouldn't help performance. But that's hopefully not a major factor here.
I suppose that a hard limit on the number of carrier threads is a sensible choice then - deadlock is better than creating threads until the system grinds to a halt.

But then again, why couldn't scheduler detect a deadlock? Go has a system in place that, in case of total program deadlock, prints out an error message with all goroutines' stack traces, and stops the program. Perhaps Virtual Thread Scheduler could do the same thing?

But then again, Java also allows for native threads to run in parallel to Virtual Threads, which makes it impossible to detect whether there's a deadlock, and not just virtual threads waiting on a native thread.

I suppose this is a very good example why simple is better than complex.
Elon Musk demands another payday from Tesla
I have 743 login credentials (1984-present).

Trusting 743 “randos on the internet” to safeguard “my” data, and give me access to use it.

Insanity.

Agent-Centric systems where I retain signing keys to authorize access to (and transactions using my) data are the way forward.

A Key Fob (like you have for your car) is not onerous, and methods for recovery using trusted community members is practical.

Holochain (and the Holo project) are good examples of working implementations.
Well it's not just about Rust. What we have here is pluggable schedulers leveraging the BPF functionality within the linux kernel. They can be written in watever language you like and they are running in the user space.
Having programmed in both for years, I respectfully disagree.
Apple pay when available is about as low friction as you can get. I know it isnt available to everyone but there should be some similar standard that is. Near seamless.
Python/Django and Elixir/Phoenix are both excellent. Which of these 2 is preferable should be, IMO, dependent on where you are in the development process.

Personally, if I was joining a team with a mature codebase, a decent auth system already built, and UI for for of the relevant models, I would prefer Elixir/Phoenix because I like and believe in pragmatic Functional Programming and the potential for concurrency and scalability built into the BEAM runtime. Phoenix LiveView really is amazing.

In your case, though, you’re talking about building an MVP, and Django’s model, auth, and admin layers are top-notch and integrate effortlessly. Outside of core Django, there’s an ecosystem of third-party packages for virtually everything you might possibly need.

Whichever route you go, for an MVP I highly recommend skipping the JSON API coupled with an SPA (React, Vue, etc.) approach. Use Phoenix with LiveView or Django with either htmx (preferred, see it over at https://htmx.org) or Hotwire (https://hotwired.dev).