skysight-inc/HackerNews huggingface dataset:
As someone with a long history of c++ experience I found rust syntax fairly familiar even if some details are meaningfully different. For example, most code you read is very very similar. I found an easier time coming to Rust from c++ in terms of syntax familiarity than swift. I found swift much faster to write code once I actually got my head around it (I also had substantial experience with Objective-C/C++ prior to picking up swift).

I think the strong counter is that you only really learn a language once, but Swift is a bridge from those coming from Objective-C not C++ and tries to hit other language goals so it’s hard to compare. Certainly this is the first real language giving c++ a run for its money in a way that nothing else has before, that’s not nothing, and it’s hard to argue whether the syntax chosen is part of that success or in spite of.
Please don't. I had a beautiful resume typed in LaTeX. With resumes, you need to be designing for the lowest common denominator so a simple word document is the best. Latex is especially notorious for not being easily automated for parsing by ATS systems.
Things are improving bit by bit. BofA and Chase both have OAuth and pretty granular permissions now. Citi and Wells Fargo have OAuth APIs too, though I haven't worked with them personally. That's the top 4 consumer banks, but many credit unions are stuck in the past. Credit unions in general need to wake up about how far behind they are in IT investment, and use a common IT vendor to modernize.
We are developing the Portmaster Application Firewall that has a couple nice privacy and security features, including network monitoring. Open Source. Linux & Windows. Android in progress.

https://safing.io/

If you check it out, we'd love feedback!
This is the rust syntax we deserve: http://antelang.org/
Oh yeah, the reason these other companies are laying off thousands is because they've spent years hiring indiscriminately, and having many boondoggle (sp?) projects, numerous loss leader products ("we'll be profitable selling this at a loss, because we can spy on people more" - people complained about the cost of HomePod vs Alexa, etc and have said "speaker quality!" as the reason, but also all of those assistants are sold at or below cost).

The problem is that many are now doing a "we need to fire x% of the company so I can get my stock reward... I mean be profitable", and are doing it in arbitrary and short sighted ways (stack ranking is an incredibly stupid way to cut people), so while cutting N-1 of N chat teams at google might be reasonable, cutting teams working on potentially high value future tech _just_ because it's not currently profitable. Take Fuchsia: I worked on it during my brief google stint, and even if they did decide it didn't have a future (and I think that was not the rationale here), there were incredible engineers they've apparently discarded that would still have been good to keep working on other things at google.

Others have said FB and G were also mass hiring to stop people being hired by each other - I'm not sure how true that is, I was never involved in interviewing people at G but even if I were the interview system there seemed very strange to me so even if I were interviewing people I don't know if I'd have been aware of hiring-to-stop-FB nonsense.
Sure, if your work is theoretical or you already have the lab equipment you need. I see your point, but you are being a little unrealistic to ignore that some kinds of research costs money to conduct, in materials, equipment, travel, or rental and storage costs.
One thing I wish was better was block-scoped ?.

I know there's https://doc.rust-lang.org/beta/unstable-book/language-featur... so you can do e.g.

let foo: Result<T, Error> = try {
x()?;
y()?;
Ok(z)
};

but it hasn't been stabilized yet. The other workaround is to make an anonymous function and invoke it immediately, but sometimes you run into janky lifetime issues with that.
To be fair Patreon's pricing is somewhat complicated. By their own admission their cut is 5-12%
> Linux desktop users are so trusty; the only reason half of them aren't owned yet is because they aren't being targeted.

And the other half have ClamAV? Why _wouldn't_ they be targeted, surely a large number of proprietary technologies are developed on linux
This would involve using whitespace as an operator. If you're going to do that (I'm not sure that it stays readable once you go beyond trivially small code snippets) I'd argue that the generic type should be postfix, as it is in the CrabML syntax.

