skysight-inc/HackerNews huggingface dataset:
I am glad they are looking into this:

Sorry for the following rant, but I really don't think of Firefox browser when I think of code quality. (Still don't even though it has improved a lot in some areas).

When it comes to browsers, I still feel the old Opera browser (presto), that had more features, was blazing fast and small in size (in memory) is a very good example of a finely engineered software. In the early versions they really cared about optimizing for performance, using less memory and less power (on mobile devices) - I am amazed that years after, modern browsers are bloatier now than ever and just don't seem to care as much about these aspect as much as Opera did.

Questions like how modular is Firefox, how easy is it to customize Firefox (add or remove feature from the code), how easy is it for someone to use the Gecko rendering engine in their own project etc. all kind of indicate the bloatier, messier nature of the code within Firefox (in my opinion).

It's like browser developers now a days only care about adding more features (read bloat) without considering any constraints ...
New 23-inch iMac coming this year alongside ‘low-cost’ 11-inch iPad
In my experience, the biggest reason doing a bachelors in CS sucks is because it's a massive waste of time, leaving little to no time for side projects. Programming assignment questions tend to be vague and come with poorly scoped requirements. Usually the professor also forgets to tell you several essential details or has made several errors in the code. An average assignment can take upwards of 40 hours, with 10 or more of those hours spent because the professor was too lazy to check over their assignment for 30 minutes before handing it out. The saying that A students work for C students really makes sense in this context. A students never got the chance to work on what they wanted!
only "a good way" until you(/your grandmother/your kid) get a facefull of unsolicited genitals
I heard this from a Tim Ferriss guest, forgot who, but he said contractual agreements are really for when there are disagreements. I thought that was a novel way to think about them.
Another dilettante intellectual techie trying to play epidemiologist. This time with melodramatic secrecy to boot!
I really enjoyed your "Making Crash Bandicoot" blog posts and the "War Stories" video. I would love to read about your work on Jak & Daxter and working on the PS2.
The reason I started as a remote employee was that I could get a local internship in college at $15/hr and have to live in the city or live at home and drive further. On the other hand I applied for remote internships that I could do from home and not have increased expenses while making $25/hr.

Ever since then I have occasionally interviewed for in person roles only to be almost depressed by the offers received. You’re telling me you are offering a Senior/Lead position ~72-80k without providing a laptop, paying healthcare premiums and expecting them to commute 5 days a week? Sure maybe I’ve been had above average positions/compensation but I’ve had better benefits as an intern.
I remember when this ad campaign started, so I was a bit puzzled to see it here. Guess I'm just old :-)
It doesn't seem that crazy to me. Calling them web browsers is kind of anachronistic at this point. Just the JS engine itself seems like it would be massively complex. It's a VM with a JIT compiler which I can only imagine is quite cumbersome to implement securely
Yeah, I thought that was limited to black market products only though (filled with cutting agents and heavy metals). They basically deemed it safe if you're buying lab-tested products from licensed dispensaries. Seems like overkill to say "THC is dangerous" since THC is not the part that's causing the side effects?
We are also seeing MLIR emerging as a compiler framework and LLVM being a dialect of that. This is happening within the LLVM project itself. From this point, it may be easier to write compilers without bringing in all of LLVM with it.
> No reason why I couldn't work for multiple companies though.

Many the employment contracts have a "no moonlighting" clause, which basically says that one won't be working for another employer during the employment period.
I'm not familiar with CRDTs, though I'll look into them -- thanks for the pointer. To clarify my original idea/question, the following example:

Yeah sure, imagine you're trying to compute count of how many times you've seen something. This is a SUM aggregate.

I assume the reason the author said "Ensuring aggregates are essentially single-threaded entities is a must" was because they are mutating a single key, if two different processes try to change the same value, you get inconsistent state.

An example of this would be:

Current K/V Pair: "A" -> 2

Modifier 1: Reads "A", gets 2

