Ask HN: Has the HN Community changed for the worse? - <AUTHOR>

Increasingly I have felt a hesitation to post my thoughts on HN as it seems that more often now than in the past my comments are down-voted because of a disagreement with my opinion rather than a reflection on the quality or "rudeness" of my comment's content. Sometimes I can be rude, and down-votes are not unexpected in those cases of course.
Some possible reasons for this are:
1. I've become more sensitive. 2. The quality of my comments have gone down. 3. More people are using the down-vote privilege to express simple disagreement.
Of course, this is not a complete list.
#1 is unlikely, I am doubtful that my personality has changed much over 3 years. #2 is possible, as I get more comfortable on HN I am more likely to post poorly thought out or emotional comments. My theory behind how #3 could be the reason is that the type of user that is gaining the down-vote privilege is changing.
Regardless if this is real or imagined I am certainly feeling this way and wondering if others feel this way. A key point is that this is not the way I felt about HN initially. I've been on HN for about 3 years, this negative sentiment has been growing for roughly the last year.
If the reason for the change is #3, what could be a solution? I really love the site and would hate to wind up not using it. One idea I had was for more visibility given to the down-votee. Up-voting affects the placement of a comment on the page (i think?) and ticks the little score counter but down-voting can completely remove a comment or at least make it harder to read. Down-voting is a more powerful action (vs up-voting) and it is an ability only given to a limited number of users. It might be time to try to implement some sort of repercussion for "misusing" this ability or to redefine what proper use of this ability is. I have not thought this through from a product perspective at all, I think the first step is just to see if others feel this way or I am imagining it. <comment><USER2> A few months ago, I did a statistical analysis of all the HN comments and found that the quantity of comments in increasing while the quality of comments is slightly decreasing: [http://minimaxir.com/2014/10/hn-comments- about-comments/](http://minimaxir.com/2014/10/hn-comments-about-comments/)

Although, after going through your comment history, most of the comments you've been downvoted on have been downvoted for ad-hominem attacks, which is a fair response. (e.g. [https://news.ycombinator.com/item?id=8815489](https://news.ycombinator.com/item?id=8815489))

<comment><USER3> Out of genuine curiosity, is there a site whose community's comment quality is actually increasing?

</comment></comment><comment><USER4> I've raised the same concerns before, but PG's opinion on the topic is that the downvote arrow is there to indicate disagreement and if people want to kneejerk downvote something, they're right to do so.

This is the opposite of Reddit where, in theory, the downvote is not meant to be used to indicate disagreement but rather low quality comments (not that that works at all).

The problem is that both HN and Reddit hide comments that get too downvoted (dead/hidden respectively). And also re-ordered to the bottom (further hidden). That means that getting downvoted has a real consequence, so unpopular opinions are pushed out of HN's dialog and the site becomes a uniculture (just like Reddit).

Then HN has flag kills which are like "super downvotes." I've seen a lot of perfectly reasonable comments flag killed for no real reason (just turn on dead in your settings). In particular when they're flying in the face of the site's culture/popular opinion.

In an ideal world people who run these sites need to sit down and make up their minds, for real, if downvotes are for disagreement OR to flag "bad" comments. If they're just for disagreement then stop hiding/killing low rated comments, that makes no sense...

Also the karma score on your profile (and unlocking functionality) is a massive hornets nest that has many of the same issues described above.

Ultimately the point of the downvote and the punishment/rewards on the site are completely at odds with one another. People just haven't thought it through at all, unless their ultimate goal is to wind up with some kind of uniculture.

<comment><USER2> > _Then HN has flag kills which are like "super downvotes." I've seen a lot of > perfectly reasonable comments flag killed for no real reason (just turn on > dead in your settings). In particular when they're flying in the face of the > site's culture/popular opinion._

[dead] comments are different from [flagkilled] comments. [dead] comments are usually from accounts that have been hellbanned.

I've very, very rarely seen a comment get flagkilled.

<comment><USER5> Flagkilled comments are probably rare because flagging a comment is not an obvious option and the down vote overlaps the reasons a comment might be flagged.

</comment></comment></comment><comment><USER5> The only interpretation that is worth having is #2 because it leads to better writing.

[My Standard Answer]

Take downvotes as editorial feedback. Perhaps your point wasn't clearly made and backed up with examples, references and sound rationales. Perhaps your tone was inappropriate in terms of the larger community.

Realize that even if you make your point clearly and with reasoned support, it may be directed at the wrong audience and that also prevents a comment from being well written and is something that can be improved.

It also explains why #3 isn't a valid approach. Yes there are more people with the downvote. That's just a fact about the audience [nevermind that there are even more people with the upvote to offset them when a comment is well written].

Looking at your two recent net negative comments. Both are poor quality.

Some tips:

       + When making a first comment, the word "argue"
         should be considered a bit of a red flag. "As
         I understand your argument" is about the only
         thing that consistently turns out well.

       + Use "you" with caution.

As a final word, I try to recognize when I am firing something off in angry response to _Another Stupid Thing on the Internet™_. I often let myself complete the thought even though it's low quality by my standards.

Then I often delete my comment. It hits my average karma, but it makes me a better writer, I think.

<comment><AUTHOR> I'm not sure why an interpretation which would lead to a better HN wouldn't also be worth having?

I just flat out disagree with your analysis of my first two "net negative" comments. But I doubt anything would be more boring to read than the two people discussing the quality of a couple of comments.

<comment><USER5> More good content including thoughtful and informative comments is what Will make HN better. Complaints about internet points don't. Despite drive by disagreement being in the better half of the set of all internet comments, it doesn't usually meet the norms for good comments on HN.

<comment><AUTHOR> What I'm driving at is a product level change. I think some of the product changes like the addition of "Show HN" did come from grassroots requests from the users.

I could be mistaken but I see that given a certain product the quality of writing form the users is going to be relatively constant. There could be some influx of users (from some marketing, PR or viral effect) that changes the landscape but I don't expect anything like this to occur in HN in the near future. Therefore, I think to change the quality of comments the product needs some level of change. The product change would either have to change the motivations for the current users or attract other users who write higher quality comments.

I also thing you undersell the "internet points". Without some sort of karma system you would likely have something like 4Chan or the comments in Youtube. Further, reducing my statements down to a squabble about "internet points" is reductionist and inaccurate. The larger effect is that down-votes can literally remove a comment.

All in all, I think the current mechanics support passive aggressive interactions between users and penalize overt disagreements. I think most people would agree that the former isn't a good thing but the latter is where I would imagine there are widely differing viewpoints.

</comment></comment></comment></comment><comment><USER6> Yes, there is a fair amount of drive-by-downvoting. I sometimes comment on the political topics so I expect some down voting. Lord knows I have enough internet points as it is. :)

But it bugs me a lot when someone writes a detailed comment in a thread about a programming language (e.g Erlang) about its flaws (eg. poor Windows support) and its get down voted to light gray even if the content of the post is completely factual.

Such comments takes a long time to write (much longer than just writing your opinion on some political topic), so when people are down voted for that they become less likely to write such informative, technical comments.

Which is a problem for me because I read them with interest and I don't want people to stop writing them because of to much down voting.

</comment><comment><USER7> I'd agree that down-voting has become more prevalent and is unfortunately often used to show disagreement. I think one problem is that HN is likely acquiring a lot of redditors where votes in general are not nearly as meaningful (especially down-votes).

Reddit is, in my opinion, a place mostly for fluff (humor, pop culture content, etc) while HN is a place we seek out for information and discussion. Disagreement only down-votes definitely suppress discussion so I'm all for seeing HN experiment with curbing down-vote usage.

I could see "controversial down-votes" being an interesting method for identifying people abusing their down-vote privilege. If a comment gets a mix of up-votes and down-votes its likely that the down-votes are disagreement driven so that could be an easy place to start.

edit: To emphasize the point, this comment has been down-voted at least once

<comment><USER5> Downvoting for disagreement is beneficial because it often stands in as proxy for an inflamed response. A down vote might be better for the community than a flame war or accusations of trolling or wasting energy trying to convince people that they are wrong.

There are times when the community is better for point->counterpoint and times when it isn't. When I suspect it won't be after I have written what I am inclined to write, I down vote. It's often the best among my alternatives after avoiding threads likely to produce crap comments, trolling, and everything I can find elsewhere on the internet.

</comment></comment><comment><USER8> Obviously, the downvote count on your posting cannot be caused by you having become more sensitive. Only if that sensitivity is reflected in some posting behavior: like editing your posting to complain about downvotes or whatever.

<comment><AUTHOR> Good point. #1 was obviously wrong, I guess I just put it there to give more meat to the post.

</comment></comment><comment><USER9> IMO every community has changed for the worse.

Nothing is as good as it was last year, and as sites grow they fill with people who act different than the past members.

</comment><comment><USER10> If anything less people downvote to disagree. There's a subset of users who strongly disagree with downvote to disagree.

</comment><comment><USER11> It was better next year</comment>


Hacking The iPod: How I Earned $65K In High School - <AUTHOR> http://teddy.is/ipod/

<comment> jack-r-abbit _I started to buy broken iPods that were still under warranty, mailing them back to Apple and receiving brand new refurbished iPods for the cost of shipping. This was the most lucrative venture of all but it was the primary reason why an Apple lawyer had called me that day. Understandably so, they did not like me taking advantage of their transferrable warranties. They knew that I was a kid and let me off the hook_

I don't get it. If you were buying units still under warranty and Apple had transferable warranties then I'm not sure what they let you off the hook from. You were not doing anything wrong. It sounds more like just another dick move from Apple.

<comment><USER2> More like a dick move by him not telling them they could just get a new iPod.

<comment><USER3> It could also be construed as an arbitrage opportunity vis-a-via the time value of money.

Obviously some parties to the transaction might be unaware that their device is still under warranty, but the OP is providing a valuable service allowing them to liquidate their broken iPod into immediate cash and avoiding the risk that the warranty might be void, as well as the delay between sending and receiving the repaired unit.

