PhotoTime – Smart Photo Organizer and Finder for Camera Roll and More - <AUTHOR> https://itunes.apple.com/us/app/rekome-your-personal-image/id846435251?mt=8

<comment><AUTHOR> PhotoTime is the smart photo management app that automatically organizes, sorts and tags all your photos, including those from your camera roll and social networks, to make them fast and easy to search and find.

\</comment><comment></comment><comment>- Why Love PhotoTime:

>> Search Your Photos With PhotoTime, finding pictures of friends and other memories has never been easier. For each photo, the PhotoTime app automatically recognizes who, what, when and where each photo is taken, using image and facial recognition technology to instantly generate keyword tags. You can then use keywords to search your entire photo collection, regardless where the photos are stored, on the device and on connected social networks and cloud services to find every photo with that tag. Simply search for the name, event, location or other keyword desired and share the entire search result with friends—no more manually scrolling between albums and individually selecting each photo.

>> Tag Your Family & Friends Built-in advanced facial recognition technology automatically groups faces that are thought to be the same person together for easy tagging. To search, you can simply type in the person's name.

>> Bookmark Your Favorites PhotoTime's bookmarking feature takes the photo album as we know it to a whole new—and much smarter—level. To bookmark a group of photos, you can simply tap the bookmark icon and PhotoTime organizes these images around common keywords or keyword combinations. When new photos are taken, PhotoTime automatically recognizes the content, generates appropriate tags and adds the new photos to the corresponding bookmarks.

>> Customize Your Keywords You can modify the keywords by adding or deleting the tags, to make them more personal and unique.

>> Your Photos Are Safe and Private We take your privacy seriously. We will never store your images on our servers, duplicate them on your devices or provide them to any third party.

</comment><comment><USER2> I have around 3000 photos on my phone, and it was in a mass. By first opening the app and following their flow, I'm surprisingly to found my text photos. Most of them are my working notes!

The app seems intelligent, and is useful for me.

</comment><comment><USER3> Very cool product! Finally we could search personal photo album like Google Image Search...

</comment><comment><USER4> All my friends in the photos automatically organized!!!!!</comment>


Ask HN: How do you handle software e-mail sending? - <AUTHOR>

Hi, just to be clear I'm not referring explicitly to 'newsletters'.
I've been working on a (bulletproof) solution to orchestrate sending out e-mails programmatically for the past couple of months. Although I've built working proof of concepts', I'm still not entirely satisfied with my progress and the working of said proofs.
I would be delighted to hear how you manage e-mails in your software. Do you stick with the philosophy that e-mails should just be sent or have you devised an abstraction to handle it for you?
Do you stick with a provided SMTP server (ex. for shared hosting) or do you use dedicated services (ex. Amazon SES, Sendgrid, Google AppEngine, etc.)? I've been primarily using Amazon SES as it's pretty cheap and now with the Amazon SNS integration to notify regarding e-mail send statuses it's definitely my first choice.
What kind of e-mails are you sending out?
What are you doing to cater for spam filtering (ex. SenderId, DKIM signing, sending e-mails 1 for 1 to avoid bulk e-mail junk classification etc.) or do you cater for it at all?
What approach are you following to comply with electronic communication laws? As far as I know for general compliance it is required to send e-mails with personalized links (ex. unsubscribe for newsletters, manage communication preferences for system generated e-mails).
Do you gather analytics on your e-mails? If so, what do you use? Do you track opens/reads via personalized links, transparent gifs with query parameters or both? Do you customize the links for e-mail analytics purposes? (ex. to see which call of action is most effective)
Does your e-mail implementation cater for idempotency? Do you cater for bulk sending functionality and how do you manage it? (ex. grouping multiple e-mails under a task) <comment><USER2> I've got a small side project that I'm getting started, and I'm using Amazon SES for it at the moment but I need to look into options because SES can't do everything that I'm trying to do.

I send emails such as password resets, user opt-ins (new content on the site that they're interested in), and private messages between users. I also receive email directly into the site, mostly so sending private messages to users via email allows them to reply to the mail from their email client. At the moment I don't really send newsletters or any kind of marketing email, only emails that are "part of" the app.

The thing that doesn't work for me with SES is the ability to have email aliases for things like email@example.com and have it forward to my personal email address. It doesn't matter if you've verified your personal address with Amazon, they won't send emails from unverified senders so Postfix aliases won't work. I'm not really sure what's a good way to handle this yet.. I don't want to subscribe to something like Sendgrid for this one use case, it's way too expensive for me when I'm just trying to get this thing started. Does anyone have any suggestion on a decent place to host my MX that won't cost a fortune so I can do email aliases like this?

</comment><comment><USER3> We use Mailgun for the crypto challenges (often-repeated 1:1 email exchanges with ~4800 people) and it's been great.

</comment><comment><USER4> Sendgrid</comment>


I want to go out on a whim and just say Happy new year hackers :) - <AUTHOR> <comment><USER2> Happy new year! I have been texting everyone in my phone contact list. But for all of you too happy new year!

</comment><comment><USER3> Happy new year! I hope that everyone will have a blast in the year to come

</comment><comment><USER4> Thanks</comment>


Limp, a Vim alternative to SLIME - <AUTHOR> http://mikael.jansson.be/hacking/limp/docs/ <comment><USER2> I've often wondered what vim-using Lispers do about the lack of a REPL. I'm a vim user of many years (I dunno exactly how long...I first used it on my Amiga in the early 90s), and I've only spent enough time with emacs to know it's not really my cup of tea...but I predominantly work in non-REPL languages (though Perl now has Devel::REPL which is pretty nice), and so don't have anything to miss while working.

pg is a vim user, but I've never asked him, and I don't think he's ever talked about, what his workflow looks like.

<comment><USER3> We use the console more. I have a gvim window running continuously, split a few ways, and then one or two console sessions doing whatever's needed (repl, ssh, general shelling).

Using focus-follows-mouse without raising windows is a big help, I've noticed -- type a few commands into the REPL without raising the window, see what happens, code some more without changing the window layout. Wrapping with readline (rlwrap) helps improves the REPL, too, since the keybindings for vim's insert mode are close to readline's.

PG mentioned once in a comment that the console on OS X allows drag-and-drop between a REPL session and vi. I'm picturing a wall of console sessions, possibly with screen involved. Elegant weapons, for a more... civilized age.

<comment><USER2> Makes sense. I worked in Python quite a lot a few years back, and after a while found myself using the REPL a lot for experimental development...but it was never core to my process. It was just something I'd start up when I had a particularly tricky bug or wanted to make sure I had the syntax right or something.

I've noticed that the GHC REPL is extremely limited...pretty much _just_ for "does this actually work" kind of usage, which is what I always used the Python REPL for (though IPython arrived midway through my years with Python, and made it a more obvious experimental platform). So, I didn't find it particularly uncomfortable to tinker with Haskell using vim. Sounds like Limp goes much farther than anything I've ever wished for...but might make trying out SBCL more fun. I've been meaning to spend a little time with Lisp.

</comment></comment></comment><comment><USER4> Is this site down for anyone else?

<http://downforeveryoneorjustme.com/mikael.jansson.be> dies.

<comment><USER5> Is down for me.

I found this instead:

<http://www.vim.org/scripts/script.php?script_id=2219></comment></comment>


Calibre will not migrate to Python 3 - <AUTHOR> https://bugs.launchpad.net/calibre/+bug/1714107 <comment><USER2> Unrelated to the merit of any of the arguments, opening this kind of issue is a case study for "How not to waste a maintainers time 101".

</comment><comment><USER3> That's a pity. BTW, just for sake of diversity, does anybody know any good alternatives to Calibre?</comment>


Xkpasswd - A secure memorable password generator - <AUTHOR> https://www.xkpasswd.net

<comment><AUTHOR> I quite like the way they've extended the concept from the original xkcd comic at <http://xkcd.com/936/></comment>


Thankful and lucky to have helped build Khan Academy - <AUTHOR> http://bjk5.com/post/147398152966/thankful-and-lucky-to-have-helped-build-khan <comment><USER2> I worked at Khan Academy for two internships and then just under 2 years fulltime, and don't know anyone that has anything less than positive to say about Kamens (nobody called him Ben because there were no less than 5 Bens at Khan Academy when I left).

One of his most memorable habits to me was coming into a meeting room where his words obviously had a lot of sway, then sitting on the ground when we were short on chairs.

He was an inspiration to many, first as an engineer, and later as a manager, and I'm excited to see what he takes on next.

<comment><USER3> > One of his most memorable habits to me was coming into a meeting room where > his words obviously had a lot of sway, then sitting on the ground when we > were short on chairs.

I love hearing stories like this. "Servant leadership" means so much to me. Being humble, realizing that people closest to the problem have the most knowledge, hiring folks smarter/stronger than you are--all key aspects of a leader I want to work for. (Of course, you still have to have the "leadership" component too.)

<comment><USER4> Education: I have been fortunate over the years in having managers who see their role as supporting me (and my tribe of colleagues) to teach students. That includes; going over the shop to get yellow paper to make copies for the student who needs handouts on yellow and who turned up in my class without warning (not the students fault); sorting out the student who is being totally unreasonable and rude (phone call to Mum, one day suspension); staying late to sort out class groups and exam registration when they get scrambled.

You get the picture.

A quote from Steve Reich...

[http://sohcahtoa.org.uk/pages/files/quotes.pdf](http://sohcahtoa.org.uk/pages/files/quotes.pdf)

and the _good_ managers support us in that.

</comment></comment></comment><comment><USER5> Back in 2010 when I first heard about Khan Academy and started using it the videos were incredible but the exercises were limited at best.

Over the past six years I've seen the quality of the videos, the exercises, and the tracking of student progress improve at least 10x on the whole.

Ben has played an massive role in the development of Khan Academy and though it, has effected the lives of millions of students myself included.

If you are reading this, thank you so much for all of your hard work.

</comment><comment><USER6> I used Khan Academy over the years...and I have some questions.

1) Why do they keep redoing the exercise system? It seemed that they are changing for the sake of changing.

