skysight-inc/HackerNews huggingface dataset:
There are a number of cynical comments here about how they weren't making money on the technology and are just announcing this for PR reasons. Well, maybe, but isn't that sort of cynical response even worse?

I'm rabidly against the use of facial recognition on unwilling subjects, whether it's a government actor (by far the most oppressive use) or a corporate actor. I'm rabidly against public space cameras. I want to see this technology die and never return.

We all love to pounce on companies for doing things we don't like. Why don't we celebrate this as the victory it is? Of course there's a PR component here. Why wouldn't they make an announcement? Why wouldn't they do it now when the audience might be more receptive to the idea? The fact that they weren't making money off it is unlikely to be the only reason they're canceling it. IBM plays the long game, and there's absolutely a market for this technology. A huge and profitable market. They could have kept at it and turned a profit.

So, yeah, they're trying to make some hay, but not every corporate action is purely cynical and evil. Let's appreciate that they've made a positive change, and let's hope that it increases awareness of a horrible technology, and puts pressure on the more egregious actors like Amazon and the defense industry. We don't have to pat IBM on the back, but we can cut them some slack.
Amazon are just using their competitive advantage. The world has changed, potentially through the introduction of Amazon, whereby consumers now want cheap products, now! Amazon can do that. People who are shopping for the first product they see don't have any brand affiliation and therefore it makes sense. If I loved a particular brand of coffee I would seek them out on Amazon.

Amazon are using their platform to cover off those customers who are neutral in their brand preference.
Yes, because guns in the UK are rare and police officers aren't going to engage someone with a gun when they're armed with just toys.
Following the scheme established by GP's list surely it would be something about purpose? This won't stand well in a translation...
Interesting that this company IPO'd recently as 'NKLA'. Unlikely but imagine a Tesla partnership for electric trucks, naming it Nikola Telsa Trucks.
Interactive LISP consoles were used before UNIX or Multics existed.
Hi HN, I wrote an assembler for the LC-3. This is part of my journey of learning how to write a compiler.

The assembler is written in Python, and tries to stick to as simple a subset of Python as possible (essentially, just functions and dictionaries with dot syntax sugar). All control flow leaf terminations are explicit (e.g. continue, break).

Idiomatic Python style is not a goal. Rather, the goal is to minimize the amount of syntax knowledge needed to follow the code. The code could be made much shorter with some clever refactoring, but brevity is a non-goal.

This trivial coding style will hopefully make hacking on the code more approachable for others just learning about lexers / parsers / assemblers / compilers.

The assembler is a simple two-pass implementation: create the symbol table (determine the addresses of all labels) in pass 1, then generate the machine code in pass 2. This is described in chapter 8 of the LC-3 book (Introduction to Computing Systems: From Bits and Gates to C and Beyond).

The LC-3 ISA consists of only 15 instructions, making this a simple task. One oddity is that the ISA is word-addressable, not byte-addressable.

The lexer is a simple regex-based implementation, and the parser is simple recursive descent. This approach is described in Gary Bernhardt's "A Compiler From Scratch" https://www.destroyallsoftware.com/screencasts/catalog/a-com...

The lexer and parser output can be dumped (in JSON format) via command-line flags.

Additionally, the assembler also _accepts_ pre-parsed JSON input. This allows one to build a custom assembly syntax front-end and use this assembler as the back-end: all they have to do is generate the appropriate JSON output. Again, hackability is a goal! (How I wish other compilers allowed AST input!)

A good practice project would be a reimplementation in Golang, focusing on speed.

If you enjoyed this, you may also enjoy my trivial lisp interpreter in C series: https://gist.github.com/cellularmitosis/d8d4034c82b0ef817913... or my lang-related list of links: https://gist.github.com/cellularmitosis/1f55f9679f064bcff029...