Modifier 2: Reads "A", gets 2

Modifier 1: Writes "A" -> 3

Modifier 2: Writes "A" -> 3

This means our sum is now inconsistent, as we would expect the value to be 4 in a single-threaded system.

However, because we are doing a sum, we can use commutativity to remove this conflict. Instead of each writer trying to write to a single key, you might make a compound key (Id, <Unique Writer Identifier>)

Current Value Pairs: [("A", "Modifier 1") -> 1, ("A", "Modifier 2") -> 1]

Modifier 1: Reads ("A", "Modifier 1"), gets 1

Modifier 2: Reads ("A", "Modifier 2"), gets 1

Modifier 1: Writes ("A", "Modifier 1") -> 2

Modifier 2: Writes ("A", "Modifier 2") -> 2

Then, a reader could just ask for all the keys with the prefix "A" (This is the range query). So a reader gets back (2, 2), which then can now merge into 4 as SUM is a commutative operation. Because the reader is taking care of the final aggregation step, there's no concurrency conflict so you can get away with having any number of writers as long as the read and read-side computation is cheap enough.

Some aggregates are commutative only in certain forms, like AVERAGE. To explain further, if one writer says the AVERAGE is 5 and another says it is 7, I can't combine those to say that the global average is 6.

However, if each writer stores both SUM and COUNT, I can use (COUNT1 + COUNT2)/(SUM1 + SUM2). This is because division doesn't commute, so I have to delay the non-commutative operation until the reader if I want to be able to merge two data sources.

Edited: Formatting
When you call someone, they can see your video feed before they answer the call.

Seems like the sort of thing that perverts would take advantage of.
I've read that you need to be a bit bureaucratically crafty, but it is possible. My source is Clement Mihailescu's YouTube channel. He had quite a few videos that were much more in-depth than the videos of Google on how it is to work there.

And while your strategy makes sense, I can't imagine applying to Warsaw (currently the only graduate position open) and answer any "why Google in Warsaw?" questions with a straight face. Because the answer is: after a year I want to transfer away. Though I wouldn't mind to live in Poland for a year.
I didn't see where this might be controlled for, but presumably someone who's a contractor gets paid more because they're dealing with their own benefits, and it's much more common for contractors to work remotely than in-office somewhere.
Which is why the manufacturer shouldn't have branded them as NAS drives!
Wow I am really, really impressed by this. Amazing job!
LLVM while a very successful project isn't nothing new as idea.

IBM had several LLVM like projects during the 70's, and that is how their surviving IBM i and z/OS work anyway, with language environments that AOT at installation time.

Likewise there were projects like Amsterdam Compiler Kit among others during the early 80's.
the main reason why elevators in Hong Kong do not is that most of them are high speed high-rise elevators and the numbers just whip by. It would probably be very frantic sounding to use Morse if you went from ground to 50 in less than a minute.

Instead they only announces floors that are stopped on, so this works fine.

One benefit of using spoken vernaculars rather than Morse is that Morse has to be taught; Hong Kong historically draws large portions of its population from migrants originating from all over China, where until recently there was wide variance in schooling and literacy rates.
Kubernetes state management with Pulumi and Python
Yay, thanks! Appreciate it. :)
I'm not sure I fully understand this. Is the speed difference caused by the options limiting the use of pre-computed nodes? As in, looking for guarded bike roads limits the search for pre-computed nodes' lengths and the search has to be deeper as a result of thay.
I think you’re underestimating what browsers do. They have an incredibly performant and highly-tuned VM, an extremely flexible and powerful layout engine, a comprehensive set of media players, and that’s not even talking about networking, security, and UI.
Right.

It always kind of puzzles me when folks start nonchalantly talking about what kind of restrictions could be placed on speech in order to make it less toxic.

Talk about a slippery slope.

The reality is that social media is exactly as toxic as the crowd that runs any one splinter of it, and it's not by any means a cohesive whole.

