skysight-inc/HackerNews huggingface dataset:
I have a rack in my basement with a combined 96 cores and 192gb of ram (proxmox cluster), and a 13900k/64gb desktop workstation for most dev work. I usually will offload workloads to those before leveraging one of these old laptops that is usually dead battery. If I need something for "browser tasks" (I am interpreting this as cross-browser testing?) I have dedicated VMs for that. For just browsing the web, my M2 is still king as it has zero fan, makes no noise, and will last for days without charging if you are just browsing the web or writing documentation.

I would rather have a ton of beefy compute that is remotely accessible and one single lightweight super portable laptop, personally.

I should probably donate these mac laptops to someone who is less fortunate. I would love to do that, actually.
This was circa 2004 or 2005, something around then.

20 year old memory, so about the only thing I am sure of is that it was an indie engineer hacking away at it. :-D
> That is simply impossible. You cannot fit multiple 16x PCI-Express cards in a laptop chassis

What does this have to do with compiling code?

Obviously, if someone needs x16 PCIe cards they aren’t in the market for a laptop anyway.

The only people comparing laptop versus desktop are those for whom both platforms can actually do what they need.
Argue it split or merged til the cows come home, that PM bonus should have been 10x as much recurring if that's what caused it to be. Hangouts was years ahead of its time in functionality to the user - I could SMS/MMS, call, IM and video/voice chat all from the same interface on web or app on any of my devices without a dependency on any of them. If the offering were still available today I'd go back in a heartbeat - it was glorious.

> lol, no. the only usecase for gvoice and the likes is to have a fixed phone number without a montly bill that you can use to make international phone calls for business. or to receive calls when abroad.

Please ignore assuming meaning of a term so you can laugh at me in response. It was actually quite handy to pass out VOIP numbers for interviews, sign up forms, and the like because they could never tie back to reaching me once I stopped the forwarding. I realize that is different than worrying about government actors tracking you via standard telephony but you should realize there is more than that specific interpretation of the term, especially when GP named the same use case I just mentioned.
Perhaps many people building code do not need multiple 16x PCI-Express cards in their day to day workflow, but like being able to move around with their laptop?
Mostly been drowned out by pharma, streaming-service and insurance ads. You can't market cigars on TV anymore and gen-Z doesn't drink that much. Once and a while you'll see a classy car commerical, but that's about it.
That seems like it might be a good thing. If we priced it in producers would need to find more water efficient ways to make the product to be able to be a viable participant in the market. If that means growing fruit in a desert isn't viable, so be it! Don't grow fruit in the desert!
The 2018 macbook pros weren't even using the best silicon of the time - they were in the middle of Intel's "14nm skylake again" period, and an AMD GPU from 2016.

I suspect one of the reasons why Apple silicon looks so good is the previous generations were at a dip of performance. Maybe they took the foot off the gas WRT updates as they knew the M series of chips was coming soon?
Yeah, I thought it was really cool! (am author)

It's pretty cool how it works, too: the OpenAI Assistant uses the LLM to take your human instructions like "how many builds is in the dataset?" and translate that into Python code which is run in a sandbox on OpenAI compute with access to the dataset you've uploaded.

Under the hood everything is just numpy, pandas and gnuplot, you're just using a human interface to a Python interpreter.

We've been building an AI feature into our product recently that behaves like this and it's crazy how good it can get. I've done a lot of data analysis in my past and using these tools blew me away, it's so much easier to jump into complex analysis without tedious setup.

And a tip I figured out halfway through: if you want to, you can ask the chat for an iPython notebook of it's calculations. So you can 'disable autopilot' and jump into manual if you ever want finer control over the analysis it runs. Pretty wild.
My personal research for iOS development, taking the cost into consideration, concluded:

- M2 Pro is nice, but the improvement over 10 core (8 perf cores) M1 Pro is not that large (136 vs 120 s in Xcode benchmark: https://github.com/devMEremenko/XcodeBenchmark)

- M3 Pro is nerfed (only 6 perf cores) to better distinguish and sell M3 Max, basically on par with M2 Pro

So, in the end, I got a slightly used 10 core M1 Pro and am very happy, having spent less than half of what the base M3 Pro would cost, and got 85% of its power (and also, considering that you generally need to have at least 33 to 50 % faster CPU to even notice the difference :)).
You should know about the override operator (<<:) too then.

develop:
- step
- env: custom
<<: \*build-test

Sorry for formatting, on phone.
Historically any time I try to rebase a branch with more than a few commits in it, it effectively fails unless I squash it because resolving all the conflicts for every commit would take me over an hour. Maybe this is just a 'many contributors' problem though, since our repo lands many large PRs each day.

(Merging has the same problem, so I squash frequently and then rebase.)
One thing that's not explicitly mentioned: append-only trees necessarily lack `parent` pointers.

This means that your "iterator" can't be a lightweight type, it has to contain an array of parent nodes to visit (again) later. You can use a fixed-size array if you can reason about the maximum height of the tree (for a balanced binary tree, this means around `2*POINTER_BITS`, which is 1024 bytes on a 64-bit platform; it will be less for a B-tree (`2*log(POINTER_MAX, CHILDREN_PER_NODE)`) but you now have to either track or re-scan for the index of the child you just returned from). Beware buffer overflow logic bugs if your tree isn't as balanced as you thought!
Japan has a strong culture of "don't rock the boat, be sure, very very sure if you accuse someone", and thus accusations are already sentences practically. Couple this with any kind of loyalty, and you immediately see that speaking up will get folks excommunicated (ronins, woah!)

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

So, probably they kept quiet on the first failed test, made it go away to save face, and then there was no going back.
I believe, a game would be more fun if, instead of nearing on one colour in several guesses, a player would guess once for several colours. Then one could really test their hex skills, not knowing the basics of search algorithms.
You're slightly wrong.

The performance is better than all but the super expensive performance halo parts... sometimes. Sometimes it's just better full stop.

As someone who despises macOS: get the mac.
you are quite correct - it becomes a plague when one is addressed to the exclusion of the other. As they say "don't run out of cash".
They "win" the war by accidentally kidnapping a scientist with a powerful new nuclear weapon. No actual fighting happens.

It's an excellent movie though.
is it just me, or do i feel that whatever workflow you are using greatly depends on what kind of product you are developing, and on what language you are using to develop it in? it might be useful if people stated both, here and elsewhere.
Soon we may even be able to put a website into a folder.
Might have something stuck in your profile that's causing that. Wiping your profile can usually fix that, even if you re-sync your preferences.
WFH is effectively work from anywhere. I can take a month long working vacation and save a vacation day by working on the airplane.

I'd be very annoyed if my work chained me to my home desk.
When you travel a fair bit for work or support WFH environments, I think it should cater for that, right?
ithkuil noted that the data may not support that assumption. Merely repeating the assumption is not a very persuasive reply, nor is it a very thoughtful one.
I.e., TFA is just FUD.
Yeah, my first reaction to this was "WTF, again?!". Then I noticed the date. Needs a (2021)
Yes, let us exclude tax scams and money laundering and address the real economy where things get made and real people get paid.
Chrome gives me the graph, and rich stock data. Firefox gives a minimum amount of data (vanilla install, no addons). See:

- https://ibb.co/gJQhTbK

- https://ibb.co/bJZ7JVR

I get the same behavior for the people queries like "Barack Obama". (Android 14, Pixel 4a)
Side note, I like the casual technical writing style used here, with the main points summarized along the way. Easily digestible and I can go back and get the details in the main text at any point if I want.
What do French artists, Wright Brothers and AI have in common?
It's just plain harder to reason about the history of a branch when there are a bunch of merge commits in it. Even if I'm not using bisect (I rarely do), having the 'git log' be polluted by merges makes it harder for me to fit everything into my head.