And yes, these proposed syntaxes for Rust are not practical because Rust's support for macro definitions relies on the existing syntax. But if you're willing to reimplement any macros, it becomes viable.
Curious what your startup was. I feel this is one of the world’s biggest problems (chronic loneliness) that doesn’t get enough attention.
getrandombytes() in librandombytes uses getrandom() or getentropy() or /dev/urandom (in decreasing order of priority), while getrandombytes() above uses /dev/urandom exclusively.
Like, all the syntax does something that contributes to being safe and fast, but that doesn't mean there couldn't be a completely different notation for all of that. Maybe there is nothing that would make everybody happier, but for any given person unhappy with Rust syntax, there's probably a bunch of tweaks you could do to make it nicer for them.

For example, in

pub fn read<P: AsRef<Path>>(path: P) -> io::Result<Vec<u8>> {

for me it's really unpleasant that there is so much stuff between the function name and the names of the parameters. It's a bit nicer with already-a-Rust-feature where-clauses like

pub fn read<P>(path: P) -> io::Result<Vec<u8>> where P: AsRef<Path> {

but if nothing else I think that makes a mess of the indentation if you linebreak anywhere in that line.

C++ avoids this by just yanking all the extra bits at the very start of the declaration, so we could copy that (without going all the way into C++ caricature):

for<P: AsRef<Path>>
pub fn read(path: P) -> io::Result<Vec<u8>> {

This addresses my specific complaint, but is probably worse for other people. Who knows.

As another example, the whole business with explicit Result types and the early-return question mark is basically isomorphic to checked exceptions, which may or may not be syntactically lighter/more pleasant. Would Rust enthusiasts prefer that? Probably not.
Would it make the language more approachable to people coming from some Java ecosystem? Maybe? Would it be worth it? No idea.
Total tangential but I just did a quick search to confirm my suspicion: using the word "strawman" in an HN comment these days very highly increases chances of getting downvoted. It would be curious to analyze why this is, but my guess is that it has become a cliche and suggests a lack of original perspective.
I used to use elementaryOS but it sucks running on an LTS version when important kernel fixes come for my Lenovo hardware in literally every release.
Another issue is culture. Not everyone wants to work for an oppressive, intrusive employer like Apple. That sort of limits who would apply to them.

Amazon is a retailer, a logistics company, and a VPS. AWS was spared most layoffs.
It seems obvious that bad syntax harms readability, in that it's very easy to construct an example of a programming language that is truly unreadable (use commas to indicate generics, everything must be upper case, backslash to call functions and pipe to separate arguments, the letter `H` is used to start a class declaration, etc - the Intercal of syntaxes).

But the reverse seems more difficult to argue: that there is some ideal syntax that is objectively more reasonable than all other syntaxes. I have preferences (do/end blocks feel like unnecessary noise, I like my types to be written inline in my functions, angle brackets feel right for generics), and some of them even have a veneer of logic behind them (significant indentation is a nuisance when I want to paste a block of code that has the wrong indentation). But clearly other people have different preferences, because they keep on designing languages that don't fit my ideal aesthetics.

The other side of this is that the more I write different languages, the less important syntax becomes. The places where I appreciate the syntax of a particular language are usually because the syntax fits particularly well with the language's semantics, rather than because the syntax itself is good or bad. Partial application in ML-family languages is syntactically very neat, but I don't feel the need to remove parentheses from Javascript because of it. What I really like is partial application, and using space as the function application operator works well with those semantics.
In my experience, programmers obsessed with unconventional programming languages are exactly the ones that prioritize (over) engineering over simply shipping things. If you think, writing your codebase in a funky functional language would bear fruits in the long turn, you're in for a surprise. The road is full of pitfalls. Here are a few I outlined in my essay[1]:

1. Hiring is harder: "When it comes to hiring people, it’s true that programmers versed with functional programming would be, on average, better than those who aren’t. However, the hiring pool itself would shrink massively. Learning a language is an investment, and not many people are using their spare time to learn a new one. As I have seen it happen, demanding functional experience soon becomes an unreasonable expectation."

2. Less resources: What's the point of choosing an esoteric langauge and having to build nearly everything from scratch. You're basically throwing away years of experience that a vibrant community provides.

3. Hackers use languages they know: I am nearing 30, and having seen rise and fall of many tech trends, I want to play my cards right. Why should I waste my energy on learning a new language, especially when it can fade into obscurity and the output is going to be the same anyway? MeteorJS[2] was supposed to revolutionize front-end programming, who is talking about it now?

Facebook was written in PHP. Mark used one language he knew and a $300B company was built on top of it. While a company I worked at that prided itself on being written in Clojure, slowly felt behind the competition and barely managed to get acquired (at a deep discount to what they raised funding at). Trust me, your time is better spent shipping, and learning internals of how things work.

[1]: https://shubhamjain.co/2018/12/01/why-paul-graham-wrong/

[2]: https://www.meteor.com/
If you are doing web backends, you are using crates with unsafe code. Again, I could write C code without memory violations hypothetically the same way I could use no crates, so I guess all rust rewrites are no longer necessary?

As I said in the edit, GC languages are safer than an unsafe language like rust, even if you could find and call unsafe code.

Again, I don’t know why to someone that uses rust I need to make that point. If a C++ dev argued using C++ is fine cause all GC languages can call unsafe code, would you agree? Cause if you do then we might as well end rust now, it’s not adding any safety. All language are unsafe!
If these companies offered a voluntary package they would get at least half of that number.
No, it isn't. It's base ten.
> The reasons for this are two-fold: first, upper management never wants to hear this, we're not paying people to sit around idle

Have you ever thought to frame it as "paying for lower latency"? E.g. in the spirit of https://two-wrongs.com/estimating-work-lag.html

If yes, how did that go down? (Asking out of personal interest. Expecting to have to do this shortly.)
> Everyone who got laid off wouldn't have had at a job at all if they weren't hired

Maybe I've been lucky, but every time I've been looking for a job I've had AT LEAST two options.

People move cities, sell houses, buy houses, give up apartments, plan their finances, and plan their career around their job all the time. Investing a year learning the ropes at a company, finding ways to fit into the structures, etc. only to have the rug pulled out from under you just as you're starting to get the hang of things...

> and they probably got severance packages for more than the average American makes in a year.

Maybe I've been unlucky, but I've never had a job where my expectation of a severance package was anything more than 2-4 weeks wages.
It would have worked in C++ to use the . for them, too.
What is the chimpanzee gesture for “please, sir, don’t tear my limbs off”?

Because otherwise “get away from me” or “clean me” or “get on my back” is not going to go over well.
There's always a lot going on in every line of Rust and I respect that. But a lot of it is boilerplatey. E.g. this AsRef business - the argument is that it helps performance, but I hope that sometime in the future it would be much easier and cleaner to express things like "I want two arguments of any type I can transform to an owned string" without adding a bunch of explicit generic arguments, or even "I want a hashmap with keys and values of any type I can transform to an owned string", allowing people to use your api without adding/removing .to_owned() after strings every time they change something, or all this iter-map-to_owned business.

And no, I don't mean it as having java-like semantics. Semantically such functions should stay generic over the types. There's no reason not to sugar it over, though
There was a huge upgrade cycle during covid because people had ample savings and nothing else to spend money on. That pulled forward a lot of sales. Plus, most people already have smartphones and there is diminishing return on upgrading.

It should probably normalize a bit in 2024.

I doubt the iPhone will have record sales again until a really good foldable iPhone comes out that wows everyone and it's genuinely more practical than non-foldable iPhones.
Probably not the same thing in general.. But..

I've bought printed books on demand on Amazon, the first week they were released, (so not like a pirate had any time to duplicate it); that had horrendous print quality, super low quality screen caps (like 35dpi).

Its so I rethink my decision to have a printed tech book if the author only produces it as an Amazon print-on-demand title. Such that when I find a tech book that I want to read, I generally search elsewhere for it first, and if Amazon is the _only_ vendor that has it, I assume it is an Amazon print-on-demand text, and reconsider if I should buy it because I know I'll just be disappointed in crap quality.

So not only pirates doing it, Amazon is doing it itself as it races to the bottom to compete against who?
Replit India Launch
We have officially launched Replit India, Replit's first international launch!

As part of this, we have set up our first international server cluster in Mumbai. What this means for our India developers is faster Repl load times, more responsive code completion, and less latency!
Let me add a counter anecdote: from kindergarten through primary school and high school my life was hell thanks to bullying (being slightly neurodivergent in the 80ies and 90ies is a recipe for disaster) to the point of me nearly killing myself.

Once I left school behind me and met people who respected me, I managed to let all of that past behind me and become a very happy person with (so far) zero depressive tendencies. There is still some trauma left when I see my kid being teased or teasing somebody (to a much smaller scale than what I went through), but aside of that I'm very glad my brain managed to escape hell unscathed.
That's wild actually, I've been aware that ML languages exist and had a rough idea what they look like but I never realized they do postfix generics. I'm going to have to let that bake in my brain.
In my experience, many managers don’t operate on the basis of professional skills, but on their network with other managers and people.

This makes them them harder to replace, but it also makes it harder for them to switch companies.
In a world where when Apple puts a dialogue on your phone, that when they try track you with ads, they ask "allow us to enhance your experience?" whereas when other companies try to track you, they ask "allow <company> to track you across apps and websites?"

In a world when you can't even hint at the existence of a payment mechanism outside the App Store to get subscriptions?

It's not the most anticompetitive but it's definitely competing for the title in big tech.
Wow is that a thing? I've learned from a supervisor to always * by 3 (they had been doing it to my estimates for a while without telling me) but I reckon the extra is a good idea
I deal with them in bash. Zoom meetings are added to my calendar on my mac. I have a function that will use icalbuddy (1) to parse my calendar events and pull up the next upcoming zoom meeting id. Then I have another function that just runs 'open "zoommtg://myorg.zoom.us/join?confno=$1"'. A third "quality of life" function just pipes the output of my upcoming meeting function that contains the upcoming meeting id to my open function so I don't have to type much. Using open with the url reformatted as such will just open zoom to the meeting and not a browser.

1. https://hasseg.org/icalBuddy/
A relative of mine had a huge fight at work a few years ago with younger management who wanted to re-write the core of their simulation software in Java, instead of maintaining the Fortran code. I trust his judgment when he said it would be a bad idea.
The market cap has grown by ~10x in that time and the number of products that the company makes/maintains has also increased a lot in that time (both number of products and total unit volume). Doubling the staff does not seem unreasonable given the obvious increase business.
Maybe ask the Vape companies or any developers who had their apps cloned what they think?
D allows the () to be skipped for one template argument:

X!(T)
X!T

are the same. This was Andrei's idea, and it worked out nicely.
Wow my brain was fried then. Yes I hope the DDG outage is unrelated to the Microsoft/Azure outage.
Yes, I am not OP but obviously they are more anti-competitive if ONLY for their killing off support for progressive web apps over the last 3 or 17 releases of iOS/Safari
> Bad CS teacher

Most definitely. OP should get into a different class or university. I'd be concerned about the program generally if someone is teaching these ideas
Or just write in Python like Quora, Pinterest, YouTube, Dropbox, etc
Let's put it this way... when you absolutely must syntax highlight code in order to be able to explain Rust syntax.. it's ugly.

Let's just go with a really contrived and stupid example... "pub fn". Would it really have killed them to spell it out? Why do we need 'fn'? Functions with a return type (i.e. `fn add(a: i32, b:i32) -> i32`) is just not easy to read. Yes, I'm aware that someone here will find this 'beautifully terse and concise', as well as easy to read. But without syntax highlighting, it's just a jumble of characters to me.

We read code more than we write, so clarity of code should be the goal of any 'modern' languages these days.
I'm implying that Apple's cash pile belongs to investors and shareholders. Part of that money is used to pay employees. However, that cash pile is not a charity for employing workers that is no longer needed at the company.
Funny how emergence works with tools. Give a language too few tools but viral circumstances - the ecosystem diverges (Lisps, Javascript). Give it too long an iteration time but killer guarantees, you end up with committees. Python not falling into either of these traps should be understood as nothing short of magic in emergence.

I only recently discovered that python's reference typechecker, mypy, has a small side project for typed python to emit C [1], written entirely in python. Nowadays with python's rich specializer ecosystem (LLVM, CUDA, and just generally vectorized math), the value of writing a small program in anything else diminishes quickly.

Imagine reading the C++wg release notes in the same mood that you would the python release notes.

[1] https://github.com/mypyc/mypyc
Against the job cuts tide, so far!
If you have poor nasal breathing you should consider EASE https://drkaseyli.org/ease . People in your situation often have narrow jaws which can result in a narrow nasal aperture and poor airflow
Sure, but they’re not treating it that way. They simply don’t seem to care about it much.
They single handedly killed PWA in iOS, they should get split up just for that
I've had the opposite experience. Our competition used a "boring" Ruby on Rails architecture, so they were burning investment capital on cloud hosting every month, meaning they were forced to rush for milestones and cut corners so that they could grasp the next piece of funding before their runway ran out. Meanwhile our "esoteric" codebase meant we could run everything on a couple of servers we owned and spend our time building stuff there was an actual business need for. So we were the ones who got a big acquisition while they crashed and burned. I mean, if you're looking at Facebook then you should look at WhatsApp too.
Wow, that's disrespectful.

It gives me a different perspective on the catacomb's ossuary, which is a very cool tourist attraction but at least not demeaning to a complete body.

At the exit, there is an honor system return bag for people to deposit bones they stole as souvenirs. If you could imagine your femur would be stolen by a future tourist.
Great video. I learnt many new things from it.

Note that he hasn't considered electronics-based life built on silicon.
The dog's nose thing is an amazing learning!
I will hold on to my more than 64k of RAM for now. These tools are likely going to be used to augment human workers to a larger extent than replace them.

Just like how Cloud was going to kill all our jobs, and then the (considerably weaker) 2/3rds of the space all went and became Devops Engineers and Cloud Specialists, I suspect any jobs lost will be made up by AWS AI Integration Engineers and Desktop AI Management Specialists.
> Bad CS teacher.

You don't know. Maybe she wants them to recognize and use folds whenever possible, rather than using low level recursion all the time. You know what they say: "Someone has to write recursive functions, but it does not have to be you!"
GPT: A Love Story
Brevity isn't always a bug even when optimizing for reading rather than writing. Spending extra characters spelling out `function` doesn't necessarily make code more readable.

I do, in general, think keywords should not be abbreviated. We have "return" rather than "ret", "continue" rather than "cont", and so on. This wasn't always the case; ancient (pre-1.0) versions of Rust had a lot more abbreviation in the language and library than current versions.
FOSS licenses are the equivalent of some hardware manufacturers voluntarily allowing repair. OP is asking for an equivalent of a guaranteed right to repair from all manufacturers.
And that has absolutely nothing to do with anything I said; your claim was that Crimea was populated with Russians since Rurik, which is maybe true but extremely misleading because it constituted a percentage point or two at best. Bringing up the Ukrainian population accounts for nought unless you're suggesting expelling all the Slavs from Crimea and returning it to Tatar rule.

> The Ukrainian claim to Crimea is weaker than Russia's.

The Ukrainian claim to Crimea is stronger because they have a legal basis to its claim. If we return to a state of the world where claims to land are made on the basis of 'my group lives here, therefore it's ours', we will inevitably reap the consequences of post-war Europe.

On the same logic, Germany had a stronger claim to the Sudetenland than Czechoslovakia. But what did that get the Germans in the end? Complete expulsion from the Sudetenland.