Happy hacking!
Do you accept that America with ~350m people has ~20k deaths from the flu each year, while china with ~1.5b people only has ~18?
There is a curious symmetry in that the average Westerner is just as ignorant about calligraphy as the average Japanese is ignorant about typography.

In Japan this is reflected everywhere in choice and typesetting of Western fonts. Products, websites, newspapers, business cards.

It is almost a monoculture in choice of fonts and completely devoid of any microtypography or typesetting rules unless helped by stuff built into software.

The enforcememt of rules that essentially lock a student into a narrow and arbitrary ‘standard’ character set for their handwriting reflect the lack of understanding of the important role typography plays in Western communication and how your style of written letters is an expression of personality.

This is regrettable as handwriting of Western type is probably the closest ‘intersection’ with the art of calligraphy that has deep roots in Japanese culture.

As someone who studied typography and loves to do calligraphy doodles all the time and who helped digitize quite a few handwritings into fonts I’m saddened by this.

But having lived & worked in Japan, certainly not surprised.
I feel like this should be simpler:

MISH_CMD_NAMES(set, "set");
MISH_CMD_HELP(set,
"set 'cnt' variable",
"test command for libmish!");
MISH_CMD_REGISTER(set, _test_set_cnt);

Should be

MISH_CMD(set,
_test_set_cnt,
"set 'cnt' variable",
"test command for libmish!")

Which can expand as needed.
On some level, I love this, it's just wonderful, lots of neat diagrams and words and numbers that make intuitive sense. But "explains" is a rather strong word. It's pseudoscientific mysticism, in the spirit of Pythagoreans or Jordan B. Peterson. As long as we all understand this, good.
That sounds like a feature to me.

Noncompetes are terrible, and you should be prepared to pay out of your nose if you want to keep an employee off the market.

As long as you're not forced to pay that money, it's all good. It just means that the employee can actually switch jobs immediately (for a better pay or not) unless you're willing to pay them however much they're willing to stay out of the market for.

Say I make $100k today. I get an offer at a place I really like, for $150k. I'd really like to go there, but they're also a competitor. I offer to stay home for $200k, and if you don't want to pay that much, then I go to work for $150k.
Kanban vs. Scrum: best Agile frameworks for the age of uncertainty
There's also the difference between building bottom up with full knowledge of what you built, like the Apollo program team had (even if they bought something externally, the people who made it were available to the team, and/or the team studied the items in depth).

And then there's modern world of slapping together libraries that are often not known, sometimes with closed source, sometimes without real documentation. I've had to use disassembler in the past to access framework we were supposed to use...
Abstract/article (open access):

Ground-penetrating radar survey at Falerii Novi: a new approach to the study of Roman cities

https://www.cambridge.org/core/journals/antiquity/article/gr...
> We are now very close to the concept of a neighborhood grocery store.

Which already exist in most places that have more than a few thousand people in the UK.
Posting in agreement with you, I think it is more intuitively satisfying to say something like "|X| is the smallest well-defined mathematical object that is >= the size of X. |Q| = |Z|".

It isn't intuitively satisfying to say that there are "as many" rationals as integers because that is obviously not true; there are multiple rationals between any two integers. An argument to ignore that pattern as we scale up to infinity is rather flimsy.

But if we talk about infinite sets we are forced to admit the existence of well defined things that are plainly larger than |Z|, and no such well defined objects that exist between |Z| and |Q|.
Having done it myself in the past?

Setting up and taking care of k3s is much easier.
Only with a choice of weapons. :-)
TL;DR “we’re completely dependent on AWS and have given in to vendor lock-in” ;)
> when I want to unmute to say something, I have to hover my mouse on the bottom of the screen and the unmute button pops up.

Microsoft Teams does the same thing, only with the entire toolbar, not just a single button.
I always wonder why people have this second thought about these super complex and convoluted sneaky edge cases. Maybe I'm being naïve here, but I truly think that this will happen in less than the 1% of the candidates, there are just so many jobs offers to waisting the time on doing all that for a "chance" of trick one interview, which you might not even like the offer and then ending up rejecting anyways.

