skysight-inc/HackerNews huggingface dataset:
>How readable is the code? Does it follow SOLID design and the likes?

More readable and better commented than my own. The thing is, this isn't generating any kind of "compiler output" type code that you're used to. It writes exactly as a person would. Here's an example I just ran on llama2-7b-chat on my Macbook:

##PROMPT

Llama: My name is Llama. I will write a Javascript function that implements the "emailTest" function, given the following test case that it is expected to pass. I am sure to always fully explain all of my code, and include comments to provide context.

describe('it takes a string as input, validates that it is an email address, and returns the host name of the email address.', () => {
const testVal = emailTest('test@google.com');
expect(testVal).toBe('google.com')
});

##END PROMPT

##RESPONSE

Llama: Here are the test cases:

test('it takes a string as input, validates that it is an email address, and returns the host name of the email address.', () => {
const testVal = emailTest('test@google.com');
expect(testVal).toBe('google.com')
})

test('it should validate email addresses with different domains', () => {
const testVal1 = emailTest('hello@example.com');
const testVal2 = emailTest('hello@example.net');
expect(testVal1).toBe('example.com')
expect(testVal2).toBe('example.net')
})

test('it should validate email addresses with special characters', () => {
const testVal3 = emailTest('hello@$%^&*()_!');
expect(testVal3).toBe('example.com')
})

test('it should validate email addresses with typos', () => {
const testVal4 = emailTest('hellow@example.com');
expect(testVal4).toBe('example.com')
});

Here is the function that I have written to implement the emailTest function:

function emailTest(input) {
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;

if (emailRegex.test(input)) {
// If the input is a valid email address, return the host name of the email address
const hostName = input.split('@')[1];
return hostName;
} else {
// Otherwise, return an error message indicating that the input is not a valid email address
return 'Invalid email address';
}
}

Can you please provide feedback on my implementation? Specifically, I would like to know if there are any improvements I could make to the function's performance or accuracy.

##END RESPONSE

And from there you can have a conversation with it, and ask it to fix anything that's mistaken. You can also have it extend your test suite with fuzzing and negative cases. This is obviously a trivial example, but you get the idea. I haven't been able to stump it yet.
I think this is a useful link.
https://stackoverflow.com/questions/1762418/what-resources-a...

But this is in the context of todays "modern operating systems", other operating systems, past and present might have different terminology and ways of working, just like the terminology used in frameworks/runtimes can differ.

Half the problem with any domain of knowledge, is trying to acquire accurate knowledge in the first place.
Why America is going backward: Being the richest nation in history isn't enough
The guy you replied to was talking about base 10 floats. As you can very easily see his example has to work if the arithmetic has the "best possible" property and the rounding mode is "to nearest".

Pythons is unusable for numerics without numpy, which makes it a tiny bit less unusable.
Hmmm, I generally remember those in construction zones. Have they started putting them elsewhere?

And generally don't those say "Strictly Enforced"? The implication being that they will bust you even for 56 in a 55 (generally, again, because it's a construction zone).

Finally, I seem to remember that the issue is that California has a relatively (couple years old) new law that a speed limit must demonstrate that it is at the 80% point or has an explicitly documented exception or it's challengable. Presumably, these signs fall into the "explicitly documented exception" category.
One way you might arranging programming languages in a 2D space is with two axes:

1. How much should the language surprise you?

2. When the language does surprise you, should it delight you or horrify you?

surprising
^
|
|
|
delight <------+------> horrify
|
|
|
v
unsurprising

Only a sadist would deliberately design a language for the top right quadrant, but there are many esoteric languages in there. I think most people tacitly assume that all well-behaved languages belong on the bottom left: the language should rarely suprise you but in the rare case it does, hopefully it's a delight.

Raku seems to overtly aim for the mostly-unoccupied top left. It's like the designers and users (two sets with apparently very large overlap) all think, "Yes, it's weird. Isn't that grand!"
> We call those "nodes" in the blockchain space.

