Human Resources Isn't About Humans - <AUTHOR> https://backchannel.com/human-resources-isnt-about-humans-c09c6c3b8a4f <comment><USER2> I've assumed HR is primarily about providing legal cover for the business and it's upper management. HR exists primarily as a mechanism to minimize staff/employee lawsuits.

Sure, they also do the paperwork for health care enrollment and track your vacations and such, but that's a fairly minor role. At least that has been my experience. Maybe I'm cynical, though?

<comment><USER3> It is undeniably true that HR departments exist for the benefit of the company, not its employees, but I've never quite understood why that leads to the bad outcomes it does.

If an employee complains to HR of harassment, it seems like the most coldly rational, protect-the-company reaction they could have would be to do everything in their power to prevent the complaint from going public and creating a PR nightmare. Taking the complaint seriously is in their power, usually make the complainant go away peacefully, and makes you the "good guy" in the court of public opinion if it comes to that.

Furthermore, given a situation where one of your staff is abusing their position in any way, I would think most companies would rather find that out from their HR department than from the local newspaper or the district attorney.

So why isn't that the default strategy for HR departments? I understand that not every HR director is necessarily competent, and that large enough power discrepancies can overcome a lot of good intentions, but it seems like best- practice HR procedure is to essentially sweep problems under the rug and hope they go away instead of making an effort to honestly address them. That can't possibly be a good long-term strategy, can it?

<comment><USER4> A lot of the reason HR departments behave the way they do, is because of who they report to. The people in the C-suite set the tone and if they create a culture of sweeping things under the rug or otherwise excusing bad behavior, HR will do that too.

The other thing is that people bring their bias with them and an organization's culture can make it worse. If someone is a bit biased against victims of harassment, in HR they'll tend to side with the harasser. If the culture of the company already tends towards hostile/indifferent/unsupportive, it only makes HR's behavior worse.

</comment></comment></comment><comment><USER5> > _Here's a story: I worked for a company that let an influential person go at > the 11-month mark — four weeks shy of a stock option vesting date. This > person, a public figure, unsurprisingly spent the next few years publicly > badmouthing the company. It would have been trivial to grant him the extra > month of vesting, and if he'd left with his options intact, the company's > reputation wouldn't have taken repeated public hits. Instead, management > went by The Rules, ignoring real-world repercussions. Perhaps an > ombudsperson could untangle the administrivia that makes troubled departures > worse than necessary._

While the concept of an HR-ombudsman is intriguing, this doesn't strike me as the kind of decision the ombudsman should be particularly tasked with. For one, I've always associated the ombudsman role as one that investigates complaints without being beholden to the corporate authority, i.e. the thing that constrains HR to act in behalf of the company's interests.

The worry that an employee deserves special treatment because of that employee's connections/privilege does not strike me as a "complaint". Street- smarts, perhaps, but it's already the prerogative of management and PR to break the rules for public-facing real-world concerns. An ombudsperson being influential in bending the rules in favor of someone who is deemed important/better-than-the-average employee strikes me as the very opposite of the decision that the ombudsperson should be concerned with.

</comment><comment><USER6> > But too many people in HR roles are, to be blunt, not suited to the work. -

True. Coincidentally, HR has some of the lowest-paid professional roles on the org chart. You get what you pay for.

<comment><USER7> Sort of a tangent but I wonder, since HR reps can generally view employee salary info, that leads to higher rates of dissatisfaction. Moreover, I wonder what forces keep HR salaries lower, since they can view the entire "playing field"

<comment><USER8> lower barrier to entry maybe?

<comment><USER6> > what forces keep HR salaries lower...

Simple talent market demand/supply issue. There are tons of people with liberal arts degrees. Engineering, not so much.

</comment></comment></comment></comment><comment><USER9> My rule of thumb: Never, ever go to HR with an issue that is not clerical in nature. If you have an issue that involves things you'd expect HR to be responsible for (safe workplace, abusive behavior, etc.) you will be shafted. Simple numerical issues ("Hey, you paid me too much last month") will often be handled efficiently.

I'd make an exception for blatantly illegal behavior, in which case I'd report the issue anonymously.

HR is not there for employees.

</comment><comment><USER10> It is Human _Resources_ \- division of company responsible for overall managing of _resources_ which are biologically humans.

<comment><USER11> The rep is the human, you're the resource.

</comment></comment><comment><USER12> I think HN titles should start carrying country codes just as they sometimes have dates. My experience of HR is that they are people trying to do their best for everyone. But this is in a different country (Norway). Of course I could just be lucky, perhaps it is just this company, or just the division, or the factory, or even just the people themselves.

Nonetheless I think it is time for HN to admit, and celebrate, that it has become an international forum and start behaving accordingly.

</comment><comment><USER13> Did nobody notice that "human" is just an adjective in "human resources"? The operative noun is "resources".

<comment><USER14> I always wince slightly when "people" are referred to as "resources." As in, "we need more dev resources for this project." You mean developers, which are people.

<comment><USER15> When I'm around cargo-cult management types who use "resource" to mean "person", I've been known to introduce myself as "a resource in the ____ group" just to see whether it will slide by unnoticed.

</comment></comment></comment><comment><USER16> A bit confusing that this article starts out stating that HR is flawed _fundamentally_ and irretrievably because of the nature of its inherent purpose, and then goes on to suggest ways to _reform_ HR. Can you reform something (and also, why bother reforming something) that has, as its purpose, something diametrically opposed to all of your supposed reforms?

</comment><comment><USER17> CTRL+F union

No results.

How many lawyers does your employer have? How many do you have? Equalise things. Join a union!

Don't have the clout to change something yourself? Join a union!

Worried that the boss will retaliate and you won't be able to do anything? Join a union!

Want a friendly, non-judgemental ear to give you advice? Join a union!

Want to gather lots of information about working conditions in a safe a anonymous way? Join a union!

Worried that you're being discriminated against? Join a union!

Need to bargain for better rights or pay? JOIN A UNION!

Want to improve the way the "lazy fat cat union bosses" work? Guess what - unions are democratic! Join a union and improve it!