I think that there is some irony to a group of computer scientists looking at a social problem from a context of "What filters can I apply to this bad data in order to have a good output?". I think that it's (mostly) irresponsible, and damaging as a trend.

Basically : service providers are in a conundrum where the product they sell appears to be discourse and speech, but due to human nature the 'product quality' dwindles, so the service provider treats the 'product' like any other, and iterates over it until it sells better.

Shaping discourse and speech in an effort to 'sell better' as a social media 'product' is going to silence a lot of people, and is in no way free discourse.

'How it sells' is not a valid metric for the judgement of discourse, unless you're profiting -- and then that position puts your motivation towards purely free discourse into question.
That's exactly why it works--it appeals to relatively young men who take great pride in being from Texas and the badassery around that. Those were the guys who littered, and were the problem. So they found a way to appeal to them.
I havent seen a whitepaper as such, but their help goes over this , they say the private keys are saved on device only
https://support.google.com/duo/answer/9280240?hl=en
Pas mal. « Fouineur » est plus proche, mais en général je me contente de dire « hackeur ».
Eystein the Fart
I'll also have to say that the course labs look far more interesting than they were a decade ago. Implementing a new linux syscall to readtsc isn't particularly exciting...
90% of my job is get data from database, handle concurrency, show data to user, save data changed by user. I literally could most likely do my job with 0 CS.

However, CS exposed me to a lot of different concepts, algorithms, a lot of math. I obtained an associate degree before getting my BS in CS and I did not unlock the key to learning until the CS degree. I feel like I can quickly pick up different things now. I was able to build a 5ft tall retaining wall and submit plans to the city then execute the project. I literally can perform almost all jobs on my car, except machining engine blocks as I lack the equipment. I completely remodeled my house, learning different building codes.

I feel a BS in CS gives someone a huge advantage, they have proven they can accomplish something, and should also have unlocked the key to learning that works for them.

I am not sure if MS in CS is worth it though. I thought about it myself but would probably go with MBA instead.
> Your statements in the first paragraph are contradictory.

> Vedas says one is born according to his past life karma.

It seems like there are some gaps in your understanding of Hindu and Vedic thought. Yes, you are born according to your past life karma, but the soul (in a body or in the other loka) always have free will – so you chose your karma – you chose to do actions that created future karmas to be resolved. By extension, you chose your birth. This is the full understanding.

> If people were allowed to change caste most people would have changed to priestly caste as it is the most easy life one can have.

You are misconstruing the abuse, misapplication and misunderstanding of the varna dharma with how the Vedas define it.

1. In the original varna dharma, there isn’t an “easier life” for one caste or another. Everyone does there dharma and that takes work. According to the Vedas one caste is not superior to another, they are equal but different.

2. Your natural abilities are the way that you choose your caste. One person has no interest or ability for the spiritual life, but they are good at business. Your natural abilities are chosen based on past karma, which you also chose.

> No father would want his child to convert to lower caste.

Of course that is so when in the abused and misapplied varna dharma. This would not be a problem if the varna dharma were applied as it is in the Vedas. A person of the priest caste would offer equal respect to the worker caste, for example.

> but still mass education happened only after their conquest.

Which has been very problematic. Education for all is good, but they have enforced Christian education and many other negative things. I am not arguing that before the British things were perfect – the argument here is how the Vedas defined the varna dharma system vs how it has been misapplied, both before and after the British. Please understand this – you originally stated misinformation about what the Vedas say.

> Assuming this is true, who has the authority to decide who should belong to which caste. Obviously the people in the highest caste will decide and they will try to main the power. Its simple as that.

Continuation of the misapplication of the varna dharma, against the teachings of the Vedas. The authority should be by one’s own volition and the community.