I also prefer to think about my branches as 'here is a stack of commits on top of a fixed point in time', so having merges in the middle of that flow makes it much harder to reason about that way. Rebasing to choose a new fixed point is much simpler.
Not everyone needs multiple 4090s to do their work. If you do, your options are limited.
> rebasing creates a cleaner, more understandable history & state of the world without the clutter of merge commits

"Cleaner", for some definition of "clean". In this case, pretty, not accurate.

I just can't understand the draw of rebase based workflows. It seems to be an expression of a preference for aesthetics over accuracy. What is the point of source control, other than to reliably capture what actually happened in history? As soon as you start rewriting that, you compromise the main purpose.

Using merge commits preserves what you actually committed. If you ran tests before you committed, rewriting that commit invalidates that testing. If you need to go back and discover where a problem was introduced or what actually happened, with certainty, in a commit history, rebase undermines that, because it retroactively changes your commits.

It's like a huge portion of the industry is collectively engaging in a lie, so that our commit histories look prettier.
And maybe even one day, the abbreviation will become so ubiquitous that it becomes divorced in practice from the original referent.
For Elixir specifically, I liked Dave Thomas’ Elixir for Programmers. https://codestool.coding-gnome.com/courses/elixir-for-progra...

For learning about performance and low level stuff, Casey Muratori’s Performance Aware Programming course has been great. https://computerenhance.com

For higher level software design stuff (beyond just GoF patterns), check out James Koppel’s writing at https://www.pathsensitive.com/ and his courses at https://mirdin.com
When people post on X, I feel like they tend to have "clout" in mind. Even if they're not chasing it, people think of a post with a lot of likes as "doing well". This conditions people to post certain kinds of content, but more insidiously, it conditions you to think a certain way.

If you go to a community like crystal.cafe (a femcel imageboard with an amazing community, which I lurk on but don't post because I'm a man) you'll see what I mean, it's a very different tone than you'd see on a conventional social media site with reputation.

Also the niche nature of the sites houses a certain type of person, NEETs and femcels, whose perspective I find interesting and occasionally enjoy conversing with, although it's not something I do a lot.

Also, most chans allow you to talk about controversial things very freely. I'm not a communist, but it's an interesting intellectual exercise to go on leftychan.net and argue against capitalism, and then halfway through the thread, change my idea and argue as a different ideology. Without identity, you can pursue ideas less consistently - without worrying about "winning" the argument so much.

If you have the patience for an older format that lacks the quick rush of modern social media, feel free to visit me at my imageboard: http://13channel.crabdance.com/b/index.html

I'll respond to anything within a day or so, so please do come back the next day. I'd love to have an imageboard penpal :)
Branches are mostly free, so this isn’t a problem if they are properly named.

“try-again-something5” doesn’t cut it but “$ticket-at-least-five-words-here” does.
Military objectives were achieved in Korea and Vietnam in the sense that we killed lots of people. What we learned (and really, already knew from WW2, where we very intentionally did not invade the Japanese home islands) is that killing lots of people on an enemy's home soil just turns a lot more people against you.
Enjoyed watching quite a few of this guys videos after watching this one. Thanks.
From reading through some of the reports linked in the CNN article, it sounds like in a lot of cases the test employee was taking shortcuts such as reporting results from the left side of the vehicle as results from the right side of the vehicle under the belief that there was no substantive difference, or not properly adjusting the tire pressure before the test and reporting that it had been adjusted.

It still illustrates that this sort of stuff was either tolerated or not detected, but in all honestly it sounds (to me) like a lot of it was pretty minor stuff. It's not like the car exploded in a raging fireball on the test stand and the reported result was "A++ would buy" like Ford did with the Pinto.
Technically, the US hasn't fought any wars since WWII -- as a declaration of war is a Congressional function. All of the other things people think of or refer to wars were technically "conflicts".
To several of the authors here, "thanks, I needed that".