I'm in a senior(ish) position in the tech industry and I'm a proud member of [https://www.prospect.org.uk/](https://www.prospect.org.uk/)

When I've had problems, my union has given me top-notch advice. They've provided expensive legal support. They've trained me up. They've helped me out. I pay ~£18/month to be a member. I consider it a form of legal insurance - and it is bloody cheap. Oh, bonus points, the settlement they got me when my position was made redundant has paid for the union dues for many years to come.

tl;dr Unions work.

<comment><USER18> I disagree, just ask the manufacturing industry how well unions work. They worked well at getting employers to relocate their production facilities.

<comment><USER19> In an ideal world, union leadership should work _with_ management team to make the company succeed _and_ share the fruits of that success with the rank and file employees. A corollary of this is that if the company fails to succeed, there will be no goodies to share.

In practice, American unions failed to see that. Even if we ignore the cases where leadership just enriched themselves, unions concerned themselves mostly with extracting as much value as the employer would bear, and to a lesser degree to shield employees from the consequences of their mistakes.

On the other hand, fluid capitals means jobs would have gotten outsourced regardless of union's stance. In Mexico, which is far from having the cheapest labor in the world, minimum wage is less than $5USD _per day_. There are loads of social problems derived from that, but the fact that this is feasible at all relies on a much lower cost of living compared with USA. Try to implement that on the other side of the border and you'd be facing bread riots in no time.

<comment><USER20> This is wrong. Back in the day, unions did see that, and were happy to work with the companies. However, the companies were the ones that broke that social contract first, trying to frame negotiations as adversarial.

And, so what if the employees are trying to extract as much value as they can out of their employer? Isn't that what capitalism is all about? Isn't that what the employer is doing to the employees, and anyone else they deal with? Why do we see it as acceptable for the company to do so, but not the workers?

</comment></comment></comment></comment><comment><USER21> Human resources is about managing humans _as_ resources controlled by the employer.

This is kind of obvious from the name.</comment>


Ask HN: I can travel to Europe for a few days. Where should I go? - <AUTHOR> Hi! I have a surprise opportunity to spend a few days in Europe this autumn. I've never had plans to travel there, so I'm not really sure where to go and what to do there.
I'm curious about London, but that's about it.
Do you guys have any advice? Where would you go? What would you do? <comment><USER2> In additon to other comments, Prague and Budapest are awesome too. There's even a bit of a tech scene in each.

</comment><comment><USER3> London, Paris, Rome, Munich, Avignon, Venice, Madrid, Barcelona, Amsterdam, Bruges, Seville, Lisbon. All were fun.

<comment><AUTHOR> Thanks!

Are there some specific places/events/conferences you could recommend to visit? (I'm interested in technology, programming, startups, and I'd like to practice my English.)

<comment><USER4> Why would you go to a tech conference?

If that fits your travel dates: The Oktoberfest in Munich is Sept/15th - Oct/4th this year (despite the name it always ends beginning of October).</comment></comment></comment>


Camlistore – open-source personal storage system for life - <AUTHOR> https://camlistore.org/ <comment><USER2> You might also find this interesting: [http://onemodel.org](http://onemodel.org) : a way to manage all/arbitrary knowledge "atomically".

The web site has a similar feel with different but partly overlapping goals.

</comment><comment><USER3> I started using it today and seems nice and lean. The only problem I have is the amount of projects trying to fix data permanence.

IPFS Tent BigChainDB etc.

Right now I'm starting to use camilstore, what if in the future I want to move to another project? I hope there will be tools to do help with migration. See: [http://indiewebcamp.com/monoculture](http://indiewebcamp.com/monoculture)</comment>


Show HN: "Ceasium", An Angular.JS app for freelance programmers - <AUTHOR> http://z-petal.com/ng-ceasium/ceasium-html5-angularjs-app-for-freelancers.html <comment><AUTHOR> This is a simple html5 angular.js app for freelance programmers. It can do basic client/project management, payment management with currency conversion, time tracking, has notifiers for reddit and hackernews that can watch for new comments and posts appearing in subreddits or a hacker news thread or even watch multiple message inboxes for reddit, provision for adding encrypted notes to projects. All the data is stored in browsers localstorage.</comment>


ByteDance Senior Management expects $6B in losses, due to ban in India - <AUTHOR> https://thetechonomics.com/2020/07/13/tiktok-expecting-6-billion-loss-due-to-indias-ban/ <comment><USER2> I always find an outright ban bad publicity. An alternative is to only allow operations in a particular country under such harsh restrictions that the actually company refuses to do business there in the first place. Or you get what you want that way. No?</comment>


Let it Bleed: SF Pensions will bankrupt city within a decade - <AUTHOR> http://www.sfweekly.com/content/printVersion/2205802/ Fully 20 percent of all current employees are eligible to retire tomorrow--and 27 percent of cops and firefighters can hang it up now if they choose, according to the DHR. Since a retired worker can cost San Francisco nearly 98 percent as much as a working one, goodbye parties are just the beginning of the city's pending expenses.
So we're already taking away services from people who live here to pay for people who no longer work here.
But that's not the worst of it. There's an even bigger financial apocalypse right behind this one. By 2015, the city's pension contribution will swell to at least half a billion dollars--as a best-case scenario. Meanwhile, the city has a $4 billion unfunded health care liability looming that it hasn't saved any money for.
San Francisco can either bring its benefits into line, substantially raise taxes and fees to maintain the status quo, or severely cut services and employees. Or it can do all of the above.
San Francisco's benefits system is protected by the city charter, and is sustainable. The city, as we know it, isn't. <comment><AUTHOR> Key excerpts:

"Fully 20 percent of all current employees are eligible to retire tomorrow-- and 27 percent of cops and firefighters can hang it up now if they choose, according to the DHR. Since a retired worker can cost San Francisco nearly 98 percent as much as a working one, goodbye parties are just the beginning of the city's pending expenses.

So we're already taking away services from people who live here to pay for people who no longer work here.

But that's not the worst of it. There's an even bigger financial apocalypse right behind this one. By 2015, the city's pension contribution will swell to at least half a billion dollars--as a best-case scenario. Meanwhile, the city has a $4 billion unfunded health care liability looming that it hasn't saved any money for.

San Francisco can either bring its benefits into line, substantially raise taxes and fees to maintain the status quo, or severely cut services and employees. Or it can do all of the above.

San Francisco's benefits system is protected by the city charter, and is sustainable. The city, as we know it, isn't."

<comment><USER2> Or San Francisco can be forced into a Chapter 9 bankruptcy ([http://en.wikipedia.org/wiki/Chapter_9,_Title_11,_United_Sta...](http://en.wikipedia.org/wiki/Chapter_9,_Title_11,_United_States_Code)) like and for the same reason Vallejo, California was in 2008.

Bringing "benefits into line" will likely require breaking contracts, which is one of the utilities of bankruptcy.</comment></comment>


Zooniverse - <AUTHOR> https://www.zooniverse.org/projects <comment><USER2> It's remarkable to see how Zooniverse has branched out into so many fields and different projects now. An interesting andecdote I have from grad school is that another student was working on a project, a component of which involved classifying galaxies. He was very interested in developing a machine learning approach, but his advisor suggested instead of spending several months refining the approach and tuning the tools available, to put it on Zooniverse instead. The dedicated folks at Zooniverse finished the entire sample of more than 1e7 galaxies in less than twenty four hours. It was straight forward to set up their program and the information they received was very high quality. His takeaway was that (for how much of a bandwagon machine learning is at the moment in astronomy) it's unique that there are a huge number of dedicated individuals donating their time for the betterment of human knowledge in the Zooniverse program, and it often may not make sense to painstakingly apply the hottest ML techniques when something like it is available.

</comment><comment><USER3> "The Zooniverse is the world's largest and most popular platform for people- powered research. This research is made possible by volunteers — hundreds of thousands of people around the world who come together to assist professional researchers. "

</comment><comment><USER4> Which projects do you work in? It's been a few months since I gave them any time (seabird watch, science gossip) and a whole bunch of new projects have been added ([https://www.zooniverse.org/projects](https://www.zooniverse.org/projects)).

</comment><comment><USER5> I don't understand it.

For example this project:

[https://www.zooniverse.org/projects/h-spiers/where-are-my- bo...](https://www.zooniverse.org/projects/h-spiers/where-are-my-body-organs)

It looks interesting. People making dots on the image of a human, where they expect certain body parts to be.

But where is the data that is generated? Can I download it? If I put in my time to add to the dataset, I would expect that I can also download the result?</comment>


Ask HN: What is the best-designed software you've used? - <AUTHOR> All things considered, when someone asks you this question which software comes to your mind immediately? <comment><USER2> LLVM is quite impressive in terms of software architecture. The use of IR decouples everything and allows optimization passes and backend (machine code generation) to be shared across languages. This also hugely lowers the barrier to entry for designing a new language, so we get Rust, Swift, Julia, etc. We're undergoing a kind of mini renaissance in compiled languages at the moment, which I directly attribute to the success of LLVM's design.

[http://www.aosabook.org/en/llvm.html](http://www.aosabook.org/en/llvm.html)

</comment><comment><USER3> The UTF-8 encoding. It's optimal in so many ways it's like a quadruple bank shot. Here's a 1997 paper talking about some of its properties:

[https://www.sw.it.aoyama.ac.jp/2012/pub/IUC11-UTF-8.pdf](https://www.sw.it.aoyama.ac.jp/2012/pub/IUC11-UTF-8.pdf)

Between UTF-8 and Unix, Ken Thompson is my engineering hero.

<comment><USER4> Don't forget Plan9

</comment></comment><comment><USER5> Hands down, Rhino3d ([https://www.rhino3d.com/](https://www.rhino3d.com/))

It is an amazing piece of 3D modeling software. After having used it, other 3D modeling software seems software seems clunky in comparison.

Rhino3D is the best mixture of command line, auto complete, and a mouse based interface that I have ever seen. Lots of CAD software combined the two, but Rhino does an incredible job. The commands are also incredibly well named, to the point that you can often just guess what you want to do, and the command is right there.

If you mean well architected, the RTOS that ran on the Microsoft Band is some of the best code I'll probably ever have the pleasure of working with. The lead architect on it reviewed every single code submission to ensure consistency in quality and style. Imagine hundreds of thousands of LOC with all the variables being well named, the same conceptual layout of code in every source file, all written against an incredibly well designed run time. The abstractions in the RTOS were all pure and consistent, you didn't run into surprises.

In terms of UI, a lot of specialty software actually falls into this category, it just has a learning curve, but the software is all driven around a single purpose and once you have learned it, that shows. Photoshop is actually like this, once you have learned it, the UI is incredibly powerful and the different abstractions used are at the right level of complexity to get the job done. (No idea how that code base looks though... :) )

The WPF Framework in the .NET Micro-Framework is another bit of good code. I think I am one of a handful of people to ever use it, but wow, is it a nice graphics API to write against. (Super limited, but that is kinda the point, it kicks butt at its one job!)

<comment><USER6> The company behind Rhino, Robert McNeel & Associates, has also managed to stay small ([http://www.mcneel.com/contact](http://www.mcneel.com/contact)) and user-focused (from [http://blog.novedge.com/2007/03/an_interview_wi_3.html](http://blog.novedge.com/2007/03/an_interview_wi_3.html)):

 _> In the last few months, there has been a lot of talk in the CAD community about proprietary file formats and how companies protect them. I would like to know how a CAD system like Rhino was able to succeed with a file format that is open, documented, and free (OpenNURBS)._

 _The CAD users need and want open high-fidelity data exchange. Unfortunately, open file formats are not in the best interest of investors. Investors would rather bet on companies that have a protected proprietary market. Unlike most CAD companies, we are not a public company nor are we venture capital funded with plans to be public. That means that our only customer (and source of income) is our users._

 _> Rhino users had to wait a few years between Rhino 3.0 and the new Rhino 4.0. In the mean time, they enjoyed a continuous stream of improvements and bug fixes delivered to their PCs by the Rhino automatic updating system. Based on how well this system has worked, are you considering moving from a release- based system to some sort of subscription-based system?_

 _No. Again, those systems are usually in the best interest of the investors. Our users have the luxury of not having to buy upgrades until we provide something that is actually useful to them. In addition, all current users get to be involved in the development process are every stage, not just for a couple of months at the end. Since we don't pay any attention to what other CAD companies are doing, we rely on the users to provide the direction for each new release._

<comment><USER5> Rhino is such a joy to use, I honestly wish I had a reason to do some 3D modeling just so I could justify purchasing it, and have an opportunity to use it.

An absolutely amazing bit of software.

</comment></comment></comment><comment> y-c-o-m-b Winamp. It really whips the llama's ass.

<comment> swingline-747 Winamp was my fav after AcidTracker.

Warez/demoscene apps were usually awesome with badass visuals and music.

</comment></comment><comment><USER7> There a lot of great software; but first thing that came to my mind immediately was Redis. From documentation and SDKs to the focus and self- imposed constraints, I love pretty much everything about it.

<comment><USER8> I took a peek under the covers a while ago, and the bit that really stood out to me was the networking code. It's hard to do right.

</comment></comment><comment><USER9> Consumer products: Foursquare, iA Writer, Dropbox, Basecamp, Tinder, Tweetbot, Citymapper, Fantastical, Instapaper, Hotel Tonight, Cash App, 1Password, youtube-dl, Mailbox RIP :'(

Dev products: Postgres, Heroku, Elixir, DigitalOcean, Tower (git GUI), Sentry

</comment><comment><USER10> Ableton Live.

The way the UI design packs tons of control into a simple, flat interface. The way everything happens in realtime. The way everything can be routed and automated and chained.

Even though I'm a shitty musician, I love this program so much.

<comment><USER11> I'd argue Bitwig is even better designed. It was started by some employees at Ableton who split away from it.

</comment></comment><comment><USER12> I like PostgreSQL, especially when you include documentation, software development and release process in the definition of design.

<comment><USER13> Their commit messages are the golden standard of commit messages.

</comment></comment><comment><USER14> Paint shop pro version 5.0 (by Jasc). I don't know when it was made but it still sits on my desktop till today and is more useful and handy than any image editing software I've used.

It can handle almost all image formats, loads up in less than 1s and everything is so fast and breezy. The Ui is super intuitive that I've never had to once search for help.

<comment><USER15> Thought I was the only one! :P It's from the late 90s. I myself use PSP6 instead of 5. I don't really remember what the differences were anymore. My only complaint about it is it doesn't do transparent PNGs well (or at all), whether it's reading or writing one. As far as features/functionality/UI though, I like it more than anything else (Photoshop, Gimp, Pixlr on web, etc.). For example, I can never figure out for the life of me how you rectangular-select an area, and just move that area in all those other programs (they always try to move your selection and not the content inside the selection; whereas the default move operation in PSP is to move the content). But then again I'm a dev, not a designer, and I do pretty simple stuff with a graphics program.

</comment></comment><comment><USER16> Pivotal Tracker. It's opinionated, but because it can rely on those assumptions, it strikes this incredible balance between information density, on-the-ground usability, and the ability to have a birds-eye-view of the risks of a software project. A diligently updated Pivotal project is a thing of beauty and confidence and inspiration. One size does not fit all (and certainly, if you want to give your team the opportunity to work on more difficult-to-spec, research-oriented, or experimentation-dependent projects, it's far from ideal), but for typical web applications, it's industry- defining.

Worst-designed software: Oracle PeopleSoft Campus Solutions - [https://www.google.com/search?q=peoplesoft+campus+solutions&...](https://www.google.com/search?q=peoplesoft+campus+solutions&source=lnms&tbm=isch) . A case study in "how many workflows can we fit into one infinitely customizable software product without hiring a UX or UI designer to give any thought to a single one of them? Oh, and how can we make it as non-performant as possible to do the most common tasks?" I understand the siren call of "an interface that works for every workflow imaginable" \- but unless you build design-customization tools on top of it, it will be a hated monstrosity.

Fun story: my undergraduate college used this, and I got a highly competitive internship after an interview where I spent the majority of the time ripping apart exactly how bad this software was, and how I would fix various aspects. I imagine no person motivated enough to solve those problems has any desire to work for Oracle, so the problem will persist for at least another century.

<comment><USER17> Pivotal Tracker is so incredibly good, it's a shame it's kind of niche (compared to Jira).

When Jira gives you the mightiest of tools to postpone and reconsider everything into oblivion by discussing and custom-workflowing it in epic Cinemascope, Pivotal Tracker will give you just that little amount of space for collecting what you need, and then get things shipped.

It may be weird, but a company using Pivotal Tracker has a big +100 from my side when looking for a job.

</comment></comment><comment><USER18> \- Unix command line.

\- Vim's commands and keybingings interface (not the UI).

<comment><USER19> >Vim's commands and keybingings interface (not the UI).

I recently decided to finally get good at Vim, but the UI, being text-only, can be charitably described as "awful."

Solution: Sublime Text 3 with the NeoVintageous[1] plugin. Takes a beautiful, highly customizable, extensible editor and adds most of the Vim bindings. I can do all of my main development work in a gorgeous editor, and when I have to hop onto an unfamiliar machine, I'm still good at using Vim.

[1] [https://github.com/NeoVintageous/NeoVintageous](https://github.com/NeoVintageous/NeoVintageous)

<comment><USER20> You may want to check out SpaceVim. I've been developing on a remote machine lately; before I was using ST2/3\. I could have continued to do so using (e.g.) sshfs, but I think that I'm probably more productive this way. One of my favorite features so far is that the terminal is bound to SPC+', and that lets you easily yank and paste and navigate using the vim tools. It's not quite as pretty as ST or Atom. Powerline fonts and a 24-bit color terminal emulator are recommended.

[https://github.com/SpaceVim/SpaceVim](https://github.com/SpaceVim/SpaceVim)

</comment></comment></comment><comment><USER21> What do you mean by well-designed? API, UI, performance or the internal structure?

</comment><comment><USER22> Datomic, Rich Hickey's postgres killer [http://www.dustingetz.com/:datomic-in- four-snippets](http://www.dustingetz.com/:datomic-in-four-snippets)

<comment><USER23> yes to Datomic, also the JVM but Smalltalk-80 takes the prize for me.

</comment></comment><comment><USER24> Ah, definitely the suckless suite. Runner ups are probably spectrwm and Vagrant, possibly Ansible.

I absolutely love dmenu, and the suckless philosophy is great. Dmenu ties in great to spectrwm, which is a simple tiling window manager that has sane defaults and just lets me work.

Vagrant makes my life so much easier, likely it's saved me hundreds of hours of my time.

And I find all of the Red Hat documentation to be fairly good where it matters, even if I prefer using Chef over Ansible in complex cases.

</comment><comment><USER25> Developer tools: Twilio, Heroku Consumer software: TurboTax

I know that TurboTax is a controversial choice because they are incentivized to fight to keep tax law complicated, but if we ignore the political context, their software works beautifully well. It never does anything I don't expect, when I need more time on a section it's easy to drop out and revisit later, and I always feel confident at the end that I've filled out my taxes correctly.

</comment><comment><USER26> PHPStorm has made me a lot more productive when it comes to building sites.

It has so many amazing plugins and the ability to sync settings AND plugins in combination with VCS allows you to pick up your project from anywhere. With a plugin like Key Promoter X you're well on your way to developing without taking your hands off the keyboard.

Built in terminal is great, no more alt+tabbing and cd'ing to the project directory.

It's only like $9/month on JetBrains

</comment><comment><USER27> In terms of UI, it was the FrameMaker desktop publishing program. A beautiful implementation of the idea of "progressive disclosure".

<comment><USER28> Was that on classic Mac OS? I've long wanted to take a look at FrameMaker. I wonder if it's easily available in abandonware somewhere for an emulator tryout.

<comment><USER27> It was on an SGI workstation, IIRC.

</comment></comment></comment><comment><USER29> Considering the obvious click-bait title, there are fundamental problems with the question imho.

How can you know how well some software is _designed_ by _using_ it? You can't. You need to see the code, to look at its specs, etc.

Of course, the OP might be taking about UX, rather than the other facets of software design, but even then there's a large disconnect from the _design_ and the _use_.

As a user, all you can do is comment on metrics that are important to you: usability, speed/responsiveness, accuracy, stability, originality... At best, this might hint at the result of good design, but not always.

PS: My actual answer to all of this is: Software design can always be improved upon. There is nothing that I've written that I can't improve upon/do better after a re-design.

</comment><comment><USER30> Garmin 430/530\. It's an in-panel GPS NAV/COM for small airplanes. The UI is focused on predictability to the cost of style and even intuitiveness. It also has a level of reliability that makes a joke of any web app.

[http://www.kingschools.com/otherimages/430_530_panel.jpg](http://www.kingschools.com/otherimages/430_530_panel.jpg)

</comment><comment><USER31> Varnish

[https://varnish-cache.org/trac/wiki/ArchitectNotes](https://varnish- cache.org/trac/wiki/ArchitectNotes) and [https://varnish- cache.org/docs/6.0/phk/firstdesign.html](https://varnish- cache.org/docs/6.0/phk/firstdesign.html)

</comment><comment><USER32> Basecamp. The level of care that goes into how it feels to use the product is extraordinary and has made my life much better.

<comment><USER33> It's awesome to use a product designed by people who are genuinely excited about it, about design, about making collaboration better.

</comment></comment><comment><USER34> Other than apps I've designed for my own use… Enchant is the first thing that comes to mind: [https://www.enchant.com/](https://www.enchant.com/)

It's a ticketing/customer support Web app. A hundred tiny UX decisions make it much more pleasant than similar apps.

</comment><comment><USER35> SQLite.

</comment><comment><USER36> Unix… but the definition of _" well-designed"_ may differ from person to person.

</comment><comment><USER37> From the UX perspective of a long time user: GNU Emacs, I guess. AFAIK, its general architecture has not changed much in 30+ years. It was meant from the get-go to be extensible, a decision that has proven wise many times over.

</comment><comment><USER38> Affinity's Designer and to a lesser extent Photo. They've done a great job at reducing the complexity of illustration and photo editing and making it just really pleasant to do (particularly compared to Illustrator for example).

</comment><comment><USER39> VueJs - from 0 to a basic working application literally in 2 minutes. Same with older versions of AngularJS, but not sure whatsup with the new Angular JS though (simply called as Angular) it is not easy to get up and started.

</comment><comment><USER40> Git Tower, its design and performance (real native Mac app) is so much better than other competitors that I begrudgingly subscribed to its annual plan because other Git GUI app doesn't even come close.

</comment><comment><USER41> One of the earlier versions of iMovie. I had zero knowledge of movie editing when opening it for the first time, and managed to produce a reasonably well edited short movie in about two hours. Magic.

</comment><comment><USER13> Redis and Postgresql.

</comment><comment> swingline-747 FlowDock is/was the best of the chat apps pre-Slack due to threading, search and tagging that worked. HipChat/Campfire were scrolling hell.

</comment><comment><USER42> I used to love Instapaper, but then migrated to Pocket. Both those kinds of apps serve as both article bookmark managers and article readers.

<comment><USER33> Is it possible to migrate content from Instapaper to pocket? Especially content no longer available on the web?

<comment><USER42> Sorry for the late reply. I believe you can do that: [https://getpocket.com/import/instapaper/](https://getpocket.com/import/instapaper/)

</comment></comment></comment><comment><USER43> Linux, the whole software philosophy is quite pure.

<comment><USER4> It is called: The Unix Philosophy [[https://en.wikipedia.org/wiki/Unix_philosophy](https://en.wikipedia.org/wiki/Unix_philosophy)]

That's not to say that Linus is not a great engineer

</comment></comment><comment><USER44> Notion ([https://www.notion.so/](https://www.notion.so/)) and Telegram

</comment><comment><USER33> The Libby iOS app for access to public library content.

Also wins for best software funded by my tax $$.

</comment><comment><USER45> Ableton Live.

</comment><comment><USER46> Ambiguous question but off the top of my head: SendGrid, Stripe, Heroku, GitHub, Redis

</comment><comment><USER47> Probably, VLC media player. It does _everything_ I need a media player to do.

<comment><USER48> If we are talking about UI design, in my opinion VLC falls short. I still can't figure out where the setting is to turn off the title overlay at the beginning of the video. Does anyone here know?

</comment></comment><comment><USER49> This will be controversial, but my vote is for Uber. I am constantly surprised at all the nifty features they have tucked away that reveal themselves exactly when you need them. I'm often using it while I'm busy doing something else and I haven't had a moment of frustration yet.

</comment><comment><USER50> Adobe Photoshop and Adobe Illustrator were amazing in their day.

</comment><comment><USER51> Fusion 360! Autodesk did a fantastic job designing it.

</comment><comment><USER52> Aldus Pagemaker / Adobe InDesign.

</comment><comment><USER53> Pocket Casts

<comment><USER54> I tried _a lot_ of podcasting apps after Instacast died and PocketCasts was so far ahead of the competition (and Instacast) that I fell in love with it (and now many of my friends have it as well). It has almost everything I want in a podcast app except for being able to search through the episodes (I often remember an episode during the course of a conversation and want to send it to someone).

<comment><USER53> If you didn't know, their web app is another $10 (when I bought it 3 years ago at least), but it's just as good and syncs.

</comment></comment></comment><comment><USER17> discreet logic flame from around 2001, I think it should have been version 6 or 7

</comment><comment><USER55> Mysql8 and Oracle workbench.

</comment><comment><USER56> Notion

</comment><comment><USER57> emacs

</comment><comment><USER58> \- Stripe's API

\- Shopify for a web UI

</comment><comment><USER59> Robinhood Onboarding

</comment><comment><USER60> bash, AWK, TextWrangler, Audacity, VLC, ffmpeg

</comment><comment><USER61> FoxBase+/Mac

</comment><comment><USER62> Windows Phone.

</comment><comment><USER63> TCP/IP.

</comment><comment><USER64> waveapps.com, love the UI

</comment><comment><USER65> Bitbucket

</comment><comment><USER66> uBlock Origin

</comment><comment><USER65> bitbucket</comment>


Tarsnap critical security bug - <AUTHOR> http://www.daemonology.net/blog/2011-01-18-tarsnap-critical-security-bug.html <comment><USER2> Tarsnap had a CTR nonce collision. It's a bad bug that's fairly common and easy to explain.

CTR mode turns AES into a stream cipher, meaning it can encrypt a byte at a time instead of 16 bytes at a time. It does this by using the block cipher core to encrypt counters, which produces a "keystream" that you can XOR against plaintext to use as a stream cipher.

For this to be secure, as with any stream cipher, it is crucial that the keystream never repeat. If you encrypt two plaintexts under the same keystream, you can XOR them together to cryptanalyze them; even easier, if you know the contents of one of the plaintexts, you can XOR the known plaintext against the ciphertext to recover the keystream!

To avoid repeating keystreams, CTR mode uses a nonce, which is a long cryptographically secure random number concatented to the counter before encrypting.

To avoid that catastrophic security bug, CTR mode users have to make sure the nonce never repeats (and also that the counter never repeats, e.g. by wrapping). We have found both bugs multiple times in shipping products, and now Colin found it in his product.

And so I come to the moral of my story: Colin is clearly a gifted crypto dev. He can talk lucidly and at length about the best ways to design crypto-secured protocols. He has found crypto flaws in major systems before. He is as expert as you could expect anyone to be on any product.

And Colin didn't get it right; what's more, the manner in which he got it wrong was devastating (in cryptographic terms).

Colin handled this well, largely due to the fact that he's an expert and knows how to handle it.

How likely is it that anyone less capable than Colin could have handled it so well? Moreover, if Colin can make a devastating mistake with his crypto code, how many _worse_ mistakes would a non-expert make?

You should avoid writing crypto code if at all possible. Nate Lawson is fond of saying, "you should budget 10 times as much to verification as you do for construction of cryptosystems"; I would amend that only to add a price floor to it, because you cannot get real validation of a cryptosystem for less than many tens of thousands of dollars --- if your system is _simple_.

<comment><USER3> What should you do if you can't avoid writing crypto code?

I found myself in this situation when I tried to find a bcrypt implementation for Common Lisp. There wasn't one. Folks in #lisp suggested I adapt the blowfish implementation in Ironclad, since 'bcrypt is just blowfish anyway'.

I ended up writing a Lisp wrapper around one of the C implementations, a process documented at my blog ([http://www.letsyouandhimfight.com/2010/07/14/cl-bcrypt-a- fir...](http://www.letsyouandhimfight.com/2010/07/14/cl-bcrypt-a-first- attempt/)), but it's unsatisfactory for a couple of reasons:

1) Both the current C implementations are designed to be integrated into libc. The Openwall implementation does have the code factored out into its own file, but there is no support structure for building a shared library. (Python's bcrypt bundles a modified version of the Openwall C source directly with it, for example.) Common Lisp's FFI is intended for working with installed shared libraries

2) There appears to be a bias in the Lisp community towards pure-Lisp implementations, for (hopefully obvious) reasons, so an implementation as hacky as what I came up with is unlikely to see much use.

If I do go back to trying to write a webapp in Common Lisp, I think I will find myself having to reimplement bcrypt in Common Lisp. First, I'll have to find a sufficiently portable method of getting cryptographically secure random numbers; as of the writing of that blog post, there wasn't one that I could find anyone recommending. The more difficult part will be to convert the C code into Lisp code without missing any places where operations on the C types don't precisely correspond to the same operations on the Lisp types (due to, say, overflow).

I'm worried I might get something wrong, but I can't just use the crypto code written by wiser folks than I, because, at least in the Common Lisp community, that code doesn't seem to exist.

<comment><USER2> First, don't obsess too much about your password digest. I know this is head- explodey considering the source, but all I'm trying to do by ranting about it is to get people to stop using SHA1 (or SHA256 or Whirlpool or whatever) hashes. The risk to your users for doing that bit wrong is not very high.

Second, my advice about how to do crypto security is very simple:

* Use PGP for data at rest.

* Use TLS for data in motion.

Do not trust your own judgement (say, by using OTR because it "feels" like most of what you need, or trusting that you'll use Keyczar safely) on anything else without a formal external review. In practice, you will almost never need anything more than TLS or PGP.

<comment><USER3> Okay, but in the more general case, where something literally does not exist for a particular platform/language and my choices are "write it myself" or "don't use that platform/language", is there any way to feel confident that a choice to write it myself will not be a hideously wrong decision?

<comment><USER4> I'm not Thomas Ptacek, but I think his answer would be something to the effect of "to be really confident, get tens of thousands of dollars worth of code review before shipping." You may be prominent enough in the CL/hypothetical crypto-less platform community to get most of that for free, but that's the value of the validation needed.

</comment></comment></comment></comment></comment><comment><USER5> "if you roll your own crypto, and it breaks, you will look incompetent." - tptacek to cperciva, 313 days ago.

<http://news.ycombinator.com/item?id=1183757>

(not that I know anything about crypto)

<comment><USER2> I was pretty mean to Colin in that post. In the intervening year I've come to respect Colin's practical experience a lot more than I did before, when I thought he was hopelessly academic. I'd like to make it clear that Colin doesn't look incompetant (actually, he seems to be earning accolades from the Twitterverse for how he wrote it up).

But yeah, I hope it's obvious that I see this as a very strong vindication for my argument that generalist devs shouldn't build crypto. At all, ever. Use TLS for data in motion; use PGP for data at rest. Systems much bigger and heavier than yours have gotten away with this.

<comment><USER6> Colin is wildly competent, but I was always uncomfortable with how much he was willing to do his own work without review. He is probably one of the best people in the world to do this work, but even the best person in the world will occasionally make mistakes, as happened here.

Generalist devs shouldn't build crypto. Expert devs shouldn't build crypto without review.

As for academics... a lot of us aren't as hopeless as some of the trash that appears in conferences and journals might appear. :)

<comment><USER7> > Expert devs shouldn't build crypto without review.

I was surprised that Colin's solution is to personally re-review his code. Good writers know--don't rely on yourself for proofreading. Usually the mental lapse that caused the problem will manifest itself during your review as well.

Disclaimer: I am not a tarsnap user.

<comment><USER8> In my experience, I'm very good at proofreading my own writing/code, as long as I wait long enough that I've forgotten it. In this case, I was looking at code which I wrote over a year ago.

But please, go ahead and give the code another read. :-)

<comment><USER6> I sense a great justification for an alcohol budget.

Edit: Totally willing to continue burning karma on this comment if the HN community continues to decide vote it down. I've tried reviewing my own code in a different state of intoxication than when I wrote it and I'm not joking that it can help. I'm still trying to pull resources together for a study on the benefit of different mindframes for peer review. We haven't tried alcohol yet, but frankly it wouldn't be a half bad idea if we could get anyone not to laugh too loudly at the proposal.

<comment><USER9> Herodotus:

"they are wont to deliberate when drinking hard about the most important of their affairs, and whatsoever conclusion has pleased them in their deliberation, this on the next day, when they are sober, the master of the house in which they happen to be when they deliberate lays before them for discussion: and if it pleases them when they are sober also, they adopt it, but if it does not please them, they let it go: and that on which they have had the first deliberation when they are sober, they consider again when they are drinking."

<http://www.gutenberg.org/cache/epub/2707/pg2707.txt>

I also agree with you in general, that checking things in different mental states is a good practice. With alcohol, I suspect the benefit is outweighed by the difficulty of spotting bugs when drunk -- but who knows?

<comment><USER6> Well, I am actually a bit more curious about the difference between coding drunk and checking sober vs. coding sober, checking sober... But I suppose checking drunk would be amusing too.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> This is a perfect example of why we shouldn't have (or not allowing the use of) ++ in languages. If instead of being buried in a long statement, the increment had been explicit on its own line there's a much smaller chance this bug would have happened.

Which is easier to miss?

aes_ctr(&encr_aes->key, encr_aes->nonce++, buf, len, filebuf + CRYPTO_FILE_HLEN);

or

aes_ctr(&encr_aes->key, encr_aes->nonce, buf, len, filebuf + CRYPTO_FILE_HLEN);

ncr_aes->nonce += 1;

?

<comment><USER11> Golang does that, right (++ is a statement, not an expression)?

<comment><USER12> Yes. Go's assignments, increments, etc cannot be used as expressions.

</comment></comment></comment><comment><USER13> That's fast. I got the email two minutes earlier :)

I meant to say this in an email, but big props to Colin for being transparent about this and responding to the issue the way he did. I'm sure it wasn't an easy weekend.

<comment><USER8> It was remarkably fast. I put up the blog post, updated the website, sent out the emails, tweeted, updated the /topic in the #tarsnap IRC channel, and then came here to submit only to find that it already had 5 votes.

</comment></comment><comment><USER14> Colin, one question: let's say I'm not paranoid about my backups' security. So I don't want to re-encrypt anything (even though it's only about 1GB). How does upgrade to 1.0.28 affect existing and new backups (and deduplication among those)?

<comment><USER8> Tarsnap 1.0.28 is completely compatible with earlier versions (except for key file format changes in 1.0.22). The only nontrivial change was to make new uploaded data get encrypted correctly.

</comment></comment><comment><USER15> This is an excellent example of why you shouldn't write your own crypto code - Colin is awesome at it and even he makes mistakes.

Edit: To be clear, this isn't aimed at Colin but meant to point out that if he still occasionally gets it wrong there's a pretty good chance that your fancy custom encryption method does too.

</comment><comment><USER16> This may be a naive question, but are unit tests for encryption code a reasonable idea? eg, each revision is tested against a known set of data and a known set of common attacks.

<comment><USER2> It's hard to test the behavior of crypto code (even insecure crypto code can still generate data indistinguishable from random noise), so your unit tests end up tightly coupled to the actual implementation. You can do it, but it's not as clear a win as it is in other settings.

</comment></comment><comment><USER17> Its good users were notified to upgrade, but I am surprised he revealed as many details this soon. Does that not further reduce security for the end user for data they have stored with the old version?

<comment><USER8> I did consider that, but the NSA knows perfectly well how to attack CTR nonce collisions, and anyone looking at the diff between version 1.0.27 and version 1.0.28 can see what the change was; so I didn't disclose anything which potential attackers couldn't already figure out easily.

</comment></comment><comment><USER18> When even someone like Colin introduces a crypto bug like this, it makes you wonder. Are we ever going to get to a place where crypto engineering is something the open source community can take on? How long did it take to push people to stop writing C programs with trivial vulnerabilities? And that's something you can write a static analyzer for. No so with crypto.

<comment><USER19> Why pick on the open source community? Even people working for commercial entities can write bad code.

In the open source world at least others get to look at the code and find (and perhaps fix) problems.

<comment><USER18> I should clarify. I'm not picking on the open source community. I'm differentiating the open source community form the private sector because the incentives are different. There are crypto guys in the private sector that can build secure crypto systems for $600/hour. Now, crypto is devilishly hard to do, so there's no guarantee their system would be secure either. But if you have nation-state levels of funding, you certainly can buy a system that would take serious talent and funding to break. On the other hand, open source communities are motivated by intrinsic incentives. Clearly this is enough to implement state-of-the-art operating systems, but is intrinsic motivation enough to implement secure crypto? It may well be that the bar is too high in this area and I think the next decade will yield some interesting results here. Even if we count OpenSSL as a point for open source (generous), that's one reasonably secure system over the course of a decade.

<comment><USER20> > I'm differentiating the open source community form the private sector > because the incentives are different.

The incentive in the private sector is to maximize profit, which means minimizing costs.

> But if you have nation-state levels of funding, you certainly can buy a > system that would take serious talent and funding to break.

You might be able to _build_ such a system, or you can buy a system that just passes all acceptance tests, which is where the incentive is (since this minimizes costs). Given that testing a cryptosystem for correctness is just about impossible, what do you suppose happens?

The best assurance that I get is when I'm told which standard implementation a product uses. If a private entity without a reputation in cryptography told you that they rolled their own, would you trust them? How many crytographers would you trust? I know whom I would, and I don't even need a full hand to count them.

<comment><USER2> Colin Percival told you that he uses RSA-2048, AES-256 in CTR mode, and HMAC- SHA256. None of that information helps you with a one-line implementation error that incorrectly handles CTR nonces. That's 'poet's point.

<comment><USER20> By "standard implementation", I mean something like "OpenSSL 0.9.8o". This helps me more, since I can be fairly certain that >0 experts have reviewed that code. Given that absolute verification is just about impossible, it's a question of reducing the probability of failure wherever possible. With a private, closed implementation, the number of reviewers is almost certain to be lower.

<comment><USER8> _By "standard implementation", I mean something like "OpenSSL 0.9.8o". This helps me more, since I can be fairly certain that >0 experts have reviewed that code._

It's a bit more complicated than that. Yes, >0 experts have reviewed OpenSSL code. But <1 experts have reviewed _all_ of the OpenSSL code. Did the bits which matter to you get reviewed? Who knows...

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> I'm a massive fan of tarsnap, even though I have no need for it and probably don't have the technical competence to use it anyway. Given that using the product isn't why I'm a fan, I can only put that down to Colin - and this post, with its technical openness, easy to understand (for a layman-of-sorts) crypto and code explanation, and humility demonstrates why.

All that, plus explaining how to delete and offering a refund will probably cost only a small number of picodollars, and is worth a lot more to tarsnap's credibility.

</comment><comment><USER22> I planned on modifying tarsnap to work on local files and upload to different resources (dropbox, local, etc) but as I dug in and looked at the license I noticed this little gem in COPYING "Redistribution and use in source and binary forms, without modification, is permitted for the sole purpose of using the "tarsnap" backup service". Why even provide source if the license doesn't allow me to do anything with said source? I can't create a patch without being litigated and I won't due to that.

<comment><USER2> This is silly. Colin clearly isn't going to "litigate" against you. He provides the source precisely so that people can find bugs in it. It's a commercial product, though, not a GNU project. It's a good thing that he provided source code, and it's disingenuous and petty to try to punish him for doing that.

<comment><USER22> Why not just have a non-compete clause within the license. At least legally this would allow for internal use with local backups. I highly doubt execution of a similar service using tarsnap would even happen, if that's what the worry is.

<comment><USER2> Presumably because he has better things to do with his time. His commercial competitors universally do not release their source code at all. Stop picking on him for his license.

</comment></comment></comment></comment><comment><USER23> "Tarsnap compresses its chunks of data before encrypting them. While the compresion is not perfect (there are, for instance, some predictable header bits), I do not believe that enough information is leaked to make such a ciphertext-only attack feasible."

That part is very important. Compress then encrypt. Here you see competent crypto applications playing safe covering for unexpected problems. I say well done Colin! Full disclosure and best practices.

<comment><USER2> Compression prior to encryption is generally a good practice, but as Colin points out, it doesn't actually do much to mitigate this bug; in a bulk encryption setting, you're going to find known compressed plaintexted to back keysteam out of.

It's true, and Colin's right to point it out, that it's unlikely that this bug will be exploited (you have to be Colin to do it, and it's a general PITA to deal with), but I wouldn't want anyone to have the impression that CTR mistakes are survivable just because you compress.

</comment></comment><comment><USER24> Colin, thanks for the explanation. I suggest an additional change to your pre- release process: _all_ code must be peer reviewed. This is by far the most effective quality control measure you can implement, much more so than unit testing or "double-checking". I wouldn't trust any mission-critical production code that hasn't been peer-reviewed, much less crypto code.

<comment><USER8> Code review is always good, but some code deserves more checking that other code. There are some parts of Tarsnap where the worst that could happen is that you'll get some mangled messages printed to the terminal -- that code is clearly not as deserving of testing as the core cryptographic functionality.

<comment><USER24> I didn't word what I said as well as I could have, but what I meant was to emphasize the "require review before submission" part, not the "all code" part. Do you have mandatory peer review on security-critical code already?

</comment></comment></comment><comment><USER25> Cryptography is hard, but someone has to do it.

</comment><comment><USER26> tarsnap had a government backdoor! colin just did this to get publicity! colin just did this to get a free security audit!

</sarcasm>

<comment><USER8> I've never had a DoD grant revoked. :-)

</comment></comment><comment><USER27> This seems like it would be a _fantastic_ reason to develop a crypto-linter. Not that I think such a thing would be _easy_ \- but it could be immensely simplified by defining things like a "must change" attribute on parameters like that "encr_aes" pointer in library code, to flag potential incorrect use.

<comment><USER2> Buffer overflows are a _fantastic_ reason to develop secure code linters. I'll let you know when we figure out how to make one that can count reliably.

<comment><USER8> Make sure that it can also divide. My favourite Coverity glitch is when it looked at some IPv6 code and announced "assuming i % 8 != 0" and "assuming i == 128" at the same time. (And then claimed that we would access ipv6addr[16].)

</comment></comment></comment><comment><USER28> I applaud the openness of this submittal. Nobody's perfect and the topic is difficult and the implementation is tricky to get absolutely right.

At AltDrive, we use a nonce generated w/ secure random and that is used for encrypting an entire file in CTR (EAX) mode. The issue with 64k chunks does not apply. The mature and well-respected BouncyCastle AES-256 libraries are used from the low level API. Usage of the API was independently reviewed by the BouncyCastle organization. I can share that on the AltDrive blog if anyone is interested. <http://altdrive.com>

</comment><comment><USER29> Will a backup created in 1.0.28 still be de-duplicated against backups created in previous versions of Tarsnap?

<comment><USER8> Yes. This is why you need to upload data with a new key in order to ensure that it is re-encrypted.

</comment></comment><comment><USER30> Looks like you rolled a hard six. ;-)

</comment><comment><USER31> Isn't this the same category of bug that led to the Sony master key leak? Amusing, if so.

<comment><USER2> Sort of but not really. Apart from the fact that Sony broke DSA (a wildly different crypto primitive than AES-CTR), the mistake Sony made was more fundamental to the design. I think you're right to notice that in both cases a nonce wasn't actually a nonce.

</comment></comment><comment><USER32> tarsnap.com has exceeded their app engine quota. Not good for business.

<comment><USER8> Tarsnap doesn't use app engine. Google's index went nuts and I have absolutely no clue why. The real Tarsnap website is at <http://www.tarsnap.com/>

</comment></comment><comment><USER33> My new online code analyser program, sponsored by AMD, could have prevented this bug.</comment>


Venezuela's squatter skyscrapers; as the country declines - <AUTHOR> http://www.nytimes.com/2011/03/01/world/americas/01venezuela.html?_r=1

<comment><USER2> And, yet again, a dystopian J G Ballard (late British sci-fi author and author of _Empire Of The Sun_ ) story becomes reality..

Ballard's _High Rise_ (1975) - <http://en.wikipedia.org/wiki/High_Rise> \- shares a lot of similarities with this outcome (though the tower in the book was in London) and is a fine read to boot. The eventual outcome is the formation of different "clans" of residents based on blocks of floors having intra-building "wars" with each other. I believe that, finally, a movie is being created of this film by the guy who created _Cube_.

<comment><USER3> > I believe that, finally, a movie is being created of this film by the guy > who created Cube.

It seems that wikipedia also believes that:

<http://en.wikipedia.org/wiki/Vincenzo_Natali>

<comment><USER2> I'm hesitant because movies based on Ballard books make Duke Nukem Forever look like a sure thing.. ;-)

<comment><USER3> OTOH Duke Nukem Forever is a sure thing now.

</comment></comment></comment></comment><comment><AUTHOR> How long is their oil supply supposed to last?

Because after that, it's really going to get harsh, it's 80% of the country's income.

This has also happened in Brazil.

<comment><USER4> The very conservative estimates put the readily recoverable amount at around 380 billion barrels. World oil consumption is 90 million barrels a day, or 32.85 billion barrels a year. That means that if Venezuela was the only place left for oil, we'd be looking at around 11 years until it runs out.

In the real world, that means 234 years at current rates. Obviously, as oil runs dry, that means market forces push up the costs, and Venezuela becomes wealthier.

I think that Venezuela nationalizing the oil fields was a good decision, and I support the principles of the Bolivarian revolution in theory, although I think Chavez has been incompetent at implementing them, although there have been important positives, especially when dealing with issues of severe poverty. I especially support the push for direct democracy, but of course, I think it should be further decoupled from the government.

Most in the US are familiar with Chavez through his foreign policy, which is god damn awful. It's embarrassing at best, and in the case of his support for Gaddafi, unconscionable in the worst of times. It's unfortunate that this is the most outside Venezuela know about its politics.

At the top economic level, there are other models to learn from, Rwanda's universal health care and internet investment, and China's infrastructure investment for instance, but I think a mix of a Lula-style approach and a Norwegian style social investment of oil money would be the best approach.

Oh, to answer your question: Not for a very long time.

<comment><USER5> I'd like to show you some graphs. I'm going to use link shorteners because they're very very long ugly urls.

Homicides per 10,000 people, 1983 to 2003:

<http://bit.ly/hmivsb>

<http://bit.ly/gOATzm>

Starting in 2004, the government prohibited release of the figures.

<http://www.state.gov/r/pa/ei/bgn/35766.htm#econ>

About 25% of the country lives in abject poverty, despite the fact that the country is doing over $10 billion in profits on $30 billion of revenues for oil.

Before I analyze, let me lay my cards on the table here philosophically - I'm a classical liberal, but I'm kind of flexible in my positions - I think a diverse set of governments across the world is good, and then let people vote with their feet. Different structures work for different people - I wouldn't want to live in Norway's system, but I think Norway's system is awesome for most Norwegians.

Now, let's talk about Venezuela. I think Venezuela is one of the most criminally misgoverned places on the whole planet. There's more violent deaths in Caracas in any given month than Baghdad. _Baghdad_ , dude.

This is my beef with the sort of government Venezuela has - I think it's very conducive to degenerating into rule-by-bandit, which is what they have. (I'm in Vietnam, which is also under rule-by-bandit)

The biggest argument against Venezuela's sort of government isn't necessarily abstract philosophy - it's that it doesn't really work well in the real world. I think Venezuela is criminally misgoverned and in desperate need of change.

You and I are probably very, very far apart in political philosophies, but I wanted to write this anyways.

I'm kind of vaguely of the belief that capitalism + strong welfare state can work for some people, especially with a population that has similar goals and unified culture. There's downsides to it, but there's downsides to everything. But I'm pretty damn sure that the Venezuelan model leads to rule-by-bandit, leaving many people impoverished, and explosive growth in crime and violence and unrest. I don't know 100% what my goal here is with this comment - I guess just to put some numbers and views on the table. I think the Venezuelan model is a disaster for Venezuelans, and indeed, the whole world. I think everyone should work together against governments like Venezuela, North Korea, Libya, places like that, even if you'd like to live somewhere like Scandinavia. Venezuela ain't no Scandinavia.

<comment><USER6> Now let me share with you some info about the US:

More than 1 in 100 adults in the United States are in prison. The United States has less than 5% of the world's population and 23.4% of the world's prison population.

([http://en.wikipedia.org/wiki/Incarceration_in_the_United_Sta...](http://en.wikipedia.org/wiki/Incarceration_in_the_United_States#Comparison_with_other_countries))

The 2009 U.S. military budget accounts for approximately 40% of global arms spending and is over six times larger than the military budget of China. The United States and its close allies are responsible for two-thirds to three- quarters of the world's military spending (of which, in turn, the U.S. is responsible for the majority).

([http://en.wikipedia.org/wiki/Military_budget_of_the_United_S...](http://en.wikipedia.org/wiki/Military_budget_of_the_United_States#Comparison_with_other_countries))

From wars against the Mideast, healthcare, the environment, teachers, working class, democracy; and in favor of corporations, capitalism, etc... Many (maybe most, like myself) here are from the US, and I think the US's wealthy elites are a greater threat to the world than teachers unions and Venezuelans. So let's focus on not only what we're in a position to affect — as citizens with above-average power and privileges — but what matters too.

<comment><USER7> "The United States has less than 5% of the world's population and 23.4% of the world's prison population."

Did you ever stop and think that if some of the other countries mentioned weren't so corrupt, they might also have a higher prison population? Our system is pretty, damn fair, even though once in awhile it fails and an innocent person goes to prison.

"The 2009 U.S. military budget accounts for approximately 40% of global arms spending and is over six times larger than the military budget of China. The United States and its close allies are responsible for two-thirds to three- quarters of the world's military spending (of which, in turn, the U.S. is responsible for the majority)."

The US has to babysit the world. I wish it wasn't the case, but most countries do not have their shit together.

"US's wealthy elites are a greater threat to the world than teachers unions and Venezuelans."

Teacher's unions directly threaten good education, which can lead to uneducated citizens and poverty. It's very difficult to get fired while you are in a teacher's union and there is no incentive to actually teach well. I've seen the same thing happen in the auto unions. It's like a mini example of why communism doesn't work (everybody is equal and since you not only get an automatic raise every year, and everybody in your department/position needs to get a raise if you do, it offers no reason to actually do better).

Capitalism isn't a bad thing. It's provided the best standard of living the world has ever seen. There may be some problems with it, but we shouldn't discount it as a whole.

I don't know how you can say the US is against the environment. If you mean global warming, then yes. Global warming isn't a religion. I need more evidence than what we have (which is based on falsified data) to prove that it's man-made. It's also become such a politicized issue, that if you are a scientist and go against it, you can lose funding from the government and respect from your peers. Nobody scientist would want to do this.

<comment><USER8> You might want to compare incarceration levels in the US with other not- particularly-corrupt countries:

<http://en.wikipedia.org/wiki/Incarceration>

<comment><USER9> Compare us to the UK, but compare like for like. Most of our prison population is comprised of high crime groups who do not exist to any significant degree (35% of the US, 2.6% of the UK) in the UK.

[http://en.wikipedia.org/wiki/Race_and_crime_in_the_United_St...](http://en.wikipedia.org/wiki/Race_and_crime_in_the_United_States#Racial_demographics_of_the_US)

[http://en.wikipedia.org/wiki/Demography_of_the_United_Kingdo...](http://en.wikipedia.org/wiki/Demography_of_the_United_Kingdom#Ethnicity)

That said, our prison population is still large even after accounting for this, just not as large as the naive statistics make out.

<comment><USER4> _majority of the prison population in the US comprise only 2.4% of the UK._

I'll point out another statistic which doesn't look good for our incarceration rates, regardless of the racial demographic argument you're making:

 _Half_ of all persons incarcerated under state jurisdiction are for non- violent offenses, and 20% are incarcerated for drug offenses, in State prisons. _Federal prison percentages are higher._

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Democracy isn't a panacea. See also: South Africa, the crumbling rape-capital.

<comment><USER11> As a South American that doesn't want the return of military dictatorships era, I need to add this:

> Democracy isn't a panacea. See also: South Africa, the crumbling rape- > capital.

No, it isn't a panacea. But dictatorships are a disease and democracy is a cure for that particular disease.

Also, you can fight crime in big cities in a democracy (e.g.: NYC, Sao Paulo and in the last months Rio de Janeiro)

</comment></comment><comment><USER12> The most interesting point to me was the fact that one of the people mentioned had a finance job with the government and _still_ has to squat in this tower.

</comment><comment><USER13> I wonder how long it takes for organized crime to get involved with this.

ps: for me nyt only displays correctly with adblock disabled

<comment><AUTHOR> nyt works with adblock for me, but after you read 5 pages you have to clear the nyt cookie or it forced login

</comment></comment><comment><USER14> This is a wonderful article. I wonder how much of it is true?

I didn't know Sambil had been taken over by the government; that's where I used to go to get internet access when I was in Caracas.

</comment><comment><USER15> NYT paywall got you down?

[http://www.google.com/search?q=45-Story+Walkup+Beckons+the+D...](http://www.google.com/search?q=45-Story+Walkup+Beckons+the+Desperate)</comment>


Former NSA contractor designs 'surveillance-proof' font - <AUTHOR> http://edition.cnn.com/2013/09/30/tech/web/nsa-contractor-surveillance-proof-font/index.html?hpt=hp_c3 <comment><USER2> As these are fonts and don't implement any randomness like a captcha would, it will be trivially easy to just implement recognition matching of the fonts themselves</comment>


Scientist believes the summer ice cover at the north pole is about to disappear - <AUTHOR> https://www.theguardian.com/environment/2016/aug/21/arctic-will-be-ice-free-in-summer-next-year <comment><USER2> The thing that bothers me about the current situation is that this trend would continue even if you wiped every trace of mankind from the earth. As is said in the article, natural methane out-gassing will continue regardless of how we curtail our emissions, not to mention CO2 out-gassing that also occurs through volcanic and tectonic vectors.

To combat this problem, we will need a system to actively remove greenhouse gasses from the atmosphere en mass (something that is very, very hard to do to a magnitude that would actually affect climate change significantly).

</comment><comment><USER3> I wish predictit.org (or a similar site) had a way to bet on this prediction, because I would like to bet against it.

</comment><comment><USER4> How far away are we from developing a scalable air filter for CO2? I found this.. [https://www.technologyreview.com/s/531346/can-sucking- co2-ou...](https://www.technologyreview.com/s/531346/can-sucking-co2-out-of- the-atmosphere-really-work/)

<comment><USER2> A long ways. Even building a solution big enough to match the yearly production of CO2 would be a gargantuan feat of engineering. It takes a prohibitively large amount of energy to capture and process that much gas.

</comment></comment><comment><USER5> It seems like we've heard this before, haven't we?

</comment><comment><USER6> We can pass all the EPA regulations we want in the US, but if China and India do nothing, it is a moot point.

<comment><USER7> It's silly to blame China & India when US with quarter the population of India, is and has been the biggest producer of green-house gases, with little to no signs of improvement. US is the inventor of the concept of climate- change denial. On the other hand India and China not just accept climate- change and its impact on environment, but have shown willingness to take positive steps.

<comment><USER8> China (22.7%) produces almost 50% more green houses gasses than the US (15.6%). [https://en.wikipedia.org/wiki/List_of_countries_by_greenhous...](https://en.wikipedia.org/wiki/List_of_countries_by_greenhouse_gas_emissions)

The per capita trend is even more troubling with US down ~20% from peak and China on a very strong upward trend.

<comment><USER9> China is developing and it's impossible in the current economical scenario to do that without ramping up emissions, the US, EU and other developed countries had the luck to do that when we didn't knew (or didn't care) about this. It's easier for a developed nation to curb their emissions, just look here to the EU in general and even more to countries like Sweden or other Scandinavians, France and even Germany doesn't look so bad compared to the US.

We can point fingers all we want to developing nations but they are only the main contributors RIGHT NOW, historically the US and EU have much more to blame. But blame alone right now will not solve anything.

<comment><USER8> China and the US could both easily afford to replace all coal production with wind and solar. Public transit can make a huge different with cars.

So, it's more priority's vs need.</comment></comment></comment></comment></comment>


Introducing Instagram Reels - <AUTHOR> https://about.instagram.com/blog/announcements/introducing-instagram-reels-announcement/ <comment><USER2> This flips the typical narrative of "Chinese companies copy our products and their government lets them" on its head. I understand why this is a valid business move, but I think that the sense of moral superiority over China that is so pervasive in conversations with Americans is even less credible now.

<comment><USER3> Realistically, a lot of companies copy each other's products and features, within the American tech scene. The cure - software patents - is worse than the disease; remember Amazon's one click patent?

How many team chat apps appeared after Slack, for example?

<comment><USER4> > The cure - software patents - is worse than the disease

Might that not also apply to preventing Chinese companies copying American hardware products or manufacturing processes?

<comment><USER3> Maybe? Intellectual property is a huge sprawling topic that arguably needs different treatment for different kinds of thing. Do you have specific allegations in mind?

</comment></comment></comment></comment><comment><USER5> Copying snapchat to make stories. TikTok to make Reels. And fb originally bought Instagram. Can the big players just copy or buy every competitor at some point and remain on top?

<comment><USER6> did they hurt their competitors by copycatting stuff? It seems like tiktok has a different user base that does not overlap with the way ppl use instagram.

<comment><USER7> > did they hurt their competitors by copycatting stuff?

They kneecapped Snapchat pretty effectively when they stole the story feature, first in Instagram and then in Facebook proper.

</comment></comment></comment><comment><USER8> Instagram Stories were not quite a Snapchat-killer, but they did take a huge chunk of the Snapchat market share. This could be similar.

<comment><USER9> They weren't a Snapchat killer but they immediately cut off future growth and stalled it out for a solid 2-3 years.

You don't have to kill the competition in social to win, you just need to stop their growth. They can retain some percentage of users but if the growth is stalled out and you are dominate them in 5:1 marketshare it's as good as dead.

</comment></comment><comment><USER10> Do it for the Reels?

I'm not sure the tone of Instagram really agrees with the content of TikTok, which feels like it picked up where Vine left off.

<comment><USER11> The picture / TV sharing feature of Instagram is curated while stories tend to be a bit more candid in my experience. Think this is trying to add another level of more transient sharing.

</comment></comment><comment><USER12> Should've called it "Moments" or "Memes."

<comment><USER13> I personally like the name Reels, it implies a level curation needed in the process.

</comment></comment><comment><USER14> I wonder if this will work as well as Stories did. I mean, technologically it will, sure, but if you start with the customer in mind, Snapchat is not TikTok.

Instagram and Snapchat share the same market. Like Facebook, they originated among college students, and became the default platforms of that young adult demographic. Instagram copying Snapchat features is brutal to Snapchat because Snapchat power users were probably Instagram/Facebook power users as well.

TikTok and Musical.ly, as has been written to death by tech journalists, are much more dominate in a younger demographic. They're sort of unique among social platforms in their ability to do so. I wonder if Instagram has enough penetration in that demographic to really syphon off a meaningful chunk of users, or if this will just block Instagram's existing users from migrating?

<comment><USER15> Anecdata for sure, but my younger aged family members (and their general age group) on TikTok are all on Instagram.

<comment><USER16> Another data point. My sons group are all on both, but no one actively uses IG. TikTok is their app of choice. My son says IG is boring. I think Reels has a major uphill journey.

</comment></comment></comment><comment><USER17> I see the advantage of tying it in with Instagram, I think it will help user growth early on, but I think it will likely inhibit growth later on. What exactly are you signing up for when you sign up for Instagram? Are you signing up for Reels, OG Instagram, or Stories? Stories at least sort of made sense with the original Instagram, but Reels doesn't feel like a fit at all to me. The bloat of the app at this point seems like a barrier to using it.

Maybe they'll be able to spin off a separate Reels app as well at some point? That's the only way I'd ever be interested in it.

</comment><comment><USER18> I feel like IG missed the mark with the 15 second video limit if they want an actual competitor to TT. The really really good TT content: original songwriters and musicians, semi-pro chefs, artists, woodworking, blacksmithing, skateboarding, sewing, just really passionate nerds teaching or showing off their skills benefit from longer-form videos.

The format of TT has made it really easy for people to share their hobbies but isn't plagued by the Wadsworth Constant.

</comment><comment><USER19> Who couldn't see this coming, honestly? Zero surprises and it's the obvious move to try to consolidate a market in which they are pretty big already.

</comment><comment><USER20> I'm hoping, as they push more to support creation, they address their compression/encoding on Android devices.

On my Pixel, the only way I can get high-quality videos in my stories is by recording using the Camera app, and then sharing to Instagram. If I add any text/sticker/overlay, the final video has obvious artifacting.

</comment><comment><USER21> Kinda lines up well with MS talking with tiktok. Wonder why MS wants tiktok still? The US and India banned them and now Instagram copied them too. I do t know how the inluencers move across social networks but why would users stick to tiktok? In that scenario why would MS want it unless its for an extravagant discount?

<comment><USER22> They might want the people working on it who know how to work with video.

</comment></comment><comment><USER23> I have to say they are really annoying in "Explore" tab because they take more than half of the screen-space.

</comment><comment><USER24> I can remember a slew of video based apps that Instagram killed when it added video in the early days - Viddy, SocialCam, Kik, Vine, they were all in competition and Instagram came and ate their lunch, then did the same to Snapchat, now tiktok.

</comment><comment><USER25> at what point is competition stifled when large companies can just totally copy competition by throwing money at something. In ten years, we will have an American Samsung.

<comment><USER26> It is an interesting definition of competition if you can stifle it by allowing competitors who offer very similar or identical products.

When I was a kid that _was_ competition.

<comment><USER25> i speak in the spirit of creating an environment that doesn't allow large companies to destroy small companies by copying their ideas or buying them out, which i believe is beneficial to society at large in the longer run. It is my fundamental belief that if left unchecked, large tech companies will become monopolies in their fields (which might already have happened).

</comment></comment></comment><comment><USER27> This is a response to TikTok, I guess?</comment>


Second largest mobile operator in Nepal has run out of fuel - <AUTHOR> http://thehimalayantimes.com/business/fuel-shortage-hits-ncells-services/ <comment><USER2> I saw this coming. Nepal has such good natural resources to generate enough electricity for itself and export to its neighbors, yet political deadlocks and bureaucratic hurdles are ruining the potential. [http://newsinfo.inquirer.net/755108/energy-starved-nepal- los...](http://newsinfo.inquirer.net/755108/energy-starved-nepal-loses- norwegian-power-plant-project)</comment>


Researchers Successfully Translate Brainwaves Into Words - <AUTHOR> http://gizmodo.com/5632821/researchers-successfully-translate-brainwaves-into-words

<comment><USER2> Same story, different source, no comments:

<http://news.ycombinator.com/item?id=1671103></comment>


Ask HN: Best coffee shops/daytime hacker hangouts in San Francisco? - <AUTHOR>

I find myself camping out in SF quite frequently between meetings trying to get work done.  I'm getting tired of Starbucks and Peets.  Any good places with ample wifi & power outlets? <comment><USER2> There are a bunch of coworking spaces in the city. I think all have monthly fees, but you can drop in and check them out:

<http://citizenspace.us/> <http://www.parisoma.com/> <http://www.sandboxsuites.com/>

Panera in SOMA is right beside the caltrain and has lots of outlets.</comment>


The Razer BlackWidow Ultimate 2013 edition - <AUTHOR> http://www.geek.com/articles/games/review-razer-blackwidow-ultimate-2013-mechanical-keyboard-20120917/

<comment><USER2> Another Ziff Davis spammer!</comment>


Space elevator economics - <AUTHOR> https://en.wikipedia.org/wiki/Space_elevator_economics <comment><USER2> Strange, they talk about developments of several billion for a new space vehicle, but blithely waft the development costs for a space elevator away.

A space elevator is a great idea in principle but it would need a tether that is magically very strong and very light and is thus not a viable proposition in practice.

The figures supplied in the article for the electrical costs also disregard the costs of accelerating the payloads to orbital speed, which is required as well as lifting the payloads to orbital height. (kinetic energy = 1/2 * m * velocity squared)</comment>


Reactive Machine Learning Systems Book - <AUTHOR> I'm writing a book on reactive machine learning: https://www.manning.com/books/reactive-machine-learning-systems
It's focused on the needs of data engineers building real world machine learning systems that need to stay responsive in the face of errors and changes in load. It uses some awesome tech like Scala, Spark, and Akka.
I'd love for you all to check it out, and provide me with feedback. You can use the discount code "mlsmith2" for 50% off.
You can find the first chapter here: https://manning-content.s3.amazonaws.com/download/9/f0caa1d-069c-4f84-94a4-af0070b04160/Smith2_RMLS_MEAP_V01_ch1.pdf
I've also written a longer introduction to the book on Medium: https://medium.com/data-engineering/the-reactive-machine-learning-book-is-live-2eb5ff3d36ff
Here are several other resources that you could check out for more info on what I'm trying to do in writing about reactive machine learning. My site on this overall project: http://www.reactivemachinelearning.com/ Some materials from recent talks I've given on reactive machine learning: https://skillsmatter.com/skillscasts/7038-lightning-talks-2 http://www.slideshare.net/jsmith54/collecting-ucertain-data-the-reactive-way https://www.youtube.com/watch?v=rBr34dTDQ88 http://www.slideshare.net/jsmith54/reactive-machine-learning-and-functional-programming
I'll be answering any questions you might have here on HN, and in the Manning forums, if you end up buying the book. <comment><AUTHOR> Posting the links again (since HN doesn't allow links in text posts):

The book: [https://www.manning.com/books/reactive-machine-learning- syst...](https://www.manning.com/books/reactive-machine-learning-systems) Chapter 1: [https://manning- content.s3.amazonaws.com/download/9/f0caa1d-...](https://manning- content.s3.amazonaws.com/download/9/f0caa1d-069c-4f84-94a4-af0070b04160/Smith2_RMLS_MEAP_V01_ch1.pdf) The Medium intro post: [https://medium.com/data-engineering/the-reactive- machine-lea...](https://medium.com/data-engineering/the-reactive-machine- learning-book-is-live-2eb5ff3d36ff) My site on this overall project: [http://www.reactivemachinelearning.com/](http://www.reactivemachinelearning.com/) Some materials from recent talks I've given on reactive machine learning: [https://skillsmatter.com/skillscasts/7038-lightning- talks-2](https://skillsmatter.com/skillscasts/7038-lightning-talks-2) [http://www.slideshare.net/jsmith54/collecting-ucertain- data-...](http://www.slideshare.net/jsmith54/collecting-ucertain-data-the- reactive-way) [https://www.youtube.com/watch?v=rBr34dTDQ88](https://www.youtube.com/watch?v=rBr34dTDQ88) [http://www.slideshare.net/jsmith54/reactive-machine- learning...](http://www.slideshare.net/jsmith54/reactive-machine-learning-and- functional-programming)</comment>


Build Your Own SaaS Using Docker (cs50x project) - <AUTHOR> http://www.memcachedasaservice.com/

<comment><AUTHOR> Hello!

This website is a proof of concept with a simple Memcached SaaS. It is my final project for cs50x that ended this sunday. Please tell me what you think :)

\+ You can read the how-to on SlideShare: [http://www.slideshare.net/julienbarbier42/building-a-saas- us...](http://www.slideshare.net/julienbarbier42/building-a-saas-using-docker)

\+ You can see the source on GitHub: <https://github.com/jbarbier/SaaS_Memcached>

<comment><USER2> Fun little project. Well done.

Giving a public facing application sudo powers (even limited ones) is a little scarey. If I understood your documentation I believe if I somehow got onto your box I could escalate to root just by editing your iptables scripts. You probably want to ensure www-data (or anyone) cannot write to these files :-)

<comment><AUTHOR> ouch! thank you! :) let's -w!

<comment><USER2> Here's a nice comment on some of the dangers of setuid/sudo on shell scripts. The more you know...

[http://unix.stackexchange.com/questions/364/allow-setuid- on-...](http://unix.stackexchange.com/questions/364/allow-setuid-on-shell- scripts/2910#2910)

<comment><AUTHOR> Thank you Chris. So a better way would be a compile an executable instead of using a shell script?

<comment><USER3> Or run the webapp itself inside a docker container? :)

</comment></comment></comment></comment></comment></comment><comment><USER4> What would be a good way of reliably farming out docker daemons to worker nodes? Mesos is a bit heavyweight but a docker-mesos framework could be pretty cool for programmatically scaling up or down dockers across worker nodes.

<comment><USER3> Yes, I agree it would be awesome. And the heavyweight problem could be solved by bootstrapping mesos itself from a nicely packaged docker container. Turtles all the way down :)

<comment><USER3> I created an issue for integrating Docker as a Mesos agent. <https://github.com/dotcloud/docker/issues/410>

If anybody with Mesos experience wants to lend a hand, I would love to give this a try. Say hi on the issue!

</comment></comment></comment><comment><USER5> A very informative paper on Docker, will definitely help me out when I start playing around with it. Well done!

</comment><comment><USER6> Also, I've just submitted some tips for getting the best out of memcached in case anyone is interested <https://news.ycombinator.com/item?id=5560764>

</comment><comment><USER7> Nice job, damn docker is nice!

<comment><USER8> I would love to see something like that built on piece of a bit better technology, like FreeBSD Jails. I've tried to use LXC but it seems to be heavily fragmented (works a bit differently on Ubuntu, Debian and other distros), less secure (issues with remountability filesystems of root from inside of the container, and others) and in addition to that FreeBSD has some other neat things, like ZFS and CARP.

<comment><USER9> For whatever it's worth, OS-based virtualization is one of the core tenants of SmartOS[1] -- an illumos derivative that makes heavy use of zones (which were inspired by FreeBSD jails). And it also has ZFS, natch. ;)

[1] <http://smartos.org>

Update/clarification: SmartOS is running tens of thousands of VMs and virtual OS containers in production at Joyent -- and has for years. It is new in nomenclature and exposure, perhaps, but not in terms of core technology or production readiness.

<comment><USER8> I am familiar with remainings of Solaris, that is Illumos and its technologies, likes zones, dtrace and native ZFS, but the problem is that I personally wouldnt be very hasty to use such young OS in production, and I think I would have even more issues with convincing the management layer to do so, once I would manage to convince myself ;) But, even if that'd happen, that's again just another good stack, like FreeBSD and Jails, and not fancy framework like Docker.

<comment><USER10> I'm not sure what you're referring to when you say "such young OS". Solaris zones and ZFS have been around for almost a decade. Docker is young, but it wraps around LXC, cgroups, AUFS, and namespaces. Cgroups and AUFS were introduced in 2006. Namespaces are more recent, but they are basically a reimplementation of concepts from OpenVZ and VServer (and the latter is more than 10 years old). FreeBSD jails are great, and they have also been around for a while; but they are still lacking a lot of features (a jail doesn't have its own network stack, and resource accounting and limiting isn't as evolved as what cgroups provide), and unionfs is far from being as stable as AUFS.

Don't misunderstand me: FreeBSD jails are awesome if you're doing FreeBSD and want lightweight virtualization. For the rest of us, LXC is just as awesome, and docker lowers the barrier of entry considerably!

My 2c.</comment></comment></comment></comment></comment>