If the varna dharma is actually applied as it is outlined in the Vedas there is equality and justice for all. But it has been abused and used to keep certain people in power. That is not the way it is outlined in the Vedas. This inequality is wrong and against Vedic teachings.
Memorised a 14 character (incl. punctuation) password after attempting that, and really didn't take me long, unfortunately.
> Make sure that before you sign a contract at the new place, that you strike out anything in the contract that requires you to hand over IP of things developed outside of company time and outside of company resources.

Practically impossible with companies moving to electronic forms. I've found every electronic form presented to me has had less than zero ability to actually negotiate with the other party.
NeWS wasn't designed to replace X11, which didn't exist yet when NeWS was designed. At the time NeWS was designed, it was called SunDew. X10 existed, which David Rosenthal worked on (one of the authors of NeWS, and later he wrote the X11 ICCCM window management protocol), and Gosling and Rosenthal also worked on CMU's Andrew window system (long before Andrew was ported to X11).

https://en.wikipedia.org/wiki/David_S._H._Rosenthal

I posted this earlier, which goes into lots of details, which I'll excerpt:

https://news.ycombinator.com/item?id=13783967

Here is one of Gosling's earlier papers about NeWS (originally called "SunDew"), published in 1985 at an Alvey Workshop, and the next year in an excellent Springer Verlag book called "Methodology of Window Management" that is now available online for free. [1]

[1] http://www.chilton-computing.org.uk/inf/literature/books/wm/...

Methodology of Window Management

F R A Hopgood, D A Duce, E V C Fielding, K Robinson, A S Williams

29 April 1985

This is the Proceedings of the Alvey Workshop at Cosener's House, Abingdon that took place from 29 April 1985 until 1 May 1985. It was input into the planning for the MMI part of the Alvey Programme.

The Proceedings were later published by Springer-Verlag in 1986.

Chapter 5: SunDew - A Distributed and Extensible Window System, by James Gosling [2]

http://www.chilton-computing.org.uk/inf/literature/books/wm/...

5. SunDew - A Distributed and Extensible Window System

James Gosling

SunDew is a distributed, extensible window system that is currently being developed at SUN. It has arisen out of an effort to step back and examine various window system issues without the usual product development constraints. It should really be viewed as speculative research into the right way to build a window system. We started out by looking at a number of window systems and clients of window systems, and came up with a set of goals. From those goals, and a little bit of inspiration, we came up with a design.

GOALS

A clean programmer interface: simple things should be simple to do, and hard things, such as changing the shape of the cursor, should not require taking pliers to the internals of the beast. There should be a smooth slope from what is needed to do easy things, up to what is needed to do hard things. This implies a conceptual organization of coordinated, independent components that can be layered. This also enables being able to improve or replace various parts of the system with minimal impact on the other components or clients.

Similarly, the program interface probably should be procedural, rather than simply exposing a data structure that the client then interrogates or modifies. This is important for portability, as well as hiding implementation details, thereby making it easier for subsequent changes or enhancements not to render existing code incompatible. [...]
So, this is probably a sign that the new Pixel Smartphone will have an AV1 hardware de/encoder.

In Software, with 720p video (or more), the battery of the phone would be empty in no time.
Microwave ovens are not that horrible against bipolar transistors. They are completely lethal for MOS-FETs, but one can make electronics that survive it.
Chrome has the same issue. The thing is, Safari is deeply connected to OS X and its internals to save as much energy as possible. Apple can do this and tie the code to the specific hardware, kernel, and what else matters that Safari runs on as they control everything. Chrome and Firefox cannot.

I would not be surprised if someone tells me that parts of Safari hook into private APIs in the kernel, the graphics driver and the other parts of the graphic and input stack to achieve the (measurable!) performance advantage over other browsers. For me personally, this is uncompetitive behavior that should be punished, but oh well, anti-trust legislation isn't exactly something that got much use over the last decades :(
you have to account for someone using a on screen keyboard to input their credentials.
What's next? Banning unapproved use of maths? I mean, what if you invent the next million dollar equation without giving it to Apple... can't have that. Also, I guess if you're a hardware engineer... well, I guess you can't use your tools to fix your car anymore. Search engineer? No more regex's for you.
So you work for Microsoft, which explains why you're interested in taxing Amazon. Good to know that your conflict of interest is now laid bare. Your salary may not be paid by the homelessness industrial complex, but it is paid by a direct competitor to the entity you want to see taxed to pay for this. Let's tax Microsoft instead.
> unless the invention is in competition with the employer.