The OP didn't force the people to put their broken iPod on ebay, he's merely taking advantage of an existing offer.

<comment><USER2> I doubt many people would take the deal rather than get a new iPod if they knew all the facts.

<comment> jack-r-abbit Since the OP did not write about his interactions with these sellers it is hard to know if he did or did not inform them. But I don't believe the OP was obligated in any way to tell everyone about Apple's warranty terms... so I don't think not telling them was a "dick move". I can also think of plenty of reasons why a person might know all those facts and still choose to sell the broken, still-in-warranty iPod. One of them being that you don't get a new iPod... you get a refurbished iPod and some people just don't want someone else's used stuff. Other people may have already upgraded to a new/different model and no longer need the broken one replaced.

<comment><AUTHOR> "Other people may have already upgraded to a new/different model and no longer need the broken one replaced."

That was usually the case. People often felt they were due for an upgrade anyway and wanted to simply part ways rather than dealing with the warranty process.

</comment></comment></comment></comment></comment></comment><comment><USER4> "$65,000 in _revenue_ " "My profit margin was not monstrous"

So, not sure what the actual profit was, but nice nonetheless.

<comment><USER5> Good catch. Now I'm a little disappointed

<comment><AUTHOR> It was indeed $65,000 in revenue. I hope there wasn't too much confusion there :)

<comment><USER6> You have a bright future ahead of yourself as a VC-backed tech company CFO.

<comment><USER7> Almost: except that he actually has revenue.

<comment><USER6> Eh, so did Groupon.

</comment></comment></comment></comment></comment></comment><comment><USER8> The best part of the story to me, is the Apple Attorney who decided to give a slap on the wrist before moving on to the potential legal carpet bomb mission.

In the age of organizations such as the RIAA suing teenagers or the elderly without such gestures, it is refreshing to read.

<comment><USER9> Sounds to me like they gave a slap on the wrist because he had done nothing illegal and therefore all they could do was try to scare him... and it worked. I could be wrong, though.

<comment><USER10> We all know the company could have brought up a ton of charges if they didn't like him abusing warranty. I think as a kid, he was smart to agree and walk away with the money he made so far, rather than risk a costly legal battle.

<comment><USER11> Of course it was smarter. But that does not make Apple actions "refreshing".

</comment></comment></comment></comment><comment><USER12> I had a similar little side business in high school putting chips into 1st gen playstations and selling pirated games, then someone i knew who did the same but at a much higher volume got busted and I immediately stopped. The only thing that ever happened to him though was he got his computers seized.

<comment><USER13> How did you go from perfect English in your first sentence to ridiculous abbreviations in your second? ("tht ... tho")?

<comment><USER12> I'm not the best typist on the iPad, I have corrected my mistakes.

<comment><USER13> Sorry.

</comment></comment></comment></comment><comment><USER14> There used to be a sub-telco called Genie in the UK (powered by O2/One2One) when I was in school, they offered unlimited texts on a pre-paid sim card tariff for £10 a month. I used to tell them around my school for £15 per sim card, I learnt a lot about supply and demand... eventually, I became known in my area and started to sell them to students in other schools, this kept me in pocket money for a year before they dissolved the sub-telco. It wasn't much but it was enough to make me understand some principles of business.

</comment><comment><USER15> The most important part of this story is that he educated himself as a high schooler on the concept of arbitrage.

Unfortunately, he succumbed to the concept of leverage.

</comment><comment><USER16> I enjoy the short sweetness of your story. Love your spirit, at such a young age. You sound like the kid I wish I was.

What did you do with that money? Blow it on kid stuff, or save it? Use it for anything specific?

<comment><USER17> agreed, the brevity and concise writing made this a great article. The author obviosly learned something from HS english class, well done.

the logical progression from a one off fix, to fixing friends, to dealing with parts shortages (buy bulk damaged units) to warranty repair scavange was awesome.

</comment></comment><comment><USER18> Awesome to hear, did something similar. In 2009 I failed a paper in high school and as a result had to rewrite the paper in 2010. Being into computers and stuff a few of my friends asked me to unlock their iPhones that they had gotten(This is in India and people use to abuse the 200$ iPhone by getting them through relatives in the US). I soon realized there was a market for this sort of thing and started unlocking iPhones as a business by advertising on craigslist. Made about 1100$ which in Indian rupees is about Rs 55000 which is a lot. Helped paid for a lot of my computer gear.

<comment><USER19> I started like you, but never made more than a few bucks. I unlocked Nokia phones for a couple of friends and then charged ~$3 to other kids. I probably made less than $100 overall.

This was when Nokia phones could be unlocked by simply inputting the IMEI and phone network on a VB calculator and getting the code. I did tell them how it was done, but back then few people had Internet at home or knew how to use it, whereas I spent many Saturday mornings on the public library using their machines and connection.

</comment></comment><comment><USER20> everyone else that did something like this to Apple they eventually hired...could the author have gotten an internship w/ a nice stipend at, say, Apple's hardware design groups to replace his lost activity>

<comment><USER21> The author probably could not have gotten an internship with Apple. The one person I heard of Apple hiring like you explain was @comex, who worked on jailbreaks. By hiring @comex, they did 2 things:

1) Put an end to a jailbreaker's work 2) Hired someone to find security holes

While this is a pretty neat story, the author probably wouldn't be as valuable for Apple as someone like @comex would be.

