skysight-inc/HackerNews huggingface dataset:
This should be read in the context of the next article (https://paulromer.net/environment-as-code/) for full understanding.

That said, I'm not a huge fan of the approach described. It's leaning a bit too much on Wittgenstein's Ladder for my taste, but more importantly it's putting concepts out of order. The article seems to dismiss virtual environments as more complex, but they really aren't that bad - they're honestly easier to work with than the approach the author discovered organically, of creating "real" environments by repeatedly reinstalling Python and setting up dependencies from a requirements.txt file. This glosses over the hard part of populating the requirements.txt file, while also not building the necessary conceptual framework to understand dependency graphs (and thus lockfiles).

I was especially bothered by the fact that this advises blindly moving a file around using the GUI without trying to understand the purpose of that file, and describing what Anaconda does as "taking over the system". While I'm sure that works, if students are in the position described then they should learn fundamental developer skills first. I.e.:

> There is a lot to learn when you are getting started. Try out virtual environments later, when you are ready. If you do not know how to edit a file, run a command from the terminal, and have pip install libraries from a requirements.txt file, you are not ready.

It takes mere minutes to learn these skills, and they should have been taught way before exposing the student to anything that actually justifies setting up Anaconda. There are countless interesting projects for students that don't require third-party libraries at all, let alone the SciPy stack (and even that installs just fine with Pip nowadays anyway).

It's also indefensible, IMO, to say:

> python3.11 and python3.12 are examples of major versions.

> python3.12.4 and python3.12.5 are minor versions.

While I understand the impetus ("Python 3 is the brand now"), this is simply incorrect, and incompatible with how every relevant extant piece of documentation uses the terms (including for tools like Pip that will immediately become relevant to the student).
This does seem to be a smart use of the tools available to skip the grind and get to the point of the leetcode questions.

However, I wonder about this: What will you do in a live interview situation? Will you pull up ChatGPT?
Thanks. I'll give it a try. Right now I probably need to fix my flooding basement and my mood first. I kinda don't want to do anything after work.
Show HN: Self Hosted Google Analytics Alternative – Litlyx
If you're a developer, you've probably spent some time searching for the right analytics tool. We did it too. Most people default to Google Analytics, but it’s not always the perfect fit, especially if you're concerned about setup complexity, privacy, having a constant support (as a small team) or customization.

Today we are presenting you Litlyx, an open-source alternative to Google Analytics designed to simplify your life as a developer.

Is completely self hostable.

We think Litlyx is the freshest analytics solution as 2024/2025 and beyond.

Everybody can use it from marketers, product people & developers. Give it a try!
NYC will build 600 new curbside EV chargers across city
My first thought is - how do you get the contact information for a closed office?

My current hack, which is not as great as yours, is to put a reminder on my calendar for a few days before my 1 year prescription ends. If I order new contacts in the one year period for another year’s worth of contacts (even if I am not out yet), I essentially get to go 2 years between visits. I will try your hack next if I can figure out a good way to get contact info for an office that won’t object.
A Java language cumulative feature rollup
Where someone works != where someone lives. If I work remotely for a SV firm, I don’t necessarily have to be paid SV wages. I’m proposing Manhattan restaurants should not be subsidized by taxpayers when they don’t pay a livable wage in order to make a profit. What I’ve said before is that profits should be capped to a reasonable amount if taxpayers are subsidizing a business to a reasonable degree through welfare benefits. That doesn’t require paying $43/hr unless the owners want uncapped profits.

To use your own turn of phrase, get some “actual skills” at creating a profitable business.
I do agree that documenting the why is way more important than the how/what. But having a short comment to summarize a block of code like:

// Parse the filename and remove the extension
let fext_re = Regex::new(r"(.\*)\.(.+)$").unwrap();
let page_cap = fext_re.captures(fname).unwrap();
let page_base_filename = page_cap.get(1).unwrap().as_str();

Is still useful. Instead of having to read the next few line of code, I already know what they are suppose to do and expect.
It makes discovery, later down the line, easier.
Open source is great! I use it all the time.

However, what I did not expect is how hard it is to get new open source to be used by people. You can have wonderful features but without a really large amount of marketing effort the pickup can be really slow. Unless you have help from the right influencers. And without traction it will either die or go in another direction, possibly close source/commercial.

What's also sad is the legal system can change, making the cost to entry for commercial use of software for small players much higher or risky. Some people will have worked for years on open source, possibly thinking it can be something they can do commercially after they retire for example, then governments bring out a law with a 15 million euro penalty if you are not compliant (Cyber Resilience Act).

I guess this is a big kudos to those whose persistence have made it succeed for them!
Everyone reading this should find out what capacitor they need and buy one off Amazon, they're all <$20.

I've done this repair myself, it takes maybe <15 minutes and is almost impossible to mess up. Even if you were find spending a couple hundred dollars to have someone come out and do it, you'd still go hours at least without AC. Which depending on the time of year can be miserable.
Power usage on these mini pcs is actually pretty decent.

I have a bunch of SFF computers (Dell 7060, HP 600 G4, etc) with i7-8700 or similar CPUs. They all idle around 12 watts.

Most of the mini pcs use the T version of the processors, which are usually 35w TDP.

Power usage will definitely be higher than an N100 (65W TDP vs 6W), but they're a lot more versatile since you're getting more than double the performance, 2-3x the threads, and an iGPU that can do things like transcoding for plex and accelerate ML models for Frigate/Scrypted.
Enterprise software is a different beast as the buying cycle and structure is a lot different. Selling into the enterprise requires a different go-to-market strategy. It's why you never see things like 'Superhuman' reach mainstream tech.
It's like other "arrow" digraphs in common programming languages today, such as =>. You can picture it as a triangle pointing to the right.

Many Programming Ligature fonts even often draw it that way. For instance it is shown under F# in the Fira Code README: https://github.com/tonsky/FiraCode
Is this the window manger that’s shipped with ps2 Linux?
It's a pet peeve of mine that most email clients want to put the calendar and email list view in places where, by default, you can see one at a time. (I think Outlook started it but I could be wrong)

If I am scheduling something I have a lot on my mind including the contents of the calendar and the email, possibly other emails, other things on the computer and other things that are just in my head. Seeing the calendar and the email simultaneously is the foundation for this. There are work-arounds but these are flawed in their own way. I hate opening multiple email windows in Outlook because if I do it seems Outlook is going to keep opening them forever every time I open Outlook.

Myself I use eM client as a front end for Fastmail.
> Personally I dislike Git, and haven't found a git UI I like, so throw whatever you want on there. I am not going to like it, but not because I want something else.

I might be a bit off topic here, but if you haven't tried Lazygit yet, I can't recommend it enough.
I was just pointing out specifically that there is no such thing as PCIe-based video - nor is there any need for that.

Support for USB4/Thunderbolt DP will proliferate, but there is still benefit to a DP altmode as it's free to implement (the host controller just wires its existing DP input lanes directly to the USB-C connector) and allows for super cheap passive adapters.

If USB-C ends up becoming the standard video connector as well, it will most likely be DP altmode as you then only need a cheap USB-C controller to negotiate the mode.

There isn't really any pressure to invent a new protocol. https://xkcd.com/927/
> having to dress your dog every time it goes below freezing :)