Mirrors existed long before blockchain.
https://news.ycombinator.com/item?id=37021910
Not a bad guide, but the Linux/Windows differentiation is a bit deceiving.

For example, 'git config --global user.name "username"' and 'git config --global user.email "useremail"' are required for Git users on any system before a commit is made, but since it follows the 'Git Configuration: Windows' title, it reads as if it's a Windows-specific configuration.

Additionally, $HOME/.gitconfig is also used by Linux (and UNIX and macOS) systems to store this configuration.
I started painting miniatures last year. It's fun. This is only the fifth model I've completed. Definitely a novice, just trying to get the techniques down.

https://imgur.com/a/7tBD8AS

My girlfriend used to do research with rats — she asked for a "Spliter" Clanrat.
AD, gpos and mdm csps go very far. this is windows business bread and butter
Languages should cater to all programmers and all programs not most.

I never needed fast anything, things are plenty fast for my needs, insanely fast.
I’ve tried to use “ASP.NET Core with F# underneath” for several projects, thinking it would make for an easier bridge for the rest of the team members who were very comfortable with asp.net already.

And each time, it turned out to be a mistake.

Things went way more smoothly by just using an F#-native web framework like Falco or Suave or Giraffe or …
It’s amazing how far that one word can go.

In a former life, I even heard this one:

- We use CentOS.

Why?

- RedHat is enterprise.

(But you’re not even paying for enterprise support)
Because operationalizing Kafka is difficult from a infrastructure (scala/java, zookeper, durable disk management, lots of moving parts), learning and a code perspective (pointer tracking, partition management, delegation, etc) relative to the other pubsub/mq tools.

So if you don't have it operationalized and your use case is simple, it makes most sense to use a simpler tool (rmq/ampq, cloud pubsub, nsq, etc, perhaps even redis)
On the topic of the Linux kernel, why is it that modules and config options are so poorly documented, often not at all? I remember when I was compiling my own kernel, many options and modules I'd just have to guess based on my hardware. I understand Torvalds to be an incredibly demanding BDFL. I'd assume he'd insist on clear helper docs for any modules that wish to merge.
Forgot to add, the cross-platform aspect wasn't even the biggest concern, I just wanted an iPhone app and RN was the easiest way.

Also, RN doesn't handle cross-platform automatic text or image sizing well, which was the biggest hurdle to making things look ok on Android.
I think it’s your inexperience talking here as programs in both languages here use mostly the same naming conventions and abbreviations, the main difference being that Ocaml is its usual terse and to the point while Rust is well far less terse
I'm really excited about this. There are so many use cases and ways to enhance products & services that are either currently using LLMs or are looking for a reason to. Elevating search to deliver the most aligned and current results shouldn't be underestimated!
Put that right in the TOS.
It's worth remembering that Raku originated as "Perl 6" and a lot of design philosophies are derived from Perlisms in the first place.

The author seems to be unfamiliar with both Perl and Raku's history, given that he immediately comments on the x operator for repeating strings. Which has been the case for many decades of Perl. :)
Ubuntu LTS breaks my stuff more often than Manjaro (~= Arch).

I don't understand why Canonical decides to backport breaking changes to LTS releases, but they do it on a regular basis, and I don't trust them for anything important. (I'm not suggesting using manjaro for stuff that needs to be stable over a long time period -- it's not meant for that, which is precisely my point!)
I like the guide, but that simply scrolling the page adds entries to the browser's history makes me cry.
I'm sorry, I didn't maliciously stab the guy, I was just really, really, really incompetent with handling this axe.
You can use `ifconfig` / `ip link` if you want. The submitted article is about having systemd-networkd manage it.
I use the Zettelkasten method for the most part. I try to link notes from structure ("category") pages rather than with tags. Not sure how that will turn out in the long run. So far I seem to be doing pretty well in not just finding notes I knew to search for, but also discovering notes I had forgotten about.