2) How do I know if there are new math problems and exercises that show up? I am interested in advanced math and learning how to do math proofs, not simply compute an answer.

<comment><USER7> Khan Academy is focused on K-12 (I think it's called. First grade through high school) math, so I'm not sure it's the right place if you want to do advanced math.

One year ago you could answer all exercises using only the keyboard and now you can't. That is a shame, but I think most young students (the main focus) weren't using this feature, so it was kept alive as more and more types of exercises were added. And these new ones are a great addition.

<comment><USER8> Just to note, our eventual goal is to have toddlers through what I think we call C-2 internally (sophomore year of college in the American system). We do actually have content at all of those levels, and expanded really nicely to the younger crowd when we "bought" Duck Duck Moose, but we're definitely not covering all of those areas consistently across subjects. Some stuff (e.g. art history) is only at high school level, other stuff (e.g. English) covers the gamut but amazingly randomly in terms of actual content, etc.

So, I don't think we'll have "advanced" math (for some values of "advanced") any time soon, but we're definitely aiming to get solidly into general college-level stuff, so things like stats/linear algebra/etc. should all be covered nicely eventually.

<comment><USER9> I hope you achieve your goal. Not long ago I saw a posting for a mechanical engineer content creator. By the time I had a moment to prepare an application, it was (presumably) filled.

I hope Khan Academy continues to create content in areas for young adults and up.

</comment></comment></comment></comment><comment><USER10> Just to point out, this was back in July

</comment><comment><USER11> What's Ben doing next?

<comment><USER12> His LinkedIn says "Pointing engineering and leadership skills at healthcare."

</comment></comment><comment><USER13> Where do they get their revenue from?

<comment><USER14> I would say the vast majority of their money comes from grants (I'm guessing here). I got an email from them at the end of 2015 asking me to donate $3 but when I saw that Sal Khan was pulling down a salary of $550k+ I was completely turned off by it. In fact, I actually emailed Sal and asked him (the email appeared to come from Sal himself) but never got a response.

Don't get me wrong, I appreciate what organizations like Khan Academy do, but I find emails like this a little misleading, "there are only hours left in 2015, and we need your help to raise the money that we need to keep innovating and offering new learning experiences in 2016 and beyond. If you're able to pitch in, we'd really appreciate your support before 2015 is over."

Granted I am picking on Khan Academy a bit here, this is how most nonprofits function.

<comment><USER15> I think sal khan is a good example to follow for non-profit startups. non profits are a sizable portion of the economy and are a nice option between government and for profit corporations for executing an idea.

In some ways, nonprofits maximize surplus for workers and customers at the expense of owners and government.

<comment><USER14> Sure, Sal Khan is a great example that you can do a start up, get on that sweet grant gravy train and still make a respectable Silicon Valley salary. What's not to like? I just wish non-profits like this would drop the BS facade of acting like my $3 is going to make or break the organization. The only thing that will wreck an organization like Khan Academy is if/when they stop receiving grants which will likely never happen.</comment></comment></comment></comment>


Fun startup: analyzes live sports scores to suggest can't-miss games on now - <AUTHOR> http://www.areyouwatchingthis.com/ <comment><USER2> ...until of course you notice that a baseball game being played in April has more votes than a hockey playoff game.

Being that personal bias (as I just demonstrated) plays a huge role in my sports viewing, why would I care what other people think are good games?

</comment><comment><USER3> You might have better luck putting it on <http://demomyapp.com/>

There seem to be a lot of "try my new app posts." Maybe a subreddit style category for demos?

<comment><AUTHOR> Not mine, I just ran across this site, thought it was clever and submitted it.

Of course, if anyone happens to be looking for a home in Los Angeles... <http://www.lalife.com/> is the place you want to go! ;)</comment></comment>


TRO LLC (weevs hedge fund) - <AUTHOR> https://www.startjoin.com/trollc

<comment><USER2> This is something that certainly needs to exist, but I am exceptionally wary of it being helmed by weev.

</comment><comment><USER3> Why anyone give this man their money or attention is beyond me.</comment>


Should unemployment benefits last longer than 99 weeks? - <AUTHOR> http://money.cnn.com/2010/04/23/news/economy/extending_unemployment_benefits/index.htm

<comment><USER2> For those that can not find employment the only other option to stay alive if they don't get benefits (which they paid for with their previous labour as taxes anyway) is to become criminals.

Criminals cost society a lot more than someone 'on the dole'.

They can't just magically survive on air until a job comes by. Sure there will be some that might abuse the system, but that's possible with a 1 week period as well.

Some people do all they can to find a job and still find none (there was a story in the news today about a young British girl that took her own life after 200 job applications, I can't help but be reminded of that when reading about this).

This crisis is very real and far from over in spite of some bits of positive news here and there, it will take more than a few exceptional measures to get to the other side of it and extending benefits to those that are really in need of them seems like a very logical step.

<comment><USER3> 99 weeks is enough for two years of college. You'd have more than enough time to train some skill that's in demand and find a job that'll keep you alive.

<comment><USER2> I think you miss the point that for every job there are probably more applicants than '1', so there is no guarantee that you will find a job even with a skill that is in 'demand'. In fact, for every person training for a skill that is in demand today the ratio of people that will end up unemployed with that skill goes up.

</comment></comment></comment><comment><USER4> Nobody is looking for a job for 99 weeks straight. In the first few weeks they look and get discouraged. Toward the end of the 99 weeks they will look again (this time with more urgency) b/c benefits are running out. I think unemployment benefits are a good thing, but nearly two years of benefits is way too long.

I know a lot of people on unemployment who make almost no effort to find a job, and the ones offered to them usually get turned down b/c they come with a pay cut. The only positive I can see in this is that a small portion of the massive amount of government money being spent right now is going directly to people I know.</comment>


The End of Intelligence - <AUTHOR> https://www.nytimes.com/2018/04/28/opinion/sunday/the-end-of-intelligence.html <comment><USER2> Why is this flagged?

It is written by Michael Hayden who is a former director of the Central Intelligence Agency (2006 - 2009 while the president was G.W.Bush) and the National Security Agency (1999 - 2005 starting _while the president was Clinton and continuing under G.W.Bush_ ), surely somebody who's opinion is worth reading (and discussing!).

[https://en.wikipedia.org/wiki/Michael_Hayden_(general)](https://en.wikipedia.org/wiki/Michael_Hayden_\(general\))

"a retired United States Air Force four-star general and former Director of the National Security Agency, Principal Deputy Director of National Intelligence, and Director of the Central Intelligence Agency. Hayden currently co-chairs the _Bipartisan_ Policy Center's Electric Grid Cyber Security Initiative"

Moreover:

"This essay was adapted from his forthcoming book, "The Assault on Intelligence: American National Security in an Age of Lies.""

This all of course doesn't mean that he should be idolized, or every his statement accepted uncritically. During his years the Iraq WMDs were falsely claimed out of thin air to exist only due to the wishful thinking of the leaders he served, which lead to the Iraq War, and he wasn't openly against that. Which is also relevant to know when reading this opinion of his, as well as the fact that he never admitted that.

Even then more people with the spine were needed to save the US (and the world) from itself.</comment>


Ask HN: Should I start a salary sharing spreadsheet at work? - <AUTHOR>

Is this going to be a total career limiting move? Would it impact me even after I have left the company? <comment><USER2> if you care more about your career than about pay equality, don't bother

<comment><USER3> This is such good advice; and say it out loud when you're asked about it, too. "I want to focus on making this company successful. Compensation is everyone's private business, but the success of this company is what we share."

</comment></comment><comment><USER4> As soon as management finds out, you will be fired. This is a bad idea all around.

In fact, it's really not going to help the employee in the long run. If everything were public, it will allow every company to pay the same rate for the same job.

It will only take away any negotiating power you had and wages will converge to the middle (which means less money ). People are also generally jealous about things like this. Even if you are a better employee, your co-worker will never understand why you deserve $X amount of more money.

Privacy is one of the only things that an employee has over a large company. Why are we trying so hard to give them more power?

<comment><USER5> _> As soon as management finds out, you will be fired. This is a bad idea all around._

And, at least in California, that's against the law.

[0] [http://leginfo.legislature.ca.gov/faces/codes_displaySection...](http://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=LAB&sectionNum=232)

<comment><USER6> Management can come up with any number of legal excuses to fire an employee even if they're actually firing them for illegal reasons. A favorite ploy is reassigning "problem" employees to a failing project (or a project that's deliberately made to fail by denying it resources) and laying them off when the project is cancelled. Companies can also make an employee's life miserable in many ways to "encourage" them to leave (no raises, move their desk next to the toilets, deny their vacation requests due to "emergencies", etc.). And after the employee is gone, they can give them a lousy reference if they're feeling vindictive. For lots of details on how companies do their dirty work, see the book "Corporate Confidential".[1]

Also, some laws that protect collective employee activities like union organizing or discussing salaries may not apply to people who have managerial titles.

[1] [http://www.amazon.com/dp/0312337361](http://www.amazon.com/dp/0312337361)</comment></comment></comment>


Mythical man month: 10 lines per developer day - <AUTHOR> https://blog.ndepend.com/mythical-man-month-10-lines-per-developer-day/ <comment><USER3> I did some trivial math. Redis is composed of 100k lines of code, I wrote at least 70k of that in 10 years. I never work more than 5 days per week and I take 1 month of vacations every year, so assuming I work 22 days every month for 11 months:

        70000/(22*11*10) = ~29 LOC / day

Which is not too far from 10. There are days where I write 300-500 LOC, but I guess that _a lot_ of work went into rewriting stuff and fixing bugs, so I rewrote the same lines again and again over the course of years, but yet I think that this should be taken into account, so the Mythical Man Month book is indeed quite accurate.

However this math is a bit off because in the course of such 10 years I wrote quite a number of side projects, but still, max ~50 LOC / day.

<comment><USER4> Has progress on that been fairly continuous with the project growing steadily (almost) nonstop? Or was a big portion of that the groundwork just to get it to a point of being usable in the beginning?

With projects I work on, I'll often write a few thousands lines of foundation in a couple weeks, then I'm adding a line here and there as needed. The first 1000 lines are always easy. The next 10 can take days.

<comment><USER3> I think this went quite constant. The main change is that in the first years I could work a ton of stuff 1 month, zero the next month, and now is instead more smoothed evenly.

</comment></comment></comment><comment><USER5> What annoys me most about these metrics is that some days zero lines are written. Anything up to a month without results to show.

Where, then, does all this time go? Sometimes it's reading existing code. Sometimes it's learning about a new algorithm by reading blogs and papers. Sometimes it's developing test programs to iron out a bug or test out some new code.

There used to be one chap in the office that got all the hard problems - <USER2> seriously hard problems. Some of this was figuring out why USB couldn't transition from low-speed mode to high-speed mode reliably (USB is quite hard to probe due to frequency), or figuring out why the application crashed one in a million boots.

Some of our most valuable developers committed the least amount of code, but saved our arses more times than I can count.

<comment><USER6> At one job, I replaced a 10k LOC class with a 20 line function which probably took me to a net negative loc count for that job.

<comment><USER7> I would love to hear more details on this one

<comment><USER8> Not the GP but... Reduce a cross cutting concern from a system into an aspect and you get this easily.

I once worked on a product and identified an ability to eliminate 100K lines of poorly written, inconsistent tracing code into a robust ~250 line file using AspectJ. Management threw a sh-t fit and thought the risk was untenable.

<comment><USER9> The risk of the new one or the risk of keeping the old 100K lines? Half serious question since I would estimate the risk of the latter to be much larger.

<comment><USER10> To me it sounds like he was introducing a hard dependency on AspectJ, which is as much a risk as any other dependency. I am guessing here, bit it is a scenario where a hissy fit from management has at least some justification.

<comment><USER11> How is a dependency on AspectJ any more of a liability than the dozens of other external dependencies in your typical application?

<comment><USER10> It is just as much of a liability, a priori neither more nor less. It needs to be evaluated like any other potential new dependency.

Plus, AspectJ is something that you have to be careful with. It injects code at the start or end of methods that can do arbitraty things and the method source code doesn't indicate that this is happening. So it has a great potential for code obfuscation.

<comment><USER11> Sort of unrelated rant. Maybe it's because I'm not as well versed in Java idioms as I am with C# idioms, but using code that implements AOP using AspectJ seems much more obtuse than what I've done in C# just looking at the examples.

In C#, with the various frameworks - including on the API level with ASP.Net - you can use attributes to decorate the classes/methods with your aspects and it's pretty easy to see what it's doing.

You get the runtime binding basically by just using dependency injection as you always do.

<comment><USER12> C# dev here as well, but from a Java background. When I first moved to C# from Java one of the best AOP usages was transaction management. Database transaction management. You could write all of the code, whether it was dependent upon the db or not, and then decorate the methods with a transaction attribute. This decoration contained all the logic to get a db connection, begin a transaction, become part of an existing one, or create a new isolated one. Any unhandled exception caused the final unwinding to rollback any work that had been done in that transaction. So many try/catch/finally's avoided and so much boilerplate code.

I have yet to find any equivalent to this .NET world. Especially of you're using EF. Either you use ADO and have your try/catch/finally with manual transaction management, or you have the EF context which is just one big blob you hope succeeds at the end.

<comment><USER11> TransactionScope has been around forever in the .Net Franework version of EF.

It just came back to EF Core in 2.1

[https://www.google.com/amp/s/codewala.net/2018/05/06/transac...](https://www.google.com/amp/s/codewala.net/2018/05/06/transactionscope- a-simple-way-to-handle-transactions-in-net/amp/)

<comment><USER12> Yes, this is exactly the type of boilerplate I am talking about. All those usings and try/catch blocks which add needless code. It is possible to compose all of this into an aspect which then decorates your methods. Maybe I'm not being clear, so here is what I mean. Say you have a method that does some work, but calls some other thing to do some auditing. The auditing is nice, but it failing shouldn't halt the world.

      [Transaction]
      DoYourBusinessWork() { ...; AlsoAudit(); }

      [Transaction(RequiresNew, NoRollbackFor(AuditException)]
      AlsoAudit() { ... }

The TransactionScope is handled in the aspect. Commit/Rollback is all handled there is well. There are not usings or exception handlings within your methods unless you want to handle those specifically.

<comment><USER11> There should only be one using/try catch block on the highest level. All of the methods being called within that using block should just throw errors.

You could put the logic in attributes but I don't consider a transaction a cross cutting concern. It would create a spooky action at a distance situation.

<comment><USER12> It's obviously highly dependent on the domain in which you work, but I would consider what you're saying to be a "business transaction" more than a "database transaction". If there is a 1:1 between the two then your way works. I tend to have situations where one business transaction is multiple database transactions. And the business transaction can succeed even if some of the underlying database transactions were to fail.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment> seventh-chord Not quite sure what point the author is trying to make? He agrees that lines of code are a bad measure of productivity because, yet claims that the average he computes can help him predict future development times. Then he explicitly points out that different parts of the codebase required different amounts of work, apparently unrelated to their code line count, yet does not relate this to the previously mentioned points. Also, what is up with the random comment about code coverage at the end? That doesnt fit in with the rest of the article either...

<comment><USER13> Even the assertion of that knowing the lines of code per day helps with estimation seems puzzling. How do you know how many lines the finished product will eventually have in advance?

<comment><USER14> How do you know how many pixels the ball will take up in a sports photograph before capturing it?

Enough to see it, not so many that you can't see everything else.

Same with lines of code, except that instead of a photographer, there is an observing project manager.

</comment></comment></comment><comment><USER15> My current task is to implement a feature and I wrote about 50 lines during the last 2-3 weeks. I'm not slacking off, just examining the codebase and planning. I did collect about ~25-50 lines of notes per day though, so it's not like I'm keeping everything in my head. To be fair, the codebase is new to me, so I don't expect to keep this tempo for very long.

If I had been pressured to start writing code immediately it would have been more difficult to comprehend the codebase, thus slower, or even worse I would have introduced anti-features or bugs.

<comment><USER16> I once opened up a government code base (in C) that lead with this: "void * * * * x;". It took a while to learn that code. Taking time is fine and good managers will support you, so long as you have something to explain what your time is spent on.

<comment><USER17> I'm consulting a client right now and their C++ codebase is full of gems of this caliber. I eviscerate every single PR, and tell them what's wrong and why, and then their CTO just merges them into master without changing anything. All the while they pay me for it. Why? Fuck me if I know. They hired me to provide advice. I provide advice, and it's pretty expensive. I _know for a fact_ they will regret merging this shit. I can explain why, in a way a toddler would understand. And yet they still do it. Smh.

<comment><USER15> You might be going into conflict/criticism mode, which would make them unresponsive. Being right isn't enough to get people to change. I don't know at all if this is the case, just mentioning it, because you seem to be frustrated by the situation.

<comment><USER17> I actually asked them if this want me doing this. They said they did. This is only a minor part of what I'm doing for them - my work is mostly on the AI side.

</comment></comment></comment></comment></comment><comment><USER18> _a professional developer will write on average 10 lines of code (LoC) day._

My experience so far is a _team_ of developers can deliver 30-100 LoC per day of front-end code.

The team size is of little consequence. It's been hilariously consistent across projects and companies I've been in.

<comment><USER19> That's a pretty big range - but I'd say frontend code tends to be faster / take up more lines. Center a button, give it a colour, make it responsive and you've probably reached your 30 lines of HTML/CSS :P

<comment><USER20> but the fine tuning, bugs and corrections, reported issues and other aspects should be part of the metric too. The days were there i barely progress because some alignment is not working and coordination with the design team is taking the time makes it part of the average as well

</comment></comment></comment><comment><USER21> 10 lines per developer day - this is so outdated it should be disregarded entirely. Not much is gained from writing articles around this "10 lines a day" assertion unless you're writing something about computing history.

Maybe this was true when people were writing operating systems in assembly language - which is the time and context in which The Mythical Man Month was written.

Lines of code per day really is a pretty meaningless measure but having said that there is at least some truth to it, in that any developer who is writing a typical 21st century application and getting only 10 lines of code per day written, should really examine if they are in the right job.

<comment><USER22> People misunderstand it. It means writing code, documentation, testing, bug fixing etc.

I'm not sure it is that far off over several years. If you look at Google, and say there are 52 * 5 days * 10 lines of code, 2600 lines of code per developer. Extrapolate that to 20 years times how many developers and list on code that is currently used, would it be that far out?

People over-estimate the sustainability of short term coding lines per day, versus multi-year coding.

<comment><USER23> No, we don't misunderstand it. 10 lines per day is just rubbish.

Here's an example: [https://github.com/sumatrapdfreader/sumatrapdf](https://github.com/sumatrapdfreader/sumatrapdf) is code written by 2 people (me and another guy).

It's written, documented, tested and bug fixed.

It's 110k lines of code. And it's tight. Good luck removing 10k lines of code and not loosing any functionality.

Assuming 10 lines per day and round-the-clock 365 days of working, that's 30 man-years of work. 15 years for 2 people.

I didn't spend 15 years writing it. It's a part-time effort over 10 years.

The 10 lines per day is off by at least an order of magnitued.

And I don't claim to be spectacularly productive. Jonathan Blow wrote 90k lines of code for Braid in 1 or 2 years.

<comment><USER24> It sounds like you wrote 20-30 lines per day part-time over 10 years, which is within an order of magnitude of 10 lines per day for the average developer. Sounds about right to me?

<comment><USER20> I also think that's correct, regarding the order of magnitude, familiarity with the topic... the 10 lines a day (order of magnitude) could perhaps make more sense from a perspective of cognitive overload.

</comment></comment></comment></comment></comment><comment><USER25> Anyone else feel sad when you remove a bunch of code? All those man-hours it took to write that code, and now I'm deleting it all. I believe it's called sunk cost fallacy. I often wish I had a time machine so that I could go back in time and say, hey, this will all be deleted a year from now, go with the other solution instead.

<comment><USER26> Nope. One of my first experiences with removing many lines of code was in college. It was a compilers project (we had to hand-write it, no YACC or anything). I had written about 10k lines of code in a flurry of activity, and discovered some really gnarly bugs.

I spent a day with just a pencil and paper, considering each detail of the algorithms and came up with several key insights which reduced the whole thing to about 1k lines of code. The reduction was a combination of C macros (which I wouldn't use today, but I'd use higher-order functions to accomplish the same thing now) and just smart generic code (no special handling of an add operator versus a multiplication operator, they were both binary operators; differentiating the output for each case happened in one place at the end).

That was when I found out I liked deleting code. I'll happily reduce a code base by 90% if the result is clearer and easier to maintain or extend.

</comment></comment><comment><USER27> My company has been experimenting with doing our feature estimations in LOC changed instead of points (1, 2, 3, 5). The general idea being that point estimation can vary between engineers based on ability, but LOC changed should be similar among engineers. This is supposed to make it easier to answer management's favorite question of "How long is this gonna take?". The answer is calculated using a team's historical average LOC/hr rate.

It remains to be seen if our estimates are any better.

<comment><USER28> I wonder if LOC changed isn't often reversely proportional to time taken.

500 LOC feature: Add a new route that does something boring; 5 story points.

5 LOC feature: Fix mysterious performance degradation in X; 13 story points.

<comment><USER27> I think for defect estimation you are right, but for feature estimation (new code, not fixing bad code) the correlation is positive.

</comment></comment></comment><comment><USER29> Over the last 2 months I've managed about 3k new loc and 90 classes, so that's about 60ish lines per work day. I don't feel like I was that productive though and spent a lot of time refactoring. Eg, last 1k lines barely added any features

What do you do to keep up a fast pace in a big project without throwing quality out? They say TDD increases your speed overall, according to a few case studies I found (15% longer to code, but 40% less bugs, so faster finish times overall etc)

<comment><USER30> _I don't feel like I was that productive though and spent a lot of time refactoring. Eg, last 1k lines barely added any features_

"being productive === adding features" is a very negative way to think about development, and exactly the sort of mindset that leads to projects that grind to a halt under the weight of tech debt. Good software comes from _all_ the parts of the process, including maintenance of the code base to reduce drag on features you'll write in the future. When you write requirements, do refactoring, test things, write documentation, etc you _are_ being productive. Your future self will thank you for the effort you put in to the non-code work now.

<comment><USER31> This is the engineering point of view, but in a business productivity is judged from a business point of view.

The goal of software development is to deliver chargeable value to customers.

When you refactor code you do not deliver value to customers and since you have spent time and resources to do that your overall productivity from a business point of view has in fact dropped.

<comment><USER30> _When you refactor code you do not deliver value to customers.._

You do though, by reducing the future cost of delivering features. That has tremendous value. Find a company that sees good engineering as a long term investment rather than a short term way of extracting money from customers and you'll enjoy software development _a lot_ more.

<comment><USER32> Again that isn't customer facing value. Users do not care about the costs of your business, I cannot understand how so many developers don't seem to understand the basic premise of b2c relationships. At best it's the proposition of future benefits and those benefits are all to the company not the customer.

<comment><USER33> > Again that isn't customer facing value.

It absolutely is customer facing value. If shipping this feature 2 weeks later means you can ship the next 10 features in 6 months, and the alternative is shipping this feature today but with so much tech debt that you ship the next 10 features in 12 months, then that is value the customer will see.

Similarly, if your code is so shitty that you're adding bugs to the backlog faster than you're able to fix them, that's a negative for the customer. If instead you spend 2 weeks refactoring so that your bugs+ rate is lower than your bugs- rate, that's customer value right there!

I cannot understand how you don't seem to understand this basic premise of a b2c relationship. Users don't just care about the features they have today, and if your competitor gets to market slower than you but has twice the features a year or two later (due to less tech debt), you're gonna be left in the dust.

</comment></comment></comment></comment></comment></comment><comment><USER34> That book was written in the seventies, 45 years ago. It still has valid points but obviously a few things have changed in terms of how we do things. For example, we use version control systems these days and have sophisticated refactoring tooling.

But one of the things that hasn't changed is that we haven't really come up with any better metrics than time spent and nr. of things changed per time unit. There are a lot of people complaining these things are not representative (for the last five decades) but not a whole lot of people coming up with better productivity metrics and even fewer that did the leg work of actually validating their work in something that might pass scientific scrutiny (which is hard). If you do work in this space, you'll find yourself citing articles that are decades old.

These days, I tend to look at the activity statistics on github projects when joining a new project. It tells me in a glance of an eye who are the movers and shakers on a project in terms of lines of code added/removed and amount of commits and the time distribution of those commits. It's not perfect and doesn't tell you the complete story but it it's rarely completely wrong. Usually it's quite easy to spot patterns like Weekends, Christmas, vacations, and that people tend to get back energized from a good break (a little spike in productivity).

Also these numbers confirm the notion of a 10x programmer: a handful of people tends to be responsible for the vast majority of commits and line changes. Not all software engineers are created equally. Diffstats on pull requests tell me a lot as well; though of course these numbers are inflated by e.g. refactorings (more so on languages that have proper tools for this). But refactoring is a good thing and combined with code reviews tell you a lot about the quality of engineering.

<comment><USER21> >> we haven't really come up with any better metrics than time spent and nr. of things changed per time unit

Does anyone give a shit about metrics any more? I seem to recall the whole metrics thing fizzled out entirely about 15 years ago.

<comment><USER35> OKRs are a thing in tech circles. John Doerr wrote a book on it. My company rolled it out and most people struggle with coming up with meaningful metrics for their job.

<comment><USER36> We added OKR junk at an agency I worked at. For developers our options were:

1) use silly, useless metrics that are of a sort management will accept anyway,

2) uselessly tag along with initiatives in areas that are easier to measure (sales, marketing kind of though their metrics are still usually bad, just no- one cares),

3) start a year ago gathering data for a baseline for bad development metrics,

4) start 2-3 years ago gathering data for good development metrics, though they'll probably still be pretty limited and narrow.

We picked 1 and 2 of course. What a waste of time. I wish anyone who wanted to be more than a line worker anywhere had to answer some basic questions about games and measuring things. Not just in development, managers and directors everywhere are, on average, terrible at it as far as I can tell.

</comment></comment></comment></comment><comment><USER37> We should probably be using the absolute value of lines of code, so abs(LOC) as the metric, or something like a least squares mean for estimating the moving average of LOC per day.

Anymore, my daily average LOC is probably negative since I tend to rescue floundering projects. I usually avoid object-oriented (OO) programming whenever possible, as I've found that functional one-shot code taking inputs and returning outputs, with no side effects, using mostly higher order functions, is 1 to 2 orders of magnitude smaller/simpler than OO code.

Also I have a theory that OO itself is what limits most programs to around 1 million lines of code. It's because the human mind can't simulate the state of classes with mutable variables beyond that size. Shoot, I have trouble simulating even a handful of classes now, even with full tracing and a debugger.

I'd like to see us move past LOC to something like a complexity measurement of the intermediate code or tree form.

And on that note, my gut feeling is that none of this even matters. The world's moving towards results-oriented programming, where all that matters is maximizing user satisfaction over cost of development. So acceptance test- driven development (ATDD) should probably be highest priority, then behavior- driven tests (BDD), then unit tests (TDD). On that note, these take at least as long to write as the code itself. I'd even argue that they express the true abstractions of a program, while the code itself is just implementation details. Maybe we should be using user stories implemented per day as the metric.

</comment><comment><USER38> My project at work is 60k LOC, developed over the course of 3 years. It's in production and works quite well. I wrote it all by myself. My hobby project is 100k LOC (2.5 years of development in free time). Both are UI + service code in C++. I code several hours a day. Maybe 3-5 on average.

10 LOC/day is ridiculous. Think about Brad Fitzpatrick, Fabrice Bellard, John Carmack. They would never accomplish anything like they did with those 10 LOC.

You have to have dedication and really good text editing skills. Being smart is nothing if you can't write code fast enough. Good skills with tools like shell, debugger, version control are important as well.

Another problem is that dev collectives these days tend to bully and punish those with higher performance. There are several reasons for that 1) most devs do an absolute minimum just not to get fired 2) job security is a thing, you won't make your project look too simple or complete as this might end your contract 3) at least 90% of hype is from idiots and by idiots. Idiots are a heavy tax on any engineering 4) frameworks, tools and methodologies are often designed for a different scale 5) ceremonia, overcomplication of development processes, treating devs like anonymous, interchangeable units

I'm male in my 40s with a CS degree. I work from home most of the time.

</comment><comment><USER39> Guys, can I be honest? I have never actually met anyone who has worked in a LOC-optimized company. This stuff seems like the outrage porn of software engineering.

<comment><USER40> You misunderstand the intention. You don't optimize LOC but you develop software as best as you can. You measure - among other things - LOC and this gives you at least some hard figures in the fuzzy software engineering universe. See it as the Hubble constant - it gives you answers about the universe provided you know it's value.

Then when it comes to understanding your software costs - it helps you to put some numbers to features. Yes it is dark art but so is all other financial magic. When it comes to maintenance or re-engineering software - LOCs and past numbers can be useful but are not the only determinant of future development costs. There is the agile backlog / planning poker school of thought which is certainly an improvement and valuable running the project but when it comes to large scale software projects it is not an answer I would like to rely on when the project needs a price tag before day one.

It is one metric. If you work in any company purely run on metrics - if you ask me - run once you see a better place. If you work in any company not measuring what it does - run now!

<comment><USER39> I'm talking about all of these comments on this page with people talking about how LOC/day is not a good metric for productivity. So? No one's tying your wages to LOC/day.

</comment></comment></comment><comment><USER41> I did some analysis of my own projects and came up with around 50 LOC per day: [https://successfulsoftware.net/2017/02/10/how-much-code- can-...](https://successfulsoftware.net/2017/02/10/how-much-code-can-a-coder- code/)

But: -As a 1-man-band I also do the support, documentation, testing, website, marketing etc. So coding is only part of what I do. -I don't think the article defines what a LOC is. Does it include headers? Does it include auto generated code?

</comment><comment><USER42> Another post currently on the front page has a great example of this: [https://news.ycombinator.com/item?id=22306002](https://news.ycombinator.com/item?id=22306002)

How do you score this for lines of code per day. ?

> I've added 700k lines of code and deleted 747k (yay negative!).

Interesting that if you divide the added lines by the 7 years, and figure 250 days/year, he's phenomenally productive

700,00 / 7 / 250 = 400 lines of code per day, sustained over 7 year!

</comment><comment><USER17> I wish I had a job where writing 10LOCs per day would be enough. I wrote quarter of a million LOCs at Google alone, and I wasn't the most prolific programmer on the team, not even close. I wrote about as much code since I left Google, too. And it's not Java code either, where your IDE has to crap out 100 lines of boilerplate before you even begin to do anything meaningful. This is mostly C++ and in the last few years Python as well.

<comment><USER43> How long were you at google for, and how long since you left? Otherwise, the numbers don't offer much insight.

</comment></comment><comment><USER44> I'm a 10x programmer, so I do 100 lines per day ;-)

</comment><comment><USER45> The 10 LOC/day includes the entire project, including analysis, requirements, design, documentation (user and tech), test, management etc, in a large project. Saying (as many do) that an individual programmer has produced hundreds of LOC per day is to miss the point.

You have to start by defining your terms of reference and make sure you are comparing like with like.

</comment><comment><USER46> If you are doing a good refactoring, you may have a massive negative LoC at the end.

LoC added or removed is not a very good metric for anything.

Except if I see a big negative number on a PR, it is usually a great thing. I still have to check what was removed but it usually mean that things are easier to understand.

<comment><USER47> Anytime I see a good chunk of redundant/useless code removed, it's a good day!

<comment><USER21> The greatest, most joyous programming is deleting large chunks of code.

</comment></comment></comment><comment><USER48> I'm not sure I add 10 lines of code, on average, to our products a day. Most days are probably negative, to be honest.

Of course, any time I have to add a new Windows Forms dialog to our install/config utility, there's a couple thousand lines of code-behind added to the repo...

</comment><comment><USER49> How I explain why LoC is a bad metric to non-techsavvy people.

3 +

3 +

3 +

3 +

3 +

3 +

3 +

3 +

3 +

3 +

3 +

3 +

3 +

3 +

3 = 45

And so is 3 * 15.

<comment><USER50> I once had to work with some outsourced developers who would do "something(); something(); something();..." rather than "for(int i = 0; i < 10; i++) something();" when instructed to repeat something X times.

<comment><USER51> It's called loop unrolling and improves performance by eliminating loop control overhead and reducing branch mispredictions. Maybe they had a compiler background :)? /s

<comment><USER52> If they had, they would know that virtually any compiler can do this on his own.

I also know these examples and I know the people who are writing them. "Copy & Paste" coding is just more convenient for them instead of writing a loop, fizzling with brackets, indation or whatever. They don't produce high entropy code.

</comment></comment></comment></comment><comment><USER53> I've never found LOC as a useful metric for productivity. Lines of code are most definitely not born equal.

So what's this obsession about it? Is it managers who can't or don't want to properly evaluate the performance of the people they're managing?

</comment><comment><USER54> A good bricklayers places MORE bricks in a day than others.

A good construction engineer builds a house using LESS concrete that others.

I'd rather be a good software engineer than a "x10 developer".

</comment><comment><USER55> A good measure is how many lines removed per day.

<comment><USER56> That's a terrible metric in my opinion. Yes, removing redundant code or optimising code is important, but I wouldn't want to be judged on it.

</comment></comment><comment><USER57> This is still a thing... working in the field for 20 years and really is 15 years ago LOC as KPI went away... Why is it back?

</comment><comment><USER58> Does anyone else question the mythical man month? If I accept the basic assumption of the mythical man month then I also have to accept that NYC is a myth - there is no way that a city that size can possibly function. Lets start out with ten people in NYC and they add ten more people .... My own belief is the MMM is an apologists view of how we currently collaborate to develop software and products.

<comment><USER26> What do you question about it? The point of the specific essay was that the work of development/engineering cannot be sped up linearly by adding people. You still see this attitude with managers today: The team of 5 is running behind, let's put that other team on the same project, now it's 10 people. But those 5 new people:

1\. Don't know the code base or problem domain. So they'll spend months getting up to speed.

2\. Will increase the communication overhead (now each person has to coordinate with up to 9 others, not just 4).

On the small scale of this example, you may see good results. 5 more people isn't a _huge_ amount of communication overhead, and if they're experienced (perhaps even formerly worked on the same or similar project) then you'll see an immediate drop in productivity and then a quick rise back to the new baseline. But will that hold with another 10 people? 20 more beyond that? Each doubling will not continue to halve the time to develop the project, there are limits, and at some point the returns will be negative. The additional people will slow it down. Not just the initial slow-down, but also the new baseline after things settle will be lower than before adding them.

</comment></comment><comment><USER59> Well, this depends on the language. I once wrote 12,000 lines of x86 assembly code in four (long) days.

</comment><comment><USER60> Personally I take more pride in removing code these days.

</comment><comment><USER61> Mumps developers only need to write 1 line of code a day

</comment><comment><USER62> Seems about right, on the average day, you put about 500 in. the average year later, you're lucky if 10 of those are left.

 _sits back waiting to be told how badly I suck and something about code churn and patterns_

<comment><USER63> Empirical proof you wrote refactorable code :)

<comment><USER62> ya, and that they keep changing the requirements.. :)

</comment></comment></comment><comment><USER64> Anybody know how he made those treemaps?

<comment><USER65> ndepend :)