HAVE to? Dressing them up is one of my favorite parts.
"private", but the Australian government can access freely.
Check the project’s left nav, https://ibis-project.org/why

I didn’t know either. It’s a python dataframe library/api.
Auto-installing Perl dependencies with a simple command line flag
Why would there be no time and space just because there's only a single one point particle? The empty space around the particle would still exist. Why would there be no time? Time could still be moving forward even if the universe consisted only of a single particle.

Edit: Unless you're saying that the coordinates system is such that the universe literally consists only of that single particle and has no time dimension, in which case your thought experiment is inadequately specified because you need to say how the expansion of the universe happens such there is something for another particle to come into existance in.
'They handled me like a carcass ': why are so many men now 'manscaping'?
Very nice, will need to give it a try. For my use there is no difference wuth screen vs tmux except for attaching.

In rare cases I need to do odd things with screen, but that was on AIX and I think Linux. NetBSD no issues. Maybe that works better now.

One thing I do like, screen is a lighter in resource usage these days.
Catch 22: and if there is no air inside the box, then you are certain the cat is dead.
Do you even have to limit the exposed space?

It’s not going to write at twice the rate just because more space is available.
I notice that Screen has moved into EPEL, while tmux is in baseos for the RHEL family.

Is there anything compelling in the latest release?
my startup has a similar setup (elixir + postgres). we use aurora so we get automated failover. its more expensive but its just a cost of doing business.
we use Docusarus at work for our internal documentation sites and its okay. It gets the job done and it beats manually making a nice website for docs by hand
I've resolved to never give money to political campaigns because of the spam.
Delidding the new Pi 5 to find the 'dark silicon' [video]
Not only excess power draw, but excess heat, which then needs more power for the AC to cool the home
even vanilla is faster than dask on a single computer ... _OFFICIALLY_ ... cause dask is and only is for clusters
This is entirely too much bullshit to run an aircon, what the hell are we doing? A tablet should _never_ be required just to control the heating/cooling.
Why is that? There are many thinkable use cases for the API. Their revenue isnt limited to consumers.
Flies have demonstrated signs of consciousness so if that's supposed to be reassuring, it's not.
Apple News exists [0]. While the content is externally sourced at present, it certainly competes in that space.