Here is more information about that hire: [http://techcrunch.com/2011/08/26/apple-hires-iphone- hacker-n...](http://techcrunch.com/2011/08/26/apple-hires-iphone-hacker- nicholas-allegra-comex/)

<comment><USER22> For what it's worth, quite a few of the original iPhone Dev Team members got hired by Apple, and they tried to recruit all of us. Not sure about the later iPhone hackers, but in the early days they were trying hard to get all of us.

</comment></comment></comment><comment><USER23> I'd be interested to read the terms of the warranty. Transferability may have been limited to personal use rather than the bulk warranty claims undertaken by the OP.

That's with my lawyer hat on at least.

With non-lawyer hat on, nice work OP in servicing a need and creating a business opportunity for yourself.

</comment><comment><USER24> Nice work, I did the same with IBM Thinkpads, with the huge advantage that IBM supplied full hardware manuals, and lots of the parts were interchangeable. I would buy lots of broken laptops on ebay, use the parts, and sell parts that I didn't use back on ebay. Then sell the fully working laptops on craigslist.

</comment><comment><USER25> Any advice you can give to me on starting a business in high school? This sounds like it would be an interesting and challenging thing to undertake. I'm 16, almost done grade 10. I can program at a okay level, having created a few web apps.

<comment><USER26> Identify an opportunity, then exploit it.

</comment></comment><comment><USER27> Revenue != Earnings

</comment><comment><USER28> You were making 65 grand whilst still in high school. I was playing final fantasy VII. Not sure which was better .....

actually yes I am. Why the hell didn't i start tinkering with stuff earlier on. Kudos to you, and thanks for writing about it!! Best of luck

<comment><USER4> tbh I would guess he made something like 10-20k, as in the text he clarifies that 65k was revenue not profit or earnings. Good learning experience though.

A full-time summer job would net you... 5k? Multiplied by number of summers. Probably not as fun...</comment></comment>


Ask HN: Starting same business of the company I left? - <AUTHOR> How morally wrong is to leave a company and start the same business because you like the business, you think it can be way better and you know that that company will never improve it? What could be the problems? How could I get the customers?
The story behind the question, if you are interested:
I worked for 2 years for a small company (25 people), in a small team (4/5 people, all pretty young, 27/33). Basically fresh from college, I was hired as a backend engineer to re-do the backend services (DB, APIs). Lots of decisions were already taken when I joined.
These decisions were not great: a lot of architectural choices were done with no rational behind, just by feeling. DB was a mess, no triggers, inconsistent data, zero to null security, and so on. Application layer even worse.
What's worse is that the dev team was given ALL THE TIME AND SUPPORT from the management to redo everything from scratch, but still made a mess, eg, again, de-normalizing the DB without knowing if it would really be a performance plus, but just because "I feel it would be".
I don't claim to be the best, but I think that as engineers we should at least try to take decisions based on real things, and not "by feeling" (which I could accept from someone with a lot of experience and recognized in a field).
I learned a lot, but lots of things I wanted to do, implement and improve did not get approved. So, at some point my I had enough and left, because I saw that the only things we were doing was trying to fix the mess that was done, and I didn't want to go on with that when clearly the whole codebase was so messy that the only solution would be to start over with a real and well defined plan.
The service now works somehow (with "duct tape", as we say) -although there are lots of complaints from customers- so management now is kindof ok with that (because they spend money and time in the redo, so don't want to do that again), although they know its shitty (once again). <comment><USER2> I assume the business service being offered has value to clients? I gave up hope long ago of ever finding a company where they were both profitable and the engineering decisions made over time were correct and the code wasn't a mess and...

I eventually concluded that it's better to be like Facebook or Slack: and idea that works despite having been built on PHP and MySQL and then hire the experts needed to mitigate the issues that come with having built on PHP and MySQL than to spend an inordinate amount of time building a technically perfect product that lacks business value.

</comment><comment><USER3> Nothing immoral... but can you really do better? Is it a good business to be in? Most stuff degenerates to duct tape for a reason: complexity, lack of resources (money, time, people...), higher priorities, etc. And most customers don't care, as long as it works. So if you build a better mouse trap, will anyone care?

<comment><AUTHOR> > Most stuff degenerates to duct tape

Sure, but here the point was exactly that could literally do what they wanted. It didn't and it shouldn't had gone that way with the resources they had.

> So if you build a better mouse trap, will anyone care?

Potentially I think it could, given that the customers were raging and pissed off and the fact that it was unstable.

In the end, I am actually thinking about doing it even just for myself, to follow a project from scratch, and if it turns into something good, otherwise, still experience.

</comment></comment><comment><USER4> I think this happens a lot. Did you sign a non compete? Some companies make you sign that for around 1 year.

<comment><USER5> My take on non-competes.

You might be lucky and they didn't make you sign one.

If not, then you have to look at any possible commercial dispute like so. There are really four possibilities, based on the binary outcomes of

A. Company A hits it big, and

B. Company B hits it big

even though it is a touch more complex than that. A lawsuit is expensive and isn't worth pursuing unless there is money to fund it and an expectation of a monetary outcome.

If A and B both fail there is no risk. If B succeeds then at least you succeeded at B. Getting involved in some situation like Zuckerberg vs. the Zwinkelvoss Clone would be great. Possibly you share some with A. A could shut you down and might do so if A was bigger than B, but if B got bigger than A, they have no reason to kill the golden goose.

If you fail on your own then you would have failed anyway. The legal risk is real but the impact should be discounted by concerns like the above.

I cannot fault the engineer who walks out of a company with an understanding of how NOT to build a system. Don't walk out of there with any artifacts (other than other people's open source software) that could possibly help you build a system that is competitive because that gets you into trade secret law, copyright law and means you can be accused of crimes that are easy to prosecute someone one.

If you have contact with their customers, that opens another range for a perception of personal betrayal. This could happen to an engineer but could also be done by a salesperson, customer support person, etc.

People who are afraid of a commercial dispute of this sort (either imminently or over the next decade) should also file a provisional patent application (PPA) with the USPTO which has the latest knowledge you have that the other parties does not have.

It is two weeks of work and a less than $200 filing charge and it starts the clock for patent protection, you do not need a lawyer. I've put marketing papers, etc. samples of source code, architecture documents, that are oriented around technology necessary for solving the problems you claim to solve in the marketing papers.

If you have a dispute with someone, the PPA is an awesomely intimidating legal document -- no matter if you are the employee, employer, vendor, customer, etc.</comment></comment>


'Their house is on fire': The pension crisis sweeping the world - <AUTHOR> https://www.latimes.com/business/story/2019-11-24/their-house-is-on-fire-the-pension-crisis-sweeping-the-world <comment><USER2> Mandate that all pension inputs be paid by law every month as they are earned. This will make it hard for politicians to 'steal' these monies as they know that chicken will not come home to roost until they are long gone. This problem has been caused by under paying by local and state governments of these monies. Some states have these laws - they are not in trouble this way.

</comment><comment><USER3> If you assume that pensions are a scam used to convince people to do otherwise undesirable jobs, it's much easier to predict what will happen to the payouts over time.</comment>


Steve Jobs threatened patent suit to enforce no-hire policy: filing - <AUTHOR> http://www.reuters.com/article/2013/01/23/us-apple-google-lawsuit-idUSBRE90M04Y20130123 <comment><USER2> I love how this no-poaching debacle really shines a light on the hypocrisy of some much beloved tech mega-corps.

Google and Apple execs may shower employees with perks, but at the end of the day, top execs still treat most of their labor like a statistic to be optimized and exploited for maximum value rather than human beings. The only difference is some of the tech companies have realized that happy employees are good employees.

Which I guess is progress. But what i'd really like to see more common decency and respect of the rank and file employee by senior management.

Colluding to not hire employees of your friends company is extremely disrespectful because it means lower employee wages over-all, and it's using the dominant position of an employer to limit the options/free-will of your employee to protect their own profits.

<comment><USER3> > The only difference is some of the tech companies have realized that happy > employees are good employees.

I wonder if it's even that positive, or they've just realized that, in the current Valley employment climate where many people have alternative employment options, happy employees are the only _not-quitting_ employees.

</comment></comment><comment><USER4> They gave us 10% raises in the name of retention. This also happened right around the time they killed the no-poaching policies. That sounds like the kind of insurance they needed now that the no-poaching policies were gone.

Come on, lawyers, someone prove that this cost us all 10% of our salaries for the duration of the agreements. Then have them do the numbers and cough up that much money they didn't pay us because we magically weren't being wooed by these other companies. I could stand to make quite a bit from this, and a bunch of my friends could, too.

<comment><USER5> It's more than 10% that it has cost us. There are a lot of ripple effects and multipliers, not only related to pay, but also to working conditions, autonomy, and quality of work.

That said, in the long term, the companies that engage in these collusions lose because non-participants have a larger talent pool. Cartels like that are only stable if they can muscle out or absorb non-participants, and it seems unlikely for technology employment.

More onerous is the collusion among VCs, both on the discussion of terms, and in their tendency to think as a group about who they like and who they don't.

<comment><USER6> Doesn't the same reasoning apply to VC's? Are there any huge barriers to entry the VC market that I'm not seeing?

<comment><USER5> It seems to me that most VCs want to become part of the club that already exists, not compete with it. This is probably coming out of the assumption that the most well-known VCs get the best deals. I don't know how accurate that is.

</comment></comment></comment></comment><comment><USER7> Finally, here's his true color. "Don't do this or I will sue you" is the most unimaginative, terrible, desperate statement one could make to enforce their _unfair_ superiority over others, especially given the fact that this person was known to be a lot more creative and intelligent otherwise.

<comment><USER8> The other side of the coin are comments like this. "Finally, a new narrative!" This is just as lame as those that canonize him outside of his direct accomplishments. Steve Jobs had two MAJOR successes (Pixar and Apple). He was highly competitive and did aggressively oppressive things and had moments of integrity. I just wish everyone would stop trying to color his biography like they had to write a movie synopsis of his life in a a sentence.

Id argue that is the real lesson here. Be OK with being inconsistent relative to circumstance, if you believe that all great men held firm to their "codes" then you will fail in your emulation of greatness.

TL;DR Life's messy, people can't be summed up in a characteristic , Steve Jobs was a dick and a hero.

<comment><USER9> The problem I have with this analysis is that there's an implied justification for being a dick as long as you're successful in the end. Too many people have taken this as the lesson of Steve Jobs.

<comment><USER10> Who's trying to justify their dickishness with the example of Steve Jobs?

<comment><USER9> I meet people all the time that think that stepping into his shoes is just a matter of being a total douche to everybody.

</comment></comment></comment></comment></comment><comment><USER11> It's unfortunate that these execs won't get prison time for this, and that Jobs wont be tried and sentenced posthumously.

Yet downloading unprotected email addresses is worth up to 10 years, and downloading academic journals is worth up to 35.

Really, which of these things is more damaging?

<comment><USER12> Oh good, let's compare yet another unrelated thing to aaronsw.

<comment><USER13> Well... The nature of the _crime_ is unrelated, perhaps. But the measuring scale, so to speak, is the same: length of incarceration. So from the point of view of the measuring instrument, it is comparable, and the comparison makes sense.

</comment></comment></comment><comment><USER14> > "Schmidt responded that he preferred it be shared 'verbally, since I don't > want to create a paper trail over which we can be sued later?'" he said, > according to the court filing. The HR director agreed.

[https://www.youtube.com/watch?v=hGo5bxWy21g&t=78s](https://www.youtube.com/watch?v=hGo5bxWy21g&t=78s)

<comment><USER15> Great scene.

Eric Schmidt also had the recruiter terminated as a "public example".

[http://cdn3.sbnation.com/entry_photo_images/7564645/google4_...](http://cdn3.sbnation.com/entry_photo_images/7564645/google4_verge_super_wide.png)

</comment></comment><comment><USER16> _"In 2010, Google, Apple, Adobe Systems Inc, Intel, Intuit Inc and Walt Disney Co's Pixar unit agreed to a settlement of a U.S. Justice Department probe that bars them from agreeing to refrain from poaching each other's employees."_

How do you check that the companies are not still colluding? Is there some background level of 'poaching' the DoJ expects? Confusing.

<comment><USER17> Whistleblowers

<comment><USER5> I could tell a few stories about what happens when you engage in whistleblowing. Ex-managers try to fuck up future jobs, for one.

Whistleblowers are great for society, but I wouldn't advise it as a career move. Not unless you have your career set up (book deals, influential friends) already.

</comment></comment></comment><comment><USER18> I have always wondered why this was not taken by the DOJ actively without a filing required from tech workers. This incident was widely reported in the media and the law system should have just pre-empted this situation. In the Swartz case, the prosecution pursued even after JSTOR dropped the charges. Why can't the same be done in this case?

<comment><USER19> Because this is a civil suit so the DoJ has no jurisdiction over it.

<comment><USER18> If the DOJ takes it over it can easily be a "non-civil" suit. It is "civil" because the tech members decided to file a case. Even if the tech members did not file the case - the DOJ (or any other appropriate organization) should have picked it up to champion fair employment policies. You don't always require a common man to be the plaintiff. The government (or any other appropriate organization) can themselves be the plaintiff just like the Swartz case. This clearly highlights the inconsistencies in the legal system.

<comment><USER12> What criminal law are you saying was broken?

<comment><USER18> Wasn't there a breach of fair employment practices? If the OP is true, it essentially means you can't move over from Google to Apple. Why should that be the case?

<comment><USER20> That's not what it means. The agreement was that e.g. recruiters from Apple would not actively attempt to recruit Google employees, i.e. solicit them. They couldn't really prevent a Google employee from applying for a job at Apple though if they're the one to initiate it. (What are they going to do, ask "Do you still work at Google, or did you recently quit? Still there? Sorry we can't interview you in that case."?)

<comment><USER18> I get your but point Point No. 6 in the Colligan affidavit says a different version -

        Mr. Jobs proposed an arrangement between Palm and Apple
        by which neither company would hire the others' employees.

<http://www.scribd.com/doc/121737673/Colligan-Affidavit>

Note - there is no version of "active" or "non active" in the statement. It simply says no hiring ex-Palm/Apple employees. I simply see no reason why this should exist. Why should there be a collusion between company X and Y on a legal platform ?

<comment><USER12> "Why should this be the case?" is a far cry from "this is criminal."

<comment><USER18> You can call it whatever you want to - what name do you prefer?

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> I think these practices show a total lack of respect from these companies (in this case Apple) to their own employees, it's shameful.

<comment><USER22> Both, frankly. The public punishment google meted out to their own staff was a classless act as well.

</comment></comment><comment><USER23> Here's a link to the actual filing:

<http://www.scribd.com/doc/121737673/Colligan-Affidavit>

Quite illuminating.

<comment><USER22> It's certainly interesting to look back at these events from our current vantage point. In particular, how 3 companies conducted themselves at the time - and where they are now (Apple, Google, Palm).

This is correlation, and not necessarily causal. However, it's rather bitter sweet to think about nonetheless.

</comment></comment><comment><USER24> What is no-hire policy? Can someone explain it please?

<comment><USER11> It's a conspiracy to suppress the labor market. If you are an employee at a tech company and are being underpaid, you can't go to another employer for your market salary, because there is a secret agreement for them to ignore your job application.

Even if you are not underpaid, but you simply want a change (maybe you always wanted to work at Google, and an opportunity arises) your resume gets black- holed because Apple "owns" you.

The end result is your engineers have restricted mobility, and you don't have to pay them what they're worth. It's very similar to price fixing, but with humans and their ability to earn a living.

Many tech companies were part of this conspiracy willingly, and Jobs threatened to sue the less willing companies using Apple's patent portfolio war-chest if they didn't agree to his demands.

Edit: Let it be known that Ed Colligan is a class act. See his response to Jobs here:

<http://www.scribd.com/doc/121737673/Colligan-Affidavit>

<comment><USER25> I can't believe he had the nerve to go on the record after being specifically told what he was planning was illegal once again on public record and then re- iterate his original threat. So not only the no hire thing, but basically extortion to get Palm to comply?

Any last shred of respect I had for the guy just evaporated.

</comment></comment></comment><comment> jack-r-abbit Is it telling that the only company in this mess that had any principles (Palm) is the only one that couldn't make it in the long run? Maybe I am just reading too much into that.

<comment><USER26> It might of been their position too. If palm was top dog, would they be acting similarly?

</comment></comment><comment><USER27> If other economic sectors were as free from regulation as the computer industry, business would be mostly booming in those sectors as well. One of the things those businesses would want is more technical employees.

In that predominantly free market, anti-poaching agreements wouldn't be effective, because it isn't possible for any single enterprise to forge agreements of this kind with more than a handfull of its peers at a time.

Don't believe me? Banking and medicine are two of the most heavily regulated industries in the US. And it's why, given the choice of working for Kaiser Permanente, Bank of America, Apple, or Google, any one of us would choose Apple or Google over the other two.

</comment><comment><USER28> After the Palm CEO refused to collude: "This is not satisfactory to Apple...My advice is to take a look at our patent portfolio before you make a final decision here. Steve"

Wow.

</comment><comment><USER29> Wow, that is beyond evil.

</comment><comment><USER30> _"[Eric] Schmidt responded that he preferred it be shared 'verbally, since I don't want to create a paper trail over which we can be sued later?'"

"Mr. Jobs also suggested that if Palm did not agree to such an arrangement, Palm could face lawsuits alleging infringement of Apple's many patents,"_

So much for being a country of laws. Was any of these execs ever prosecuted or suffered a penny in fines for this? Sure conspiracy to do something illegal is illegal

<comment><USER31> Isn't this filing part of a legal process intended to do just that (i.e. appropriately penalize the companies behind this collusive scheme)?

<comment><USER32> The problem is that by punishing companies and rewarding individuals, you tend to create an incentive for individuals to break the law (the risk/reward, on a personal level, gets skewed). In cases like this it's arguable that the individuals involved should be prosecuted.

</comment></comment></comment><comment><USER33> At least Steve Jobs knew what the patent system was actually for.

</comment><comment><USER34> I somehow understand that Jobs would be angry when Palm started hiring all those people from the iPod team, especially at a time when Apple was stealthily working on the iPhone.

As much as I despise patent litigation, I can understand Jobs' point of view: when so many people change from one company to another, a lot of knowledge will go with them. One could interpret Jobs' threat of just a means to protect Apple's intellectual property. To ensure that Palm doesn't use stuff that Rubinstein et al developed at Apple.

<comment><USER35> It's not like Jobs hired all of his workers fresh out of college. Where do you think they all came from before they got to Apple?

It's just far cheaper to threaten other companies than to keep your workers happy. It's not like there aren't legitimate ways to retain your people.</comment></comment>


Ask HN: Best resources to build a prototype? - <AUTHOR> <comment><USER2> Check out [http://logodust.com](http://logodust.com), a library of free to use logo designs that are perfect placeholders for prototypes and mvps IMHO.</comment>


ThinkPad X395 - <AUTHOR> https://www.lenovo.com/us/en/laptops/thinkpad/thinkpad-x/X395/p/22TP2TXX395 <comment><USER2> If I hadn't just purchased a for-parts T460s & everything else necessary to cobble together a functioning machine, then this would be my first choice. I'm resolved to no longer purchase new Intel machines going into the future, so Ryzen, ARM, RISC-V, & POWER machines are what I'm watching closely.

</comment><comment><USER3> This laptop: 16GB RAM max, AMD Ryzen™ 7 PRO 3700U (Passmark 8897, 1862/thread [1])

Thinkpad X1 carbon 2017 model: 16GB RAM max, Intel Core i7-7600U 2.80GHz (Passmark 8301, 2141/thread [2])

Those laptops are not identical, and I am sure that each of them has its own best use case. I am not trying to say that the new laptop is bad, I just want to lament the fact that the CPU speed no longer grows. My C++ programs take way too long to compile!

[1] [https://www.cpubenchmark.net/cpu.php?cpu=AMD+Ryzen+7+PRO+270...](https://www.cpubenchmark.net/cpu.php?cpu=AMD+Ryzen+7+PRO+2700U&id=3258) [2] [https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i7-8550U...](https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i7-8550U+%40+1.80GHz&id=3064)

<comment><USER4> You could buy a Threadripper-based desktop. Laptops aren't really built for CPU-heavy functions.

</comment></comment><comment><USER5> It's interesting to see they mention that the FHD display option supports FreeSync and that the HDMI port is at the 2.0 spec. I look forward to seeing reviews hit soon to see if anyone takes notice.

</comment><comment><USER6> No WQHD or 4K. Fail.

<comment><USER7> Not necessarily if you appreciate battery life, that resolution should help at that. It seems it arrives in early june with a starting price of $1,089 [1]. If that corresponds to the 768p screen it certainly is quite expensive.

[1] [https://www.slashgear.com/lenovo- thinkpad-t495-t495s-and-x39...](https://www.slashgear.com/lenovo- thinkpad-t495-t495s-and-x395-unveiled-with-amd-ryzen-7-pro-08575971/)</comment></comment>


Grades Are Capitalism in Action. Let's Get Them Out of Our Schools - <AUTHOR> https://truthout.org/articles/grades-are-capitalism-in-action-lets-get-them-out-of-our-schools/ <comment><USER2> There is nothing wrong with meritocracy, quite the contrary.

It stems from the enlightenment and the struggle against privileges some people had simply by birth or social class.

The idea is that people should be judged on their merit, not birth or social class.

As an example, the French Declaration of the Rights of Man and of the Citizen of 1789 states:

 _All the citizens, being equal in the eyes of the law, are equally admissible to all public dignities, places, and employments, according to their capacity and without distinction other than that of their virtues and of their talents._

</comment><comment> core-questions > Richard David Wolff is an American Marxian economist, known for his work on > economic methodology and class analysis

Every time! Why should we listen to an adherent of a failed economics system that gave birth to schools that oppressed students far more than the Western system did?

If grades reveal inequalities, it is because reality is full of inequalities, and preparing students for the reality they're going to inhabit is one of the many jobs of school. Some kids are C students - they're just not super bright, self-driven academics. No amount of pretending they're intellectually equal to A students is going to change that fact!</comment>


My eyes hurt... - <AUTHOR>

From very long hacking hours. My brightness is already the least that ubuntu will allow. I am certain you guys face the same problem. How do you take care of your eyes? <comment><USER2> It might surprise you but drink more water. Not soda, or coffee; drink water. Half the time my eyes hurt it is more about being dehydrated then staring too long ...

<comment><USER3> Also try using artificial tears. They're cheap and you can get them from pretty much any drug store. I used them for a couple of weeks when I had my eyes lasered, and now I use them anytime my eyes are sore.

<comment><USER4> I second this. My eye doctor recommended them, and it helps quite a bit.

</comment></comment></comment><comment><USER5> _"... My eyes hurt... From very long hacking hours ..."_

Have regular breaks. your eyes hurt because the muscles focusing the eyeball is squeezing the eye forward (extrinsic ocular muscle activity).

       HOMER: "... *my eye's hurt*"
       LENNY: "You know its the inter-ocular pressure causing by the muscles trying to focus. Asthenopia is another name for it."
       HOMER: "Huh?"
       CARL:  " Homer just take a break."
       HOMER: "... I did. I just poked my eye to see what it was like."

So to stop your eyes hurting take regular breaks ~ <http://en.wikipedia.org/wiki/Asthenopia> & <http://www.coopereyecare.com/eye_strain.htm>

</comment><comment><USER6> The trick is not to lower the brightness but to invert it. Under Mac OS, press Cmd-Opt-Ctrl-8 or get one of the many apps that do virtually the same thing but add more options. Basically, it just inverts the gamma curve and what was white becomes black etc. Under Linux... I have no idea.

<comment><AUTHOR> hmmm...interesting. Let me try..

<comment><USER6> Check out this post on lifehacker. You can see what the screen looks like and you can maybe replicate it on Linux. Someone in comments has a suggestion for Linux too:

[http://lifehacker.com/software/featured-mac- download/enable-...](http://lifehacker.com/software/featured-mac- download/enable-night-vision-mode-with-nocturne-259154.php)

<comment><USER7> You can get the same thing in Linux installing Compiz/Beryl and it's "Negative" plugin. Once active just press Super+m (Super is the "Windows" key) to "negate" the screen.

<comment><USER8> Alt+Shift+Print Screen for those on Windows.

<http://www.wikihow.com/Invert-Colors-on-Your-Windows-XP>

<comment> daniel-cussen Tried it. It works, but it looks sooo shitty.

<comment><USER8> That's true. I've been using it all day though, and my eyes definitely feel better. It's kinda growing on me.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I suggest using a work timer to remind you to take short breaks every 30 minutes or so. My favorite timers are xwrits (Linux) and AntiRSI (Mac). (N.B. Despite being an X program for wrists, 'xwrits' is not a typo.) As you can guess from the names, they are principally designed to help with RSI, but they can help with eye pain as well.

Here are a couple of things to try during the breaks: (1) count to 30 while focusing on something more than 20 feet away; (2) close your eyes and place your hands over them for a count of 30.

I know it's sometimes hard to take breaks when in the throes of a hackathon, but you'll get better with practice. I try to be really anal, taking breaks even if I'm mid-line; that way, I _know_ I'll get back to work when the break is over.

<comment><USER10> Another useful timer is lots of water (already suggested here). Besides hydrating your eyes, a full bladder makes you get up every now and then. I found that's one type of interruption that is not focus breaking.

</comment></comment><comment><USER11> As you're near-sighted, ask your optometris to give you a "near vision" prescription. Such prescription would have lenses that are as weak as possible while still allowing you to see clearly at about arm's length.

Idea being that focusing at things close by requires keeping your ciliary muscle stressed for long periods of time (try to focus on your palm as close to your face as possible, and then keep it there for a few minutes to feel this). Focusing at things far away requires complete relaxation of the eye. If you wear near vision glasses, your screen will hopefully be far enough that your eye is relaxed when focusing on it.

I've been using weak glasses for work for the last 5 years or so, and find it makes a huge difference after a day of coding.

</comment><comment><USER12> Check the screen orientation regarding other light source. Do not put your screen in front of a source of light (window) or with a source of light in the back reflecting into it.

Optimal orientation is with screen perpendicular to the window or light source to avoid reflections on the screen and light source behind the screen. Otherwise your eyes and brain will have to do allot of effort to focus on your screen.

Check also the screen quality. LCD flat screen are Ok. A long time ago I worked with a tube screen slightly out of focus and had terrible head ache by the end of the day even though I had no problem with my eyes. Changing screen solved the problem.

</comment><comment><USER13> My optometrist recommended you unclog the pores in your eyelids. You eyelids have pores that emit a thin layer of oil that covers the eyeball, and helps prevent evaporation. Those pores get blocked.

She said to use a heat pack/mask (as hot as you can handle for as long as you can handle) an then massage the eyelids (pressing down on the top, and up on the bottom) to try and get the wax plugs out (yuk). Then wash your eyes.

<comment><USER14> Um, I suppose that mask goes on the closed eyelids? I just wanted to clarify that, we don't want to induce a serious accident...

<comment><USER13> Ah yes. Well anyone who did it incorrectly can't now read the response, but anyway.

</comment></comment></comment><comment><USER15> Is it possible you are a bit farsighted? This can create some eye strain if you are forced to focus on a nearby object for long periods.

I also have a friend who forgets to blink when he concentrates hard (seriously). Needless to say his eyes hurt when he codes.

Whatever the cause, you should consider seeing an ophlamologist. I'm sure they can help you find a remedy.

<comment><USER16> For me the problem was never eye strain, but my contacts get very dry around 4 in the morning. Taking a break is a big distraction since that's when I'm really doing best, hardly time to blink. I think I'll get the corrective surgery.

</comment></comment><comment><USER17> I wish I had a project I cared about enough to work like that.

<comment><AUTHOR> Ah! I am certain you can find something to better. :)

</comment></comment><comment><USER18> Wear reading glasses, even if you don't think you need them. Set the color scheme in your editor to black on light yellow (this combination works well for me, YMMV). If you're using a CRT, either switch to an LCD or drop your resolution down a setting.

<comment><AUTHOR> I wear glasses full-time. I am myopic already. The color scheme on ViM is already pale yellow on dark grey (I think this works better than black and yellow, try it). How will the resolution bit help? Thanks for the response.

<comment><USER18> Most CRTs get blurry when you run them at their top resolution.

<comment><AUTHOR> LCD and not blurry.

</comment></comment></comment></comment><comment><USER19> Code with your eyes closed.

<comment><USER20> or just get rid of your monitor altogether. "Monitors are for people with weak memories"

</comment></comment><comment><USER21> Sleep.

<comment><AUTHOR> I did. :)</comment></comment>


Top Surprises When Starting Out as a Software Developer - <AUTHOR> http://henrikwarne.com/2012/08/22/top-5-surprises-when-starting-out-as-a-software-developer/ <comment><USER2> My biggest surprise - many developers, even in senior positions, are self- taught and cannot properly implement even basic stuff like binary search, don't understand basic performance considerations around algorithm complexity. Their mindset is "we are using high-level languages; specific algorithms and performance considerations are properly addressed for us by the language designers, we are doing real stuff and not some theoretical CS BS".

This varies by the company, but many companies are full of self-important people like this.

<comment><USER3> I fall in to that camp. I don't look down on 'theoretical CS' stuff, but it's _rarely_ ever even had to be a consideration in projects I've worked on, which has included ecommerce systems selling billions of dollars of stuff (large qtys, small price per item), real time reporting of financial data, and numerous other projects requiring a degree of scale or speed or both (php, vb, java and other stuff over the years).

Not everyone works on facebook, nor is everyone writing real-time device drivers, nor is everyone writing something that will explode up in users tomorrow, devastating the business if not every customer is served in less than 50ms.

I may be one of those in the 'get it done' camp, but I've also learned over the past several years to opt for using well-known libraries when possible, to take advantage of the expertise and skills that I don't have (yet). 15 years ago, I was firmly in the 'write it from scratch and focus on performance, tightness, elegance, etc' camp, but not so much today. Part of that is because we simply didn't have the wealth of free software libraries we do today, so you _had_ to write more stuff from scratch, but that's not as much of an excuse today.

I've yet to have to write a binary search after 17 years in professional software development, and my projects have not suffered because of it. I had probably a good 10 years of hobbyist time before that, so I probably have simply picked up 'good' patterns to common problems without necessarily knowing the specific CS theory or names behind them in some cases.

All that said, my answer to performance issues in my apps is generally not 'throw more hardware at it' - I will profile to look for bottlenecks, isolate specific areas and rewrite sections of code to make them more performant, which sometimes means changing how data is organized/stored, or modifying queries, or something else.

Lastly, while I think I understand the type of person/attitude you're talking about "full of self-important people like this", I don't think I see myself in that particular camp (but of course, no one ever does, right?). There's a degree of pragmatism that needs to happen in 'real world' software dev (isn't agile all about "you ain't gonna need it"?). I've also had to 'clean up' after enough other developers over the past 17 years - _including myself on a number of occasions_ \- that my perspective may be sufficiently different from the type of people that work in company X for 10 years and rise to the rank of 'sr dev' only ever having worked in one or two places. Or maybe I'm just a self- important ass who's justifying himself too much in public?

EDIT: One other thing that has popped in to my head - I've worked on more than couple projects where other people on the team (before me or concurrently) insisted on certain things being done "right", simply because that was the "right" way. Two things were apparent - they typically didn't know any other way at all (lack of experience) and they had no understanding of what the real use of the application was - never talked to end users or other depts/units, and were creating far more work for everyone else by not implementing things differently (in their minds, 'compromising on correctness'). Couple different scenarios in the past few years spring to mind.

<comment><USER4> Some real world examples I've seen where people have screwed up because of not understanding theory:

A graphical toolkit system that stored all the styles applied to components as a linked-list, but each element included a pointer to the the head of the linked list and everytime a new component was instantiated it was added to the head of the linked list. Which meant that creating a new graphical element went from O(1) to O(N) and caused significant slow down (i.e seconds of time).

A well known open-source xml parsing library which stored the attributes of an xml element in a linked-list, as part of it's xml validation it had to ensure attribute uniqueness and do that it had to iterate through every attribute. This means that to insert N attributes would take O(N^2) - again enough to cause a significant performance degradation.

Iteration through hashtables.

<comment><USER5> As a selt-taught developer, I know what Big O notation is and I've worked with many CS grads (including Stanford) who did not take into consideration algorithmic efficiency.

I think these kinds of examples are very anecdotal.

<comment><USER3> The bigger point is that it's almost all anecdotal - the number of people in this field is too broad and varied to be able to draw any substantial conclusions about anything, imo.

</comment></comment></comment></comment></comment><comment><USER6> 1) The aggregation of marginal gains - most enterprise software is crap, most enterprise teams are lazy - if you consistently and repeatedly improve the worst aspects of your app you quickly end up with something that outperforms competitor software developed with 8-figure budgets.

2) Software quality is inversely proportional to the number of people working on it.

3) Teaching someone with maths how to code is a lot easier than teaching a coder maths.

<comment><USER7> About #3 - source?

</comment></comment><comment><USER8> I think it should go without saying, but there is one more point I'd add to this list: Learning never stops - don't be ignorant.

Suprisingly, I still deal with many developers that write procedural code with if/else statements, up to 4 or more levels deep, even after years of being developers.

<comment><USER2> So you suggest that instead of several if/then/elses a clever recursive function call should be used, right? And the function should take its arguments by value, and have zero side-effects?

<comment><USER9> Why would you need a recursive function? It's just a matter of decomposing your functions into smaller parts.

<comment><USER10> I think trekkin was being snarky about people preaching Functional techniques. (I don't think said snark was warranted, for the record.)

<comment><USER2> :)

I'm not against functional languages/approaches. I just think that everything has its place, and that procedural code and nested if/then/elses are appropriate in many circumstances.

<comment><USER9> When exactly are _four levels or more_ of nesting appropriate? This has nothing to do with functional programming, it's a matter of readability. I mean, Linux is a completely procedural codebase (with some manual OO), but even its style guide says

        If you need more than 3 levels of indentation, you're screwed anyway,
        and should fix your program.

<comment><USER11> Why four, or three. Why not one or five... what a silly question/statement. It's completely subjective and as far as "a matter of readability" it's far far from the worst offense.

<comment><USER9> It's not completely subjective. McConnell in _Code Complete_ mentions studies by Chomsky and others that suggest that few people can understand more than three levels of nested ifs.

As for being far from the wort offense, well, I try to set my goals a little higher than "not the worst".

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> My biggest surprise - The value of modularity is almost always ignored and that ivy-league CS grads can be horrible programmers.

</comment><comment><USER12> Maybe not a surprise, but definitely unexpected, was the number of systems where, over time, the incremental features had overtaken the original architecture, but the vendor would not fund a new implementation. I've seen 15 year-old systems that were so byzantine, every feature change broke two others, and attempts at improvement caused entropy. It was both a huge time sink and customer satisfaction debacle.

Here is an idea for CSCI 344: Identifying When to Throw that Shit Out

<comment><USER11> Maybe they read this:

"Things You Should Never Do, Part I"

<http://www.joelonsoftware.com/articles/fog0000000069.html>

<comment><USER13> Another favorite example for me BTW is the MS OS/2 2.0 fiasco that IMO is much worse, involving MS using unethical tactics to attack OS/2 later on. And Joel happens to be a former MS employee.

</comment></comment></comment><comment><USER9> Nowadays it's much more difficult to be surprised, at least if you're interested in more than just getting grades (which actually rules out plenty of my colleagues). There's so much information online, plus the opportunity to work on OSS projects, etc, that none of that really surprised me when I got my first job a few months ago. Reading TDWTF alone prepares you for the worst ;)

</comment><comment><USER14> my biggest surprise (i started in the games industry) was just how low the bar for entry really was. i could have started 10 years earlier if i had realised just how truly awful most programmers in the industry are...

</comment><comment><USER15> My top surprise? It's not uncommon to see people using MySQL with ISAM tables as a serious data store, and then half-implementing ACID properties in the application's GUI layer.

("Why would you want to put data constraints in the database? The data has already been validated by client side javascript, making the database enforce foreign keys too would just slow it down...")

</comment><comment><USER16> There's a common theme in these posts, along the lines of "OMG I didn't realize paid programming gigs were effectively business roles". Let me address what's intrinsic and what's not.

 _5\. People Interaction_

Yup. People skills matter. Programming seems like a great job for asocial people. It's actually the shittiest job imaginable if you have weak people skills, because you get staffed with the crappy maintenance projects that have no upside. (Programming probably has the most variance of any job category; the best projects are a lot of fun, and the worst grind your mind to sawdust and produce nothing.) If no one likes you, no one trusts you, and you'll never get projects where your technical intelligence really matters.

I understand the hate that technical people have for "office politics" but the only approach that works is to adapt. To figure that shit out so you can laugh (silently) at the suckers who don't get it instead of being one of them.

 _4\. Writing Matters_

Yes, yes, yes. It really does. My personal opinion is that you're no better a programmer than you are a _teacher_. We're drowning in technical assets. Most assets are of abysmal quality because the people generating them never took the time to communicate what was being done, how and why, but too little code is not a problem for the software world. We have too much. Too much code and far too much unmanaged complexity.

People who are unwilling or incapable of teaching others how to use the technical assets they've created should not be programmers IMO. That's your job. To solve problems and to _teach_ people how to use those solutions.

 _3\. Software is Never Done_

Further reading: [http://michaelochurch.wordpress.com/2012/04/13/java-shop- pol...](http://michaelochurch.wordpress.com/2012/04/13/java-shop-politics/)

Sadly, this is more a consequence of big-program enterprise methodologies. In small-program shops, software can be "done". It can actually be finished. The overarching project continues to expand, but this shouldn't be accomplished by shoving more kLoC into a working program and diverting it away from the original vision.

Large, ambitious projects should be structured as _systems_ and given the respect that a system deserves (such as attention to fault tolerance and communication protocol). There's no excuse for most of these large single- program monoliths that ultimately (Conway's Law) become artifacts of parochial corporate politics rather than elegant, minimalistically simple solutions to mathematical and computational problems.

I'm a fan of the Unix philosophy and small-program methodology. Solve a problem. Do it well. Move on. Come back to it _if_ you need to solve another problem. Not unless. I don't like the big-program methodology, under the guise of "object-oriented programming", that seems to have won in the contemporary Java-shop culture.

 _2\. Few Clever Algorithms_

Sad but true. The managers' job is to take cleverness out of our jobs, not because they're assholes or don't trust us (usually not the case) but because if our work relied on our cleverness or creativity, then they wouldn't be doing their jobs, which is to deliver business value reliably. We tend to like the high-expectancy, high-variance, fun and creative work, but there isn't much tolerance for this in the industrial world, which would rather produce the low-expectancy "sure thing". The problem is that Big Software actually isn't "reliable"; it's just that the legacy costs are paid out later after all the decision-makers have had a couple of promotions and are far away from the wreckage.

 _1\. Complexity from Aggregation_

Yes. This is exactly why I hate big-program methodologies. They inject so much unplanned, unexpected complexity into everything. People should aim for 500 lines of really clean, usable code instead of 20,000 lines of garbage that barely solves the problem and for which no one really knows what it does.

<comment><USER17> >Yup. People skills matter. Programming seems like a great job for asocial people. It's actually the shittiest job imaginable if you have weak people skills, because you get staffed with the crappy maintenance projects that have no upside. (Programming probably has the most variance of any job category; the best projects are a lot of fun, and the worst grind your mind to sawdust and produce nothing.) If no one likes you, no one trusts you, and you'll never get projects where your technical intelligence really matters. I understand the hate that technical people have for "office politics" but the only approach that works is to adapt. To figure that shit out so you can laugh (silently) at the suckers who don't get it instead of being one of them.

This is why the best programmers are in startups -- I do not believe you can be good at people and computers at the same time. And it is much more profitable to be involved in people, sadly.

<comment><USER18> > This is why the best programmers are in startups -- I do not believe you can > be good at people and computers at the same time. And it is much more > profitable to be involved in people, sadly.

Could this also be one of the _biggest_ reasons why startup fails? Lack of people skill and focusing on technical problems for the sake of technical? Not to mention lack of communication to know the intend of the code seems to be the biggest time sink on programmer's productivity.

Of course on the flip side you can always hire the smarter and smarter developers than the previous guy since you kind of need them to navigate the previous legacy code base. This seems to be the pattern in our industry.</comment></comment></comment>


Stupid C++ Template Tricks: Conway's Game of Life - <AUTHOR> http://blog.mattbierner.com/stupid-template-tricks-the-life-comonadic/ <comment><USER2> Some people, when presented with a problem, say "I know, I'll use C++ and templates!". They then are faced with an unbounded number of problems.

The fact that this is possible, _during compile time_ , is cause for open weeping.

EDIT:

Note that this was not done in an ugly or even unreasonable way: the author clearly wrote code that is easy to follow, well-structured, and not abusing language features in any way. This is not a good thing.

<comment><USER3> I have a somewhat cautious relationship with template meta-programming, and hope to avoid it as often as I can. My typical use cases are such that I can solve my programming tasks without them.

However, that I can do without, doesn't mean that this is "not a good thing" to have as part of the language. The flexibility of C++, including what comes with the help of the preprocessor and meta-programming is part of what powers many of the features you use. Even if you yourself are not using those features, you are relying on libraries that do.

Even if your use case somehow didn't need this or anything that comes as a result, most use cases do. Which makes a good enough reason for it to be an excellent feature of the language.

This is a good thing.

<comment><USER2> You make a great many assumptions about the libraries that I use, and how I use them. :)

