The relentless (and annoying) pursuit of eyeballs - <AUTHOR> http://kensegall.com/2014/07/the-relentless-and-annoying-pursuit-of-eyeballs/

<comment><USER2> I've worked on 5-6 high traffic content sites in my 15 year career. The problem with Internet advertising is likely the part that people first loved about it: immediate analytics.

Here's the problem. When every action you get paid for is a metric, it forces those metrics to eventually be corrupted. Need CPM eyeballs? We solved that one decades ago... link rings. Today's link ring is outbrain, nrelate and the rest. Here, we'll put web sugar on our pages with bikinis and top 10 lists. Eyeballs you have. Doesn't matter that the site sells itself as a tech magazine, it's real traffic is comic con photos of Jean Grey. No one will know.

Maybe you get paid for clicks. OK. We have solutions for that too. Let's put adwords in the page. Let's style them to look like navigation. Let's create popovers with super tiny close buttons that purposefully have their display and href off by a few pixels. Let's delay it to load so that we can likely grab a rogue accidental click as well. Smaller screen, less precision as you do in mobile? Perfect, even better. We'll autoplay movies one after the other, but only if we have an ad. There's a system to all of this.

Then of course you run into the engineers and executives that simply don't care. The Internet to them isn't the democratization of knowledge, it's an opportunity. "People want to click on Bikinis, why do you care". The problem of course is ads become a pattern. Once one large site falls into selling a certain system, the rest fall like dominos. Because the ad providers aren't going to create unique ads per site.

Meanwhile I was building very genuine, audience driven sites that were doing a hundreds of thousands of people a day. Mostly, believe it or not, DIRECT traffic. It doesn't matter. You can't compete with 10s of millions from link arbitrage, 99% referral traffic. You're not a big site. You don't matter. Sure we'd get hundreds of real comments and discussion per story, but there's only three-hundred thousand people on the site, who cares.

The problem of course is this is just as big a problem for the content producers themselves. They go to work day to day and get beaten over the head to make cheap, quick content that attracts the most viewers. The shotgun approach, something will hit. For the first couple years they fight it out, but eventually they give up too. It's easy.

There are companies solely dedicated to this. They create cheap content with little or no value, a getty image subscription, and siphon links from larger, less valuable networks like yahoo and aol. They pay 1 cent for the link and charge 2 for the ad. These quick, pop-up sites feature some sort of vertical branding (cars, babies...etc) and sell their growth to unknowlegable ad- buyers. Look, we're a brand new car site that's getting 2 million uniques a day!

It's depresses me sometimes. It was hard to work around that kind of scam and not dip to those levels. The pressure is always immense. If you just use such and such dark pattern, you can solve all your problems.

I really hope things like Patreon work out. I'd love to see people paying for smart content. It's needs to be easier than it is.

It's of course not all bad. On the positive, small scale publishing by the individual is as healthy as ever. A good quarter of the links you'll read on this page today are on somebody's blog, containing no ads and featuring real, genuine ideas and knowledge.