[0] https://www.apple.com/apple-news/
Greenspan vs. Musk et al.
Same experience as you with HP Elitedesks. At work we used to use those for people doing regular office things. I have a few G2s (i5-6500) and they work flawlessly with Linux, including using my own secureboot keys.
Movie recap channels on YouTube are basically this already. They summarize a 90-180 minute movie into 15 minutes of silent clips and narration. Very popular, and plausibly done end-to-end by a bot within the next few years.

What's next is the bot writing the whole story and generating the visuals. For the cost of one actual movie, Slopflix could turn out thousands of recap style stories.
I have heard, and like, the theory that 'waveform collapse' due to 'observation' is due to entaglement. Specifically, the idea is that most of the world is quantum entangled, 'observation' then has the effect of entangling the observed particle with 'most of the world'. The 'waveform collapse' is then the result of this entaglement with everything causing the waveform to concentrate heavily.

Is this concept debunked by this paper, or could it be that 'destroys entanglement' actually means 'becomes entangled with almost everything else'?
Ask HN: How to launch a side product for a site hosted on Vercel
We have a site in a niche space that is going to be completely ready to launch by end of October. In the meantime we want to launch a side product to gauge interest and to build some basic brand recognition. The way we are planning to do this is by having a subdomain off of our regular domain, hosting this product there and have a "Coming Soon" page as the homepage of our regular site. I have 2 questions regarding this:

1. From a marketing/SEO perspective is this the correct way to go about it? What are some SEO considerations we should keep in mind with something like this? We don't want a situation in the future where our subdomain ends up being more popular than our regular domain.
2. How can we best do this through Vercel? As I understand it, projects on Vercel can only have one production domain. I can create another project and then link the same repository to it but that is causing its own set of problems. Is there a way to add a second production domain on Vercel or some other method that Vercel/Nextjs provides that we can use?
I would say the actual difficulty greatly varies. It is generally easy if you have a good guess about what the code would actually do. It would be much harder if you have nothing to guess, but usually you should have something to start with. Much like debugging, you need a detective mindset to be good at reverse engineering, and name mangling is a relatively easy obstacle to handle in this scale.

Let me give some concrete example from my old comment [1]. The full code in question was as follows, with only whitespaces added:

function smb(){
var a,b,c,d,e,h,l;
return t(function(m){
a=new aj;
b=document.createElement("ytd-player");
try{
document.body.prepend(b)
}catch(p){
return m.return(4)
}
c=function(){
b.parentElement&&b.parentElement.removeChild(b)
};
0<b.getElementsByTagName("div").length?
d=b.getElementsByTagName("div")[0]:
(d=document.createElement("div"),b.appendChild(d));
e=document.createElement("div");
d.appendChild(e);
h=document.createElement("video");
l=new Blob([new Uint8Array([/* snip */])],{type:"video/webm"});
h.src=lc(Mia(l));
h.ontimeupdate=function(){
c();
a.resolve(0)
};
e.appendChild(h);
h.classList.add("html5-main-video");
setTimeout(function(){
e.classList.add("ad-interrupting")
},200);
setTimeout(function(){
c();
a.resolve(1)
},5E3);
return m.return(a.promise)
})
}

Many local variables should be easy to reconstruct: b -> player, c -> removePlayer, d -> playerDiv1, e -> playerDiv2, h -> playerVideo, l -> blob (we don't know which blob it is yet though). We still don't know about non-local names including t, aj, lc, Mia and m, but we are reasonably sure that it builds some DOM tree that looks like `<ytd-player><div></div><div class="ad-interrupting"><video class="html5-main-video"></div></ytd-player>`. We can also infer that `removePlayer` would be some sort of a cleanup function, as it gets eventually called in any possible control flow visible here.

Given that `a.resolve` is the final function to be executed, even later than `removePlayer`, it will be some sort of "returning" function. You will need some information about how async functions are desugared to fully understand that (and also `m.return`), but such information is not strictly necessary here. In fact, you can safely ignore `lc` and `Mia` because it eventually sets `playerVideo.src` and we are not that interested in the exact contents here. (Actually, you will fall into a rabbit hole if you are going to dissect `Mia`. Better to assume first and verify later.)

And from there you can conclude that this function constructs a certain DOM tree, sets some class after 200 ms, and then "returns" 0 if the video "ticks" or 1 on timeout, giving my initial hypothesis. I then hardened my hypothesis by looking at the blob itself, which turned out to be a 3-second-long placeholder video and fits with the supposed timeout of 5 seconds. If it were something else, then I would look further to see what I might have missed.

[1] https://news.ycombinator.com/item?id=38346602
At that point it's easier to just get mini-splits for every major room in the house.
Happy to contribute to this amazing product...
Finally :)

I’m waiting for a year that we don’t have to push Escape twice in Vim/Neovim. Some mouse emulation was catching it.

https://savannah.gnu.org/bugs/?57748
https://superuser.com/questions/1675761/why-does-gnu-screen-...

I should write the developers a note with thanks :)
You don't need ARC to address a/v sync. HDMI has (optional) metadata somewhere (edid?) where the display device indicates its delay and the audio device can adjust accordingly. It's helpful if the display device has fixed delay for this feature to be most effective; it's fine if there's different modes with different delays and the current delay is communicated, but some modes have variable delay depending on content which is terrible in several ways.

IMHO, ARC is primarily useful when the display device is also acquiring the content: it's running the TV tuner or internet streaming or content off a usb drive. It's also useful if you have a 1080p capable receiver and upgrade to a 2160p(4k) display and sources: if you put the receiver in the middle, you lose on video quality, but with eARC the display can route full quality audio from all your sources. Some sources do have two HDMI outs, so you could wire to the display and the receiver, but that's not very common.
You are not wrong, but I also think there is another part at play here: Facebook started out quite open and then gradually became closed (just like reddit and twitter).

This is a new product, so they start out open and then slowly close down as they acquire marketshare.
ETA Prime has some advice on making a gaming machine out of cheap old PCs:

"You Can Build This Powerful Ultra Low Cost SteamOS 3 Gaming PC For Only $150"

https://www.youtube.com/watch?v=jFIgQ9zgXOk

Optiplex 7020 with a tower - not a "Small Form Factor."

"This Super Low Cost PC Runs SteamOS 3 Better Than The Steam Deck!"