[https://www.ndepend.com/docs/treemap-visualization-of- code-m...](https://www.ndepend.com/docs/treemap-visualization-of-code-metrics)

<comment><USER64> a-DOIIIII!! of course

</comment></comment></comment><comment><USER66> Shouldn't that article be removed from HN? For me it looks like click bait to promote his nDepend tool.

</comment><comment><USER67> 3, take it or leave it.

</comment><comment><USER68> lol I average about 200 a day, guess I'm not a pro:(

</comment><comment><USER69> sounds like I am at least a 10x programmer

</comment><comment> Brave-Steak Am I mad? Did anybody actually read the article? Why is everybody piling on LoC/day when the article is about average LoC over a period of time and how it correlates to the work you're doing and what a realistic average LoC might look like for a sane project. From this point of view, it doesn't matter at all if you deleted 20k lines and have a negative LoC for the day. That's missing the forest for the trees.

<comment><USER70> C'mon man you should know better than that by now. Here on HN you only read the headline. Nobody actually reads the article. At most you read a few comments to get the gist of what people think the article might be about.

</comment></comment><comment><USER71> This is just an ad for NDepend.

</comment><comment><USER72> Web devs: don't think this applies to you.

If you're pushing up 0 lines of code on a day where you had no meetings or interruptions, and you aren't working on something truly novel and near- impossible, you took the day off on the company dime. And everybody you worked with noticed, and if you do it regularly - they are just waiting for everybody to reach their breaking point with you so they can push to get rid of you. Sure, you'll find a new job and do it again, but you'll still not have anybody's respect.

<comment><USER73> This is why people push the most difficult tasks to the most junior developers. Because a dev stuggling to do the 'impossible' looks the exact same way. That way others get to protect themselves from blame.

<comment><USER72> > This is why people push the most difficult tasks to the most junior > developers.

Who does that?

The correct thing is to manage expectations and then do the work. Unfortunately there are many lazy developers (or people in any sort of job) who won't be productive with even the most simple tasks.</comment></comment></comment>


Cluetrain at 20 - <AUTHOR> http://blogs.harvard.edu/doc/2019/03/26/cluetrain20/ <comment><USER2> There was a scene of very well-meaning academics and young people in Cambridge around the Free Software/Free Culture movement and the Berkman Center in the early/mid/late 00's. There was a lot of idealism and a belief that digital interconnectedness was going to change the world for good. At the time, it was really fun and inspiring to be a part of.

I realize now that the leaders/notables of the movement were, for the most part, morally bankrupt careerists who all went to work in surveillance advertising. The worst are the lawyers but lots of the hackers are just as bad. The academics and activists moved from digital rights issues to identity social justice issues when it became trendy. Nobody gives a fuck about digital rights any more, if they ever did to begin with, and the only people who are left behind are embarrassingly out of touch with the real state of affairs.

I no longer think that the internet is a force for good in the world.

<comment><USER3> We tend to overestimate the impact of technologies in the short term and underestimate them in the long term. The Internet visionaries overestimated how rapidly the Internet would change the status quo. Instead the status quo came and colonized the Internet. The night is young though, and we have generations coming up right now that don't know what one-way broadcast media even is. The printing press took a long time to totally transform society, but transform it it did. Society changes much more slowly than technology.

I personally think we are living through the "Empire Strikes Back" period -- a period where the conventional powers (political think tanks, advertisers, ideological and state propagandists, etc.) have learned to attack the Internet using its own systems (social media, forums, memes, etc.) and the Internet hasn't yet learned how to defend itself. This is probably peaking now with "peak social" and the explosion of hip and effective social media based state and political propaganda. I don't know what "Return of the Jedi" will look like, but I think it's likely coming. Some of the problems that need to be solved are technical but many are just a matter of people learning how to mentally filter BS in the new Internet era.

<comment><USER2> I'd like to think that, but I don't. I haven't seen any evidence for any meaningful resistance. I think it's very possible that the internet will just continue to get worse and worse and worse. It's already worse than television ever was.

The only real resistance I can think is Tor, but it turns out that the cost of being able to buy psychedelics online is global child rape gangs and a nationwide Fentanyl problem. Not a great trade off, in my opinion.

I don't see any technological way out of this mess.

<comment><USER4> > It's already worse than television ever was.

You have a myopic view of the internet. I don't use any social media. Unless you consider hn or Reddit that. And I run ad blocker. I spend most of my entertainment, educational, and social interaction budget on the internet. The internet is ducking amazing. I could never publish on tv. I could never consume what normal people published, unfiltered by FCC /network execs/advertisers.

The internet is not social media. Social media is "the masses", the mainstream. And regardless of platform those always suck, banal, lowest common denominator, and manipulated for profit or power.

Checkout of the mainstream, not the internet.

</comment></comment></comment></comment><comment><USER5> Doc Searles subsequently wrote a good 2012 book 'The intention Economy' [https://www.amazon.com/Intention-Economy-When-Customers- Char...](https://www.amazon.com/Intention-Economy-When-Customers- Charge/dp/1422158527) 'Caveat venditor—let the seller beware' 'While marketers look for more ways to get personal with customers, including new tricks with "big data," customers are about to get personal in their own ways, with their own tools. Soon consumers will be able to:

• Control the flow and use of personal data • Build their own loyalty programs • Dictate their own terms of service • Tell whole markets what they want, how they want it, where and when they should be able to get it, and how much it should cost

And they will do all of this outside of any one vendor's silo. '

Another lap of utopian 'what the world could look like' which is a good thing IMO. The reality though is that the few big platform companies literally 'crushed it' a decade ago and now dominate everything from the stock market to retail, socializing, information flows etc and the earnest pre Web 2.0 philosophers seem naive and simplistic in their 20+ year old vision....

<comment><USER6> Thanks!

The Internet and the Web are miracles on the order of loaves and fish, and demonstrations of how progress is the process by which the miraculous becomes mundane. This is why it's so easy to be mindful of how awful the Net and the Web have become while forgetting how miraculous both remain as well.

It's also easy to forget that the Internet as we know it is still new, dating roughly from the explosion of commercial activity that began after the NSFNet, whose "acceptable use policy" prevented commercial data from flowing through its backbone, stood down on 30 April 1995.

With tech, what can be done will be done, and that includes the bad as well as the good. Both Cluetrain and The Intention Economy directed attention to the miraculous good that was both already there (in the Cluetrain case) and on the way (in the Intention Economy case). This was not to ignore the bad, but rather to energize hackers toward working on what we need, rather than lamenting what at any moment we seem stuck with.

Today I think Cluetrain (1999) was at least thirty years ahead of its time, and The Intention Economy (2012) was around a decade ahead. Both were about what can be done with simple human agency, and about energizing hackers to work on that. If doing that was utopian, naive or simplistic, I plead guilty. I also believe the Web, the Net, email and other graces of open and widely used protocols are utopias we already have, and that should at least be encouraging.

<comment><USER7> The Cluetrain Manifesto was a great inspiration to me. Thank you for your work on it.

I also still like World of Ends very much: [http://www.worldofends.com/](http://www.worldofends.com/)

</comment></comment></comment><comment><USER8> Oh, to be young again and believe in palpable nonsense like this: "markets are conversations" or "hyperlinks subvert hierarchy" or "we are immune to advertising" etc. Happy days.

<comment><USER9> I was thinking more like "Oh, to be young again and be able to have the memory of a twenty-something me again. Happy days."

I saw the headline, and struggled to remember _any_ details of the book, and ended up having to read a summary of it. I only remember reading the book and talking about it with coworkers during the dot-com craze.

<comment><USER10> Perhaps that's a clue to its actual significance?

Perhaps you remember the feeling and perhaps that you had fun buzzy conversations? That would mean those _were_ the important parts, not the actual substance of the essay. Nothing wrong with that.

Perhaps you changed a bit as a result, even if you can't remember precisely what spurred the change. Nothing wrong with that either.

And I bet there _are_ books you read back then chunks of which you remember (and other parts that are gone). Probably you remember the good parts.

I don't think your memory has necessarily gotten any worse -- if anything (given you're in your 40s by inference) it's probably gotten functionally better.

<comment><USER11> But I have a benchmark to compare to. Any book that made a significant impact on me, I can remember some key points. Not everything, certainly not many of the details, but at least some key points.

Cluetrain Manifesto? I can't remember anything at all.

edit: Maybe it's like _The World Is Flat_? I've heard that people who read the book when it came out thought it was incredible, preposterous, and amazing. But if people read it for the first time today, they're like, "why is this so special?" Perhaps it's difficult to remember what Cluetrain was about because the world became Cluetrain? Except judging from all the comments, I'm guessing a lot of people were disappointed that it didn't. So I don't know.

</comment></comment></comment></comment><comment><USER12> I think that a huge component of the "Culture War" is large media (game, movie, etc.) companies colluding with the press to mitigate the effects of internet word of mouth by discrediting independent internet-based sources that are not part of the "access journalism" payola network and that foster discussion between ordinary consumers. And the surest way to discredit an organization is to accuse it of being a safe harbor for child molesters, serial sexual harassers, racists, Nazis, the "alt-right", etc.

The principles of Cluetrain _work_ \-- _provided_ that there exist organic online communities where consumer discussion can take place. It makes sense that in order to preserve the status quo, preventing such communities from ever forming or reaching critical mass is a top priority for the BigCos.

<comment><USER13> Reminds me of the programmer in his mid-20s who honestly believed that Reddit was entirely dominated by alt-right gamergate incels, because the Big Media told him so. I could not convince him otherwise.</comment></comment>


Can Open Source Succeed on Kickstarter? (Top Ten Things I Learned) - <AUTHOR> http://www.numcommand.com/doc/kickstarter-results.html <comment><AUTHOR> I'm the author and glad to discuss the post on HN.</comment>


Facebook Launches "Moon Shot" Effort to Decode Speech Direct from the Brain - <AUTHOR> https://www.scientificamerican.com/article/facebook-launches-moon-shot-effort-to-decode-speech-direct-from-the-brain/ <comment><USER2> I really really desperately wish it wasn't companies like Facebook and Google who're doing this kind of research, this is absolutely insane.</comment>


Ask HN: Free software to solve my process and technical reminder needs - <AUTHOR>

I juggle many different projects simultaneously at work. Each project is involves different teams (processes) and technology. I find myself losing track of all the moving pieces.
Is there software available to help categorize and easily look up notes/cards? (perhaps tag based)
It would be a big bonus if the software supported multiple users to share and collaborate.
Thanks <comment><USER2> We use Trello to manage all of our different tasks/projects. You can even associate checklists for individual tasks.

It also has the ability to assign people or groups to tasks/projects. You have the ability to label for categorization as well as a search function to find by keyword

Works like a champ.

<comment><AUTHOR> Thanks for the reply. I'm weary of using Trello because it'll host confidential information, which is strictly against my IT security policy. Are you aware of any apps that can be run off a local machine?

<comment><USER2> Never used any to be honest but there's a reviewed listing here: [http://pm- software.org/index.php?option=com_jreviews&Itemid=...](http://pm- software.org/index.php?option=com_jreviews&Itemid=83&url=tag/category/3/criteria:2/)</comment></comment></comment>


Ted Chiang Explains the Disaster Novel We All Suddenly Live In - <AUTHOR> https://electricliterature.com/ted-chiang-explains-the-disaster-novel-we-all-suddenly-live-in/ <comment><USER2> I agree the current situation wouldn't make very compelling fiction.

> A pandemic story like that would be similar to what's known as an "idiot > plot," a plot that would be resolved very quickly if your protagonist > weren't an idiot. What we're living through is only partly a disaster novel; > it's also—and perhaps mostly—a grotesque political satire.</comment>


Huffington Post Politics icon competition: Not the expected reaction. - <AUTHOR> http://www.huffingtonpost.com/2011/08/01/huffington-post-politics-icon-contest_n_915374.html <comment><USER2> Why is it that designers have managed to make this the accepted (and expected) reaction to this kind of exploitative stunt, but not writers?

There was a small kerfuffle over HuffPo's treatment of volunteer contributors back when Aol bought them, but it seems to have fallen completely off the radar.

Is it just a matter of publicity and convincing everyone in the field not to do free work? Or do we as a society really value the written word that much less?

(For the record I support both designers and writers getting paid enough to make a living on their work. To borrow from Mike Monteiro: "Fuck you. Pay me.")

<comment><AUTHOR> I wonder if it's because of the difference in how one can "make it" as a a writer versus as a designer. For example a writer can get paid gigs doing weekly or monthly columns; I'm unaware of anything similar for designers, whose output typically works in supporting roles.

Writers may feel the potential for abuse is worth it because once you have public attention you can plausibly go off on your own. Less so (if at all) for designers, who are generally at the mercy of an intermediary.</comment></comment>


Stop punishing your users - <AUTHOR> http://blog.kivo.com/stop-punishing-your-users/ <comment><USER2> And yet there is no "sign up" button that works. Oh, there's a button that _says_ "sign up", but it takes you to a screen where there is no opportunity to sign up. You mean the "sign in" button? Well, a user without sign in creds is going to have to go on faith that if they click that button there will be a place to create an account.

Pedantic, I know, but I did scroll through the page looking for a way to create an account. I didn't find one and took the leap of faith that the "sign in" button would offer an account creation opportunity. And, no, I never did sign up.

<comment><AUTHOR> Hey Mike -- my bad, I just realised that the sign-up button on the blog actually takes you to kivo.com, instead of actually signing you up (and that you have to click sign-up there again). I'll get on fixing this ASAP. Thanks for your feedback!

</comment></comment><comment><USER3> That's great - don't punish users - but I still have no idea from their actual website landing page (kivo.com) what kivo is...

Something for uploading and making annotations on slides?

Why do I want to do that?

So however easy or un-punishing "it" is, is really irrelevant.

<comment><AUTHOR> Thanks for your reply! Sorry our homepage wasn't clear enough: Kivo is a way to annotate presentations and PDFs in the browser. If you want more info, check out the video on the homepage or try the example presentation below it.

Re the problem we are trying to solve: giving feedback on documents really sucks. Emailing around 'Slide 1: change x,y,z, Slide 2: change this' and other out-of-context comments is a massive pain-point for users, who want to be able to do it quickly, visually, and in their browser (instead of in an old piece of desktop software). Feel free to ping me on firstname.lastname@example.com if you have any more questions.

<comment><USER4> I disagree with the one you replied to. I instantly understood what it was about, and with the example it solidified my thoughts.

<comment><USER5> However, it wouldn't hurt if the home page had the above explanation explicitly written, and if they mentioned who is behind the site.

Also, common questions like "where are my documents stored", "is it secure", "how do I share the result and who can see it"... remain unanswered.

<comment><USER5> As it happens, they do have a FAQ answering those questions; it's _hidden behind the signup process_. It just didn't occur to them that it would be useful to have it at the home page. It seems they didn't really learn the lesson.

<comment><USER6> Thanks for the feedback! I work with Leo at Kivo. We've gone through a fair few iterations of our home page and we know it's not perfect yet. Right now we're trying to throw people right in to the product itself and then if they have more questions after that then they can find them in the site. But you're right we need to be upfront about a lot of information, it's just a balancing act, we're trying to find the right point. Thanks again.

<comment><USER5> That's the problem - I _couldn 't_ find the information I was looking for at the site. It took a leap of faith to sign up to find the FAQ, expecting that the interface for registered users would be more complete; exactly the same problem you were trying to solve when removing mandatory signup.

The only parts of the site that should be hidden behind the sign up process are those that only affect logged-in users; learning about the site and business is not one of those. Most of that information does not _need_ to be located at the front page itself, but there must be a link allowing the user to find it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I'm pretty sure "lack of constant annoyance" is a killer feature for most people. At least it is for me.

<comment><USER5> Yup. Unfortunately, it seems we're doomed to repeat the browser popup wars and relearn all its lessons, now from courtesy of the Mandatory Signup and the Undismissable Floating Div.

</comment></comment><comment><USER8> When in doubt, ask 'What will add value to my users?' If the answer is 'I don't know' then step away from the desk and go talk to them.

</comment><comment><USER9> Coming soon, the response post: "Stop Punishing Your Investors"

</comment><comment><USER10> It's unfortunate they punished me as a user by having a mobile design that truncates several letters on the right side of viewport on iOS, making article unreadable.

<comment><USER6> I work with Leo at Kivo. Thanks for pointing this out, we'll be fixing this ASAP. Sorry you felt punished!

</comment></comment><comment><USER11> I think you guys are overthinking it. The reason why it worked is because you let your users demo the product, for free, no strings attached. This is a tried-and-true advertising practice, and it's the same as 'Show, don't tell'. This is why people put pictures of the product on their ads.

I think that anyone who scraps their landing page (and facebook has probably the ugliest one in the known internet) and just puts their product front-and- center will easily increase their conversion by at least 10%.

</comment><comment><USER12> I found this passage remarkable: ...signing up is so easy! It takes a few seconds...

How can any-one come to such a blatant misconception? No, sign-up is NOT easy and it takes WAY more than a few seconds. I have to think up another effing password and have my password vault handy for adding it to the cheat sheet. Not knowing what it is you sign up for doesn't exactly make it any easier, either.

I still have no idea what Kivo does...

</comment><comment><USER13> Congratulations on realizing that. Too many sites and services throw all kinds of barriers and trip hazards in front of you before you can even take a look at whether you would want to stick around. It makes no sense. People should be motivated to sign up because they want additional functionality that is an addition to what they love your product for in the first place or to overcome a limitation.

</comment><comment><USER14> Otherwise known as gradual engagement. Let the users enjoy as much as possible before you force them through a registration process and then more of them will be willing to do it. Props to them for doing it. It is certainly harder than just dropping in a login required on everything like modern web starter projects make so easy.

</comment><comment><USER15> This is such a obvious insight that I wonder why more companies don't "get it".

</comment><comment><USER16> Title is going to need more data to get me to click on this. Stop punishing your users ... with ugly color schemes? ... with UI of many useless clicks? ... with full motion video autoplay ads?

<comment><USER17> or web apps in general?

</comment></comment><comment><USER18> I too had a content site where I did not ask users to sign up. First 2 years, 83 emails. Then one day I changed that and forced them before clicking through. First DAY 100+ emails. And it never stopped until I shut it down.

<comment><USER19> Well, if emails was what you wanted, that's good.

But if users were what you wanted, you could be losing tons of traffic, and those 100+ emails per day could be insignificant to what you had before.

<comment><USER6> Spot on.</comment></comment></comment>


Rebuilding Our Infrastructure with Docker, ECS, and Terraform - <AUTHOR> https://segment.com/blog/rebuilding-our-infrastructure/ <comment><USER2> I just setup something similar for one of our api services as a trial to see how it would work out. My biggest gripe with ECS is that it currently does not support dynamic port mapping between ELB and a container instance. For example, if your service listens on port 8080, and ELB terminates port 443 and forwards to a container, then you can only have one container instance per EC2 cluster node, b/c spinning up two containers on the same node results in a port resource conflict.

This makes the whole solution fairly similar to just using auto-scale to spin up a new EC2 instance per app.

I know this is a major gripe right now with ECS, and hopefully Amazon is working on a solution.

Other than a few other frustrating gotchas, ECS has been pretty nice. I do like the idea of putting central config in S3 and copying config files over to cluster instances with a user data script (how they recommend you pull from private docker repo).

[https://docs.aws.amazon.com/AmazonECS/latest/developerguide/...](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs- agent-config.html#ecs-config-s3)

<comment><USER3> you can get around the 1:1 ratio of docker container to host by introducing service discovery. We are using ECS + docker with consul as our service discovery solution. We have an edge gateway using Zuul, with our routing filters hitting consul to get a service endpoint and port. Then forwarding the request to that service. It has been nice sofar and allows us to run multiple containers (same service or different service) on a host.

</comment></comment><comment><USER4> Self promotion, but I recently published an intro to ECS after doing an extensive evaluation:

[http://www.infoq.com/articles/intro-aws- ecs](http://www.infoq.com/articles/intro-aws-ecs).

ECS is solid. Happy to answer any questions on it.

<comment><USER5> Great article. It focuses on the details of ECS, as well as the high level concepts of orchestration.

As someone relatively new to Docker, the latter was extremely helpful.

</comment></comment><comment><USER6> I can see how having separate AWS accounts for dev/stage/prod makes things easier. Such as not having to think about name conflicts on ECS clusters, SQS queues, roles and whatnot. We use a single AWS account with multiple IAM users and name our resources like Uploads-Dev, Uploads-Stage, Uploads-Prod, and so on but I feel that it clutters the AWS console and makes it difficult to keep IAM and roles (as well as their access policies) simple.

Maybe I have missed some developments in AWS world, but in the screenshot of the AWS Console it says you are logged in as ops-admin @ segment. So you have one AWS account with alias set to segment, right?

Do you use an identity provider to be able to log in as calvin and is ops- account a user in your AWS account named segment? And is ops-account in the segment AWS account then allowed to assume roles in your three other AWS accounts for dev/stage/prod?

If you switch to ops-admin @ stage for example, and then go to the S3 page in the console, will you get a listing of all buckets in the stage AWS account even though your login session as calvin "belongs" to an other AWS account (segment)?

Sorry if my questions are confusing. I am very interested in knowing what the relationships among the identity provider, AWS accounts, and roles look like.

<comment><USER7> They are leveraging the Cross-Account access feature of the AWS Management console, which has been released early this year: [https://aws.amazon.com/blogs/aws/new-cross-account-access- in...](https://aws.amazon.com/blogs/aws/new-cross-account-access-in-the-aws- management-console/)

> If you switch to ops-admin @ stage for example, and then go to the S3 page > in the console,

> will you get a listing of all buckets in the stage AWS account even though > your login

> session as calvin "belongs" to an other AWS account (segment)?

It should work like that, yes. Your privileges will be "scoped" to the role you are assuming in the "stage" account.

> I can see how having separate AWS accounts for dev/stage/prod makes things > easier.

It's also a good way of maintaining agility when you have multiple teams working in parallel on different projects (ex: 1 team = 1 AWS account). Zalando has recently published a bunch of tools leveraging IAM to help manage multiple AWS accounts (ex: federated SSH access) : [https://stups.io/](https://stups.io/)

<comment><USER6> I missed the announcement of cross-account access. This seems great, thanks!

STUPS looks interesting. What scares me a bit about these suites that provide many abstractions on top of AWS is how they work in mixed environments where some resources have been set up and are managed out-of-band. I understand that the purpose of STUPS for example is to provide a higher-level interface to AWS, and that having many AWS accounts avoids these mixed environments.

Perhaps it's just me suffering from analysis paralysis. I kind of want there to be one or two leading suites of AWS PaaS tools to choose from, whereas the market today seems fragmented with new tools popping up all the time. For the moment I'm betting on HashiCorp. :)

</comment></comment></comment><comment><USER8> Using DNS for service discovery is very convenient but it also makes it difficult to change your setup quickly in the face of ops emergencies, since it's so aggressively cached.

We're in the process of transitioning from our datacenter to AWS and we landed on much the same set of technologies, minus Docker.

<comment><USER9> If done right can really be awesome , set up stack using hasicorp's consul(consul.io) and theres the option to change the TTLs and cache limits.If using the DNS interface the updates are relatively painless and nodes are almost instantly available when provisioned.

<comment><USER8> We ended up using consul's K/V store for discovery.

</comment></comment></comment><comment><USER10> [http://weave.works/guides/service-discovery-with-weave- aws-e...](http://weave.works/guides/service-discovery-with-weave-aws-ecs.html)

</comment><comment><USER11> Good for you setting up separate AWS accounts. Companies that do this avoid many problems! Companies that assume their code will arbitrate the separation intrinsically often go oooooops!

</comment><comment> wh-uws No matter what url I try to visit at [https://segment.com](https://segment.com) I get an ssl encryption error.

I'm on android 5.0.1 in chrome

<comment><USER12> It might be an issue with the certificate chain not installed in the correct order on their servers. I've had this issue in the past. Mobile browsers sometimes do not "fill in the gaps" for missing/out of order certificates, but desktop browsers are much better at that. Not sure why.

<comment><USER13> Just checked it here:

[https://www.digicert.com/help/](https://www.digicert.com/help/)

and chain appears to be correct.

</comment></comment></comment><comment><USER14> I see you use different machines for NGINX and auth. Do you plan to combine all of them under one API gateway like Kong?

</comment><comment><USER5> Is it possible to use ECS with something like Dogestry, rather than ECR or Docker Hub?

</comment><comment><USER15> I think it died.</comment>


Colon cleaning company sues WordPress - <AUTHOR> http://insulaindoielii.wordpress.com/2012/10/11/colon-help-sues-wordpress/

<comment><USER2> Maybe it's just me, but I'm a little bothered by the fact that most of the comments have a flavor somewhere between 'meh' and castigating the author for various missteps.

Can we all at least agree that pseudoscience is bad and litigious pseudoscience is very bad?

<comment><USER3> Yes. Sell fraud products and sue people saying it's fraud backed by evidence is bad. almost as bad as patenting prior art, not doing anything with it, and suing people who actually make something useful with it. same type of people we should export to a remote island to sue each other.

</comment></comment><comment><USER4> Great article but somebody should change the title to remove the sensationalist "...to try and deny reality" - the story is interesting enough on its own merits without the personal touch IMHO..

<comment><USER5> While I agree the title of the original article should be changed, I like my HN titles generally the same as the article.

</comment></comment><comment><USER6> Looks like deceitful "health" products are getting a taste for suing online critics. Here's a similar case in South Africa about another type of "health" company. [http://www.quackdown.info/article/quack-company-litigates- ag...](http://www.quackdown.info/article/quack-company-litigates-against-its- critics/)

<comment><USER7> Article mentions the TAC, real heroes of the struggle against the ANC governments struggle against science in the war against HIV/AIDS.

More here: [http://en.wikipedia.org/wiki/Matthias_Rath#Illegal_AIDS_tria...](http://en.wikipedia.org/wiki/Matthias_Rath#Illegal_AIDS_trials_in_South_Africa)

<comment><USER8> Matthias Rath is a horrible piece of work. I recommend everyone to read the chapter of Bad Science that Matthias tried to have buried - [http://www.badscience.net/2009/04/matthias-rath-steal- this-c...](http://www.badscience.net/2009/04/matthias-rath-steal-this- chapter/)

<comment><USER7> Too damn right.

Also this chapter coincided with our then president Thabo Mbeki making typically over-academic assertions that HIV does not cuase aids and our then health minister fuckface Tshablala Msimang (she of the stolen liver) telling AIDS sufferers to eat bearoot and garlic.

Evil compounded.

Please forgive my rant. I am a proud South African sickened by the suffering our people have been subjected to.

<comment><USER8> No worries at all. It is one thing for someone to be a true believer however misled, but I am convinced from looking into this that Rath knows damn well what he is doing and is playing the piper for something far worse than mere greed. The trouble is, he is also damn good at it and manages to feed many folk exactly what they want to hear.

Everyone loves to be in on ' _how the world really works'_ TM.

And as far as I can tell, the military-entertainment-pharma-tourism-complex, or whatever it is this week, is hardly doing itself many favours in not making people in the poorer bits of the world utterly paranoid and suspect everything of being some massive trick. I mean, people there have to put up with repeated nestle marketing campaigns to discourage breastfeeding when there's fuck-all clean water[1]. At least here in the UK they just try to addict us to sugar and drugs instead.

And that's not in some old colonial past, that kind of shit happens today. I mean, when you have stuff like the CIA faking an immunisation program in Pakistan to sample for DNA[2] while looking for Ernst Stavro Blofeld or whatever, then no wonder some people believe in Mattias Rath. And their fear makes him a lot of money.

[1] still going on in 2011 - [http://www.irinnews.org/Report/93040/LAOS-NGOs- flay-Nestl%C3...](http://www.irinnews.org/Report/93040/LAOS-NGOs-flay- Nestl%C3%A9-s-infant-formula-strategy)

[2] [http://www.wired.com/wiredscience/2012/05/pakistan-polio- fak...](http://www.wired.com/wiredscience/2012/05/pakistan-polio-fake-cia/)

[edit] Oh, and I'd completely agree that Mbeki & Msimang do appear to be completely and utterly cynical power-crazy bastards.

</comment></comment></comment></comment></comment><comment><USER3> This is the kind of company that if they weren't in the colon business, they would have been patent trolling.

<comment><USER9> And if not for trolling, riding around in rusty Toyotas with ak47s demanding "tributes" from villiagers. It's encouraging that we've managed to confine them to the courtroom, but discouraging that we haven't been able to outgrow them altogether.

</comment></comment><comment><USER10> The company in question is located in Romania <http://www.zenyth.com/contact.html>

Did they sue in an American court?

<comment><USER11> No, it's a Romanian court. Don't know if Wordpress will actually oblige the C&D if it comes

<comment><USER12> They are in Romania, why would you even care about their silly threats? Repost the article all over the internet, inter-link, and your links will show up first in the search engines.

<comment><USER11> I'm in Romania too. The original blogpost criticizing their product is third in Google search results when looking for "colon help" (at least if you are in RO)

Anyway, no big deal yet as I'm remaining anonymous and I'm sure Automatic Inc will be fine, however the principle of the thing is bothering me. They already stoped proper criticism because the person had a domain and a whois search gave his name and address away.

I don't plan on stopping and will continue to critique products which are bulshit naming them on purpose.

I already did this with Power Balance (5-th in results) and they did not sue or react much.

This is a big company though, they sold over 200.000 products at 35$ a piece (this is a lot in Romania)

<comment><USER13> Checked Google.ca. For Colon Help your blog from July of Last year is 5th. The first couple are theirs. And the 4th one is irrelevant; it's about semicolon's.

It's quite shitty that after all this time Romania is still such a piece of work. Every month or so I read up on more stuff regarding it, and thank my folks for coming to Canada 6 years ago.

</comment></comment></comment></comment></comment><comment><USER14> I know it's in the original title, but calling them a "colon cleaning company" makes it should like they clean your colon as a service, rather than providing a good purporting to do that.

Or is it just me?

Would be similar to calling Procter & Gamble a cleaning company because they sell cleaning agents.

<comment><USER15> The author was criticizing their colon cleaning product. My guess is he assumes most people outside of Romania have not heard of the company's name.

It does bug me that he never mentioned them directly by name in this post.

<comment><USER16> Did we read the same post?

> The company name is Zenyth Pharmaceuticals

> Their main brand and product is ColonHelp.

</comment></comment></comment><comment><USER17> Personal army type of stuff?

And yeah "Deny reality" is simply link bait. Everyone claims they have reality on their side. That's why lawyers exist, and so on. Not much news here, IMO, just one more lawsuit where both sides allege they have been harmed by the other.

<comment><USER18> You are entitled to your own opinions, but not your own facts.

Despite the fact that everyone thinks they are right, there are in fact people in this world who _are_ right, and those who _are_ wrong. The system that we have developed to ascertain where the truth lies is not the law, but rather science.

<comment><USER19> [http://theconversation.edu.au/no-youre-not-entitled-to- your-...](http://theconversation.edu.au/no-youre-not-entitled-to-your- opinion-9978) A further opinion on the subject.

</comment></comment></comment><comment><USER20> I think this whole article (and the other stories I've read like it) is best summed up by the last sentence: "In other news, pencil company gets sued because someone writes angry letters using pencils"

<comment><USER21> Not by half. More like "bookstore gets sued for selling defaming material;" the posts were hosted on wordpress.com.

The lawsuit is asking Wordpress to take down the posts or the blog, which is well within Wordpress' power.

<comment><USER22> Serious question: Let's say for a moment that this is akin to defamation. Why would it be Wordpress' legal responsibility to take down the posts or the blog and not the person who posted them? It seems that holding Wordpress responsible for what their users say is a burdensome and dangerous notion.

<comment><USER21> The blogger put the post up on Wordpress.com. It now resides on a server wholly owned by Wordpress, which is serving up the blog to the entire world.

I'm trying to avoid making a third analogy, because analogy usually takes you further from the specifics, but apparently I can't help it: It's analogous to suing YouTube when a user uploads copyrighted content. What is YouTube's responsibility to stop serving up the "illegal" content? Or a mail host's responsibility to stop customers from sending spam?

Hosts can not wash their hands of the content that they're sending out just because it was user-generated.

<comment><USER20> I think you may have been better off not making the third analogy... Because now I want to ask: So republishing copyrighted material and posting a scathing review are in the same 'illegal' class?

<comment><USER21> That's the problem with analogy - it moves the conversation off the topic and onto the fit and fitness of the analogy. I should have thought of something with cars.

My point was not that both crimes were equivalent. My point was that "a user did it!" is not a defense against lawsuits.

<comment><USER20> Yeah I agree, that is definitely no defense. I just don't know if I would even consider a lawsuit like this valid. But I'm not a lawyer nor am I in Romania so I'm speaking completely from opinion.

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> Well, that just stinks (I shall escort myself back to reddit)</comment>


Show HN: Jsong: faster than light streaming JSON parser and writer in C - <AUTHOR> https://github.com/garnetius/Jsong <comment><USER2> I'm very impressed by the high level of quality of your code. It's clear, beautiful and looks extremely efficient at the same time.

For example, the way the feature detection is done with "#if HAVE(INT32)" or "#if C(MSC)".

I learned a trick with Debruijn sequences to count bits here: [https://github.com/garnetius/QUANTUM/quantum/bitops.h](https://github.com/garnetius/QUANTUM/quantum/bitops.h)

It could be useful for a bitmap memory allocator I'm working on.

<comment><AUTHOR> I'm flattered. Jsong definitely wouldn't be possible without QUANTUM.

I learned the trick that you mentioned from WebKit source: [https://github.com/WebKit/webkit/blob/b387856b9e42476169271f...](https://github.com/WebKit/webkit/blob/b387856b9e42476169271fe2c1739d799f2f170c/Source/WTF/wtf/Platform.h#L43)

It's slightly different there though. I don't think that boolean definition tests (as in `definied`) should be mixed with actual definition value: what if we want to check if `USE_STUFF` is defined, and zero is among possible definition values?

<comment><USER2> I submitted QUANTUM separately:

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

</comment></comment></comment><comment><USER3> nice</comment>