skysight-inc/HackerNews huggingface dataset:
There is a way to verify the new SW file when it updates and warn the user (but not prevent the update), but for now it's quite hacky.

- There's an "updatefound" event with which you can listen for updates to the Service Worker

- You can request the new SW file from browser cache with: fetch('/serviceworker.js', {cache: 'only-if-cached', credentials: 'same-origin', mode: 'same-origin'})

You would hope that that's all you need (just register for updatefound in the SW file, and when it updates, check the new one, if verifying fails, warn the user). Unfortunately, the new SW can kill the old SW with skipWaiting(). I opened a bug to try and fix that [1].

In the meantime, you could instead listen for the updatefound event in the web application. However, the example fetch() above would go through the new SW, which is no good, but...

- You can bypass the SW from the web app, but only by basically relying on a bug in the spec: if you send a request from an <iframe srcdoc="..."> (or data/object url) it doesn't go through the SW. That will probably be fixed, but a less hacky mechanism will probably replace it [2].

There are some other remaining issues (some of which are discussed in [1]), but given the above the probability of detection of a malicious Service Worker is very high.

[1]: https://github.com/w3c/ServiceWorker/issues/1208

[2]: https://github.com/w3c/ServiceWorker/issues/1026
You’re assuming having a concentration of highly paid workers is a net positive, yet it’s worked out terribly for tech hubs. It drives up the cost of housing and strains infrastructure, with marginal tax base benefits.
How about tips for not moving to management? I like being a developer. I do not like people and I do not want to manage anyone.
> Presumably if we understood and could recreate this reaction, we could create the electrochemical gradient directly

We don't need to reproduce the reaction, we know how to create a potential (in Volt) gradient between two faces of a membrane : you just need electrodes for that purpose.
If they had chosen something more mainstream like say Ubuntu or Debian, I don't think there would've been as many complaints. You can't have each city develop or maintain its own custom version of a Linux distro, I think that should have been obvious from the start.

If anything, there should be an EU-version of Linux that's stripped of all American backdoors and constantly audited, because I think this is also a national security issue, not just an issue of vendor lock-in and long-term costs for taxpayers. But certainly it wouldn't make sense to have anything less than that, even a country-specific Linux distro doesn't make sense.

I do think ultimately it was Microsoft's politics that convinced the city to move away from LiMux, but I think the problems were also real, which pushed them over to Microsoft more easily. If it had been an EU-backed Linux distro, I don't think they would've switched nearly as easily.
I've seen plenty of numbers on empty housing in London defined as "we asked the owners whether they live there and they said 'yes'".

Anybody who doesn't think this is a problem just needs to take a look at one Hyde park. Nearly empty. Prime location. You could demolish that and build high rise flats for a thousand people there, maybe more. The problem isn't just how many prime location empty apartments there are but how big they are too.
This is why we stopped giving employees equity pretty early on. We got to a pretty decent headcount before we sold (probably above the median for post-B-round YC companies). We just paid cash and bonus.

I don't often like Fred Wilson's compensation writing, but here I think he has the problem basically nailed down: employees (rationally) don't prize equity, and giving it to every employee is in the long run extremely expensive.

Two thoughts:

You don't have to give shares to every employee to give it to some of them. The first shares I ever got that were worth much (Secure Networks, back in 1998) were shares I had to opt in to, at the cost of some salary. I had coworkers who chose not to do that. We were all generally happy with the outcome.