https://www.youtube.com/watch?v=myye5o0y2Jw
If a prisoner refuses to do your work, what will you do to them?
"by failing to give away their product for free, this IP-licensing organization is really only losing in the end!"
Ted's objection is perfectly reasonable, and the way that Linux works and has always worked internally. If an internal (not userspace) API changes then code that uses that API has to be fixed. He also quite reasonably says that it'll take time to understand the trade-offs of encoding constraints into the type system.
What kind of software are developers building and do they have automation/CI for this? In my company we are mostly deploying web apps to Linux with devs using all of these laptops. If you have a wide range of development going on, then I'd suggest prioritizing the feasible ones.

Using https://github.com/bradwilson/ansible-dev-pc (public equivalent to ours), you can automate the setup of a Linux laptop or WSL2 environment under Windows. This covers a fair chunk of our dev team. Once you start thinking about making this work on macOS, it starts becoming quite a bit more work, but it's not terrible if management values the effort.

If you have people doing mobile and Windows desktop development in addition to Linux web apps, it starts to get much more complex. Maybe you can't offer a fully "pre-installed" laptop, but you can automate the time-consuming parts like a Visual Studio install.

From experience, you are going to encounter a lot of developers who struggle more than you expect with troubleshooting and automation of their work. This includes experienced devs. It seems to turn on interest and curiosity versus dev experience. It helps to create a checkpoint at onboarding where you make an effort to determine the best approach for them and know who accepts an automated happy path provided by you and who wants to handle things on their own (and perhaps fails). You can then report on the general pattern of issues to management and prioritize ways of improving your happy path build so they don't reject it.
I'm having a hard time getting past the assumption in the article that energy use is tied directly to GDP per capita and that by not following the 7% growth of the Henry Adams Curve we're somehow below where we should/could be as a country. That embeds so many assumptions about the economy and where GDP comes from, the decoupling seems more likely to be from the transition from manufacturing and other energy heavy sectors to more services based economic activity..
But when you look what all that C++ is doing in Base, it seems like it's basically LLVM and then a lot of code that's just there to help you write more C++ code. Not a whole lot of the FreeBSD Base userspace, the uilities and so on - is actually written in C++ despite that. It's getting a free ride because the compiler uses it.
Ask HN: What is the best way to use a URL shortener for my site?
Have an MVP for a particular use case that we're building and we expect to have it all done by around the end of the year. One service that we provide can allow users to share something to others. The way we are generating the link to share right now generates very long urls since we are storing some images on Firebase and when sharing a combination of those we are combining those urls to create a unique sharing link. Is there some smarter way we can use to shorten the links here?

If not, and we end up using a url shortening service, is the best way to self host our own service (we currently use mongoDB for our application and can theoretically do it) or to use an existing service? If existing service is ideal for us, some recommendations would be helpful.
The most common scenario I can think of is needing to login through a third-party gateway on a first-party site. This is now broken with mainstream browsers, and you need to find another way to do the same thing. I'm not sure what people are doing now, because you can't retain state.

I had my clients just enable it on the browser.
Apologizing to a program seems rather silly though. Do you apologize to your compiler when you have a typo in your code, and have to make it do all that work again?
I would definitely make the argument that Koalas function differently from us, also from observation, which is a perfectly fine thing to do.

You're so wound up in your theories that you're not making much sense to me.
Apple used a newer generation of Samsung's CPU used in the iPod to develop both the iPod Touch as well as the iPhone, both introduced in 2007.

That's also a reason why the iPhone was not designed around a more power-efficient SoC which combined the CPU and the cellular Modem into one package: The Modem was the add-on to the architecture which turned the iPod Touch into that exclusive Phone they built for AT&T.
The training data to create an LLM are as much a part of the LLM as the design notes and IDE use to create traditional software are a part of those projects.

They’re not required for it to be open sourced.
This is cool. I frequently have a need for this. I also would love if there were a site for low power PCs.
'Doomsday': why have salmon deserted Norway's rivers– and will they ever return?