skysight-inc/HackerNews huggingface dataset:
You're not wrong, but you are probably being downvoted because you're trying to be cute with your capitalization of the word "algorithms". Please don't do that.
... But most of us can’t to put in ...

At least proofread the piece on the very subject of writing.
Pure mail, but registration is such a nightmare
April 10 Covid-19 News Recap
They will for France
This might be a blood disease. Maybe red blood cells are damaged by the virus and can’t carry oxygen. Perhaps blood transfusions will help improve oxygen saturation.
Wow. Detail-light posts like this give readers just enough speculation and doubt to make them dangerous to themselves (or their loved ones).

If your doctors are telling you you need to high pressure O2 or ventilation, your sats are in the toilet. You simply can't survive without a breathing aid. High pressure vents can exacerbate damaged lung tissue but it's [probably, citation needed] better than just suffocating.

And no, ECMO has a pile of its own issues, well beside being almost mythically rare.

Listen to your doctors. They're doing their very best.
I apologize for my hostile response. You have been extremely helpful and this was out of line.

Please see this recent HN post from today which is extremely relevant: https://news.ycombinator.com/item?id=22839035

Also please consider that in newtonian mechanics the potential energy of interaction assumes an instantaneous propagation of signals between 2 particles, and there is no issue in practice with this approximation, because the speed of light is so large compared to the time scales of macroscopic phenomenon. The ideas we have been discussing is the same type of regime where its an asymptotic limit, and where these types of assumptions are quite physical and very realistic.

I have been working so hard for the past 3 weeks on a generalization of John Conways The Game of Life and he just died so I am pretty emotional right now.

I'm sorry we had to come to this point, where you have provided enough information for me to continue my work, but had to have such a confrontational fight over who understands the theory of relativity better. I can assure you, I understand the point you are making about the speed of light.

Let me remind you, the constant speed of light is only constant in a vacuum. In air the speed is not the same as water, and gravitational fields can bend the path of light.

I hope in the future we can have a physics discussion as equals instead of getting into a fight when I have been crying over the death of one of my absolute greatest personal heroes
> University programs exist to prepare workers for the industry, as a general goal.

I don't think that it's true that the general goal of University of CS programs is to prepare students for the software dev industry.
Type system designs in statically typed functional languages are intended to represent increasingly abstract correctness constraints by transforming the business logic of the problem at hand into rules subject to the validation of the compiler.

This is quite different than object oriented or even compiled imperative languages where type system constructs contain data and function units that represent internalized constraints.

In functional programming you set up types and their constraints such that the business logic you require is a derivable consequence of the system and any other outcome is as close to provably impossible as can be. The less of this you choose to enforce, the more “imperativy” or “objecty” your use of that functional language is.

In imperative or OO languages you choose to make atomic units that have internal structure, but whose behavior across the interaction of the units is not itself a derivable consequence of any more abstract set of rules. Not even interfaces or templates represent this - they govern how components can communicate but do not limit what components can do.

You use the program’s structures to carry out the required business logic, but you cannot truly prove you haven’t allowed for some different logic or edge case instead.

In this sense, safety is a resource rather than a requirement, and if you learn that a previously unsafe operation is now safe, because the real world circumstances changed around you, you are free to have your program units do the previously-unsafe -now-safe thing without needing to remove expensive abstractions that had been set up to cause the previous notion of safety to be a consequence of your program.
This isn’t easy - ECMO is in (very) short supply, Australia during swine flu had somewhere around 50 nationally (cf 2000 vents) + you need a cardiothoracic surgeon to put it in + nursing care is even more intense than for ventilator care. You can’t easily scale this and it isn’t without significant downside as well
But it was a programming assignment. Building a thing fast is, outside of very few situations, not a thing to optimize for. Building something to be maintained and evolved over time by non rockstars is far far more important, IMO. Perl is great for ripping through some script quickly but it has problems for long term maintenance.
Of course, Conway was a serious mathematician who was slightly vexed that the thing he might be most remembered for is what he considered a cast-off game that he dabbled with in the late 1960s.

Conway talked about determinism (and free will) from a mathematical and scientific perspective in interviews and lectures. I found what he had to say very interesting - I don't know if he came up with all the ideas he talked about, but I had certainly never heard of many of them before I heard him talk about them.
I'm planning on migrating from Gmail to Fastmail, but I'm holding off until Hey launches to see what it offers.
Out of interest, were you using a dedicated IP address with SES? As I understand it you've doomed to deliverability issues unless you have your own IP address which nobody else is sending from.

That said, by no means am I claiming that email deliverability is easy!
FYI the link starts at 714 seconds in. For anyone else who wants to watch; start at the beginning of the video.

