skysight-inc/HackerNews huggingface dataset:
I believe both arguments held some merits. It all depend on the scale.

If you are a startup and/or have a limited/specialized business scope* Cloud can be the best choice.

For organizations of 4000+ people that manage 100+ applications (from different vendors) with a 90+ people IT department this is maybe not the silver bullet. At this scale you need to keep complexity and security manageable and a more traditional redondant datacenter architecture might be less of a headache than the cloud.

*PS: What I mean by "limited/specialized business scope" is for instance Twitter/Meta. Huge scale but heavily specialized around their main products and develop most of theirs application in house.
Is there an AI tool for statistical data? For finding trends and patterns in numbers?
Most of these are cultural/political choices, not a result of some lack of prosperity.

Less cheap gas is a result of taxing the negative externalities of fossil fuels. Air con is rarer because intense summer heat (while it happens) is less pervasive and extreme than in most of the US. Personal vehicles are less common because public transport is great. No “Whole Foods” because good produce is common in regular supermarkets.

“Road trips” is the most hilarious point. I can hop on a train and be in one of several countries with a different culture and language in an hour.
> Edit: I have heard this before but it is never specific, in what way is it easier?

In SVN, any subdirectory of any repo looks pretty much exactly as if it was the root of its own repo.

Given that basic idea, you can accomplish things like branches, tags, links, and sparse checkouts through operations on directories, so there's no need for any special treatment of these concepts in the software (or your brain).

If your main branch is `myproject/trunk`, and you want to make a tag, just `svn cp myproject/trunk myproject/tags/v0_1`, done. If you never touch the copy, the tag will always keep "pointing" to what it is you want it to point to.

Want to start a feature branch? Just `svn cp myproject/trunk myproject/branches/my_feature`. Then check out that subdirectory and apply commits there instead of to `trunk`. When you're done, `svn merge myproject/branches/my_feature myproject/trunk`, done.

Want a special subdirectory `theirproject` that exists under `myproject` and points to a particular commit of `theirproject`? Assuming both are in the same repo just `svn cp theirproject/trunk myproject/trunk/theirproject`, done. Want to move the pointer to the latest version of `theirproject`? Just `svn merge theirproject/trunk myproject/trunk/theirproject`, done.

You can check out the directory tree at the point where you're actually working on it, and not have to consume bandwith to transfer the rest of the repo, not even when you check it out for the first time. This is super-useful for when repos get too large for their own good, or you want to do a monorepo covering many different projects. In GIT, trying to do "sparse checkouts" to accomplish this has driven me crazy on numerous occasions, in SVN it's totally natural.

An SVN monorepo thus allows one to make project structures a lot more fluent, adapting layouts as projects evolve. Permissioning is done at directory-level too. You can easily work out (and adapt, as needs change) your project layouts to fit your permissioning needs, or apply fine-grained (sub-repo-level) permissioning that respects your project layouts. Permissions aren't a big deal in open source projects, but they sure are when managing proprietary code.

I could go on, but the above is just an attempt to jot down some specifics that quickly come to mind.
IDK about specific software, but I'd love to be a domain expert one day. Key is to grow in something that is always growing. Being "the Network guy" is a lot more promising than being "The Ruby guy".

At the same time, there is definitely some grandeur in top companies in being "the C++ guy". Or The COBOL guy: https://www.acsu.buffalo.edu/~uoi/Jokes/Cobol.html
But most countries DO have a tax agreement with USA or China which is where most of the multinationals are based.
Thanks, just like respect, are not requested but are given…
No. We rolled our own stack for 10 years, until 2018, well after AWS and Azure were around.

We switched to Azure in 2018 and never looked back.

Sure you trade security (do you really, though?) in exchange for:

- not needing to head to the DC because a power supply failed and a rando who was in the cage never plugged in the redundant one

- not having to be way over-capacity in scalability, or suddenly under-capacity and emergency ordering some more 1Us

- not sifting through eBay to buy a spare hard drive that one of your boxes from 2011 needs but dell no longer makes