I think that you should work on these trust issues, the interview process is about hiring people not rejecting them.
Building it yourself is also a case of "resume-driven development".

Not that there aren't good reasons or good outcomes from having done a deep dive, but just putting it there.
The tech industry in California does just fine without noncompetes.

For years, they (led by Steve Jobs) "did just fine" because they (Apple, Google, Adobe, Intel at least) illegally acted as a no-poach cartel:

https://fortune.com/2015/09/03/koh-anti-poach-order/
I also thought it was pretty dreadful, even attempting to suspend my disbelief etc.
As mongodb is to data
Wow, this bundle is huge. I hope there is a way to filter the games included based on ratings or playability.

On the other hand, sometimes it is nice to explore more outré concepts. A big bundle like this certainly lowers the barrier for simply trying games without any expectations.
With solutions like that getting more popular, it will reflect in the future price of our expensive noise-cancelling headphones :)
Interactive map from IATA shows you which countries are open for travel
Then have your Dockerfile build from source. Many of the public layers that people build their containers upon do that for that exact reason.

If NixOS is only "generally speaking" correct because of the order it runs its scripts, then put it in a Docker container, where the whole point is to perfectly reproduce the order you run your scripts in order to minimize the errors that arise from doing otherwise. Still worried? That's why layers exist, so that every step you run you now have a static binary that you know will never shift under you, and that you can keep on building on top of.
I can't help but look at this from the other direction: why does code constantly have to be updated? There's something to be said for something that, once built, simply works.

People love plenty of old things: antique furniture, oldtimer cars, classic books from centuries ago, monumental buildings. But software needs to be constantly rewritten en updated, and that takes a lot of work.

On the one hand I don't want to make the case for outdated languages and systems, but on the other, we are spending a lot of effort just keeping things up to date with the latest technologies. Sometimes that's really necessary of course; security holes need to be fixed, and frequently new features are necessary. Better ways of doing things have been discovered or developed. But man, there's a lot of effort going into these legacy systems.

Although I love learning new things, I also kinda hope that some day we'll reach systems and languages that are so well-designed that they don't need to be changed much, or at least keeping them up to date will become trivial.
Putting the “Transgender Activists versus Feminists” Debate to Rest
Actually you can prove it and it has been proven. Genetics have a minor say in who a person is, and racial factor is equivalent to statistical error. For example there are adopted black children in very white populations, e.g. in Eastern Europe, where I live. These children are absolutely no different to kids here - and the white kids here know from experience that a person that grew up here (among our people) will be just like them. And the same goes for other ethnicities/nationalities that are considered different in personality, e.g. Arabs, Greeks, Italians, Spanish people... It's all about the upbringing.

I am not familiar with any scandals, and in the case of Ivy league schools I am always asking why that school? There are thousands of cheap (for everyone) high quality schools. The fact that few well known schools are using race to distinguish high income students is wrong (now you at least have some view into what racism is, imagine how bad it must be to be a minority), but it is not happening universally as you suggest.
And if you can't size it, you can't size swap either so yeah.. monitor and then do what you need to do.
Why not just get a 43" monitor instead of trying to misuse a TV as a monitor?
Open-source guide to understand Cloud computing terminology
Amazon has been criticized before for selling some third-party products of very low quality. Something they can solve by using the top-spot for their own brands, without completely marginalizing the third-party providers.

And it's not like you can't make your own online shop or at least a nice web page explaining your product better than at Amazon. I wish more sellers would go to the trouble of doing that.
A few bad apples spoils the barrel.
I personally (anecdotal) feel that the Java world is a lot more formal; there are some Strong Opinions held in what "good" Java code is, which is missing in Javascript. This is in part due to great books like Effective Java, and in part due to editor / IDE support that will warn you and help you write great code - keep in mind that good IDE support has been missing in Javascript for years because of its lack of support for e.g. modules or namespaces, and its lack of Opinions.

