skysight-inc/HackerNews huggingface dataset:
Thanks for sharing this. The piece makes an urgent point that needs to be appropriately acknowledged. It falls in the vein of arguments I've come to term as "relational poverty" or "relational inequality" arguments (what Popper is presented as terming "moral inequality" in the piece) that most social science research I've come across has failed to or is ill-equipped to account for. I do recall Amartya Sen making a definition of poverty along these grounds (in the sense of dignity, or lack thereof, in what one perceives as their social environment) some years back but haven't been able to trace it down since or see if any further work was done on it. (If someone reading this happens to know more about such work, I'd appreciate being directed towards it).

The point made about Trump expressing a liking for poorly educated folk is also noteworthy. Even if the more sensible in the political class come to acknowledge the paradox we face, the matter of articulating and expressing it appropriately arises. Currently, as the author notes, the "college for all" approach doesn't appear to be resonating electorally (that said, there are a number of confounding factors one could put forth) but rather is serving as a reminder to the once robust (perhaps this is romantic nostalgia) working- and lower-middle-classes of their lowered social standing and relational dignity.

Update: I have found a presentation of the relativistic perspective on poverty by Sen (1983). Apologies for the earlier bit, that was laziness on my part. Worth a read.

https://are.berkeley.edu/courses/ARE251/fall2008/Papers/sen8...
Citationsy – Create citations, reference lists and bibliographies online
Roads allow unlimited number of robbers to rob banks and drive away with money.
The distinction is relevant to me for the simple reason that I can run “top” from a normal shell and see what’s going on in all my containers, attach debuggers to them, etc.
> The first is that sometimes people make mistakes and publish things that they very strongly wish and need to change or retract. Pretending that they do not is ignoring reality.

Really? I'd say regardless what their wishes might be, pretending that they can is ignoring reality (at least in some cases). You change or retract things as you do in accounting - by issuing amendments. Not by pretending you never published something, but by updating what you published (i.e. publishing a new version).

> Beyond that, things in the real world are almost always mutable and removable because lawyers can show up on your doorstep with a court order to make them so, [...] If the court says 'stop serving that', you had better do so.

How does that have anything to do with immutability? Immutability is not "The president is Obama", it is "At 01 Feb 2020 my belief was that at 01 Feb 2016 the president was Obama". You can trivially say that "At 01 Feb 2020 my belief was that at 01 Feb 2020 the president was Trump" without contradicting the previous statement. You can even forget what your belief was at 01 Feb 2020. And if the ministry of truth knocks on the door, you might end up to believe, at 01 Feb 2025, that at 01 Feb 2016 the president was Trump. This way, you satisfy the ministry's desires, without violating immutability in any way.
Different Linux distributions ship with various package managers / other userspace tooling. But they all run on top of the Linux kernel. I can see how having a base image called "Ubuntu 18.04" might make it seem like there's an entire OS running in the container but that's not the case. Check out this Ubuntu base image Dockerfile https://github.com/tianon/docker-brew-ubuntu-core/blob/bcdd3..., you can see that it's throwing a tarball for the root filesystem into the container (and some Docker-specific stuff), nothing crazy.
These are really nice PDF notes using the Physics perspective on QM (walk through lots of historical experiments that explain why QM was invented). A good math background would be required to follow the notes, especially linear algebra.

Here is a free chapter from my book on linear algebra that covers quantum mechanics basics from a computer science perspective:
https://minireference.com/static/excerpts/noBSLA_quantum_cha...
Some useful analogies like SQL SELECT-statements and ADC/DAC converters.
The kernel is a tiny, insignificant part of what makes Ubuntu Ubuntu.

Running an Ubuntu user land on top of some generic other Linux kernel will for almost all practical purposes feel the same as running real Ubuntu.
> Synthetic rubies and sapphires have been around for over 100 years and are dirt cheap ($10 for a 15mm one on eBay).

Rubies are much cheaper than that.

At least, I used to order them from Pehnec Gems at prices more like $3 per (in lots of 10+). I haven't bought them in years and pehnec.com currently resolves to 10.0.0.1; not sure what's going on.
At the beginning of each file:

