skysight-inc/HackerNews huggingface dataset:
No blog entries specifically about LimeWire, but I do have a few observations that maybe I'll blog about:

(1) Merkle trees are tough to get right
(a) Bittorrent's BEP 30 is vulnerable
(b) A small tweak would have allowed Gnutella's THEX to carry a proof of file length [0]
(c) Use the Sakura tree construction [0]
(d) There was an attack against LW where one could respond quickly with a bogus THEX root for a popular SHA-1
(e) The THEX root should have been the unique identifier in both DHT and query responses
(2) Using HTTP for data transfer was definitely the right choice
(a) It uses X-alts and X-nalts "experimental" HTTP headers for swarm control
(b) I prototyped an Apache plugin to allow it to transparently participate in Gnutella swarms
(c) HTTP/2.0 would be ideal now
(3) Gnutella uses query broadcast
(a) exponential fan-out means most traffic is in the last hop
(b) if the fanout is 19:1, 95% of traffic is the last hop
(c) LW used Bloom Filters to often skip the last hop
(d) We should have used mulitple hash functions in the Bloom filter
(e) Adding new hash functions is backward-compatible, at the cost of increased query traffic during transition
(4) LW connection handshake includes the 32-bit serial number of the latest XML version message
(a) The message is signed using DSA
(b) Newly signed XML messages propagate to 95% of the network within 60 seconds
(c) We accidentally DDoSed our servers by having everyone come for updates at the same time
(d) So we added user alert time randomization parameters in the XML message
(e) There was no mechanism to roll over or expand version message serial numbers.
(f) We could have locked ourselves out of asking users to upgrade by signing an INT_MAX serial XML message.
(4) We wrote a minimal C++ agent capable of downloading the latest free LW version from LW nodes
(a) SHA-1 of the free installer is part of the signed XML version message above
(b) SHA-1 was checked before running the full installer, preventing malware injection
(c) It was great for saving bandwidth and reducing legacy support
(5) I misplaced a paren in LimeWire QueryKey crypto code (later fixed)
(a) QueryKeys prevent turning the LW network into a DDoS botnet
(b) I knew the code wasn't behaving quite right
(c) I convinced myself that my reasoning was wrong and the code must be right
(6) Random seeks are tough on equipment
(a) Apache would kernel-panic OSX on random HTTP range requests (ca 2006)
(b) Anecdotally, random block download order wasn't great for hard drive life
(c) Random download order code tried to minimize number of file extents
(i) Saves bandwidth in describing what you have
(ii) Might be better for hard drive life

[0] http://kmagsoftware.blogspot.hk/2016/02/on-content-addressed...
Google has had security vulns too. Do you find it "ironic"[^1] that Tavis would disclose vulns in other companies software?

[^1]: You really should look up the definition of this word.
The "investigate options" one was one of the few situations that I could see a possible slight. I've seen managers who play this dumb game where they put people on a research problem, and the job isn't for the engineer to do unbiased research & prototyping, but it's instead to reinforce whatever argument they were originally pushing for (but your "job" is to actually bring facts in). I've heard the "you're biased" line enough from those kinds of people to just shrug it off and move on, but I've also seen engineers who become paralyzed trying to figure out "what the boss really wants". For my biased point of view, these managers fit into a category called "the worst" anyways, so getting worked up about it is probably not worth it.

As an aside on the not understanding front, what was the deal with the team lead scenario? In my experience team leads aren't managerial positions so I don't quite understand why the guy was so concerned with other employees salaries. There was also a lot of missing details there, the author could have been making significantly more, and so the raises were treated differently? That was definitely a peculiar one.
Only occasionally carpet bombing capitals in the area?
I doubt they have experience in software engineering either, which takes a principle approach to structuring software to reduce bugs and improve maintainability.
Opterons from 2011-2012 are still available and seem to be the best option to me for this purpose. They're reasonably performant (16 cores...), affordable and there are plenty of mainboard options. Software support is excellent of course. I'm just not sure how valid the "pre-2013 AMD is safe" claim is, since vendors have been known to include some remote management technology like Intel's ME in earlier versions before making it a standard feature.
"The head of HR who is female and a big advocate for workplace diversity walked into my exit interview. The opening line was “Ordinarily I only do exit interviews with female employees…“ "

Another feminist pig...sigh
To be honest I think you should give people a little slack and relax. You are taking things too personally. Everyone has a bad day now and then. Based on your descriptions to me it looks like "not treating people poorly" would require almost superhuman capabilities from managers and coworkers. They probably have also lot of other stuff to worry about as well.
That reminds me of a thought I had recently. Often in movies and TV shows, someone will be torturing another for their secret information. And for some reason they always tell the truth. I've always wondered why movie characters don't lie more often in those situations. Because usually the torturer isn't in a position to confirm it's truth instantly, or sometimes at all.

