HNHacker News
TopNewBestAskShowJobs

nhashem

2,940 karma · joined October 27, 2009

Software developer and technical co-founder of Adrenalads (www.adrenalads.com).

My blog: http://www.hash-money.com

Email me: nate dot hashem at gmail dot com

submissionscomments
nhashem··on Obama endorses required high school coding classes
The words he used for his actual endorsement didn't scream "MANDATORY CODING" to me: "I want to make sure that (young people) know how to produce stuff using computers and not just consume stuff."

Yes, it could mean coding. But people produce stuff on computers without coding all time. They produce stuff on Photoshop. They produce stuff on Excel. They produce stuff on Wordpress.

It's becoming increasingly clear that economic growth and wage growth are becoming uncorrelated in the US. For example, startups add billions and billions of dollars to the GDP of the US, but we'll never hire the millions of people that got laid off at steel factories over the past twenty years.

The economic model for the US this century is essentially one that consists of high-skilled knowledge workers, high-end manufacturing, and local service workers. Everything else will be subject to economic factors outside of US control. Lower-skilled manufacturing has had a revitalization in the US over the last couple years, but that's mostly due to things like China's currency appreciating, the price of oil remaining high, and a natural gas boom in the US. If any of that changes, those jobs will go back to China. Or Singapore, or Africa, or anywhere else where the supply of raw human capital is cheap.

If you view the future of the US economy in this lens, then everything Obama talks about makes sense. For example, if this is the future, then the safety net programs we had in 1980 are inadequate in 2013. Nobody really debated health insurance in the US in 1980, because over 80% of Americans already received health insurance from their employer. Now it's barely two-thirds [0]. If you have a "top-heavy" skills distribution in the US, and your income is more strongly related to skills than ever, then you need a "top-heavy" tax code. Or you could just let people bleed to death in their bathroom because they tried to pop their own thrombosed hemorrhoid (trust me, don't google it) because they couldn't afford a trip to the ER.

And to tie it back to the OP, it also means education for those high-skilled jobs will be the best way to ensure economic advancement. It's no longer a sure thing to advance economically by putting in your time in at the plant and have your labor union negotiate a 5% raise for you every two years. That doesn't need to mean everyone becomes a programmer. We'll still have manufacturing jobs, but they'll require more than just punching the clock every day[1][2].

We've all probably worked with a self-taught programmer who was toiling away at some crappy job until they either got a degree or made enough web sites to convince a company to hire them. And they probably tripled their income in the process. So I see Obama's statement as saying we should streamline that process as much as we can, and orient our education system to produce as many high-skilled workers as possible.

[0] http://www.washingtonpost.com/blogs/wonkblog/post/study-fewe...

[1] http://www.nytimes.com/2010/07/02/business/economy/02manufac...

[2] http://www.nytimes.com/2012/11/25/magazine/skills-dont-pay-t...

nhashem··on A congressman who justifies every vote on Facebook
Clearly I didn't mean Rep. Amash just sits around and votes "no" on everything. But his only "yes" votes are on symbolic bills like repealing Obamacare. If it involves spending money without offsets, he votes no, with no exceptions. Seeing as the bulk of Congressional governing involves how to tax Americans and then spend those taxes, his voting record involves a lot of saying "no."

I appreciate his reasoning for a lot of his votes, and in isolation, his arguments sound very valid to me. But you can take a principled principled stand and make the best compromise you can to move things towards your principles, or you can just try and prevent anything from happening that doesn't align 100% with your principles to begin with. If you're just going to vote against everything except the occasional symbolic vote to on bills that ensure ovums have the right to carry assault weapons, then this doesn't strike me as actually governing.

nhashem··on A congressman who justifies every vote on Facebook
Thank you for finding his explanation. I blame Facebook's infinite scroll.

I don't see this as a "hard decision." He cast a symbolic vote to remain ideologically pure. Had our Congress consisted of at least 217 Justin Amashes, their votes would have had the practical effect of denying thousands of people devastated by Hurricane Sandy from having their flood insurance claims paid. That's all the additional funding was for -- flood insurance claims. You can argue about the mismanagement of FEMA in general, but this $9.7 billion had nothing to with that. Voting down this bill would have basically forced FEMA to tell a bunch of people hit by Hurricane Sandy, "Hey, that flood insurance you paid into that you're depending on to rebuild your home? Yeah, you're not going to get any money from those claims until we figure out how much we need to jack up the age of Social Security, sorry."

This is not governing. Look, you can argue that the federal government should not be providing flood insurance (especially insurance that is heavily subsidized) as it encourages people to live in high-risk areas for natural disasters. And you can argue that the current process of allocation disaster assistance from the federal budget should have a better process than "ask for a bunch of money for flood insurance whenever FEMA runs out." I consider these are very valid points.

Yet anyone attempting to govern would make these arguments when they wouldn't interfere with thousands of people experiencing a hardship from receiving assistance that was heretofore uncontroversial, and they would actually then proceed to turn those arguments into legislation and then pass it.

This is what I mean. "Refusal to govern" means doing little else besides casting symbolic votes, which a wing of the Republican party like Rep. Amash is mostly content to do. Rep. Amash is not actually making any "hard decisions" or "right calls." He doesn't have to bear any responsibility for denying people hit by Hurricane Sandy their flood insurance claims, yet he doesn't care to actually solve the macro-level problems behind his opposition to the bill to begin with.

Afforess and anyone else -- I love discussing public policy, so if you want to continue this discussion in a more efficient manner than exchanging HN comments, just e-mail me (see my profile for the address).

nhashem··on A congressman who justifies every vote on Facebook
I am definitely not lumping Amash in with the greater Republican party. I deliberately said Rep. Amash "represents a wing" of the party, because the voting record of many Republicans do not resemble his.

My understanding of Rep. Amash is that he is unpopular with House Republican leadership -- for example, John Boehner, the Speaker of the House, kicked him off the House Budget Committee.