Edit: spent the last hour watching it. Very interesting and worth the watch.
> And to this day I find junior devs struggle with the same things unless they have a maven/gradle project all set up for them.

Personally I’m still shocked that learning the common build tools for whatever language is used for a CS course is not the standard. If you’re teaching Java you should be teaching Maven, if you’re teaching C++ you should be teaching CMake. Not to the “I can write my own plugins/macros level” necessarily but at least to “I can create a project that will build without my specific IDE or needing to recite compiler arcana”.

Nobody in their right mind works without these things, and while knowledge isn’t going to directly transfer from one to the next you should at least have enough to know where to look in the documentation for “how do I specify dependencies”, “how do I tell it where to find my source”, etc.

For a first year course where you aren’t pulling in the kitchen sink the IDE project format works well enough, but if you’re entering the workforce you should know damn well how to create a basic project in the standard tools of your language of choice.
I just went through password recovery for my 10 year old sons gmail account.

They ask a few security questions then ask for the recovery email address. It sends a login code to the recovery address. I input that code back on gmail site and it says “sorry we could not recover your account”.

Why send the code to the recovery email address if it’s not going to work?
Given the many years all of that took, I don't think it's reasonable to compare what exists now with what it was when it was bought.

It's perfectly reasonable to hypothesize that it would have been as good or better feature wise.

Also, saying it didn't have a big userbase? Compared to what? It was easily as much of a giant relative to the competition then, as currently youtube is to its competition.
As the recent changes to .org show, though, after a while the domain owns you rather than the other way around!

I am trying to move away from gsuite. The thing with forwarding from there is that it goes through spam there first, meaning you really have to check it (my accountant screwed up their spf records recently, leading to a lot of confusion). Using the account directly sucks, you have constant switching and gsuite accounts can't do things like family sharing.

Forwarding services, even implementing srs still can't rewrite dkim, so you get weird reply to addresses than again often trigger things ending up in spam.

I think the best solution while keeping everything together in the Google ecosystem (drive, docs, calendar, etc.) is probably an external provider you do pop from to your standard Google account, then offlineimap style backup Gmail somewhere else. Then you still have arbitrary delays in fetching!

Basically, everything is terrible.
Ethnic Strong Hacker
Have you contact this guy ”Raaj” at: (macticstronghack at gmail .com), If you are looking for a professional hacker involving in phone spy, intercept, blocking and bracing, cloning, snap chat hacked into a mobile phone, Facebook hack, Gmail hacks, Whatsapp hack, he knows about game hack, Twitter hack, Instagram hack, Website servers hack, AOL email hack, hacked into my ex’s email and Whatsapp. This guy can do it, what led to me knowing he was infidel and also just gave my friend some really outstanding school scores which he upgraded himself, cool way to have financial freedom as well, get your bank blank ATM cards which could debit money from any ATM machine. Make $5000 and more in a couple of days from this guy ATM card generating including bank transfers, Email transfer, Hack world remit account and Wire transfers as well as PayPal jobs and block chain. He's that good, had to make him my personal hacker. You could mail him if you got issues contact: macticstronghack at gmail .com, He’s as discreet and professional and good too. He’s kinda picky though, so make mention of the ref. Raaj you’re welcome.
> Another reason because of which I'm leaving GMail is because it's kinda slow. A full load with an empty cache takes about 20 seconds on my desktop (good specs, wired Internet connection). Loading a folder with 184 emails takes 2.5 seconds.

I don't understand how Gmail managed to get to this point. One of the original selling points of Gmail was the snappy interface. And it's regressed massively. And it's not like the interface is complicated.
Did you change your birthday such that you were < 13 when you opened it? That is common thing that happens.
"The once a month I load it" they don't care about you, you're not the typical paying enterprise use case.
I'm dealing with similar problems - trying to setup direct connection between AWS and Azure.

How does planetscale handle the complexity of DIY classic VPN and ensuring a high availability on those VPN links - and ensuring that a certain amount of throughput can be sustained?

Is there a requirement for planetscale to create a full network mesh between all cloud providers, all regions? I'm assuming that it's more selective because it becomes untenable as more cloud regions pop out requiring (n * (n-1))/2 VPN links where n is the number of cloud regions.

Happy to learn anything I can here. Thanks for the blog post.
I had the opposite experience. My university decided that they would standardize student development environments on vanilla Visual Studio, put everything that students would ever want into a single header (i swear it was something like "header.h") that you copy/pasted into your project folder and that was it. We didn't even use the terminal.

It was tedious as hell to learn everything else in real world development, like static versus dynamic linking, include/linker paths, make, system libraries, and so on. Like as in myself nor my classmates would have any idea those things existed after two semesters of C++ programming courses.

