jkeisling/hacker-news-corpus-2007-2022 huggingface dataset:
amen to this. With the money startups manage to pull in you can find a very nice town to settle in and absolutely pamper your staff - and still have lower costs than SF or nyc.

A particularly good selling point for getting the more experienced developers with family. Come work for us in friendly brattleboro Vermont! (I've been there, it's like Gilmore girls in real life). Bonus if you're within train distance of the city you can get the best of all worlds.
I see several comments saying more companies should be hiring remote workers, building their culture to support it, and why aren't they doing it?

It's interesting to see the numbers in this article.

What's remarkable is that, even after two years of flattish compensation, technology professionals are willing to sacrifice $7,800 on average to work from home

The article speaks as if this is a huge amount, but as a chunk of total salary, it's probably 5-15% for most tech jobs. So the question for employers is, is it worth an extra 5-15% in salary to have your team work together in person?

In many cases it is.
In general the big investments are "safer" since they're in later stage companies. For instance I'm pretty sure Zynga will IPO, Listia's a long shot right now.

On the other hand, I'm pretty sure they won't make 1000x on Zynga. If Listia IPOs they might do better than that.

Smaller bets are higher risk, higher ROI.
No mention of observing robots.txt?
LLVM bitcode is processor specific. Not sure where, but I saw that mentioned in the LLVM docs.
They forgot Apollo 13. (http://en.wikipedia.org/wiki/Apollo_13#Mission_notes)
Simple: distribute your application across two isolated datacenters. I'm not trying to downplay the complexity of doing this, as I fully understand the amount of effort required. If the cost of being down for an hour or two isn't significant enough to warrant this level of effort, then a power outage caused by Linode's datacenter vendor probably isn't going to really cost you much either.
But there is a bad attitude about TSA workers on HN: http://news.ycombinator.com/item?id=1854505, http://news.ycombinator.com/item?id=1854446
The TSA isn't. The TSA articles are. They have almost nothing to do with startups, and even less to do with tech. They are the antithesis of intellectually interesting.
Does anyone know how many flags it takes before an article is automatically deleted? I'm just curious as to what percentage of the hacker news ecosystem would have to flag something to remove it from the front page.
Hm, I have to disagree with the steeping chart for green tea (after having been doing it that way for 12 years).

Recently, I got some medium/high quality Sencha at my favorite place Ten Ren down in Chinatown.

Lessons learned from their main man:

0. Never use boiling water, but instead around 80-85 degree Celsius (okay, that seems to be common sense)
1. If the quality of the tea is so-so, discharge the first steep after 1-2 seconds. High-grade tea needs no cleaning. This step gets rid of the dust and ensures a clear color.
2. First steeping for maximum 1 minute 30 seconds.
3. Second steeping for only about 40 (!) seconds.
4. Third steeping for about 50 seconds.
Well, you can say they stole it but Matias Duarte worked on both -- he was a VP for UX and design on WebOS and is now Google's VP of design. (And I don't think he's the only one from Palm to come over to Google, either) Soon after he joined is when Material Design made an appearance.
5th amendment comes to mind, as in you are not under obligation to provide incriminatory evidence
It probably assumes that the target audience for slack are developers that might prefer markdown. Look at github, stackoverflow.
Also, nice find! It's helpful to have actual numbers to discuss.
Thats only like 3mph max...
Oh come now. I used code formatting quite deliberately in that comment. I wanted to preserve the centering and single-spacing of the text on the back of the radio as best I could. The lines are short and render fine on a mobile device.

So yes, given HN's meager formatting options, monospaceisgood for that! :-)

You may note that later in that same comment there is a longer quote that I formatted in non-code italics.

But hey, if I encouraged you to create an HN account, that's great! Speaking as someone who writes code in a proportional font, we may have some interesting discussions ahead of us. ;-)
And yet, I'm not sure I would call the majority of discussion on this website "high quality".
Thanks! That's a sweet list.
"Dropbox's admin interfaces for employees may simply not reveal data that could technically be revealed"

This is not the same as "is not accessible to employees". Interfaces are just that. There are quite a few very sharp developers at Dropbox if reputations are to be believed. I don't think an interface is a sufficient control.
Interesting read. In this context, it may have also been nice to mention the common gaming industry practice of using cheating as a compensation for poor AI.
Arash good security is about mitigating theoretical risks before they become actual.

I am most disappointed in Dropbox because you had made statements like all our data is AES encrypted and our staff do not have access to your data. These are clearly incomplete for the former and are plainly not true for the latter. They are misleading and un-ethical in that they have assisted you in gaining you all these customers. As stated above you should clearly stop using security as selling point and only state you provide security in transit (https) or actually put in place technical measures to make those statements true.

Personally I will no longer be recommending Dropbox and will instead recommend your competitors including changing my answers on Quora: http://www.quora.com/Dropbox?q=dropbox
Funny, but not quite right. :) In this case, I think it can be reasonably argued that Stevens Media and others aren't actually assigning copyright, although their verbal maneuvering would like you to think that they are:

7.2 Despite any such Copyright Assignment, Stephens
Media shall retain (and is hereby granted by Righthaven)
an exclusive license to Exploit the Stephens Media
Assigned Copyrights for any lawful purpose whatsoever
and Righthaven shall have no right or license to Exploit
or participate in the receipt of royalties from the
Exploitation of the Stephens Media Assigned Copyrights
other than the right to proceeds in association with a
Recovery.

They're basically saying that Stevens Media is assigning copyright to Righthaven, but retains a license to do whatever they want with the content. So far, so good. The part that's tricky is: they're trying to constrain what Righthaven can do as the new copyright holder, ie. you own this, but you can't do anything that someone who would normally own a thing can do.

In other words, it's a sham assignment.
I can't believe they construct those interactive scatterplots using CSS, lots of images and very little javascript. Very clever.
You read too much into that statement.
http://uptime.cloudharmony.com

If you click on any of the Linode links, you can see when outages occurred, how long they were, and usually an explanation of the outage (if Linode provided one to me)
Video! http://vimeo.com/12331527
PubNub is Networked Comet Messaging. dojo is only information within the application.
http://www.google.com/search?hl=en&safe=off&client=s...

This topic has been discussed quite extensively in the past. Good luck.
Hah! You´re so right. You´re so right.

One of the biggest things I taught myself on my last server (teaching myself to be my own sysadmin) was monit.

Now, it looks like I need to go the rest of the way and learn Puppet, too. Or something like it.

...

Got any reccomendations?
Is there a summary of the interesting bits anywhere? Scribd is a little wonky for me and the scan is very difficult to read.
Thanks for the article! Any thoughts on breaking a premium service into smaller (bite-sized) offerings?

See my ASK HN: http://news.ycombinator.com/item?id=1436734
When I was in high school I did something similar for waking up, albeit on a much lower budget.

My dad had a bunch of old X10 automation stuff laying around which I used to rig all of the lights in my room (a light switch unit for the overhead lights and a wall-wart style unit for my reading light) for remote control. Same with the stereo.

Then I programmed the control unit to fade in the lights in the morning and eventually power on the stereo which was looping an ocean sounds file I'd found somewhere. I came to really enjoy waking up in that way. I would have preferred natural light, but with Alaskan summers I needed room darkening blinds, and I didn't have a trivial way to automate those.

The whole project took about an hour and didn't cost me anything. The X10 stuff is pretty cheap now, but there is also a lot of much higher quality automation equipment available very cheap these days.
Agreed, but I personally think it shouldn't be a general public feature, but rather reserved to the initiated. The cost lessen quickly with time (a point made by this article) and people have trouble understanding the limitations of a particular protection.
Right, Steve Jobs may have come up with an idea, but to make it work thousands of other employees had to design circuit boards, write code, and do the hard part.