Java's community has been Opinionated, whereas the JS community has been a lot more freeform. JQuery and NodeJS have been very influential in adding an opinion to the language; jquery by adding a kind of namespacing and scoping (also thanks to its predecessors / peers like YUI), NodeJS by adopting a module system (CommonJS) and centralized dependency management (NPM).

I came into JS via Java and while the lack of standards and rules / expectations was liberating, I was also missing it. It took a while before the best practices of Java made it into Javascript; in my experience, AngularJS was a big push for that, in that it was a much more opinionated way to structure your components and application - with a strong emphasis on (unit) testability.
Would it be useful in Chinese? I thought each character is basically a word. Or is that only sometimes true?
"conversations have led us to the conclusion that our customers want continued support of Swarm without an implied end date."

https://www.mirantis.com/blog/mirantis-will-continue-to-supp...
I think an incredibly simple coding test is enough.

At my previous role we were surprised just how many people looked good on paper for a development role but barely even attempted the first question on a 3 question HackerRank test.
FreeBSD Head Binary Upgrades
Curl a Dog
One of the best law schools in India is called "National Law School of India University". I had a great time there as an exchange student, but boy, there is some heavy parsing involved in that name.
The main argument for non-competes comes from banking/professional services (thinks accountants or lawyers). It's to stop you taking all your clients with you when you jump ship. It's typically only enforced for partners or really senior managers and the theory is, it allows the company time to cement their relationship with the client while you're out of the market.

I have often seen it enforced as, you can go (after your notice period/gardening leave) but you have to stay away from a set of clients for the period of your non-compete.
I don't think that most people would prefer not to stay sober. Given my experience it really depends of your age. 22 years old me would have laughed if I said that I now prefer to spend times with my friend playing board games in the afternoon instead of just drinking all night. I see a lot of people in my circles that were heavy drinkers in their 20's and now in their 30's are naturally drifting towards enjoying other things more. The catch is to not cross the line to addiction during that time, and here being middle/upper class makes the difference because it usually means your life is mostly on tracks (like having a job), with positive social pressure from friends and family to go too far. Not everyone has the chance to have that.
Lots more such tools at https://jvns.ca/debugging-zine.pdf (opensnoop-bpfcc and strace would be the most like this one)
Detailed Analysis and Information on Cryptocurrency Indices
Metafont is a really nice program for designing typefaces. There are two stand-out features:

(1) You specify control points on the outline, not outside (as with Bezier curves). That's something Peter Karow already did with Ikarus, but it didn't prevail.

(2) You write programs. Obviously that was a non-starter for the type-designer profession, which is much more programming friendly today, but back then it wasn't.

Oh, and read up on the "hinting" mechanisms in Metafont, it's lightyears ahead of Type 1 hints and TrueType instructions.

Obviously, today it's long in the tooth: 128 glyphs are way to few, the fact that it creates bitmap fonts is en vogue, either.

Still, a fantastic tool from which you can still learn a lot.
Could you go into more detail or provide any resources/blogs on this? We're lightweight users of EKS and I'm interested in avoiding the issues you mentioned.
Honestly if I were a POC the last thing I would want is accurate facial recognition.

FaceID will work regardless thanks to depth maps.

I can't see any other use of the technology benefiting me.
I think this falls squarely into the sort of non-tech political news that doesn't fit here. I have some sympathy for the company, but it's 50 manufacturing jobs in Minneapolis, and all the interesting conversation will be around political topics like law enforcement and the enormous racial disparity in the twin cities.
Linklaters, Goldman Sachs, et al., Invest $27m in H4 Doc Platform
> Somewhat flippant answer here: the right number of MongoDB servers is zero.

AMEN to this one.

Very nice answer. It's the way we run infra.
Not everyone you meet has good intentions for you, your projects or the company.
What we seem to forget is that the hiring process is actually to hire people not to reject them.