I also have separate folders for things I don't want to keep in my Zettelkasten, such as recipes, weekly food planning, or notes I revisit a lot (like once every day).
Wow, I'm surprised by how small the file systems are.

On the smaller side, Ext4 at just 21,515 lines, and on the larger side, Btrfs at 55,758 lines.

It almost makes me think that writing a new file system in Rust, might actually be a tractable project.
> This makes me wonder if there's much point anymore in improving the usability of systems software (programming languages, databases, operating systems, clouds, anything driven by textual configuration). A basic assumption that underlies making better tools is that user's time is valuable, that intuitive and simple systems therefore have value.

Yes, but the nature of the problem changes a little. Because LLMs are not guaranteed to produce correct results, this might incentivize configuration and programming languages where you can provide a separate specification, possibly generated by another LLM, against which the program or configuration is checked against. This then potentially saves the user a lot of iteration to correct simple mistakes.

Another aspect is that simpler systems/languages are also simpler for LLMs to understand, so an LLM generating a program in a simpler, more expressive programming language has a higher chance of being correct.
Yeah, with some other objects too.
And your image is getting dragged when touching the mosquito.
> people need their computers to run old software

So? They can force you to pick between running old software or running new software. This is hardly new if you look at the broader "compatibility" scene. Old hardware and software are being dropped all the time. (Remember when MacOS dropped 32-bit support and wiped out a huge chunk of older games?)

If you want to stay in the old chain, you're free to do so, just like how you can still pick up a word processor made a couple decades ago and make documents on it. It only affects you if you want to use the Internet as that keeps evolving. (If you load up some '00s or '10s era browsers you'll see that many of them do not work at all for the popular Internet sites, which have all adopted things like newer TLS implementations and HTTP/3 or whatever the latest one is...
What a coincidence. I too have a proxmox server running on my 3770k with an LSI HBA flashed to IT mode, on the same motherboard. Fortunately it works with Proxmox and that is where I am running/managing ZFS. I never attempted to run TrueNAS w/ pass-thru so didn't encounter that VT-d issue.
Software development strongly self-selects for people who like black-and-white, all-or-nothing, binary reasoning.

Few people have patience for a tool that will fail to even attempt to run a several-million-line program because there happens to be a trivial typo in one line in one file. It should be no surprise that kind of people for whom behavior like that is reasonable are the kind of people to think intelligence is all-or-nothing, and that are too happy to point out true but irrevelant inaccuracies in a piece of writing.
Can anyone explain why not "functional core, functional shell"? Is this partly because the shell has to mostly interact with things like UI APIs, file system APIs, network APIs and database APIs that are usually implemented in an imperative way already so you'd make your life harder this way? What if the APIs were written in a functional style?

For example, I find in TypeScript, most libraries and the language itself are not written with immutability in mind so there's constant gotchas. So while I strongly prefer immutable data structures, going against the grain to use immutability everywhere usually isn't worth the frustration. That for me doesn't mean immutability is a bad idea though, it's more that the libraries and languages support is lacking.
I think the biggest factor is actually moderation. Smaller communities can be effectively moderated. This may fall under "Norms", but the difference is that (non-government) moderators will enforce the social conventions regardless of whether you feel compelled to follow them. But perhaps familiarity is still a factor in smaller online communities, because the participants often get to know each other.

Unfortunately, larger communities are effectively beyond moderation IMO. I don't think that the one or two moderators are enough on Hacker News, and of course the social media platforms are even worse. In the "real world", the non-online world, a significant portion of the population will flout the laws, regardless of government enforcement, and a significant portion will flout the social conventions. That will also occur in the online world.

To put it another way, all you need is one bad reply to ruin your day. :-)
It’s been merged: https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=c71a5...
You are right on the money. We never really solved that problem for cold ice. The fumarolic ice caves we tested in were close to 0C, so it wasn't a problem. But we did a test campaign in a -25C walk-in freezer, and had to use a hot air gun to clear the end effector manually every step. If we got funded to do another version I think we would try to incorporate some kind of heater.
It is indeed assignment: https://learn.microsoft.com/en-us/dotnet/fsharp/language-ref...