There are people that use templates to their full ability, and do not bat an eye at the resulting template errors or weird code issues.

Most of the times I see people using templates I can't help but wonder "Why the heck aren't you using a language that fits your problem better?".

They're cool features, sure, but notice that the days of C++ as a practical get-shit-done language are pretty much over. There's not really anything I'd consider C++ _best_ or even _second-best_ at if you can use other languages.

<comment><USER3> I'm not sure why you say I make assumptions as to what libraries you use. In fact, I thought I made it apparent that I made no such assumptions, given that I stated both possibilities: 1) You use libraries that are powered by meta- programming (making it good for you, ergo good that it is part of the language). 2) You don't use libraries powered by meta-programming (doesn't matter, a huge c++ user base do, ergo good that it is part of the language).

If you belong to either of 1) or 2), it doesn't matter whether or not this feature is possible, you can choose not to use the libraries, and you can choose not to use meta-programming features.

Could you share an argument as to why you feel a language shouldn't have features that you don't have to use?

If you don't use STL, boost, QT, or pretty much any C++ library I can think of... do you write everything from scratch?

As for when C++ is "best" or "second-best", these kind of questions tend to lead to opinion-based arguing, rather than constructive discussion. I'm definitely not interest in the former, so I'll just give you the general objective consensus of the programming world: C and C++ are used when performance matters. C++ allows more abstraction without a real runtime cost.