The moral here is that education needs a degree of breadth. Teaching CS students involves three concepts - Computer Science, Writing Code, and Writing Software. The dependency graph between those topics on what knowledge and tools are needed contains cycles.
Would be interesting if governments (perhaps the EU) started mandating levels of support.
I think most people here are commenting as graduates/professional so I thought I would chime in.

As a student, I love being taught in Python for introductory CS classes. I have been a course assistant as well.

The language is easy to pick and has great/easy applications that doesn't require learning another additional language.

(I am not opposed to learning another and carry the sentiment that you can relatively pick up another language.)

The second part is important to me as a student because I can quickly use it in my web programming projects, in my data-related projects and for scripting purposes as well(I admit I rarely do this).
I'm not sure what you're saying "works" here.

To be very very clear

* The only things published by someone when they report a positive test result are the day keys for whatever length of time is reasonable (I assume ~14 days?)

* Given those day keys it is possible for your device to generate all the identifiers that the reporter's device would have broadcast.

* From that they can go through their database of seen identifiers and see if they find a match.

That means your device can determine when you were in proximity to the reporter, so it would in theory be able to know approximately where the contact happened, but you can't determine anything beyond that.

The server that collects and serves reported day keys doesn't have the list of identifiers any devices have encountered, so it can't learn anything about the reporters from the day keys they upload.

Let's say there's a passive fixed beacon (whatever) in a public space, it can't connect the identifiers to any specific device either, but you could see it being a useful public health tool - "we saw carriers at [some park] at [some times]". It still would not know which specific devices were reporting those keys. Even if that device went through after the day keys were published there's no way to know that its a device that's been seen before.

Only the server is able to link published day keys together because it receives them, so presumably knows who published those. The spec explicitly disallows an implementation from doing this, but assumes a malicious server, so it works to ensure that the only information it can get are day keys with no other information.
I got your point Tom and I agree with you 100% that owning your address is just the first big step.
Ask HN: Alternatives to the classic Todo List App when learning a new language?
I'm learning Rust and want to try my hand at building a small application. I often use the tried and true todo list app to get a feel for a language since I completely understand the domain and the CRUD operations. However, ole reliable is getting boring! I know, know, that _is_ part of the point, but I could use a break. Additionally, searching for examples of simple operations in Rust brings me to other todo apps since everyone uses it as an example. I find myself just rewriting someone else's code without thinking for myself.

Does anyone here have a drop in replacement for a todo list app? Something with a very small number of CRUD operations and a very simple domain.

Thanks!
I agree with sentiment of this. I meet a lot of developers that cannot function outside of the IDE (in my case Visual Studio). As a consequence they struggle when the IDE fails.
> the chance you can atomically update a system, whatever kind of database you're using, isn't something you necessarily get

Postgres supports fully atomic DML and DDL operations. You can do transactions as big as you want (I have seen single transactions of multi-TB of changes).

> I don't think that's generally true

When you do a data migration of the kind we're talking here, let's say you are reversing how embeds who (you had employees embed departments, and now you want departments embed employees), you need to do a whole collection rewrite.

Since you want this to be incremental (without downtime) you necessarily need to deal with, among others:

* Change all your queries to do an "union" between the results you get from the $old model (those documents not migrated yet) and the $new model (those already migrated). This can be really hard.

* You need to change all your updates. They are not trivial neither, as they need to support now cases in which the pre-updated document is in two possible forms. Worse, depending on your migration code, you probably need to update the document in the $old form it is in the $old form, but in the $new form if it is in the $new form.

* Once migration is done, you need to undone all these "duplicated" code paths.

* At all times, you are dealing with potentially significant consistency issues. Due to the limitations to ACID operations in MongoDB --and the lack of them in other NoSQL systems--, you might see spurious effects of document in one form appearing or disappearing while being migrated.

> So relational is usually the default/general choice if you don't need performance at scale.

Define scale. One of my customers is gitlab.com. It handles millions of users, with dozens to hundreds of thousands of queries per second, and some TBs of daily changes, with a single Postgres cluster. Which still has significant headroom for vertical scaling.

Not everybody needs to get significantly bigger than this.
Improving your internet for video calls
> At my school the Programming Languages core curriculum all used Racket. A good percentage of students funneled into at least the first PL-core class as part of their requirements. The class was very popular.

Although the article didn't cover it, I think it's important that in the industry, students will be able to find a job/internship that uses Python more than Racket. If both languages achieve the goal of introducing students to CS, why not use something that could benefit students more?
Gotta admit - that appeals to me :-P