and the list goes on ad infinitum.

This problem has been solved. It's time to move on. Any time a company spends tinkering with their stack is less time spent delivering something of value.
Or:

You have a lot of business travel wherein your employees currently stay in hotels whenever they visit major cities? Don't use hotels, they are expensive! Build and operate your own company owned full-service apartments in those cities.
There have been many discussions on the topic of go’s error handling, the main gripes of people can be summarized as:

- it returns both a return value and the error value, not xor. The convention is to use the error value only if returned, but sometimes the other “slot” is also used. If you squint a bit, this is exactly what errno does in C. The better, ML-y or exception-y way gives you a sum type instead, which can’t be mishandled.

- you have to handle it in-place with no convenient shorthand allowing for handling it at another layer (and usually that’s the only meaningful way forward). Also, error handling is a cross-cutting concern, squeezing it inside your business logic is (in my opinion) a bad thing.
Acoustics expert brings rock-and-roll touch to sound of St. Peter’s
This person does not actually seem to be sorry? (I am not--at least right now, with what little I know about the situation--saying this person should be sorry... but, I read this entire thing, and it doesn't really come off as a legitimate apology, which makes the language awkward; it feels more like an explanation about why they feel justified in their actions and how, at most, they are conflicted internally due to how those actions undermine their own stated beliefs... but not that they are exactly sorry about the action itself.)
A new high-tech sound system has been installed in Christendom's most famous (and largest) church, and it's been tuned to restore an aesthetic that was lost with the reforms of Vatican II.
That's interesting ... Might be my specific view on Haskell, but there is a lot of emphasis on using the right data structure for the right job. That's probably because due to Haskell being immutable you have to rethink which standard data structures you can reasonable use.
Off topic but does anyone know if there is anywhere to learn about using formal methods to check board game rules? I've played a few games like Wherewolf (not the one-night variant) where I am intuitively sure at a certain number of players with certain rules the game is solved but would love to double check.
Sadly this seems to be missing the midi rendition of ride of the Valkyries and the flying toaster theme
we're using trpc at work and it's quickly becoming the default for gateway apis built for specific frontends. Everyone seems to love it, and when combined with Zod it allows us to iterate super quickly as we pretty much only have to think about business logic as schema properties can easily be shared. though my favourite feature is zod transforms, meaning a iso date string can be validated and transformed into a DateTime object before it gets to the business logic.

also it means we can remove the npm library of types that was previously used to sync types between FE/BE (for this reason alone i love it really)

I found the Docs somewhat lacking when i was trying to get the first project going but now I've used it for 6 months and i don't need to look at the docs it's been great. (remember to have exactly the same versions installed on the FE/BE and the same tsconfig makes it easier too, spent too long on these obvious fixes... :P )
Ask HN: How did Paul Allen write an 8080 emulator in 1974?
Listening to the audiobook of “The Innovators” (highly recommend) today and the story tells of how Bill Gates wrote Basic for the Altair on an 8080 emulator written by Paul Allen in 1974.

How is this feat of computer programming not a major legend in computing history? Surely Paul Allen writing this emulator is even more impressive than Bill writing basic?
> Yes DynamoDB has an API, but I'd wager a AWS engineer with good security skills has looked at it carefully. Do you have an equally skilled security expert on hand to look at the datacenters stack and then same for whatever you're deploying on it?

Is that AWS security engineer looking specifically at how your systems interact with DynamoDB? And how you have specifically configured your DynamoDB instances?

And someone rolling their own infrastructure isn’t building out their own custom software to do it. They’re using software from other companies which also have excellent security engineers that have looked into how you can safely deploy and use their software.

Now, it may be true that in recent times with the amount of money made in the cloud a lot of these vendors are using carrots and sticks to push you to their cloud offerings (often by making their on Prem offerings worse), but let’s not pretend that on-prem software is two cups tied together with a string or that moving to the cloud somehow alleviates the need to have in house expertise to ensure your cloud software is running correctly and securely.
From the title, my guess was this was going to be an interesting case of someone publicly admitting a mistake, in some lesson we could all learn from.

Instead, the title functions as a clickbaity hook, to promote the fork that the author is ostensibly apologizing for making.

(I don't know whether the fork is good, bad, or neither. Just, probably I should've guessed what the most likely meaning of the title would be.)
I love this speech every time that I read it. There are a ton of examples of cargo cult thinking in the startup ecosystem. I wrote a post about this a few years back: https://www.codingvc.com/p/startup-cargo-cults-what-they-are...

A few examples that come to mind:

* because lots of famous VCs made contrarian bets, new VCs try to be contrarian (even when a consensus point of view is clearly correct).

* almost every startup I know is looking for 10x engineers, even though most startups don't need 10x engineers. We've just all been conditioned to believe that 10x engineers are required to build a great company.

* generalizing the 10x example, young startups copy the traits of FAANG companies or famously successful startups, even if those traits are harmful for early stage companies.

Feynman: "The first principle is that you must not fool yourself—and you are the easiest person to fool."

Also, here's a text version of the OP that's easier to read on mobile: https://calteches.library.caltech.edu/51/2/CargoCult.htm
Probably even more relevant in HN – https://stevemcconnell.com/articles/cargo-cult-software-engi...
> something like Ubuntu where I've wasted a lot of time fighting package upgrade issues

The irony. You’re aware Arch its policy is to release packages in a broken state and just put it in the release log? They even very publicly state that.

If you want an actually stable rolling release, stick with OpenSUSE.
About your point 2, can you summarize what you heard about Bridgewater Associates from people who were there? I also stopped reading the book, probably further in than you did, and I felt uneasy about Dalio's description because it seemed internally inconsistent given rudimentary knowledge about working environments and their psychology. He felt like a good boss because people wanted to work at Bridgewater ($$$) and nobody criticized him much - but probably, people had reason to do so but just didn't dare to.

I also wonder what their actual competitive advantage was. My guess is Dalio himself had a good way to think about economic questions, and that they used not-too-simplified computer modeling before most others.
Yea like the ones where we throw an entire AWS server room to try multiple random seeds, using gradient descent until it works, but honestly a RNG might work just as well, in a few contrived cases and we write our paper/make our product from it
If his fee is based on profits, he needs to be correct some of the time. The types of events you mentioned aren't all hype and he can't will them into existence, so maybe he's on to something?
Bookmarking this.. Thanks

Looking to start running open source LLMs on AWS and then fine tuning them for specific use cases, and wrap them in context rich UIs for business users.

So many ideas,so little time!
Honestly, I've found match more annoying (and I suspect it's more confusing for newcomers), ever since match ergonomics were stabilized. I do see how it helps some simple cases, but it makes things awfully confusing in so many other cases...
I haven't really had to use lifetime annotations yet, but again, they are just a formalization of the way I already think.

