Startup ideas that I'm sick of hearing about - <AUTHOR> http://robbieabed.com/5-startup-ideas-that-im-sick-of-hearing-about/

<comment><USER2> "Find people around you app - Nobody wants to find people around them and meet them. Trust me."

I've been runing a site the last five years for tabletop gamers to do exactly this. It's busier than ever, I'm spending my nights and weekends hacking on it to keep up, and I expect some of the features I'm working on now to make that growth curve noticeably steeper.

There's huge chicken-and-egg problems in this sort of project, but that difficulty is also why they're valuable.

<comment><USER3> Niche interest and a reason to socially interact with strangers. It gets creepy when my wife checks into Foursquare and sees that the 'Mayor' and 8 other people are there, too. Who cares? She certainly doesn't. She just wants points or some deal or something.

</comment></comment><comment><USER4> So, let me tell you about my great idea. It's an app for creating social/dating networks for book nerds who can find other book nerds around them, exchange old books, and participate in local group buying deals based around shared interests.

We'll add a Facebook login and a couple of ads and be _millionaires_.

<comment><USER5> That's the modern day "Del Boy": <http://en.wikipedia.org/wiki/Del_Boy>

<comment><USER6> "This time next year we'll be millionaires"!

</comment></comment></comment><comment><USER7> >Find people around you app.

This might be true in NAm. In other parts of the earth, it might be different. There are different cultural barriers and different things which are considered "normal" for meeting new people. I'm sure "dating" sites are working on ways to integrate this feature into their offering. Or, let's say, find 5 other people around me who want to play some 3 on 3 basketball, or a squash partner, whatever.

>Coupon / Daily deals

Again, true in the US market. Other markets might be ripe for a newcomer. For example, a team in SAfrica could develop something to fit the local market.

>Online Dating Sites.

Sites, yes. But there's still room for innovation. It's far from perfect.

>Book Exchanges for colleges

True. Will there be any physical books in the long run anyway?

>Apps that create Apps

Ok.

<comment><USER8> > _"Or, let's say, find 5 other people around me who want to play some 3 on 3 > basketball, or a squash partner, whatever."_

I don't think that's really the "people around you" concept he's talking about. There are _lots_ of social sites out there that will find activity partners and groups in your city - Meetup being the most salient example. The "people around you" services are the ones that go "user123 is 3 blocks away!". Hyper-local, if you will.

I'm hanging out with friends at a bar, I couldn't give two shits that cutegrrl123 is a block away and also likes chess. In fact, I'd be hard pressed to think of a single moment in my life where "meet a random stranger based on an algorithm" is a substantially more attractive option than what I'm doing at that moment.

"user123 likes chess and challenges you to a game this week" might work

"user123 is two blocks away and wants to play chess _right the hell now_ " is not a really good use case

This is a concept that really only works in your head - every implementation of it has landed somewhere between "creepy" and "really useless".

<comment><USER9> _"In fact, I'd be hard pressed to think of a single moment in my life where "meet a random stranger based on an algorithm" is a substantially more attractive option than what I'm doing at that moment."_

As someone who hops around the country a fair bit, I can definitely think of one place where this would be an appealing option: airports. I am sometimes able to find a random stranger to engage in conversation, but it's often a crapshoot trying to find someone who's both willing to engage in conversation and interested in the same subjects; I usually settle for just the former. This actually doesn't work too poorly (I've found that on the whole, people who fly tend to be more interesting than a typical cross-section of the population), but I'd be more than willing to spend my hour-long layover with an algorithmically-selected stranger. If I'm also able to find activity partners, all the better; I'd be happy to start packing my portable chess set and Magic the Gathering deck in my carry-on luggage.

</comment></comment></comment><comment><USER10> Automatic apostrophe correction algorithms? ;)

<comment><USER11> I agree, basic grammar is important, but ESPECIALLY important in your headline.

</comment></comment><comment><USER12> More than a few investors said that about search engines in the late nineties. Just because an area is overrun with competitors doesn't mean it's not promising. There's signal in all that noise.

</comment><comment><USER13> Has this blog gone down after only four comments?

I hope one of the startup ideas he is sick of is not reliable blog hosting...

<comment><USER14> Text reproduced below:

I hear a lot of people with new startup ideas, and although it is great to hear them – I start hearing the same one's over and over again.

Find people around you app – Nobody wants to find people around them and meet them. Trust me. It's weird, and it's been done. I don't know why people think that this is a need.

Coupon / Daily deals – If you are coming up with this idea now, trust me when I say millions of people have the same idea and are executing on them. It's a saturated market, do something else with your time.

Online Dating Sites. Unless you are building a hack on top of an existing dating site, it's next to impossible to jump into the dating market.

Book Exchanges for colleges – We have craiglist for a reason, and it works very well. Yes, I know books are expensive and people aren't getting their money back but it will always be an issue. A book exchange site is not going to solve that problem. It's saturated, so please avoid it.

Apps that create Apps – This might be the techie in me talking, but for some reason I can't stand these types of solutions. yes, they are good for non techies, but i'm not sure how much value they are creating in the end.

</comment></comment><comment><USER15> I really hate stealing page views from the owner, so when the site comes back up, I'll take this down. (just reply here if it does) In the mean time here's the full text:

[begin]

I hear a lot of people with new startup ideas, and although it is great to hear them – I start hearing the same one's over and over again.

> Find people around you app – Nobody wants to find people around them and > meet them. Trust me. It's weird, and it's been done. I don't know why people > think that this is a need. Coupon / Daily deals – If you are coming up with > this idea now, trust me when I say millions of people have the same idea and > are executing on them. It's a saturated market, do something else with your > time.

>Online Dating Sites. Unless you are building a hack on top of an existing dating site, it's next to impossible to jump into the dating market.

>Book Exchanges for colleges – We have craiglist for a reason, and it works very well. Yes, I know books are expensive and people aren't getting their money back but it will always be an issue. A book exchange site is not going to solve that problem. It's saturated, so please avoid it.

>Apps that create Apps – This might be the techie in me talking, but for some reason I can't stand these types of solutions. yes, they are good for non techies, but i'm not sure how much value they are creating in the end.

[end]

<comment><USER16> its up for me

</comment></comment><comment><USER17> "Book Exchanges for colleges"

Don't be too fast to discount this one, maybe not for the US, but as a Dutch student, this is definately something that needs to be built... Something social (friends of friends will often have the books you need) and easy. We have Amazon, Bol.com (Amazon clone), Marktplaats (craigslist/ebay crossover), but none are a perfect fit for textbooks.

<comment><USER18> I agree. I'm a co-founder with a start-up that just joined a prominent accelerator, and we do two of the five things listed: book-swapping and daily deals. While my opinion may be slightly biased about book-swapping because of that, I have done a ton of research into the market and there is definitely a market-pull for something that allows simple, intuitive book-swaps. Obviously, it has to be safer and simpler (or at a decent fiscal advantage) compared to craigslist, ebay, amazon etc, but I think that it is do-able with the right business model, team, swapping algorithms...