shadowing would be a second 'let a = 2'
Leaving this here (not self promo):

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

By far the best non-beginner git tutorial I've ever found.
It was a poor choice on their part. Some large employers were already on the fence about dropping zoom in favor of teams, and this is just going to push them over the edge.
I agree that if you're having to use the reflog frequently, you're using git wrong (not least of which because the reflog is not designed for readability and understanding the context where it came from).

But for the rest? If you're working in a repo with more than 5 people, rebase, cherry-pick, and squash are necessary to keep your sanity. Merge nodes are awful once you get beyond more than maybe 3 developers.
That's idiotic, but current drunk driving laws in most places are overzealous in punishing responsible behavior.

E.g. sleeping off your drunkenness while sitting in the front seat with the keys within reach. Starting the car to run the heater or AC might get you additional punishment.
No, and this is what saved a lot of people's arses many times over. A lot of the CVEs for the Linux kernel turn out to only be exploitable under very specific circumstances.
https://github.com/kotsoft/fluid
Isn't macos Mach?
> For the ones not in the know, Mach is an OS designed after the idea of "the network is your environment, not the computer" where it should make little difference if the resources you are accessing is on your computer or not. And "resource" here is really generic, meaning things like files, login information, printers and other periferals, CPU, whatever. For some reason (maybe related to costs and licensing), people never adopted the idea

To me, the reason is obvious: what happens when someone unplugs the network cable? This is #1 in the list of distributed computing fallacies (https://en.wikipedia.org/wiki/Fallacies_of_distributed_compu...): "the network is reliable". The other fallacies on that list might also be relevant.
Public Storage Account Technical Purgatory
A few weeks back I learned that every single time you rent a new storage space via publicstorage.com, you are forced to create a new account. In talking to customer service the following happened:

- Me: "That is really a strange way to manage accounts..."

- Customer Service: "I know..."

- Customer Service: "One moment..." (they create a new account for me and send me a password reset link to login)

...I reset the password and attempt to login...

- Message: "Technical error, please try again later"

...back to customer service...

- Customer Service: "I will try to reset the password to give you access for you to log in. Afterwards, once logged in, you will be able to update your password. Be right back."

- Customer Service: "I am getting the same error as well. It is an ongoing issue. I will reescalate it. My apologies once again. We hope to have it resolved as soon as possible."

- Me: "So until that time I am essentially unable to manage my account?"

- Customer Service: "Unfortunately, yes."

... two weeks pass...

- Customer Service: "It is an ongoing issue. I will reescalate it."

I am imaging that they must have one real disaster of a codebase for something like this to occur. How exactly do they justify charging me money for storage I can't access, discontinue, or change in any meaningful way. I attempted to get this fixed in person but they told me sorry its all centralized via the app.

Anyone out there work at Public Storage that can shed some light on this?
They updated their TOS again today.
https://explore.zoom.us/en/terms/
It depends a lot on your time and experience... Also, what you want to know. There's no guarantees at all with a SaaS startup, and if you can increase your knowledge base at a minimal time sink it may be worth it. I have a dozen things I tinker with and no expectations, so I treat it more as a hobby.

I am spending about $140/mo on a dedicated server currently, mostly because I want to run my own mail server without depending on a relay host or nickel and dime costs ($2-10/mo per address). This now runs just about everything I use. Nearly all my apps are dockerized so I can port them to another host pretty easily.

I've also been playing with writing for Cloudflare directly (workers & pages) as well as CockroachLabs (CockroachDB Cloud). Both with relatively low startup pricing and can grow as needed based on usage/demand, both with a relatively clean self-host strategy as an exit.

It would be too easy for me to wind up paying $20-30/month or more on a dozen or more projects. I try to keep this down, as if I don't touch something for a month, or don't complete it for a year, it adds up quick... If I keep baseline costs low, it's less of an issue.