#!/bin/bash
set -euf -o pipefail
cd $(dirname $0)

Then add "" everywhere ;) And they say, write Python instead, except I’m dubious because python programs can have a lot of dependencies which can be tricky to install.
Nope, entirely with you. I listen to quite a few podcasts but I gave up on the daily pretty quickly. I absolutely cannot stand his delivery.
This doesn't really seem like technology that is "needed". When you can actually see the enemy a holo sight in the hands of a trained soldier is probably more than sufficient. Whether it takes one round or 3 to stop the enemy it doesn't matter. Watching this tech it seems super slow to use. Perhaps it might be useful for hitting a target at 1000 yards. But that's such a rare use case.
If you ever want to share and blur out information, I would love to see screen shots of the portals where all of this comes together. Everything is more expensive in Denmark. Does that VAT that you pay, get applied directly to the healthcare system?
There are only 500.
Delivering software is a great usecase for public files. I have my apps on Github or whatever but the artifacts go into my public Keybase directory.
Ok, go ahead and port all 200 of these scripts to Python please: https://github.com/shawwn/scrap

PR's welcome. ;)

Python makes sense for scripts that need good argument parsing, or complicated intermediate input processing. But it's pretty annoying to get a shell pipeline working in Python. `foo | bar | baz` is about 15 characters in bash.

Here's an example. I use `llbranch` all the time: https://github.com/shawwn/scrap/blob/master/llbranch

It lists all branches in a project. It's nicely colorized. What would the equivalent Python be? Who knows, but it'd be much longer.
Yes, it's enough to check the exit code. The parent poster's being overly paranoid.

The only thing that checking the exit code won't catch is bugs in mktemp/bash, or bad memory / solar flare bitflips.
Well, it's one of the hardest known materials...
damn, i guess this humans rights thing is just a sham after all. lets go round up some uyghurs, boys.
Interesting enough several quantum interpretations assume an immutable reality
speed, possibly, possibly not.

For CPU/memory, yes.

For network, possibly (lots of iptables re-writes)

for disk, not so much, docker(depending on what driver you have) suffers from write amplification.
The crypto is not home grown, its standard.

Because other people can trust that the files are from you. Lets say you have some C project on github, you want to release a binary. Put it on Keybase and people can trust it is from you.
> In October 2017, the FBI contacted Hernandez and his parents to ask him to stop hacking, at which time Hernandez “confirmed that he understood the consequences of any future hacking.”
Help or hindrance? How Chinese politics affected the Coronavirus response
Wow, this should go on the readme. I'm sure this helps a lot of people understand what the app does in simple terms.
Nothing bold about it. Nothing correlates as strongly as campaign contribution, especially in enormous districts.

The voters matter less than you think, largely because in these huge districts there will be an incredibly diverse range of opinions. Short of ordering troops to come in and murder people in broad daylight, getting such a huge number of people to coalesce around any single anything almost never happens.
Suppressing fire is used to keep the enemy’s head down and to reduce their volume of fire even from defilade so that you can move shoot and communicate. Obviously it is preferable to kill your enemy but you can’t always see them.
Running an app inside a container on bare metal is way faster than running an app in a VM on bare metal.

- Containers in this case: userspace on kernel on hardware

- VMs in this case: userspace on kernel on virtual hardware on kernel on hardware.

There are very fast VMs (the Firecracker MIcroVM) but they're not in popular use.
> > silencing everyone who disagrees with you

> That is not remotely what is being suggested.

> Toxicity is when a site devoted to people mourning a synagogue massacre is overwhelmed by spamming neo-nazis.

> Toxicity is annihilating a site's function: a site where climate scientists discuss findings needs to be free of an flood of spam from climate change deniers and paid petroleum sock puppets. Such a site exists for people to do their job not waste every day repeating the same basic information available elsewhere easier to people who came intentionally to disrupt.

You only have to look around on this thread to see that "silencing everyone who disagrees with you" is exactly what's being suggested.