I have the software written, and it appears to run as intended. Now, doing computer systems management, silly stuff; main problem, getting past bad documentation, e.g., was just up all night working with video adapters, device drivers, display resolution, font scaling, HDMI, display port, flickering cursors, etc. Since the documentation was so bad, I did take some notes on the more important things I learned, e.g., by the TIFO
(try it and find out) Method. The results are not perfect but are good enough for now. I can delay more until the business is growing nicely (if it ever does). That is, for now concentrate on giving people "something they want" and put video issues way down on the TODO list.

But a concern: If such silly technical stuff does go well, then I could be going live on the Internet fairly soon. Then some of the issues might be:

(1) publicity and getting the first users

(2) getting advertisers

(3) billing and accounting

So, from this thread and a few hours at Google this week, I just concluded: For nearly all that stuff, nearly every business has to do it. So, there are well polished options for how to do it, and I can put it low on the TODO list for now.

For what to do if the business starts to grow, I saw some of that at FedEx and elsewhere. Right, as in this thread, focus on providing "what people want", the work, and the revenue. E.g., if I get a lot of users, then that should help getting some advertisers. Then will need billing and accounting, and, uh, there is no shortage of people who can provide such services for me -- getting the revenue is the hard part; given the revenue, it stands to be easy to work with an accounting service! Or, for a lot "I don't know how to do it, but there are plenty of people who do."

In particular, for management and in particular engineering management, I've seen, been in, and done some of it and conclude now that my business will be nicely successful before I will have to look into the theories of it. In particular, I saw several cases of guys really eager to work hard, occasionally all night, get good stuff done, with no credit from any management.

For the core technical stuff, my efforts have some of that, and it should be a business advantage, uses some of my experience and Ph.D. in applied math, I would say beats AI, and easy for me -- early on in the effort I wrote up the math in Knuth's math word processing TeX. Then used the write up when I wrote the code (Windows, IIS, .NET, ASP.NET, ADO.NET, platform invoke, etc.). So, the core technical stuff is done, not even on the TODO list! On with the rest with the balances as often in this thread.
> why is Gentoo best for you?

It has zero opinions about how my system should be configured or what options the installed software should have. It lets me build precisely what I want to build without any hassle or compromise.

> I mostly followed the recipes like almost everybody else

The thing I really like about gentoo is I have a virtual/akira package. It brings up any system precisely the way I want it. If I have a new system I can just install that virtual from my overlay repo and be in business within a few minutes.

I wrote this virtual 10 years ago. It still works perfectly. Ironically, I guess I could say, I choose gentoo because I want to spend _less_ time managing my system, and it enables that in a way that no other distribution has for me ever.
> What does this have to do with compiling code?

Nothing. GP is making an assumption that all people need the same kind of hardware for the same kind of work as they do. None of my work touches on ML or heavy data processing (in the numeric sense), so hardware like that is useless to me and my coworkers. A beefier workstation is still useful (more cores, more RAM), but recent-ish laptops (post 2020 definitely, tail-end of the 2010s is still fine) provide more than enough horsepower.
A modernized version of Toolbox in the form of Carbon running as native unix applications in a preemptive multitasking system on A/UX would have been pretty good - maybe not as good as Cocoa, but good enough probably.

Is win32 fundamentally worse than Carbon or Cocoa? if so it seems to have not meaningfully effected the success of Windows.
So… your mom couldn’t follow orders, use a superior handgun (because the P220 sucks, and double so for women)… made static, and this is Glock’s fault?
Here's a brochure [PDF]

https://www.1000bit.it/js/web/viewer.html?file=%2Fad%2Fbro%2...
There are tens of billions in the balance, how can you make sure the arguments are made in good faith? Money is self-reinforcing as well.
Umm, 2021.
I announced Blot on Hacker News almost 10 years ago. Thank you all for helping to get it started. It was a nice surprise to see it posted again here today.

The goal of Blot is to bring the benefits of the static site generator to people who haven't heard of static site generators
Get a 10-core M1 Pro then - I got mine for about 1200 eur used (basically undistinguishable from new), and the difference (except GPU) is very small.
https://news.ycombinator.com/item?id=38810228
Not all of them.

