Ask HN: How much does this Joel's article hold true? - <AUTHOR>

http://www.joelonsoftware.com/articles/fog0000000069.html<p>I'm working on a startup and the current codebase is 2.5 years old. The original code was built with a lot of assumptions (or future predictions rather); very few of it hold true today. Also, a major goal back then was to just get it out. A lot has changed and it has become a rather hard problem to maintain it. I'm not talking about bug fixes; it's adding new features that is taking at least 2x the time it actually needs. A couple of us (only in out part time and without disrupting the existing code base) are planning to retouch it; rethink the assumptions as it holds today and incorporate best practices. However my manager is pointing me to the article above and says we are at fault here. Have you been in a situation like this? What would your suggestion be? <comment><USER3> Feel free to ignore that article IF you know what you are doing. Joel has a lot of opinions, that usually sound really good, and only some of them have any validity.

For example the Netscape codebase that he complained about went on to become Mozilla, which was the base for Firefox, which has done pretty well. Furthermore there was actually no choice about rewriting the original - <USER2> Netscape pulled out the bits that were owned by other companies they didn't have running code. When the only code you've got clear rights to won't run, drastic measures are called for.

For another example, Perl 5 was a complete rewrite of Perl 4 from scratch. The result was a much more powerful, extensible, and simpler language. (Yes, Perl 4 was grammatically much more complex than Perl 5.) Perl 5 has been far more successful than Perl 4. (Some 15 years in the result is creaky, but there are still a lot of people using it.)

On the flip side I've encountered some true disasters caused by the refactoring mantra. When you start refactoring in place, it is like you're living in a construction zone. Worse yet, as you reconstruct it, your opinions on how to write it will change, and you're likely to change how you're refactoring it. After a few generations of this, you get a real mess.

That said, _usually_ refactoring is a better idea than a rewrite. There are a _lot_ of examples where complete rewrites have lead to major disasters. (If I'm feeling snarky I'd use Perl 6 as an example.) And businesses have real cause for concern about spending years rewriting a system, with the end result that they get back to where they started but with more bugs.

Furthermore be warned that the second attempt to write a piece of software is notoriously hard to do right. Look at <http://c2.com/cgi/wiki?SecondSystemEffect> for a description of some of the pitfalls. So be very, very cautious about starting such an effort.

All of that said, if the code is a big mess 2.5 years in, then you probably have something else going wrong. In my experience good software developers in a good environment don't generally wind up in that much trouble that fast. I'm not a big fan of assigning fault. But odds are good that neither developers nor management are blameless. And if you've got the same developers, and same management, it would be silly to predict a significantly different result.

Still if you want to start a rewrite, the first question is whether or not you have good unit tests. Because if you don't, then it will be much, much harder to be sure that your rewrite is doing the right thing. Furthermore I can virtually guarantee that the act of trying to write tests for the existing system will give lots of opportunities to find significant improvements.

If you've brought it up to the point that you have a good set of unit tests, and you still think that the rewrite is necessary, then you'll be in a much better position to pursue that. And if you still have pushback from management, well, it will be some time down the road from now, improving the code will have improved your skills, and hopefully the economy will be in good enough shape that a better job won't be that hard to find...

<comment><USER4> > When you start refactoring in place, it is like you're living in a > construction zone.

That's a real gem. I never looked at it that way but it is undeniably true.

</comment></comment><comment><USER5> Clickable link: <http://www.joelonsoftware.com/articles/fog0000000069.html>

I think one key point is:

> _The old mantra_ build one to throw away _is dangerous when applied to large > scale commercial applications_.

How big is your application? How many users does it have? Do you already have a good regression test suite?

<comment><AUTHOR> Not very complex. It's the backend of a webapplication that we are targetting. Testing is complex because of the way the current design is and that is one of the major driving factors for refactor/rewrite.

</comment></comment><comment><USER6> Following Joel's advice may or may not make you better off. Can't really tell without going into technical specifics. Can you tell us more about your case?

Our current product (online mapping for corporate clients) went through multiple rewrites when it was already quite successful: the client side went from JavaScript to AS2 then to AS3, the server side went from PHP to C#, and in addition to that many big parts of the project were rewritten from scratch multiple times. None of this was ever done just to "incorporate best practices", though.

<comment><AUTHOR> >>None of this was ever done just to "incorporate best practices", though.

Of course, no one is gonna rewrite something to just "incorporate best practices".

</comment></comment><comment><USER7> tl;dr : Re-writes are usually a disaster - be absolutely certain of your ground before undertaking one.

</comment><comment>==

The major question to ask is "why?" - and ask it repeatedly.

* Why is it a mess?

* Why do you think writing it from scratch will be faster than fixing it?

* Why do you think you can spend the time creating nothing new for X weeks while you re-write?

* Why do you think you will produce something better/smaller/faster/cleaner/less buggy?

Here are some thoughts:

* Maybe it's a mess because the original design was fundamentally wrong and it really can't be guided into the right form.

* Maybe it's a mess because people kept adding features without really understanding how it worked, so their additions didn't fit the architecture/design/structure.

But maybe it's a mess because it's doing stuff you don't yet recognize as being important, so what's there is essential complexity.

Some anecdotes and background.

I've overseen two complete re-writes, and five on-going re-workings. One re- write was a success both technically and commercially, the other was a near complete disaster. Four of the re-workings are still underway and the product has remained live, sellable and profitable the whole time. The fifth is under constant review, but is not a disaster.

So re-writes can work, but the experience is that they usually don't. Go against the advice only if you are certain of your facts.

<comment><AUTHOR> >>* Maybe it's a mess because the original design was fundamentally wrong and it really can't be guided into the right form. >> >>* Maybe it's a mess because people kept adding features without really understanding how it worked, so their additions didn't fit the architecture/design/structure.

I'm not looking to blame anyone. Whatever has happened, has happened already (I'm not ignoring the learnings) and I'm just looking to improve things.

<comment><USER7> Blame is not the point.

Assume that the original authors aren't stupid. Maybe they were, but assume they weren't. Now ask - how did this get in such a mess? _Why_ did this get in such a mess? How do I know that if I rewrite it I won't make the same mess?

If you can't answer that then you can't decide whether to re-write or refactor. Knowing why it got in a mess is a crucial piece of information.

Are you cleverer than the original authors? Do you know more than them about the problem? Remember, they spent ages writing that code - they know _lots_ about the problem. Are you sure you understand it better?

Unless you can answer absolutely, unequivocally yes then you shouldn't rewrite. You should work to improve the existing code in small pieces. Only when you believe you understand it better than the original authors should you make the decision to rewrite.

Otherwise you are mostly likely to spend a lot of time recreating their mistakes.

<comment><AUTHOR> I'm sorry if I misread. It is a combination of two. As I had mentioned in a previous comment everything from process to environment to developers has changed for the better.

Thank you all for your valuable suggestions.

</comment></comment></comment></comment><comment><USER8> Have you good unit tests? Then you can refactor/rewrite it as you please. Consider rewriting a section a time.</comment>


SF vs. NY: Which is Better, Really? - <AUTHOR> http://blogs.kqed.org/pop/2013/09/18/sf-vs-ny-which-is-better-really/

<comment><USER2> No comparison - New York is a better city and the reason is pickles. Not once in my time living in California did I ever encounter anything like a good half-sour.

I also feel that the NY tech scene is humbler then SF. In SF there is a feeling that tech rules everything and you need to get out of the way if you aren't involved in it. It breeds arrogance. In NYC Tech is only one of many different industries coexisting. There is a lot more cross-pollination of ideas here.

</comment><comment><USER3> >"America's two greatest cities."

The author lost me at the first sentence. I think "Two of America's most popular cities" is closer to reality. So guessing the author believes the crowd is always right.

San Fran and NYC suck cost of living which is the most important factor I look for in a place of residence. Its not to difficult to get to NYC from the smaller, more reasonably priced, more accessible Philadelphia.

</comment><comment><USER4> I like how they choose songs by Judy Garland and Liza Minnelli to represent the different cities since they are mother/daughter.

I am one of the natives (NYC) the article refers to. I was tired of people being surprised that I was actually born in the city I live in. Why is that so strange? And yes, both cities were better before Starbucks and gentrification moved in. Far better. I finally moved out of my hometown two years ago. Why would anyone spend all that money to live in a place that is no where near its peak?

To answer the question, neither city wins. They both have their charms and are better in different ways. That said, either city in the '90s would be better than either city today.

</comment><comment><USER5> Posted at 9am EST on a Saturday? This won't be a fair fight for a few hours.

</comment><comment><USER6> San Francisco is a nice little town, but it's not in the same league as New York.</comment>


An open letter to prospective Indian employer - <AUTHOR> http://greatbong.net/2012/05/25/an-open-letter-to-prospective-indian-employer/