Passwords are the one exception to this. You can always confirm a password instantly from anywhere. But it doesn't need to be that way, you can have duress passwords. Truecrypt supports hidden archives, where entering the fake password unlocks a different encrypted folder with different files. The same thing thing is true on some "secure photo" apps for phones. For a phone, you would have a password that bricks the phone after a certain time limit, like 24 hours. But appears to work fine for the moment.
These anecdotes seem a little light on detail, so it's hard to really see how Fred was treated poorly.

Through the course of my career there have been personality conflicts. I think this is natural and common. In the world of startups it can be even more dramatic.

The bottom line is that you should be confident in your skills, but not be an asshole (and you should expect the same from your colleagues). And, unless you have an equity stake, you can always move on.

It sound like Fred did this - he dealt with some standard workplace BS, then moved on when it was untenable. Good on him.

I just wish the examples were a bit more detailed and illustrative of the post's title.
This requires a secretary (or at least an AI that's able to prioritize as well as a human). GMail is getting there by filtering out obvious cruft (spam filtering, flagging as important, moving social and promotional emails into their own tabs, etc), but falls down in terms of prioritizing non-obvious cruft.
This is basically RMS' point: if the system is closed, you don't own it even once you've paid for it, they do.

I don't agree with all of his philosophy (I think I am ethically fine to sell software in many scenarios), on the point of being shut out by a company, just because they say so, he's right.

At the very least, if you're going to stop supporting your product, you should free your source code so that others can support it themselves if they choose to.

The risks involved in this precedent are obvious, and for me it means I won't be buying any hardware with Google tech in the middle of it until they change this policy. I will need to critically evaluate all future purchases as well, same terms.
> The problem with Webpack is that if you want to do something that's not straightforward[1] or covered in the dozen tutorials that are on the web, you're going to have a hard time.

I really hate systems that are built like that. Nobody should build software like that.

I just want simple tools with a clear API that I can combine together and easily replace by other tools, like in the Unix tradition.

I guess it is a case of "LEGO versus Playmobil". The former allows modularity, while the latter is just complex crap that allows you to do nothing other than what the instructions say.
You should tell that to California last summer who ended up with that exact problem.
That would be just abolishing the minimum wage.
Sadly this is not really true for the industry and Germany. Most people around me still use Outlook.
Google's Nest closing smart-home company Revolv, bricking devices – BI
I really tired of having to use a browser to access my main email (Gmail inbox) and even worst to have to use another and different email program (Apple Mail) to access my other email addresses (I have few emails on those ones).

I look at Mutt willingly once about every 3 months, but then I'm always put down because of the last of Snoozing (that I've know off). I rely heavily on Snoozing in my main account to order my tasks.

Is there any workflow with mutt that achieves a similar workflow where I can postpone emails to a later date?
Taxi, Uber, and Lyft Usage in New York City
Steve Jobs Interview: Does Apple Turn into PepsiCo? (Video, 1995)
The notion that oil prices are remotely connected to the cost of labor in any effectual way is laughable.
How many times have you heard the opposite? Is it discussed often? A good book is is way more convenient than a good tutor.
Most are ok but the one on code review for new candidates and slack that one is off.

Getting offended because people have stuff to do dosent mean you're being treated poorly.
I'm sure you're right that the exact timing is speculation, but a peak of 164 for an active individual seems quite reasonable to me (he did state bus resting heart rate is 58).

It's pretty pointless stealing a modern phone without getting it unlocked, isn't it? If anything that's a detail that someone making up a story would forget about.
Reading through the comments on here, it seems as if the post has been misunderstood:

It is not about being a girl in computer science, it is about overcoming your own fears of being perceived as dumb for not understanding, and then being open about not understanding. When the author got over those fears, she clearly states there were benefits for her and others for whom she taught this technique.
Hi,

Author here. Sorry you (and many others) felt that way... I was trying to put together these moments without rambling on too much.

To offer my perspective on the things you mentioned:

a) I absolutely agree, there's always two sides of a coin. I can only describe how I felt at the time.
b) Again, I agree, and communication is a two way art. Having said that, some of those moments I feel there were very little I could do in my end to turn them around.
c) I did not claim those to be stories either, my intention was to share these things that have happened to me in the past and made me felt uneasy at the time, and perhaps make more people (including myself) to be more aware of their surroundings...
> Gender and race are hot-button topics because those who claim to be victims of discrimination always fall back to an impossible-to-falsify assumption of impure intentions, if not in the individual specifically, in the amorphous "institution" behind "institutional bigotry". Every time someone brings it up, the discussion is one person saying "I bet that wouldn't have happened if the victim were [white/male]!"