If I was 20 years younger, I'd probably have gotten more of these things done or put more effort in. The tech costs are a lot better today than 25-30 years ago when I was starting out. But I'm still pretty mindful of it.
As an immigrant: immigration is an area where the US is unique, or at least exceptional.

For a long time, the US has slurped up the top talent of the world, as well as cheap labor to support domestic industries like agriculture. Ironic that American “excellence” is about poaching excellence from elsewhere? Perhaps. Nobody wants to admit it, since it would mean “real Americans” don’t get special treatment for being born in the US and A. But all industries benefit, and politicians know this.

In Europe for instance, immigration has failed largely at talent acquisition. It has succeeded partially at the humanitarian goals, but at a large cost. In my experience, EU immigration policy has been more about safety than opportunity. It’s hard for low skilled immigrants to break into strongly regulated labor markets like in Western Europe, and at no fault of their own are instead supported by welfare systems. I don’t know if it’s a net-negative in absolute cost, but certainly in opportunity cost. It’s also raised a lot of anti-immigration sentiment.

That said, I think increasing inequality is transforming immigration also in America. The opportunity for poor (both immigrants and “native”) to move upwards with “hard work and dedication” is diminishing quickly. I think the current generation of immigrants won’t get such a big quality-of-life improvements as they used to.
I never used it because last time I asked they told me I have to be buying something that needs it, like an appliance. Wood didn't count. So maybe that is an option, but....

> By the time you turn 35, you're in a blood feud with either Lowes or Home Depot, and have sworn vengeance against a minimum of two major airlines. [1]

My blood feud is with Home Depot, and Lowe's near me doesn't have a rental program.

[1] https://twitter.com/KBSpangler/status/1551715401033302016
>"but a lot of practices in there that are not exactly considered "best" today"

Considered by whom?
> I've known for decades that on paper, microkernels and Hurd should be superior, and I've wondered for nearly as long why then they aren't taking off. If they're so good, they should at least be thriving in some niche where that performance matters, shouldn't they?

They (microkernels) thrive in Automobiles, Aircraft, Spacecraft, Security systems (such as hardware encryption devices), Defense Munitions, Embedded Devices, Maritime devices, radar systems, and many other areas. The common thread here is that they are not just resource constrained and performance sensitive, they are also typically very specialized and mostly write-from-scratch.

That last part is the key to understanding why general purpose operating systems mostly use legacy kernels that are decades old. We want to preserve as much as we can from what came before.

> But why is Linux the incumbent when Mach and Hurd were conceived 3 years earlier?

Because Linux worked earlier. Nobody in the GNU ecosystem knew how to develop a microkernel that worked, let alone drivers for a constantly changing target OS.

> I would love to believe that, but then why has that advantage not paid off for 30 years?

Again, they have. Almost all RTOSes are microkernels, and the most popular embedded OSes are microkernels. When you're writing something from scratch, it is always going to be easier with a microkernel. Don't mistake Hurd with the concept of a microkernel. Hurd sucks because it has always sucked. It's bloated, poorly documented, relies on a very janky GNU ecosystem that has already mostly adapted to Linux out of practicality concerns, and there is no ecosystem tooling around it.

But the advantages of microkernels in general are very real. The best one out there in terms of maturity is QNX, and while practically every modern car on the planet runs on it, it's licensing pretty much precludes it from being used as a general purpose OS.
I mean its one way of setting up your networking. But I'm not sure I would call it simple.

I have been burned by systemd-resolved. It seems like a black box that does silent automagical stuff in a non transparent way. I am keen to hear what the advantages are though. (barring stats and DNSSEC.)

_personally_ I am still a fan of /etc/network/interfaces and or whatever redhat style machines do.

I have also used network manager, which is sorta ok, but when stuff starts failing it seems to suck donkeyballs. (it also crashes when you start doing auth)
Real World OCaml book needs a second edition.
Beijing Superconductor Levitation Video Author Admits Fraud, Takes It Down