A good read: [http://programmers.stackexchange.com/questions/29109/is- ther...](http://programmers.stackexchange.com/questions/29109/is-there-any- reason-to-use-c-instead-of-c-perl-python-etc)

<comment><USER2> So, framing the question as "a language shouldn't have features that you don't have to use" is kind of obfuscating the issue. The answer to that, for example, is of course not--as the Python folks are finding out (or celebrating, depending on how you feel about that way of thinking).

The problem is that the vast majority of languages have some features that you don't use, and even if others use them then things still generally work out okay--you can hide it away.

C++, via operator overloading, exceptions, _backwards compatibility with C and its problems_ , templates, function overloading, and all manner of other things, is simply too large to be trusted. I assert that it is _so difficult as to be practically impossible_ to ensure that, if you rely on third-party code outside of your direct control or the language spec, you are writing safe, performant, bug-free, and maintainable C++ code. C is magnitudes simpler, and people _still_ manage to fuck that up.

Everyone bandies about the performance of C++ and the whole only-pay-for-what- you-use aspects of it, but in the fast majority of cases that's simply not important from a business or project standpoint. If you're writing numerical code, for example, why not just use the hyper-optimized compilers available for Fortran? If you're writing tight embedded control code, why not just use assembly?

Sure, I've had a friend that worked on the CMS at Cern and they used some unholy pile of C++ dating back 20 years and that worked well. I've known a bunch of people doing bioinformatics and they all write/copy/paste shitty C++ and get faster results than their semi-legible Python or MATLAB.

That said, all of those use cases are academic, which is maybe the last place where performance even matters (arguable in and of itself). You might claim "but but but games!" and then you'd be wrong _again_ , because a great number of games are written using super-slow scripting engines and terrible C++ codebases. Mike Acton, giving a talk at a conference this year, pointed out that there was no compelling reason to use C++ over C because the OOP features fall on their face in a high-performance environment.

It's just a bad language. It was useful once, it's occasionally useful now (if you must, which you usually don't), but we really should just move on to new things.

Its OOP features are poorly thought-out, its performance with the standard library is pretty bad without modification for certain use cases, its learning curve is absurd, its growth is unbounded. Just let the thing die.

To answer your question about rewriting things:

We did write a lot of things from scratch, and spent years battle-hardening them, because we didn't want to deal with the (at that time horrid) development overhead and philosophical issues of Boost. STL was fine until it wasn't due to some cross-platform issues. QT/POCO are cool in their own right, but didn't match our use case.

</comment></comment></comment></comment></comment><comment><USER4> While not usable in practice, it was well written educational piece. Thank you!

Took me a while to compile (gcc 4.8.3 on cygwin64, had to add -std=c++11 -fpermissive)

</comment><comment><USER5> So I don't have to know C++ just templates and I can get all the speed of it and functional features too? I would think more people would do this. I try to stay away from C++ because of a situations where small typos are not only still valid, but make the software behave in ways that I don't want and can't easily trap.

<comment><USER6> then you should stay away from dynamically typed languages :)

I don't mean c++ isn't hard, I'm just saying it's not the only language where small typos can make everything explode.</comment></comment>


The Future of Web Content – HTML5, Flash & Mobile Apps - <AUTHOR> http://techcrunch.com/2010/02/05/the-future-of-web-content-html5-flash-mobile-apps

<comment><USER2> A well written article that does a good job of examining all sides. Although, understandably, it's not clearly explained that Flash is a proprietary format that has different levels of performance based on the OS running it.

Flash is the best solution for web video at the moment but that doesn't mean that we shouldn't be working toward something better. Hopefully if Google opens up the O2 video license we can get some consensus for HTML5 video and really move forward on replacing Flash as the de-facto video standard.</comment>


Even what doesn't happen is epic - <AUTHOR> http://www.lrb.co.uk/v40/n03/nick-richardson/even-what-doesnt-happen-is-epic <comment> T-A I enjoyed the three-body trilogy, but stuff like this

> his science fiction, which situates itself at the diamond end of the 'hard' > to 'soft' scale ('hard sci-fi' has a lot of science in it, 'soft sci-fi' > doesn't), demonstrates a knowledge of particle physics, molecular biology, > cutting-edge computer science and much more besides

and this

> The best bits in his books are set pieces that would be hallucinatory, or > surreal, were it not that everything is described with such scientific > authority.

is just ridiculous. There is _nothing_ in Cixin's books indicating knowledge of those subjects. All he does is spray sciency buzzwords on fantasies which are not only surreal, but also quite obviously impossible.

<comment><USER2> Three Body Problem is the most boring, badly written and overhyped book that looks like it come from somewhere min-70s where any kind of pulp fiction would work.

<comment><USER3> I rarely stop reading books once I started, but halfway through The Three Body Problem I gave up. I realised that although all the word were in English, the order in which they were arranged on page was not making any sense to me.

</comment></comment></comment><comment><USER4> Wth is this? It looks like a review, plus massive inconsiderate spoiler of almost everything, minus the actual review.

First post I flagged on HN, as it brings negative value.

</comment><comment><USER5> Can anyone who has read the Three-Body trilogy in Chinese say whether it is worth reading in the original? I could do it but with a lot of extra effort...

<comment><USER6> Probably when you finish the the first book, second won't need that much effort already?</comment></comment>


Ask HN: Used to work for a YC backed company when I was 15 - <AUTHOR> I used to work for a Y Combinator backed company as a full stack web dev when I was 15. I recently developed an iOS game as a weekend project. A few months ago I had a job offer from Twitter but they couldn't sponsor visa as I was under 18. Right now I am developing an iOS social dating app for a client. When I was around 9 - 10 years old, I started experimenting with linux which I very much enjoyed, so I decided to start a game hosting service that made me around $2k back then.
Now that the senior year of high school is approaching, I am starting to check out a few colleges. I really like Stanfords curriculum, so I am considering applying there. Any suggestions about any other university or college things I should keep in mind while applying to maximise my options?
You can find me on twitter: @kelvincobanaj, or email me at firstname.lastname@example.com. <comment><USER2> You'll probably have better success getting answers if you change the submission title to Ask HN :)

I think many people in your situation have asked about going or not going, and the answer has always been: it depends :) , mostly on your perceived goals.

If I had the choice at your age, I'd go for it.

See for example this thread:

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

<comment><AUTHOR> Thanks! I added Ask HN to the title.

<comment><USER2> Not many replies unfortunately :( . Maybe you can resubmit the question later.

<comment><AUTHOR> Yeah, I guess I will wait some more and then repost it again :S

</comment></comment></comment></comment><comment><USER3> Wow, you have achieved so much at such a young age. College is very important and a great way to extend your network by meeting new people that share common interests as you. But it all depends on your goals and what you want to achieve.

<comment><AUTHOR> Thanks! I always try to extend my network as much as possible.

<comment><USER2> I agree with this advice. University is a great place to find other people who share your interests, and professors can make great mentors too.</comment></comment></comment>


Red Hat's Open Source Activity Map - <AUTHOR> http://www.redhat.com/about/where-is-open-source/activity/#2

<comment><AUTHOR> Mea culpa, it's a deliberate dupe (<http://news.ycombinator.com/item?id=572777> last month). But, besides the interesting topic, the page illustrates a problem.

I saw that the U.S. was #2 in community activity, and wanted to find #1. It took me some 30 clicks (Rfgbavn).

Heat maps are eye-catching, but when you want to find out something, there'd better be some tables handy.

(Map found via [http://arstechnica.com/open-source/news/2009/04/red-hat- stud...](http://arstechnica.com/open-source/news/2009/04/red-hat-study- generates-global-index-of-open-source-activity.ars) )</comment>


Download Public User Data with Oink's Export Tool - <AUTHOR> http://www.cristinajcordova.com/2012/03/oinks-export-tool-data-privacy-breach-download-the-data-of-any-user-5/ <comment><USER2> Relevant piece for those who can't access the page:

      So, curiously, I tried replacing my username
      with Kevin Rose's:

<http://oink-prod.s3.amazonaws.com/kevinrose-export.zip>

      (go ahead, click it). You'll get a zip file
      of every item he has ever added, rated or
      reviewed. You'll also get every photo he has
      ever uploaded to Oink.

<comment><USER3> Looking at all the pics that Kevin has uploaded made me incredibly hungry. He has eaten some nice looking meals.

</comment></comment><comment><USER4> Twitter's privacy breach: read the timeline of any (non-Protected) user by navigating to <http://www.twitter.com/{username}>

</comment><comment><USER5> Was Oink 100% public or were there private conversation/shares? If everything on Oink was public (like a public blog or Twitter before direct messages), then it doesn't seem like a big deal. It's just making it easier to snoop. Otherwise, wow.

<comment><USER6> Privacy is not about whether something is public or not. It's about being in control of your data.

This is the fundamental misunderstanding that seems to be rampant especially in countries like the US that lack basic privacy regulations.

Just because information was public, doesn't mean that using it in certain ways without the permission of the person involved is not a breach of privacy.

I seriously doubt this was a type of usages Oink users _explicitly_ agreed to (and no, burying such provisions in the small print doesn't make it legal).

<comment><USER7>
      >Privacy is not about whether something is public or not. It's about being in control of your data.

Um.. that's not what the word means. It's possible for you to not be in control of your data but still have it be private, and vice versa.

Google: Define: Privacy

      The state or condition of being free from being observed  or disturbed by other people.

      The state of being free from public attention.

That's what the dictionary says.

      >I seriously doubt this was a type of usages Oink users explicitly agreed to (and no, burying such provisions in the small print doesn't make it legal).

Depends on how the site worked. For instance, look at Twitter - everything is public by default unless you go to your profile and check a box that says "Make my account private", and then nobody can follow you.

Are you saying it would be a breach of privacy for Twitter to provide a zipfile containing all of my tweets I've ever made publicly? Which any person could get anyways by searching @myname site:twitter.com ?

<comment><USER6> Privacy has a way broader social and legal meaning than the dictionary definition of the word.

Narrowing it down to a oneliner from a dictionary is not particularly constructive.

And yes, I would say if Twitter did that, it could well be a breach of privacy. It would almost certainly be a breach of the law in most Western countries. Just because you have access to the data, doesn't mean you can just do with it whatever you like without the consent of the owner. Once that zip- file spreads, making the Twitter account private becomes pointless.

Why do so many people think copyright is something perfectly logical, but privacy protection, which has much more to do with protecting the rights of individuals, is something weird?

<comment><USER8> > It would almost certainly be a breach of the law in most Western countries.

Twitter already let's you download someone's tweet in a .json file. Are you saying that twitter is almost certainly breaking the law? Or is it something specifically evil with the .zip file?

We're not saying you should "just do with it whatever you like". What they're specifically doing is making it publicly available. Which it already was, because that's the definition of what public means. As the previous poster pointed out.

Public domain is not protected by copyright. Most countries (though not all) explicitly differentiates the laws of what's public and what's copyrighted. Usually, both are mutually exclusive.

</comment></comment></comment></comment></comment><comment><USER9> Site seems to be down. Google cache [http://webcache.googleusercontent.com/search?sourceid=chrome...](http://webcache.googleusercontent.com/search?sourceid=chrome&ie=UTF-8&q=cache%3Ahttp%3A%2F%2Fwww.cristinajcordova.com%2F2012%2F03%2Foinks- export-tool-data-privacy-breach-download-the-data-of-any-user-5%2F)

<comment><AUTHOR> sorry, trying to get it back up.

<comment><AUTHOR> It should be back up now.

<comment><USER10> It's still down for me. =\

<comment><AUTHOR> still seems I'm getting attacked by a single IP...

</comment></comment></comment></comment></comment><comment><USER11> According to Oink's twitter account, "All of the data is and was publicly available."

<https://twitter.com/#!/oinkapp/status/179981032416755712>

</comment><comment><USER12> _update2_ \- Apparently some usernames work and others don't

I believe his account is the only one that is made public. Obtaining a list of usernames is as easy as a 'site:oink.com' search in google.

curl -I <http://oink-prod.s3.amazonaws.com/kevinrose-export.zip>

        HTTP/1.1 200 OK
        x-amz-id-2: 9lLlixkcIypVbEIPzp7lmAT3gqwxFS3h99pdgnipW5aZVmhy422YA06OaMT7KOXd
        x-amz-request-id: E6D61A351A455807
        Date: Fri, 16 Mar 2012 17:23:28 GMT
        Last-Modified: Fri, 16 Mar 2012 17:22:17 GMT
        ETag: "799ee5f116bed2fac2893dda920a987a"
        Accept-Ranges: bytes
        Content-Type: application/zip
        Content-Length: 65492507
        Server: AmazonS3

curl -I <http://oink-prod.s3.amazonaws.com/thebucknutz-export.zip>

        HTTP/1.1 403 Forbidden
        x-amz-request-id: D3BF734D33B46816
        x-amz-id-2: exsDFYH6AcczbNuZWnlFW86EO9SP8EpwMDSwx9dGjSl9A24f3jXBobTRgOw+XNrC
        Content-Type: application/xml
        Transfer-Encoding: chunked
        Date: Fri, 16 Mar 2012 17:23:37 GMT
        Server: AmazonS3

_update_ \- seems that she had some success with links last night. Looks like they've fixed perms in the meantime.

[https://twitter.com/#!/cristinacordova/statuses/180708226696...](https://twitter.com/#!/cristinacordova/statuses/180708226696876032)

<comment><USER13> Maybe that user is not available anymore or something else because if you try to download cristina-export.zip it sure works.

<comment><USER12> Indeed it does.

curl -I <http://oink-prod.s3.amazonaws.com/cristina-export.zip>

        HTTP/1.1 200 OK
        x-amz-id-2: gIfqnrhzuVR2HJIhT8Msk37Pp96qabi6Amtq6ZG9makBlT/d5z+bYivF27tac16v
        x-amz-request-id: 9A1C02D63152317A
        Date: Fri, 16 Mar 2012 17:47:27 GMT
        Last-Modified: Fri, 16 Mar 2012 06:09:58 GMT
        ETag: "6326a2bc6724b1566530f34f5d96bf26"
        Accept-Ranges: bytes
        Content-Type: application/zip
        Content-Length: 212717
        Server: AmazonS3

Wouldn't take much for someone to whip up a script to parse the search results to build a list of usernames to bounce off of. There's also a fair amount of item-specific data too.

</comment></comment></comment><comment><USER14> Well, if there's a silver lining to this it's a good thing the development team behind that product isn't going anywhere where data privacy breaches could be a big deal.

</comment><comment><USER15> I noticed this when I did my export as well, but when I saw the data, it was only public information. But makes for a good headline for this blogger it seems.

</comment><comment><USER16> Filed under "How to make shutting down your service a memorable event"

</comment><comment><USER17> All the data is public. You could probably get it in a less concise form from Google.

There is no story here, other than "Oink allows the public to download public data".

</comment><comment><USER18> I never used Oink, but was there an option when creating an account to make it a private account, limiting access to certain types of data to certain users? If not, isn't everyone's uploads, reviews, pictures, etc. already available for anyone to see? Even if this is true, this still shouldn't be happening.

</comment><comment><USER19> Can you going to a restaurant and see your friends pull out their iPhone to snap photos of everything they eat and drink? I'd want to smack them at the back of their head.

Good riddance to products like Oink, if it fosters habits like Rose's, if his photos are anything to go by.

</comment><comment> brown9-2 Btw, what was Oink about? I'd never heard of it before it was shut down and this Google story, so it's hard to find out anything about _what_ the app actually was. They seem to be getting a lot more attention post-shutdown than pre.

</comment><comment><USER20> Ha. I thought the download service was pretty clever and well put together, but didn't notice that the link they gave you wasn't anonymized.

</comment><comment><USER21> I understand most of the data was public anyway, but why not at the very least use a randomly generated string instead of your username?

</comment><comment><USER22> Whether or not it's public content and the privacy policy says it is, Oink botched it.

If they were going to release all the data they should have said so.

The archives not being generated until a user triggers the export indicates to me that it's just sloppy coding.

<comment><USER23> _If they were going to release all the data they should have said so._

They didn't release anything new - all the data was already accessible from their website, and users were aware of that. They just made a zip out of it.

</comment></comment><comment><USER24> I thought some weird cache from Oink's Pink Palace was found! Hadn't heard of this Oink until now.

</comment><comment><USER25> Privacy should always be the number one concern with apps and websites. This is simply just sloppy.

<comment><USER26> Not when everything you put in is Public.

<comment><USER27> it was public on the site, not browseable. you needed to know the explicit url to your profile. there simply was no structure for it.

<comment><USER23> No structure? It was www.oink.com/{nick}, how is that not a structure? That's exactly the same structure as the zip.

</comment></comment></comment></comment><comment><USER28> I honestly can say I have no clue what Oink is but this seems like something pretty serious.

</comment><comment><USER29> Flagged because the title is misleading and unfairly besmirches the Oink team. All the data was public in the first place.

EDIT: The title has been changed to something reasonable so I've unflaged it.

<comment><AUTHOR> Do you mean you changed the title? I certainly didn't as I'm now blocked from editing the title of my own submission. Also, the post seems to still be flagged.

<comment><USER29> Presumably one of the mods changed it

<comment><AUTHOR> I see, thanks.</comment></comment></comment></comment>


49 vulnerable House Web sites - <AUTHOR> http://www.washingtonpost.com/wp-dyn/content/article/2010/01/28/AR2010012802742.html

<comment><USER2> Not surprising at all. I've worked with these kinds of vendors (campaign sites), and they are bottom barrel non technical people with a couple connections.</comment>


Human Bird Wings video was indeed a fake - <AUTHOR> http://www.foxnews.com/scitech/2012/03/22/dutch-artist-admits-faking-viral-human-bird-wings-video/

<comment><USER2> hopefully this guy takes it better than the kony guy.</comment>


ProPublica Data Institute (2017) - <AUTHOR> https://projects.propublica.org/graphics/data-institute-2017 <comment><AUTHOR> 2018 materials (which seem identical) are available here: [https://github.com/propublica/data- institute-2018](https://github.com/propublica/data-institute-2018)

The 2019 course is next month, but the deadline to apply has passed.</comment>


Egyptian repairman outranks Google in search - <AUTHOR> http://www.bbc.co.uk/news/technology-32973815

<comment><USER2> My biggest WTF with this story is that people search Google for... Google.

I don't get it.

<comment><AUTHOR> This is a very common question and the answer gives an insight into how mind works.

The following explanation applies only for the unconscious-mind (aka the fast- thinking mind from the seminal book by Daniel Kahneman):

People are used to searching on the Google-Homepage so much that they forget that the search is now integrated into Browsers and Computers.

So what happens is that when someone wants to search for information, the first thing they look for is the interface that they have used a lot (which is Google-Homepage). Now fast-thinking-mind tries to go to Google-Homepage.

So they type "google" into the browser search bar (which is what the unconscious-mind does when it is looking for some webpage) and Browser-search- bar-Google opens Google-Homepage.

The end result is you see a lot of people typing Google into Google search. However what is actually happening is that people are looking for Google- Homepage into Browser-Search-Bar.

<comment><USER3> You can't search for URLs via the top search bar so whenever I want to do a search on a URL, I type in google which searches Google for google for me and then I paste the URL into the Google search bar.

<comment><USER4> I do the same many times. Here is another workaround:

Go to Settings -> Manage Search Engines -> Other Search Engines then enter the following 3 fields:

"Google Search Shortcut" "g" "{google:baseURL}search?q=%s"

Now you can just type in "s " (the s key followed by a space) and it will search whatever else you put in there.

I don't actually use this much, but it's there if needed.

</comment></comment></comment></comment><comment><USER4> You can see the start of the story here: [https://news.ycombinator.com/item?id=9620739](https://news.ycombinator.com/item?id=9620739)

And it looks like Google has removed the user homepage URLs from all Google+ pages while they get it fixed.

</comment><comment><USER5> Perhaps this is an attempt by Google to show it's not anti-competitive?</comment>


Snorkel AI: Putting Data First in ML Development - <AUTHOR> https://www.snorkel.ai/07-14-2020-snorkel-ai-launch <comment><USER2> This is quite interesting and I think the best approach to (slowly) work towards better AIs. It focuses on structuring knowledge. Knowledge management as a term might not be able to rise as much interest of course.

I am reminded of the approaches to get rid of files systems for organizing documents. User should just fill out the required meta-data to enable sophisticated search mechanisms. But the users never did that.

Perhaps with workflows like this, some kind of data-pre-processor, we would get sufficient meta-info to start creating relations between isolated islands of facts.</comment>