<comment><USER2> The article that the OP is replying to: [http://india.blogs.nytimes.com/2012/05/23/an-open-letter- to-...](http://india.blogs.nytimes.com/2012/05/23/an-open-letter-to-indias- graduating-classes/)

Thoughts: Both articles reek of the type of mood that was popular in middle school relationships. Double standards, talks of how to make the relationship work perfectly for everyone involved, rigid rules of conduct, accusatory claims about the other person. Reading this feels like I am back listening to people around a lunch table bitch about other people who don't happen to be around.

Neither of the parties involved sound very happy.

Quote from the NYT India Article (from a list of rules employees MUST follow or ELSE):

5\. You are professional and ethical: Everyone loves to be considered a professional. But when you exhibit behavior like job hopping every year, demanding double-digit pay increases for no increase in ability, accepting job offers and not appearing on the first day, taking one company's offer letter to shop around to another company for more money — well, don't expect to be treated like a professional.

Similarly, stretching yourself to work longer hours when needed, feeling vested in the success of your employer, being ethical about expense claims and leaves and vacation time are all part of being a consummate professional. Such behavior is not ingrained in new graduates, we have found, and has to be developed.

<comment><USER3> You are right. Why is this bitching voted up on hn?

It gives no solutions.

</comment></comment><comment><USER4> I believe discussions like this will improve both the attitude and work ethics of professionals as well as of the employers who might be exploiting the workforce. Both sides need to concede some ground for a much more productive and stress-free work environment.

<comment><USER5> > I believe discussions like this will improve both the attitude and work > ethics of professionals as well as of the employers

As a side note (speaking of work ethics), this reminds me how an American company hiring Indian programmers.

Indian programmers, I presume, due to not having strong cultural bias against openly discussing and comparing salaries among themselves, did exactly that. And found out that the American company was paying them widely varying amounts even thought they all had equivalent training, job duties and qualifications.

They promptly contacted their managers and everyone who felt they got screwed got a raise to match the highest one.

The higher ups were not happy and try to guilt the Indians into felling uncultured and uncouth, how dare they break such a sensitive American corporate taboo. I am sure they guilt the felt over this "terrible" breach of "ethics" was made up by what I hear was an almost 20% salary increase for some.

Pretty sure at some point the company explicitly added a clause in their employment contract prohibiting divulging or discussing compensation except with one's higher-ups.

But I thought that was an interesting "ethics" hack they did, and it was interesting how the company tried to guilt them into feeling uncultured and un-educated once they got caught with their pants down and found out there wasn't anything illegal or contract breaching in what they did.

<comment><USER6> A similar stunt is attempted with the "job hopping" accustation in the NYTimes post the OP was replying to.

</comment></comment></comment><comment><USER7> My perspective on this letter and the issues around it - <http://blog.nitinkhanna.com/who-innovates/>

I believe that companies need to give people the freedom to innovate. Otherwise they're just code monkeys who care only for the paycheck at the end of the month.

</comment><comment><USER8> Offtopic: I love the random header images.</comment>


Demand For The iPhone Is Weak And Apple's Cutting Orders - <AUTHOR> http://www.businessinsider.com/wsj-demand-for-the-iphone-is-weak-2013-1?op=1

<comment><USER2> This story is over a month old, and has been debated over and over. It is also basically a short copy and paste of part of a WSJ article that is behind a paywall.</comment>


Ask HN: Any tutorials on forming a Delaware LLC? - <AUTHOR>

I'm looking to form a Delaware LLC on my own, what's the most inexpensive way to do so? <comment><USER2> First I would decide if you really need to form one in Delaware (unless you are based in Delaware of course). You can fill out the LLC paperwork in most states in 30 minutes and then you are just out the filing fee.

If you have partners though make sure you hire a lawyer so you have all the correct agreements in place.

Also, make sure you talk to your accountant as you might want to elect S-taxation for the LLC.

</comment><comment><USER3> <http://lmgtfy.com/?q=how+to+form+delaware+llc>

</comment><comment><USER4> I'd like to suggest it's cheaper overall to hire a competent lawyer.</comment>


BBC News - Sceptics stage homeopathy 'overdose' to discredit drugs - <AUTHOR> http://news.bbc.co.uk/1/hi/uk/8489019.stm <comment><USER2> What gets me is that this BBC article portrays this as an even debate with two reasoned sides where it's obvious that they're just bloody sugar pills. Shame on you BBC.

Pseudoscience like this can cause people to delay seeking real treatment until their ailments are severe. This increases the risk to the patient, the cost of treatment and even some deaths where treatment is not sought until too late.

<comment><USER3> Yes. Although on the other hand, well-accepted placebos can cure people.

<comment><USER2> The placebo effect is overstated and misunderstood by many. Further, using the placebo effect to treat sick people is unethical and ineffective. It should not be available through pharmacies.

For a greater and more educated discussion on the placebo effect (by a respected neurologist) please see:

<http://www.sciencebasedmedicine.org/?p=24>

<comment><USER4> "There is no compelling evidence that the mind can create healing simply through will or belief."

IIRC Daniel Goleman's book Emotional Intelligence cites studies showing that if you swap out a person's medicine with a placebo, their body will actually keep producing the same antibodies or whatever.

I think the same book also cites studies showing that how many calories a person's body absorbs depends as much on the taste of the food as it does on the caloric content. So, for example, if you put steak and mashed potatoes in a blender then the person drinking that will gain less weight than they would if they ate the same caloric amount in normal form.

What's more, just recently there was an article showing that hotel maids actually start losing weight if you tell them that their jobs count as exercise, even though they weren't actually exercising any more than they were before:

[http://www.npr.org/templates/story/story.php?storyId=1779251...](http://www.npr.org/templates/story/story.php?storyId=17792517)

</comment></comment></comment></comment><comment><USER5> Reposting awesome comment from Astro Zombie on the Metafilter thread about this:

"This experiment was already attempted by the daughter of Billy Joel and Christie Brinkley, who downed a handful of sleeping pills in a suicide attempt in December. However, the pills were homoepathic, so not only did she not manage to kill herself, but she didn't even manage to get a good night's sleep."

[http://www.metafilter.com/88593/Dont-drink-the-extremely- dil...](http://www.metafilter.com/88593/Dont-drink-the-extremely-diluted- KoolAid#2918101)

</comment><comment><USER6> The protesters are trusting that the process by which the pills are prepared doesn't introduce some other substance which is toxic when consumed in relatively large quantities.

</comment><comment><USER7> In the inverted homeopathic world, wouldn't it be even more bold to take 1/100th of a pill?

<comment><USER8> Or none at all. BTW I have some homeopathic whiskey, it's really strong, 0% alcohol!

</comment></comment><comment><USER9> Homeopathy is just medical charlatanry. The NHS spending on it is wasted public money.

<comment><USER4> If it keeps people from abusing antibiotics then I'd say it's money well spent. Unless you'd prefer getting MRSA.

The only people getting these 'drugs' are the ones who seek them out. And if it makes them feel better, then why give them real medicine with real side effects? Side effects which, in aggregate, would cost billions to deal with.

Dollar for dollar homeopathic medicine is probably the single best use of NHS money.

<comment><USER10> > If it keeps people from abusing antibiotics then I'd say it's money well > spent. Unless you'd prefer getting MRSA.

It's the healthcare professionals that should be stopping people from taking antibiotics like candy. It's everyone else that should understand that having an unhealthy sense of entitlement to whatever drugs they can get is a bad thing.

> And if it makes them feel better, then why give them real medicine with real > side effects? Side effects which, in aggregate, would cost billions to deal > with.

Because people have suffered needlessly and even _died_ as a result of ignoring good advice from their doctors in lieu of this quack medicine. How much extra is being spent because they waited forever for whatever they had to go away with homeopathy but it didn't and maybe even got worse? If it was only something as trivial as a case of the common cold or something I don't think people would be arguing too much with you. But there are people out there seeking these out as a substitute for things as serious as cancer treatment.

<comment><USER4> I don't disagree with anything you're saying. My assumption was that if the NHS was paying for it, then it was probably because doctors were recommending it on a case-by-case basis. But I haven't seen the data on how specifically it's being used.

</comment></comment></comment></comment><comment><USER11> "Homeopathy never works any better than a placebo."

Which is still pretty good - provided you have some belief in the placebo.

<comment><USER12> Unless you get ill after taking the placebo. This is called the nocebo effect.

<comment><USER13> Not quite. Placebo response: "I think this will make me better, so I get (or feel) better" Nocebo response: "I think this will make me sick, so I get sick"

Interesting (if somewhat anecdotal) article on the nocebo response in relation to voodoo hexes, etc: [http://www.newscientist.com/article/mg20227081.100-the- scien...](http://www.newscientist.com/article/mg20227081.100-the-science-of- voodoo-when-mind-attacks-body.html)

I thought I discovered this article via a comment thread on HN last month, but can't seem to find it, now.

</comment></comment></comment><comment><USER14> Since homeopathy is a form of sympathetic magic, you're perfectly justified in calling homeopaths "witch doctors". Which is awesome, because I've always wanted to call a quack a witch doctor and be correct.

</comment><comment><USER15> I don't see how this "discredits" homeopathy. From the homeopathy viewpoint, the remedies themselves are not considered (i.e. by homeopaths) to be drugs, or even equivalent to drugs, and taking large doses wouldn't be expected to have any particular effect. It's a bit of a straw man argument like saying "Your cheese isn't really chalk because I can't write on the blackboard." But I never said it was chalk or that it's purpose was to write on blackboards. What have you really proved except that it's not a drug, which was never in question.

<comment><USER16> Well, it is sold as a drug, in the sense that on the package it says that it cures a sickness, which is the point of a drug. I'm not saying that it doesn't work (sometimes the placebo effect is everything you want, for example when a child hurts himself, he'll be happy as soon as he has taken a pill, no matter which one), but I think it's a bit strange to sell a bit of sugar with a very small quantity of active substance for 1000 times the production cost.

<comment><USER15> >>it's a bit strange to sell a bit of sugar with a very small quantity of active substance for 1000 times the production cost.

Hey, it works for Coca Cola.

:)

</comment></comment></comment><comment><USER17> Third verse of this song tells all about the homeopathy that is to know:

<http://www.youtube.com/watch?v=bBUc_kATGgg></comment>


Ask HN: Back end engineer webapps for too long, what to do next? - <AUTHOR> I have been working as a backend engineer on web applications for 8 years now. I have lost interest in my work and feel very bored these days. I just realized it is because I have been doing the same work more or less all these years. In these 7 years I have changed 5 jobs and moved from working in a small companies to one of the big companies in Bay Area but my work more or less is still building CRUD applications.<p>I am no longer interested in building CRUD apps or web applications. I want to work on something new and exciting. What areas are you working on in 2017. Have you moved from building backend systems for web applications to something else? How is your career transition going? <comment><USER2> I went from building products to consulting on building products. I still do software dev for some clients (if they are willing to pay enough to make my hatred of it worth it), but I have found this more freeing, plus I make more money, and get to use my brain more on the theoretical and experimental side which is fun.

Most of my clients are pre-rev/pre-money/broke, but the higher priced development work I do, offsets that.

I've also been dabbling in writing, and hiring writers to write for me.

BUT find a hobby that is outside of software development. I do hiking, photography, wood working, and writing. Maybe that will give you something to look forward to after work.

<comment><AUTHOR> I tried outside hobbies to get my attention to something else and still did not feel better. The problem is generally your work takes most of your time and if you are unsatisfied at your work then it is not possible to compensate it outside. I pledged myself to fix my problems and unless I am happy and content at work, I am not able to enjoy hobbies outside.

</comment></comment><comment><USER3> Well anybody can build CRUD, so I choose another path. From beginning of 2017, I learn serverless architecture. Currently I'm building serverless data lake on top of aws, and automate the deployment using terraform.

<comment><AUTHOR> I have worked on serverless apps & microservices as well. I am feeling overall bored by webapps in general. I feel as a computer engineer there is more to it. I feel I am restricting myself with just web.

</comment></comment><comment><USER4> Try being a full-stack developer, or building your own product, or creating an agency and helping clients with business issues. There's just so many areas you can expand into as a competent web developer!

If you're looking specifically for new tech to explore - look into DL and data science, or WebAssembly, or WebVR, or ActivityPub. Those are all the hot exciting cool things that will be in demand, and are super interesting to look into.

</comment><comment><USER5> Are you interested in the operations side of things? Making CRUD apps is one thing but deploying them at scale is another. It's a whole new problem set with a lot of interesting tools (Kubernetes probably being the "hottest" atm).

<comment><USER6> I personally am interested in big scale, or big performance. Most companies don't let me do either and it's hard to break into the ones that do.

</comment></comment><comment><USER7> I don't think as a developer that you can fully escape from crud, since nearly every application has to do some database stuff.

I recommend trying to move to a position where you don't have to code much such as QA, CTO or system architect.

</comment><comment><USER8> Try to find a startup near you that's currently looking for a tech lead / CTO, you'll do more than CRUD hopefully!

</comment><comment><USER9> Mobile maybe? I think Arkit is going to be big. I'm thinking of moving to iOS just because of that..

<comment><USER10> Have you done any mobile work before? I've been thinking of moving towards the same thing after having messed around with iOS/ARKit/Swift for a few weeks now. Getting a little tired of the typical web tech i.e. React, Ember, Node, Rails, etc., if I'm being honest.

</comment></comment><comment><USER11> Happens to a lot of us.

Lately just for fun I been working with unreal engine. You can do some really cool stuff quickly and customize in C++.

Now that VR is becoming in bigger and bigger might be marketable some day. That startup magicleap seems to be doing lot of stuff around this area.

Can pair unreal with houdini and do some python scripting / 3d math learning.

</comment><comment><USER12> machine learning / data science</comment>


Celebrating Claude Shannon - <AUTHOR> http://spectrum.ieee.org/geek-life/history/celebrating-claude-shannon <comment><USER2> Cheers to 100 years! (on April 30)

Claude spoke at my graduation commencement from CMU years ago. As an electrical and computer engineer this was such a surprise and delight, I can hardly describe.

He said that commencement speeches were an opportunity for old codgers to impart pithy maxims, but that on reflection not a single pithy maxim came to mind. He came across as a genuine, self-effacing guy, full of fun.

If you get a chance, look again at Information Theory, it's full of gems.

<comment><USER3> I'd also like to recommend The Information: A History, A Theory, a Flood. It profiles Shannon as part of a history of communication and information. Fascinating read!

</comment></comment><comment><USER4> I had classes with David Huffman (who worked under Fano) of Shannon-Fano coding. He was an amazing instructor.

My advisor was Glen Langdon who worked closely with Jorma Rissanen on arithmetic coding.

While not in my daily job, the knowledge spent on the challenges these relationships brought remind me of how our forbears have set foundations for us to build on.

I still deeply follow, but don't research in, data compression, information theory, etc.

The name Claude Shannon was a large part of my academic and research years.

</comment><comment><USER5> Amazing advice from the man himself: [http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1056774](http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1056774)

The Bandwagon - Claude Shannon

</comment><comment><USER6> For those intrigued, the Dover edition of _An Introduction to Information Theory: Symbols, Signals and Noise_ by Pierce is a very good book. Accessible, but with a technically credible author.</comment>


Which Linux distro should I put on my Raspberry Pi server? - <AUTHOR> I am writing a website in python, and I want deploy my website to a raspberry pi 4. I want it to be secure and lightweight. Which GNU/linux based OS should I use? <comment><USER2> Just about any of them would do. It's like saying "I want to drive from Chicago to Minneapolis in a car. Which brand of car should I drive?" Just about all the car brands will get you there. ;)

At the end of the day, I recommend figuring out your preferred distro if you haven't already and going from there. Most major distributions like Ubuntu, openSuSE, and Fedora have Raspberry Pi versions.

If you're asking for optimizations, you'll find them in keeping as few processes running as possible, and you may get better speeds by hardware means such as purchasing a micro SD card with faster read-write capability or getting a cooling fan for the CPU.

Hope that helps, and props to making and running your own website from home! :)

<comment><USER3> The car metaphor still leaves a choice between driving a Rolls Royce or a VW Bug. They'll both get you there, but one is totally miserable in the winter. Although that is covered in your second paragraph.

If it is the 8G version, it might be worth implementing a ramdisk for the web server and web logging directories. That way the sdram doesn't get trashed as quickly, and response will be quicker.

</comment></comment><comment><USER3> What people are saying here is generally correct overall. If you are using the rpi as a server, the distro ever so barely matters. You probably wouldn't want a gui (why give away half the CPU and a sizable chunk of memory to something you aren't even going to look at?) and every distro out there has exactly the same server packages available.

I would install the minimal Raspbian and then add the server applications you want. Also, don't forget you can completely shut off the HDMI for a tiny bit of power savings. If you are going to use https, every little bit counts.

The only reason I actually name a distro when normally I'm hugely agnostic, is because Raspbian is the official distro for Raspberry Pi, and therefor can always be expected to support rpi's various idiosyncrasies.

</comment><comment><USER4> Slackware. The thinking man's distribution. Trim it down ultralight purpose built, or keep it ready to go at a moment's notice. I've got Raspbian on mine, but once I get the 8 gig version, I think I may just pull the trigger on Slacking it up.

Then again, I may be completely insane, because I'm humming and hawing around building a Single System Image out of a pair of them and actually making something roughly analogous to a laptop to go along with it.

To be frank, you probably shouldn't take my advice. I'm clearly a glutton for punishment, and it may lead you to the darker corners of computing related insanity.

<comment><AUTHOR> I am not sure if I'm ready for that. I've been working on installing gentoo onto a laptop, and I can't get it to boot, so I don't think I want something that difficult. I like using the command line, but that thing (source based distros), it scares me.

</comment></comment><comment><USER5> Tip - if you are going to run the server 24/7 best to use an external USB=>sata HDD instead of a flash card. Did the flash route and after a while (multiple resets) the card just died, flash does not go well for unexpected power cycling. Best to use a mechanical drive better resiliency and recovery.

I used Raspbian (*versions wernt important), mainly I'd choose a distro that works for the versions of server software that you want to keep updated (i.e. older=Ubuntu, newer=Linux Mint)

</comment><comment><USER6> I would recommend Raspian Lite and install the server packages that you like. You can secure it similar to any other distro. I think there are checklists online that tell you how to configure it securely (root/sudo/user, ssh, permissions to change on specific folders or files).

</comment><comment><USER7> I've put Arch and Raspbian on a Pi. I know Raspbian is The Official Raspberry Pi distro, but gee whiz, Arch felt a lot more solid. I ended up using Raspbian to build a 4-node Kubernetes cluster, you just can't do it with Arch.

<comment><AUTHOR> I thought rolling release distros were bad for servers.

<comment><USER8> it's for homelab. most of stuff we do at homelab is the stuff we tend not to use on production :D

</comment></comment></comment><comment><USER9> I'm using ubuntu server 20.04 along with micro-k8s to have a 3 node cluster for kubernetes at home.

<comment><AUTHOR> I have heard that Ubuntu had spyware that sent information to amazon. Also I have heard that Ubuntu has a lot of unnecessary software aka bloat. Was that just desktop ubuntu or also ubuntu server?

<comment><USER10> That was the desktop version. I think they changed that "feature" to be opt in after the outcry.</comment></comment></comment>


World's Next Supersonic Commercial Aircraft Since Concorde Will Fly This Year - <AUTHOR> https://interestingengineering.com/worlds-next-supersonic-commercial-aircraft-since-concorde-will-fly-this-year <comment><USER2> Completely OT: A grammar question about the headline.

Using "next" with "since" sounds wrong to me. I'd prefer "first" with "since" or "next" with "after". It feels to me similar to a tense or gender or number mismatch, but I don't know of any actual grammatical categorization to justify that feeling.

But I also know English has grammar rules that native speakers follow but that are often not taught in native schools. A good example is adjective order. When using multiple cumulative adjectives, they are ordered by determiner, opinion, size, shape, age, color, origin, material, and qualifier [1].

So...is there some grammar rule to justify my feeling that "next"/"since" wrong, or is this just a case of me not liking it for stylistic reasons?

(Well, I also don't like it because every supersonic commercial aircraft that makes its first flight after 2003 is the "next" to do so since Concorde. What's special about this one is that it is the first to do so. Thus, I think that even if "next" is OK grammatically with "after" it still should be "first" because that conveys what is actually newsworthy about this flight).

[1] [http://theeditorsblog.net/2014/04/08/keeping-adjectives- in-l...](http://theeditorsblog.net/2014/04/08/keeping-adjectives-in-line/)</comment>


1x Forth by Charles Moore (1999) - <AUTHOR> http://www.ultratechnology.com/1xforth.htm <comment><USER2> I appreciate Charles Moore for being opinionated and for inventing and evolving Forth, but IMHO there's no way that any low-level stack oriented language will ever be popular. The reason: it's just far too difficult for the majority of programmers to grasp the concept of stacks or to factor their code in a way so it only needs a small stack. It's the single most difficult concept to deal with, and patently not superior to registers and other normal techniques, as I found when I wrote JONESFORTH.

<comment><USER3> The jvm is doing fine. A low level stack oriented language can be a target.

<comment><USER4> What does that have to do with _anything_ said by either Chuck Moore or the person to whom you replied? I get that programmers (and I'm no exception) have a mental defect where they try to show how smart they are by compulsively interjecting at every opportunity. But for that to have a chance of scoring you geek points you need to have some claim to relevancy, however pedantic and tangential.

<comment><USER3> I'm not here for the points.

I'll spell it out for you: the JVM is the most widely deployed stack machine in use today. The fact that you don't normally program it directly using a stack-machine like interface does not diminish the fact that the concept of the stack machine is very successful. Yes, there are some warts and issues but on the whole it works quite well and it never ceases to amaze me how fast it can be made to work using JIT and other technologies that weren't even around when Chuck did most of his work. The stack machine has been one of the most enduring concepts in programming.

If you haven't programmed the JVM directly then I would invite you to do so, it's lots of fun and you can pull tricks that would be hard to replicate using java.

Now that clojure and other source level languages have been added to the mix there is even more life in the ecosystem.

In short - and to make the point again - stack machines don't need to be the source language to be effective, but if you really want then you can use them that way.

I'm not sure if factor is running reliably on the JVM yet (there were some attempts in that direction) but that would be a fantastic way to unlock the stack languages true potential, a forth like language on a virtual machine with enormous deployment. That could do for the forth family of languages what clojure is doing for the lisp family.

edit: I simply _love_ being downvoted for a gracious reply to a bunch of insults.

</comment></comment></comment></comment><comment><USER5> _Simplify the problem you've got or rather don't complexify it. I've done it myself, it's fun to do. You have a boring problem and hiding behind it is a much more interesting problem. So you code the more interesting problem and the one you've got is a subset of it and it falls out trivial. But of course you wrote ten times as much code as you needed to solve the problem that you actually had._

It seems that many programmers believe that writing 10x the amount of code to solve a "simple" problem in a complex, yet "general" way is somehow a win.

I wonder if that has to do with having a better grasp of the "complex" problem, so you develop a belief that you "understand" the problem, and can therefore "solve" it?

We know from study after study that 10x the code generally means 10x the bugs -- that bugs scale linearly with text on the page.

And yet we still don't want to solve the problem at hand in the simplest possible way. We don't want to specialize our code. We don't want to write 1/10 the code that just does the present job, and does it well.

I'm as guilty as the next programmer, but I wish I understood the impulse better...

<comment><USER6> Simplifying problems is hard work - it means making firm decisions about your needs and laying bare how much of your work is truly original, vs. being regurgitated effort done thousands of times by others.

Writing a very complex solution appeals because it defers that work until later: "when I decide what I want, I'll just configure it that way." (And then you never decide.) Bonus points for "it will be the fastest/most comprehensive/most modular solution around." You reassure yourself, with one of these fallacious ideas, that "other people will use this for many years."

This is an issue that goes straight to the programmer's ego and purpose as a craftsman - who are they writing code for, what problems they are solving, what is the thing they are going to tout on their resume. They aren't going to be confident or arrogant enough to railroad all projects into minimal, ground- up Forth-idiomatic projects. Most of the perceived brass rings revolve around short-term ideas like a buzzword technology or a new platform or some other obviously overcomplicated and unnecessary thing.

I have tremendous respect for Chuck and have definitely aimed to emulate him more and more, little by little, though I am not a Forth coder and cannot claim to have neared the style he advertises. My most reusable bits of code tell a similar tale, though: Algorithm and data structure implementations. Parsers and compilers. Formats and protocols. In between those, lots of architecture that I thought was a good idea. Most of it unnecessary.

Side note: Format and protocol support tends to introduce a tremendous amount of complexity. The sign of a good format is in how much it manages to limit this "complexiplosion" while still giving users the features they need. One of the things holding me back is my desire to stick to existing formats.

</comment></comment><comment><USER7> Chuck Moore's philosophy is well explained by this paragraph:

> Likewise the conditionals. In Classic Forth we used IF ELSE THEN

> And I have eliminated ELSE.

> I don't see that ELSE is as useful as the complexity it introduces would > justify. You can see this in my code. I will have IF with a semicolon and > then I will exit the definition at that point or continue.

He also highlights why people cannot code well in Forth:

> There is something more than the formalism and syntax of Forth that has got > to be embedded in your brain before you're going to be effective at what you > do.

The average programmer cannot grasp that "thing" that makes you a good Forth programmer.

<comment><USER8> Chuck's philosophy is all about getting rid of everything that is not absolutely necessary for the task at hand, paring both the problem and solution down to the minimum. Compare this with the instinct that most programmers have to generalize every problem and abstract code into "reusable" modules, whether or not that code is ever actually reused. Chuck might say that the best way to write maintainable code is to keep the codebase small enough that it can be rewritten when the requirements change. To program in Forth you have to fight against instincts drawn in from other languages.

</comment></comment><comment><USER9> "focus on applications instead of refining the tool"

It's true. How many times have we seen someone share their reimplementation of a FORTH like interpreter? Far fewer times than we've seen people write and share FORTH applications. Why that is, I'll leave as a question for the reader.

We know FORTH works beautifully as an small interpreter. There's no need to keep rewriting it except as an educational exercise. But would any disagree that there is a real need for more applications to be written and shared if the brilliance of FORTH is ever to be truly realized by more than a small group of people? Not necesarily to create some sort of silly "App Store" culture but just to show what can be done with the language. Proof of concept.

<comment><USER8> I use my Forth system for writing video games: <https://github.com/JohnEarnest/Mako>

It's also fun to implement features conventionally associated with high-level functional languages, such as lazy generators: [https://github.com/JohnEarnest/Mako/blob/master/lib/Algorith...](https://github.com/JohnEarnest/Mako/blob/master/lib/Algorithms/Lazy.fs)</comment></comment>


Base salaries offered to software engineers in SF, NYC, and Seattle - <AUTHOR> https://triplebyte.com/software-engineer-salary <comment><USER2> Ben from Triplebyte here, I'm the engineer who built this tool from our offer data.

The finding that most surprised me was that the mean salary for an engineer without a college degree is only $3k (~2%) less than for those with one; this gap is much smaller than in the labor market as a whole. One explanation is that CS really is a field where educational signaling doesn't (or at least needn't) matter as much as in other industries - we recently discussed this with Bryan Caplan over on our blog ([https://triplebyte.com/blog/bryan-caplan- interview](https://triplebyte.com/blog/bryan-caplan-interview)). I'm self- taught and don't have a CS degree, but I do have a college degree which still opens doors. I'd be curious to hear from other developers without a formal background on this.

Boot-camp grads average $19k less - but $130k is still quite a bit higher than I've seen bootcamps advertising. Could this be indicating that they're at a disadvantage in the normal hiring process just for signaling reasons?

<comment><USER3> > The finding that most surprised me was that the mean salary for an engineer > without a college degree is only $3k (~2%) less than for those with one; > this gap is much smaller than in the labor market as a whole.

The sample set of people using TripleByte is not going to be remotely representative of the market for developers as a whole. Candidates with stronger resumes are not going to be using third party recruiters to spray their resume around; they are going to be applying directly to the companies they want to work at or getting headhunted by the companies themselves.

<comment><USER4> > Candidates with stronger resumes are not going to be using third party > recruiters

This is an interest statement.

It is interesting, because the data I am seeing is that apparently Triple Byte is able to give people quite successful results. (Yes, 150k base salary is pretty good).

But your statement seems to imply that candidates that use them are apparently below average or something. And yet even though they arent as good candidates, they are apparently able to give people really good results, despite that.

Is my barometer for tech salaries so off, that apparently people believe that 150k base isn't something that a "stronger" candidate might receive? Yes, I've heard of some high salaries, but I still wouldn't call this something to scoff at

<comment><USER5> I agree. I'd also say Triplebyte's interview process is pretty challenging, more so than big 4 etc for entry level. Being able to pass it is something I'd consider a strong signal.

<comment><USER6> Really? I found it pretty straightforward, personally. It helped that you'd be able to retake the interview if you failed, which isn't usually true for phone screens. It also helped that it was a large sample of questions about how a computer worked, as opposed to most phone screens which are a single tech question that you can get lucky or unlucky on.

(I tried Triplebyte's process this job hunt but ended up getting my current job through a personal connection instead)

</comment></comment></comment></comment></comment><comment><USER7> It's nice to know what a competitive base salary is for an engineer but when negotiating an offer I think you really should be looking at Total Compensation. RSU, Stock Options, Bonuses all play a very significant role when looking at offers. Especially if you work at one of the large tech companies (Google, Facebook, Amazon, etc) the stock grants are a VERY large portion of your compensation.

<comment><USER8> You should, but it looks like triplebyte was explicitly ignoring that because it would add too many dimensions to the graph and those benefits are hard to value. Stock options are not a liquid asset, and their value can change wildly and unpredictably. Ask all those programmers around in 2001 how much their options were worth.

<comment><USER9> Stocks are a major part of compensation for tech companies. Looking at just salary is an incomplete picture and also isn't fair for job-seekers. Fwiw this page has compensation data with break down by RSU, bonus, etc: [https://www.levels.fyi/comp.html](https://www.levels.fyi/comp.html)

<comment><USER10> Very true. I work at a non-FAANG, non-West Coast company and my initial job offer was 55/45 cash to stock ratio. Due to stock appreciation, that's changed to 45/55 cash to stock. Including only base compensation makes no sense.

My current base salary is exactly the same as it was at my last startup, but my income has more than doubled.

</comment></comment></comment></comment><comment><USER11> I'm in Boston & went through an intensive FT job search here about 18 months ago. I'm a mobile developer with 20+ years total experience in desktop, backend, web+mobile, product management, started my own company, etc.

Worked with lots of recruiters, personal network etc., felt like I really got a sense of what the salary landscape is here. Some facts:

\- I was leaving a job at a hot unicorn startup that paid $125K base and I was told I was one of the highest paid engineers on staff (20+ engineers)

\- I received 2 offers during this job search (was very selective else could have gotten many, many more)

\- First offer: IOS developer at very large consulting firm for $120K base (with possibility of small bonus).

\- Second offer: IOS developer position that was comparable in interest to first. Decided to "shoot for the moon" and ask for $145K. They agreed, and that's where I'm (happily) working now.

According to this study, SW engineers with my level of experience in these cities are making $181K on _average_! From what I could see that's just not available here to the rank and file, "average" experienced sw engineer. That salary would be more like top-of-range here.

Am I doing something wrong? Is Boston really that different than Seattle/NYC/SF?

<comment><USER12> Having lived in Seattle and knowing several software engineers at various companies, I would have to say Triplebyte's numbers are being inflated by the FAANG companies. I have one friend at Microsoft that is making probably 160 to 180ish right now, and another friend at a startup that is making between 80 and 100. Most other engineers make around what you've been offered. I really would take Triplebyte's numbers with a grain of salt.

<comment><USER13> 80 to 100 is insultingly low for even a startup in Seattle. Sure, some are able to get away with it like Energysavvy, but only bottom tier engineers should put up with it.

<comment><USER14> Why can EnergySavvy get away with it?

<comment><USER13> Because there are enough people that don't know their own market value to fill their ranks, I guess.

</comment></comment></comment></comment></comment><comment><USER15> Years of experience tops out at "8+"? An engineer that started working at 22 is barely 30 by the time they reach that experience level. Is 8 years really the point where additional experience ceases to have a meaningful effect on salary? Or do these three cities (SF/NYC/Seattle) just do a pretty good job of expelling software engineers after they attain their first gray hair?

<comment><USER16> It's the latter.

<comment><USER17> I don't think that's really the case, but I do think it's common for good software engineers to move into other job titles (whether it's "founder" or "management" or "architect" or "software consultant" or a deep specialization in a particular subfield of software like security, deep learning, data science, data mining, compilers, databases, graphics, etc.) where they can avoid the salary cap. There's an adverse selection effect on those that don't; employers are likely to ask to themselves "Why are you still making $150K/year as an employee rather than $500K/year as a consultant, $2M/year as a deep learning specialist, or have retired as a founder? Did you never develop any sort of deep expertise worth paying you for in your 8 years as a software engineer?"

People going into software should plan accordingly. You get great wages to start, but you need to save some of those for a potentially risky mid-career transition where you specialize in a particular subfield.

<comment><USER18> That is only true in the HN bubble of SV. No one would bat an eye at someone _only_ making $150K in almost any major city in the US outside of the west coast and NYC.

</comment></comment></comment></comment><comment><USER19> (OT thoughts on Triplebyte)

I think Triplebyte is stuck between a few incentives that aren't necessarily aligned with developers, and I'm not sure how to decide how I feel about their contributions overall to the job market for software.

I absolutely love their outreach and data like this where they try to empower developers more.

My problem I have is that they entered the market using the same exact worn- out old methods that everyone has been trying to use to hire for software forever. They do a timed coding challenge, they ask we-need-to-hear-the-right- answer quiz questions about both algorithms, and topic-specific areas for web/mobile/back end.

All they've done is dress everything up in fancy clothes and used an interface UX tuned towards developer's sensibilities. They absolutely bombard all major programming related internet sites/communities with their stupid click-bait "only 2% of green-skinned back end browser developers living at least 100ft above sea level get this question right!!!!111!1!1one1!" ads. Their initial, multiple-choice "gotcha!" quiz should be passed by a second year CS (or any eng.) student with a tiny amount of thought, but it makes developers feel like they've already just "beat" someone else out and "accomplished" something and it plays a psychological game with them to get them to commit to the extended live interview. (It worked on me!)

Do they have data about how their candidates perform after hire? 2 yr performance reviews? 2 yr turnover rates? How do they market to the recruiters who are their true "customers"?

To me their product seems like something that hiring managers and in-house recruiters can use to remove liability for bad hires. Has anyone ever worked with them through recruiting to see if the value proposition is there for eliminating bad phone screens? I don't think initial phone screens are terribly difficult to do for a senior engineer with experience, to root out red flags. Is it a better value prop on your expensive on-site interview slots to trust Triplebyte? Or your own internal senior engineers/hiring managers?

I'm not saying that Triplebyte has direclty nefarious intentions or anything like that. I just am no sure I see how their incentives are aligned with me as a developer, in quite the same way they market as ("We are god's gift to developers").

<comment><USER20> > Do they have data about how their candidates perform after hire? 2 yr > performance reviews? 2 yr turnover rates? How do they market to the > recruiters who are their true "customers"?

Software engineering hiring, and Triplebyte as a company, at least think about, and make an attempt to evaluate these concerns. Have you ever seen how non-technical people (sales/marketing/finance) are evaluated? I'd argue Triplebyte at least moves the needle a bit versus in other fields.

<comment><USER19> Do they have any data about it? Or blogs or something? I'd be super curious to read thoughts directly from Triplebyte on this, if they have any public material out there.

</comment></comment></comment><comment><USER3> Base salary is a pretty useless statistic in tech. Almost all higher paying jobs are going to have a large component of the compensation in equity or discretionary bonuses.

<comment><USER21> That pretty much depends. Imagine a startup that offers stock options, which you only can use, if it ever goes public. And in the end it doesn't (for example it's bought), and resulting amount you get as compensation for those options is a lot lower than what it could be from the public scenario. So it's simply a gamble. While base salary is a solid metric.

</comment></comment><comment><USER22> Interesting to see that this is not a normal distribution. The modal salary is closer to $135k, the median $146k, and as we see labelled, the mean at $149. Not the idealized bell curve taught about in statistics class. That long tail on the right side is pulling the mean up and away from the mode and median.

Honestly, I'm not sure why I expected a classic bell curve instead of a long right tail.

Edit: playing with the data, looking at some of the sub-distributions, (e.g. front-end engineers with 3-5 years experience at all company sizes) do look a bit closer to normal distributions, but in many, there's still that long tail to the right.

Now, what to do with this information? Perhaps I can play it to my advantage when attempting to negotiate a raise or a salary with a new company.

<comment><USER23> It's likely bi- or multi-modal with secondary hump masked away due to sampling skew or something

</comment></comment><comment><USER24> Kudos to TripleByte for their efforts in making this kind of compensation information public! I referenced it during my last performance review discussion in an effort to negotiate for a raise that would bring my comp more in line with what was listed as the median in TripleByte's data.

I was pretty firm on insisting on a bigger raise based on that data, after which my boss's boss came in with the big guns. They had a spreadsheet of compensation data collected by investors in the startup, and this data was collated across all their (and other) portfolio companies.

It was broken down by total funding, company size, years of experience, role, all that. IIRC, it was Option Impact: [https://www.advanced- hr.com/](https://www.advanced-hr.com/). I wish I could've looked at it more, such interesting information with specific numbers. Of course, that will never be made public, much to the detriment of the workers in tech.

<comment><USER14> I just left my company that swore up and down that they work hard to pay competitive market salaries. They claim to have all this fancy compensation market data compiled by experts. I don't know why they trust this data so much, but it consistently shows lower salaries than even Glassdoor or Payscale, which tend to be lower than surveys like this one.

They don't criminally underpay or anything, but they are on the low side of average and I've been insisting that they are 20-30% under market on just base salary alone for high caliber people. No RSUs and there's some cash bonuses (maybe up to ~10%) and other near-cash perks but nothing super significant.

Well, jokes on them, I just accepted a new non-FAANG gig for a nearly-25% base salary increase, plus a significant initial RSU grant of ~1.5x salary, plus other bonus potential. And I'm more excited about the company and work anyway.

It's bananas out there right now, go get it while you can.

</comment></comment><comment><USER25> I imagine the signaling is partly due to the selective admissions processes at elite universities. MIT, Stanford, Harvard already vetted for you, so surely you must be intelligent, driven and cut above the rest.

But I wonder if there are recent studies on the demographics of who attends elite universities in general? I'd assume it is mostly kids from the upper middle class to upper class backgrounds.

These sort of places pat themselves on the back for saying they do target minorities and the less privileged, but they have such an insurmountable background to overcome they may never make it to such schools, despite being smart enough to attend.

You may miss people like: [https://www.uidaho.edu/engr/news/features/tom- mueller](https://www.uidaho.edu/engr/news/features/tom-mueller)

<comment><USER2> indeed, or even people like: [https://triplebyte.com/blog/how-i-got-a- software-engineering...](https://triplebyte.com/blog/how-i-got-a-software- engineering-job-without-experience-or-a-cs-degree)

</comment></comment><comment><USER26> This just shows how game changing bootcamps and the like are. People with no software background can go from no experience to a job paying 130k a year with a year of training. That's downright miraculous.

<comment><USER27> I'm not sure that this is what this data means. This report seems to be based on a very specific dataset of Triplebyte registered accounts. There are probably far more bootcamp grads that do not work as a developer and/or not registered on Triplebyte that are unaccounted for. Even bootcamp sites are probably inflating their salaries by only reporting those that graduates AND got a job in SWE.

<comment><USER26> But still - an appreciable amount of bootcamp grads are factually making this amount of salary. Even if it's not the average, it's still amazing.

</comment></comment></comment><comment><USER28> Isn't it in triplebtyte's interest for these numbers to be inflated? The data seems to be at the heart of a conflict of interest, as it would not be in the author's interest for these numbers to be lower than anticipated. I don't really trust "research", or just "data" in this case coming from a party that has a very direct interest in the results being one thing over another.

</comment><comment><USER29> Base comp isn't a great metric because it widely varies based on compensation schema.

For exmaple, Amazon has a cap on base (I think it's 160k) and provides huge amounts of stock beyond that. I'd imagine it's a similar story for many companies.

Total comp is a far more realistic and accurate measurement.

<comment><USER30> If they say they have a cap, it's probably just smoke and mirrors.

<comment><USER29> No, Amazon literally has a real hard cap on salaries. Everything else above that cap is stock. This is true for even seniors and execs.

</comment></comment></comment><comment><USER31> Looking at just base salary is not useful at all for FAANG, since they all operate on total compensation. At Amazon for example, the salary is capped at $165k for all employees in Seattle (including SVP, VP, and director level).

<comment><USER21> And FAANG use case is not as useful for everyone else, because it's so specific. Base salary is a good metric in a general case.

</comment></comment><comment><USER32> I am not sure about these numbers.

These base estimates are much higher than what sites like Levels.fyi and anecdotal numbers I've collected from my new grad peers.

At the new grad level, Base salary numbers are $125-135k:Google, $105-115k:MSFT,Amazon,FB. The base salary numbers at other unicorns don't sound much different either.

I am not saying that TB's numbers are wrong. But, there has to be some reason for the huge difference in the numbers I've heard vs the ones TB reports.

<comment><USER33> The numbers look pretty legit. This is coming from a new grad with multiple offers.

<comment><USER32> Would you be willing to share the companies that pay above 130 base for their median or even 75th percentile new grad in the Bay Area ? (assuming the bonus, signing and stock are in line with that of the Big-N companies)

<comment><USER33> I can give you more details if you email me.

</comment></comment></comment></comment><comment> trevor-e If you're working at a company that has multiple offices around the country (say SF, NYC, Boston), is it unreasonable to ask for the same compensation that a worker in the most expensive office gets? Assuming the role/responsibilities will be the same and the team consists of people from all offices.

<comment><USER34> You can ask. That doesn't mean you'll get what you want.

Are you going to refuse a job offer because it pays less than some arbitrary bar, even if it's the best offer you have?

</comment></comment><comment><USER35> I'm shocked that the salaries are so similar between Seattle and SF. Does this ring true for y'all?

<comment><USER36> Seattle's tech market isn't super diverse. It's Amazon and Microsoft dominated with less of the startup VC culture that SF has.

So you see 95% of those salaries are just MS/AMZ

<comment><USER13> I mean... FB alone has something like 3k engineers in Seattle. Google is almost done with a campus that will house 10k in addition to their already large Fremont and Kirkland footprints. Zillow, Redfin, Expedia, and others all have HQs in the greater Seattle area. Unicorns like Stripe, Lyft, Uber, and Airbnb all have offices here.

You really think that, with all that, Amazon and Microsoft make up 95% of high salaried jobs in Seattle?

<comment><USER37> Maybe what they're trying to say is that it's the established big companies that are inflating the numbers. I'm not surprised by the numbers because I'm pretty sure big companies dominate the statistics. (And they pay similarly as to SF)

</comment></comment></comment></comment><comment><USER38> I live in Houston, and I would say most senior (10+ year) full stack developers probably make what your 0-3 year front end developers make. In Houston, ~130k is enough to live an upper middle class life, what does that look like in NY, SF and Seattle?

<comment><USER39> These salaries for NY look high to me, and there's almost no variation based on experience. Whereas in my experience hiring here, entry level is $60-80k and seniors command around $150k.

Now, that's for startups. Banks will pay twice that.

I'm wondering what the medians look like - the means being displayed may be distorted by the finance and Google outliers.

Edited to add: $60k is a middle class salary for a single person in NYC. (Though people who are unaccustomed to small apartment living / the idea of singles having roommates / the idea that middle class means having to compromise on some expenses will complain otherwise.) I wouldn't want to try to raise a family of 4 here on that income, though.

$130k is definitely upper middle class for a single person, but a family of 4 on that income is going to have to live way outside the hip areas of the outer boroughs in order to be able to afford housing.

</comment></comment><comment><USER40> Recently made a switch from Seattle to NYC and was actually a bit surprised that the salaries in NYC were lower. People at my job didn't really believe me, so it's nice to have some numbers to back up my feelings.

<comment><USER41> Not that surprising. Seattle is HQ to two of the largest sofware companies in the world, with 1/3 the population of NYC. Wouldn't be surprised that the supply/demand gap for qualified engineers is greater in Seattle than NYC

</comment></comment><comment><USER42> Interesting. But why can't I filter by city? I'd like to see the percentile plot but restricted to New York. I imagine that the shape and peak of that plot would be different for each city.

</comment><comment><USER18> So I filtered by 8+ years of experience, back end developer and small companies assuming they wouldn't have RSUs. Equity in a non public company is worthless to me because of the chances of them being worthless.

The salaries just aren't that impressive for the cities in question. I can make that in much lower cost of living areas of the country.

</comment><comment><USER43> Probably too granular, but I wish one of these tools was able to compare salaries in S.F. itself with the Bay Area as a whole. I've heard that positions in the city pay greater than those in Silicon Valley, but I don't know how accurate that is.

</comment><comment><USER44> It's so interesting to see actual data that confirms what most people might suspect, instead of what you see here on HN where people talk about $200k+ base being "not that unusual".

<comment><USER45> The data is on average base salary. Nearly half of my total comp is stock plus guaranteed bonus. That's how my total comp is $200k+ with 1 yoe at a low CoL city.

<comment><USER46> If a bonus is guaranteed, how is it a bonus? Just because it's a big year-end extra payment?

<comment><USER47> It's never guaranteed, you have to wait all year for it, if you leave in December you get nothing, banks don't value it as highly, you can't pay your bills with it until you get it

</comment></comment></comment></comment><comment><USER48> How do get the job classification correct? (Employees are notoriously poor at self-reporting their own job level correctly).

</comment><comment><USER49> out of curiosity, how come you measure base, rather than total comp? are the bonus and RSU comp pretty similar among top-tier companies?

It seems like only comparing base makes it harder to compare smaller companies (which usually give you all your comp as base) with larger companies (where 30% seems to be rsu and bonus)

</comment><comment><USER50> That's sad. For the senior levels, you can almost make that much in St. Louis.

<comment><USER51> yeah that money goes way further than in SF. WTF?

<comment><USER52> getting big city coastal salary without living there is pretty awesome!

</comment></comment></comment><comment><USER23> Lol 8+ yeo makes like 30% more than someone with 0-3 yoe. This is some funny shit!

<comment><USER53> Maybe in just base salary

<comment><USER23> Yeah i know which is why this survey is basically useless imo.

</comment></comment></comment><comment><USER54> i have no degree. I am a FE 10 years experience in DC. I make only 150k but without seeing this data for my city. which is probably about 5-8% lower than NYC.

</comment><comment><USER55> You need to add housing costs to the calculation.

</comment><comment><USER56> I like how 0-3 years experience has no salary.

</comment><comment><USER57> Believe in what you see 101</comment>


Michael Jordan's 10 Secrets To Reaching the Top - <AUTHOR> http://www.dumblittleman.com/2008/07/michael-jordans-10-secrets-to-reaching.html <comment><USER2> I'm not big on flagging stuff, but inspirational messages from celebrities seems the exact opposite of hacker news.

And I don't think you can argue that MJ has demonstrated his ability to succeed in realms other than basketball. Well, he seems to be big on gambling.

The other MJ in that picture might actually be more inspirational, what with the HIV and all, and seemingly still having a successful career after basketball.

<comment><USER3> If going from not making the high school team to the greatest ball player in the world isn't enough, he built one of the most powerful brands in the world. Jordan ( shoes, clothes, movies, endorsments ) brings in more revenue than 10 facebooks could ever hope to. No other sports star or celebrity has ever come close to marketing himself as well as Jordan.

<comment><USER2> Please. <http://en.wikipedia.org/wiki/Phil_Knight>

Anyway I'm gonna post Oprah's secrets to success and see how that goes over.

<comment><USER4> Let's not forget Phil's partner and coach either - <http://en.wikipedia.org/wiki/Bill_Bowerman>

He fits my idea of the athlete/hacker a lot more than Jordan does.

</comment></comment></comment></comment><comment><USER5> #3 was written by a copywriter for a Nike TV spot.

</comment><comment><USER6> The majority of Michael's teammates hated his guts, he was a huge asshole. However the rings speak for themselves.

Maybe the lesson is be an asshole but make sure you can back it up.

</comment><comment><USER7> Some classic MJ trash-talking: <http://www.prosportsdaily.com/forums/showthread.php?t=200152>

"I hope there's a jumpshot in there." - Michael to Stacey King who was walking into the locker room with a box

The guy was not just a hard-worker, but an obssessed worker who would stop at nothing to ensure success was the only outcome.</comment>


VW says its Autonomous Braking worked flawlessly–So how'd I crash? - <AUTHOR> https://medium.com/@lancecjones/vw-says-its-autonomous-braking-worked-flawlessly-so-howd-i-crash-3adc05504253 <comment><USER2> Even the description of the feature quoted from VW in the article doesn't say it stops for you.

What it does do is determine whether or not you're trying to panic stop when you hit the brakes and stops hard before you press the pedal down far enough to do it on your own.

What it doesn't do is stop for you while you're accelerating.

If they want to claim the collision warning system failed, fine. But they didn't mention if the warning went off or not.

But they're trying to claim that VW said the car would stop for you, by quoting VW not claiming that the car would stop for you.

"If the system detects a hazard in front of your vehicle, it will alert you both audibly (with a chime) and visibly (with a small icon on the dashboard). The system also prepares the brakes for emergency braking, meaning it will take less time and power to slow your vehicle to a complete stop if you need to avoid a collision. If you don't apply enough power to the brakes, the system can help to stop your vehicle automatically."

</comment><comment><USER3> Interestingly both the IIHS and NHTSA perform crash avoidance tests but getting a comparative table of ratings is difficult. You can pull up individual cars, or one manufacturers cars, but not everything. Also, on the NHTSA site, US VW Golfs 2018/19 don't seem to claim have "Crash Imminent Braking" features, but have optional forward collision warning - not sure how that maps to general "Advanced Emergency Braking" features. I wonder if this is a case of overselling to customers.

[0] [https://www.iihs.org/topics/advanced-driver- assistance](https://www.iihs.org/topics/advanced-driver-assistance) [1] [https://www.iihs.org/ratings](https://www.iihs.org/ratings) [2] [https://www.nhtsa.gov/ratings](https://www.nhtsa.gov/ratings)</comment>


Remembering Anthony Bourdain as Only His Fixers Could - <AUTHOR> https://www.vanityfair.com/hollywood/2018/08/remembering-anthony-bourdain-as-only-his-fixers-could <comment><USER2> > He was also utterly authentic in his own responses. "Tony didn't do fake," > Zentoh says. "He really would eat what was on the plate, drink what was in > the glass." He would try anything, but if he didn't like, say, a bite of > dried sea-cucumber liver that elicited an "I don't need to try that again," > he wouldn't pretend otherwise.

For the rest of my life, I'll remember Anthony Bourdain every time I see a Waffle House:

[https://www.youtube.com/watch?v=bct8stbZafI](https://www.youtube.com/watch?v=bct8stbZafI)

Brock: "You don't come here expecting the French Laundry. You come here expecting something amazing."

Bourdain: "This is better than the French Laundry."</comment>


Ask HN: Where are you spending your New Years Eve? - <AUTHOR>

A party with friends? Going to Times Square or your local alternative. In your living room with your family? At home by yourself reading HN? <comment><USER2> Good friends of mine are getting married downtown in a victorian/steampunk themed wedding. A lot of the guests will be dressed in costume and we'll doing a massive pub crawl afterward.

</comment><comment><USER3> making prime rib. but if i weren't making prime rib, i'd be working. deadline for launch is coming up soooon!</comment>


Ghost Dancers Past and Present - <AUTHOR> https://s-usih.org/2018/02/ghost-dancers-past-and-present/ <comment><USER2> Thanks for sharing this. Drawing a connection between the superstition of superhero movies and ghost dancers is simply brilliant.

<comment><USER3> It reminded me that one of the most enlightening things I realized about superheroes was when I noticed that recent Superman movies try too hard to tie the Man of Steel to Jesus with a bunch of transparent cinematic metaphors. The best way to imagine Superman is as a messiah, but explicitly _not_ Jesus: He is the messiah as imagined by a Jewish kid raised on mid-20th-century science fiction.

<comment><USER4> The original Superman , the comics one is more like Moses, now the movies are "converting" him in Jesus-alike.

<comment><USER5> Superman's origin story in both Movies and Comics is absolutely based on Moses.

But I don't think Superman really _acts_ like Jesus, or Moses would in any situation.

I'm curious how you think the comics express Superman's personality or actions differently than the movies?

<comment><USER6> In the absence of anything other than a common origin, it may not be based on Moses. The story of Moses abandonment and adoption is itself a retelling of an older Sumerian myth, and thst was probably a retelling as well.

<comment><USER7> Go far enough back, and it's a metaphor for the fact that humanity themselves are descended from aliens, rather than evolved from terrestrial primates. Perhaps humans remembered this in ancient Sumeria or before? See also: _The Jungle Book_.

<comment><USER6> We're all just Golgafrinchan middle managers.</comment></comment></comment></comment></comment></comment></comment>


How Much Electricity Consumed by Bitcoin, Bitcoin Cash,Ethereum, Litecoin,Monero - <AUTHOR> https://www.ofnumbers.com/2018/08/26/how-much-electricity-is-consumed-by-bitcoin-bitcoin-cash-ethereum-litecoin-and-monero/ <comment><USER2> How much consumed by banks, ATM, cash registers?

<comment><USER3> They do far more transactions, in contrast to Bitcoin which is used for speculation.</comment></comment>


Show HN: AutoMute – Automatically mute your MacBook when you get to school/work - <AUTHOR> https://github.com/Lorenzo45/AutoMute <comment><AUTHOR> Feedback is much appreciated if you have any! Especially since this is my first time open sourcing software and putting my code out in the wild.</comment>


How we built a Responsive Time.com - <AUTHOR> http://appendto.com/case-study/responsive-design-time-com

<comment><USER2> It is interesting to see that it exists a cropped version of the first article image

Default image: [http://img.timeinc.net/time/daily/2012/1210/485_hl_genomes_1...](http://img.timeinc.net/time/daily/2012/1210/485_hl_genomes_1022.jpg)

Cropped version: [http://img.timeinc.net/time/daily/2012/1210/232_hl_genomes_1...](http://img.timeinc.net/time/daily/2012/1210/232_hl_genomes_1022.jpg)

</comment><comment><USER3> Definitely like the responsive nature of this site. Nice work appendTo() team!

One question: where's the large screen layout? I use a 27in monitor, and I really appreciate it when I can get more bang for my large screen buck!

</comment><comment><USER4> Responsive Advertising. Finally!

:(

</comment><comment><USER5> It's great to see bigger companies getting reponsive</comment>


Profilr.me | Pull everything together. - <AUTHOR> http://profilr.me/

<comment><USER2> Is that the final product?</comment>


Ask HN: Why can I only downvote some comments? - <AUTHOR> Recently I noticed I can only downvote some comments. I used to be able to downvote any comment. Looks like the difference is age of the comment?<p>Is this a new development? <comment><USER3> Off-topic but it seems that a change to upvoting has recently been implemented: [https://news.ycombinator.com/voteclosed?id=11923301&how=up](https://news.ycombinator.com/voteclosed?id=11923301&how=up)

We used to be able to upvote old items but now it seems there's a limit on that too. Too bad, I always liked being able to express that I enjoyed discovering something old in someone's record of contributions, even if no one would notice my upvote.

<comment> liviu- Especially given that HN offers no support for saving items other than upvoting.

<comment><USER3> Looks like someone heard you ;)

[https://news.ycombinator.com/item?id=12073675](https://news.ycombinator.com/item?id=12073675)

> _3\. Save and share the best stories and comments. Click on a post 's > timestamp to go to its page, then click 'favorite' at the top. Your > favorites are linked from your profile, and you can browse other users' from > theirs._

</comment></comment></comment><comment><USER4> As I understand it, you cannot downvote a comment if:

1\. You have too low a karma (points, look top right)

2\. The comment is a reply to yours

3\. The comment is quite old

4\. Something vague about a mechanism that stops you stalking someone and downvoting (spread the downvotes, don't focus them like a meanie)

5\. It's already been downvoted to nothing (you can do it, but I think it has no effect)

Generally, upvote the positive rather than downvote the negative.

<comment><USER5> >> Generally, upvote the positive rather than downvote the negative.

The exception, at least for me, is top level comments. They have so much power to shape the conversation that even a merely mediocre one should be downvoted.

<comment><USER6> HN needs comment folding. I can ignore those discussions easily on reddit by simply folding the comment. I find down voting here to be quite arbitrary and at times really mean spirited. It's discouraging to know that people are doing it merely to order the posts.

<comment><USER7> I use the Hacker News Enhancement Suite Chrome extension for exactly that. (It also monkey with fonts and adds tagging a bunch more things, but I honestly only care about the comment folding).

</comment></comment></comment></comment><comment><USER8> Is there a place where all these rules are detailed by the way ? not that I want to game the system , I'm working on a HN clone, and it would be interesting to know the business logic behind comments and submissions (how comments are sorted on an item page, how an article makes it to the homepage, is there something manual curation ? an algorithm ? ect... ) . While looking simple in terms of functionalities , HN is actually quite complex when it comes to content management,moderation and curation. I mean if all this is managed automatically.

<comment><USER9> The logic behind the time limit on down voting is almost certainly to prevent people from going into someone's history to downvote everything they ever said. Since your karma is literally the number of (upvotes-downvotes) you've ever received, doing that to someone could remove a huge chunk of their karma.

</comment></comment><comment><USER10> You can't downvote old comments (don't know what the threshold is) and comments that are responses to what you wrote. The time threshold seems to be on the comment itself, rather than article - I remember seeing pages where only half of the comments are locked.

<comment><USER11> > (don't know what the threshold is)

Some time ago I think it was around 24 hours, but recently I noticed I can't downvote comments older than 12? hours.

And yes, it's tied to comment, not the article.

<comment><USER9> I think it's 8 hours.

<comment><USER12> The fixed time limit doesn't make that much sense as what often happens is that the EU morning crowd sees the US West Coast's evening stories as the top trending stories, with a load of comments that can no longer be down voted, even though they are the most recent comments and barely debated.

Then again, why make it too complicated.

</comment></comment></comment></comment><comment><USER13> I cant downvote anything and always wonder how people do that, curious to hear answers.

<comment><USER14> I think you need > 500 Karma before you can downvote.

<comment><USER15> I think that's not sufficient, other factors like time since account creation and possibly activity too seem to be taken into account too.

<comment><USER16> That may be true. My recollection is that the ability to downvote became active right as I crossed the 500 karma mark, but it's possible there are other factors.

<comment><USER17> The other factors seem quite mysterious. This is the only page in which I've seen downvote arrows in ages.

<comment><USER14> Looks like we have official confirmation now :)

[https://news.ycombinator.com/item?id=12074198](https://news.ycombinator.com/item?id=12074198)

</comment></comment></comment></comment></comment></comment><comment><USER18> Imho, if an option is not available, it should be grayed out, and the reason should be shown on hovering.

<comment><USER19> Why, out of interest?

<comment><USER20> To prevent users from wondering what's wrong and asking questions like the ones in this topic. It's just a good rule of thumb for UI. "Don't make me think," as it were.

</comment></comment></comment><comment><USER21> Why are people focusing on downvotes other than upvoting what's important?

If you upvote important comments, the ones you dislike will fade away... so why focusing on so much negativity?

Does it makes anyone feel better downvoting an opinion they disagree with? Why not try to prove your point instead, adding your comment and upvoting the ones you like the most?

<comment><USER21> Again, here we go.. the invisible hand, the warrior without face.. and my comment being downvoted...

Do people really read 1k+ comment threads? Isn't this supposed to work as a community? If people would upvote comments they agree with wouldn't the most voted ones be on top?

So what's wrong with what I just said?

<comment><USER22> An upvote and a downvote are just two faces of the same thing. Upvoting everything you think adds to the conversation is functionally the same as downvoting everything you don't think adds to the conversation. You aren't more positive just because you prefer upvotes to downvotes. By choosing to not use downvotes, what you're actually doing is treating neutral comments (that neither add nor detract from the conversation) the same as comments that actively detract. You are making your rating binary when you don't have to.

I'll be entirely honest, I downvoted your comment. The question was about why downvotes are sometimes not available, and your comment about how it's negative to use downvotes at all seems unhelpful. So I downvoted it. I don't feel like that makes me negative. I also don't feel like it makes me positive when I upvote. I'm helping the comments sort more effectively, that's all.

Also, complaining about downvotes is also a sure way to get more.

<comment><USER21> Thank you for your explanation. It was helpful on understanding your motion towards upvoting and downvoting. I upvoted it, and am now explaining you why, because I think this is how we should justify ourselves.

I kind of agree on you downvoting my comment for being off-topic, but is it really? I think I tried to bring something to this discussion, although not necessarily answering the OP question. Anyway, it's up to the individual but I think we shouldn't be that closed. Otherwise this would be solely a Q/A forum.

Regarding the downvotes, I was already aware of that, and was expecting them. I don't care much about the 'karma' thing and am now actually thrilled to see the outcome of this experiment. I give much more value to an answer like yours, as I can learn with it, than the whole point system really. Thanks!

<comment><USER22> > _I upvoted it, and am now explaining you why_

Be careful with this. It's generally _not_ a good idea to explain how/why you voted. It's really just for the person whose comment you voted on, and detracts from the conversation for everyone else. Most people will not care why or how any particular person voted.

> _I kind of agree on you downvoting my comment for being off-topic, but is it > really?_

I wouldn't classify your comment as off-topic, but rather tangential and kind of uninteresting in the context of the initial question. It mostly feels like complaining about the voting system rather than discussion of the system. Complaints about downvotes are also generally discouraged (per HN guidelines), and while your initial comment was not a complaint about a specific comment being downvoted, it is still a complain about downvotes.

On the other hand, I did not downvote your second comment, because it's clearly relevant to the comment thread you started.

</comment></comment></comment></comment></comment><comment><USER23> What's never discussed is HN's "voting hellban". That is, you are permitted to upvote/downvote, but your votes don't ever actually count. This is the case with my account, but it's never discussed or documented anywhere.

<comment><USER24> What did dang say when you emailed HN?

I've found he's always happy to talk about this kind of stuff. The software sometimes makes mistakes.

<comment><USER23> Ok, yes, it seems nobody responds to the HN email address regarding issues like this. They likely filter out those not as popular as you.

<comment><USER25> That's neither true nor fair. We sometimes fall behind on emails, and I had several dozen to answer before getting to yours, which is currently next in the queue.

Coming here to see the context before answering your email is an ironic moment to encounter snark about us not answering emails. If you'd merely said we were too slow, I'd fully agree.

<comment><USER23> Apologies, I wasn't aware of the backlog. It wasn't intentionally snarky - <USER2> I ran a board as popular as this, prioritizing popular accounts would be sensible thing for me to do, so I assumed.

</comment></comment></comment></comment></comment><comment><USER26> Sorry if too OT, but I thought I'd put it here:

Why not let people see the scores of replies to their comments? I can understand hiding scores in general, sure.

But it would be nice to know how popular certain replies are, so I know if it's worth continuing the thread. There are a lot of times when there's exactly one comment, which isn't grayed out. I have no idea whether zero or a hundred people think it's a good reply.

If there are multiple replies, then that indicates interest and I can reply to the top one. But that doesn't help for the case of single replies.

</comment><comment><USER27> In my experience when a thread gets too much chained replies you can't down vote any more.

I suspect this is to prevent down voting wars in heavy discussions.</comment>


Ask HN: What is the best open source project for a newbie Ruby Developer - <AUTHOR> Hello HN,
I am started to learn Ruby and Ruby on Rails. I am a bit lack of creativity so I decided to contribute open source projects to develop myself. Any suggestions for beginners ?
Regards, Can <comment><USER2> I found Sinatra fairly easy to understand, and they were happy to take a patch. I don't know Ruby, but I am also an experienced developer, so YMMV.</comment>


Ask HN:  Who are the visionaries when it comes to technology and politics? - <AUTHOR>

I'm doing research on how technology is changing politics and society, and I'm putting together a list of people to talk to. I'm interested in people from all fields - technology, politics, sociology etc. who have deep insight into the topic.  I am thinking Votizen, Americans Elect, Twitter in Tahrir, government transparency and so on. <comment><USER2> <http://www.economist.com/node/21534760> Also, Carl Malamud of resource.org.

We should still have coffee!

<comment><AUTHOR> Awesome - thanks for this! Are you in the Bay Area?

<comment><USER2> Yes, though I'm probably moving to Oakland. If it's not in your gmail, look back into your movie project email from ~March.

</comment></comment></comment><comment><AUTHOR> I'll kick things off - Kahlil Byrd, CEO of Americans Elect</comment>


Wikimedia Foundation v. NSA - <AUTHOR> https://blog.wikimedia.org/2017/06/23/wikimedia-v-nsa-present-future/ <comment><USER3> Seems like it's trendy to hate the NSA. It gets conflated with an anti- authoritarian mindset. I wish smart people would gain some perspective - I got some by reading Bamford's books and a new one by Fred Kaplan - <USER2> Territories, about NSAs painful move to cyber. Some key points:

* All the great powers have NSA equivalents. Meaning they play offence and defense in crypto, RF, and cyber. We (USA) can impose restrictions on our NSA but not on anyone else's. Our exploit-riddled networks are a playground for American, Russian and Chinese cyber warriors - and probably many others.

* In cyber, offense and defense become the same. Kaplan's book covers this. So a smart country seeks cyber-superiority. The more we hamper NSA, the more we empower foreign cyber-warriors.

* The focus has moved from RF to cyber. Giant antennas are far less important and giant datacenters are the new stars. Vacuuming up packets is less alarming when you understand we've been vacuuming up radio and telephone signals for decades. When comsats were important, NSA was vacuuming up their downlinks. When international telegrams were punched on paper tape, NSA's predecessors picked up the tape each day.

* The US has tried going "NSA-less". It happened in 1929 under the slogan "Gentlemen do not read each other's mail". That noble slogan led to the US operating at a disadvantage in the lead up to WWII. It doesn't pay to fly blind.

* Fear of an overreaching state is always justified; however we should focus that fear more on how NSA shares data than how it acquires it. For instance fusion centers: [https://www.eff.org/deeplinks/2014/04/why-fusion-centers-mat...](https://www.eff.org/deeplinks/2014/04/why-fusion-centers-matter-faq)

<comment><USER4> It's like saying peace is trendy and we should not try to go weaponless.

That makes no sense.

We all want peace. We all know that peace is not there yet and that without weapons the other countries would take advantage of it.

Yet we all know that the weapon oriented society the US has become is a major issue.

It's not contradictory, just being honest with yourself.

<comment><USER5> > We all want peace.

I don't think that's true, there are clearly many people bent on fueling conflicts and wars, both in- and outside the US.

<comment><USER4> *In HN.

I don't think many people on this forum are war lords.

Anyway "we all" is always false, and is just another form of "most people". You must be really lacking of ideas to nitpick on that.

<comment><USER6> I don't think he is nitpicking at all. The US has too many conflicts, incl wars. 26,000 bombs dropped last year. Extremist fighters funded by the US Gov't (Syria, Iran Contra, and who knows what else has yet to be proven). We have 7 cities with higher murder rates than any country in Africa or the Middle East, including Afghanistan. Largest prison population, a publicly known torture camp... I could go on. But I think a lot on HN are obviously absorbed in their comfortable occupations--they're challenging, interesting and demanding, and also rewarding. It's easy to get lost in this and forget what less fortunate are dealing with.

</comment></comment></comment></comment></comment><comment><USER7> Great article, thanks for doing what you do ;)

</comment><comment><USER8> Given the current climate, with a foreign actor attempting to subvert our democracy, I'm more inclined to support other more obvious victims of NSA spying than Wikimedia.

This seems loosely held together - that said I do trust that our justice system will investigate it properly.

Given the climate, my feeling is anyone attempting to say our justice system is awful, or that the NSA doesn't provide any security, are witting or unwitting supporters of a foreign adversary. Unless, of course, Russia succeeds; then it's all kosher and the history books will be written as such.

If you think our justice system is terrible then please point to a country that does it better. Note I'm not talking about laws- rather, the judiciary itself.

</comment><comment><USER9> I'm curious, can the government use surveillance on paper mail at the large mail operators?

<comment><USER10> Yes, a picture is taken of every piece of mail sent, tracking the "metadata." Additionally, the Church committee found around 10,000 pieces of mail a year were opened and photographed by the FBI without postal service knowledge.

<comment><USER11> I'm interested; do you have a link to an article or something describing this? I'm curious about how the FBI could get access to the mail without the post office knowing.

<comment><USER10> Some of the details are in the "Family Jewels," finally made public in 2007. The CIA not the FBI, my mistake there, would either arrange the post to be moved to a separate room or sneak mail out in briefcases or pockets.

[https://www.cia.gov/library/readingroom/collection/family- je...](https://www.cia.gov/library/readingroom/collection/family-jewels)

<comment><USER11> Wow, I'm also very amazed at the description of the document:

> [T]his document consists of almost 700 pages of responses from CIA employees > to a 1973 directive from Director of Central Intelligence James Schlesinger > asking them to report activities they thought might be inconsistent with the > Agency's charter.

I love the concept of just asking your employees to tell you everything they did that they're not supposed to, and they just write up a bunch of reports and send them back.

Also, fun is the warning about the PDF size, which feels a bit quaint:

> this file is 28MB, so please be patient while it downloads

</comment></comment></comment></comment></comment><comment><USER12> Thinking about it, it was in about 1971 that US left the gold standard, and that was partly due to government spending. Watergate came not long afterwards. This design of the economic system where the government prints money still exists today.</comment>