https://electrek.co/2022/11/16/wind-turbines-made-entirely-o...
Basically the Pareto effect in choosing the right cpu vs cost
10th anniversary of SilentPatch!
Squashing is nice IMHO, and even a must after a while. For one recent very small project a squash of the commit history reduced the storage from tens of kilobytes to a few hundred bytes total. Orders of magnitude. That was a very small project, so imagine the storage space savings for larger projects.

I find that the commit history tends to grow viciously for anything I've been involved with. And I fail to see the benefit of amassing that amount of detail once you are past the stages where each individual commit is reversible (or even interesting)

So, for a project that runs for, say, three months, the commits of the first few weeks aren't really very interesting or valuable at all at the end of the period. Just hard drive space being eaten up. YMMV.
It is: two writes for write ahead log vs. log-n (tree-height) writes for CoW
I’ve known developers who left the company over the rebase mandate for this exact reason.
macbooks are not compromises, that's the point, unless you need the teraflops from GPUs.

yes it is surprising. couldn't believe it either. benchmarked my workloads and... here I am on a macbook.
The new performance trigger is actually quite nice.
> Merge commits have more than one parent, and Git doesn’t automatically know which parent was the trunk, and which parent was the branch you want to un-merge.

Yes git knows: The first parent is the trunk.
I really enjoyed “Speed Is Found In The Minds Of People”, a talk by Andrei Alexandrescu.

At first he is just showing simple stuff, but stay with it, he goes deep.

https://m.youtube.com/watch?v=FJJTYQYB1JQ
Indeed. Not sure where the notion came from that devices mass produced with interchangeable parts would have some kind of mechanical fingerprint that could be forensically identified. Most modern handguns use the browning short recoil action. Of those, most use the Sig Sauer updated system. They are all going to do very similar things cases. That's by design. The most you may ever be able to prove is "yeah this was fired by a glock" Which is next to useless and even then I doubt it.
This sort of seems to assume that it is at all possible to gain knowledge and experience without making mistakes.

Hiring people who do not perform seems like a profound waste of resources. Doing projects that fail seems like a profound waste of resources. Learning technology that will not be helpful later in your life seems like a profound waste of resources.

When was the last time you found a cookbook where a significant portion of recipes stayed with you for the rest of your life?
I don't think that is ambitious:

With the aim of not hampering innovation: (i) free and open-source software developed or supplied
outside the course of commercial activity[1]

You are only in a commercial activity if you sell that product to that customer or you sold it to a distributor who then sold it to a customer.

E.g. if a customer doesn't buy from you he has no commercial activity with you so no liability.

I would argue that code is code and only becomes a non fungible product in the instance of selling it and only then the laws apply

[1]https://www.europarl.europa.eu/RegData/etudes/BRIE/2023/7393...
=> page 5 under the light gray box

Edit: fixed italics
Our team frequently work when travelling or from home, where they'd prefer not to have a desktop station.

They also have an on-call rota where they need to respond to incidents remotely: I'd rather not chain my on-callers to their work desks throughout the night!

But as a lot of the other comments say, the latest MacBooks are comparable in build performance to pretty decent desktop machines. You can use them for really serious work, in fact you'll find lots of AI hackers are buying up the M2 Max right now because the AI processing it can achieve is well beyond similarly priced desktop hardware, and can happily run open-source models locally.

I'm unsure of your background but laptops as work computers has been the case in all my jobs for the last 10 years, including a stint in Amazon, consultancies, and several start-ups. It's the norm now, and it comes with few downsides.
At one of my former jobs, some members of our dev team (myself included) had manager-spec laptops. They were just good enough to develop and run the product on, but fairly anemic overall.

While I had no power over changing the laptops, I was co-administrator of the dev datacenter located 20 meters away and we had our own budget for it. Long story short, that dev datacenter soon had a new, very beefy server dedicated for CI jobs "and extras".

One of said extras was providing Docker containers to the team for running the product during development, which also happened to be perfectly suitable for remote development.