At the same time I'm hesitant to dismiss all gendered/racial discussion. For example, I once had to deal with a female classmate being referred to as "woman" over her real name in a condescending manner several times by upperclassmen when trying to pursue a computer science degree. I'm pretty sure this wouldn't have happened if she was a white male.

There's a space for such discussion when people run into them because otherwise, what, we're telling them to shut up and not talk about their experiences as you seem to suggest?
In the UK, no such agreement exists.

Source: I know people who would have been required to sign it.

They confirm that they would have it screened both out of a sense of duty, and a desire to avoid accidental breach of the Official Secrets Act if they ever produced such memoirs (release it to your agent with something you thought had been declassified? 30 years in prison for you!), but they were not explicitly asked to sign such an agreement.
If these are the worst experiences someone has had as a developer, they've had a great career. Most of these aren't even bad and many are in fact totally what you'd expect.

> As the team lead, I was told by one of my team members that they had gotten a pay rise.

Depending on the company structure, "team lead" might not make you their manager. Of course you won't know their pay if you're not their manager.

> "Ordinarily I only do exit interviews with female employees…"

It makes sense that the HR head would generally not personally engage in exit interviews, but would do so when it's directly related to an initiative they're personally pursuing (diversity).
> The only thing that is missing is mother's maiden name.

It's extremely unsafe for known distribution of last names. E.g. in leaked db most frequent 12 last names correspond to 10% share of population, and most frequent 50 names "explain" 20% of population.
There's more than one way to exploit the commons
I've installed the Chrome extension and now see the following error when I click on the extension:

http://i.imgur.com/TlJXFJm.png

http://i.imgur.com/q6KIE1J.png

Any tips? I'm not really sure what it's doing but I checked `netstat` and nothing appears to be listening on 127.0.0.1:60876.
I haven't read all the comments but I think there is a large sector of the workforce being ignored in the discussion. I live in a rural area and most manufacturing jobs here start in the $10/hr range. All the companies starting less than the new minimum will have to increase wages as well. This will include all experienced people who will now want to be earning more because the floor has now risen by x dollars.
The Spectre 13 is HP's attempt to out-design Apple
The thing that bugs me the most aren't incidents like these (which honestly don't seem all that bad) but general "patterns". One I've seen pop up again and again is "ask me about something > I give you my professional advice > ignore it > come to me after you screwed things up by ignoring my advice > now I have to fix it". Have seen this at every one of my jobs as a developer/manager.
Isn't that good for the workers who are higher quality and were previously earning 15$?
The "you're biased" line is a dismissive remark in a sense though. Everyone's biased, to certain extents, and keeping bias out of research is really tough sometimes. But:

1. A lot of times, this statement is used as a weak crutch by someone who had a different idea, but can't properly explain their side of the position and work towards why there was a difference in conclusion. Usually it's because the person that said "you're biased" is actually carrying a ton of bias into their viewpoints.

2. Even if someone was biased, do you think telling them that they're biased is going to bring resolution? Of course not. See point #1.
There was also the PS2 version of Yabasic, which was included on the demo disc that came with the console.

If I recall correctly, this was done to avoid some kind of tax on "entertainment devices" in Europe; Sony argued that the ability to write BASIC programs made it a "computer", rather than an entertainment device.

Text could be entered using either a pad or a USB keyboard, and programs could be saved to memory cards. Some magazines even included user-submitted games on their cover disc, and the official UK magazine included a page or two of code each month which eventually built up to a playable game.

There were a few differences from the original Yabasic - gradient triangles were added, audio functionality was removed, etc. I'm told that the source code is available online somewhere, since the original Yabasic was GPL-licensed, but a quick Google search didn't turn up anything useful.

For those who are interested, a friend of mine has re-implemented the PS2 version in Javascript: http://www.mrdictionary.net/yabasic/
Another response to this issue:

https://mjg59.dreamwidth.org/41085.html
Attitudes like the one you express here, at once critical of women who raise issues of inequality and misogyny, and skeptical that a woman who wants camaraderie with others in their cohort is For Real, are exactly the reason that would drive a woman to seek out that type of environment.

If you'd be interested in learning more about the importance of empowering and accepting spaces for women in tech, and the reality of the misogyny they experience, I'd be happy to discuss further or share some links.
I would prefer if someone said "I think you're biased" instead of being lied to with some bullshit excuses to dismiss my point/research/whatever.
so cool!
You'd need to increase profits, not revenue. If profit margins are around 3%, you'd need to more than double revenue per employee for Walmart.