I forgot that I had also written a small cycle-by-cycle emulator of a simple CPU (8-bit data bus, 16-bit addr bus, 8 16-bit GPRs + a 16-bit PC + a single condition flag + an interrupt flag, timer interrupts, conditional jumps, call, ret, iret, mov, add, terminal I/O). That was also surprisingly easy.

I would like to use generators or something similar for a more realistic cycle-by-cycle emulator but I haven't gotten around to playing with that yet.

Generators and various kinds of coroutines are, yet again, just formalizations of the way I have been thinking for years.

Maybe other domains would be more challenging but I seriously doubt it. I do know that it will take me a couple more months before I'm really proficient in Rust -- including multi-threading -- and no longer fear macros.
I completely understand where you're coming from, I hated my 2019 also. It was quite warm even on idle. If a external display was connected the GPU had a bug where even at idle it used a lot of power and the whole machine was hot hot hot. Any work what so ever would make the fans unpleasantly audible.

M1/M2 Macs are in a completely different league. I'm on a 16" M1 Max and it is just a dream from a noise / temperature point of view. The fans _never_ come on during normal web dev work. And the laptop is cold to the touch. I only hear the fans come on during gaming and heavy compiling.
or a gold bug, who gives bad news but never makes money from any macroeconomic environment
> Good joke, that really made me laugh :)