U.S. drivers licenses are too easy to get as it is...
I don't think my sister even had to parallel park on hers.
I visited the project page at http://retropc.net/gimons/rascsi/index.html , which is mostly OK to read through Google Translate, and then stumbled upon a truly aesthetically wonderful piece of software - one of the Sharp X68000 demo pictures [0] is running MMDSP [1] [2]. It also turns out there's a PC clone of this application called MDXWin, which I was able to download only through a somewhat bizarre series of steps.

0: http://retropc.net/gimons/rascsi/rasdrv.png
1: https://github.com/gaolay/MMDSP
2: https://www.youtube.com/watch?v=gVdJj9juRnQ
Keep writing. Layperson here and I doubt taking in more black tea, zinc, and eating beetroot will harm anyway. Also it appears to make sense that increasing the amount of a molecule that allows for better circulation, and thus more oxygen flowing, could potentially help.
"Really?"

Yes. Really.

"You... you do realize that boring, run of the mill events are by definition not news, right?"

Ah, yes. That's why my local newspaper prints the details of the city council meeting. Because it's "not news".

You know what they don't do? Print it under a big banner "breaking news" headline. Nor do the local TV stations interrupt regular programming with a "BREAKING NEWS BULLETIN" about the new trash collection rates.

Every single example you gave was of a sensationalistic story.

We're done here.
I guess my point was that the optimizations available are the same (between those two snippets of code) if you end up in SSA form. Thinking about it now, I don't know what optimizations would be done before going to SSA and how they would be affected.
Oh I had a very interesting class in eng. school about programming languages paradigms. About subtle differences between different implementations of the same concept. Ada, C++, Java, C# (could've gone to functional languages but the lesson was painful enough with these 4). Type-erasure, explicit/implicit/partial template instantiation, visibility rules. And then design patterns, in all those languages. How a singleton makes no sense in a language that's not 'full' object and has 'packages' (not the java ones), how GC/RAII/controlled-types change the patterns. It was both a course on 'using language concepts correctly, picking them carefully for a specific need and not 'to avoid writing 3 more lines of code' and also a lesson in 'how can you paint yourself in a corner and prevent yourself from handling the simplest of requirements change'...

Very interesting to see how our mind is shaped by the tools we use.
Atlassianis launching an email service(Hey) later this year and I have kind of pinned my hopes on it to replace gmail.
The USASCII-8 mode bit in the program status word existed in all 360's (sorry about that) but was removed in the 370.
> Performance is largely irrelevant for the first teaching language. You can completely ignore OOP (unlike Java) if you want, although you probably should teach students about it at some point. Python doesn't have "no concept of types".

That's how my college (Macalester) teaches it.
We have two levels of CS class.
One in Python, that only covers OOP at the end of the class in regards to GUI/Games.

We have another OOP class where we use Java and we go a little more deeply into CS concepts + Software Engineer Practices.

The first course is intended for anyone wanting to have some view of what CS is. I think it's a good balance.

It also helps that there are good job opportunities with both Python and Java(more so).
How does that compare to similar languages? (Go, Nim, D, etc).
Isn't Hey.com a Basecamp product?
How did they handle grading?
Extensive discussion a couple of weeks ago: https://news.ycombinator.com/item?id=22690229
I've taken several passes at Scala but the thing that always stops me is that I find it really hard to read unfamiliar code, including the core API implementations. The only Scala code I find easy to read is impure semi-object oriented code which is the non-idiomatic code that the Scala community tries not to write. I'm not sure if there's some point at which a penny drops and it all starts to become easy, but even if that is true, the time period it takes for that to happen is a real hurdle for newcomers.

To me, you have to be intrinsically motivated to become productive in Scala because of that early friction. Which is fine if you are, but if you're looking at a team of programmers and thinking "how do I get them all over that line" when about half of them have no intrinsic motivation to do that, it's a real disincentive to use the language.
That's incredibly nonspecific.
Certificate error (cert is for *.netlify.com).
Well, yes, but also do check the statistics. If you see something really wrong in the statistics, look at it twice. Medical systems are known to produce weird results. To give an example, opioid epidemic is killing around 45 thousand Americans per year (ref). And this one was created by the medical system (pharma influencing decisions made by doctors).

(ref): Nature, Vol 580, 9 April 2020, page 181, graphics.
If the state outlaws civil rights activism, then civil rights activists will be outlaws, irrespective of firearm liberties.

And indefensible law does not make having defensible policy unreasonable.
Web UI optimized for user who can close page any time if he does not like anything. You have 100 competitors and user can flee to anyone of them.

Enterprise UI optimized for speed of trained personnel. They can't close page if they don't like it, they are paid for work.

It's completely different situations and when someone mixes them, it leads to bad UI.
"public static void main string bracket bracket args"

"public static void main string bracket bracket args"

"public static void main string bracket bracket args"

kind of sad that my first exposure to programming of any kind at University was just repeating that mantra.