Reddit/Facebook/Twitter are being held up as examples of places where deplatforming has worked, and where deplatforming should be more broadly applied. These aren't single-function sites.

Moderation to keep discussions on a topic existed long before deplatforming, and is not the same thing.
Requiring the imports to use the web_modules folder specifically locks all of your files into a proprietary import format. I would no longer have a portable JS library that represents my front end code to be imported elsewhere (maybe?) The video doesn't make it clear how library code would be created with snowpack. I would want my application code and library code to use imports identically. The other problem with that import style is that right now with Typescript I already get context help with my imports... does this break that. I noticed in the video the user is required to look at the bottom of the import file to find what is available. That seems crazy to me.

The video says React would be a problem but the snowpack website references React.

Without the ability to import CSS or other media we would essentially be breaking many packaged libraries, such as material ui for React.

My current webpack time does suck, I think I wait about 1 - 2 seconds for a change to reflect in the browser. But that's still acceptable given I can code in ways that have effectively become standards. I imagine the above could be fixed with some "magic" hacks, etc... but I still worry about some of the deadbolts this product is placing in the sand to differentiate itself. But I'll keep an eye on it.
I can’t speak to Finland just my experience in New England. I just got rid of a 20+ year old Honda del Sol and the dealer was amazed over about the past five years it hadn’t rusted out yet. (I kept it garaged in the winter for about the past 10 years or so. ) My general experience with cars I drove year round was a bit over 10 years before running into expensive rust related problems.
Yep, Nichia LEDs are excellent. But I prefer Chinese manufacturers for LEDs - they're much easier to deal with and quality is good and consistent and availability is great. I recently had some LED emitters custom made in China (low quantity) and the light properties are exactly to spec. I wanted a combination of cri and color temp that wasn't available off the shelf in that form factor. At the quantities I wanted, nobody outside China would even talk to me, but I had several options to choose from in China and the first one I talked to delivered, exactly to spec, exactly on time.
This doesn't solve the problem of "I know the enemy is in that general direction, but I cant see them" which is more or less why you might use suppressing fire.
As a performer, this gratifies my intellectual curiosity. Recently David Olney an American folk singer died on stage in the middle of the performance. His final words and how that all played out struck a chord with me. This was a relatively recent event and the fact that there's a whole listing of such events was intellectually interesting to at least one person anyways.
The Future of Transportation Is the Car
To confuse things even further, Docker on OSX and Windows actually does use a fully-fledged VM that the containers run on.

Truly understanding the Linux kernel namespacing features that Docker is built on certainly takes more effort to learn, but I disagree that it's irrelevant to anyone not working at Docker. Understanding your tools makes you a better developer, and allows you to understand what is and isn't possible.
How to Speak (Patrick Winston)
Statistics tell us: their ancestors. (as in: the best predictor for personal success is the income of ones parents)
I know, right? You're just thrown right in
And you don't know whats going on. And this thing is following you.
You walk and walk around, and then run....
and THAT HAPPENSSSS........
and it was so sad.
SWAT engagements are typically at point blank range and are entirely reflexive firing.

Combat and swat raids have little in common with video games.
We have distinctly different definitions of awesome.
Here's a comment on that from someone working to make a better bash:

https://www.oilshell.org/blog/2018/01/28.html#shouldnt-scrip...
So, you found a phone released in 2017. From Huawei. Super cheap. That isn't even sold in the US. Where all the reviews read:

"Honor 7X has the distinction of being one of the last phones to feature a micro USB port for charging instead of USB-C. Blame the price if you must..."