And of course, doubling prices makes less sales, so doesn't double revenue, it might even reduce revenue.

Re reverse: you said "above taxes paid" for roads, which I didn't mean to imply.

Regarding your "break even" idea: suppose the most someone's labor is worth is $22500 a year. Suppose the minimum required to live is $30000. The government has decided that nobody should starve, and so any outcomes where this person starves are not to be considered. There are two options: allow them to work for $22500 or less, whatever the market will pay, and pay $7500 from welfare, or forbid them from working, and pay them $30000. I don't see how the second is preferable to the first.

So if you believe that raising minimum wage hurts jobs (an empirical question that has economists on both sides), then you shouldn't support.

The other model you could have is:

Value of labor is $30000, but there's so much labor available that the market will only pay $22500. Then, mandating a minimum wage does raise the amount paid, although it can still have negative effects elsewhere.

Probably both models are correct for different jobs, and the question is which one is more often correct. I'm also neglecting inflation, part time, disincentives to work, and so on.

As I understand it deficits have been shrinking. Where are you getting the growing stat from?
If that's all you want to do (concat, minify, convert es6/sass), then by all means, I do agree make is the simpler albeit slightly less maintainable and non-cross-platform solution. I use make for my quick static sites too.

But when you need more features like bundle splitting (app code and libraries live in separate files, for caching), cache-busting, lazy-loading, separate configs for production and development, etc. make doesn't quite cut it IMO.
But is it over of those things like solar and shale oil that is too expensive at current rates, but just sits in the background and enforces a price ceiling on the cheaper methods?
We all know the % of success stories from accepted companies. How does YC know it made scientifically sound decisions to reject companies that then went onto succeed via other means? How can YC know the quality of decisions are getting better without this data?
U.S. Moves to Thwart Use of Foreign Acquisitions to Dodge Taxes
"People" isn't one person. Maybe most people choose sweeter yogurt, but that doesn't mean there isn't a substantial minority of people who would prefer less sweet yogurt.

Who knows if these tests even accurately measure what people would actually buy? I remember that Coca-Cola did such tests too once...
Likely depends of the source of the GSM; some cars are sold with OnStar, LoJack, etc. - and have anti-tamper feature and/or remote kill switch. It's my understanding that OnStar can even kill the car while it's in motion, which seems a bit over the top if you ask me.
However, the water you speak of there is, to a first approximation, one liter of water for one liter of Coke. That particular water contributes less than 1% of the water the article is talking about.
I do probably need to spend more time figuring out the root causes, though perhaps that is better done by talking with a friend rather than just thinking things over by myself. My current understanding is this:

* When I'm confused about what a task really entails or what tools I can use and I try to get people to resolve that ambiguity, I sometimes cannot persuade them to do so.

* Sometimes I don't recognize that I lack the knowledge/documentation to do something and instead approach it with an "I'm smart and resourceful; I'll figure it out" attitude. By the time I convince myself that I need to ask for help, I'm embarrassed about not having made progress.

* I've gotten feedback that I "try to understand the universe" when debugging an unfamiliar system. That I should be more focused in my search. The difficulty here is that, when I'm working with an unfamiliar system, I don't know the lay of the land and so I end up spending a long time trying to get a sketch of a mental model of it because, well...how else could I solve problems?

* As my username suggests, I get distracted easily and sometimes find myself losing 5+ hours to distraction. I've been able to fight this to some degree using SelfControl.app and by making sure I get good sleep.

* I don't know how to come up with task estimates that have any relationship with reality. I've said "I don't know how to give software timeline estimates", but often get pushed to give a number anyway. I really really hate lying to a coworker/supervisor's face and wish I could find a way avoid it. I've tried to learn how to do estimation and bought a book on it, but all of the advice seems to focus on projects on a months-long scale rather than things that should take a couple hours.
The post isn't totally clear, so I can understand how people are misreading this. But "prevents blocked users from ... forking repositories" refers to the GitHub "fork" button, not to the ability to e.g. run `git clone` from the command line.

This isn't about blocking people from being able to use software (which both goes against the letter and the spirit of free software licenses); it's about blocking people from being able to interact with the maintainers. We've had that since the days of Usenet killfiles and IRC klines.
Very little water is lost in municipal water filtration. The largest loss is generally evaporation from dam reservoir which is on the order of 10%. Depening on location temperature, humidity, ect.

Don't forget you drink the same water you bathe with. At scale it's producing a lot of water.

PS: Now a lot of water is lost after filtration by leaks/breaks in water pipes. But, that's mostly an economic choice as water is really cheap replacing pipes is expensive.