Companies like Google, Apple, and Amazon work on all sorts of projects. I don't think it's possible to know what is actually in competition with companies like this, at any given time. This is probably why most require permission. With somewhere like Apple, where everything is kept secret, asking and being told no would confirm the existence of a project.
But it's not "taking" if I, as a working person, gladly pay my government to keep my society pleasant.
Not defending Amazon, I'm an indie game dev who wants to own his off work hours side project. But Amazon Game Studios is releasing a game called "New World" this year. [1]

[1] https://en.m.wikipedia.org/wiki/New_World_(video_game)
I thought you might render a snapshot of each few chunks from maybe 16 angles and compose them together like backdrop pieces on a stage. Update the snapshot every time a player moves over that chunk. Just patch into the render function: are we within the (basegame settings) chunk draw distance? (yes) - render the chunk - (no) - retrieve the "backdrop piece" for that chunk from this view angle, and draw it behind everything else rendered so far.

You could even add atmospheric effects to cheat and only save a monochrome image, then tint it progressively bluer and bluer (but not invisible) with distance.
> It's not about logic at all.

Yes, it is. Believe it or not, I described it. I wasn't describing the logic of being addicted, or of how to overcome addiction, but of conditions that affect the decision to try to quit.

> Look at the 12 steps program of AA, there are no "thinking" or "logic" steps.

You're either deliberately or ignorantly misrepresenting the 12 step program. They are nearly entirely about reasoning (even if you don't particularly subscribe to the suggested reasoning).
Ca peut être toxique par moment en effet.

Dans les préférences de HN, il y a un mode `noprocrast` qui te bloque l'accès au bout d'un certain temps passé dessus, c'est bien pratique.

Dans le même style, une extension [1] pour Chrome et Firefox qui limite le temps passé sur certains sites vient d'être postée, je vais tester ça sur YouTube et Twitter.

[1] https://news.ycombinator.com/item?id=22936742
I like the tui UI, what was it like mapping it layout in the terminal? I've always wanted to try building a CLI interface like that.
Right hooks mostly happen when a cyclist is overtaking a car on the right hand side. This entire class of collision can be avoided by not passing on the right. If you see a car slowing down mysteriously, even if it is not signalling, assume it will try to kill you and keep your distance.

(I've ridden about 800 miles by bicycle so far this year, and >4000 total since I started using a GPS. No right hooks or right-hook close calls.)
Homomorphic Internet: Is Covid-19 the Catalyst?
> The developer in case chooses to abandon his open-source projects to work for a company of his choice. Nobody forced him to take this job, it was his choice.

This is so reductionist that it's blind to reality.
A very good write up. The initial premise is something I agree with: that the virus has shown up existing weaknesses in the US political, economic (income inequality, taken to extremes), and cultural matters. The pandemic has been a magnifying glass.
This is purely condescending and unhelpful.
I don't know the exact legal situation in the US, but let me assure you, the described legal copyright situation is very much possible, because German copyright works exactly like that.

I am a software developer, so I write software. I am employed full-time by an employer for which I (usually) write code, documentation and such, and still I own the copyright to each and every line of code or documentation or whatever I write. Simply because copyright in German law is non-transferrable. Even if I want to, I cannot sign over the copyright to anybody else, hence my employer couldn't make me sign it over to him in my employment contract. Instead, there's a clause that I grant my employer an exclusive and irrevocable right to use the work I create during my paid work time in any way he wants. This effectively leaves me with the copyright, but I don't have any rights to profit off of that work anymore, so that copyright isn't of much use to me.