I've been forwarding an AMD GPU to both Windows and macOS for literally years across multiple Asus motherboards and, except for the specific problem of host sleep/wake, had no problems whatsoever, even considering I work under GPU-passthrough VMs whole-day, every-day. Perhaps try a recent Asus motherboard?

> have to dual-boot QEMU VMs or disable the passthrough

Yes, you would have to buy as many cheap, secondary GPUs as the number of virtual machines that you want to run in parallel.

> I really want proper GPU virtualisation...

Sure, I don't blame you - my point was that the only truly usable GPU virtualization solution available today is GPU passthrough and that GPU passthrough is much easier to setup than it is commonly perceived.
> I can't be the only parent who has tried all the variations of "be reasonable".

You're not. It helps to get an assessment from experienced preschool teachers, in our case, I asked out of the current 100+ kids if there was anyone more stubborn/difficult and there wasn't. The problem is most parents think their kid is "difficult", so there is little understanding from them, and definitely no understanding from 20-somethings who think it's just bad parenting...

One example is the concept of "timeout", you mean that kids simply accept this without escalating? When applied on my son that would just lead to a series of escalations until he throws up from crying too hard. Or he tries to leave the house and run away leading to having to be physically constrained for his own safety, leading to screaming until throwing up and loss of voice for a few days. Thankfully he's since matured and is quite well adapted, but ages 1-5 were rough.
Access to pirated music in the EU fell by 81% between 2017 and 2020. Eighty one per cent! Meanwhile, with a slightly different metric: “In 2020, the average internet user in the EU accessed pirated music 0.6 times per month, compared to 2.3 in 2017.”

https://musically.com/2021/12/13/online-music-piracy-declini...

And Spotify might have released in 2011 but it went mainstream around late 2010s.
I’m just pointing out that what you just said is false.
Fact or fiction: Someone once told me that the only black swans are found in New Zealand and before people from around the world started travelling there, for the rest of the world, there was no such thing as a black swan. If this is true, then it would seem the term "black swan" has been given a new meaning, namely a "rare" event, as opposed to some thing that people had not yet witnessed. Surely, this is fiction and Taleb is an expert on swans.
this is great and all but the way of mathematical equations isnt quite the way of the computer. its kinda like hardcoding with magic numbers. on the computer you want to model the processes that makes the coral and then let the computer unfold it and hopefully it produces your coral. more interestingly, it will produce other shapes nature hasnt thought of yet.
Abstractions all the way down!
It do be like that sometimes :)
I believe most hedge funds also charge a fee on total assets under management regardless of profitability, so he’d be profiting just by luring in new customers, profits not necessary.
What other option is there?
Yet I can solve many sudoku problems in a single wake cycle.

Also, its output is language and it can’t change a former part of speech, can only append to it. When “thinking” about what to say next, it can’t “loop” over that, only whether to append some more text to it. Its looping is strictly within a “static context”.
Yeah that's the classic comma in CSV problem. The solution is to indeed use a proper grammar/parser. The "forward-sexp" understands that as per major-mode rule as you say. Another more modern and declarative solution would be to take advantage of the full parse tree at your disposal thanks to tree-sitter (available in Emacs 29.1). Then you can simply do:

(let ((list (treesit-thing-at-point "list" 'nested))
(query "(list (string (string_content) @item))"))
(cl-loop for (_ . item) in (treesit-query-capture list query)
collect (treesit-node-text item t)))
LinkAce: A self-hosted archive to collect links of your favorite websites
Because that's fastest way to high salaries.

And I'm saying this as somebody who worked across a lot of tech stack levels

from writing c# backends + even c# webassembly running in browser (high level), to some dekstop, to background workers / cli tools, to having my own OSS lib, to compilers (using llvm), to uefi / firmware C development.

Sure, it is interesting to work across all those levels, you get a lot of understanding how things are connected or you're just aware of how this work, but very often this is just shallow knowledge. Strong knowledge and experience requires time. If you switch, then you ain't gonna learn.

When trying to find a job there's almost never such a overlap which requires those.
Are there any field where haskell is heavily used, beyond PL research ?

I may start to look into it as some point for curiosity, but it would be nice if i'd knew that it would be at least a bit useful somewhere.
Correct me if I am wrong on this, but to me, it would seem that something like VirGL would still serve a purpose with wider spreader full SR-IOV support on consumer GPUs, as VirGL could find application in many scenarios where a GPU vendor's drivers are not compatible with the guest.

Saying that, I do agree that vendors should enable support in customer GPUs and feel that their focus on protecting server sales is going to turn out misguided in the long term. Intel especially disappointed in this area, as they in the past did allow such functionality on their GPUs, but have recently removed that.

AMDs mainstream CPUs supporting server features such as ECC also have proven that such restrictions aren't necessary, and allowing this type of capability on mainstream platforms in no way harms enterprise sales.

That being said, any effort focused on GPU virtualization or drivers impresses me immensly and I very much appreciate the work done on VirGL.
>See fine.me.uk/Emonds/ for details.

Nope. Not important to me.
That's when automated error handling began to be widely supported in early versions of mainstream languages: C++ (1985), Perl (1987), Python (1991), Java (1995). As time passes, I think it's healthy for us to expect new languages to learn from history and launch with more complete feature sets.
Is there a random positioning of the toasters or they loop? I can only tell the transitions from CSS and positioning, but it seems that the elements randomize...?
> using phone numbers as if it's a fatal flaw rather than a design choice

It's not a "fatal flaw" - it's just a design choice that renders it useless for many use-cases.
Show HN: Add a feedback widget on your website with a single script
Testing your animation refresh rate with CSS
GCs in general can batch memory allocations, reallocations and frees.

With idiomatic non GC programs, an object that is freed is deallocated at that point of execution.

Think of a loop running 15 times that calls a function which allocates objects, uses them and then returns.

In a GC language, there is only a single free. In a non GC language, each return of that function will cause a free to occur.

There's some other interesting optimisations that can only be done in a GC language.

The only way to get those optimisations in a non-gc language is to effectively implement your own allocation and deallocation using pools.
I honestly hope that EU regulatory pressure forces Apple to make their Macs more repairable. SSD failure = brick is just bad design.
Meh. The developing world has grown far faster than the developed over the last 30 years, mostly due to tech and knowhow spreading there.
What’s the performance like on this?
Yesterday: https://news.ycombinator.com/item?id=37100140 ("Record labels hit Internet Archive with new copyright lawsuit", >200 comments)
forking is not a bad think, you don't have to apologise for doing that.
First, having extreme excesses of anything is a waste. Imagine a city where 25% of the houses were abandoned. That’s Detroit. It’s not good. It’s blight.

Second, they are being financed in a Ponzi scheme with rents that are so high no one can rent them. They aren’t really built to be lived in. They’re being built to be built to drive debt investments.

Third, if you produced way too much food, it rots. If you produce too much electricity, it is wasted into the ground. Water into the ocean. That’s pointless and a waste.
I’m sure this can be solved by voting!
Not as professional (or useful) as the ones in this list, but I created a small neat project using generative AI that I find pretty fun -- an acrostic generator.

https://acrostic.ai

One neat thing that emerged is that it can be used to create mnemonic phrases (by generating one-word-verse acrostics).
Atmospheric CO2 is fungible. We can theoretically produce less CO2 today to make up for the excesses of the past. (Not saying this is easy, or that humanity would have any detectable inclination to actually stop producing CO2.)

Destroying the habitat of thousands of species is not fungible. It can never be restored.
I used to believe it but after 30 years it just sounds boy who cried wolf.

Also, inflation kills debt.