You often hear about this idea (and maybe the other 4 as well, but I can't say from personal expertise) because there _IS_ a need for a service like this and entrepreneurs know that. But I see two main problems that keep these book-swap start-ups from succeeding, and keep these ideas from going away.

First, there's a TON of variation in the way you can setup this business model. There are dozens of different ways to make your money, a handful of drastically different customers you can try and target, and endless ways to setup/code the swapping process. Not every solution will be successful; most will be unsuccessful.

Second, I don't think this idea works as a stand-alone product for a start-up because of a handful of factors. One such example: book swapping "season" (start & end of semesters) only occurs a few times a year. For a start-up with cash flow like that (or none), each "book season" is going to be swinging for the fences, after months of work, and hoping you can grab the attention of the market during the only few weeks they might care about your product.

Sorry if I was vague at times, I didn't wanna get into details.

</comment></comment><comment><USER19> I don't know. The thing is all these might be saturated, but at least three are problems that still aren't solved, but have a lot of value to people.

</comment><comment><USER20> Is anybody else annoyed that you can't zoom Facebook Comments? I have this problem nowhere else, not even on Facebook.

<comment><USER21> Works fine for me. In Opera that is, but I tried Chrome and it worked as well.

<comment><USER20> I use Chrome, the letters stay the same.

<comment><USER22> (it's not just you -- same problem here on Chrome 16)

<comment><USER21> I have 16 as well, but Windows. Maybe that's it?.

</comment></comment></comment></comment></comment><comment><USER23> _Unless you are building a hack on top of an existing dating site, it's next to impossible to jump into the dating market._

This is interesting. How would you create a hack on top of an existing dating site? Make a deal with said dating site? Provide an unsanctioned plug-in (eg Greasemonkey)? Something else?

<comment><USER24> One example, not built on top of a dating site but last.fm, tastebuds.fm is a social network/dating site based around music. Old discussion here <http://news.ycombinator.com/item?id=1992801>

<comment><USER23> Cool!

I am assuming last.fm has an API and/or is scrapeable without having to log in? Neither is typically true for dating sites.

<comment><USER24> They have an API and devs need API accounts. I don't know much about dating sites but I'm guessing they don't have APIs because exposing the type of data they store would be pretty creepy.

</comment></comment></comment></comment><comment><USER25> "Find people around you app - Nobody wants to find people around them and meet them. Trust me"

Install Grindr on your phone and you'll find that a huge number of people are very interested indeed in finding and meeting people around them.

</comment><comment><USER26> _Apps that create Apps_

Could have said the same thing about "apps that create blogs" or "apps that do financial calculation in tabular format"

</comment><comment><USER27> so have any of the used textbook sites gained significant traction?

</comment><comment><USER28> I love Codea on the iPad and that is a App that creates Apps (using Lua).

Dave</comment>


Miami cops are falsely reporting their locations on Waze to trick drivers - <AUTHOR> http://www.theverge.com/2015/2/12/8025209/waze-miami-cops-false-reporting-google-traffic-app <comment><USER2> I guess the moderation algorithms of Waze will eventually nullify the users who are falsely reporting these locations?

<comment><USER3> Probably. They also decay reports more quickly if they're marked as inaccurate as I recall.

</comment></comment><comment><USER4> I don't really know at what point Waze creates more problems than it actually solves. Just stay alert out there and you should be fine if you're a civilian. If you're a criminal, this is THE go to tool.

<comment><USER5> Waze shows a lot more information than where police are.

I don't see criminals relying on this heavily. It's not like every cop car is going to be in Waze and up-to-date or anything.</comment></comment>


"My little piece of privacy" - Robotic Curtain - <AUTHOR> http://www.youtube.com/watch?v=rKhbUjVyKIc&feature=player_embedded

<comment><USER2> A possibly more practical use would be to invert this setup. I have a big window that faces west, which means I have to close the curtains if I want to work in my apartment in the afternoon. This system could be set up to block the sunlight specifically from getting in my eyes (and on my screen, whenever I'm at a computer), but still allow the room to be lit.

</comment><comment><USER3> What's particularly amusing is that this "curtain" has a function that's the opposite of increasing privacy.

</comment><comment><AUTHOR> This isn't my work, just linking to it. Very cool - though not exactly working for the purpose he intended!</comment>


Ask HN: Great idea, but loose/vague patents might exist - <AUTHOR>

I've come up with a rather interesting idea for a web application that might make a fair amount of money. Being one of the few times this has happened I decided to dig in and do some research.
One of my mentors and friends looks at the idea and approves, but says he remembers seeing a lot of patents that describe something like it. He remembers them being very vague and loosely defined.
Being the optimist I am I decide to do some simple patent searches to find out if he's right.
That ended up being a little harder than I thought, and there are already a few that seem similar.
What's a hacker to do? Give up on the idea? Is there a better way to find patents that might conflict with an idea? Should I just not care? <comment><USER2> Don't give up on the idea and don't lose motivation if your idea is already out there or if it 'seems' to be patented (assuming you feel strongly about the idea). I would be shocked if aspects of your idea and the method by which you implement your idea doesn't change between now and when it is built. As such, your search at this time may not be completely relevant to the product you ultimately create. I would advise you to build whatever it is you're building while keeping in mind that it may be patentable. Given the potential for patentability down the road I would not freely discuss the details or 'secret sauce' of the idea (discuss what the app will enable but not how it does what it does). Depending on where you intend to file for a patent, public disclosure will either initiate a count down (at the end of which you must begin the patent filing process) or make it so that you can't patent the idea.

</comment><comment><USER3> Engineering around a lose/vague patent if you find a good patent attorney isn't that difficult. Also remember that even if you violate a patent, most patent's aren't enforced because the company owning the patent doesn't have the resources to file suit or no longer exists.

Read the claims within the patent, if yours varies from the written claim or can modify it in such a way then you have little worry (depending on the company). For the best advice find a patent attorney and talk to them. There are entrepreneurial law firms that will give you an hour or two for free in the hope of future business. This is what I did when I was starting out. Bring in the potential patents and your idea and get advice from an expert. Trust me you'll save a lot of time.

</comment><comment><USER4> Well, you've basically explained to us that you have an idea and are not sure if there are patents that cover the idea but have a friend who claims to have seen patents that do. You went and looked for them and found some that sound similar. The "hacker" in me would most likely have been coding this prior to even thinking about patents. What does a patent have to do with it if it doesn't even exist, yet?

<comment><AUTHOR> Wouldn't a patent I didn't know about later bite me in the ass down the road? You can be cautious and a hacker :)

<comment><USER5> You can also pay to license patents if it ever even comes up. :)

<comment><AUTHOR> I didn't know I could do that! This is why I come to HN :)

<comment><USER6> Well, that is one possible outcome if the patent holder agrees to it. You can't guarantee that they will grant you a license though.

</comment></comment></comment></comment></comment><comment><USER7> Forget you ever knew anything about them. There's some leniency against the company seeking money for the time before they first told you about the patents if you didn't know there was a patent. Especially if the patents are vague.

Also: how long until they expire?

</comment><comment><USER8> Have you ever thought about moving to another country?

<comment><AUTHOR> Would that really make a difference? Interesting idea.

<comment><USER9> (IANAL) In Europe, software is not patentable unless there is a kind of physical/technical effect that goes beyond the normal interaction between the program and the computer.

The usual example is the software to control a anti-lock braking system: as there is a technical effect, it is patentable...

More details here: [http://www.epo.org/topics/issues/computer-implemented- invent...](http://www.epo.org/topics/issues/computer-implemented- inventions/software.html)</comment></comment></comment>


China Snuffs Out Discussion of Tiananmen - <AUTHOR> http://kahimyang.info/kauswagan/history_current_events/1549-china_snuffs_out_discussion_of_tiananmen

<comment><USER2> It is amazing the lengths the PRC takes to cover up this issue[1]. You would think at some point the party would disavow the actions of their predecessors or try and marginalize connections to the past event rather than keep sweeping it under the rug.

Next year will be the 25th anniversary, that will be interesting.

[1] [http://www.businessinsider.com/chinese-censors-block-big- yel...](http://www.businessinsider.com/chinese-censors-block-big-yellow- duck-2013-6)

<comment><USER3> But it is working so "well!" Is this a cultural mechanism or just the poor way that the PRC handles it?

<comment><USER4> Sustained double-digit growth rates work very well as an unrest suppresion device. Seriously: the Chinese people are simply too busy being _vastly wealthier than their parents_ to notice their lack of personal freedoms or representation in government.

It's sad, but true. But it will correct itself eventually, hopefully with less bloodshed this time.

<comment><USER5> Parts of the Chinese nation are too busy being vastly wealthier than their parents. China has a decent-sized first and comparatively large second world economy embedded in the world's largest third-world economy.

<comment><USER4> This is true, but the third world economy is not the one that tends to revolt. Tiananmen was driven by students. And that demographic has been effectively pacified by the fantastic urban growth China has experienced over the last two decades.

<comment><USER5> Putting aside the reasons the third-world economy doesn't revolt or isn't seen actively revolting (being too busy trying to survive, having to deal with local officials and police that are part of the Confucian machinery, not having any significant outbound information channels in their geographic area, etc), the demographic of "student" is a constantly shifting one, and one that has been blocked from learning _anything_ about Tienanmen for a quarter of a century. It is hard to form concepts about something that has been so effectively and actively suppressed, right to the level of the Great Firewall.

By contrast, we can still talk about the various Occupy movements (some of which continue to smolder in various corners of urban centers), just most people don't really care that much, the street theater got stale; that sort of effect is real, and could conceivably contribute to a nonchalant attitude in China towards Tienanmen today, but we won't know, because the Party has decided that everyone must not care by keeping anyone from trying to learn about it.

</comment></comment></comment></comment></comment></comment><comment><USER6> A few years ago I read that censorship around Tiananmen was becoming harder in places such as newspaper classifieds (not sure if this is the term used in North America, at least?) because the staff taking the calls for these ads were less likely to know what it was referencing.

That is to say, it was becoming easier to make a veiled reference to the event because the person doing up the ad didn't know that it happened, and so can't really censor anything that, I guess, isn't already on their 'censor radar'.

Like I say, it was something I read once and I have no link available. Interesting nonetheless (even if it isn't true).

<comment><USER7> The term "newspaper classified" has been replaced by "Craigslist".

<comment><USER8> Most newspapers still have classified sections. The term hasn't been replaced, it's just more common for people to use Craigslist (at least among younger people) than to use newspaper classifieds.

</comment></comment></comment><comment><USER9> [http://www.scmp.com/comment/blogs/article/1253135/chinese- ev...](http://www.scmp.com/comment/blogs/article/1253135/chinese-evade-online- censors-remember-tiananmen)

Article from the South China Morning Post on how people are commenting on this discretely.

The TV screenshot at timestamp 12:07 has a seemingly innocuous vox populi question, however the first character of the four options A, B, C, and D gives 毋忘六四 - don't forget 6-4 [Tiananmen Square incident].

</comment><comment><USER10> It always amazes me how we like to talk about Tiananmen, but never ever mention Tlatelolco ( <https://en.wikipedia.org/wiki/Tlatelolco_massacre> ).

Maybe, because a week after the massacre, and only 2 km away, we happily inaugurated the Olympic Games.

And not one Western country even got upset about what happened. After all, the Mexican one-party-state of the time were one of "our bastards".

(The same party that governs Mexico today).

<comment><USER11> I'm absolutely not downplaying what happened in Tlatelolco but I'd wager that _in addition_ to the Olympics aspects, there are other things at play:

October 1968 was the height of the Vietnam War and a US Presidential election was less than a month away, US (and much of the world's) news coverage would have been focused on those. The Soviet Union was still the big ugly monster in the room which means most world history classes focused on that period would talk Cold War and detente.

On the other hand, June 1989 was a time of _relative_ peace in the western world. The Soviet Union was around but waning as the Berlin Wall would fall just months later.. which makes Tiananmen stand out that much more.

I think _most_ importantly is that cable news and the 24 hour news cycle had been born in the interim. It meant that we saw footage from Tiananmen Square practically as it was happening.

</comment></comment><comment><USER12> Here is also a good round-up of the Tiananmen '89 at Epoch Times: <http://epochtim.es/s9Nz>

What I didn't know is that according to the Chinese dissident Wei Jingsheng, the "Tank Man" life ended that day, when he ran out in front of another column of tanks from a different unit, which didn't stop and smashed him...Wei got this information from his former classmate, who was a commander of that tank column on the iconic photo.

</comment><comment> o0-0o Just like they snuffed out those students? Commie cowards.

<comment><USER13> <http://en.wikipedia.org/wiki/Kent_State_shootings>

Not to be that guy (everything bad said about someone else must be followed up with something bad about yourself), but we have our shameful moments also. At least we let you talk about it, though.

EDIT:

Thanks for the replies. For some strange reason, I actually thought that the Tiananmen square was a low casualty count incident - I didn't actually realize the full extent of it. Pretty fucking horrible, actually. No wonder they don't like to let you talk about it.

<comment><USER14> I feel the Kent State shootings give some kind of scale to the event. There, four people were killed, and we still listen to the Neil Young song about it. It's hard to imagine what hundreds or thousands of deaths (Wikipedia) would feel like.

<comment><USER15> Well, we _do_ have hundreds-of-unexpected-deaths events in recent memory (Sep. 11 2001 ~= 3000) though, conspiracy theory notwithstanding, that's not our own government doing it. Also, there were fires and explosions and billions in property damage and clouds of toxic smoke.

Oddly enough, I can't actually name any songs about the event off the top of my head, though.

<comment><USER16> Here's a few:

Alan Jackson - "Where were you when the world stopped turning" <http://www.youtube.com/watch?v=fvj6zdWLUuk>

Pete Schmidt - Lost in New York

Darryl Worley - Have you forgotten <http://www.youtube.com/watch?v=p6yLQRF- cEU>

Springsteen - The Rising (lower link includes plane impact footage) <http://www.youtube.com/watch?v=eNnB4dkVRJI> <http://www.youtube.com/watch?v=pmSllqr6Qzs></comment></comment></comment></comment></comment>


Test F.I.R.S.T - <AUTHOR> https://hackernoon.com/test-f-i-r-s-t-65e42f3adc17 <comment><USER2> I hope you liked the post!</comment>


High School Hackers Meetup in Philly - <AUTHOR> http://philly.hshackers.org/

<comment><USER2> I started the HS Hackers group in September — it's been an incredible ride seeing it grow from 12 high schoolers at PennApps 2013f to a 1,000+ member strong Facebook community.

If you're a high schooler and you're reading this, join us :)

[https://www.facebook.com/groups/PennAppsHS/](https://www.facebook.com/groups/PennAppsHS/)

</comment><comment><USER3> WOW! do I love the internet. Go you guys (and gals :) I couldn't imagine connecting like this even 10 years ago.

<comment><USER4> Agreed. It really is awesome to see highschool students coming together and organizing an event like this.

</comment></comment><comment><USER5> Can't wait for this!</comment>


Live readings from the LHC's ALICE detector - <AUTHOR> http://alice-logbook.cern.ch/aliceOnline/alice_online.html <comment><USER2> What does the _pos_ parameter in image URL specify? Looks like some kind of a filter or historical juxtaposition: [http://alice- logbook.cern.ch/aliceOnline/get_image.php?conta...](http://alice- logbook.cern.ch/aliceOnline/get_image.php?container=0&pos=8)

</comment><comment><USER3> A little bit of context:

[http://home.cern/about/updates/2015/11/lhc-collides-ions- new...](http://home.cern/about/updates/2015/11/lhc-collides-ions-new-record- energy)

</comment><comment><USER4> It's pretty cool, but why didn't they just do it on Twitch? A little chat window would be wonderful - not just for memes, but for discussion and understanding.

</comment><comment><USER5> "How should we make it attractive for them [young people] to spend 5,6,7 years in our field, be satisfied, learn about excitement, but finally be qualified to find other possibilities?" \-- H. Schopper

Potential missing staff in some areas is a separate issue, and educational programmes are not designed to make up for it. On-the-job learning and training are not separated but dynamically linked together, benefiting to both parties. In my three years of operation, I have unfortunately witnessed cases where CERN duties and educational training became contradictory and even conflicting.

[http://ombuds.web.cern.ch/blog/2013/06/lets-not-confuse- stud...](http://ombuds.web.cern.ch/blog/2013/06/lets-not-confuse-students-and- fellows-missing-staff)

Resolution of the Staff Council

\- the Management does not propose to align the level of basic CERN salaries with those chosen as the basis for comparison;

\- in the new career system a large fraction of the staff will have their advancement prospects, and consequently the level of their pension, reduced with respect to the current MARS system;

\- the overall reduction of the advancement budget will have a negative impact on the contributions to the CERN Health Insurance System (CHIS);

[http://cds.cern.ch/journal/CERNBulletin/2015/46/Staff%20Asso...](http://cds.cern.ch/journal/CERNBulletin/2015/46/Staff%20Association/2063669?ln=en)

The situation is equally difficult for postdocs trying to make the jump to a junior faculty position or a permanent job at a national lab. The Snowmass Young Physicists survey received responses from 956 early-career researchers, including 343 postdocs. But INSPIRE currently lists just 152 "junior" positions, including 61 in North America. And the supply of jobs isn't likely to increase, says John Finley, an astrophysicist at Purdue University in West Lafayette, Indiana, who is leading a search to replace two senior particle physicists.

Indeed, even while giving complete satisfaction, they have no forward vision about the possibility of pursuing a career at CERN.

This lack of an element of social responsibility in the contract policy is unacceptable. Rather than serve as a cushion of laziness for supervisors, who often have only a limited and utilitarian view when defining the opening of an IC post, the contract policy must ensure the inclusion of an element of social justice, which is cruelly absent today.

[http://staff- association.web.cern.ch/content/unsatisfactory-...](http://staff- association.web.cern.ch/content/unsatisfactory-contract-policy)

Pensions which will be applicable to new recruits as of 1 January 2012; the Management and CERN Council adopted without any concertation and decided in June 2011 to adopt very unfavourable mesures for new recruits.

[http://www.gac- epa.org/History/Bulletins/42-2012-04/Bulletin...](http://www.gac- epa.org/History/Bulletins/42-2012-04/Bulletin42-en.html)

precarity at CERN, aka cheap disposable temp labour w/o healthcare: [http://www.tdg.ch/geneve/actu-genevoise/suisse-prete- aider-e...](http://www.tdg.ch/geneve/actu-genevoise/suisse-prete-aider- employes-detaches-cern/story/15383927)</comment>


Are You a JavaScript Guru? Try This Test - <AUTHOR> http://asserttrue.blogspot.com/2013/02/are-you-javascript-guru-try-this-test.html

<comment><USER2> This isn't a JavaScript quiz. Mostly it tests if you know how numbers really work, operator precedence, and some obscure coercion rules. Boring.

The only slightly relevant question, I thought, was what typeof NaN was. Not knowing that might result is actual bugs.

<comment><USER3> Also, it's so absurd that you would remember it.

<comment><USER4> Are you sure? The only reason why it's absurd is because deep inside, Number knows that it should've really been called PossiblyANumber. It's a different abstraction and an unfortunate naming collision.

</comment></comment></comment><comment><USER5> Being able to answer these questions has very little to do with being a good javascript developer, because a good javascript developer knows he should never, ever write code like that.

Javascript has flaws and pitfalls, to be a good Javascript developer you must know what they are, but is it really necessary to be able to pull the results of (1/null) out of your ass?

</comment><comment><USER6> God, I hate this crap. Edge cases != useful knowledge

<comment><USER7> Agreed. It seems like the lesson is "don't write ambiguous JS, because it will bite you" - I'm not sure you have to know the nature of every bite in order to be a JS expert, because a JS expert should generally be writing very predictable code!

<comment><USER8> Many years ago, I had a bookmark in my Harbinson-Steele's C book, for the precedence of operators.

After a while, I decided that was _stupid_ and removed the bookmark -- if I ever needed to look at operator precedence, then I should use parentheses.

That said, to understand the edge cases are valuable, because you should recognize when you get close to them (not only in your own code).

</comment></comment></comment><comment><USER9> At least two questions are bad.

7\. a = "5"; b = 2; c = a+++b;

Why even ask that? It's boring. And operator precedence is not really important in practive, and it's bad style and no one writes like that. It's a question for junior-level interview, when you can't ask anything meaningful and (because you have to ask anything) you ask _this_.

9\. (16).toString(16)

Oh, so Guru should memorize every obscure parameter, shouldn't he?

Other questions are fine, though (except 10. Numerical systems, c'mon, it's 2013, not 1980s)

<comment><USER10> Regarding "(16).toString(16)": yep you should know that param and nearly always write myNumber.toString(10) and parseInt(myNumber, 10).

JSHint complains if you don't provide the radix. The reason is to not get your ass in fire in production by the fact (016).toString() === "14" (leading 0 means JS guesses a number is in octal representation, unless it contains 8 or 9). And you use JSHint, don't you? If no, install it right now as a pre-build hook.

\--

EDIT: what I wrote above is bullshit, see the comments below; toString is a different story than parseInt.

<comment><USER11> Sorry, but that advice about number.toString(radix) is mistaken.

JSHint does not complain if you omit the radix in a number.toString() call, nor should it. The default radix value for number.toString() is 10, and there are no magical surprises as there are with parseInt(). If you write number.toString() it means exactly the same thing as number.toString(10). There is no reason to provide an explicit radix of 10 unless you just like it better than way.

In the (016).toString() example, the problem isn't the missing radix; (016).toString(10) returns the same value, "14". The problem is the 016 constant itself. That is an octal constant and has already been converted to decimal 14 before the .toString() call. There is nothing that .toString() can do to fix this problem.

Now you're right that it _is_ useful for a developer to know about the radix parameter, so you can easily convert a number to its string representation in hex or binary or whatever base you need.

parseInt() is a different story, of course. You are quite correct that you should never write parseInt(number) without a radix argument, unless you actually _want_ the behavior of a leading zero making it octal and a leading 0x making it hexadecimal.

(edited for clarity)

<comment><USER10> I must admit you're right with the first part. I haven't thought twice nor checked things. Thanks for pointing it out.

Regaring parseInt(), the story is even more complex though :) You should _never_ use it without the radix because that behavior is not reliable when it comes to implying octal representation. Calling parseInt("016") yields 16 in Chrome (ES5 compliant [1]), while 14 in Firefox, Opera and IE8.

[1] [https://developer.mozilla.org/en- US/docs/JavaScript/Referenc...](https://developer.mozilla.org/en- US/docs/JavaScript/Reference/Global_Objects/parseInt)

<comment><USER11> Oh wow, you're right about parseInt(). For some reason I thought the octal thing was standard across browsers. That's what I get for adding that throwaway comment at the end without checking it. Thanks for catching that!

</comment></comment></comment></comment></comment><comment><USER12> Surprised to see people claiming that this isn't essential knowledge. Understanding what the system is doing at its core allows you to answer these questions; as 'tricky' as they may seem. If you're dealing with JS, you _should_ know how things are working under the hood. There shouldn't be any memorizing, instead, you should be able to reason what the outcome is in those cases. At least that's what I strive for.

<comment><USER13> Agreed, knowing how 1/x behaves for x in [null, 0, void 0] is helpful. Specifically, don't expect a "div by 0" error to be thrown. Instead, check for infinity. That's not something a C# developer would necessarily expect.

<comment><USER14> Yes, unfortunately many languages have borrowed C's rather bizarre ideas about what's permissible. 1/0 should crash but it's perfectly okay for 0xffffffffu + 1 to give different answers depending on your architecture.

</comment></comment></comment><comment><USER15> This was interesting if nothing else.

Maybe its just because I just woke up, but I didn't even realise why Q1 was interesting until after I read the HN comments. Those that are saying these are all useless for practical work are wrong in my opinion. Some of them are, but not all.

If you saw Q2 and didn't realise the possibility of it being false, the reasons for that are something you need to learn when dealing with any language that uses floating points. Q3 is something every JS programmer should know, as is Q4.

Q5 is more interesting, because the correct answer is "what version of javascript?" Protected terms cannot be used as object properties without being put in quote marks in earlier versions of JS. Doing something like this in an older browser would throw an error.

Q6 could have been better, it would be pretty hard to get it wrong. Something like "5" + 2 would have been more interesting because + is overloaded so you would have to know how javascript treated it in different situations, which is close to essential knowledge.

Q7 is definitely just trivia. No sane person writes code like that. Q8 is trivia too; easy if youre familiar with JS but not hugely useful. Q9 is easily guessable; I didn't know what the param for toString did but I guessed it correctly.

Q10 is important, if you dont know how JS treats numbers with a leading 0 you can get yourself into trouble and have no idea why.

Q11 I learned something new, I didn't know about the ~ operator, I wouldn't use it in regular code though.

Q12 is regex. Either you knew it or you didn't. If you didn't, you learned about \b, which can be rather useful.

</comment><comment><USER16> My current favorite questions involve asking people what their favorite Javascript library is, then asking detailed questions about how it works. Even pulling up common functions from the library and ask what is going on.

Better questions involve things like variable scoping, modules, arguments, event bubbling, prototypes, etc.

Now, where I get stuck: Regular Expressions. I just don't think I will ever get comfortable with that.

<comment><USER8> >>Now, where I get stuck: Regular Expressions

Read Mastering Regular Expressions. I thought I understood regexps before I read that book. Now I can use them -- and am, at a minimum, confused on a higher plane... :-)

</comment></comment><comment><USER17> Answering correctly to these questions only means that you know these edge cases/quirks, heck you could memorize most of them. A real developer should never write code like that.

</comment><comment><USER18> I'm curious about how the utility of tools such as JSHint/Lint affect how many edge cases a new programmer actually needs to memorize, in the context of hiring said programmer. Unless a programmer is trying to abuse an edge case, wouldn't a Lint tool remove the need for the wrote memorization of all edge cases?

</comment><comment><USER10> The thing about Math.PI can be confusing. It allows you to preincrement it, but it actually __doesn't __change the value:

(function(){console.log(++Math.PI); console.log(Math.PI)})()

logs 4.14... and then 3.14.

Of course no one sane should write a code like this.

</comment><comment><USER19> I think you need more linebreaks between the questions and the answers -- the first four answers were above the fold when I loaded the page.

</comment><comment><USER20> As someone that writes JS on an almost daily basis I now feel like a n00b.

</comment><comment><USER21> Anyone else feel weird they got all of them right?

</comment><comment><USER20> Can anyone explain the ++Math.PI thing to me?

</comment><comment><USER22> Looks like this quiz got many people upset. Relax it's just fun. Like jeopardy. Gurus in their own right</comment>


ButterflyHTML | PSD to HTML, XHTML, CSS, Joomla, Wordpress - <AUTHOR> http://www.butterflyhtml.com/ ButterflyHTML converts your designs into tableless XHTML complaint web pages. We

    * Support popular design formats like PSD, AI, PNG
    * Ensure pixel perfect delivery across popular browsers (Firefox 2+, IE 6+, Safari 3+, Chrome 2+, Opera 9+)
    * Implement CSS/XHTML into skins, themes, shopping carts for Wordpress, Joomla and other CMS platforms
    * Cross browser / Platform Compatibility(Safari 3+, Firefox 2+, IE 6+,Chrome 2+, Opera 9+)
    * Deliver design search engine friendly, semantic code
    * Allow you to select customize options
    * Communicate with you at regular intervals on the project status
 We are offering a special price of $79 per page and additional pages at $49 per page. <comment><USER2> Anyone tried them, how is their service?

<comment><USER3> I wouldn't go with anyone who spammed their link across the web.

That aside, the standard of mark-up on their own site is not great (div bloat/divs instead of list to mark-up navigation; strong in h1 instead of custom styles through stylesheet; s instead of
s; forced line breaks where css would again be better).

<comment><AUTHOR> Hi Jem,

I appreciate your comments and agree with you on most counts. The site is evolving and there were markup issues due to design changes which were being rectified. We are fairly new in this business, but are definitely committed to become a serious player in this market.

We regards to spamming on the web, I do not totally agree. We are just announcing to the world that we exist on public directories.

Tejas

<comment><USER3> This isn't a "public directory", it's a collection of links of interest to Hackers. I wouldn't call your service Hacker News material.

<comment><AUTHOR> Thanks, I do understand and agree. This link shouldn't have been here. I will be more careful the next time I post.</comment></comment></comment></comment></comment>


How Would a Quantum Computer Handle Transcendental Numbers? - <AUTHOR> Wikipedia: "In quantum computing, a qubit (/ˈkjuːbɪt/) or quantum bit (sometimes qbit) is a unit of quantum information—the quantum analogue of the classical bit. A qubit is a two-state quantum-mechanical system, such as the polarization of a single photon: here the two states are vertical polarization and horizontal polarization."
Wikipedia: "In mathematics, a transcendental number is a real or complex number that is not algebraic—that is, it is not a root of a non-zero polynomial equation with rational coefficients."
For example, e, Pi, and Phi -- but there are many others.
OK, so let's say I have a Quantum Computer.
Questions:
1) How do I input a Transcendental Number?
2) If, after inputting a Transcendental Number, I then want the Nth digit of that number, where N is a super large integer, like say the trillionth digit of Pi, how do I ask the Quantum Computer for that, and will the result be accurate if checked against a conventional computer?
3) Using Transcendental Numbers in repeated functions which take Transcendental Numbers and return other Transcendental Numbers as their results, will the Nth digit of the resulting number be correct, if checked against a conventional computer?
And finally:
4) In cases where N is so high that a conventional computer can't check what its value should be, and we ask a Quantum Computer for it, how do we know that the Quantum Computer is correct? <comment> r-w You should use the "ask" link rather than the "submit" link in the title bar if your submission is a question rather than a post.

<comment><AUTHOR> Humble apologies, this was my first "Ask" HN post ever.

<comment> r-w Correction: The post should start with "Ask HN: ".

No need to apologize; I merely found your question interesting and didn't want to see it greyed out.</comment></comment></comment>


Ask HN: What happens to speeding tickets after driverless? - awinter-py In a fully autonomous car you can make the argument that a world-class expert is doing its best to provide a safe ride and adapt to conditions.
Police depts will claim that traffic stops provide a preventative effect on violent crime. Activists will claim that they lack probable cause in most cases, that radar guns don't work when there's more than one car in the line of sight, or that terry stops support civil forfeiture (i.e. asset seizure).
Will the ticket system fade away? What will take its place? (video surveillance inside all cars?). <comment><AUTHOR> Excellent question by the OP. Civil Forfeiture is an issue when not done for the right reasons. If compliance is made absolute by driverless cars for the rules of the road( traffic based) then apart from not needing traffic cops is the least of our worries. I would suggest reading cory doctorows work on this subject. [http://this.deakin.edu.au/culture/car- wars](http://this.deakin.edu.au/culture/car-wars) You are right to worry about constant surveilance. Who controls the ID layer to activate these cars will be paramount.

there might be an ID check everytime someone enters a self driving car, which lets be honest will be shared most of the time. So it may be sold to us as an easy payment system. Frictionless as the SV people say.

Absolute compliance with a set of rules will bring about change in the way we think about results of non compliance

<comment><AUTHOR> Wrote that quite fast banging out the words, which means the grammar will be shoddy. Just shows how pertinent the issue is</comment></comment>


US Court Interprets Copyleft Clause in Creative Commons Licenses - <AUTHOR> http://www.technollama.co.uk/us-court-interprets-copyleft-clause-in-creative-commons-licenses <comment><AUTHOR> This decision sets important precedents. Personally, it clarifies how CC images can be handled.

1) "Creative Commoms [sic], CC-BY-SA-2.0″ is sufficient without any URI required. Personally, I will still add it though.

2) Adding the title under the photo but the image attribution on another page is sufficient.

3) To be considered a derivative work, the photo actually has to modified. In this case, it was not.</comment>


Why should I have written ZeroMQ in C, not C++ (part II) - <AUTHOR> http://www.250bpm.com/blog:8 <comment><USER2> I stopped reading after the first example, which once again (as in the last post in the series) demonstrated that the author doesn't really know what he's talking about. The code would be written as:

      std::list<person>

Not:

      std::list<person *>

...which avoids the double malloc and presents a nicer API to boot. Not to mention that in that case, a C++ programmer would either use a struct or would need to write accessors.

C++ has a lot of warts, and the author seems to have written some non-trivial software in it, but his critiques of it reveal that there are a lot of gaps in his knowledge of the language and a lot of his criticisms are based on falsehoods. (However, a totally valid criticism of C++ is the amount of idiosyncrasies the language has and how relatively difficult it is to master.)

<comment><USER3> I had to fight the urge to stop there too; it's also more idiomatic and probably both more economic and performant to use a vector in this situation; "lists" in C++, at least on the projects I worked on, tended to be a code smell.

I think this is a very big problem with C++: most of the funnel of new developers for C++ are C programmers, and transliterating C idioms to C++ (and, worse, the C++ standard library) usually produces pessimal C++ code.

<comment><USER4> I've been putting myself through C++ "boot camp". I got a copy of Bjarne's "The C++ Programming Language" and I'm doing every exercise. I'm up to 302 at last count, and only a couple more chapters to go.

It's been grueling, but very well worth the time. It helps me avoid a lot of mistakes I would have made had I just jumped in from C and C#.

Unfortunately, the 4th edition (which presumably covers C++11) doesn't come out until Feb.

<comment><USER5> I recently assigned myself a project to learn C++ too, mainly in the interest of learning an entirely different kind of language (I only know python very well) but also to scratch a long pending itch of writing a few simple games and doing some graphics related work.

What I have found, while going through the C++ primer by Stanley Lippman and Barbara Moo (and having read most of accelerated C++ earlier) is that I have not so far seen anything that I really dislike.

Maybe this is because I am not really experienced and so cannot see the obivous pitfalls, or maybe those things will come in later in the book. But so far I see a language which I can use in many places.

Also how is Stroustroup's book for someone who finishes the C++ primer (which goes over just the basics).

<comment><USER4> I recommend Stroustroup's book as it really leaves no area unexplored. It is better to read it after having read some other material, as you have. I would wait for the 4th edition, though, which covers C++11.

</comment></comment></comment></comment></comment><comment><USER6> In my opinion, this is just wrong:

1) He uses std::list<person*>, but std::list<person> is the equivalent to his C example, and would produce identical results to C, with much less code. It would also be safer e.g. in terms of memory leaks.

2) Templates are the C++ magic, which get round some of those theoretical limitations of OO programming. The compiler can evaluate the composition of the various objects, to see if any optimizations are possible. With C, this would be have to be done by hand. Yes, it's slower than compiling C, but it's much faster than having a human do it.

3) Making use of #2, it is then easy to swap out the implementation. Want to try a pooled memory allocator (because # of mallocs seems to be the axis we're optimizing on): just change the declared type. Want to try a different data structure (e.g. sort by age for fast lookups by age): just change the declared type. The compiler "expands" the templates, substituting in the various types, and produces code that is reasonably optimized. For example, it will use inline integer comparison for sorting by age, rather than calling out to a comparator function.

I'm sure there are valid reasons to preferring C to C++, but as a user of ZeroMQ, I wish they would spend their efforts documenting their protocol rather than bashing their tools.

<comment><USER7> 1) No, it does not produce identical results.

Most of the STD containers use copying, not pointers, as the article actually points out.

That doesn't make his larger point valid (I disagree with it, actually), but your argument is not technically correct.

<comment><USER6> Things that look like they use copying in C++ often don't use copying in the final output. Values are usually returned by reference, and many C++ compilers can often avoid a copy even when that's not the case (e.g. Return Value Optimization).

Even if the compiler doesn't optimize everything away, copying is sometimes faster, always safer and always easier than passing around pointers.

It's a big lesson I learned for C++ - write correct code first; profile; fix any real performance problems, rather than obsessing about my preconceived notions of what would be slow.

<comment><USER7> Yeah, I pretty much agree with everything you're saying, but trust me, std::list really does work by copying the items, so your point was not technically correct.

<comment><USER8> Well, if we're striving for technical correctness, std::list really works by invoking the assingment operator on the items. The original article is strictly correct when it says:

> EDIT: Assume that the object to be contained in the list is non-Assignable > as is the case with any non-trivial objects, for example those holding large > memory buffers, file descriptors, handles etc. If the object is Assignable > simple std::list<person> would do and there is no problem.

Except that normal C++ programmers would deal with that by overriding the assigment operator on this class to copy buffer pointers or whatever as appropriate.

<comment><AUTHOR> Try copying a complex object with threads running inside it, open file descriptors being used etc. What does it mean, for example, to copy a running DB engine? Some objects are just non-copyable by principle.

</comment></comment></comment></comment></comment></comment><comment><USER9> > Rather it is a deficiency in the design of C++ language.

It's a deficiency of the C++ standard library, not the language itself.

You can find an implementation of intrusive lists in C++ in boost. <http://www.boost.org/doc/libs/1_51_0/doc/html/intrusive.html>

<comment><USER10> 100% agree. It almost feels insulting to say that C++ programmer will only use std::list and a C programmer will only use a hand made doubly linked list. This almost feels like an interview question: > Which is faster and uses less memory? A generic double linked list or a hand made double linked list?

This is a data structure, optimization, software development problem. The reason we use any 3rd party generic (in C OR C++) doubly linked list is because it helps code the problem faster. Any time you use a component you need to be aware of its overhead. After profiling my C++ code if I found that the std::list was taking up all my memory and all my cpu time I would then evaluate the algorithms I am using and pick the data structure that best fits that be that a custom link list or something else such as the above mentioned boost library.

You even have to nitpick the example about erase being expensive. When using std::list why isn't the code passing around the iterators rather than the person object? And for the memory of std::list overhead why didn't he use std::list<person>?

There is no problem using a hand made C style doubly link list in your C++ code for the core part of your application for performance reasons. Being a C++ program doesn't mean you can't use C style code or even have asm snippets. Following the same logic as the blog ZeroMQ should have been written in ASM and not C because it could have been faster, or the reverse it should have been written in Ruby because it would have been coded in a quarter of the time (but at the trade of slower runtime)

As for the conclusion I would say that the inefficiency is still in ZeroMQ code as the author doesn't fully understand C++.

<comment><AUTHOR> Why not pass iterators? Consider the case where the object is contained in two lists. You would have to pass a pair of iterators. What if it is in 3 lists? Etc.

<comment><USER10> Agreed, but for the example the object only needs to live in one list (as shown by the fact that it could have been a C struct that contained the next/prev pointers) so passing iterator would have been sufficient and would have solved the O(n) problem(s?) he was having.

<comment><USER11> Exactly, the C example could not be contained in more than one list at a time, so if this is a concern, the C solution wouldn't work either.

</comment></comment></comment></comment></comment><comment><USER12> Ugh, the two solutions to this problem he proposes are _totally_ different. The C version allows a person to only be a member of a single list.

<comment><USER13> In addition to that, he's effectively comparing apples and steaks in the case of std::list.erase() vs linked-list removal. If you want O(1) removal of a random element, you use a data structure that guarantees O(1) removal of a random element (caveat: not all lists are created equal, and not all lists have O(1) removal.)

That said, it's not even removal that's O(n) here, though he may characterize it this way: it's finding the element to remove, and list searches are nearly always[1] O(n) - even with doubly-linked lists.

[1]: Except in the case of CFArray/NSArray, which is occasionally a non-list masquerading as an array - this is, of course, not a true exception as it's not a true list. (<http://ridiculousfish.com/blog/posts/array.html>)

<comment><USER14> > _If you want O(1) removal of a random element, you use a data structure that > guarantees O(1) removal of a random element_

Like std::list.

It's guaranteed that insertion and removal is done in constant time. It does mean that you need an iterator pointing to the element you want to insert in front of ahead of time.

If you want to be more specific, it guarantees is that given a list of elements to insert, the insertion and deletion will be linear in the number of elements inserted or deleted (ie, independent of the size of the list being inserted into; the insertion or removal of each value passed to insert() or erase() is required to be O(1))

(That's one thing that I like about the C++ STL: It usually guarantees a certain complexity for the data structures it provides)

</comment></comment></comment><comment><USER15> Anything you can do in C you can do in C++. It is not that the author couldn't implement more memory efficient containers in C++ but that he chose not to even though he was aware of the drawbacks.

</comment><comment><USER16> To get constant-time erasure of list elements, the author should be referring to the Person elements with a std::list<Person>::iterator instead of a Person* . Passing an iterator to erase gives you constant-time erasure.

An iterator is equivalent to a pointer (* and -> get you a Person), but it also lets the implementation access the linked list node.

</comment><comment><USER17> This is a well known trade-off - your data structures affect the design and therefore run time profile of your algorithm.

A tightly coupled data structure is more efficient in time and memory, but harder to reuse, and makes it harder modify the code. A more general data structure is easier to reuse and makes it easier to modify the code, at the expense of time and memory at run time.

We use a combination of Moore's Law, and the cost of a programmer to justify the less efficient general solution in the near term, and explain that we'll optimize hot spots later. This mostly works. The Author has found himself lamenting this choice in piece of high-performance software.

If he has few lists, then coding the doubly-linked list pointer directly in to his structs is the way to go. If he has many lists, I'd suggest using the cpp or m4 (or some other templating tool) to statically generate doubly-linked lists at complile time.

<comment><AUTHOR> My point was that the trade-off is not something unavoidable. A better language could allow you to syntactically decouple the tightly coupled objects. See the example at the end of the article.

<comment><USER11> _A better language could allow you to..._

And yet C is not this language.

<comment><USER18> And even if it was, C++ is nearly a superset of C. Write the part in C-style code which works best in C and then move on with your life...

</comment></comment></comment></comment><comment><USER19> What strikes me is the assumption that C++ is an object-oriented language. Yes, there is some support for the paradigm but it is neither great nor is it the main focus of the language. Developers have come up with reusable intrusive data-structure solutions, well knowing that they are bad for encapsulation and they are widely accepted. Most C++ developers wouldn't even shrug when you write a C-style list (in absence of a good library) precisely for the reasons stated in his article.

<comment><USER20> This brings to mind Alan Kay's quip that "I made up the term 'object- oriented', and I can tell you I did not have C++ in mind."

<comment><USER19> I was thinking the same after re-reading my post. I always thought it was a negative statement but it simply confirms what Stroustrup has always been saying about C++: "It's a multiparadigm programming language." Surely the support for one or the other paradigm could be better but this just reflects that things are shifting away a little from pure object-orientedness across languages.

</comment></comment></comment><comment><USER21> Okay, I hate C++ as much as the next guy, but this is ridiculous. There are dozens of ways to get similar code to what the author mentions.

So lets say a decent C++ programmer writes it with std::list<person *> then does some profiling and determines that heap fragmentation is becoming an issue. They can then refactor the code to use a more intrusive list type.

A crappy C++ programmer won't even know its a problem, but presumably we are comparing programmers of similar expertise?

<comment><USER22> A relatively new C programmer would probably come up with the C code. From the discussion of this topic it appears the C++ solution needs quite a bit more expertise to get right (I would not have known what exact C++ method to use, but I don't pretend to be a C++ expert at this point).

Hmm, actually I would expect most of the C++ methods not to have a problem with heap fragmentation, if they are copying the list when manipulating. The C one doesn't know when it will alloc a new bit of memory, so you might potentially have a cache miss for every single node in the C list, making traversal the worst case scenario.

</comment></comment><comment><USER23> Funny, I was going to say the reason to not use C++ was to make sure no one starts bloating up your code size by using boost.

<comment><USER24> It might bloat up a code base, and the resulting binary (if you are using it just for the sake of it), and increase the build-time (if you aren't careful/don't know what you are doing), but it definitely doesn't bloat up the size of the code you are writing...

</comment></comment><comment><USER25> Having no experience with C++ the next statement will just further show my ignorance of the language.

I was under the impression that an optimizing C++ compiler would be able to inline the container object and the contained object into one when working with template code, so that you would end up with something exactly like the C version but without the manual bookeeping.

At least I thought it could do this for certain types of classes, much like an optimizing C compiler can selectively inline functions based on heuristics.

<comment><USER26> You are on the right track here, but consider what the contained object is:

        std::list <person*> people;

You're right that the instantiated list entry (what the article calls "helper") will directly include a value, but the value here is a pointer to a person, not a person.

<comment><USER27> There is nothing stopping him from having a list of person and avoiding the memory overhead of references though.

</comment></comment></comment><comment><USER28> For a person with OCD, this title really bothers me :/ I want it to say "Why I should have written ZeroMQ in C, not C++ (part II)".

</comment><comment><USER29> If you always reference the person in it's people list (i.e. the object is "owned" by the list), you never need to pass around a ptr to the object of type:

        person *

Instead you can pass an list iterator which references the "person in the list" of type

        std::list<person *>::iterator

Then you don't need to do an O(n) walk of the list to find the entry for erasure, you can just people.erase(it) directly.

<comment><AUTHOR> I've modified the text to address this comment:

EDIT: A lot of people point out that iterator should be used instead of pointer. However, imagine the object is contained in 10 different lists. You would have to pass structure containing 10 iterators around instead of the pointer. Morever, it doesn't solve the encapsulation problem, just moves it elsewhere. Instead of modifying "person" object every time you would want to add it to a new type of container you would have to modify the iterator tuple structure.

<comment><USER29> If the object is contained in 10 different lists, wouldn't the C version have 20 ptrs (10x prev and next)? That seems to me to be roughly equivalent complexity to your proposed "10x iterator" in C++, if I've understood correctly.

Basically, something needs to track your references if you have multiple lists. With C prev/next ptrs, the tracking is explicit in the object (well, the adjacent objects in the lists, to be more precise). With C++ containers, the tracking is iterator based.

With C++ you also have the option of using a smart pointer to do your usage tracking, which is probably simpler than either of the two approaches.

<comment><AUTHOR> Yep. That's the way it is done in C. See Linux kernel for example. No problem with that as there's no expectation of well-encapsulated objects in C.

<comment><USER11> So you're saying one should use C over C++ because C++ doesn't provide an easy way do X and yet C doesn't even try? You seem to be complaining about a number of shortcomings in C++ and then preach that C is better for this even though the solutions you write in C have all the same shortcomings and more (not well-encapsulated). You're comparing apples to oranges. I don't quite understand the logic here at all.

The beauty of C++ is that you can use the features that you want and ignore the rest (and only pay for what you use). There is nothing stopping you from writing certain parts of your codebase in C-like ways where it makes sense and still benefit from other C++ language features.

<comment><AUTHOR> Yes. For me the biggest added value of an OO model is the encapsulation. If a language is not capable of delivering it why use it at all?

</comment></comment></comment></comment></comment></comment><comment><USER30> Incapsulation is a very questionable concept as well. However what C++ does provide is the generic programming: in C you will have to copy and paste implementation of List for every data structure as well as the algorithms. As suggested in the comment there are no inherent deficiencies in C++ and there is an implementation of intrusive lists in Boost. You don't have to use incapsulation if you don't want to.

<comment><USER31> _Incapsulation is a very questionable concept as well._

One can live without it on a smaller scale. But for anything that will have any lifetime whatsoever it's absolutely essential. Distinguishing between a module's intended interface and its implementation details is what makes it possible to amend the implementation should the need arise. Without proper encapsulation every change must be assumed to be a breaking change, software maintenance costs go through the roof, module interactions become unpredictable, and that upstart kid who wears Chucks to work but knows how to write testable code eats your Wheaties.

<comment><USER30> Well, incapsulating algorithms is great. But incapsulating of the data is not always. Languages like Haskell completely go away without it.

<comment><USER32> Incapsulating, in this context, isn't a word.

You want encapsulate. Encapsulation. Encapsulating.

The "en" prefix means put into or on something. You're saying you're putting something into a capsule or "isolating it".

The "in" prefix in English usually is the negative, or "not".

Intolerable: not tolerable.

<comment><USER30> Thanks for correction. I am not a native English speaker and in Russian(my native language) the word Encapsulation starts with Cyrillic "и" to which the closest analogue in Latin is "i" - hence the confusion!

<comment><USER32> > I am not a native English speaker and in Russian(my native language) the > word Encapsulation starts with Cyrillic "и" to which the closest analogue in > Latin is "i" - hence the confusion!

I figured, I'm a native English speaker learning Russian, as it happens.

Будем здоровы

</comment></comment></comment></comment></comment></comment><comment><USER33> While I am an advocate of straight C programming, I wonder if his issues with his person list in c++ vs a person dlink list implementation was an incorrect comparison.

stl vector would have been the proper "optimized" way of implementing that list of people in c++, as vectors don't deal with the heap. If your vector's memory space can fit entirely in L2, we're looking at IMMENSE performance increases.

<comment><USER3> vectors don't deal with the heap? Huh? Yes they do.

<comment><USER34> I think the comment was a bad phrasing of "a vector is a contiguous memory structure, whereas a list is a series of independent allocations at various points in the heap".

<comment><USER3> Sure, but also remember that while vectors are better at locality, both vectors and lists can trash the heap; both are making variable sized requests on demand from the allocator.

<comment><USER35> Every time I've had to deal with fragmentation, it was due to a small number of _large_ objects. Never large numbers of small objects. ymmv.

<comment><USER3> Very definitely not my experience.

<comment><USER35> Didn't mean to imply it was always the case. Just a counterpoint to the conventional wisdom that fragmentation is only a problem with lots of tiny objects.

<comment><USER3> Sorry, we always sound snippy on message boards. I'm not That Guy in real life. Wait no I totally am.

</comment></comment></comment></comment></comment></comment></comment></comment><comment> X-Istence What happened to using:

      mylist->remove(object);

Let the underlying algorithm take care of it. No need to write out the loop. Also, this makes it easy to then switch to std::vector or a hash based list or something else where walking the list may not be required.

</comment><comment><USER36> std::list (used correctly) is IMHO a great example of why you should write in C++, not in C.

Most large C projects I've seen end up with multiple implementations of lists. You will have some combination of: void* for a generic list, performance issues because everything is a function call to another C file which won't get inlined, memory leaks, subtle bugs, thread safety issues because it's often unclear what guarantees the homebrew version provides.

Do you want to spend your time on reinventing the list or on things that provide value?

(Edited for formatting)

<comment><USER37> Hrm. Check out sys/queue.h in any BSD (Linux too - though Linux kernel code IIRC uses a different list implementation). You don't necessarily need void * for a generic list, and you most certainly don't have to reinvent the wheel.

<comment><USER36> queue.h is an improvement. You still need to somehow know this is in BSD and you'll need to copy it to build on different systems.

The thing is that in C, most people do reinvent the wheel, including the person in the original article and as you say, the Linux kernel. That's been my experience.

std::list is standard and cleaner IMO.

</comment></comment></comment><comment><USER38> The level of disagreement and misunderstanding surrounding C++, its typing and implementation is a sign that the language and its community openly welcome extraneous cognitive load. Or its a sign of my own confirmation bias or both (or neither). Other languages have their quirks as well, but C++ stands out for me. I haven't done a study--perhaps there are studies on this, so my opinion amounts to so much line noise.

</comment><comment><USER39> At least for 2nd problem mentioned wouldn't

      std::unordered_map<person *, person *>

make sense?

</comment><comment><USER40> I'm amazed nobody is talking about his 'private in' idea.

<comment><USER35> Perhaps someone could explain how it differs and compares to the friend keyword.

<comment><USER40> It has more to do with layout than with access control. Fields belonging to one class get stored and laid out with another object. They're accessed as part of the other object, but the locks they acquire are for the original object.

I see faint echoes of ruby's open classes if I squint..</comment></comment></comment>


Examples of Design-Enhanced Data - <AUTHOR> http://www.viget.com/inspire/infographics-galore/

<comment><AUTHOR> Sorry about the formerly digg-tastic title; kept it only because is was the actual blog post title.</comment>


Poor Steve Ballmer. Now he really does have egg on his face - <AUTHOR> http://news.bbc.co.uk/1/hi/world/7412417.stm Steve Ballmer has to dodge eggs in Budapest <comment><USER2> How do you miss with three eggs from point blank range?

<comment><USER3> Linux users can't throw.</comment></comment>


Difference Between a Professional and an Amateur - <AUTHOR> https://www.mountaingoatsoftware.com/blog/the-difference-between-a-professional-and-an-amateur <comment><USER2> I do not like this analysis.

"A professional always does everything necessary to complete a job. An amateur sometimes chooses only the fun parts."

My problem is, what is "a job"?

Most people work on a team in order to work on "the fun parts" and let someone else deal with the other parts. I'm lousy at marketing and sales. I cannot do graphical design. Don't trust me at all to handle the bookkeeping.

Those are all parts of of the job of releasing a software product. But I only find the programming-related parts to be fun.

That's why I'm a professional programmer, but not a professional in the other fields.

I also don't like this:

"An amateur golfer, for example, may thrill at the crack of hitting a 300-yard drive but hate putting. And so that amateur may frequently choose to pick up the ball once it's "close enough" to the hole."

Golfing has amateur championships. When Tiger Woods competed in the United States Amateur Championship in the mid-1990s, he did not "choose to pick up the ball". He did all of the parts, and did them well.

The USGAs rules about amateur status include things like a limit of $750 max prize money for the tournament. [http://www.usga.org/content/usga/home- page/rules-hub/amateur...](http://www.usga.org/content/usga/home-page/rules- hub/amateur-status.html) It's "amateur" because the golfers aren't making a living from golfing.

<comment><AUTHOR> Hmm, I think I'm reading this differently.

There are fun and less-fun parts of programming -- building a new feature? Fun. Analyzing requirements, or doing code review, or spelunking through a crappy and undocumented 3rd party API? Less fun. But all can be part of the same 'job' of developing a feature.

The article is saying the amateur is the one who skims off the fun parts, and avoids the others, whereas the professional does the entire job -- gets to done-done, vs just 'it works'.

On golf: You are correct that Tiger Woods did not pick up the ball on the putting green when playing amateur tournaments. I don't think the article's making a point about the official USGA definition of 'amateur'.

<comment><USER2> My complaint is that the author appears to be using the term "amateur" as a slur.

There are professionals - people who get paid to work on projects for a living - who shirk the less-fun parts. The author seems to want to call those people "amateurs".

There are amateurs - people who are not paid to work on projects - who are very serious about their work and do the less-fun parts. Should we call these people "professionals?"

We need only look at volunteer organizations to see non-professionals doing hard and often thankless work. We see people work hard to excel in amateur sports all the time, even if only to make a personal record. It therefore doesn't seem right to associate "amateur" with the qualities that the author is trying to describe.

I pointed out the USGA example precisely because the author seems to think that those terms and definitions can be applied to golf. Since they can't, they likely can't be applied to other fields either.

Wouldn't "lazy worker" and "good worker" be more appropriate terms than "amateur" and "professional"?</comment></comment></comment>


Edwardsnowden.com - <AUTHOR> https://edwardsnowden.com/ <comment><USER2> Mr. Snowden is going to have to wait for a change of government in the U.S. before he can return. The Obama Administration, as well as several senior Republicans, have all called for his arrest and punishment.

Hillary Clinton is hostile to Snowden as well. Her administration, were she to be elected, would doubtless continue to pursue his extradition. Trump wants him executed, and even Rand Paul wants him thrown in jail ("same jail cell with Clapper").

I'm very sympathetic to Edward Snowden's cause, and I hope that he stays away from countries that might extradite him until such time as he's granted a pardon.

<comment><USER3> Yet another reason for me to vote for Bernie Sanders.

<comment> _-__--- Has Sen. Sanders explicitly stated a more welcoming attitude concerning the status of Mr. Snowden?

<comment><USER4> He's more welcoming, but he too believes Snowden is a criminal; he wants lenient charging and sentencing for him (a "plea deal" of some sort, is how he put it).

<comment><USER5> By law, Snowden IS a criminal irrespective of whether his actions are moral or not (as I am not American, I don't take a stand on that and I don't care).

<comment><USER6> Only saying that "he broke the law, hence he is a criminal", is almost meaningless. Its like, the sun rises in the east. Everyone knows he broke the law, and its not part of the debate at all.

The question is... knowing all that we now know, should we treat him like a criminal?

Many people broke the law and became criminals, in order to do what was right.

Gandhi became a criminal by refusing to pay tax on salt. Americans became criminals by refusing to play ball with 'taxation without representation'.. (or the boston tea party). Rosa parks became a criminal when she refused to sit in the back of the bus. In taliban's view, Malala became a criminal when she decided to go to school.

Breaking the law is not always bad... sometimes, it is essential to break the law, in order to do the right thing.

I find it difficult to believe that you really don't care, don't have an opinion or have no moral stand on this issue. It reminds me of this famous line...

First they came for the Socialists, and I did not speak out— Because I was not a Socialist. Then they came for the Trade Unionists, and I did not speak out— Because I was not a Trade Unionist. Then they came for the Jews, and I did not speak out— Because I was not a Jew. Then they came for me—and there was no one left to speak for me.

Mass surveillance and punishing whistleblowers are not just American evils. They are the evils of the powerful, who are everywhere around the world.

</comment></comment></comment></comment></comment></comment><comment><USER7> For those wondering who runs this site / if it's endorsed at all by snowden himself (can't find anything stating such a thing outright yet) - from the bottom of the faq ([https://edwardsnowden.com/frequently-asked- questions/](https://edwardsnowden.com/frequently-asked-questions/)):

### Who runs this website?

The site is commissioned by the trustees of Courage to provide information on the threats Edward Snowden faces, how he is being protected, and what you can do to support him.

### What is The Courage Foundation (formerly the Journalistic Source Protection Defence Fund) and who runs it?

Courage is a trust, audited by accountants Derek Rothera & Company in the UK, for the purpose of providing legal defence and campaign aid to journalistic sources. It is overseen by an unrenumerated committee of trustees. Edward Snowden is its first recipient. The terms of the fund and its trustees can be obtained from Derek Rothera & Company.

<comment><USER8> Snowden's Twitter lists his site as freedom.press, so I would guess this is unofficial.

</comment></comment><comment><USER9> Some pretty cool documents are linked here, especially [https://edwardsnowden.com/2015/08/25/are-you-the-sigint- phil...](https://edwardsnowden.com/2015/08/25/are-you-the-sigint-philosopher/) , which I have created another HN thread on.

I'm not sure if those documents were previously disclosed or what, but the ones that I just mentioned relate to an internally targeted NSA propaganda campaign designed to keep their analysts complacent. It's pretty obvious if you read the documents.

<comment><USER10> See: [https://news.ycombinator.com/item?id=10041046](https://news.ycombinator.com/item?id=10041046)

</comment></comment><comment><USER11> I suppose that just for the simple fact of visiting that webpage we will be permanently monitored by the NSA.

<comment><USER12> You know what's awful? I had the same thought—without joking. Like that's where we're at in life in the US. What a depressing state. What a bummer!

<comment><USER13> You know what's awful? Living in a country where political opponents are murdered, not just spied upon. Or else they are prosecuted for crimes they couldn't have possibly committed. Where there are actual enforced Internet blacklists which can contain anything from political blogs to github.com. Who could possibly support this? Oh right, Snowden does. The fact that he lives in this country, in a penthouse apartment and buddy-buddy with Putin, while Russian whistleblowers like him (e.g. Navalny) are constantly persecuted, and people are actually praising this guy is what's actually depressing.

<comment><USER14> This is basically a 'but those guys are even worse'. That has never worked when attempting to excuse our own behavior.

<comment><USER13> It would be if I weren't talking about my own country. I'm saying 'our guys are worse than your guys and Snowden is actively aiding and abetting our guys'.

</comment></comment></comment></comment></comment><comment><USER15> I'm surprised that he's using PayPal considering they froze the Wikileaks account back in 2010.

<comment><USER16> At some point the USGOV will subpoena them for the list and stage summary executions. s/.

</comment></comment><comment><USER17> I find it interesting that the US government goes after a person that exposed inside government law breakers but they let Hillary run for president by lying to the public and government. Something is just not right!

</comment><comment><USER18> The site is unclear about what they're asking donations for. To keep Snowden alive? Cost of a trial? If so, which? Towards a campaign lobbying for a pardoning of Snowden?

</comment><comment><USER6> Can there be a national referendum? A vote by everyone in the USA on whether the charges against Snowden should be dropped or not?

Why or why is this not a good idea?

</comment><comment><USER9> Looks like Snowden is stepping up his PR game. I think this is good. The disclosures have dropped off until recently, so we need to refocus on keeping the pressure on the government, and Snowden is a convenient figurehead for this purpose.

<comment><USER19> This isn't Snowden.

<comment><USER9> It isn't Snowden, but surely it's done with his permission. If it wasn't, we'll hear about it quite soon.

</comment></comment></comment><comment><USER20> [https://search.edwardsnowden.com/](https://search.edwardsnowden.com/)

</comment><comment><USER21> Isn't donating money to someone wanted by the state a crime? He might be hiding out in Russia, but I'm not...

</comment><comment><USER22> defence

</comment><comment><USER23> Laura Poitras: "I asked to interview him on camera. His first response was no, he didn't want the story to be about him."

Now he's got twitter and edwardsnowden.com?

Personally, I give him the benefit of the doubt in all cases. I think there was a lot more that he could have leaked and didn't, because he believes in the value of the NSA. I think he was careful to only leak things that dealt with mass surveillance of American citizens. I think he gave up a lot of comfort to try to inspire a society that he knew in the back of his mind probably wouldn't care. I think he loves his country. Most of all, I think he's probably further on the side of national security in the privacy vs security debate than people would probably think.

But other people aren't like me. I really hope Snowden is able to bring the conversation in the right direction, because this debate about what our government should be doing is far from settled and there's a lot riding on his demeanor. There's a lot riding on whether average Joe sees Snowden as profiting from his whistleblowing or giving up his comfortable life.

Snowden making funny tweets is extremely high risk.

<comment><USER24> Yes and at the time that was the correct response. The story is over everybody takes the things revealed then as fact.

New he just needs to survive without getting assassinated.

<comment><USER23> Oh please. Who stands to benefit and who stands to lose at this point from the assassination of Snowden?

<comment><USER25> A little less snarky way of putting that might be to say that does not help the US's image. If he were to mysteriously die of a heart attack, everyone who thinks positively of Snowden is going to immediately blame the US for shenanigans.</comment></comment></comment></comment>


Ask HN: What are you using drones for? - <AUTHOR> I've seen a few people buying drones and using them for photography.
While that's a perfectly fine use case, I was wondering what other applications drone could have.
I can easily imagine them being used for agriculture/environment monitoring. <comment><USER2> Although I don't personally use them for this purpose, I would expect to see more assassination attempts via explosive consumer drones in the future.

[https://www.bbc.com/news/world-latin- america-45073385](https://www.bbc.com/news/world-latin-america-45073385)

</comment><comment><USER3> I have two of them, a "huge" transport model that I use for quality video recording, and a very small one (that I'm pretty much still building) with a fast but low-qual. FPV camera, which I input the feed on my computer with a special receiver.

</comment><comment><USER4> > I was wondering what other applications drone could have

[https://en.wikipedia.org/wiki/List_of_unmanned_aerial_vehicl...](https://en.wikipedia.org/wiki/List_of_unmanned_aerial_vehicle_applications)</comment>


Scala + JDK6 annotations = Simple Web Service  - <AUTHOR> http://scalabound.org/?p=179 <comment><USER2> Perhaps a bit too simple, the site is hanging?

</comment><comment><USER3> i can't see the site yet (hanging, overloaded?) but I'm sure a similar idea could be done in Python, Ruby, etc. Heck with web.py alone it only takes a few lines of code to get a simple web app running and handling requests on a port of choice.

<comment><USER4> The Ruby tool for doing this is Sinatra.

</comment></comment><comment><USER5> Site is hanging for me too.

<comment><USER6> Then just thumbs up the other comment ;)</comment></comment>


The life and death of read tracking - <AUTHOR> https://missiveapp.com/blog/life-and-death-of-read-tracking <comment><USER2> Author here, to summarize the post, read tracking doesn't really work, can be weaponized, is most certainly illegal in many places and is potentially deadly to our business. Pulling the plug seemed obvious to the four of us.</comment>


Google gets away with GSuite feature postponing - <AUTHOR> Our organization uses GSuite for emails and Google Drive.
About a year ago, we were thinking about implementing Slack and Confluence, but looking at google's offerings at the time (new Google Sites and Hangouts Chat), we postponed this migration and decided to stay with GSuite (use unfinished Google products in the meantime).
Unfortunately, Google keeps pushing them further into the future, and I don't mean "next month", but years into the future.
https://gsuiteupdates.googleblog.com/2019/01/google-sites-improvements-new-roadmap.html
https://gsuiteupdates.googleblog.com/2019/08/updates-to-hangouts-chat-migration.html
It seems to me like a deceiving tactics to keep customers on the hook.
Not sure what to do about it, though. Leaving GSuite is one option, but it comes with a cost and, of course, that cost is almost fatal for us, while I don't think that Google cares about losing a small customer like us.
Anyone else with the same problem? <comment><USER2> Yes!

We've held off on adopting Slack because Hangouts Chat seemed promising. But here we are almost 3 years since it was introduced and there's still no integration with Gmail. Argh!

To add insult to injury, while we're stuck using crusty old Google Chat, (due to its integration with Gmail), Microsoft Teams is adding features regularly and has blown by Slack in terms of DAU.

Google Sites is even worse. "New" Google Sites was introduced in June of 2016. Since then, it's received _very_ little attention in terms of ongoing development.

Meanwhile, companies like [https://www.notion.so/](https://www.notion.so/) are completely eating their lunch (Notion has only 27 employees last time I checked). It's hard for me to believe that Google employees use Google Sites internally in its current state when there are so many better options out there.

I've lost all hope on Sites. I'm still hopeful that Google will make Hangouts Chat competitive with Slack and M$ Teams.

All that said, Gmail, Gcal, and Google Drive are still really really good. Even Hangouts Meet has improved significantly over the past year.

<comment><AUTHOR> Since we already use MS Office (and paying for Office 365 subscription), moving to MS "ecosystem" looks like more and more likely option.

The only problem there is video conferencing (Skype is awful), but we use some other solutions for that, anyways (as enterprise customers we are dealing with are really not accustomed to meet.

Can't believe that MS looks agile compared to Google when it comes to these things. It seems that Ad business is eating up all the talent over there...

<comment><USER2> > It seems that Ad business is eating up all the talent over there...

Yes, and trying to catch up with Amazon on cloud services.</comment></comment></comment>


Meetings are not dead - <AUTHOR> http://blog.getsolid.io/meetings-are-not-dead/

<comment><USER2> Great stuff. I thought the use of Slack was driving down the number of meeting

<comment><USER3> We use slack at work and we still have plenty boring and useless meetings!</comment></comment>


"Hitting the Wall" – Rabb.it Is Shutting Down - <AUTHOR> https://www.linkedin.com/pulse/hitting-wall-amanda-richardson/ <comment><USER2> I think this is so expected. Rabb.it is a good idea and how it was before the update was amazing besides the fact anybody literally anybody could pull IP's from accounts. I'm part of the more "trolling" aspect of Rabb.it only toxic rooms & a toxic community who've known each other throughout years, Yes years. The fact Rabb.it couldn't even stand on its feet as a business is truly disappointing, The developers just couldn't use their mind I guess, Enable the option to Flip your Camera, Being able to a room your friends in by clicking a button & the fact their was so many Muslims,Arabic people who just showed up out of the blue and took over #music Rabb.it rooms. Just simple things they could not fix. I'm not shocked at all, Hours and hours on the site, Getting a huge reputation and community just for it to all disappear and never be seen again I can see all Successful business people vouching for you and Thanking you for the notice, But just know this was you, and not being able to run a simple website. #squeakersquad #RIPRABBIT

</comment><comment><USER3> [https://twitter.com/corestormy/status/1147174502494810112](https://twitter.com/corestormy/status/1147174502494810112)

</comment><comment><USER3> [https://www.reddit.com/r/Corestormy/](https://www.reddit.com/r/Corestormy/)

</comment><comment><USER4> Back in may the site's service degraded which has led to a near permanent "we are having intermittent issues" bar at the top of their page. I use it bi- weekly but felt the site really start to fall apart.

This article highlights the behind the scenes but people wouldn't pay for it as highlighted in the article.

Personally, I would.

</comment><comment><USER3> squeaker is one of the reasons rabb.it is shutting down. They had a backer and were about to grow into pay by month small charge, but the company that was going to back them pulled the offer after researching rabb.it Now I know people who are building a site just like it, and people like squeaker will be IP banned and they are putting a vnp block on the site.</comment>


Ask HN: I will pay you if you find me this HN link. Super crucial - <AUTHOR>

Hey guys. About a week back, maybe 1.5, there was an article posted about mobile trends. It was a slideshow embedded on some site with one of those new nice services to embed slides in. It was I think 117 slides detailing trends in software, mobile vs pc, revenue, tons of stuff.
It was made by a man and a woman. Asian man and elder white woman. It was a brown page with a bit of text with the presentation embedded in the tip. I can't for the life of me remember anything about the HN title or text on the page itself.
It'd be unreal if someone found it, it would quite literally save my life. Yes, literally. <comment><USER2> [http://www.slideshare.net/kleinerperkins/kpcb-internet- trend...](http://www.slideshare.net/kleinerperkins/kpcb-internet-trends-2013)

</comment><comment><USER3> it is called: mary meekers internet trends 2013

[http://allthingsd.com/20130529/mary-meekers-internet- trends-...](http://allthingsd.com/20130529/mary-meekers-internet-trends- report-is-back-at-d11-slides/)

<comment><USER3> since I was the one that called it first, I should be paid.

Instead of paying me, why don't you make a donation to EFF instead: [https://www.eff.org/](https://www.eff.org/)

Any sum is appreciated.

<comment><AUTHOR> $10 will be donated tonight if I don't forget. Thanks.

</comment></comment></comment><comment><USER4> Google "mobile trends"... result number 4...

</comment><comment><USER5> I found it- now tell me the terms :P

<comment><USER5> Here [http://freshpeel.com/2013/06/mary-meekers-internet-trends- ma...](http://freshpeel.com/2013/06/mary-meekers-internet-trends-may-2013/)</comment></comment>


Eric Schlosser: If We Don't Slash Our Nukes, Major City is Going to be Destroyed - <AUTHOR> http://www.motherjones.com/politics/2013/09/interview-eric-schlosser-command-control-nuclear-weapons-accidents

<comment><USER2> eric schlosser is an historian. not that i think it is a good idea to maintain our nuclear arsenal, but i think an historian's opinion here is ... well, a bit out of line?</comment>


Ask HN: How to find a CTO and CFO - Social Media Company - <AUTHOR>

My name is Barrett and I'm the founder of a social media events company called CreaTour. We organize events all over the nation for fans to meet their favorite Viners, Instagrammers, YouTubers, etc.
Anyway to date we've done Austin and Orlando and I'm currently working on getting investors involved and planning out future events. We've already grossed over 100k JUST from ticket sales.
I have lots of ideas how I want to expand it and recently we launched CreaTourMGMT where we manage different influencers or internet personalities. We 're working on growing our lineup.
Anyway as all this growth and awesome things happen, I need help.
I'm currently seeking a CTO (Chief Technical Officer) to help fulfill all our awesome creative endeavors.
I'm also seeking a CFO (Chief Financial Officer) to help manage everything from budgets to taxes and everything inbetween as the company continues to grow.
If anyone is interested or knows someone who may be interested please let me know!
Just to clarify... EVENTS IS JUST THE BEGINNING. As I mentioned above we are already expanding out into management and have lots of other areas we want to do as well.
email@example.com <comment><USER2> A company that has grossed 100k doesn't need a CFO. You need an accountant. Don't slap a fancy title on someone until you need to actually hire someone who deserves it (like when you're grossing $5-10m/yr, or want to go public). Don't do it if for no other reason than when you get to the point where you actually need a CFO, you're going to have to tell the guy who isn't qualified that he's out.</comment>