skysight-inc/HackerNews huggingface dataset:
Might just be me - but I'm attracted to well formatted docs. It's not a dealbreaker but I do appreciate when the fonts, spacing and code snippets are well thought out
Apple doesn't want to give you a choice but you can still do it:

1. Use some mac to download an older OS installer. The links are hidden but you can find them in some forums etc.

2. Create a bootstick - either manually or with software like dosdude's really nice patchers (find them here: http://dosdude1.com/)

3. Backup your stuff (not only time machine as it would reinstall the new version of macos again) and install the old macOS to get your apps and files back on it

This is something I really hate about Apple - why can't they just provide some official download links that keep working?

With Apple I have a love-hate-relationship because some products (MBP until 2016/17, iPhone 5s/SE) and software (keynote, pages, lot of parts of the OS) are awesome while their software policy and planned obsolescence screws you hard if you just follow their lead as a simple user.

You always have to take care not to update too early, use workarounds to integrate devices with different Apple software (like with airdrop) and if you brick devices there is few ways getting back to business (no helpful error messages like the icons they show on boot when something goes wrong or messages from their system diagnostic like "HDD is damaged" while it's just the cable).
> the reason people like me use [Emacs] as an operating system is because of that - unified, fully configurable and expandable text-based interface. I often wish to have something like it system-wide..

I can totally imagine that. Underneath all the GUI layers, every operating system and application has (or has the potential of) a fully text-based interface. There's just no standard or integration, and tools that allow that (like a system-wide middleware) haven't caught on, I guess. Maybe in an alternate historical timeline, such a feature could have been a fundamental layer of an OS.

From the grandparent comment:

> a system [with powerful text input methods] that expands abbreviations, replaces easy-to-type sequences with proper Unicode chars, runs little scripts and inserts the output, gives you quick dictionary/thesaurus lookups, gives you emmet-style powers, etc., whenever you're writing and in any app.

Yes, yes - and the last point: in any app. I picture it like how TCL can script other programs, even ones that weren't designed to be "remote controlled".
by definition Θ(1) implies O(1).

A sandwich means you have a slice of bread on the upper side.
Depends on your IP address, even in the same country :/
> If you rely on open source code that only has one developer (or a small team), fork it or write your own.

Please no. Try to pay the developer or upstream your own changes first. There are so many different active and unmergable forks of the same project already on github. That makes finding the 'right' project for yourself just much more difficult.
The Gross Margin Problem for Tech Enabled Startups
Less tip = more cost employer = higher prices. One way or the other you're roughly paying the same, only in a way that does not incentivise good service as much.
It seems to be part of the American ethos that we distrust when a company becomes too successful or gains too large a share of a market. Is Cloudflare well positioned to be more evil than Facebook and Google combines? Maybe. Is it a service we keep using because it’s a free/inexpensive way to insulate small but popular blogs and websites from shared hosting providers demanding we upgrade To VPS or leave because of the traffic we’re getting? Absolutely! If we go into the agreement KNOWING we’re enabling a MITM situation — because Cloudflare doesn’t work otherwise — then we can make intelligent decisions about what content goes over that MITM and what our fallback plan would be if even Cloudflare tells us to go away.
This Video Is Sponsored By ___ VPN
Building Better Relationships as a Remote Team
Ask HN: Would you pay for beautifully designed Linux software?
Have we gotten so used to free (as in price) software to the point that it's become inconceivable for us to buy native linux applications ?

Do you think this prevents developers from building good looking, easy to use applications on the platform ? I'm curious to know your thoughts
>victim blaming

Ah here, leave it out.

All new software has new problems -- don't want the problems. Opt for tried and tested. Plenty of folk still happily purring along on older versions of macOS.

There was a great article here the other day about a guy revising his approach to upgrading macOS every October instead choosing to evaluate the new features vs introducing change that can break things. Can't find it though atm.
Man died in a burning Tesla because its futuristic doors wouldn’t open
I think you are missing the point, try assuming the same environment but two different days. One where you are lucky and another where you aren't.
Elon Musk is a horrible person. People who don't see this are blinded by money.
It's oft said that Relativity Space is a 3D-printing company; that's the hard problem they're solving. Launching satellites into space is a side-show.
And what's up with their hate of zooming images in desktop?

They HAVE the full res image. There's even bookmarkets to snag the image. What twisted product goal led to the current state?
Perhaps he would, however he would have had enough exposure to see an example of a planned economy in the USSR even before 1950 - i.e. he clearly already saw what a planned economy is, which leads me to make the charitable reading of him, in which he is only positing what a planned economy could be. Interestingly, there's been some work on this recently, such as by Paul Cockshott, a computer scientist interested in economic planning.

Nevertheless, it is even more of a mistake to identify Einstein with a love or allegiance to Marxist-Leninist socialism, despite his praise of Lenin. Your reading of him as being in favour of pure economic planning is refuted by him later in the essay:

>Nevertheless, it is necessary to remember that a planned economy is not yet socialism. A planned economy as such may be accompanied by the complete enslavement of the individual. The achievement of socialism requires the solution of some extremely difficult socio-political problems[...]

I have no doubt he was saying this in reaction to planned economies of the time.
I go camping in that area quite frequently. It’s almost certainly in my head but there’s something calming about it. It might just be fewer cars and planes overhead than, say, Canaan Valley to the north.
This day should be an international holiday.
It is not entirely missing that idea, since what you malloc() must be aware of its own size, even if that’s not usually something you get access to as a programmer.

One way I’ve seen this done is you malloc() 30 bytes, it allocates 34 and gives you a pointer to 4, and bytes 0-3 hold internal information for the malloc/free implementation.
I think you're right. I'm by no measure a C programmer, but I've always regarded it as something that people don't like coding in because it's difficult, not because it's a bad language. Most people complaining about C are like guitar players complaining about the piano. It's more complex, but it has to be given its role.

That said, the fact that K&R didn't specify the size of an int or long complicated matters, but it seems to be an accident of history, not a mistake in design. They had no choice.
I don't think another company will make a better search product doing exactly the same thing Google does. But I do believe there is a real opportunity for, what I'd call a "decentralized" search product.
Google Cloud is hiring at truly stupefying rate.

The rest of Google is merely hiring like crazy.
Just recently all of the search projects seem to have gotten significantly worse. Image search has been crippled with removal of the size options. Web search seems like a parody or cheap imitation anymore, presenting even worse result than usual, and instead of being able to customize the search to fix that, you end up with Bing-like results giving you crap you explicitly tried to exclude.

Then there's all those silly, frivolous overly-rounded corners mucking up the GUI.

On the up side: I do look forward to competitors stepping forward to fill the space that Google used to fill. That is inevitable.
Ironically, I actually used section tags in my original snippets but changed to divs before posting simply because I didn't want the discussion to turn into this-vs-that. :o)

In any case, the point of course is that at times these groups are added to create a kinship between elements that is otherwise not possible to express via css selections, or because it just makes manipulation easier, and you don't want these grouping elements to participate in layout but the children should. In those cases, `display: contents` is the knight in shining armor.
>Does this object have a run() method? Does it have a color property? It doesn't matter what type it is..

Only it very much matters...

And to track it you have an ad-hoc, incomplete, custom, buggy, implementation of type checking in your head -- as opposed to in the program, and statically checked.

>Maybe it's a new kind of type that you could not have imagined when you first wrote the code, but if it supports the necessary method, it's going to work and you don't need to change or recompile your code to account for it.

You obviously need to change your code to have objects of that "new kind of type" (even if they are dynamic and untyped). Where would the new objects come from without changing the code in some place, the ether?

Supporting the necessary method is a very poor check for "it's going to work".

A "bomb" and a "lock" object might both have an "activate" method. You wouldn't want to call the former when you meant the latter.

You're still doing the same checks, only know you do only half of them, in your head, and whatever goes...
Once there was a good association when it was called atomic power. That was before 80s.

We could call it rock power, but the bad association will persist and get boosted by alarmists anyway.
Modern JavaScript features you may have missed
Show HN: A Wikipedia for Annotations
Hey, you're welcome!

I hadn't thought about why a couple people downvoted that answer. Without thinking about it much my guess is those people value hard technical data over empathic "I see where you're coming from and that's valid. Also, this is what I see there," communication.

In other words, if I'd said, "No, you're wrong, because X, Y and Z," it probably would have gotten upvoted.
> I'm not sure anyone could ever accuse anything related to the internet of being 'designed'. Even being standardised is a stretch.

I think you are talking about the ecosystem surrounding JavaScript, which was created in 10 days for incoherent marketing reasons, not the Internet, which was designed via a rigorous standardisation process. The Internet protocol suite is a beautiful and lasting design that dates back to the 1970s, and it's proved flexible enough for everything from the dial-up era to modern wireless video streaming.
I do a lot of consulting for clients who use Embarcadero's Delphi to create native iOS and Android apps from a single source base.
Delphi is a commercial product, that comes with its price tag and there is, of course, a learning curve, but once you know the processes you can create great multi-platform mobile apps, with way less effort than having one team on Xcode and the other on Android Studio.
The Lean Startup was never written to help startups, it was written to bolster Eric Ries's enterprise consulting.
It's degraded so much that I have to wonder if it's just optimizing for a different set of users. If you do a natural language query for celebrity news, it works really well now.
Five New-Ish Python Things – Part 1 « Robin's Blog
To be fair, this is likely not because their technology degraded, but rather these particular sites SEO's technology is vastly improved. They have probably automated their targeting so as to be highly ranked on even the most esoteric phrases.
Absynthe/Master Splynter was an undercover agent at those times.
If tipping is necessary to incentivise good service (i.e. workers doing their job properly), why isn't it the norm in every job?
I'm not sure, but I think it's trying to say that deep learning as it stands is modeled on one aspect of a model of the brain, by developing out the 3 aspects they identify and having them act in unison would be potentially a good thing, disclaimer, I am neither a neuroscientist nor deep learning expert!
my point was that rain is not unusual here.
What about Twitter?

I just created an account with an email but after few minutes of clicking around it locked me out. I can only use it again if I give them my phone number, too -.-

As if this wasn't enough of their invasive procedures my profile officially says "Account is blocked because of suspicious behavior".

This is some advanced trickery to fool users into giving them more data than they intended to do when creating a profile and it sucks.

There are more examples: Have you tried browsing Facebook or Xing as a user? It's all a really crappy experience.
They already did, it's called bitcoin
Napari: a fast n-dimensional image viewer in Python – I Love Symposia
It is completely insane (and awesome) that "Million transistors per square millimeter" is a useful unit.
Yes, Korean (specifically Hangul) additionally suffers from NFC/NFD issues which is not experienced by Chinese or Japanese. I’ve had the privilege (/s) to work with Korean file names in the past and it was a nightmare.
While I’m sure there are exceptions, I think it’s accurate to say that Linux users would prefer function over form. I’m not sure you can make a generalization about what Linux users will buy: some use Linux because they cannot afford anything else; some use it because they believe that non-free software is immoral. On the whole I would say that the macOS and iPhone users place a premium on the aesthetics of an application more than Windows, Linux, and the dozen or so FreeBSD users combined.
That's false. The main reason Waymo is held up is because the accepted standard of driving is unsafe, and it has data and simulations that prove it.

For example, an unprotected left turn during rush hour. The gap between cars that people drive into in that situation often does not leave any room for chance. For example, if another car speeds up or changes lanes, there can be an unavoidable accident. But the standard for human drivers is to take those chances during heavy traffic, and drivers that try to avoid that are not accepted.

The issue is that people are incorrectly going to hold Waymo's computer responsible for some unavoidable accidents in those types of scenarios, but at the same time expecting them to make those maneuvers even though the computer knows there isn't enough margin.

That's not a weakness of the AI. That's an inability of people to understand the nature of traffic and the relationship between AI and people.
> (Hint: some of those seemingly random characters pull a double quote out of JS' leaky guts.

Nope! It’s just JSFuck [0]

1. All objects have a `toString` method that returns a string.
2. Object properties can be accessed by subscript (`object.prop === object[“prop”]`) and numeric property keys are really strings (`object[0] === object[“0”]`).
3. String characters can be accessed by index (`”hello”[0] == “h”`).
4. JavaScript has string concatenation support. It occasionally will implicitly convert something to a string if it’s used like a primitive value.

The script you posted just abused those facts to generate the string “Hello World”. It does not “pull a double quote out of JS’ leaky guts”.

Is it weird? Sure. But using strict types prevents this type of stupid stuff from occurring. Do you really think TypeScript doesn’t try to prevent you from using an object as a string? Of course it does.

If you use strict types internally and validate at the edges then you really shouldn’t have a problem.

[0]: http://www.jsfuck.com/
LinkedIn is comparably aggravating if you aren't a club member.
Blockchain is new weapon in fight to end fish fraud
I don't even have an AltGr button on my keyboard (!). It would be very cumbersome to write swedish with AltGr though, as the characters are quite common.
Spanish National Statistics Institute will track every phone in Spain for 8 days
Open source + webapps. Learn to build your own. Takes awhile but well worth it.

I'd conservatively estimate our company are currently saving no less than four full time salaries (accountant, purchasing, office admin, sysadmin) and related expenses just on use of webapps. We also use features like auto-translating stuff which makes the multicultural team more cohesive. Not to mention all the RCS/VCS resolved issues with file x version y, file x version y NEW, 'change tracking', oops i deleted it, i forgot to update the version number and all that jazz you can completely sidestep. Totally rife in many companies. My experience is that if you force people to use a decent system it works.

Our stack is currently fastmail + github + digital banks + some internal services on three different cloud providers (all have issues).

It's not perfect though.

What I hate about fastmail: the app and webapp both suck in China and anywhere with slow and spotty connectivity. No image resizing in an app in 2019. The support isn't great.

What I hate about github: charge you for 'seats' even if you remove them. Counts someone you hire and fire as a whole month or year if you're not careful due to this fact. Cross-repo/organization view is new and only basic, not good enough. Wacky access control model. Nutjob system integration policy. API breaks and they don't care.

Unimpressed about banks: many of them suck. Obtuse and backward onboarding policies, random limits, incapacity to provide i18n-capable interfaces or documentation in the year 2020, horrendous fees, non-transparent fee and tax calculations, inability to access your money because (stupid bureaucratic reason #1234), etc.

Unimpressed parts of three different cloud providers: AWS sell you free credits then reneg on the deal and steal your money in 100 ways. Google sell you free credits then reneg on the deal and steal your money in 100 ways. Meanwhile, if you want to pay them and are in China it's impossible either to talk to anyone or do so. Hetzner are truly awesome but often slow from China.

But despite the issues, if you're not on open source, you're truly killing yourself. Things would be worse. Really. Except for some design software, media authoring software and games, there's really no excuse. And IMHO the best part of OSX is iTerm2 + brew, anyway.
> Rust could patch LLVM if they needed (and they do already, even if it takes time to merge) but you can't patch the whole web.

You don't need to patch the whole web. V8 could compile stackful continuations just as efficiently as it does stackless ones. It is not true for Rust without some pretty big changes to LLVM.

> No it cannot without violating its own spec (and it would probably break half the web if it started doing that).

Yes, that's a backward compatibility concern. But just as you can't change the existing `read` and need to introduce `asyncRead` for use with async/await, you could just as easily introduce `read2` that employs continuations.

> Js is single threaded by design, and you can't change that without designing a completely different VM.

A single-threaded VM could just as easily run an event loop inside `read` as a multi-threaded one.

> Of course, but if syncfoo is some function I wrote I know it doesn't.

First, it can't entirely be a function you wrote, because it's a blocking function. It must make some runtime call. Second, this argument works both ways. If it's a function you wrote, you know if it blocks (in which case any effect can happen) or not.

> You can't implement stackless and stackful coroutines the same way.

Your entire argument here is just factually wrong. For one, all subroutines are always compiled into suspendable state machines because that's exactly what a subroutine call does -- it suspends the current subroutine, runs another, and later resumes (but you need to know how it's compiled, something V8 knows and Rust doesn't, as Rust runs on top of a VM). But even if you want to compile them differently for some reason, a JIT can compile multiple versions for a single routine and pick the right one according to context without any noticeable peformance cost.

For another, it is true that you don't know how much memory you need in advance, but the same is true for stackelss coroutines: you allocate a well-known frame for each frame, but you don't know how many frames your `async` calls will need. All that is exactly the same for stackful continuations. In fact, you could use the exact same code, and represent the stack as a linked-list of frames if you like(that's conceptually how async/await does it). There is just no difference in average performance, but there is more work. The allocation patterns may not be exactly the same (so maybe not recommended for Rust), but the result would be just as likely to be faster as slower, and most likely just the same, as async/await in JS, a language where an array store can cause allocations.
There were scenarios in which this LIDAR technology would effectively blind detectors on other cars. I can understand how this puts the use case for this technology in question, since ideally, you'd want passive sensors, or at the very least sensors that don't put other people's lives at risk.
Oh boy, I'm arguing over the Internet. Sorry for that. You do bring good points and I agree upfront that they are indeed JS features that either suck or are not very pedagogical.

1. You don't need to learn about the event loop straight away (or asynchronous programming) by the time you get to that concept, you might as well go to another language that's easier for that. But I do concede that once you get to async programming: JS is not the best language to learn from.

With that said for people who got past the basics, here's an intuitive video about the event loop [1] (note: if you're past the basics, don't watch it while you're still doing the basics xD).

2. Basic objects are easily learnable with JS since you can type them in a literal sense, whereas otherwise you need to instantiate it with a constructor (e.g. Java) or you don't really learn about objects (e.g. C, though I've heared that it does have objects right? Despite it being an obscure feature, anyways, I'm not sure if you should be happy to learn about objects, learning about dictionaries or hashing is cool though). More importantly, when you start out learning programming, primitives + some HTML + simple objects are all you need to know.

3. Yes, try/catch is useless. I wouldn't call that basic though, but I'm already noticing we're differing on definitions (note: my definition was relatively clear, variables, if-statements, for loops and functions). And in coding bootcamps, the concept came long after I taught the basics of programming (e.g. it came in week 5 because of NodeJS). I remember Python being better for this.

Errors in try/catch are as infuriating as segfaults or other memory leaks / coredump issues, they simply seem to happen in C a lot more when you're just starting out with programming (sorry if I mangle terms, C has been a while for me, and I like C, just not as a starter language, just as I used to like Charizard but not as a starter pokémon :D). Later on, it's a different story and I have suffered enough pain from it.

Note: I'm not saying JS is the best language to learn from in the world. I think Python is better suited for that, or in some cases Scratch, or in other cases C# + Unity3D.

I'm simply saying it's better than C (in terms of learning programming basics).

[1] https://www.youtube.com/watch?v=8aGhZQkoFbQ