People on this thread are making comparisons to 300k/yr Google salaries. For journeyman developers in SFBA, this is probably a reasonable comparison? (I mean, the median SFBA developer isn't making that, but you could argue that's because they're being underpriced in the market by the practice of issuing shares that will never be worth anything). But for employers, it's a pretty silly comparison. If you're a startup paying 300k/yr to someone who does work a CS graduate out of school can even theoretically do, you're doing it very wrong. You might have to adjust your hiring filters to get your cash compensation down to a reasonable numbers, but you should do that anyways, because filters that keep you stuck in the "competing with 300k/yr salaries" zone are, for almost every startup, a vanity.
Christine Magee, Co-Founder Sleep Country Canada on Becoming an Entrepreneur
You're not even taking risk aversion into account. You simply suppose that expected values have to match. But you'd normally want a higher expected value in the case where the payoff is uncertain. So the difference should even higher than you suggest.
Not really, nowadays Linux compatibly seems more relevant than plain old POSIX, and even then only when coding in C or C++.

"POSIX Abstractions in Modern Operating Systems: The Old, the New, and the Missing"

http://www.cs.columbia.edu/nsl/papers/2016/posix.eurosys16.p...
Living abroad for extended period(s) of time.
Well if there is no money then pay with "fair" equity. I.e. you give a person 0.5% of a company and they have that same 0.5% in the next 5, 10, 20 years etc. No preferential share classes, no dilution, no golden parachutes for corporate investors, have predefined IPO date (e.g. no later than in 10 years or something like that), no any of the popular ways to screw employees with equity/options out of their shares.
I'm not sure about drugs, but the process they have right now also inspires zero confidence in me:

* It costs billions effectively confining market for a few huge conglomerates.

* It passes throuh drugs that turn out to not have any observable effect or which are worse than ones already on market.

* It did allow pushing opioids for the epidemic.

It's not pretty. It might be better than nothing in this extreme case, but that's a pretty low bar.
I love the UI of Wengu, especially how nice the column formatting is. The a:hover providing dictionary info is nice, expect it doesn't do that in context, which require totally different underlying data model (I have a prototype doing that).

Dr Sturgeon work on ctext.org is amazing. But I find the lack of open OCR model and scripts a bit sad, as this part of the work cannot be reused for other projects.
when did Rhinos go extinct in Persia?
To be fair regarding your last critique, we could also say there’s no need to make up words such as “HODLing” when English already has “holding”. I believe the key idea the author wanted to convey with their new word is that the positive amount is returned explicitly because the quantity of the currency has decreased. This is a particular case of deflation, so it isn’t completely odd to consider introducing a word that succinctly captures that meaning.
That's still the fun part. Wait until your product starts getting traction and you need to build 24/7 customer support capabilities.
Best Customer Retention Tools for ECommerce Businesses
Because it is true. You will be consuming a lot more food to maintain that level. I never said it is not possible. I don't mean pasta, bread and pizza either. If you took a healthy reasonable amount of clean meat and fish. Compared to a straight vegetarian diet. You will be eating a lot more food. If you do not agree with a meat diet or not that is a fact.
Can you elaborate? For pleasure or for work? How long?
See https://en.wikipedia.org/wiki/Brown_adipose_tissue
Shadow Learning: Building Robotic Surgical Skill When Approved Means Fail
Flexport is hiring a senior React native engineer
SSRIs: Much More Than You Wanted to Know (2014)
https://news.ycombinator.com/item?id=16077638
Sure if you eat pizza, pasta and bread all day.
this feels incredibly familiar. either youre promoted to a lead, given no training, and fired or demoted when you dont succeed, or you're slowly just "recognized" as the lead without any overt assertion from management. The latter is the worst, because after a few month or even a year there is a tacit communal agreement among leadership that you're secretly the lead without ever defining what that is. pretty soon you're charged with everything from random powerpoint presentations to some midlevel managers incident/action reports with no real idea why its happening other than you're a 'subject matter expert.'

It has a scarring effect ive found, anecdotally. Ive spent 12 years as a systems administrator in various contexts (traditional, devops, contract, etc..) and I've already declined a leadership role on the pretext that its just going to be system administration with the expectation with added clerical ditch-digging for the real management team.
I think education as an influencer is overrated.

At my kids' school, they really don't care what hardware you use, as long as Google Docs works on it. If you don't have your own computer, the school will rent you a ThinkPad for $70 per year (including the summer) but they are really awful machines. A lot of people buy their own hardware.
1. As said earlier: two dishwashers.
2. Have a walk-in closet next to toilet or other place when you change in to pajamas after a day. Make a few holes on the head level in the wall separating the closet from the toilet. One hole for one kind of clothing (i.e. 3: colors, whites, baby clothes). In closet under each hole place a basket with a hole near the bottom. Each basket is a laundry queue. Buy washer/drier combo (or two). Place it in your closet under baskets. Place a washing powder dispenser just above the machine's washing powder bay.
I'm still on the fence about whether I like our Roomba. A few things:

- we can't run it on a schedule, b/c it requires prep (moving cat food/toys, floor mats, etc)

- it's much slower than hand vacuuming, especially with our lightweight Dirt Devil (which is great for hardwood / tile but not for carpet)

- it's not all that thorough. it naturally leaves some stuff behind because it pushes some dirt / dust around while scooting around the floor

- whenever it's running we have to either hide in a different room or always be getting out of its way

- it can't get nooks and crannies smaller than itself

I will say that it's particularly useful on carpet, where I'd normally have to retrieve our very heavy standard vacuum out of the closet.

However - my wife loves it and I tolerate it. The mental hurdle of picking up a few things off the floor and pressing the "start" button is easier than actually doing it by hand. It's really best thought of as supplementary to a regular vacuum rather than a replacement.
> If you do have pointers, or if the item iself [sic] is a pointer, it is up to you to ensure that the pointed-to objects remain valid while it is in the queue and being consumed.

Does this mean the producer have to keep pointer for the queued item around or it could get garbage collected? That seems.. unintuitive? Or is it just that working with the object could make the old pointer invalid?
I would expect during an onsite that interviewers would want to tell the candidate about what the company does and why it is a great place to work. If you need to ask candidates those questions during an in-person interview then I recommend adjusting the filter prior to that step or consider that you might be getting blank stares for a couple of different reasons.
I'm Catalan. Catalonia has always been big on open source, and if anything I'm surprised this took so long to happen. The mindshare in universities and such is particularly high, and this isn't limited to computer science (my background). Even my high school did at the very least run a Linux server (running at least samba and squid) and had a few Linux workstations. This was 20 years ago. Back when I lived there, I worked in many companies, all of which had near 100% of workstations running Linux, something I now realize is not the case elsewhere.

A strong argument nobody's mentioned in the thread yet is that free software support for our language (Catalan) is very good, whereas Windows/OSX support for it is terrible when it exists at all. There's the fact that we do still remember a previous effort where Microsoft released some version of windows in Catalan, I'm not sure if it was 98 or XP era, which was very broken; Microsoft never handled the issues back then, or released any more versions in Catalan, and it left a very bad taste in our mouths.

We do care massively about our language, so it'll be very hard to sway anybody in here unless this fact radically changes.
What a way to make a living (2015)
I'd make a different point: the CS degree isn't a hoax, but it's not strictly necessary for software engineering work. In a real world application systems very quickly escape the boundaries of undergrad CS facts.
Not if they're personal connections. I've never seen it as a problem.
Well each window has open a different repo right now. But the general sizes are (all ignoring 3rd party dependencies):

* 1 front-end react monorepo which contains a handful of front-end projects with about 50k LOC of js files only across them all

* 1 backend node.js projects with about 7k LOC

* 2 npm packages that I'm working on. One that's like 300 LOC total, and another that probably hits around 1k (haven't measured, just a guess)

* 1 go project that I'm hacking on in my spare time, but I just keep the window open because why not? this has about 1k loc.
nah, same here (IT person). it's that 'another' option when you actually are deciding between different 2, if deciding at all.

and google's privacy approach has soured their portfolio for me a bit (albeit some of them are exceptionally well done and useful)
There is a big misconception about nuclear attacks. Full scale nuclear war with a adversary like Russia is indeed an apocalypse scenario, but a single lowish yield nuclear detonation by a nation like North Korea is very very survivable, if you are prepared.

I have a similar evac plan with a bug-out bag that I gave my wife to keep at her work. For nuclear attack specifically, she is instructed NOT to leave her work and hunker down in their concrete basement for two weeks. Even being much closer to an estimated ground-zero, she is far safer in their well-shielded basement than trying to get home in the open fallout zone. The bag has enough rations, batteries, water, first-aid, etc for that period. Fallout zone radiation levels take about 2 weeks to drop to safe levels, at which time she has a printed google map for her to walk the 20 miles home.

My job is to grab the kids at school and hunker down in our basement where we have more exhaustive supplies, and ultimately get the hell out of town together.

Fallout is the biggest killer. Using http://nuclearsecrecy.com/nukemap/, and unfortunately fallout is highly dependent on wind direction - an important unknown on that day.

Given the unknowns and the likelihood that roads will be quickly impassible, it is best to prepare at home. It takes two feet of concrete or packed dirt to block radiation to a safe level, and that includes ABOVE you. Wood provides almost no protection. ...but if you do have a basement, then you can make a plan to place very heavy items (appliances & server racks) on the first floor above you and vehicles and stones/dirt/etc around that part of the house.

Fallout settles on surfaces, so it's a good idea to trim bushes and trees directly around that shelter - you want the fallout to hit the ground, not settle at a higher angle above you. ...and if you're in Hawaii or other coastal area and have easy access to a boat, that might be the best option because fallout sinks and there are no traffic jams at sea.
For sure. I've seen complete trading systems written in Excel macros.

MS have played their hand very astutely and have managed to capture a large fraction of the enormous gap between cost-to-producer and value-to-user. Keeping things that way is worth $100bn market cap to them, and challenging them is worth relative peanuts to anyone else. Of course they're going to win every time.

Our best hope is that someone like Google pours money into a fully-compatible fully-featured desktop replacement out of sheer spite.
Show HN: Weekly Design – Top design articles, resources and jobs, every Monday
Knowing about the Conspicupus Signalling Theory (Geoffrey Miller's book).
Understanding how flirting really works with Dan Bacon's The Flow.
Meditation and going beyond materialism by experiencing many lucid OBEs.
Jordan Peterson in general and self authoring in special.
Understanding how poisonus Postmodernism is (Stephen Hicks book).
Understanding how the Cultural War works (a global issue).
Becoming a socratic method aficionado.
Having a financially independent friend to become my financial mentor.
I'm not sure how Munich "proved it was possible". The user community disliked it so much they are now switching back. They proved that it cost the city a lot of money in the transition (both times), and those costs have nothing to do with licensing. "Free" is only "free" so long as you and your user's time carries no value.
Thanks! It's very useful, but I wonder why you've decided on inline signing, in a HTML comment. I don't mean to argue about different approaches, but curious if you see something that I don't (so maybe I need to adjust what I'm doing). Just that I've also used GnuPG to sign pages, and I went with a different approach.

- Do you see any issues with detached signatures? Modifying HTML file is complicated, adding a <link rel="openpgp signature" href="page.html.sig" /> (included into the signed content) is easy and doesn't require any custom tooling for signing. Just `gpg --armor --detach-sig page.html` and everything's ready.

I have this (not exactly) as one step of a staging CI pipeline:

[ -z "${SIGN_PRIVATE_KEY}" ] || (
gpg -v --import <(echo "${SIGN_PRIVATE_KEY}") &&
find ./output -type f \( -name "*.html" -o -name "*.pdf" \) -exec gpg --armor --detach-sign '{}' \;
)

And it just works, no extra requirements. Very similar principle is applied to production system, but with manual signing (`make sign`) rather than CI-entrusted key.

But then I don't have a browser extension, but a small watchdog daemon in Go (using golang.org/x/crypto/openpgp) that does the checks for me.

- Or, why not HTTP headers? Something like "X-OpenPGP-Signature" or RFC6648-compliant "vnd.com.stosb.gpg.signature" would also work. HTTP trailers are also an option, I guess, but they're more obscure stuff so probably a worse idea (unless server has the subkey and signs dynamic content on the fly - then trailers can be useful, as opposed to buffering data).

I am using GnuPG signing to verify that some pages weren't tampered with. But I've used detached signatures instead. Initially, I've had an idea of embedding signatures inline, but I found it much easier to implement, and the only downside was that both files had to be updated simultaneously, possibly complicating the deployment logic. I've just tolerated possible deploy-time warnings, keeping check that monitoring status get back to green in a second, but e.g. deploying to a different directory and atomically replacing a symlink should've worked, as well as using Docker containers and re-routing traffic.
PyDev of the Week: Christy Heaton
You are living on another planet; people who write posts like these are very unlikely to be going through an experience like yours. I'm very sorry to hear about that, and I hope you don't let overachievers on HN make you feel bad about yourself.
Telegram Plans an ICO
Well for a traditional web service your only exposed service is something like NGINX. So yes it makes the vuln. in say NGINX more severe but the attack surface is pretty small. Also the only users that have access are SRE or equivalent who have root access anyway. (I am not arguing that there is no downside just that it's fairly limited in a traditional scenario)
Or suffering from dangerous levels of hubris.
This seems like a considerable amount of mechanical complexity (two multi-axis arms) to replace what's currently done with a jet of water...
Not 100% convinced about it, but I wanted to say: that I stopped smoking pot.

Told myself well in advance that I'd quit 11 months in to my girlfriend's pregnancy (EDIT - obviously the residual effects are still there. I quit 8 months in to her pregnancy. This is what drugs do, kids.)

Since then (now almost a year later) my ability to comprehend and concentrate on technical things has improved a lot. I've learn things in web development that I just couldn't back then. Probably due to the fact I was a daily smoker for almost 20 years.
Your only option is to always work for a company that builds products.

Consultancies are not an option: they depend on buying cheap man-hours and selling then for a profit. As you age, your monetary need will increase and consultancies won't be willing to pay you more... unless you become a manager.

Product-builders are less shy to pay better wages for two reasons: 1) They dilute their wage expenses into a lot of customers and 2) They assume you're a good hire both for them and the competition, so hiring you means getting some leverage against competitors.
By the time you feel heat or hear roaring or see smoke your hallway is already on fire. In some buildings that's your only escape route.

Please don't give dangerous advice.
Yes it is. The scientific name is "diminishing returns".

(And in physical life, if one overdoes it with laziness, they can get from obese to pressure ulcers)
I've been running basically the same stuff for the last six years. I have a somewhat modified fork of dwm, a lightly modified version of Termite (simplest working VTE3 terminal I could find), and my emacs (which has had basically the same configuration for the last four years). Most things take up the whole screen or the left or right division of it. I run the same thing on my high memory Xeon workstation that I do on my repurposed Chromebook and my OpenBSD ThinkPad.

I can't really do anything about employer mandated Slack, but most corporate or hosted email is accessible through IMAPS and SMTP. Can't do much about Spotify, but I don't use that while working anyway, I tend to buy music files if it's convenient to do so, and I play those in cmus.
First of all, for the 800MB thing, there's the source: https://medium.com/@caspervonb/why-i-still-use-vim-67afd76b4... and I've also seen this behavior while editing small Python files. I also had no other plugins other than the default bundle. So my atom installation was pretty lean.

It looks like you're a web developer, I'm not. I develop at the system level, and for development scenarios Atom is nowhere capable as Eclipse, and seriously that's OK. Every IDE has its niche. I used atom as a pretty text and script editor for my needs, but its auto complete capabilities left too much to be desired for me.

Honestly, maybe atom was not optimized for better memory usage before. Maybe there were memory leaks. Maybe my build was buggy (I used an official deb package BTW), or maybe he tested a buggy version, but these problems were (or are) real for some other people, and they may have been solved or not; but I'm neither the only, nor the last people who talked about excessive memory usage of atom.

I loved atom when it first came out. I tried to migrate to it, but it has burned me with its radioactivity. So I returned to my dark corner under Eclipse to work and recover.
I bet Bicing will still be running on XP a decade from now.