Well done.
(We detached this subthread from https://news.ycombinator.com/item?id=22209972)
Safe arrays and pointers for C through compatible additions to the language [pdf]
Shell scripts are readable by just about anyone, they're available on every UNIX system, not just the Red Hat/Debian-derivatives of the last twenty years, they're fast as long as you're not doing stupid things, they're easily maintainable, they don't handle dependencies terribly (unlike Python), and so forth.

There's a reason AT&T used to run ads that showed their secretaries, managers, and so on using and writing shell scripts and there's never been a Python ad claiming that just anyone could write it.
In my opinion, side projects are the best way. However the real struggle comes growing professionally as a developer without other people to learn from. If you are doing this full time, you can always gain exposure to others in a local coworking space.
Via negativa: reducing the risk of friendly fire or unintended fatalities is more valuable than a guaranteed hit.
Just love that on HN killing somebody is discussed as a use case.
There’s also a db proxy you can run yourself that sits in front of Postgres and maybe others also named Heimdall. It’s like varnish for your db.
Different tools are better at different things.

Shell is required to be basically everywhere. It's part of POSIX. It's also standardized. Shell scripts written 30 years ago still work, and will probably work 30 years from now too. Shell is probably on your TV.

Not everyone has Python. The most common version in the field is Python2, but that's officially obsolete. Python3 is in many places, but not everywhere. The two Pythons are basically incompatible unless you're willing to put in an effort. You have to work to make Python scripts compatible with both versions, especially if you can only use built-ins, and the results are way clunkier than that 2-line shell script you're trying to replace.

Python is a terrible choice if your goal is a relatively short script that calls other programs. You can call out to other programs in Python, but it's much clunkier and more painful to maintain. And while it often doesn't matter (because neither are speedy), CPython 3 takes more than 50x more time to start than dash and 27x time to start than bash (see: https://github.com/bdrung/startup-time , which shows
Python3 3.6.4 at 197.79 ms, Bash 4.4.12 at 7.31 ms, and dash 0.5.8 at 2.81 ms). That speed is helpful when you want to have a "simple script in a loop".

Python is much better than shell when you start needing more sophisticated data types, libraries, modularity, etc. But the typical use for a shell script doesn't need any of that. If you need that, shell is a terrible tool, because it's the wrong tool for the job, not because it's never useful.

If you're writing shell, use shellcheck. Once you do that, your error likelihood goes way down. Many of the reports of problems writing shell come from a time when shellcheck didn't exist.
Setting Up a Haskell Development Environment in Minutes in Visual Studio Code
Agreed, I didn't mean to teach bad practices to anyone, I am just trying to put simplicity in front of efficiency so that people can grasp the technology better and benefit from that.
I think they mean the following. In Django, a view function, or view for short, is a Python function that takes a Web request and returns a Web response.

So a watcher view is probably a view that returns an extremely short response. It's just telling you whether more data is available, or not.

They mention websockets as an alternative that's far more complex.
I feel like this is some slippery slope logic. Just because human rights violations exist elsewhere doesn't mean we should ignore human rights violations in one place.
I agree, there is not just one true answer to it. For me, I would prefer shell scripts in many bootstrapping processes targeted on system administration. Also as glue language for many GNU tools, shell (then probably bash) is indispensable. With pure shell I can reduce the number of abstraction layers and dependencies. Also POSIX cross-platform compatiblity is a big point, just think of ``./configure`` in software builds.
I guess Apple has sold one too many $3 cables for $29.95 in the iStore ...

I see companies like Motorola, LG, Kyocera, and Nintendo as more abusive. Sell a few tens of millions of devices ,(not 100M a year) and still, use a custom proprietary charging cable and transformer, soldered together in 1 piece so it hits the dumpster in 1-2Y when the cable frays!
Mite-destroying gut bacterium might help save vulnerable honey bees
Hard not to read this with some sadness and bitterness ...
Ubuntu is just a collection of software. The most important piece of software in that collection is the Linux kernel.

That kernel is what is shared between different containers. You can have 5 copies of Ubuntu (or Debian, or Mint) in separate containers, but they're all using the same kernel. This is what makes containers much more efficient than multiple full VMs.
Fennel rocks. So clean, so structured, so concise.
Looking over the robots they support, low cost means about "thousands of dollars" in this context, right?
Your recommendations are a little off in the following ways:

You should use /usr/bin/env bash for the shebang. Some distros, such as nixos, don't have /bin/bash.

You need more quoting in the dirname line. cd "$(dirname "$0")" is what you need. The outer quotes are in case the directory has a space or special character in it, the inner ones are in case the script does.

That being said, you may also want $BASH_SOURCE rather than $0, but the reasons behind that are complicated. You may also want to support cases where the script is a symlink depending on what you're doing.
Twitter pro users should enjoy more features and pay monthly fee
There are a few casts that are allowed that I would consider unsafe, particularly around unions of literals or using empty object literals:

// No error here
type Animal = 'dog' | 'cat';
const notAnimal = 'couch' as Animal;

// No error here either
type Food = { isSpicy: boolean };
const empty = {} as Food;

https://www.typescriptlang.org/play/index.html#code/C4TwDgpg...
I hope someday humans can evolve past war. The cold unfortunate truth is there are people in the world right now that seek to gain power through whatever means they can. To that end, it would be incredibly naive to not develop these weapons systems, and police ourselves to use them for purely defensive purposes. The alternative is to face annihilation when they are developed and used against you. I'm will forever be anti-war, but in order to be peaceful, one must first be dangerous.
Similarly..unverified but word of mouth, they use face analysis in Korea for hiring.
Insightful, thank you. It's a bit theoritcal, but I'd like a way for replies to be sorted by merit versus controversy or popularity. I'm not adverse to the idea that I'm wrong.
Comics as Poetry
That graph puts things in perspective. It turns out that I'm living in a country where opioids are not very available compared to other nations. Here you can't even get cough syrup with codeine in it without a prescription and even then doctors won't generally prescribe that.
Last big thread was in 2017: https://news.ycombinator.com/item?id=14441492

2012 https://news.ycombinator.com/item?id=4741331

2011 https://news.ycombinator.com/item?id=2871748

A bit more from 2011: https://news.ycombinator.com/item?id=3342912

Threads about the related web framework:

2019 https://news.ycombinator.com/item?id=19011356

2014 https://news.ycombinator.com/item?id=7744777

2013 Show HN: https://news.ycombinator.com/item?id=5602917
> America is the only developed country that has the class of "working class poor"

I'd be interested in seeing a source on this, if you have it
I've primarily used Python 2 for 10+ years and I often find cases where shell scripts are preferable.

The major differentiator is usually "shelling out" in Python kind of sucks. It's verbose, output collection and error handling suck, and escaping can be miserable. I often will reimplement things in pure Python if I have the time.

A recent example was I needed to tar+split large files. `tar cf - -C / $filename | split --bytes ${size}MB --verbose - $tmpfile.` My pure-Python implementation used the Tarfile library and I wrote a custom file-like object to split it--at least 50 lines. Both methods have pros/cons, but I had both implementations handy depending on the context I needed it in.

Another recent example was something I wrote to merge multiple video file "parts" into a single video using ffmpeg. It's 4 lines of shell script and would at least be 3x as long to write in Python.

The rule of thumb I have is if it's longer than 20 lines reevaluate if a shell scripting language is appropriate and I haven't really seen a need to change that in ~15 years I've used it.
Just to be clear, are you talking about a publicly listed company or feel that every business, let's say a small grocery store as well is equally responsible.

I feel a company is responsible to its customers and shareholders, that's about it.
For anything that isn't super trivial and I mean super trivial < 10 lines - Perl is a better solution probably more standardised that Python.
All the “American” products are made in China, too, so I don’t see what the difference is.
The post emphasize that docker (or its proper name, a container) provide weaker isolation compare to VM but I wish author can expand on this topic a little bit.

Also I'm disappointed that the good old chroot is not mentioned, or the BSD jail system.
>All wall warts that came with any Apple Phone or iPad I ever used are still usable because they are USB.

Which is totally not a coincidence because back then, the EU was pondering forcing a common standard down producer's side.

I still have a Apple FireWire-wall wart from my old iPod, though. Again not a coincidence. It resides in the box with all the fondly-remembered Nokia- and Siemens plugs from the same time.
CineShader: Real-Time 3D shader visualiser
That is indeed interesting. Anyone know what happened?
What's with these losers always being into fucking kids