Companies should remind themselves to help out the candidate, give them prep material, and create a safe and relaxed space if they want to see really how a person will perform in their daily job. I think that a lot of this is driven by big company ego where a high rejection rate implies a higher reputation because of course: "we only hire the best, that's why so many didn't make it" this is a total bias IMO, a sane metrics for a smooth interview process should not be based on the result of the interview solely. You should ask your self how diverse are the profile that you are able to attract, how long did they stay and how good their annual/performance review goes after 1 year, what's the feedback of their coworker and leads after 3/6 months. Getting feedback out of this and tune the interview process interactively and in a data-driven fashion, because this is what it is, a process that can and should be improved, not a sort of fetish medal to show people and (falsely) say: "Hey look how cool I am, I hire only `the best`"
Not the first (or last) time Brave does something scummy. Impersonating YouTubers, adding affiliate links, what is next?
Honda's entire business operation down after being hit Ekans ransomware attack
Performance Evaluation of AWS, GCE and DO by Cloud Spectator
I'm taking about genetic diversity over time. From there you can extrapolate back to when to common ancestor existed. To within a limited number of generations.

This calculation shows this common ancestor existed between mid November to December.
I loved the rocket they used to take off from Earth. I was also fine with them landing on other planets. Where this broke, is that after they reached those other planets, all of a sudden they didn't need a rocket for take-off anymore. Just pretend you're the Millennium Falcon and take-off without needing much fuel. As if by going through the wormhole, they entered a universe where physics worked differently.

I'm totally on board with movie physics, but it's the inconsistency of the physics that's jarring. Especially if they then claim it's the most realistic hard-SF space movie ever. It started out that way and then abandoned it halfway through.

Still loved the movie, but the physics wasn't very consistent.
Probably by "most" he just means he's talked to 20 friends who head up devops for such large-scale platforms, and 19 out of 20 explained how it didn't work for them, and he then assumed that's generally applicable for the other couple thousand out there.
I am partial to user research and startups, so some of my favorites are:

/r/Entrepreneur

/r/GrowthHacking

/r/prodmgmt

/r/product_design

/r/ProductManagement

/r/startups

/r/usability

/r/userexperience

/r/UserExperienceDesign

/r/UXResearch
Ah interesting, I didn't know that. Thanks!

I've been using exactly this method for a few months as a cheap alternative to a VPN for putting me in certain countries (that AWS has a zone in of course). I was always very careful not to access sensitive websites when using it - I guess my caution was misplaced!
I enjoyed a non personal specific event. Thank you.
- There should be only one way to build, test and deploy the project. It should be as simple as possible.
- Every environment should be as close to the production environment as possible. The local and staging data should closely match production data.
- Easy mistakes should be prevented by automation. Commit hooks, linters and other tools should maintain quality at a low cost.

Generally, it's all about reducing friction and preventing human error where it's cheap to do so.
Programmer Lives Matter
Why skyscraper architects always return to Art Deco
that anybody could use

If it isn't going to help sell some other product or service then I think that is unlikely.

but also because Apple doesn't really know how to manage and run certain online services well

That was certainly the case ten years ago, more recently they seem to have improved.
Trump’s Space Force Loses Early Trademark Battle to Netflix’s Space Force
I think the point is more that the complexity of a cluster of VMs that manage the lifecycle of containers is often overkill for a service that would work with nginx installed on Ubuntu, and that often times the former is sold as reducing complexity and the latter as increasing it.
Do you have any examples of brilliant innovative musicians that did not master the basics very thoroughly?

I don’t believe the commonly repeated idea that rote learning and repetition would somehow inhibit innovation. I’m quite sure it’s the opposite. Take Rodney Mullen, by far the most innovative skater ever, he practically created new school skateboarding. He’s a machine, completely mastered old school and is extremely consistent.
Starting and Running a User Group