Interestingly enough, Rep. Amash actually used his Facebook page to vent about this: https://www.facebook.com/repjustinamash/posts/47481308922476....

nhashem··on A congressman who justifies every vote on Facebook
Scroll down to January 4th on Rep. Amash's Facebook page. This was the day that the House voted on $9.7 billion in Sandy aid, which was pretty much just to replenish FEMA's flood insurance fund. The entire bill is one page. (http://www.govtrack.us/congress/bills/113/hr41/text)

Rep. Amash voted no, and there is no explanation of his vote on this date. He couldn't have objected to "pork and garbage," because there was none. Perhaps he objected to the $9.7 billion not being offset with cuts in other federal spending, but then I'm surprised he didn't explain that on his Facebook page.

I'm aware that most legislation has pork and other garbage attached. But if you continuously vote against any legislation with pork and garbage, without attempting to amend or propose alternative solutions without pork and garbage, and even vote against bills without pork and garbage that have historically been previously uncontroversial, (in this case, disaster relief assistance) then my opinion is that you are just refusing to govern.

nhashem··on A congressman who justifies every vote on Facebook
"I voted no on the motion to suspend the rules and pass H R 297, Children's Hospital GME Support Reauthorization Act of 2013, which reauthorizes federal payments to children's hospitals for operating graduate medical training programs... The bill passed 352-50."

"I voted no on the motion to suspend the rules and pass H R 225, National Pediatric Research Network Act of 2013, which expands the existing Pediatric Research Initiative (PRI) to include a new National Pediatric Research Network... It passed 375-27."

"I voted no on H R 325, No Budget, No Pay Act of 2013... The bill passed 285-144."

"I voted no on H R 152, Disaster Relief Appropriations Act, 2013... The bill passed 241-180."

Justin Amash represents a wing of the Republican party that has essentially decided to refuse to govern, and is content to simply object to anything Congress tries to do that is not ideologically pure, which is pretty much everything.

[EDIT: To those who commented below upset with my "refusal to govern" comment -- look, governing requires solving problems that the public wants you to solve. That solution can even be essentially less government.

For example... a lot of Republican voters don't like Obamacare, but I doubt many of them liked our pre-Obamacare healthcare system. Take an extreme, free-market/libertarian form of healthcare policy -- repeal not just Obamacare, but things like the employer tax deduction for health insurance, requiring hospitals to provide life-saving care for anyone regardless of payment capability, etc -- I would vehemently disagree with that, but I would consider crafting and trying to pass such legislation an attempt to govern. But if the bulk of your legislative activity is doing things like voting to repeal Obamacare twenty-three times, as Rep. Justin Amash did in 2011-2012, then I would argue you are just politically pandering to your constituent base -- or worse, your campaign's financial donors -- and not governing.]

On the other hand, I do appreciate his attempts to justify and explain his actions. This type of transparency is desperately needed in the Senate, where everyone uses arcane procedural rules (e.g. filibusters, "holds," and so forth), as anonymous tools of obstruction pretty much constantly.

While I doubt I'll ever agree on any of Rep. Amash's views, I hope that more of our elected representatives continue to use tools like social media not just for campaigning and voter outreach purpose, but for information and transparency in the governing process once they're actually in office..

nhashem··on Dear Congressman Gutierrez, Please Lift Your Hold On Silicon Valley
Unfortunately this is not going to be resolved without our federal government going through the painful gyrations of partisan politics.

The OP mentions the Democratic Party (and the Obama White House) and its opposition to HR 6429, which basically "trades" 55,000 'diversity' visas for the same number of STEM visas. This was actually discussed on HN a few months ago (http://news.ycombinator.com/item?id=4845982).

The OP says: "I would have voted for visas for 50,000 smart foreign students graduating with STEM degrees from U.S. universities over bringing in 55,000 randomly selected high-school graduates from abroad." In short, he says he would have made the trade.

Unfortunately, Republicans would love nothing more than to do this on immigration and call it day. To independent/swing voters, they can brag that they're not intolerant of immigrants, and in fact authored legislation that opens the doors to 55,000 immigrants exceptional in STEM. To their base, they can say there is no net increase in immigration, and they've resisted on any leniency to the immigrants currently here in the US, including the poisonous word "amnesty."

The OP claims to support elements of comprehensive immigration reform, but then basically says, "well our technology industry is suffering, and there seems to some common ground there, so can't you just agree to more STEM visas and fix the H1-B system and then go back to arguing about amnesty?"

This just isn't going to happen, because there will no longer be an argument -- Republicans will just resist any further attempts at reform. So I am glad this is the stance of people like Congressman Gutierrez. The OP said: "I hate to say this, but women in Saudi Arabia have more rights than the spouses/wives of H-1B workers; it’s inhuman the way we treat them and destroy careers and families." Well, that is a problem with our current immigration problem, but we have other problems too, such as the 22 million illegal (or undocumented, if you prefer that term) immigrants in the US. They are not exactly sitting flush with their rights, careers, and families.

We need comprehensive reform because we have a comprehensive problem. So ultimately the OP just comes across to me as, "fix what I want, even though politically, it will basically ensure that other people interested in other parts of immigration reform will get fucked." At best it's naive. At worse it's selfish.

And if you want federal government representatives that don't have to go through such stupid partisan gyrations, then you should do everything you can to elect different representatives.

nhashem··on Why Workers Are Losing the War Against Machines
More analysis on Point #3 in this article was also covered by Paul Krugman (liberal economist columnist at the NY Times):

http://krugman.blogs.nytimes.com/2012/12/11/human-versus-phy...

http://krugman.blogs.nytimes.com/2012/12/10/technology-and-w...

Basically it's simple: as more wealth creation is driven by technology, the wealth shifts to whoever owns the technology or can operate it. Why is the payoff for founding a successful technology company so potentially lucrative? It's because you're basically both. If you think acqui-hires that pay something like $1 million per engineer is a lot, that's basically why.

In the US, we should have two political parties mitigating this by figuring out the balance between helping low-skilled workers become high-skilled (e.g. education funding and reform) versus making sure those unemployed low-skilled workers don't get sick and starve to death on the street in the meantime (e.g. unemployment and health insurance). Instead we have two political parties arguing to the death about whether or not to raise taxes by 4.9%.

nhashem··on The Insourcing Boom
We're essentially reaching an intersection between the cost of Chinese labor (steadily increasing as China's economy grows and their currency gains value) and US labor (depressed because we're still at 8% unemployment). If these workers still wanted to be paid $30/hour, those jobs would still be in China.

In December 2011 there was a similar article in the NY Times[0], which addressed the expansion of manufacturing jobs but had a much bigger focus on wages.

Unfortunately for those workers, wages won't go up until the US economy continues to improve and unemployment goes down. Until then that "just thankful to have a job" feeling will suppress labor wages in general. Last quarter, corporate profits reached a historic high even as wages reached their lowest-ever share of GDP[1].

Maybe I'm just raw from the hostile election season, but this has always been personally frustrating to me. Our private sector doesn't pay enough for the jobs it offers, yet any suggestion to have the government assist is considered "redistribution" or "socialism."

[0] http://www.nytimes.com/2011/12/30/business/us-manufacturing-...

[1] http://money.cnn.com/2012/12/03/news/economy/record-corporat...

nhashem··on The Final Issue of Nintendo Power and the First
I had a Nintendo Power subscription for most of elementary school. To me, that era of video games seems nostalgically arcane -- when games weren't just intended to be finished as a function of time, and there wasn't an abundance of information available on the internet. I remember being "stuck" on countless games, until an issue of Nintendo Power finally told me that the way to beat Asura was to use the 'Wall' spell on herself in Final Fantasy 2 (or IV, or whatever the cool kids call it).

Nintendo Power's maps and tips weren't always that helpful, but they almost always covered good games. Most video games didn't have huge mainstream media marketing budgets back then, and without Nintendo Power I would have never discovered lesser known games like Shadowgate, Faxanadu, and Duck Tales. As other commenters have indicated, the magazine was basically essentially a vehicle for Nintendo direct mail advertising -- but one that actually worked pretty well for the era.

Hmm, might be time to find some emulators and ROMs...

nhashem··on Obama opposes House passage of H.R. 6429
You raise an interesting concept, but as US-born software engineer, this is why I'm not too concerned:

- Unlike low-skill manufacturing jobs, most technology jobs are not commodity work. To put it another way: if the US gave out visas to 55,000 people who got an acting degree, I doubt Brad Pitt would have to take a paycut on his next movie.

- A lot of the companies sponsoring this bill are software companies, but STEM isn't just software engineering. The applicants here are in a wide variety of fields. How many of them will specifically get a computer science degree with the explicit goal of getting a job at Google? Some, sure, but not all 55,000. They'll go into other fields and other industries and I don't think the total volume of talent in each particular STEM industry will be enough to significantly impact wages.

- Whatever these people were going to do in the US in terms of entrepreneurship, if they can't get a visa they'll just go back to their home country and do it there. So it's just as possible they'd start their own companies and need to hire software engineers, which would actually have upward pressure on wages.

nhashem··on Obama opposes House passage of H.R. 6429
From the administration's response:

"As a part of immigration reform, the Administration strongly supports legislation to attract and retain foreign students who graduate with advanced STEM degrees, to establish a start-up visa for foreign-born entrepreneurs to start businesses and create jobs, and to reform the employment-based immigration system to better meet the needs of the U.S. economy. However, the Administration does not support narrowly tailored proposals that do not meet the President's long-term objectives with respect to comprehensive immigration reform."

Essentially this bill "converts" the 55,000 "diversity visas" currently available into "STEM visas."

It looks like this bill originated from the Republican party, so I'm wondering why they didn't just write a bill that allocated additional STEM visas without "cannibalizing" the diversity visas.

nhashem··on In Silicon Valley, Technology Talent Gap Threatens G.O.P. Campaigns
In my opinion, this technology gap will exist as long as the Republican party embraces social conservatism to the point of scientific ignorance.

Consider Todd Akin’s comment: "If it’s a legitimate rape, the female body has ways to just shut that whole thing down." While "legitimate rape" ended up being the colloquial reference that got hammered, what was so utterly offensive was the second part of the sentence. Implying the female body had some sort of magical spermicide. It's not just insensitive, it's scientifically ignorant. There are a lot of reasons why almost 2/3 of college students and recent college grads voted for Obama, and one of them is because of this complete idiocy that Republicans spew.

At the "Family Values Summit" earlier this year, Rick Santorum said, "We're never going to be the party of smart people." If you’re not the smart party, what are you? The party that claims the HPV vaccine causes retardation? The party that considers evolution a myth? Sure, but then you won't be the party with constituents that embrace science and technology.

Sure, they can throw money at the problem. Even if they intellectually objected with the platform, lots of engineers would work for the Republican party if they paid enough. But successful political campaigns are all about connecting a widespread media message to the individual visceral feelings of voters. If your staff has no idea who that voter is because they aren't actually one of them, then you're not going to have the same quality of campaign.

I don't think all is lost for the Republican party. For an example off the top of my head, it would be very easy to philosophically adjust their stances on "economic freedom" to support reforms to copyright and patent law. But until then, Rick Santorum is right. They won't be the party of smart people. Which means they won't be the party that has smart technology talent helping them run campaigns.

nhashem··on On Being a Junior Developer
One other major suggestion I'd add:

Practice writing. Just write whenever you can, in whatever environment, no matter how unformal. Your company wiki, your personal blog, whatever.

Maturing from a "junior" engineer into a more experienced one usually means initiating suggestions, not just following them. As the OP said -- have an opinion! But your suggestions will always be limited to how well you can communicate them. And a lot of your interactions wherever you work will be with non-technical people, so the better you can frame technical situations to them, the more they will enjoy working with you and cede to your judgment.

I've seen so many talented software engineers not find the professional success they deserve because they couldn't write. You will do brilliant things, and those brilliant things will make your employer money, and your ability to write will matter a lot in how much that brilliance is valued. Likewise you will make mistakes, and sometimes those mistakes will cost your employer money, and when that happens someone will be upset, and your ability to write will matter a lot in how soon they calm down.

Some of the most important keystrokes in my career were not for writing lines of code, but for how I composed an email. I'm not saying your expertise in software development doesn't matter -- of course it does, and a bad software engineer that's a good writer does not make them a good software engineer. But your ability to write and communicate can be a tremendous force multiplier for your career.

nhashem··on Why won't anyone talk to me? What recruiters look for in a resume
While I've never been a recruiter, I've been a hiring manager at some mid-sized companies and worked closely with their recruiters. Side projects or attempted startups are great, but I've seen countless resumes where they get completely overlooked because of how they appeared on the resume.

Ultimately whether I saw a resume was dependent on some sort of subjective pattern matching done by the recruiter. This pattern matching is usually primitive and generally is just a check on whether your "years of experience" is within striking distance of whatever was in the job listing (e.g. "Senior Software Engineer" that required 5+ years of experience, the recruiter would filter anyone with less than 3 years), and (sometimes) would check whether your resume contained enough buzzwords. Yes, this is awful, and no, not every organization does it this way, although a lot do.

So while listing side projects on your resume is good, it's important to get it past the recruiter screen by translating those side projects into years of experience. Rather than just a single line in your resume like, "Side Projects: Enguarde.ly, a Link-Sharing Site for Fencers," find some way to list Enguarde.ly as experience. For example, list the time you worked on your side projects as experience as a "Web Consultant," put Enguarde.ly as a 'portfolio project' and describe the technology you used to build it.

Once your resume actually gets to a hiring manager, everything the OP talked about is much more relevant, because you'll actually have someone who can evaluate your resume. Although I think this post overstates how much your undergrad degree matters. I am a graduate of the University of Pennsylvania, typically considered a very prestigious school, but the engineering school is ranked 27th according to US News and World Report rankings[0]. I know many hiring managers who would much rather interview someone with an interesting set of portfolio side projects than someone who went to a prestigious school. Your alma matter can sometimes provide a small bonus as a small signaling effect, but I consider software engineering a discipline where a formal education is only loosely correlated with skill.

[0] http://talk.collegeconfidential.com/engineering-majors/12136...

nhashem··on How Liberal Arts Colleges Are Failing America
The liberal arts themselves aren't the problem. For those of us on HN that went to college and got a computer science degree, I'm sure a lot of took a handful of liberal arts courses as electives. It's even possible that we remember the reading, discussions, and papers in those classes even more than Introduction to the Mathematical Foundations of Computer Science II. As the OP indicated, there is no reason why learning subjects related to logic, writing, psychology, and history can't be complementary to the practical knowledge required for math and science.

In my opinion however, the real issue isn't just the students that get solely a liberal arts degree, but the amount of debt racked up to get one. Getting a philosophy degree at a state university and being $25,000 in debt is one thing, but getting that degree at a private university is being $100,000 in debt is another.

I'd imagine the younger generations will gradually stop pursuing these degrees because of the terrible ROI in terms of debt to future income. If this happens, our economy will be healthier in the short term without so much accumulated debt, but it may come at a cost of eliminating the programs that nurture our future philosophers and artists.

nhashem··on Meeting A Troll
For what it's worth, if you're the target of especially terrifying harassment like this, it's important to keep two things in mind: the more targeted the harassment is, the easier it is to identify the harasser, and the more likely it is that there's some sort of personal connection.

If you're receiving stuff in the mail (like the lunchbox with ashes) or stuff literally just dropped on your doorstep (the dead flowers), it's extremely unlikely that someone on the internet you have absolutely zero connection with just randomly picked you to ruin your life that badly just for some lulz.

I'm glad the OP was able to take the steps he needed to identify his harasser, which I'm sure was a lot more empowering than living in fear and checking his door locks every night.

nhashem··on The End of the Future (2011)
The National Review is a conservative publication. It's unfortunate that an interesting hypothesis -- our society is no longer innovating and advancing as much as it used to -- is backed up by obviously conservative partisan points that are loosely based in fact at best, or otherwise complete fabrications. I was actually tempted to flag this post but instead, I think it will be more productive to respond.

The power of government over private enterprises is the ability to guide innovation that may not provide any benefits in the short-term. There is a line of thinking that any spending on government projects is wasteful and inefficient, and for established technologies, that's true. I wouldn't want to have a government search engine instead of Google/Bing/Yahoo/DDG/et al all pushing themselves to get better and better. But do they exist without ARPANET? Does SpaceX exist without NASA? I doubt it.

Also, for government spending on technology projects, the ROI is not based on the single project's performance but any ancillary benefits as well. Even if you think spending billions of dollars just to put a man on the moon is a waste, I doubt you can argue with the other technological innovation that spawned as a result (often by the private sector), such as LEDs, artifical limbs[0].

And for Thiel to address stagnant wages without mentioning income equality is so completely disingenuous. This graph -- http://en.wikipedia.org/wiki/File:IncomeInequality7.svg -- represents exactly what Thiel is talking about, except notice how two of the lines didn't plateau but increased quite dramatically. Did Thiel's wages only increase 0.7% per year? Again, I doubt it.

My opinion is that the dramatic tax cuts starting in the 1980s have fed this income inequality, because the current design of our private sector is pretty much optimized to concentrate wealth. As a software engineer, if you've delivered a project that brought them thousands or millions of additional profits with little to no impact on your paycheck, there ya go. For our profession we're wisening up to not tolerating this (such as Patrick McKenzie's blog posts[1]), but other people aren't so lucky.

For some sobering data points, look at these two graphs showing average Fortune 500 CEO pay from 1989 to now, and the value of the S&P 500 from 1989 to now -- http://www.forbes.com/lists/2011/12/ceo-pay-20-year-historic... https://www.google.com/finance/historical?cid=626307&sta.... The S&P 500 is up about 550% during this time, and so is CEO compensation. So our executives have had their paychecks increase exactly as much as the value of their companies, and the typical worker gets their annual 2.7% raise that barely beats inflation and gets fucked. Stagnant wages have nothing to do with the "end of the future," they have to do with executives getting paid in stock, thus need to optimize quarterly profits, thus have a direct incentive to pay their employees as little as possible because that would decrease profits, and thus their stock price. Henry Ford paid his employees well above the market rate at the time because he wanted them to be able to buy his cars -- that brand of capitalist is pretty much endangered now, and now a CEO sharing $3 million with his employees is considered big news[2].

Lastly, how does Thiel not mention the impact of corporate donations to political campaigns as hamstringing innovations? You think all the oil companies are just twiddling its thumbs, assuming at some point we'll stop wanting to run on our cars by burning prehistoric goo and they'll just shut down the business and go golfing? No, they're making sure as many politicians as it can will protect its interests, and that means pretty much blocking any government investment in renewable energy whenever possible. Do you think Mitt Romney is against Obama's new car MPG efficiency standards because of "onerous regulations," or that it will lead to less profits for his Republican friends at Haliburton?[5]

Obama's much maligned "stimulus" -- the American Recovery and Reinvestment Act of 2009[3] -- allocated $27 billion towards renewable energy. While Bill O'Reilly and Sean Hannity smugly bring up Solyndra every time they can, they don't mention how the US increased the total amount of renewable energy production more in 2009-2011 than it did from 2002-2008[4]. Makes me wonder how much farther we'd be if we still lived in the days where we lauded the government for for making major technological bets that paid off with things like nuclear power, space travel, and the internet, instead of calling it "out of control government spending" in order to justify more tax cuts.

Sorry to go all Rachel Maddow on you. For what it's worth, I'm not a communist or a socialist. I believe strongly in the free market and private enterprise. In the technology sector, we see countless examples of free market principles and competition giving us faster software, smarter phones, and cheaper computers.

But I've always seen this as complementary to innovation funded by government. If VCs as we know them today existed in the 1960s, can you imagine one of them scratching his chin and saying, "So you want to put a man on the moon. How are you going to make money? Actually, don't worry about that, I'm sure it'll be awesome, here's billions of dollars."

I tried to write a TL;DR here trying to sum up my points in this wall of text, but the TL;DR itself ended up being -- yep, too long -- so I'm just going to go with this:

TL;DR: There's a lot of misinformation in Thiel's article that ended up reading to me as mostly conservative partisan bullshit, and I already get enough exposure to Fox News every time I visit my wife's parents.

[0] http://spinoff.nasa.gov/Spinoff2008/tech_benefits.html

[1] http://www.kalzumeus.com/2012/01/23/salary-negotiation/

[2] http://abcnews.go.com/blogs/business/2012/07/ceo-of-lenovo-g...

[3] http://en.wikipedia.org/wiki/American_Recovery_and_Reinvestm...

[4] http://en.wikipedia.org/wiki/Renewable_energy_in_the_United_...

[5]http://thinkprogress.org/climate/2012/08/28/744811/romney-op...

nhashem··on The Psychology of Employee Retention
This is a great point, and I wish some of the executives as my previous employers understood this. For awhile, things seem great. The company has a core product that is showing great growth. That in turn leads to even more ambitious goals. The value from the above allows the company to offer generous perks. Life is good.

Then what happens? The core product begins to plateau. Executives begin to abandon long-term, ambitious projects, in order to squeeze more juice from the lemon to hit quarterly goals. Finally, perks are cut because it's just way too lavish to have free soda when you're only growing profit 33% year over year instead of 100%. As the OP indicated, the employees are no longer left with any stories. You may still enjoy your day to day work, you may still be well compensated in terms of salary. But without that intrinsic motivation, it's only a matter of time before your enthusiasm flags and you're looking for another job that can offer you what you had before.

For company leaders, products plateau and nobody is successful all the time. But goals and perks are under their complete control, and especially for the latter, it usually requires only as nominal amount of money. It can mean all the difference in retaining your talent during bumpy times, or having everyone abandon ship because they feel abandoned already.

nhashem··on Ten million users is the new one million users
If investor attitudes are changing as the OP seems to indicate, I actually think this is a great thing. For all the doom and gloom about "Tech Bubble 2.0," the public markets are not valuing tech companies on "potential." You need real profits.

If that trickles down to private investors and makes them more gun-shy about investing in startups who don't have an obvious path to a product that involves someone using their credit card at any point, all the better. It's a much better outcome than losing all valuation rationality for a few years until the bubble pops and catastrophically damages the industry.

Also, if you do have 1 million daily users, even if you can't get the investor valuation you used to be able to get, you will still have a TON of options for a business model.

nhashem··on Do Not Advertise On Facebook Until You Read This
I haven't advertised on Facebook myself, but this is is an interesting concept. If it's broadly true and that Facebook essentially has two "classes" of users, then it's up to them to price them segment and price them effectively for advertisers.

This reminds me of Paul Graham's essays about Viaweb's acquisition by Yahoo[0][1], and how Yahoo seemed mostly uninterested in PG's algorithms for Revenue Loop. To quote: "In 1998, advertisers were overpaying enormously for ads on web sites. In 1998, if advertisers paid the maximum that traffic was worth to them, Yahoo's revenues would have decreased."

I remember when AdSense ads used to be images and Google replaced them with text links, essentially reducing the clickable surface area of the ads. This essentially slashed revenue in the short term with the theoretical long-term benefit of reducing accidental clicks and increasing the value of the clicks they did send to advertisers, who should then be willing to pay more. As a now public company, it will be interesting to see which path Facebook follows.

[0] http://paulgraham.com/6631327.html [1] http://www.paulgraham.com/yahoo.html

nhashem··on Company withdrawing from Facebook as analytics show 80% of ad clicks from bots
The problem with mechanical turk impressions/clicks is typically the country of origin, since they usually involve paying people in third-world countries a fraction of a cent which is still worth some nominal amount to them. Say you are an advertiser who runs an ecommerce site that only ships within the US. You don't want to pay for impressions/clicks from people in India because you can't actually sell to them, even if they are "real" people and not a script.

Also, there is "brand marketing" and "performance marketing." I'm not sure they have classic definitions, but generally brand marketing is based on "mindshare" and tough to quantify. This is basically any TV commercial -- Budweiser doesn't expect you to jump off your couch the second you see a Bud Light commercial, but maybe a week later when you're in the supermarket, you spot that new brand of beer and recall the commercial with Jay-Z rapping and grinding with some models, and think, "eh, maybe I'll try Bud Light Platinum, I will purchase this and consume it later because I like the idea of rapping with models," even at a subconscious level.

Performance marketing is all about ROI. You spend $100 marketing dollars, and you want to make at least $X back. Typically $X = 100 in this example, although in some cases you may want to adjust profit margins or even run at negative profit (for example, if you want to maximize revenue even at an unprofitable rate). Almost any advertiser on the internet has a performance marketing mentality, mainly because it's much easier to actually measure performance. This is why advertisers like the OP are frustrated with Facebook, because paying for bot traffic makes it extremely hard to hit their performance marketing goals.

You are right though, in that this is a huge gray area. To give two extremes, let's say you run an ecommerce site but you'd also like to monetize with ads. So you reach a deal with a shopping comparison site to display their products on your pages in your footer. If you buy AdWords to your site, and those visitors from AdWords scroll down and click on the shopping comparison ads, they are probably fine with paying you for that traffic, although you are probably paying something like $2/click. If you make a page with JUST the shopping comparison ads, and buy traffic from someone who basically infects computers with trojans and overwrites their Google search results to be your site (say at $0.01 per click), then you'll get clicks on the shopping comparison ads and make lots of money, except the shopping comparison site will realize these clicks don't lead to any actual sales for their merchants (since this is extremely poor quality traffic since all the users that end up there have basically no intent) and will kick you off. Somewhere in between adveritsing for "first page Google AdWords" traffic and "trojan/botnet" traffic is basically every other form of internet advertising, and how gray that area is, is typically completely defined by your business partners.

nhashem··on Company withdrawing from Facebook as analytics show 80% of ad clicks from bots
My startup is essentially an advertising aggregator (pooling traffic from a variety of publishers and routing it to advertisers) and dealing with things like bot detection is a HUGE chunk of what we work on, technology-wise. Let me try and give you an idea of how deep the rabbit hole can go.

- Okay, you want to detect bots. Well, "good" bots usually have a user agent string like, "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)." So, let's just block those.

- Wait, what are "those?" There is no normalized way of a user agent saying, "if this flag is set, I'm a bot." You literally would have to substring match on user agent.

- Okay, let's just substring match on the word "bot." Wait, then you miss user agents like, "FeedBurner/1.0 (http://www.FeedBurner.com)." Obviously some sort of FeedBurner bot, but it doesn't have "bot" or "crawler" or "spider" or any other term in there.

- How about we just make a "blacklist" of these known bots, look up every user agent, and compare against the blacklist? So now every single request to your site has to do a substring match against every single term in this list. Depending on your site's implementation, this is probably not trivial to do without taking some sort of performance hit.

- Also, you haven't even addressed the fact that user agents are specified by the clients, so its trivial to make a bot that identifies itself as "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1." No blacklist is going to catch that guy.

- Okay, let's use something else to flag bot vs. non-bot. Say, let's see if the client can execute Javascript. If so, let's log information about those that can't execute Javascript, and then built some sort of system that analyzes those clients and finds trends (for example, if they originate from a certain IP range).

- This is smarter than just matching substrings, but this means you may not catch bots until after the fact. So if you have any sort of business where people pay you per click, and they expect those clicks not to be bots, then you need some way to say, "okay, I think I sent you 100 clicks, but let me check if they were all legit, so don't take this number as holy until 24 hours have passed." This is one of the reasons why products like Google AdWords don't have real-time reporting.

- And then when you get successful enough, someone is going to target your site with a a very advanced bot that CAN seem like a legit user in most cases (ie. it can run Javascript, answer CAPTCHAs), and spam-click the shit out of your site, and you're going to have a customer that's on the hook to you for thousands of dollars even though you didn't send them a single legit user. This will cause them to TOTALLY FREAK THE FUCK OUT about this and if you aren't used to handling customers FREAKING THE FUCK OUT, you are going to have a business and technical mess on your hands. You will have a business mess because it will be very easy to conclude you did this maliciously, and you're now one Hacker News post away from having a customer run your name through the mud and for the next several months, 7 out of the top 10 results on any Google search for your company's name will be that post and related ones. And you'll have a technical mess because your system is probably based on, you know, people actually paying you what you think they should, and if you have no concept of "issuing a credit" or "reverting what happened," then get ready for some late nights.

I'm seriously only scratching the surface here. That being said, I'm not saying, "this is a hard problem, cut Facebook some slack." If they're indeed letting in this volume of non-legit traffic, for a company with their resources, there is pretty much no excuse.

Even if you don't have the talent to preemptively flag and invalidate bot traffic, you can still invest in the resources to have a good customer experience and someone that can pick up a phone and say, "yeah, please don't worry about those 50,000 clicks it looks like we sent you, it's going to take us awhile but we'll make sure you don't have to pay that and we'll do everything we can to prevent this from happening again." In my opinion this is Facebook's critical mistake. You can have infallible technology, or you can have a decent customer service experience. Not having either, unfortunately, leads to experiences exactly like what the OP had.

nhashem··on A note I sent to YCombinator
A lot of the job postings to me from YC startups seem absurd, since a lot of them seem to be looking for "expert"-level roles. For example, a lot of them are looking for a "growth engineer." My interpretation is that they're basically saying, "We have a cool product and anyone that hears about us seems to like us, so we need someone that can write code that will help more people hear about us."

Or, more generalized: "We have some huge thing we want to do, and can't do it ourselves, so we're looking for someone that can pretty much just come in and do it for us."

And all the postings offer in terms of describing/selling why such a immensely talented individual would work for them is: "We're reinventing the future of everything, we work hard and play hard, we can offer competitive salary and equity."

The OP seems to feel this is borne out of some sort of maliciousness, but I really think this is mostly just cluelessness. When you get a little bit of traction and you have a little bit of money in the bank, and you're trying to go even faster and you have 20 major initiatives you want to do and you can only work on like 2 at a time, it's easy to conclude, "We need to hire! We love our company, this is so much better than working at some corporate stuffy job, why wouldn't anyone think the same?"

Most of these companies would probably just be better served forgetting about hiring and building out the core product until they have more product-market fit, so they have enough revenue/funding to compensate employees closer to their talent level, and have a "popular" brand that people would want to actively work for.

Unfortunately this would mean delaying that 3rd party API, or porting your applcation to iOS, or started using SEO/SEM to drive some traffic, which all have huge learning curves that are tough to navigate while you have a ton of other things to do. But if they were THAT critical, I would suggest those startups prioritize them over those other things and doing it themselves.

nhashem··on Insanely simple Cloud-based replacement for statsd + graphite
Very cool service!

Question about the architecture though: what were the reasons for using HTTP as opposed to UDP (which is typically how these stats collection servers receive data)? It looks like it's possible to keep system load manageable since you aggregate the data and space out the HTTP requests, but why do this instead of just blasting the server with UDP requests?

nhashem··on Advice for Marissa Mayer from an ex-Yahoo
From what I've witnessed, it is typically an organizational issue. Let's say there's a site that has some sort of marketplace, and the company wants a better algorithm for searching the marketplace because the current algorithm is some crappy substring search. So they hire an architect with some advanced experience on search and tell him, "go figure out something cool that will solve this problem." So far so good.

If you're a developer who works on implementing site features and enhancements, this is what you see. The architect spends the next three months where every meeting his status is "I'm working on the search algorithm." That's all you know that's happening. You assume it's really cool and advanced and it requires his undivided attention, while you continue to juggle managing production issues and implementing new features on the site. Occasionally he has some question about existing search engine, and you show him how it works and due to some painful legacy decisions made earlier, it's pretty embedded in basically everywhere on the site, and everytime he just kind of grunts and scratches his beard and goes back to his desk.

Three months later the project manager taps you on the back and says, "hey, the CEO wants an estimate on how long it's going to take you to implement the architect's new search engine." Erm, okay. So you schedule a meeting with him to see what he has built so far. You don't even know what to expect at this point, since he barely asked you ANYTHING about the existing technology of the company. You're thinking maybe he built some sort of abstracted RESTful service, and hopefully the work on your end will consist mostly of translating direct SQL queries to REST calls.

But, no. Instead you get this HUGE diagram with barely comprehensible terms. Some things immediately jump out to you, like "previous search query terms" is in some sort of cylinder object you assume is supposed to be some sort of database, but you don't actually log the search queries to any database currently. And then there's all these boxes he seems like he just sort of hand-waves, like "baseline linguistic semantic engine," whatever the fuck that means. You ask him about that and he mutters, "oh yes, that is when you compare the search query term for the baseline frequency it occurs compared to the corpus," and this time it's you that grunts, but unfortunately, you don't have a beard you can stroke.

So basically, for you to "implement" this, you're going to need to do a ton of development work building data sources that don't even exist, and then implement his algorithm and find some way to make it robust and scale. So you tell your project manager, "yeah, um, whatever number we're using this quarter for estimating 'story' sizes or whatever, just use the biggest one and double it." And that's the last you hear of it until you're in some meeting a week later with the execs, and someone mentions some problem because the search engine performed suboptimally, and the CEO says, "Wait, I thought the architect already built the solution for that? Why haven't we put it into production yet?" And then you face-desk so hard you break 27 bones in your face and spend the next two years rehabilitating from your reconstructive plastic surgery.

So yes, it's not really the architect's fault. And I actually think architects, with the right skill set and organizational support, can be fantastic. At my last employer there was an architect on my team that was one of my favorite people to ever work with. If an architect is well-integrated with the team, and can work with them to actually develop what he's working on in tandem with reality and determine the right levels of abstraction, then they can be a great resource for a software team. Every time there was some feature request that made us think, "man, we're gonna need some PhD shit for that," our architect would ride to the rescue and figure out some way to solve it that was very advanced but still completely practical given the constraints of everything else, on top of providing general mentorship and design advice.

Architects can get a bad rap and in the example I just described, it's not really their fault. But, it's probably not worth continuing to pay them $250,000 to design completely impractical algorithms nobody can realistically implement, including themselves, either.

nhashem··on Advice for Marissa Mayer from an ex-Yahoo
This is actually reads like a pretty good list of suggestions for any new leadership team, not just Yahoo. Fire all the "architects" who get paid $250,000 to make gigantic UML diagrams and can't actually code. Pay top dollar to retain and recruit talent. Don't spend a whole lot of time with some broad marketing message that everyone will immediately denounce as meaningless fluff anyway. Stop re-inventing the wheel. Form great teams and empower them to make great products.

I'd just like to add that I think it's important for Mayer or anyone else in this position to do this quickly. If you're two months into the job and you're still having "introductory meetings" with all the departments and putting together "the vision," then by the time you actually start to make any changes, it'll be that much harder because of how much your products have declined and your talent has hemorrhaged in the meantime.

nhashem··on Who Owns the Website, and Why
I'm going to summarize the overall problem here as, "everyone has different goals for the same product," and the OP has some suggestions on how to unify them.

While the the evolution of roles described in the OP are steps in the right direction, usually the inefficiencies caused by the problem require some deep organizational changes beyond hiring some "growth hackers" or "product managers."

I encountered this a lot at previous employers where I developed SEM management systems (ie. optimizing keywords on Google Adwords). SEM had its own P&L (profit/loss) goal so we ran into issues like:

- Bidding on our own "brand" terms. Like if we're oursite.com, we would bid on "our site." Naturally we'd get ranked #1 on AdWords. Yet our site was also #1 on Google's organic results. I'm sure we were absolutely cannibalizing our (free) SEO traffic and hurting for the business units that had SEO P&L responsibility.

- Pretty much any change to the site threw our numbers out of whack. There was one major release that improved the UI greatly, but did add some additional load time to pages. Our Adwords rankings got killed, the SEM team freaked out because it was now mostly impossible to hit our P&L, and it turned into a disastrous political situation.

- We had no input to the actual site ourselves. When our site had no relevant content for whatever was being searched for, the resulting page was pretty much like yelling "OMG WHY THE HELL WOULD YOU EVEN SEARCH FOR THAT YOU SHOULD JUST LEAVE RIGHT NOW BECAUSE WE PROBABLY DON'T HAVE ANYTHING YOU'LL EVER LOOK FOR IN YOUR LIFETIME" at the user. So if a user came in on a keyword that would lead to one of these pages, there was very little chance they'd hang and poke around for something else, which made bidding on the "wrong" keywords incredibly costly. We REALLY wanted to change that page to something more consumer-friendly, but we never really had any channels to do that.

- Ironically, at the team level, the director of SEM resisted hiring any product managers. He wanted tech and operations to feel like one team and communicate constantly. We all talked with the analysts directly. Our wins were theirs, our needs were theirs, our pain points were theirs and vice versa.

Most organizations I've been at, the "product manager" is really just "have a meeting with everyone that's not an engineer, find out what they want, tell the engineers what to do." You know, kind of like this guy: http://www.youtube.com/watch?v=mGS2tKQhdhY

I recognize that this is not an easy problem to solve. My understanding is the idea of the growth hacker is someone that can "see the big picture" and then implement the solutions that lead to the best possible overall outcome. Beyond the right individuals though, it's important to have the right organizational structure to even allow that process to manifest. A very obvious example of a company that understands this is Apple, who has exactly one person in the entire company with a P&L goal[0].

[0] http://blogs.hbr.org/cs/2011/10/steve_jobs_solved_the_innova...

nhashem··on The Challenge of Making Friends as an Adult
Yeah, I read Fight Club too, dude.

We could have a much deeper discussion on the evolution of society and how the gradual reduction of physical survival difficulty has eroded a lot of the male bonding development that used to exist. But a lot the OP was about difficulty making friends even when people had a lot of things in common, so I was sharing an anecdote on how a shared activity and commitment, even for a mostly trivial hobby, still led to what I considered good friendships.

You may consider bonding through my softball team "play time." I posit that it's better than not bonding at all, but if you really want to dismiss my friendships and suggest the only way to forge lifetime male bonding is to form an underground anarchist militia and make bombs out of soap, I'll take that under consideration.

nhashem··on The Challenge of Making Friends as an Adult
Just going to share a little anecdote here.

I moved to Los Angeles in 2004. The next year I organized a softball team, mostly coworkers at the time. There are six of us that have been playing since we started, going on seven years now, even though we've almost all since changed jobs. Even though it's "just softball" (and our league is about as uncompetitive as possible without being totally beer-league), we've all made attempts to make it to games that bordered on absurd. I'm talking like, having a game end like 90 minutes before a flight I had booked, so I brought my luggage to the game, planned for a cab to arrive right as our game ended, and changed in the back seat of the cab on the way to the airport. Sure, I could have just skipped the game. I don't know if it's as contrived as "not wanting to let the team down." But these guys were my friends and I wanted to be there. Outside the six of us, we've had countless guys come in for a season or two, and then kind of fall off and stop playing. Almost all my post-college "good friends" -- the kinds of guys I invited to my wedding, for example -- have played on this softball team.

So I've thought about this a lot. I guess I've concluded that male friendships in particular are more easily forged in some environment of "commitment." In the "you've been there for me, so you're a good guy, so I can feel comfortable about opening up to you about subjects you only bring up with your good friends," sense. Also, I don't think this happens overnight, at least not for me. We were playing for two years before we'd do something like get dinner after the game. It was another long while before we'd talk about deeper friendship stuff like career advice, girlfriend problems, etc.

Hopefully I'm not making this sound like you can only make friends when you're a "bro" who plays sports. When we're younger, these organizations exist everywhere: high school, college, school clubs, sports teams, whatever. Just any place where you're expected to give more than what may be convenient and everyone else does the same. Going back to the softball team, let's say I get two emails the day of a game. One guy says, "hey my boss wants to pull me in a meeting that probably run long, I managed to tell him I have a hard stop at 7:00pm, but I may be like 10 minutes late to the game." Another guy says, "hey, I had a big lunch, I'm gonna skip the game." Which guy am I going to end up being friends with?

So I suppose my conclusion, at least for me personally, is that it's usually not enough to find people I have something in common with, but something in common that we're both committed to. It's tougher to find that after high school and college, but it's not impossible.

← PreviousPage 2 of 5Next →