Even as a fan of Mac products I think Steve Jobs gets too much credit. The idea is the easy part, making it work is the part that should be respected. Even with respect to the ideas themselves I wonder how much of the iPhone, the app store, and other innovations were envisioned by Steve Jobs personally, and how much of it was thought up by other smart engineers and technicians working for Apple?

For example the iconic Apple power adapter is credited to Steve Jobs, yet there are 12 names on the patent. (http://www.google.com/patents?id=C-IOAAAAEBAJ&printsec=a...) So I have to wonder which engineers came up with which aspects.
It's now available to download: http://media.ccc.de/browse/congress/2014/31c3_-_6249_-_en_-_...
Firefox for Android does. Have been using it and is pretty good.
Not a fan of microservices myself - IME it pushes the complexity that exists in any application into implicit interfaces and dependencies between microservices. The difference is that we have better tools for managing this complexity at the application level than we do at the operation level.

Still a big proponent of SOA generally, though. I think the granularity when defining "service" is ultimately going to vary from application to application, however, leaving the sweet spot slightly larger than e.g. Amazon's microservices.
(My company loves microservices, so I'll weigh in at a really high level.)

The author speaks of the complexity in managing and coordinating processes in a distributed system. By designing a microservice, you trade simplicity of software design for increased operational complexities. There's a shift in terms of problem solving too--it migrates from the cross functional engineers to the DevOps and distributed systems engineers.

Don't get me wrong--I think microservices are brilliant and make reasoning about application design easier. But be prepared to bring in some heavy engineering talent to coordinate all the things. Until there are open source frameworks for handling the difficult bits, it might be unwise for a start-up to go the microservice route. Microservices are purposed for scale (since reasoning about traffic is easier with a simpler service and there predictable traffic patterns from a microservice's clients).

Edit :

In terms of the examples you mention, I you may have the wrong idea. Think about fulfilling a specific goal or class of functionality, and make that a microservice: email gateway microservice, user/session microservice(s), SMS gateway microservice, etc. Each is a component that responds to various request types (you really should use RPC instead of REST for deadlines, retries, cancellation, pooling, etc.), but they all sit within a single domain of purpose. The service could be stateless or not, but you try to make the requests idempotent to aid client reasoning.

To again cite your example, several services may use regex, but there might be only one authority on "normalized input" (eg. addresses, etc.). Or maybe there is a client lib for that.

This brings up another point. Services at the periphery (dependency graph-wise) are coordinated by interior services. That can get complicated...
I came here to say the same thing. I have also been performing music since I was a child. I never really experienced any sort of anxiety about it because I have always associated the feeling with excitement. I accept the feeling will arrive, generally shortly before the performance, and that it usually helps push me to do better. If the performance is really short I find that I can feel a bit jittery afterwards since I don't get enough time to burn off the extra adrenaline.

I can contrast this with rehearsals, where I typically feel no 'excitement' when working with familiar musicians. In this situation the music might feel a little flat, and sometimes I look forward to the actual performance where the adrenaline will help carry the weight.
It's the golden unsolved, perhaps unsolvable problem in crypto. Trusting trust and such. There's always a key, somewhere, that has to be shared.

One way to hack the system is if you have actual knowledge of the person you are talking to, and you assume some limited amount of tampering which can be done in real-time. For example, if I know the sound of your voice, and we want to agree on a key with no MITM, we can setup an audio channel and speak some code words to each other. Baring an adversary which can in real-time intercept and synthesize my voice convincingly speaking a different code, this is pretty secure. [1]

[ZRTP] allows the detection of man-in-the-middle (MiTM) attacks by displaying a short
authentication string (SAS) for the users to read and verbally compare over the phone.

Another imperfect defense is spreading over time the data that an attacker would have to intercept and modify in order to MITM. That's what Chrome is doing with their pin lists. Now an adversary would have to alter the pinning when Chrome is downloaded. Of course in this very thread we're talking about technology which can do exactly that. E.g. technology which has any hope of preventing data exfiltration, would have an easy time altering Chrome's pin-list. Of course the Chrome binaries are signed, so there's another layer to defeat, etc. etc.

So the end result is there are a lot of good technologies to prevent MITM. If you can keep the attacker out once, you can generally be confident your future conversations will be secure as well, since good protocols don't start from scratch each time, but rather "ratchet" new keys from the old as you go. [2]

One of the big trade-offs is false positives and privacy. For example, it might be nice if my browser remembered the public key of a site I visit, like HN, and let me know if it changed. Two issues are a naive implementation would also serve as a great tracker for every site I've visited, and how do I know if when I get a warning, it's a real attack and not just an expiring certificate rotating out? Now we would need a way for sites to indicate, by signing with their old key, that indeed they are switching to a new key, and complexity explodes from there.

[1] - http://blog.cryptographyengineering.com/2012/11/lets-talk-ab...

[2] - https://whispersystems.org/blog/advanced-ratcheting/
All well and good except the move to use binaries in NPM. I really, really hope this doesn't become common on the UNIX side..
Neat, but such a list needs information about who created it, when it was done and what sources were used. Right now it's pretty much untrustworthy and therefor useless.
I thought this was going to be about investing in companies that connect entities together rather than standalone entities.
Another possible issue, depending on your approach, can be how to integrate with external systems. I have seen teams trying to deploy a Haskell based common library to a heterogenous production environment and it wasn't pretty.

The core Haskell module itself solved a specific problem beautifully, but it all got very messy outside the confines of the pure and pretty functional world.
I'm a little bit surprised that peers did not have filters on inbound BGP advertisements. As an operator you typically don't trust most of your peers and only accept advertisements for ASs and network blocks previously agreed upon. Filters are modified manually.

The largest operators have peering links with no filters ("everyone is equal"), but that implies a lot of trust. And "trust" should not be a word placed next to a communist country name.
It's pale plain text at password creation time, and regular password dots when you login. Saves having to have a 'confirm password' box.
emphasis on free.
https://secure.delicious.com/settings/bookmarks/export
No problem. I happen to be hacking on a Sinatra app that runs on heroku right now, so here's a Gist:

https://gist.github.com/744173#file_a%20simple%20sinatra%20a...

Check it. I wrote this mostly from memory and a few quick copy/pastes, I'll update something if I did something dumb. But that should work.

You'll probably want to add their gem to the gemfile for this contest. Stick "gem 'indextank'" in your pipe and smoke it (aka 'bundle install' again).
joshu on Twitter: http://twitter.com/joshu/status/15492062459731968

"@cdixon open sourcing it would be an enormous pain in the ass. selling it not as bad but yahoo infrastructure and auth problematic."

Besides that, open sourcing delicious wouldn't solve the problem - someone still has to host it, and maintain it, and import several million people's bookmark collections in to it. That takes significant time and money. Having the code is just a small part of it.

A smarter thing to do would be to campaign for the (public) data to be released as a huge data dump, ready for people to run their own analysis on (an Amazon Public Data Set for example). This too has plenty of problems though - under what terms should that data be licensed? People's bookmarks belong to them - would they be happy with their contributions being released as part of a massive data set for anyone (including sploggers) to do anything they liked with it?
In other words: biometric identification is still broken.
Quite the opposite, it's saying there are some jobs which are AI-complete.
Companies who have prospered by exploiting their users data warn that the world will end if they have to change their business model. Film at 11.
That link is useful in refuting some of the article's other claims, such as suggestion that heart attacks are "almost unknown" amongst the Pashtuns.

The actual data suggests that Afghanistan is in the top 10 nations for numbers of coronary heart disease deaths per 100,000 population. The USA isn't even in the top 100. Sure, it isn't the leading killer out there, and it's lack of medical attention more than lifestyle factors driving that death rate up, but it's utterly false to insinuate that less fatty food renders heart problems irrelevant in that part of the world...
I've been doing some research on small web servers, trying to understand didiwiki's code (a web server and wiki engine in ~2k lines of C):

http://c2.com/cgi/wiki?DidiWiki

This is a nice introduction to writing a minimal web server:

http://www.ibm.com/developerworks/systems/library/es-nweb/in...
I would be very surprised if they do--it's abuse like this that pays for the cameras.
I wonder if Openjdk or other VMs could benefit from a similar optimization.
Anyone else wondering how much bonus and promotions were obtained in Microsoft as a result of that "research"?
I appreciate voicing that you’d also be interested in that discussion. These days it feels to me as though patents and litigation are such a large battleground that they dwarf conversations like these, but underneath it all patents do still exist the way they used to and that seems to me like that still means that these discussions are important.
I'm seeing a lot of comments on why SELECT * is fine or not, but it seems like the bigger issue is that (in general) SQL has two very limited ways of letting your select columns: explicitly naming each column, or getting all columns. This means that when you are concise, you sometimes end up getting columns you don't need.

For example, R's dbplyr library lets you write queries that select all columns that start_with("something_"). This is revolutionary, because now a person can use the semantics of column names in their selection!

Granted, dbplyr ultimately generates a query that explicitly names the columns, so it's not a within-SQL solution, but I've been surprised at how useful the behavior is!
To consolidate and clarify a few comments:

You can get a non-fixed portable generator modified to run on propane or natural gas fairly inexpensively (the "gas adapter" mentioned above). That can be hooked to either a large fixed propane tank or be used with the smaller tanks often used with gas grills (or be permanently connected to natural gas, but then just get a fixed install generator). Advantages of propane are that it's stable (gasoline and diesel degrade), readily available, you can simply be well-prepared for a heavy grilling season if you don't need to use the generator, and because it's stable and stored you can be somewhat insulated from price swings.

There are calculators available to determine appropriate sizes and approximate runtime based on generator size, load, etc. but a simple rule that I saw was that a 3000 watt generator would likely run for 45 minutes to an hour on a 20-25 pound tank depending on load and inverter setup.
The library was far better when it was DVDs. They didn't have the licensing problems they do now.
Hi Maciej,

vmprof is cool! For Python we currently use py-spy. The way it works is it reads certain areas of process's memory to figure out what the current stack is. It's a clever approach that I like because that means you can attach to any process very quickly without installing any additional packages or anything like that. The downside is that from the OS perspective reading another process's memory is often seen as a threat — so on macOS you have to use sudo, and on Linux sometimes you have to take extra steps to allow this kind of cooperation between processes — we already saw people with custom kernels having issues with it.

Going forward we'll definitely experiment with more profilers and over time add support for other ones as well.

I saw you joined our Slack, we'll be happy to chat about profilers at some point :)
You actually do have organ backups.
Me in 2010: "Functional programming is great because you can write code that always gives the same output for the same input, making it super easy to test, debug and share. The downside is you need to put down those for-loops and start thinking in terms of map and reduce instead."

Programmers in 2020: "Yeah some of the people on the team know how to use flatMap."
https://sip2sip.info/ powered by https://sylkserver.com/
> Does this mean GTK2 and GTK3 are... to be avoided for new projects / dead?

not dead but... here's for instance how Wireshark looked on macOS when it was using GTK :

https://blog.wireshark.org/wp-content/uploads/2013/10/osx-x1...

and here's how it looks now that it is using Qt :

https://news-cdn.softpedia.com/images/news2/wireshark-3-0-re...
Sure! Except it was mandated by your boss. Or you have a choice between a bunch of offerings with the exact same screwball terms. This might not actually be true for videoconferencing now that it's getting somewhat democratized and competitive.

Point is: "just boilerplate" is just rationalization. An honest person would never present it as comforting and a knowledgeable person would never find it comforting. Of course, the world is full of dishonest people, so it gets used all the time. Hence "lawyerspeak."
Any idea how they got a negative number of tests on Mar 8?
Your numbers are off by 3 orders of magnitude, the fine is just under half a million, not half a billion.