<comment><USER3> Love all the examples you provide. Would love to combine your knowledge with mine ([https://news.ycombinator.com/item?id=8057629](https://news.ycombinator.com/item?id=8057629)) and others who have more to say on this and publish a well written case.

As to alternatives to ad revenue, what are your thoughts on approaches like Patreon vs web micropayments or this idea of mine ([https://news.ycombinator.com/item?id=8009959](https://news.ycombinator.com/item?id=8009959))?

</comment></comment><comment><USER4> The problem is that the default price of consumption on the internet has become FREE.

Just because the price to transmit content on the internet is negligible, doesn't mean the price to PRODUCE it is also negligible.

It's one of the most severe problems with the internet...its default business model isn't realistic.

<comment><USER3> I agree, but it's an absolute fallacy that consumption is free. In fact, it is more much more expensive with ads:

1\. The advertisers who pay for it all still get their money from us, but baked into prices of the things we buy from them. There is no free lunch.

2\. The overhead cost of advertising is huge and we pay for that too. Ad systems and data collection systems, ad engineers and people like the author. Ad agencies. Creative agencies. Ad tracking. Marketing departments.

3\. We pay the opportunity cost of a product that cannot put users first because they live or die by giving advertisers what they want (what we want only indirectly and secondarily, if at all). This includes both the cost of lost privacy as well as well as design that optimizes advertising revenue. As has been said, we are more Google's products than we are their customers.

4\. We pay the social costs. Democracy and the free market assume people make voting and purchasing decisions based on facts and reason. Advertising is predominantly about manipulation and deceit. To me this is the most expensive cost of all.

Added together, we are paying a lot more for "free" web content and services than if we could just straight up pay web sites for straight-up ad-free versions. A system to make that convenient is possible, but we're too hooked on ads to even try.

[This is a condensed version of a more detailed case with reference links that I made here: [https://news.ycombinator.com/item?id=7485773](https://news.ycombinator.com/item?id=7485773)]

 _" Everyone gets that advertising is what powers the internet, and that our favorite sites wouldn't exist without it."_

The author nails the two sources of the problem, that advertising drives the internet, and that everyone believes we have no choice.

<comment><USER5> This is a fantastic post, and nails down one of the most frustrating contradictions I encounter online: People whose salaries are ultimately paid by advertisers complaining about low income people making self-sabotaging decisions.

Either advertising works or it doesn't. Insofar it works, it's basically coercion. If it pays for things we love it's because we're indirectly paying for them + the advertising industry.

<comment><USER6> Either advertising works or it doesn't. Insofar it works, it's basically coercion

Not even close. An ad can make a decent amount of money if it does one of three things: show me a new place where I can get a need that I have solved, or show me a solution to a problem or need that I know I have that didn't know had a solution or, and this is the most tangential and the one that is most difficult to do - shows me a need or a problem I didn't know I had and a solution to that (this is what people often complain about as superficial, but if I see a sign saying "most people pay more tax than they have to, lets us do your taxes and save" that might get me thinking).

There is no coercion there, the information itself is valuable to me and the advertiser.

The trouble with most ads, and the reason people think they suck in general, is that most of them are for crappy products because crappy products, in general, need more advertising. Great products need advertising too but not so much.

<comment><USER3> You're right in principle but not in practice, as you yourself point out in your final paragraph.

How are users supposed to know which ads are honest, and which ads are crappy products spun as great? And if crappy products far outnumber quality ones (case in point, how much of the content on the web do you think is garbage?), how does advertising achieve what you claim in your second paragraph?

And even for those non-crappy products, how much incentive is there for sellers to tell half-truths to increase sales? "Here is my great product (but I won't tell you about this other better or cheaper product that I know about, and in fact, I'm buying this ad to make sure that that upstart competitor never even has a chance! It's so nice that my established market dominance pays for my wide and deep advertising mote!)"

See this thread for more on this: [https://news.ycombinator.com/item?id=7733941](https://news.ycombinator.com/item?id=7733941)

</comment></comment></comment></comment></comment><comment><USER7> The Patreon campaign for my ongoing web comic[1] hit a milestone this week. I'd promised that when I hit $50/page, I'd turn off the ads. Now they're gone. No distractions, just the comic, and a polite note at the end of every few chapters asking people to consider supporting me on Patreon, buying some stuff, or telling their friends about the comic.

I dunno if this model is sustainable in the long run; if nobody has ads I'm not sure how I'd have gotten eyeballs on my comic in the first place. It's not something that's dripping with viral shareability; it's a dense, long-form work best consumed in chapter-sized chunks. And I've still got a ways to go before it's paying my rent. But it's working for me right here, right now.

1: [http://egypt.urnash.com/rita/](http://egypt.urnash.com/rita/)

</comment><comment><USER8> Try this if you have a windows machine.

[http://winhelp2002.mvps.org/hosts.txt](http://winhelp2002.mvps.org/hosts.txt)

I have yet to see some a video advertisement on any site, and text ones are almost nonexistent on popular websites.

</comment><comment><USER6> Most online ads are just for bad or useless products. Why would I ever want to buy a Win8 phone? Iphone or Android I get, maybe even a dumb phone when I run out of power, but a Win 8?

Even Facebook, which already has so many of my private details, can't show me better ads than for a fifth-rate dating site and and Iphone cover from some China Export service.

Of course when you make an ad jump around in front of people, they will try to find a way to get rid of it, so they might click on it by accident - and so you get a bit higher click-throughs.

We are reaching a point where there just aren't enough good products to satisfy the demand for ad inventory (at least at the given price) and so they have to get worse and worse products that can only afford it if they use crappy and annoying ads.</comment>


How encrypted SNI works - <AUTHOR> https://blog.cloudflare.com/encrypted-sni/ <comment><USER2> Interesting, Chromium 71.0.3578.98 on Archlinux requires enableing TLS 1.3 via a chrome flag or perhaps ssllabs client checker won't detect it unless downgrade protection is enabled?

It doesn't apper thet qtwebengine has TLS 1.3 support yet despite it being based on chromium.

</comment><comment><USER3> If it doesn't work, there is always CurveCP.</comment>


Selling to the Fortune 500, Government, and Other Lovecraftian Horrors (2013) - <AUTHOR> https://training.kalzumeus.com/newsletters/archive/enterprise_sales <comment><USER2> Reminds me of how many Atlassian Platinum Partners offer "licensing support".

e.g. [http://valiantys.com/en/software/licensing/](http://valiantys.com/en/software/licensing/)

> Each company decides how to conduct their purchases. We let you choose your > preferred currency (USD, GBP, EUR, CHF or CAD) and payment method (bank > transfer or credit card).

This is just arbitrage! e.g., "If Atlassian doesn't accept your company's standard payment style, we'll bridge the gap for a fee!"

In other words Selling to Fortune 500 is hard enough. For a real challenge "Try Selling to Fortune 500 When You Yourself Are Also Fortune 500." :-)

</comment><comment><USER3> I have worked for bunch F100 organization and many times I have ended up writing my own library or tool because the effort that need to buy a $99 tool is so huge, its cheaper to write my own logging frame work, ORM or deployment script. It cost same effort to buy a $99 or $250K product.

<comment><USER4> Similarly, the open source review process for so many companies I've seen has been so onerous that it was easier to write your own proprietary clone with absolutely none of the community and review possible with OSS. Enterprise processes in general are historically oriented around avoiding downside risks at the expense of agility and growth because it's simply easier to lose money than to gain it when you're an incumbent in a market vertical.

</comment></comment><comment><USER5> Google is particularly funny to watch trying to sell to F500 companies. Their sales pitch is roughly: "Buy Our Cloud Services because We're Smarter Than You". While mostly true, that approach tends not to convert well.

I've seen Amazon eat their lunch over and over. And Amazon's not even as good at it as, say, Oracle.

<comment><USER6> How does Amazon pitch their services in that context?

<comment><USER5> Better idea of how to stroke egos. Like allowing AWS to take on the infrastructure frees the client up to do their "innovative work". More empathy about compliance issues, internal politics,etc. Pre written whitepapers the client can use to calm their internal IT security people, etc.

Basically just putting in the work to understand how to sell to that crowd.

</comment></comment></comment><comment><USER7> I've help sell software-as-a-service to large businesses for a few years and this is a good read. An interesting additional nugget is that when the stakes get big enough customers often are being guided by a consultant (Accenture etc) in crafting things beyond an internal purchasing/procurement/IT mashup. You need to make sure you help the customer and the consultant to get the sale.

<comment><AUTHOR> So Accenture does due diligence on the expected ROI from the product?

What if you're offering a SaaS product that no one there (but everyone on HN) gets - Is it possible to be both Accenture (review and craft a deal and explain the benefit to the business really well) and also be the software-as- a-service if the client has never bought anything like this before?

Context: I am trying to sell DL consulting/productized models but enterprises either say 'we don't really do that' or 'we do that but we don't work with consultants'.

<comment><USER8> > What if you're offering a SaaS product that no one there (but everyone on > HN) gets

When you feel you're in this position, you should possible reevaluate your offering or the way you think about it.

Although all of the things in TFA ring true, its also true that very often, your internal champion at the customer is actually pretty savvy, and has a strong understanding of their own needs. Not always - but often.

I interepret the feedback you are getting from them as "I don't understand".

If so, thats your problem, not anyone else's.

In the early days we used to market our product as super flexible, way beyond what anyone else had, you could "bend it to do anything". We had a smartypants view of the world, our offer was meta-data driven, yada yada.

After a while it became clear that potential customers did not understand. They (curse them) wanted to see our product in action, solving their business problems. They didn't want to embark on some big configuration journey.

If you can I'd suggest you think about ways to offer "out of the box" implementations of your product, where no consulting activity is required - then seek out early adopters/champions inside the organization who will bring you inside.

<comment><AUTHOR> Thank you

</comment></comment></comment></comment><comment><USER9> I liked the point "GitHub probably makes more money from their largest Enterprise customer than from all personal accounts combined". I think the same is true for desktop apps. For instance, Sublime Text's price point of $70 is precisely for Enterprises. Nevertheless, I believe ST could easily make an extra $ x0,000 by having a one day sale for personal customers. I blogged about this [1].

[1]: [https://fman.io/blog/finally-understanding-sublime-texts- pri...](https://fman.io/blog/finally-understanding-sublime-texts- pricing/?s=hn)

<comment><USER10> Huh? For software I use 5 hours a day, $70 is definitely personal pricing.

Compare, say, Intellij IDEA (does some things better, some things worse), which sells for several hundred dollars per year.

<comment><USER9> It's seriously great you see it that way. I wish there were more people like you.

As a bootstrapper, I compare it to my other (eg. living) expenses. $70 feeds me for several days.

You mention IntelliJ. I use another JetBrains IDE: PyCharm. A two year subscription cost me $66. Sure, I will have to pay again in two years time. But I would argue PyCharm is much more powerful than ST.

That's no criticism of ST. It provides tremendous value and as I mention in the post, I did buy a license. But I don't think that most people consider $70 "personal pricing". I wish it were that way because I'm selling a (ST- inspired) desktop app myself [1]. But I don't think it is.

[1]: [https://fman.io](https://fman.io)

<comment><USER10> Perhaps you have an educational or startup discount? Two years of PyCharm is $358 for commercial, or $160 for personal use.

And that's just for Python. 3x that if you want Java, Ruby, PHP, etc.

<comment><USER9> Yes I have some kind of start up discount I think.

</comment></comment></comment></comment></comment><comment><USER11> I think this is a good article. It works well for internal "sales" too, where the main budget is developer time instead of dollars (which translates to dollars eventually of course). I've worked in these sort of teams for the greater part of my career and I've learned that the word "permissions", as referenced in the article, is an immediate trigger for asking for more capital i.e. dev resources to complete the project.

As the classic xkcd comic[1] implies, there is a large difference in difficulty for certain tasks that may be seen as roughly equal in effort to the end user.

[1]:[https://xkcd.com/1425/](https://xkcd.com/1425/)

<comment><USER12> It's interesting that the "virtually impossible" task of a few years ago is a joke app of today ("Hot dog or not hot dog"). Machine learning is moving _fast_ lately.

<comment><USER11> Indeed. The field is moving quickly. Part of the joke though was that the problem is still hard enough that the app was only able to identify one food item. We're getting closer, but it's still quite a hard problem.

</comment></comment></comment><comment><USER13> I kind of wished I had signed up for patio11's newsletter years ago. It hits just the right spot of being informative and actionable to actually be _enjoyable_ for me to read.

He's not still doing it since he went to Stripe, is he?

<comment><USER14> I plan on continuing writing in my own capacity; been a bit busy the last few months though (a combination of work and us having our second child in February).

<comment><USER13> That's good to hear, and congratulations on the increasing responsibilities of fatherhood. ;)</comment></comment></comment>


What's good career advice you wouldn't want to have your name on? - <AUTHOR> https://80000hours.org/2019/10/anonymous-advice-careers/ <comment><USER3> Have the courage to stand up for what you believe in, even if it terminates your employment status. I'm only unkeen to have my name on this, because I haven't done it, and I wish several times in the past, I had. I respect the person who did this early in his career in one ISP immensely: it was stunning to watch somebody say "you're full of shit" to the new CEO, and walk out. (he was btw, full of shit)

<comment><USER4> How is that beneficial to someone's career though?

Sure, it shows one's morals and standards, but how does that boost one's career?

<comment><USER5> Well, among other things it can mean you end up in a situation that more closely aligns with your morals.

This has a number of predictable benefits.

<comment><USER6> ...by force. Although I'm sure Edward Snowden feels good ethically, I'm also sure he has material issues that make him regret (that's the goal of his ennemies, after all).

Similarly, a middle manager who has to downsize houses because he stopped working on weapons for example, it could be even harder for him because he won't even get famous for it.

I should know, I've made one of those choices in another area.

</comment></comment></comment></comment><comment><USER7> Article comments and comments in this thread seem to miss the point of the title entirely. Here's some actual advice I don't want my name on, but seems pretty effective based on working at a lot of different Big Cos:

\- Always go for prestige over purpose. Have a choice between a shiny project with very little actual impact to the company and a behind the scenes project that will actually make lives better for employees and customers? Go for the shiny project. It will look better on your resume and to executive teams, and will get you promoted faster.

\- Learn the art of looking busy and practice it often. If you _look_ busy all the time, people will assume you're productive and also not give you a bunch of extra work for no extra compensation.

\- Play politics. A lot. Especially throwing other people under the bus. The key is to align your politics with the right power players in your org. You'll get promoted faster, get more bonuses, and be able to get away with more things in general.

\- Get the scoop on what's actually going on at executive levels by making friends with the office managers/personal assistants. You'll get an early notification of problems coming up, people to avoid, opportunities to take advantage of, etc.

\- Loyalty is for chumps. Play the game for yourself. If you get a better offer somewhere else, take it. If your boss is an asshole or putting a glass ceiling over you, leave. If you need time off, take it. If your team isn't being effective, throw them under the bus and move on.

<comment><USER8> I will print this out for my teenage sons and make them learn this.

<comment><USER9> How sad. But not at all surprising that someone would eagerly jump on trying to advance their career by such unethical means.

</comment></comment></comment><comment><USER10> \- When trying to decide on a new career direction, go onto career websites such as Indeed.com and look up what is the highest paying and most desirable. For example, whenever I go for a certification, I do a search for it on Indeed. I look at how many hits come up, how much it pays, etc.

\- Dress just a little bit nicer/more formal than everyone else in your workplace. People who don't know you will assume you are more important than you are and people who do know you will unconsciously associate you with upper management and you'll be more likely to get promoted. Management promotes people they "see" as management material. If you look the part, they're more likely to see you that way.

\- Take audio recordings of your meetings with your coworkers and boss. Use the recordings to take notes that you may have missed at the meetings. Particularly in a new position, going back and listening helps to pick up what people emphasize.

\- If people can see your computer screen, do all your non-work bullshit on your phone, where people can't see. Keep only work stuff on your computer screen and you will look productive.

\- Don't ever tell anyone at work anything personal that could be even slightly controversial, including political beliefs. People like to talk shit and if they have something on you, it will get spread around most workplaces. Gossip is cache for people and they'll use whatever they have to make themselves more likable.

<comment><USER11> Questions about the audio recording, have you ever had pushback from others? Is it a ask for forgiveness not permission situation?

How transparent have you been day to day, for example is it visible during meetings or in your pocket? And do you keep a specific audio recorder/use only work phone or have you recorded on personal devices like your non-work phone?

<comment><USER10> I hit record on my personal phone before I go into the meeting, then turn the screen off and put my phone on the table at the meeting. A lot of people put their phone on the table at meetings.

<comment><USER12> Do not actually do this, as in many places this is illegal. Check first whether or not it is 100%, entirely legal with a source that is not someone who tells people on the internet to record others without consent.

</comment></comment></comment></comment><comment><USER13> It's interesting that nearly all of these pieces of advice are fairly non- controversial. What's the point of posting stuff anonymously if it's the same stuff that most people would be happy to attach their name to?

<comment><AUTHOR> Hi Nostrademos — I was involved in this project. We asked a lot of questions and the answers to some others were quite a bit more controversial (we're going to release a new question each week or thereabouts).

But one thing we learned in the process was that seriously successful people doing their thing feel pretty gagged.

It's not worth it for them to write even things that seem uncontroversial to you or me, because someone out there might hate it, or misinterpret it, and start creating problems for them.

<comment><USER13> Yeah, I figured it was something like that. There are plenty of things that I believe are true but don't say because the blow-up potential just isn't worth it. (And I'm someone who actually _likes_ arguing on the Internet.)

Why not do something _actually_ anonymous, though? Put up a form box on your website where people can write anything in response to the prompt, and let folks access it through Tor? Then post the results with the appropriate disclaimer. You might need to moderate it a bit to cut out crap like "PENIS1!!11!1!", but you might also get some genuinely interesting commentary.

Then again, this is basically what Blind does.

<comment><USER14> Yeah, but then, like Blind, you just get a bunch of bullshitters. The problem with Blind is that you're getting long-term career advice from a 23-year-old who's obsessed with 'TC'. Even if that person's obsession is in line with yours, he rarely has the experience to tell you what's going to work. Most posts there come from a place of anger and insecure showing-off that they're unlikely to be useful.

</comment></comment></comment></comment><comment><USER15> > When you're in college... Your time is less valuable

This really jumped out at me.

As a college student, I've never had so many opportunities available to me at once -- nor so little maturity with which to take advantage of them.

That said, I certainly agree with taking care of low-level health problems, the sooner the better.

<comment><USER16> Mobility but no means, versus means but no mobility.

Most people find later in life that they actually had more means then they realized.

<comment><USER17> So what things should someone in university atm look to do to ensure they're maximizing their means

<comment><USER18> Be seen. Volunteer for on-campus events that are organized by the university (find the person running something, and ask them directly if there's anything you can do to help them).

Always ask "Is there anything else I can do to help" after completing a task. Always be the first to start volunteering (show up early) and the last person to stop volunteering (stay late).

If you're a person of good character and genuine spirit, people will notice and talk about you. People will ask your help with bigger things. Repeat.

<comment><USER19> If you do this, you'll quickly get snatched up into some professor's research project and forced into grad school, like it or not. There you'll be forced to get your PhD and spend your life doing well paid research in something you're terribly interested in. Awful.

</comment></comment></comment></comment></comment><comment><USER20> Work is irrelevant beyond a paycheck. Don't stress out over anything if it doesn't involve you getting fired. Work as little as possible. Get as much done as you can working as little as possible as long as it doesn't stress you out. Never lose sleep over work. Never work unpaid overtime unless you'll lose your job over it. Never care if your bosses are angry or unhappy as long as it doesn't affect you having a job. Don't let their emotions affect yours. Nothing is important enough at work to go out of your way for. There are others along this line I'd advice. Obviously this doesn't apply if you are a doctor but for most jobs it does.

<comment><USER21> This. I never understood why people at a startup I worked at (even after it was acquired by a FAANG) gave a shit what happened after hours. There was an ops guy actually trying to slack people at 3am. At one point they tried to contact me again on the weekend, my boss decided she'd ask why I didn't seek "ownership of the problem" (one of the god awful basically fascist "workplace principles" of said FAANG). My response was basically, I don't work for a startup, it was the weekend, I don't work on weekends. I left about three weeks later, my boss also accidentally sent me a PIP offer minutes before I was going to send in my 2 weeks notice. Got a bonus $20k for leaving a shit company ;)

<comment><USER22> Agree. I tried to tell boss hire more people if you want 99.99 % uptime. But he complained about money. Then I quit.

</comment></comment></comment><comment><USER23> Chaos is opportunity: If you want to learn a lot of things and gain a lot of responsibility quickly, work in an organization or area where the roles and processes are poorly defined. You'll be given responsibility for anything you take on and don't screw up, and you can use that experience to either move up in the organization or move to another organization that's maybe a little less chaotic.

<comment><USER24> +1

Chaos is a ladder.

</comment></comment><comment><USER16> > * Gain the trust of people who have a lot of influence. One big benefit of > working with such people is that you can learn a lot; another is that if you > do good work, they come to respect and trust you — and that can be crucial > in getting the best jobs.*

Best advice in that article. Find the people who are clearly the thought leaders and ask them to mentor you.

<comment><USER25> +1

I've read multiple accounts of successful people having essentially this story and it's really stuck with me:

I went into a meeting with my mentor.

During the meeting, a lot was said by different folks.

After the meeting, my mentor asked me: "What happened in the re?"

I proceeded to give him a rough outline of what was said.

They responded: "That's what was SAID. Here is what actually happened: Person A said they were ready but they are clearly not b/c $X. Person B said they had $Y but that's not true because we already know $Z".

END OF STORY

This kind of guidance is priceless because it saves you potentially years of trial and error trying to learn how to read between the lines.

</comment></comment><comment><USER26> Consider your choice of field carefully. I loved programming and yet doing it for a living and climbing the ladder made me start hating it. IMHO the tech field is overrun with young, bright, energetic people, most of whom are dreamers with their own private techno-utopian fantasies who secretly harbor the belief they'll be multi-millionaires or billionaires in a few short years. Dreamers are mostly innocent but there are lots of cutthroat assholes and psychopaths (as there are in many fields). The blood (money) in the water attracts some seriously disturbed people. Greed is everywhere, and in many forms.

Do something you love that doesn't require you to compromise your morals.

I wish I had been a musician. I wish I had focused on finding the right mate instead of so many nights programming, even though it brought me some fame and some money. I'm a little fucked up because I chose tech over loving the right person, and they are gone now.

<comment><USER22> So true. Actually early days of programming are good when you enjoy it. But once you decide to work for money, it becomes shit. This applies for everything. Real problem is money. Programmer makes lifestyle-changing-money in early days which keep them in constant fear to lose. As long as you're disconnected from money and doing your shit without bothering about others, everything works well.

This is the reason I keep telling myself life is long. Try as many things as possible. Don't fear to start again as there ain't such thing as security. But alas my stupid mind... still seeks security over bewilderment.

<comment><USER27> The quantity of money plays a decisive role in an industry's transformation into a cutthroat, toxic environment.

SWE is now already there, but it used to be much more relaxed when there weren't so many billions floating around. Start-ups and the out of control VC money are one of the worst things that happened to this industry.

</comment></comment></comment><comment><USER28> Trying to answer the question as written:

1\. When people discuss politics at work, it is far, far better to say nothing than to say anything that goes against the prevailing politics of your company.

2\. There is never a circumstance where you should question any program designed to help groups that your company has deemed are underrepresented, no matter how unfair you feel it is that those same opportunities aren't available more broadly. Not only are these efforts frequently highlighted publicly, they are often lead by VPs with buy-in all the way up the executive chain. There is zero upside here.

The correct approach is to talk to your leader about how you could incorporate similar training/learning into your career plan.

</comment><comment><USER29> This fell short, I was looking for something edgy.

For example: It pay$ to change jobs early in ones career. If you stay longer than 2 years out of some missplaced loyalty youll miss out of some quick dollars. Tons of caveats but in general it works. Now caveat it seems to peak around your 5 or 6th switch.

Source: All my mates and I have switched at the cadence and weve averaged a 15% increase in salary

<comment><USER30> I agree, switching often is kind of a self correcting phenomenon - if you are always switching to places that pay significantly more, once switching often starts to hurt you, you will just stay at your current place until you've been there long enough for it to not hurt you.

However, in terms of leveling/promotions, I think this stops pretty early. And it's also possible to end up somewhere like Netflix where there may not be a place paying better for your experience/level. In particular it seems you need to grind out more than 2 years to get promoted to a managerial position or for any n>4, go from Ln to Ln+1 (except for maybe at a fast growing startup). So once you have 5 years experience you might be able to keep getting pay increases, unless you're already near the top of market, but probably won't get title promotions

</comment></comment><comment><USER31> "HR does not operate with your interests at heart, do not talk to them."

\-- Anonymous

<comment><USER32> Be smart enough to determine if your interests align with the company's interests before talking to HR. Sometimes they do.

<comment><USER33> That's a _dangerous_ thing to try. We like to think we are smart but even the lowest level HR person knows things that aren't even on our radar.

Ever had a complaint made against you? Possibly - maybe it was quietly filed away. Ever wonder if people are paying attention to when you come into the office? They are.

I went through an outsourcing at my last job and for nine+ months the only people that knew it was coming was executive leadership, the CIO, and his HR staff.

HR is risky because they have hidden information in spades. The interests you think align might not after all.

</comment></comment></comment><comment><USER34> Most programmers invest a lot of time in coding and related activities (learn the newest framework) but this thread is again a proof that most neglect all other aspects of their career (e.g., regular salary negotiations).

I worked as a programmer for several years and now I run a tech recruitment consultancy (coderfit.com). Programmers come to me daily with various problems. I am writing up all the individual solutions _that lead to more money_ in a book. It covers career growth, interviewing, job search, and salary negotiation; please have a look here: "Coderfit: Make more money as a programmer": [https://gumroad.com/l/cdrft](https://gumroad.com/l/cdrft)

</comment><comment><USER35> It's actually very useful to try to visualize the social relationships that underpin the people you work with every day. Make a diagram and identify people who are supportive, people who are forthright, people who are untrustworthy, people who are obstacles, who are their friends, who are their adversaries, etc. Update it from time to time. When you want to push an agenda, you'll have a better understanding of the political context and can plan accordingly.

<comment><USER25> I've seen the most basic version of this as a chart with two axes:

Axis 1: How much political influence does this person have?

Axis 2: How easy are they to influence?

Some key points: \- Axis 2 is from your perspective

\- It's good to keep in mind that the chart might look different for other people

As an example: you might find it easy to influence person B who only has mid- level influence.

However, Person B might be able to influence someone you have no chance of influencing.

You can also add other dimensions such as "What does each person value e.g. money/influence/respect" etc

</comment></comment><comment><USER36> Never see a job as a career.

The ONLY PATH for wealth is to work for yourself by starting and building your own business.

Make no mistake... You are always building a business, and if you're not building YOURS, you are building THEIRS.

<comment><USER37> A lot of people become industry insiders by building other people's businesses. Then, when they can't overcome the inefficiencies, they leave and start their own business. This is the story of Zoom, and others.

Building someone's else's business, as a launchpad for your own, isn't a bad idea.

</comment></comment><comment><USER38> Make friends with people who have keys. Janitors, secretaries, maintenance guys. Win the trust of people who are trusted with the keys to the company. You never know when you might need a favor.

<comment> blaser-waffle My grandfather said something to the effect of: "the 'real' work happens on the golf course and in the secretary pool".

</comment></comment><comment><USER39> In large businesses there are channels of money flowing through the organization like blood vessels, some small, some unbelievably big. Find one and plugin a straw. If it goes dry, take off, and find another.

(this is basically the ugly side of consulting)

</comment><comment><USER40> When I was an intern at an Aerospace org, I had a mentor that was the head of engineering of several smaller companies at once emphasize one point - <USER2> align yourself positively with people 2-3 levels of leadership above you. That is, if necessary, skirt around your direct report(s) if you have something to bring to the table for higher up people. It is how you move up faster, but of course, strains your short term relationship with your direct report. Haven't had the chance to try it yet, but maybe others can chime in?

<comment><USER41> Build those relationships in advance, and only go around your manager if you absolutely have to and are reasonably confident that higher-ups will side with you. They will be useful regardless.

Best option when you have a frustrating manager, although not always feasible: Quit and work somewhere else with better management.

</comment></comment><comment><USER42> Someone should _actually_ write the article that goes with this headline -- it'd be super interesting.

</comment><comment><USER22> 1\. Get a disease something like migraine/sinus where quick medical treatment not possible and symptoms not visible. If you tell people that you need urgent leave to attend some function, they feel like cheated. Instead use this disease and take leaves you want. They feel compassionate.

2\. Always show your in hurry to manager. You can do this by running with laptop when meeting colleague for chit-chat.

</comment><comment><USER43> Unless required by law in your profession: Don't go to college.

<comment><USER44> I don't know if this is serious or not, but really these days learning to code and engineer software without college is extremely doable, and you can be ready to work in under a year (faster with boot camps and such, but the cost there may not be worth it). I know many, many highly successful developers that didn't go to school at all. They taught themselves to code and built something cool, then started working. By the time most people leave school with a mountain of debt, they are making 20 to 30k more than entry-level engineer would make. You really don't need college anymore.

</comment></comment><comment><USER45> If the company's one way of making it to the next payroll/ funding round is to fire you, they will. Don't be more loyal to the company than they are to you. Learn to be a mercenary when it comes to salary talks in reviews.

</comment><comment><USER46> A slacker who can kiss butt and play politics will almost always beat a hard worker who can't when it comes to most metrics that matter, like salary, work life balance, lack of stress at work etc.

</comment><comment><USER40> Not controversial IMO, but useful.

Most companies are stuck in the dark ages, despite what you think after browsing HN. A lot of money to be made in consulting if you can market yourself well.

<comment> non-entity But aren't they stuck in the dark ages because they don't want to pay to get out of it (seeming as tech is just a cost center)?

</comment></comment><comment><USER47> Value all parts of compensation that you cannot easily sell at zero. Options? Zero. RSUs for a private company? Zero. Promises for future raises? Zero. Actually: any promises - zero. (Promises on signed paper may _sometimes_ be worth more than zero)

Always remember that the place you work at has no (and owes no) loyalty to you. Calculate accordingly.

<comment><USER48> Honestly this is bad advice. Sure, you shouldn't plan your life around striking it rich but if you're going to take a job thinking the equity comp is worthless then you are probably choosing the wrong company and/or going to negotiate poorly.

Late stage growth companies that offer RSUs can be sold on secondary markets, so even though it's not as easy to sell it is probably not worth 0 unless something is very wrong, which again is something you should assess before accepting any offer.

<comment><USER31> Strong disagree - you absolutely need to factor in liquidity effort alongside vesting schedule and face value for equity comp, and in general for most non- public companies that liquidity capability is zero.

\- RSU's that I can only dump on a secondary market are worth a fraction of their face value. \- Grants in a company that'll never have a liquidity event are worth a fraction of their face value. \- Options in a public company are definitely worthwhile, but I shouldn't be negotiating their face value one-to- one with cash.

It's possible you've had a great outcome liquidating some equity from a private company, in which case I'm super stoked for you and that's a great outcome - but it's not the norm.

<comment><USER48> Yes, which is why you should be negotiating for more RSUs to compensate for the additional risk and illiquidity.

My point is that if you join a startup thinking your equity is and will forever be worthless, then why do you care if you get 10 or 10000 shares? To not care is bad advice for anyone joining a company that has a path toward IPO or acquisition. And if you don't think a startup has any path then why are you joining a company that is offering you equity comp in the first place?

</comment></comment></comment></comment><comment><USER49> Determine who the most savvy executives are in your line of business. When they start jumping to other opportunities, it's time to sharpen your resume.

</comment><comment><USER50> The following is (very?) controversial advice. Depending on your situation, it may be bad advice. There are too many downsides to list, so please use your best judgement.

Before voting or commenting please remember this HN guideline:

>Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith

...and for what it's worth, I absolutely wouldn't want to work with the person I'm describing below.

1\. Lie strategically.

When looking for a job/project, lie about what you know, what you've done, who you know, what you can do for the company, etc.

Many times you are never actually called on to prove these things.

If you are sure you'll be called on to prove them, still lie, but study them as much as possible beforehand.

2\. Do what matters for the people the matters.

Figure out what metrics count. Ignore or give away everything else.

Who controls your next promotion? Who could potentially refer you to your next job?

These are the people you need to please before anyone else. If you have time to please people who won't advance your career, don't. Look for ways to improve your relations with those who matter -- or ask them to introduce you to others like them.

3\. Extract value from everything you do.

Look at every opportunity you would normally pass on and figure out how you can use it to your advance. Maybe you can refer someone, maybe you can take it on and subcontract it out.

Never pass up any opportunity without first asking how you can extract value from it.

4\. Everything is negotiable.

Your severance package? Negotiable. Your working space? Negotiable.

Figure out what matters to the people who you interact with and use those levers to push for your desires.

The threat of a lawsuit, or an actual lawsuit, can be used in negotiation, even if the lawsuit would be unfounded.

5\. Take as much data with you as you can.

When employed, you have access to an incredible amount of valuable data, resources, and tools. Take full advance of these while employed, but also remember that you will move on from your position at some point.

Back up whatever you can without being noticed. Who knows what can come in handy in the future.

\---

Caveats:

Most of this is unethical. Some of it is illegal.

Understand your risk tolerance. Understand your environment.

Doing any of these can, and likely will, burn bridges. Many industries are tightly knit. People talk. Be smart.

<comment><USER50> Apologies for the formatting, it seems new accounts cannot edit their posts.

<comment><USER50> @dang, would you be able to delete this? I reposted with better formatting but didn't realize that new accounts cannot delete comments either!

</comment></comment></comment><comment><USER51> A great lesson to learn as early as possible. Your boss may be good in a very niche space but a horrible, demented human being and functional alcoholic. Get away from him/her as quickly as possible. You will lose years of productive growth trying to "solve" them for the good of the business and relationship.

</comment><comment><USER52> Use the foulest language you can in passwords. Makes it unlikely it will get shared.

</comment><comment><USER53> If you don't know something, say "I don't know, but I'll check". Find the answer/solution and share it publicly. People will notice your knowledge and remember thing you know. It will open doors later.

</comment><comment><USER14> Here, mid to big company ULPT. I'll never let my name be next to this:

\- _Get a reputation as a guy who wears everything on his sleeve_. You fucked up? You're going to say "I fucked up. Give me a chance to fix it. Thanks for your help so far. If you can find the time, I'd appreciate if you could also help me with Y". Likewise "this is fucking retarded" if you see something fucking retarded. Use the word 'fuck'. People love "straight talkers" and people especially love the kind who swear because they see them as honest people. Don't use it in an angry manner, more in an obvious bemusement at the state of the world. It's fucking retarded that some machine has a locale different from the rest and we forgot to specify the character encoding for bytes to string so that machine misinterprets UTF-8. No individual is fucking retarded. You're not pointing fingers at anyone but the universe for this having happened. Then you fix it. Rarely, but at crucial moments, exploit this with lies.

\- _Always try to punch above your weight_. Your organization is in shambles. The new product isn't taking off, your boss is leaving, your boss's boss is leaving. You're asked to take over your boss's responsibilities. No one else wants this. They can't guarantee success. Take it. Take your boss's boss's job if he's gone. If they're hesitant, use words like 'interim' and 'acting'. People suck at firing and you can always Marissa Mayer your way through ("the patient was dying; it's a wonder I kept them alive this long"). This is all opportunity.

\- _When you do the extra thing, make it visible_. Someone fucked up and your site is dropping a fifth of traffic. You were planning on taking it easy that weekend: drop some acid, go with your friends to listen to Lane 8, maybe go home with a girl you met there. Don't do it. Instead fix the site but make it visible. Tell your boss, "I'm going to take a couple of days off. Last weekend really finished me off.". Make sure you make everyone look good, updates all the time on company Slack. "Oh shit, turns out our health check didn't detect this condition for one of our five servers. _That 's_ what it was!" See, no blame, "we" made the mistake. Then put in a protective layer around that. Improve the health check _and_ take the server out. Now go have some fun. Do this early and you'll get a reputation as a hero. Live off of it.

\- _Always be bold_. Make strong assertions. Then back them up. If you're convinced of the opposite of your original assertions, correct it as soon as possible. Go back to the guys you told the wrong thing to, uncorrect them clearly. "Guys, I fucked up. There's an edge case where JSON isn't valid YAML and we hit it". No one is making a decision on a particular engineering problem and the meeting is drawing to a close? Use the words "All right, looks like we don't have much time here but I think it'll be useful to leave with a default option just so we can scope future discussions. How about we consider X our default". No one's even going to fight you on that. If they do, they're forcing indecision.

\- _Make others look good_. They made a mistake? No, _we_ did. Sometimes maybe it was even _you_ who failed to spot the mistake. Together, you all made something nice? No, _they_ made something nice. They'll be obligated to say "Yeah, I only did X, you did all the Y". Accept that with grace.

\- _Be likable_. Dress nicely. Be friendly. Be unassailable, for instance: Curmudgeonly coworker makes a disparaging remark about your code? If it's right, don't silently eat it with a "Addressed comments". Hit them with the "Thanks for the detailed review. Made the changes requested. By the way, also found article X that describes a general principle for this". Positively framed. You retain your dignity and portray security (irrespective of how insecure you are). In software, people _adore_ "plucky guy who learns" because they imagine that he'll be good at the asymptote. Exploit it.

\- _Stick your neck out in low-risk situations_. Some dude in Sales wants a quick feature and the cost is going to be felt by an engineer far in the future? Do it, even if you have to do extra hours. Then coast on your reputation as a doer. Someone else will pay the price. You can double down by "I don't think we should generally do it, but if it will really help I can do it but it'll take me some work. I need you to not go tell all the other sales guys that I did this, though". They'll tell the other sales guys that you do things but not what. Perfect. Now in their heads those guys think you made magic.

</comment><comment><USER49> Don't take a job unless you know what job you plan to take afterwards.

<comment><USER54> Yes. Every job is a stepping stone to the next one. Plan where you're heading.

What jobs do you need on your CV to get that job that you really want?

</comment></comment><comment><USER55> Move jobs after a year or so for more money regardless of whether you like your employer.

Circumstances change. Your salary stays with you long after that great manager has moved on.

</comment><comment><USER56> Non-controversial, manufactured advice that pretends to be insightful.

</comment><comment><USER57> Get an Adderall or Vyvanse prescription. There are plenty of doctors who will prescribe it without grilling you too hard for a legitimate ADHD diagnosis.

<comment><USER40> This is worth other people chiming in on.

<comment><USER58> Adderall prescriptions are perfectly fine if you need them to treat ADHD or narcolepsy, but it is an amphetamine and should be treated soberly as such. Though addiction with proper medical supervision is known to be low, in recreational and non-therapeutic usage, addiction is significant [0]. Amphetamine addiction is known to not be the most pleasant experience. Withdrawal and relapse cycles are also not very pleasant.

I'd not advise lying to your MDs in order to try to get Adderall. If you feel that your job requires you to fake ADHD or narcolepsy in order to do good work, it's time to find another job. Money will not buy your health back, it will not buy years of your life back, and is not worth a chance (small as it is) at an amphetamine addiction.

Honestly, good sleep, exercise, and eating right are the ways to help you get an edge on the competition. Mostly because no one ever does it. Granted, I take a few cups of coffee in the morning to get going too, so I suppose I am a bit of a hypocrite here. :P

It's not rocket science, faking a disease to score amphetamines is a poor decision.

[0] [https://en.m.wikipedia.org/wiki/Adderall](https://en.m.wikipedia.org/wiki/Adderall)

[https://www.addictions.com/meth/](https://www.addictions.com/meth/)

</comment></comment></comment><comment><USER59> Lost causes exist. If you're in one, run.

</comment><comment><USER60> Sell hard drugs at work! (Jk jk!)

</comment><comment><USER50> There is nothing here that I wouldn't mind attaching my name to.

So here is my (very?) controversial advice.

Depending on your situation, it may be bad advice. There are too many downsides to list, so please use your best judgement.

Before voting or commenting please remember this HN guideline:

>Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith

...and for what it's worth, I absolutely wouldn't want to work with the person I'm describing below.

\---

1\. Lie strategically.

When looking for a job/project, lie about what you know, what you've done, who you know, what you can do for the company, etc.

Many times you are never actually called on to prove these things.

If you are sure you'll be called on to prove them, still lie, but study them as much as possible beforehand.

\---

2\. Do what matters for the people the matters.

Figure out what metrics count. Ignore or give away everything else.

Who controls your next promotion? Who could potentially refer you to your next job?

These are the people you need to please before anyone else. If you have time to please people who won't advance your career, don't. Look for ways to improve your relations with those who matter -- or ask them to introduce you to others like them.

\---

3\. Extract value from everything you do.

Look at every opportunity you would normally pass on and figure out how you can use it to your advance. Maybe you can refer someone, maybe you can take it on and subcontract it out.

Never pass up any opportunity without first asking how you can extract value from it.

\---

4\. Everything is negotiable.

Your severance package? Negotiable. Your working space? Negotiable.

Figure out what matters to the people who you interact with and use those levers to push for your desires.

The threat of a lawsuit, or an actual lawsuit, can be used in negotiation, even if the lawsuit would be unfounded.

\---

5\. Take as much data with you as you can.

When employed, you have access to an incredible amount of valuable data, resources, and tools. Take full advance of these while employed, but also remember that you will move on from your position at some point.

Back up whatever you can without being noticed. Who knows what can come in handy in the future.

\---

Caveats:

Most of this is unethical. Some of it is illegal.

Understand your risk tolerance. Understand your environment.

Doing any of these can, and likely will, burn bridges. Many industries are tightly knit. People talk. Be smart.

</comment><comment><USER61> Be female. The pendulum is swinging back and overcompensating. At my workplace women are given opportunities and preferential treatment that men are not. And I work in defense software.

<comment><USER62> I assume you're being downvoted not because what you said os controversial - it is in the spirit of the topic - but because it is not advice at all. Its just misogyny.

"Women - make a point of branding yourselves in linkedin, communication, personal branding to leverage the advantages that are being offered, use the overcompensating in treatment of women to your advantage" \- still stupid, less overtly misogynistic, at least posted in the format of an advice

<comment><USER61> How is it misogyny? Do you work where I work? I feel weird even saying it because it does feel misogynistic but it matches my actual experience at my current job.

<comment><USER63> It's not "career advice" \- i.e., something people can contemplate and act on to improve their career. It's just inflammatory social commentary.

<comment><USER61> You are right about that. It was a bit tongue-in-cheek but it's obviously very poor advice.

</comment></comment></comment></comment></comment><comment><USER64> If you find yourself alone around a woman you work with, leave the room, building, or do whatever you can to not be alone with them.

<comment><USER14> I'd say the opposite. Exploitation of this sort is vanishingly rare. It isn't worth optimizing for. Instead, be incredibly normal with everyone, girls and boys alike. Maybe you like their clothes, or you wonder how their vacation was, or you just want to share this new restaurant you like. If you're likable, people literally _will not believe_ you could do bad things. If, for some reason, a cosmic ray hits the universe's RNG for you and you somehow encounter the exploitative femme fatale who's setting you up for a fake sexual assault suit, all the other women will back you up anyway because even though they're attractive, you were always professionally nice to them, and it wasn't even out of a sense of insecurity because you could casually make small talk like you were comfortable. You'll absolutely kill the case. And more importantly, in the happy path, you'll encounter a lot of people who you can work with productively.

</comment></comment><comment><USER65> Know where the skeletons are buried.

Punch back, especially upwards.

Know an analyst at the investment bank with the largest holding in your company.

</comment><comment><USER66> tl;dr - express dark triad behaviour

This thread leaves me in despair.</comment>


New Zealand glaciers turn brown from Australian bushfires' smoke, ash and dust - <AUTHOR> https://www.theguardian.com/world/2020/jan/02/new-zealand-glaciers-turn-brown-from-australian-bushfires-smoke-ash-and-dust <comment><USER2> Can they expect floods from the decreased albedo?</comment>


Ross Ulbricht Calls for New Trial, Alleging Feds Hacked Tor - <AUTHOR> http://www.wired.com/2015/03/ross-ulbricht-calls-new-trial-alleging-feds-hacked-tor/ <comment> at-fates-hands Unfortunately, this doesn't change anything. But for the record, let's just review a few facts:

1 - Ulbricht has never asserted the server belonged to him, as such, he has no assumption of privacy for whatever is on the servers. He could have claimed the servers belonged to him in order to challenge the search, which his legal team opted not to do.

2 - By running a site which engages in criminal activity (legally speaking of course) he violated the 3rd paty hosting companies terms of service, which invalidates his right to privacy for anything located on said server.

3 - Since the site was trafficking drugs (which is defined as criminal activity) the hacking of the site would still be legal since the FBI doesn't need warrants for such a search:

[http://caselaw.lp.findlaw.com/scripts/getcase.pl?court=US&vo...](http://caselaw.lp.findlaw.com/scripts/getcase.pl?court=US&vol=494&invol=259)

 _The Fourth Amendment does not apply to the search and seizure by United States agents of property owned by a nonresident alien and located in a foreign country. Pp. 264-275._

Pretty sure this request will be denied since his legal team didn't assert the information on the server belonged to him in the first place, regardless if the FBI hacked it or not.

</comment><comment><USER2> Original, on Reddit: [https://www.reddit.com/r/DarkNetMarkets/comments/2y9q55/fbi_...](https://www.reddit.com/r/DarkNetMarkets/comments/2y9q55/fbi_control_of_exit_nodes_beginning_2012_interest/)

No one's quite sure why the FBI would be logging exit node traffic in an investigation aimed at the SR1 hidden service.

<comment><USER3> It doesn't seem so likely that the Fourth Amendment would protect information sent into Tor.

I mean, I have only a very basic understanding of it and still understand that exit nodes will have a lot of visibility into traffic, so I had better consider that before sending data over Tor. They've even made PSAs about this (I looked it up just now):

[https://blog.torproject.org/blog/plaintext-over-tor-still- pl...](https://blog.torproject.org/blog/plaintext-over-tor-still-plaintext)

<comment><USER4> hidden service connections are end-to-end encrypted. Also, there is no exit node in a hidden service circuit. I think it makes more sense that they're in fact referring to a guard node, like another comment has pointed out.

<comment><USER3> I think a similar argument would apply, that a reasonably informed user would understand that some metadata will be shared with (components of) the Tor network (I think this is a reasonable description of what controlling a guard node gains the FBI).

I understand why the FBI would need a warrant to capture traffic on some node owned by someone else. I don't see what would stop them from logging data from nodes that they placed on the network. Running a DOS is sketchier, but they do actually have some authority to not obey the law.

(please everybody try to separate the reality that they do have this authority from arguments about whether they should.)

edit: I fixed "Tor" in this comment and the one above, thanks to RemoteWorker.

<comment><USER5> > the TOR network

You mean the Tor network.

</comment></comment></comment></comment></comment><comment><USER6> Most attorneys find it is more effective to present evidence during a trial than after their client has been convicted.

<comment><USER7> Post-trial motions are a standard part of trial practice. For example, a lawyer might argue that the evidence presented at trial was insufficient to support the jury's verdict. In fact, some of these arguments are waived on appeal if not made in a post-trial motion.

<comment><USER6> I'm not at all surprised about post-trial motions. What surprises me is attempting to introduce "fresh evidence" (as it is called in the article) in a post-trial motion immediately after their client is convicted.

 _In fact, some of these arguments are waived on appeal if not made in a post- trial motion._

What you're saying is accurate but it's not the point. They are basing their new argument on "fresh evidence". To be successful, an appeal must be based on a legal argument and not on new evidence.

Source: [http://www.americanbar.org/groups/public_education/resources...](http://www.americanbar.org/groups/public_education/resources/law_related_education_network/how_courts_work/appeals.html)

 _The appeals courts do not usually consider new witnesses or new evidence. Appeals in either civil or criminal cases are usually based on arguments that there were errors in the trial's procedure or errors in the judge 's interpretation of the law._

<comment><USER8> _> " They are basing their new argument on "fresh evidence". To be successful, an appeal must be based on a legal argument and not on new evidence._

You are confusing an appeal with a motion for a new trial. New evidence cannot be heard by any federal appellate court. However, a motion for a new trial (which is what they filed here) is filed with the district court that heard the case, and can include new evidence as a basis for the motion.

Were this not possible, all of those people you hear about that are freed based on new DNA evidence, witnesses that admit to lying after trial, etc. would simply rot in prison. In fact, new evidence is one of the most common reasons for requesting a new trial.

<comment><USER6> _You are confusing an appeal with a motion for a new trial_

I must have worded it poorly because you are confusing two different points that I made. The first point was:

 _Most attorneys find it is more effective to present evidence during a trial than after their client has been convicted._

Hopefully you don't find fault with that statement.

The second point I was making was in response to rayiner stating that arguments can be waived on appeal if not made in a post-trial motion. That is not directly applicable here because the argument in the post-trial motion is based on supposedly new evidence which is not applicable to an appeal.

Regardless, their client would have had a better chance if they made the argument in trial than in a post-trial motion.

</comment></comment></comment></comment></comment><comment><USER9> Is Ulbricht now going to claim that the server did belong to him?

</comment><comment><USER10> "prosecutors first responded that a misconfiguration of the site's CAPTCHA had leaked its IP address when FBI investigators typed some "miscellaneous" characters into entry fields on the site's homepage"

Yea right? Tor was hacked, or was finally given the backdoor key by the NSA? I imagine the NSA held off for years, but finally knew the FBI would never stop the site--so they reluctantly helped out the FBI? I do wonder why the CIA didn't just assassinate Ross? (Personally, I think it was a mistake to let Terrorists question the security of TOR?)</comment>


Annoying Americanisms. - <AUTHOR> http://www.bbc.co.uk/news/magazine-14201796

<comment><USER2> I've always found it difficult as a french guy who's been taught british english to live in new york.

At my first day at work, i asked a coworker if he wanted to go for a quick "fag" downstairs. He never spoke to me again.

</comment><comment><USER3> Now to be fair, there are a couple that at least make sense.

For example, 48. "I got it for free" is a pet hate. You got it "free" not "for free". You don't get something cheap and say you got it "for cheap" do you? Mark Jones, Plymouth.

I'm guilty of this and I'll admit it, but for the most part, the people whose names appear on that list are just fucking retarded.

EDIT: As a side note, I never heard "touch base" until I moved to Canada.

</comment><comment><USER4> I see they picked up on 'bi-weekly'. I'd never thought of it as an Americanism but it is ambiguous and should be banned for that reason.

</comment><comment><USER5> Wow. I didn't even know some of these could be considered "wrong." Well, it is what it is.</comment>


JavaScript will lead a massive shift in enterprise development - <AUTHOR> http://www.javaworld.com/article/2909619/enterprise-java/javascript-will-lead-a-massive-shift-in-enterprise-development.html

<comment><USER2> Javascript was never designed to support realtime platform which sets up a foundation for an application. I don't see how ES6, ASM.js, Node.js etc will addresses challenges such as scalabiility, high mainteanance, poor design etc. You can only build so much on top of something, before you have to start over or move on to something else. Javascript is a dirty language for making things work quickly.

</comment><comment><USER3> This whole node.js trend has really gone to far IMO. Sure nodejs works for a web server but seriously, JavaScript hadoop implementations?</comment>


How to avoid rewriting your JavaScript application - <AUTHOR> https://tech.polyconseil.fr/code-your-js-app-like-its-86.html <comment><USER2> The article opens with:

>Frameworks, libraries, package managers, guidelines… even languages and meta- languages themselves are changing so fast that there's little to no chance a common or standard way of building applications emerges.

...and then gives an example using React, JSX, and ES6 modules. This is just my opinion but I think React + JSX will look about as antiquated and irrelevant as jQuery in less time than it took jQuery to lose favor among web developers, rendering the argument for longetivity moot.

At least jQuery solved the practical problem of non-standard JS/DOM implementations, but now browser vendors have finally made basic things work among each other, making it irrelevant in most modern browsers. React solves what? Encapsulation? There's Web Components v1 right around the corner, and dozens of competing frameworks that may take its place as the most hyped framework.

<comment><USER3> The fundamental problem solved by React is being able to express a UI as a function from Application State to DOM, and not having to worry about manually computing the changes to the DOM that need to occur to reflect the new state of the world.

It changes the fundamental question of UI development from "How do I get from where I am to where I want to be?", but "Where do I want to be?"

The funny thing about the particular example in the article is that React was heavily inspired by event loops used in Game Development.

<comment><USER4> So.. data binding? Like backbone did, and knockout?

I know React has some things going for it, but data binding on the web is an old trick.

<comment><USER3> Not really "binding" per se -- mostly because "binding" implies you're attaching events to objects and thinking about "changes", and object lifecycle is still something you're concerned with.

React is more functional in nature -- A react component is, almost entirely, a function that takes arguments and spits out DOM elements. React then diffs the desired DOM with the current DOM, and computes the set of transformations needed to update the UI to match the new state -- i.e. "Add a few rows to the table, change the text in a particular span equal to 'boom'" or whatnot.

<comment><USER5> That's just an implementation detail. All these declarative UI ideas are variations of sprintf. Something, somewhere, is going to do a diff no matter what, whether it's a virtual DOM or the browser itself.

<comment><USER6> Try making a web app rerenders the DOM on any state change, it will be extremely slow--the browser doesn't diff. :) That's why vDOM & diffing is necessary. Also so UI inputs don't lose focus / selection state / etc.

<comment><USER2> State change, eh? There's this, which diffs only local updates and doesn't use a vDOM: [http://simulacra.js.org/](http://simulacra.js.org/)

Disclosure: I'm the author.

<comment><USER6> Tracking changes to application state & translating to DOM changes is nothing new, [1] it's what Angular, Angular2, Riot, Knockout all do, and doomed to efficiently translating any complex state changes. [2] Not only that, feeding application state in from an API will cause the all the dependent UI to completely rerender.

[1] [https://github.com/sapeien/simulacra/blob/master/lib/bind_ke...](https://github.com/sapeien/simulacra/blob/master/lib/bind_keys.js#L143-L148) [2] [https://news.ycombinator.com/item?id=12757722](https://news.ycombinator.com/item?id=12757722)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Great article, but i think the op needs to take a look at redux. The best way to use react is to have as little local state as possible. Once you accept that the next question that comes to mind is where should i put all the logic. This article does a good job enumerating the libraries that have been created in an attempt to solve this question [1]. Also when you have all your state in a single global map, you start wishing it would behave more like a database.

The problem with the redux react ecosystem is that it wants to be functional and so it imports a lot of innovations done in functional languages, but in the end js it's not functional and you end up fighting the language. For example the reselect library [2] tries to implement selectors, but without native inmmutable data structures its too painfull to use.

I see a lot of people trying to implement so much features that should have been part of the language as libraries and i ask myself why not just use another language that has all those features, i mean they are all compiling to javascript anyways. Its madness.

[1] [https://medium.com/@jeffbski/where-do-i-put-my-business- logi...](https://medium.com/@jeffbski/where-do-i-put-my-business-logic-in-a- react-redux-application-9253ef91ce1#.sv0k0f9v4) [2] [https://github.com/reactjs/reselect](https://github.com/reactjs/reselect)

</comment><comment><USER8> Uh, this code is kind of crazy. Even in the "fixed" example. Why is he calling instance methods on components? Why is he muddling with jQuery? And the global click events? He started with bad principles and just implemented them better.

</comment><comment><USER9> While working on a ReactJS/Redux reducer, I had the same epiphany. "This is basically the old Windows main() message pump!"

Redux really _is_ a beautifully elegant way to decouple global state and actions from the UI.

<comment><USER10> Yep - there was an article last year that pointed out the distinct correlation between a classic Win32 WndProc and a React+Flux-style architecture: [https://bitquabit.com/post/the-more-things- change/](https://bitquabit.com/post/the-more-things-change/) .

But yeah, as I've said in a few recent comments, Dan and Andrew made some excellent decisions while designing Redux, and those decisions have helped Redux hit a sweet spot for concepts and use cases.

<comment><USER11> Thanks for linking to the article. I remember reading something like that but had no idea on how to find it.

</comment></comment></comment><comment><USER12> Interesting article, but I cant help but think every one of those points is 'fixed' in EmberJS (correct me if I'm wrong!). Central stores, central place to fetch 'models' (data over Ajax), dependency injection so it's all mockable, a run loop, simple and understandable data flows.

The central store and the run loop is very powerful. If you have two completely unrelated components issue two fetches for the same model type but different IDs (ie two different blog comments) Ember coalesces them into a single request (I.e /api/comments?id[]=1&id[]=2) transparently. That's awesome.

</comment><comment><USER13> isn't the jsx also wrong? you can't have 2 separate div's like that in react right? you'd have to wrap them in another div.

render: function() { return (
{this.state.title}/>
 ) }

<comment><USER14> yes, that will break.

</comment></comment><comment><USER15> The idea here is sound. It's essentially a reinvention of one way data flow in Flux: data flows down to components, events flow back to a central point (dispatcher in Flux, main.js in this example).

His implementation is a bit iffy though. How will his app look when there are dozens of components? A single main.js module with dozens of data fetching functions is going to be really hard to work with.

<comment><USER16> It's typical MVC application, reinvention of TurboVision.

</comment></comment><comment><USER17> I think this is the motivation behind Cycle.js

[https://cycle.js.org/](https://cycle.js.org/)

<comment><USER18> I hadn't heard of cycle.js before, but looked into it a bit just now and it seems pretty nice.

My only concern would be that I _hadn 't_ heard of it before, so I wonder if it has significant traction and production readiness.

Anyone have thoughts on that?

</comment></comment><comment><USER19> For managing side effects, redux-saga[0] is god-send if you are using redux.

[0]: [https://github.com/yelouafi/redux- saga](https://github.com/yelouafi/redux-saga)

<comment><USER20> The idea behind redux-saga, to push all effects to the edge (handled by a runtime), only handling descriptions of the actual effects doesn't have to be limited to redux/redux-saga either. You can leverage generators + a runtime to build all kinds of applications like this [0] (you can sort of do this without generators too, but it's a bit more quirky when you cannot control/pause the execution [1]). Easy testing (no more mocks/stubs in the traditional sense - only data/descriptions) and predictability are just some of the benefits.

[0]: [https://gist.github.com/eiriklv/a498112b3a73fc2b92975649924c...](https://gist.github.com/eiriklv/a498112b3a73fc2b92975649924cf5c3)

[1]: [https://gist.github.com/eiriklv/b6cc681447a0939365e1ba044fac...](https://gist.github.com/eiriklv/b6cc681447a0939365e1ba044fac15d7)

</comment></comment><comment><USER21> Isn't this why you should try to make your components as stateless as possible?

</comment><comment><USER22> Another option, rather than going back to client-server style programming, is that you could write your web app like it's 2004 and leverage the unique network architecture it had (REST/HATEOAS):

[http://intercoolerjs.org/2016/05/19/back-to-the- future.html](http://intercoolerjs.org/2016/05/19/back-to-the-future.html)

 _That is probably the biggest issue: no one cares about long-term support or maintainability of UI applications nearly enough to actually create the ecosystem that it deserves._

Absolutely. Not a lot of long term, slow thinking going on these days.

<comment><USER23> Please, can you stop promoting your lib in every topic about JavaScript...

<comment><USER22> I try not to unless it is reasonably relevant. In this case, the author is suggesting a way to deal with the fact that we are building apps like we were back in the 90's, but in javascript, and I have an alternative suggestion, which is that we build them like we did in the 00's.

But I appreciate that people who have seen it before are sick of seeing it again.

</comment></comment></comment><comment><USER24> Nice article but i think it touches two problems, but then offers a solution to one.

Every program has a code structure. Certain programs have better code structure than others. These are properties independent from the programming language. Javascript evolved from a single entry point, being the [in]famous $.ready() to set behaviors of some html elements, to full blows ES6 single page applications.

It all started as a toy language.

But it simplicity is also its flaw: it enables every human with a not so deep understanding of computer architecture to write a button that changes color on click. The absence of a type system and a solid class paradigm (introduced in ES6) spoiled programmers to pass any object down to any function breaking well known software paradigms: Law of Demeter ([https://en.wikipedia.org/wiki/Law_of_Demeter](https://en.wikipedia.org/wiki/Law_of_Demeter)), Open/Close Principle ([https://en.wikipedia.org/wiki/Open/closed_principle](https://en.wikipedia.org/wiki/Open/closed_principle)) and the Liskov Substitution Principle ([https://en.wikipedia.org/wiki/Liskov_substitution_principle](https://en.wikipedia.org/wiki/Liskov_substitution_principle)).

I'm in the Web space professionally from 15+ years and those are the 3 rules i see JS devs break the most, generating complected code (for more understanding of the term have a look at [https://www.infoq.com/presentations/Simple-Made- Easy](https://www.infoq.com/presentations/Simple-Made-Easy) ), hard to maintain and extend like the example shown in this article.

The advice to build interfaces around data structures, proposed as solution, is no different than the Liskov Substitution Principle.

The other problem the article cites is the event loop.

At the time o $.ready() there was no event loop. Developers were just attaching functions to user events: clicks, hovers, blurs, focus. Just a direct mapping between an element and a function. You can simply come to the conclusion that the trigger and the action to be performed were not loosely coupled, but indeed tight together. Easy, yet not scalable.

Tieing events to the dom structure was another sin opening more questions: should an element that is not interactable fire events? bubble them ? every browser had its own answer to those questions. Things got even more complicated with single page applications which html element in the page can be added and removed. So here comes the event loop, like other well known ui stacks did in the past.

The concept of an event loop is not a novelty, it is indeed bound to the architecture of our computer: clock cycle, interrupts, kernel events. In the case of windows is the well known WPF ([https://en.wikipedia.org/wiki/Windows_Presentation_Foundatio...](https://en.wikipedia.org/wiki/Windows_Presentation_Foundation)) which has, among a lot of other things like any Microsoft product, the concept of a dispatcher that is central to the flux architecture.

In 2015/2016 with React/Flux Javascript and the Web is moving out of puberty, enabling developers to write clean, decoupled, extensible code. Thus no all devs are ready to grasp those architecture that are so obvious in other ecosystems. To cite Poul-Henning Kamp in A generation lost in the bazaar ([http://queue.acm.org/detail.cfm?id=2349257](http://queue.acm.org/detail.cfm?id=2349257)):

"So far they have all failed spectacularly, because the generation of lost dot-com wunderkinder in the bazaar has never seen a cathedral and therefore cannot even imagine why you would want one in the first place, much less what it should look like. It is a sad irony, indeed, that those who most need to read it may find The Design of Design entirely incomprehensible."

my 2 cents

</comment><comment><USER7> Or code like its 2016 and use something like what its proposed by elm, clojurescript's reagent or posh libraries.

<comment><USER25> Unfortunately a year is never an argument.

<comment><USER7> They change the original title i was just making a reference to that.

<comment><USER25> I see.</comment></comment></comment></comment>


How I built an app with 500,000 users in 5 days on a $100 server - <AUTHOR> https://medium.com/unboxd/how-i-built-an-app-with-500-000-users-in-5-days-on-a-100-server-77deeb238e83#.4l4tt6lt6 <comment><USER2> Ah yes, the beauty of hardware instead of dragging a slider to the right.

In all seriousness, I wish a lot more developers would spend some time to learn about hosting and its options, instead of heading straight for "the cloud" or some PaaS/IaaS. This doesn't mean a developer needs to be devops, but instead understand their options.

That's not to say that PaaS/IaaS doesn't have its place, because it certainly does. But the majority of developers would simply throw some thing on Heroku, and continue dragging that slider to the right until NewRelic stops freaking out.

</comment><comment><USER3> I wonder if this developer found any way to monetize on the success of his app.</comment>


Ask HN: How to search for science research jobs in Europe? - <AUTHOR>

I am a graduate student in the U.S. nearing the completion of my master's degree in applied mathematics. I am looking for jobs at the master's degree level that involve working on large data sets, doing machine learning, scientific computing, etc. I don't want to be a software developer, per se, but don't mind doing software development among other scientific tasks.
For comparison, I used to work at MIT Lincoln Laboratory as an assistant radar analyst. It was a very very good mix of theoretical work, algorithmic development, and plain software development. I'm looking for similar institutions in Europe that are looking to hire full-time employees at the master's degree level. I've considered CERN (and may still apply there) but it appears to be either too much purely experimental physics or plain software development for me.
How do I locate these kinds of institutions, and what processes should I undertake to find such a job in Europe? What kinds of things should I look for in terms of job security, visa issues (I am only a US citizen), etc? I have worked for an extended time in Paris once before and loved living there (it was as a visiting research assistant as part of my current grad program). I'm looking to replicate that experience but in a full-time, non-student position. <comment><USER2> Maybe you should go for Fraunhofer in Germany. They are doing applied research which usually means that they work with industry partners. The jobs they offer are research positions and some of them might also be for people working towards their PhD. They have several locations throughout the country but IT is pretty strong in Berlin which might also give you an opportunity to dig more into the many startups there.

<comment><AUTHOR> It looks like a lot of their openings are only for post-graduates or only function as part-time studentships. However, thank you for the link and I will definitely spend more effort looking at their open positions.

</comment></comment><comment><USER3> Deutsche Telekom, Daimler, Bosch, BMW, VW have R&D centers in Silicon Valley. Maybe you can work for them here then transfer to Germany.</comment>


'Tianjic Chip' Bridges Machine Learning and Neuroscience in Pursuit of AGI - <AUTHOR> https://medium.com/syncedreview/nature-cover-story-chinese-teams-tianjic-chip-bridges-machine-learning-and-neuroscience-in-f1c3e8a03113 <comment><USER2> Seems to be an interesting chip with a lot of ML applications and copious press accounts ... Why no HN interest?</comment>