Don't be a UN intern - <AUTHOR> https://desertqueensarah.wordpress.com/2015/08/21/dont-be-a-un-intern/ <comment><USER2> I was an intern at the UNHQ in New York city in 2010 and as a computer science grad student, i was definitely the odd man out. Right from my middle school days, i have always been intrigued by the UN and no one understood why a CS grad student would pick the UN for an unpaid internship instead of a typical tech company that paid $25-30+ an hour.

\- My batch had 300 interns from 70+ countries and almost every intern was very talented and went to one of the top universities in the world. The internship selection process was similar to grad school admissions (essays, recommendations etc) and it was selective (around 5%). There were only a handful of tech people and it wasn't hard for me to get in! Unlike me (someone in tech), the internship was coveted for those in economics, international affairs and several other fields.

\- Most people only see the irrelevant parts of UN where world leaders give prejudiced talks in the general assembly but there is a lot more to UN than that. UN plays a very important role in the world's peacekeeping, social development, human rights and several other things that aren't very visible to people living in developed nations.

\- As a programmer, i built some internal publishing tools using PHP but i also got to wear suits and sit in group discussions at the world bank and with ambassadors of several countries. I loved that part. Out of my own interest, i also built an internal profile network for the interns and i learned a lot of new things doing that.

\- The department that i worked at had many talented people who were well qualified and were passionate about what they were doing and i am still in touch with some. Of course, it is a large organization with a lot of red- tapism with many inefficient departments. My internship made me realize I didn't want to spend my 20s and 30s at the UN or any similar organization.

I probably spent around $8k-$10k out of my pocket to do the internship (travel, food, rent etc). I wish the UN paid me for the work but looking back, it was a very memorable experience and i would definitely do it again.

</comment><comment><USER3> > They have long lost their professional ambition, and spend days in the > office working on private projects, writing music, taking long lunches and > in general killing their time until retirement. Most others are just average > people, like you and me, that got trapped in the system and started drinking > its Kool-Aid, over time becoming poisoned with it.

It sounds much like working in higher-ed or most government jobs. For that matter, it could be describing some large corporate environments.

<comment><USER4> I think the same can happen almost anywhere. I've heard startup culture described in the same way: people founding company after company trying to "disrupt" something without caring what it is, trying to fit themselves into a system defined by VC's.

I'm not sure there's any perfect way to avoid this kind of job. If what you care about is sculpture or bird watching or travel, you probably won't find a nice paying job that lets you flex your expertise. You _might_ , it's _been done_ , but there's not the same kind of demand for renowned bird watching authors as there is for doctors or lawyers or engineers.

So maybe the best we can say is this: If your _goal_ in taking a job is for it to be a life's work, the thing you think about in your spare time, and the kind of thing people remember you for, then you need to worry about this. You need to watch out for systems that eat up your time and effort without mattering, because there are lots of them. But if not, then you don't.

<comment><USER5> Yeah, but the thing is even the most scelerotic, giant tech company (can think of a few) are producing _something_ that _someone_ wants (even if that customer base is dwindling or those wants may be silly - who are we to judge?). So you at least get a sense that you are moving something incrementally forward. It might be hard to say the same thing about parts of the UN.

<comment><USER6> After you finish your TPS report, stop by my office and I'll tell you about working 6 years of my life on a product nobody wanted.

</comment></comment></comment></comment><comment><USER7> I have, unfortunately, too much inside experience personally or via close friends of working inside NATO, UNICEF, and the ECB. All of the are dysfunctional, soul-destroying places where talented, highly educated people pass years without accomplishing much, all while drawing excellent salary and conditions. Many people hate their jobs inside these organisations every day but won't quit because the financial rewards are too great.

I got out.

<comment><USER8> I also got out.

There was a strange kind of resigned fatalism among the old-timers. When I started voicing my discontent, I would hear the same sentiment from older colleagues: "Oh yeah, I used to say the same thing when I was younger, and then in the blink of an eye, it's 20 years later and I'm somehow still here."

</comment></comment><comment><USER9> This article is spot on about working for the UN. It matches my own experience. The various organizations are sadly, for a number of reasons, becoming less relevant and more sclerotic.

I don't fault the UN for not paying interns. There are lots of kids who think it is glamorous and are willing to take unpaid posts just like in the music industry, the U.S. Congress, and a number of other industries. If the UN _had_ to pay interns they simply wouldn't take them on in the first place.

The UN is much more poisonous than screwed than working for the US Gov. I worked for the USG for 5 years (Dept of State) and had an excellent experience. Govt bureaucracies are actually much more efficient than the UN as they have voters to hold them accountable. Accountability for UN agencies is practically nil.

</comment><comment><USER10> > Arguing that a 5% effectiveness rate is better than nothing is like treating > frostbite on the patient's toe by cutting off the entire leg – no patient > would agree to that.

I'm sorry, but there is a litany of reasons that analogy makes zero sense.

</comment><comment><USER11> My experience as a UN intern in NYC was incredibly similar. My department did nothing of note, and the person leading the department would routinely harass, disparage and humiliate her employees, sometimes in public. No one was even competent, and people spent most of their time doing nothing. It was one of the most demoralizing positions I have ever had, and was of course paid for none of my time while living in Manhattan, which was a great financial burden.

That being said, I'm convinced this line on my resume has worked wonders for me. I have switched industries twice (UN -> Non Profit -> Tech Software Engineering) and in most of my interviews, people still ask me about it after 5ish years. While it would be hard to say for certain that it has gotten me jobs, it does make my resume continue to stand out. This doesn't take away from how unethical it is to not pay your workers, or how insane it is that most of the UN does absolutely nothing but take most US tax dollars and pay their employees (at least in NYC) an incredibly insane amount of money to do nothing.

Edit: I want to make clear that there are hugely productive and beneficial parts to the UN like UNHCR which runs refugee camps throughout the world. I personally met the head of UNHCR, who was then a former Prime Minister of Portugal, and he was one of the most impressive people I've ever met. He ran over 150 refugee camps and knew each of them by name, location and how many people were there. Incredible person doing a very important job. But this is the exception, not the rule.

</comment><comment><USER12> What kind of oversight do these organizations have? Who are their "investors" or "donors"?

It seems like organizations like this are not overseen for their effectiveness. Why is measuring organizations for their effectiveness and striving for effectiveness not a standard table-stakes expectation for an organization of this size?

<comment><USER13> Their "investors" are all the countries in the world:

[https://en.wikipedia.org/wiki/United_Nations#Funding](https://en.wikipedia.org/wiki/United_Nations#Funding)

But seriously, how would you measure effectiveness? There is nothing to compare it to, and you can't never know for sure what wars it prevented (because they didn't happen).

<comment><USER12> The organization should set objectives and measures its effectiveness against the objectives. While it might not give you a sense of the organization's relative effectiveness (i.e., the objectives might be nigh impossible and making any progress at all is a miracle), at least you have a general overall sense of what they're _trying_ to accomplish and how effective they are at solving those problems.

A data-driven and specific approach to projects will give people a chance to ask questions like: is this problem worth solving? Is the UN the right organization to solve this problem? Is this problem worth the cost we're putting into the UN? Is the UN taking the right strategy? Etc.

If my government is funding the UN, I'd want a statement of what the UN is attempting to do with that funding, and which parts of that my government supports and thinks is valuable. I'd also want my government to conduct its own assessment of whether the UN is effective (GAO style) and include that analysis in its recommendation to me of whether to continue to fund them with my tax money.

</comment></comment></comment><comment><USER14> > "The first thing to understand: rules apply only to the powerless."

This has nothing to do with internships, the UN, or any particular office or division. It's a universal truth. Yes, everyone who is considering an internship should learn this if they haven't already, but not because it will help them decide where to be an intern.

<comment><USER6> Learning that rule is one of the main benefits an internship provides for the young.

</comment></comment><comment><USER15> 2 benefits of the UN in New York:

1 - They pay no tax. (And salaries get trued up to cover it)

2 - The kids get access to a great private school.

I don't know anyone who has done great work (besides avoiding wars) at the UN, but I know a few who used the international non-profit experience as launchpads to bigger and better things.

<comment><USER16> I also have a friend who works in the stats department in NYC. Back in 2011, he was getting paid almost 90K salary (not including benefits like you mentioned) and he told me that he loves his job because there's little or no responsibility and is certainly not challenging. He's still at UN and I haven't talked to him in the past couple of years. That and my personal experience interning at NGOs have convinced me that these jobs actually are quite chill and well-paid with little or no actual work (the hard work like field trips are usually delegated to locals, who are paid significantly less than the management, who are usually foreigners).

<comment><USER8> The hard work is basically optional. It's very difficult to get fired if you do the bare minimum, and the organization is geared for about half it's staff to not be productive. If you want to move up, you do work and take up the slack. If you're comfortable where you are, you do the minimum, which is very... minimal, and typically no one will stand in the way of either path.

</comment></comment></comment><comment><USER17> I have never worked within the UN, but I have worked for companies small and large, like many others here I am certain, and have seen the loss of quality of purpose and people happen many times.

With a company, it is possible for a good leader to come in and start cleaning up shop with either a buzz axe of a scalpel. Even at small companies, I have seen places where a small subset of an organization get cancerous or hardened by a bad director, and then when a new CEO comes in (often because an investment firm takes over) that director is given the boot quite quickly. Often this director is allowed to remain because the previous CEO is somehow related or friends with that person, and once that pressure or corruption is gone, then that director is no longer protected.

In the case of the UN, if I were to surmise, it is impossible to do so because so many of the corruptions are external. It is possible that nobody is capable of actually cleaning things up because one country or a group of countries want to keep making sure that one of their friends live high on the hog at taxpayer expense without doing anything valuable, hence the terrible personal actions listed in the article. Dealing with these external corruptions are basically impossible in a modern political climate in many nations, and of course globally.

I don't have the connections, influence, intellectual capability, or any kind of power to disrupt such massive forces. I wonder, does anyone? Is it possible to disrupt such a thing without revolutionary action in a large number of countries? With the internet, many things seem possible, but it seems that the only way to make change happen is to go into meatspace. The internet seems to delay that from happening in most instances (although it does seem to have the effect of keeping the fire burning when they start).

This post is more of me speaking to my frustration than anything else.

</comment><comment><USER18> > a very polluted interpersonal atmosphere

Or in other words: Politics.

<comment><USER19> Or as Frank Zappa quipped, "The entertainment branch of the military industrial complex"

<comment><USER20> Apparently he said similar things but not exactly this quote. Still true though.

</comment></comment></comment><comment><USER21> I am a donor of UN~ A bit hopeless after reading this~

Who can I donate to~ under such system and hierarchy, I guess lots of large NGOs are messy internally.

<comment><USER22> GiveWell is a charity that evaluates other charities to try to find which do the most good per dollar: [http://www.givewell.org/charities/top- charities](http://www.givewell.org/charities/top-charities)

<comment><USER6> +1 for GiveWell. They rock.

</comment></comment></comment><comment><USER8> The article, dismayingly, matches up with my own experience.

I was at the IAEA for 3 years, the first year as an intern and then two more as regular staff, coding tools for weapons inspectors. The organization is hardly irrelevant, so one would expect it to be better than some of the smaller and more obscure organizations like in the article.

In some ways, it was better, but not in many. The IAEA interns were paid, though not by the IAEA itself but by sponsoring countries. I was friends with interns from other organizations who, much as the article reports, were frequently unpaid, idle, disinterested, there for too short a time to do serious work anyway, and mostly interested in networking and partying.

Some further responses:

"The first one is to pay the salaries and the perks of its employees." Oh yes. I'm surprised the article doesn't mention that the salaries are tax free (international civil servants are tax exempt). They're explicitly tuned to be "average for the position in the given field", but then they're not taxed, so you're automatically making 30-40% above average for your field. Furthermore, regular benefits like health insurance and retirement are extremely generous, and are topped up by all sorts of perks such as rent-assistance, grants for cars, daycare, and higher education, generous allowances for all sorts of things such as paid home leave and subsidized moving. Many of the employees were explicitly there until retirement because they knew of no other place to get such generous treatment with so little demanded in return. Because if you had a permanent contract, then oh yes there was quite little demanded in return, firings were unheard of and a good number of staff spent half the days chatting on the phone or drinking coffee in one of the many cafes.

"Fixed term contracts are the holy grail" Yes oh yes. Most of the younger people were on short-term contracts, which lasted a year. It was understood that if you pay your dues to the powers that be, your contract would be extended over and over, with a significant pay-bump each time, until you got a permanent one. The machinery of contract extension was inscrutable. You would hear nothing back and typically your contract would be renewed on the day your last one expired. Sometimes they'd blow it by a few days and people would end up sitting around at home waiting to hear if they were really jobless or not. Rock the boat a bit, and that renewal would be much less certain. The ambitious and engaged minority tended to get fed up with this after a few years, leaving only those who desperately desperately wanted the cushy perks- for-life hanging on for those fixed term contracts.

Finally "rules apply only to the powerless" Yes oh yes. The whole organization was hidebound and rules-driven, except when miraculously, it wasn't. Over and over, the stonewalling would stop, the doors would open, and the structure would rearrange itself in order to accommodate someone. You never knew why it happened, and it was never discussed.

Overrall, I have to say that the experience was disillusioning, I believed (and still do) in the mission and importance of the IAEA and the non- proliferation treaty. It was hard to accept the degree to which the organization had become the plaything of the entitled and the powerful.

</comment><comment><USER23> I get pretty sick of seeing organizations like this...and a lot of slacktivism...and nothing being done about it.

What can we actually do about problems like this?!

</comment><comment><USER24> This kind of supports my view of the UN being a place where countries can go to denounce each other and appease the masses without actually having to go to war.

The work they do is often irrelevant, but someone like Mahmoud Ahmadinejad can go in front of some TV cameras at the UN general assembly in New York and denounce Israel. This lets him appear tough and influential in front of his power base, yet without much risk of starting an actual international conflict.

Without an outlet where countries can express such dissatisfaction, they would take to launching missiles at each other with greater frequency. The UN's existence is largely symbolic (organizations like NATO provide the real firepower), but symbolism and politics go hand in hand. So rather than lamenting the fact that the UN has no power and is a bureaucracy for its own sake, I would say that was the entire purpose. If you make people do a bunch of paperwork before they start fighting, chances are they will be satisfied with registering a complaint against each other.

<comment><USER25> Yeah, hah! You know what that tells me? _The system works._

People complaining instead of lobbing missiles? I wish everything could be solved with so little bloodshed!

<comment><USER26> > People complaining instead of lobbing missiles?

Well, technically speaking, US, UK have shown that some of the member states get to "[lob] missiles" while others "complain".

You are right. The "system" works .. for the Anglo-Saxon Imperial Axis.

</comment></comment></comment><comment><USER27> I think the URL needs to be updated to reflect the actual blog post, rather than the blog's homepage; otherwise, it will be invalid after the next post is made.

Current URL:

        https://desertqueensarah.wordpress.com

Correct URL:

        https://desertqueensarah.wordpress.com/2015/08/21/dont-be-a-un-intern/

<comment><USER28> Thanks, we'll fix it.

</comment></comment><comment><USER29> I'm going to be that really annoying person that leaves some feedback entirely unrelated to the actual content, I'm sorry. I'll just do this the once and hopefully we won't end up having a 20 comment long thread about it.

The two column layout on your blog makes it very difficult to read. You'd be much better off having one column - like it does in smaller window sizes.

<comment><USER30> if you narrow your browser window, it automatically switches to one column.

<comment><USER12> That doesn't help much for folks who read with their browser window maximized. It's good to know, and thank you for pointing it out, but the original feedback is pertinent - it's inconvenient to resize the browser for one page that's flowed poorly.

A single column of similar size would be fine. Two columns is not great.

<comment><USER31> > That doesn't help much for folks who read with their browser window > maximized.

They should install proper window manager, then. (I use GridMove.) I for example use only half of the screen for the browser and sometimes it's annoying, because the content is exactly couple letters too wide. Why should web designers force their width of screen on everybody?

</comment></comment></comment></comment><comment><USER32> Just a silly rant against the UN. There's many of those.

<comment><USER33> I've been working as a consultant for the UN for a while now, and most of what she writes is spot on (unfortunately).</comment></comment>


Creating Public AMIs Securely for EC2 - <AUTHOR> http://alestic.com/2011/06/ec2-ami-security/ <comment><USER2> Excellent timing, I've just announced on a mailing-list my first public AMI. So I'll have to check tomorrow if I made mistakes on the way :) (I'm pretty sure I haven't left anything confidential, but there might be some cruft with my keys…)

</comment><comment><USER3> <advert>

libguestfs[1] that I helped to write provides some solutions for this, including access to secure scrub utilities[2] and this script[3] for removing "empty" space in a disk image.

</advert>

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

[2] <http://libguestfs.org/guestfish.1.html#scrub_file>

[3] [https://rwmj.wordpress.com/2010/10/19/tip-making-a-disk- imag...](https://rwmj.wordpress.com/2010/10/19/tip-making-a-disk-image- sparse/)</comment>


Quite possibly the most eye opening six minutes ever on film - <AUTHOR> http://www.minds.com/blog/view/201538/quite-possibly-the-most-eye-opening-six-minutes-ever-on-film

<comment><USER2> And eugenists are bad mouthed...</comment>


Rails Data Injection Vulnerability in Active Record (CVE-2014-0080) - <AUTHOR> https://groups.google.com/forum/#!topic/rubyonrails-security/Wu96YkTUR6s

<comment><USER2> I hate myself. My first thought was being happy my version of Rails was not vulnerable to this one.

</comment><comment><USER3> Someone explain this to be like I'm 5?

<comment><USER4> Bad framework, with too much magic, poor security, poor performance, not good for anything beyond the five minute blog.

<comment><USER5> Sadly, I tend to agree. It seems anyone starting a new publicly-accessible web site with Rails are aiming for a shot at their own feet. Rails might still be usable for Intranet servers in a trusted network setting or prototyping web site ideas before transitioning to a "serious" framework. The continuing security issues and lack of focus on performance make it terrible choice for _any_ production web site.

<comment><USER6> With respect, you don't know what the hell you are talking about. All software suffers from security issues, and Rails' performance issues are overstated.

<comment><USER5> Rails does suffer disproportionately from security issues. The framework code has become increasingly bloated and serious security vulnerabilities are being continuously discovered (see [http://www.cvedetails.com/vulnerability- list/vendor_id-12043...](http://www.cvedetails.com/vulnerability- list/vendor_id-12043/product_id-22568/Rubyonrails-Ruby-On-Rails.html)) both on the low and high level code (the seriousness of this specific vulnerability depends on application). While I _like Rails_ , I would not choose it as a server-side framework for my product anymore: painful to maintain (backwards- compatibility is not a priority) and slow (compared to say, Go, anyway).

Rails is nowadays easily replaced. Most of the fancy server-side bits are not really that useful, and on the front-end the zeitgeist are JavaScript frameworks, where the server acts as an API but serves static HTML/JS/CSS files.

<comment><USER7> Comparing Rails to Go doesn't make any sense.

Rails regularly has security vulnerabilities reported because it's popular, mature, deployed in a lot of places, and thus gets a lot of attention. When something like Play or whatever is equivalent in the Go world is similarly exposed I would expect to see security vulnerabilities reported there, too.

Software only _gets_ widely reported CVEs if it's popular. The lack of these reports for smaller, less popular frameworks does not indicate the lack of security flaws.

<comment><USER5> It does not suffice that a software is popular to render it insecure. OpenSSH is wildly more popular than Rails will ever be, yet it has a superior security record ( [http://www.cvedetails.com/product/585/Openbsd- Openssh.html?v...](http://www.cvedetails.com/product/585/Openbsd- Openssh.html?vendor_id=97) ). Good strategy to avoid security issues is to use the smallest possible set of well-tested tools to achieve your task. Rails is almost the complete opposite of this: a large package of pretty much everything, of which most will ever use only a small portion.

<comment> grey-area You're comparing a web app framework to a language and then to encrypted communication software which has been around for over a decade? You're grasping at straws here and it is telling you quote the OpenSSH security record but not that of other frameworks.

Even comparing it to Go is pretty flawed, because of course Go is a language, not a framework, and it has not been tested extensively or attacked extensively, nor have the apps you have written in it. You can expect those apps to have some vulnerabilities you don't even know about as yet, unless you have had a security audit?

Like many projects, Rails is continually discovering potential security problems, though I wouldn't say it is significantly worse than other comparable frameworks/stacks, and some of the flaws they are fixing nowadays are pretty much harmless for normal use (some not, like this one, which is dangerous for the subset of users using these advanced features (probably under 5% of users)).

Pick any other widely used app framework, and you will find a similar history of security exploits discovered, though I'm sure some are better than others. It's fine to say that Rails has worse security than project x, backed up by figures, but saying anyone using Rails is shooting themselves in the foot is hyperbole.

The worst recent issue in rails I can remember is the JSON parsing incident, which also affected some python users. Just as an example comparison, in Golang if you are lazy and unmarshal into an interface or map[string]interface you might end up with similar problems of unintended data leakage, and if you unmarshal into your own struct without carefully checking what you get, you might end up with unexpected nils which only surface much later or data overwritten which was unintended. You're unlikely to get clobbered just as the Ruby JSON parser was, but you could easily introduce vulns without knowing it.

I actually prefer golang to ruby for other reasons, but the frameworks are neither mature nor battle tested, so it's not a great example to compare on security, and neither is OpenSSH.

<comment><USER8> > Like many projects, Rails is continually discovering potential security > problems, though I wouldn't say it is significantly worse than other > comparable frameworks/stacks

Compared to Django, a framework similar both in feature and popularity, Rails is definitely worse. Especially compared with the most serious flaws (code execution, SQL injections).

[http://www.cvedetails.com/product/18211/Djangoproject- Django...](http://www.cvedetails.com/product/18211/Djangoproject- Django.html?vendor_id=10199) [http://www.cvedetails.com/product/22568/Rubyonrails-Ruby- On-...](http://www.cvedetails.com/product/22568/Rubyonrails-Ruby-On- Rails.html?vendor_id=12043)

Not sure about the JSON incident you mention. Maybe you thought about YAML?

<comment> grey-area Thanks for the links, which I think would lead to a more productive discussion because they are a comparison of similar frameworks. There are of course difficulties with gauging how much attention each gets (a lower CVE count is not proof of security), but overall Django looks better here.

I was thinking of the third one on this page (I suppose strictly speaking a vuln in a gem outside rails) which was pretty serious:

[http://weblog.rubyonrails.org/2013/2/11/SEC-ANN- Rails-3-2-12...](http://weblog.rubyonrails.org/2013/2/11/SEC-ANN- Rails-3-2-12-3-1-11-and-2-3-17-have-been-released/)

but there was a related YAML bug too at the same time with serialize, which also allowed users to supply input that was then instantiated (madness!). Do lots of people use serialize? I've never explicitly used it, unless it is used behind the scenes somewhere. I remembered the fuss being over JSON because of broader impact but may have misremembered.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


After raising $13M on Kickstarter in 2014, Coolest Cooler is shutting down - <AUTHOR> https://www.theverge.com/2019/12/9/21003445/coolest-cooler-update-business-tariffs-kickstarter <comment><USER2> I managed to swing one of those as an "Amazon Warehouse Deal" for $75, shipped. Honestly, it was nothing short of a steal at that price. The Coolest Cooler had just so many clever features and accessories, but it was anything but clever when it came to manufacturing costs with all the custom moldings, accessories, bulk. and weight.

Somewhere was a website which attempted to break those costs down. No question that the engineering team put functionality and features first and cost second. The company needed to sell in volume to survive, but the final cost was just too high for that to happen. They seemed to have been slowly clawing their way back, but _I do believe them_ when they say that new tariffs were the final straw which killed the dream.

I am truly sorry for backers. They were sold on the promise of so many clever features never before jam-packed into in a single cooler. (The only thing I would have added were larger rear wheels.) But it just wasn't the right product brought to life by the right company and at the right cost. Some backers were strung along _for years_ and really got screwed.

Still, you better believe that I consider myself lucky. I'm going to keep this monster for the rest of my life. Now if I only could have gotten my "World's Thinnest Watch" from 2013 that raised over $1M on Kickstarter and failed to deliver _anything_. I know how it feels, and it sucks. Kickstarter isn't a store, but I swear that some projects do their damndest to blur that line, you know?

<comment><USER3> what is the thinnest watch you are speaking off? Is it nove.com? they claim to have the thinnest watch

<comment><USER2> CST-01: The World's Thinnest Watch (0.8mm thick) [https://www.kickstarter.com/projects/1655017763/cst-01-the-w...](https://www.kickstarter.com/projects/1655017763/cst-01-the- worlds-thinnest-watch)

I believe they ran into problems with their manufacturing partner, and also with some of their batteries bulging. They had very good intentions, but I believe the project became too big for this enthusiastic but novice team to handle. Also: Lots of failed components pre-assembly.

Too bad, really. A flexible e-ink watch embedded into a metal wrist band should have been achievable and quite a fantastic product!

</comment></comment></comment><comment><AUTHOR> Only 2/3 of orders shipped and many customers left without having their order fulfilled</comment>


Ask HN: Programming war stories? - <AUTHOR>

Hey veteran engineers of HN, what are some good war stories and lessons you care to share?
In lieu of the 'old dev' story, I think older, experienced programmers have a lot wisdom to pass down to the guys just entering the game.
Thanks in advanced <comment><USER2> One of my first clients ever as a freelancer set up an online donations site for charities. This was back in 2002-4.

I wrote the entire site from scratch for him in ASP 1.1 with VB script. ASP.net wasn't even around yet. The entire site ran on a DELL box in his office with Comcast Cable internet serving hundreds of charities and taking credit card transactions and ACH transfers online. This was all before any kind of PCI requirements. The only requirement from the bank was SSL.

The worst part of this job was that he was too cheap to have a separate dev and prod environment so all my dev and updating was done on a live site with live credit cards flying by. If I happened to hit save in the middle of a transaction, the whole processing flow might change mid swipe. I was a nervous wreck every day going home. My biggest point of pride is that out of the 2-3 years working with this client, I only lost 1 table of reference data in the DB. That was the biggest disaster I had.

The ironic part of all this was that even through he cared very little about the transactions he lost due to the prod site also being dev, he was absolutely fanatic about HTML layout and pixel perfect design. Since it was difficult to guarantee consistent cross browser look and feel back then, the just converted all text and layout to images...so each page was just an html table with images in each cell.

Oh...he also believed his firewall was slowing down his cable internet so he turned it off. Got hacked once mid sales presentation.

I swear this is all true.

<comment><USER3> I believe it's all true, because around that same time I bought some web design software at Microcenter. When I got home, I learned it was a cheap Photoshop clone that output a giant image and an imagemap. It was pixel- perfect, but completely useless.

</comment></comment><comment><USER3> You inspired me to write up another one: Entry-level programmers, non-breaking spaces, and user experience [https://davidmichaelross.com/blog/entry-level- programmers-no...](https://davidmichaelross.com/blog/entry-level-programmers- non-breaking-spaces/)

</comment><comment><USER3> The "W" Screen, the story of an Easter Egg : [https://davidmichaelross.com/blog/the-w-screen-story-of- an-e...](https://davidmichaelross.com/blog/the-w-screen-story-of-an-easter- egg/)

</comment><comment><USER4> I recommend checking out book Coders at Work[1].

[1]: [http://www.codersatwork.com](http://www.codersatwork.com)

<comment><AUTHOR> this is great just ordered</comment></comment>


Open Source Design - <AUTHOR> http://opensourcedesign.net <comment><USER2> I understand and really like the idea of an open design processes, but can't help but feel this encourages working for free and developing spec work. Though maybe I am not understanding it correctly.

<comment><USER3> Working pro bono is quite a bit different than the cancerous scourge of spec / contest driven work.

Charities for example, might have a designer working pro bono. However, within that capacity, they are essentially working under the same constraints a designer on a team would. Many libre / open source projects don't have the funding nor structure to hire a designer.

Let it be clear, contests and speculative efforts are a toxic cesspool. Encouraging designers to integrate with a team, pro bono or otherwise, is a trend _away_ from contests and speculative garbage.

<comment><USER4> +1 when designers are able to make contributions on their own terms, the OSS world is a better place. On most open source projects, different contributors have different skillsets. When a designer is part if the team, they can be looped in on issues and PRs to provide feedback and design solutions "in the open"

</comment></comment></comment><comment><USER5> This is brilliant. I will be in touch with respect to some design tasks that need done on OpenEMR!

<comment><USER4> Please post a link here when you do! I just scrolled through the job board to look for any healthcare or government gigs and didn't find any.

Would love to get in touch directly, as well! I'm very interested in the OpenEMR project and its promise :)

<comment><USER5> Here you go! [https://github.com/opensourcedesign/jobs/pull/272](https://github.com/opensourcedesign/jobs/pull/272)

Looks like they have to approve it first, but I'm thinking it will be an interesting project for designers that have an interest in healthcare. Maybe this is you? :)

As far as reaching me directly, email is matthewvita48 (at) gmail (dot) com

<comment><USER5> Here we are: [https://discourse.opensourcedesign.net/t/jobs- hospitalized-p...](https://discourse.opensourcedesign.net/t/jobs-hospitalized- patient-management-module-mockups/530)</comment></comment></comment></comment>


Jackie Chan's Plan to Keep Kicking Forever - <AUTHOR> https://www.gq.com/story/jackie-chans-gq-profile-2017 <comment><USER2> One of my favorite "Every Frame a Painting" videos is on Jackie Chan. If you haven't seen it be warned, it will ruin your view of almost all modern action fight scenes. [https://www.youtube.com/watch?v=Z1PCtIaM_GQ](https://www.youtube.com/watch?v=Z1PCtIaM_GQ)

<comment><USER3> One of the best videos on cinema. You gain a huge appreciation for Jackie. IMO his best work was with Benny the Jet, particularly this fight:

[https://www.youtube.com/watch?v=owz45n-QUNQ](https://www.youtube.com/watch?v=owz45n-QUNQ)

<comment><USER4> WTF. They're both astounding. Not sure I ever saw anyone that close to Jackie's skills.

<comment><USER5> Hwang Jang-Lee is probably better, and has had more of an impact. In Jackie's older films, he plays many of the villains, and he is the one behind the iconic Silver Fox villains like pai mei that Tarantino lifted for Kill Bill.

[https://en.wikipedia.org/wiki/Hwang_Jang- lee](https://en.wikipedia.org/wiki/Hwang_Jang-lee)

He is almost always amazing to look at, like in this clip from the Buddha Assasinator, where he plays the main villain in red at the end.

[https://youtu.be/ehqAgeewn_o](https://youtu.be/ehqAgeewn_o)

</comment></comment></comment></comment><comment><USER6> I've always loved Jackie Chan's movies for their childlike innocence. The logic in his movies is the logic of kids, which is also why kids absolutely love his movies (as I did).

The villains and heroes in his movies think the way kids do. If you defeat the neighborhood bad guy, _of course_ all crime would stop. If you're a rich guy, _of course_ you'd turn your entire wealth into diamonds. Who wouldn't want diamonds?

The violence in his movies is also never really sinister. Nor are the villains - especially the thugs-for-hire cannon fodder - ever truly evil. In _Rumble in the Bronx_ , the initial bad guy - Tony (iirc) - becomes Jackie's friend once he realizes that Jackie is actually a good guy.

That's child logic, and I absolutely love it.

I know some "serious" movie critics fault his movies for their simplistic plot lines, but to me, this is a feature, not a flaw.

Outside of animation, I don't see any western movie maker doing anything remotely similar.

<comment><USER7> [https://en.wikipedia.org/wiki/Rumble_in_the_Bronx](https://en.wikipedia.org/wiki/Rumble_in_the_Bronx)

 _After failing to confront Keung, the bikers trash Elaine 's supermarket, during which two of Angelo's men are captured by White Tiger's men, who turn up at the supermarket in search of Angelo. Angelo's colleagues are unaware of his diamond heist and one is executed in a tree-shredder; his remains given back to the other gangsters as a warning to return the multimillion-dollar goods._

<comment><USER8> Yeah, puranjay needs to go rewatch some of Jackie's early movies again. A lot of Jackie's later movies -- and maybe the ones puranjay is remembering -- explicitly _were_ kids movies. But many of his earlier ones definitely were not. Jackie's characters often had a certain childlike innocence, but the movies themselves did not.

<comment><USER9> When you're more successful you have more control over the direction and type of films you're in. Since almost all of his later movies are kids movies, I think GP's comments regarding Chan are valid.

<comment><USER8> Don't get me wrong, I love Jackie and I think there's something to this. I adored his movies when I was a kid, even his more violent ones, and still do to this day. I just think it's not fair or true to paint all of his movies as being childlike. Including some of the ones the poster directly referenced.

</comment></comment></comment></comment></comment><comment><USER10> Jackie Chan is really idolized in the West, but not much is known here about him as a person. My wife is from Hong Kong and has told me all about his reputation as a womanizer. The typical Hollywood "Want to be the leading woman in my movie? Sleep with me." sort of thing. He even has an estranged daughter as the product of an affair.

It's really not so different from a lot of Western actors, but it seems like Westerners are ignorant of it in Chan's case. As others mentioned, his films have a certain innocent quality. But the real man, not so much.

</comment><comment><USER11> I agree with the article that even with Rush Hour and Shanghai Noon, Western audiences really haven't seen the full Jackie Chan palette of tricks and stunts. Some of the stuff he did in movies like Police Story, Armor of God and Drunken Master is amazing. Supercop (Police Story 3, per Wikipedia) has some of the most astonishing stunt work I've ever seen, and Michelle Yeoh matches him stunt for stunt.

<comment><USER12> The fight scene towards the end of "Who am I" is still astounding.

[https://www.youtube.com/watch?v=61s3nnCn7xU&ab_channel=Marti...](https://www.youtube.com/watch?v=61s3nnCn7xU&ab_channel=MartialArtsMovies)

<comment><USER13> That is my favorite fight scene in my limited knowledge of his oeuvre. All the little things make it good (e.g. when Jackie uses the tie against one opponent the other opponent immediately starts untying his own tie).

It also allowed the protagonist to be shown facing off against two very different styles; alternating between kwan's punch-heavy Chinese style, and Smoorenburg's kick-heavy Okinawan style, with the long, drawn out anticipation of him eventually facing both at once.

I've tracked down some behind-the-scenes footage of it, and there's amazing amount of detail put into the timing of each hit; it's much more of a dance using martial-arts moves than it is a fight, and the totality is far more than the sum of its parts.

<comment><USER14> I always view his scenes as dance, actually- since I first saw him in Rumble in the Bronx.

<comment><USER13> After writing that comment, I was thinking about how it compares to Martha Graham's school of dance; many things that look very simple and pure on the stage contain a staggering amount of attention to detail that the audience will never notice, except by its absence in a poor performance.

</comment></comment></comment></comment></comment><comment><USER15> I love his movies but I hate him for becoming a CCP shill.

[https://www.buzzfeed.com/kevintang/jackie-chan-offends- chine...](https://www.buzzfeed.com/kevintang/jackie-chan-offends-chinese- netizen?utm_term=.myJx2qrnz#.blJqYMORz)

[http://www.hollywoodreporter.com/news/jackie-chan- political-...](http://www.hollywoodreporter.com/news/jackie-chan-political- role-china-417401)

[https://qz.com/720749/why-some-hong-kongers-think- hometown-a...](https://qz.com/720749/why-some-hong-kongers-think-hometown- action-hero-jackie-chan-is-a-coward/)

[https://www.washingtonpost.com/news/worldviews/wp/2013/01/10...](https://www.washingtonpost.com/news/worldviews/wp/2013/01/10/the- anti-americanism-of-jackie-chan/)

<comment> crush-n-spread Jackie is Chinese. He ought to be pro-China. In the WaPo article you linked, he says the following:

      If our own countrymen don't support our country,
      who will support our country? We know our country
      has many problems. We [can] talk about it when the
      door is closed. To outsiders, [we should say] "our
      country is the best."

and

      Seriously, I am always like, when the door is
      closed, "Our country is like this and this. Who
      and who is not good." But outside, "Our country
      is the best, like so and so, is the best." You
      cannot say our country has problems [when you are
      outside], like "Yes, our country is bad."

Can you fault him for that? Perhaps it is the American standard that is wrong. Perhaps it is wrong to talk poorly of your own state on the global stage. Just because Americans (who own the fruits of 70-odd years of global dominance) are willing to disparage their country to no end, does not mean that it should be a standard for everyone.

t. Canadian

<comment><USER16> > Can you fault him for that?

Yes; while the attitude is extremely common, and not just when it comes to nations, it's an attitude that serves as a powerful enabler of evil in every context in which it is found, whether national, family, corporate, partisan, religious, or otherwise, and it should emphatically be condemned every time it rears its ugly head.

> Perhaps it is the American standard that is wrong.

Americans are no less prone to this than others.

<comment> crush-n-spread You claim that having solidarity with your nation, family, corporation, etc. is an enabler of evil. But what you see as evil probably looks a lot like dominance, control and strength to the rest of the world.

Ultimately, national power is extremely valuable on the global stage. Every single industrial nation on Earth has tens of thousands of business leaders and decision makers working to usurp that power from other nations as their own; this must be known and acknowledged! Whether it be exploitative trade agreements or owning parts of a neighbouring country's industry, to have control and dominance over other nations and their diverse varieties of resources is what wars are fought over.

Thus, if Americans do not seek to solidify their dominance at every moment, their dominance will be taken from them at some point; of this we can be sure. We _must_ have solidarity. It is not an enabler of evil - rather, it protects us from the evils that others might inflict upon us. Because that's how the world works. We fight over resources.

<comment><USER16> > You claim that having solidarity with your nation, family, corporation, etc. > is an enabler of evil.

No, I claim that refusing to ackniwledge and criticize evil by members of your family, nation, corporation, etc. around outsiders is an enabler of evil. Solidarity doesn't require that.

</comment></comment></comment></comment></comment><comment><USER17> Jackie Chan is more like Buster Keaton to me, just with some fighting and beating added to slapstick. I wish there were more actors and actresses like them, doing hard work, always rising the bar. After that, the cheap comedies or action films could be better value added productions (they won't be cheap in means of budget, I know). More like interdisciplinary works of art, combining acrobatics, coreography, pyrotechnics etc. with more modern technical aspects of film making. IMHO, without that effort and authenticity, most of those films would be just huge wastes of money and time.

<comment><USER5> Jackie isn't even that good. it's annoying because no one really seriously watches enough kung fu films to realize he isn't.

For example, Beardy (Leung Kar Yan) oozes charisma just by breathing, and does fights like these:

[https://youtu.be/ViowFzbOxfU](https://youtu.be/ViowFzbOxfU)

...without any formal kung-fu training! He's just a gifted physical mimic.

Gordon Liu is another hugely influential actor who more or less is what people think of when they think of shaolin kung fu, and he starred in many of the most iconic films of that genre, like the 36th chamber of shaolin. Then you have the five venoms, etc. If you actually went through a collection of the best films, like the old Dragon Dynasty DVDs, you'd be shocked to see how little Chan is in them.

<comment><USER17> Thanks for the recommendations, I will definitely check them. I was into kung- fu films back in VHS days but most of the time you couldn't see names on the cover, just one exaggerated film title translation. There were great performances but it is really hard to find them after all these years.

</comment></comment></comment><comment><USER18>
        How many action star all gone? Only few can stay. Stallone's different. He's a legend. Other action stars already gone.

I find it cute that Jackie doesn't think he's a legend.

</comment><comment> happy-go-lucky My daughter and I have a lot of fun whenever we watch this fight from Who Am I.

[https://www.youtube.com/watch?v=9m6qAaqRu2M](https://www.youtube.com/watch?v=9m6qAaqRu2M)

I also like one of Jackie Chan's quotes:

 _Cinema reflects culture and there is no harm in adapting technology, but not at the cost of losing your originality_.

</comment><comment><USER19> When did GQ writers start writing like Buzzfeed millennials? It's pretty distracting reading writing like this.

<comment><USER20> I thought the writing was good

</comment></comment><comment><USER20> How does he have so much money if most of his movies are not that good or are unprofitable. I don't get it. A private jet costs $40+ million . Who is giving him all this money....I don't understand the math of how some people in the film industry make so much money yet others make much less. I guess he is paid a huge flat rate per film and if he does dozens of them it adds up.

<comment><USER21> He has over 100 movies and 5 decades of works. His many movies in 80s, 90s are major blockbusters in Hong Kong, Taiwan, South East Asia, the reason he can have Hollywood movies. His movies in the last 10 years are not major sellers but they're only one or two lemons. He is still pulling in the crowd in China. And his movies are still shown during peak Chinese New Year CNY in China, indicating investors confidence. Most stars in China wants their movies shown during this CNY period. He owns film studio, and you can go watch a movie in "Jackie Chan" branded theatres in China. Most film deals he struck are based on % of movie revenue. He is more business man than an actor. Are you serious in doubting his wealth?

</comment></comment><comment><USER22> Imagine when the inevitable economy kicks in, it would be cheaper to render retired/dead actors and continue their franchises instead of having new actors entering the showbusiness with risky reception. Today's GAN video here hints at that possibility not very far away. So in a way Jackie Chan can indeed keep kicking forever...

</comment><comment><USER23> Did anyone find what the plan, mentioned in the title, was?

<comment><USER24> Yes, please, someone please TLDR the plan...

<comment><USER25> No plan, he admits defeat. "I know I'm not young anymore. I cannot continue to make Rush Hour 1, 2, 3, 4, 5. How can I continue [to] do this kind of funny face".

Later he states that if he stays in the industry he will no longer act. "If I'm [to] continue on in the film industry," Jackie says, "I have to change. Otherwise, you gone. You see—in Japan. Korea. America. China. Hong Kong. How many action star all gone? Only few can stay. Stallone's different. He's a legend. Other action stars already gone.

"So that's why I'm looking for different script, different character, different Jackie Chan. I want the audience look at Jackie Chan as an actor. Not the action star. Actor who can fight. Look at Clint Eastwood. If he continue to 'Make my day'? Gone. So he change to directing. He change some other things. Look at Al Pacino. Robert De Niro. I wanna be an Asian Robert De Niro, Dustin Hoffman, Al Pacino."

</comment></comment></comment><comment><USER26> the best about Jackie's movies is: there is no need for excessive violence and blood. Hollywood just becomes more krass every year. But Jackie shows well that Action and Comedy can go together and still be family friendly

</comment><comment><USER27> I grew up watching Jackie Chan movies (and other great HK actors that unfortunately can't remember) and I'm amazed of the influence they imprinted in Hollywood. There was a time that influence was more obvious (with Jackie Chan movies in Hollywood) but post Matrix you can just see how that style is sort staple (albeit watered down) in modern movies.

<comment><USER28> Jackie Chan has repeatedly told that his inspirations were the silent greats of Classic Hollywood: Buster Keaton, Charlie Chaplin, Harold Loyd.

"I wanted to be like a Chaplin or Buster Keaton, but all the martial arts directors I worked with wanted me to copy Bruce Lee." -- Jackie Chan, [http://www.nytimes.com/1995/01/30/movies/faster-than-a- speed...](http://www.nytimes.com/1995/01/30/movies/faster-than-a-speeding- bullet-but-also-humanly-fallible.html)

</comment></comment><comment><USER29> Its great to see that other movie markets can be bigger than America's now with those Jackie Chan movies earning 250 million in China alone.

In another country I remember hearing about the number 1 movies having only 30 million in earnings. I think that was a record for Japan at the time. So it never really mattered what the local population thought, changing it for American audiences was always important because a lackluster performance was still a great deal.</comment>


GDPR Means Unroll.me and Pinterest's Instapaper Unavailable in Europe - <AUTHOR> https://www.infoq.com/news/2018/05/gdpr-instapaper-unavailable <comment><USER2> > Pinterest's news-clipping service Instapaper is one of the most high-profile > examples. EU users have been banned from accessing its platform since last > Friday. Pinterest has emailed users to say that this is a temporary measure > and that it intends to "restore access as soon as possible".

Underline the word temporary there. Anybody deciding to just exit EU because of GDPR should consider the possibility that a high profile EU competitor appear, which can possibly trump you saying "this is almost the same thing, but GDPR compliant". I personally would pick the EU alternative among two almost-identical products.</comment>


Make Ad-Blocking a Core Feature (Firefox Bug Tracker) - <AUTHOR> https://bugzilla.mozilla.org/show_bug.cgi?id=1209362F <comment><USER2> Cute, but never going to happen. Partly due to politics, but also, don't Firefox get revenue for their search bar referrals? I imagine their partners (Google, Amazon) would get stroppy if Mozilla accept the referral money, then actively work to prevent those partners from earning money (via ads).

<comment><USER3> Do referrals of clients with ad blocking enabled not generate fees for Mozilla? Also, Mozilla is a non-profit foundation, so providing users some small relief from advertising seems entirely consistent with serving the public interest. The promise, at least, of commercial free television and radio was a primary pitch of public broadcasting for decades.

</comment></comment><comment><USER4> Link is invalid due to a 'F' at the end. Correct one is [ [https://bugzilla.mozilla.org/show_bug.cgi?id=1209362](https://bugzilla.mozilla.org/show_bug.cgi?id=1209362) ]

</comment><comment><USER5> Even if HTTPS Everywhere and uBlock origin are included by default as requested, the bug opener can't possibly expect Mozilla to break the browsing experience of every mom and pop by including RequestPolicy and NoScript.

<comment><AUTHOR> Installed by default doesn't mean turned all the way up by default.</comment></comment>


How police brought down a tech-savvy prostitution network - <AUTHOR> http://projects.seattletimes.com/2017/eastside-prostitution-bust/ <comment><USER2> >Richey is even more adamant that what the South Korean prostitutes were doing could not be called consensual because they were being paid.

This is ridiculous. Bad things happened, yes, but armed robberies happen everywhere, and this site helped to decrease them. This is like someone would argue that people working at gas stations aren't there consensually, because they're getting paid and are at risk of a robbery.

I don't see into this individual case much, maybe the Korean women were exploited, but they definitely should have chosen another wording.</comment>


A principled approach to system design and programming - <AUTHOR> https://urbit.org/blog/precepts/ <comment><USER2> Urbit is a cool idea and I resonate with its motivation but I fundamentally disagree with its execution.

The fact that we have bad platforms does not imply that we have bad systems or bad protocols. I think the rotten core of the bad-ness of the internet is commercial infrastructure. It's prohibitively expensive for users to truly own the most basic commodities of internet infrastructure, i.e names (DNS), numbers (IP) and peers (BGP). These commodities would enable users to make the most of the protocols that we already have.

There are already many projects that try to combat the commercialization of the internet by adding new systems and protocols (Solid, IPFS and ActivityPub come to mind). Users shouldn't only be free within the confines of these systems - they should be first class nodes on THE network.

The spirit of Urbit is spot on but it's at the wrong layer of the OSI model. I have much more faith in people who are trying to operate public networks (i.e NYCMesh) and would like to see more projects that aim to de-centralize the basic commodities of the internet.

<comment><USER3> Is it economically viable to have all this infrastructure without commercial interests?

<comment><USER4> Much of the physical and logical infrastructure was heavily subsidized or outright paid for with public funds. One could argue that it was _never_ economically viable, but forced to appear that way.

Internet infrastructure is not unique in this respect.

The idea that markets optimizing for profitability naturally tackle hard problems requiring immense up-front costs is an attractive lie.

<comment><USER3> And so is the idea that public or government can maintain a good quality infra (at scale, everything works in a small community). At least where I live the public company provides the worst possible services and all improvement has come from the private sector competition.

<comment><USER5> thats why usually the best approach is public owned and private leased..

</comment></comment></comment></comment></comment><comment><USER6> > Everything should be CQRS.

For systems, this is going to be painful: you want to be able to do things like "compare-and-swap" which are already an action and a query bundled in one. You need this for 2 reasons:

       - consistency: you want the query and the update to be done in one go. atomically
       - performance: doing it like this is faster as
         you're combining 2 things in one call, iso 2.

<comment><USER7> That was my immediate thought as well - CQRS doesn't fit well with the "everything should be deterministic" principle, unless they have a very different definition of CQRS than what is in common use.

In theory, it is possible to do "synchronous CQRS", where the update to your write-side is done in a single transaction with the update to the read-side, but that's not how I've ever done it in my (Scala/Postgres based) CQRS app experience.

<comment><USER8> Compare and Swap is a command. E.g. Optimistic Concurrency.

</comment></comment></comment><comment><USER9> > For example, the conventional name for a variable of type path is pax. You > should have a good reason for using any other name for a path.

Ah yes, let's appropriate the Latin word for "peace" and demand everyone use it for paths.

An utterly fanciful take, this. Must be nice to have the time to cultivate and commemorate such a detailed set of principles.

<comment><USER10> I missed that this was urbit, but as soon as I read your post, I said hm, urbit?

</comment></comment><comment><USER11> It's quite difficult to tell if this is genuine or satire. I really hope it's the latter though.

</comment><comment><USER12> >The Law of Leaky Abstractions is a lie; abstract airtightly.

Man, when I read things like this about "design principles" I know I'm getting into a bag of hand wavy opinions with no rigid theoretical proofs. That's fine because not everything is covered. But the minute you say something that is outright false I know you're worthless.

All abstractions leak. I cannot make an abstraction perform better than what's underneath. The performance leaks through every single time. An abstraction will always only be worse performing then what's underneath simply due to the cost overhead of the abstraction itself.

Rust is a great example. It has something called zero cost abstractions, meaning that the abstractions that Rust uses are more complicated than normal in order to maintain the zero performance cost. That is leakage. There is always a cost.

<comment><USER13> > All abstractions leak. I cannot make an abstraction perform better than > what's underneath

Performance is not within the scope of abstraction. This is a category error.

Also, your claim is incorrect as a general statement. The type structure of a given program is an abstraction of its value flow, but without that abstraction a compiler would not be able to optimize it nearly as well. A typed program will always be faster than an equivalent untyped program.

Creating an abstraction may also allow you to add a transparent memoization layer, which not only can make your program orders of magnitude faster, it can make previously unsolvable problems solvable (see how PEGs handle left recursion).

<comment><USER14> > > All abstractions leak. I cannot make an abstraction perform better than > what's underneath

> Performance is not within the scope of abstraction. This is a category > error.

It's not within the scope of abstraction... until it is. When that beautiful abstraction does exactly what you need, but does it too slowly to be usable in your circumstances, performance is not separable from the abstraction. (I mean, yes, performance is part of the _implementation_ of the abstraction, not the abstraction itself. But the moment I have to care about the implementation of an abstraction rather than the abstraction itself, the abstraction has leaked. Performance is absolutely one of the ways that this can happen.)

And, as a concrete example, the STL went to great lengths to specify the _performance_ of their abstractions.

<comment><USER13> > But the moment I have to care about the implementation of an abstraction > rather than the abstraction itself, the abstraction has leaked.

No, that's not what leaky abstraction means. If an abstraction specifies its performance properties, but those properties depend on context that _isn 't captured by or enforced by the abstraction_, that's a leak.

To use your example of the STL, if you can allocate a fast constant-time abstraction at a misaligned address, thus causing it to violate its own performance specification, that's a leaky abstraction.

Having the wrong performance characteristics simply means it's the wrong abstraction, not that the abstraction is leaky.

<comment><USER14> I think you're a bit too narrow in your definition. If an abstraction specifies properties, but I have to care about more than those properties to be able to use the abstraction, then the abstraction leaked.

Performance can be one of those things I have to care about.

</comment></comment></comment></comment></comment><comment><USER15> This entire Urbit thing has the vibe of a Boards of Canada music video. I love it even if I don't quite understand it (which I bet no one does, including their investors).

</comment><comment><USER16> I agree with some of this on some level, but this article is a big list of extremely abstract concepts that it doesn't explain how to achieve. It definitely doesn't explain how to achieve them in a practical way in general programs with minimal hits to speed and latency, etc. etc. It's like someone saying 'keep it simple stupid'. Great, tell me how to simplify.

<comment><USER17> IKR?

> (Almost) Everything should be pubsub?

Gee thanks, I'll just go make everything pubsub. Except the things I shouldn't. The distinction will be clear I'm sure.

I'm not saying I disagree with all their points. But without examples it's not clear what they even mean, let alone how to apply them.

</comment></comment><comment><USER18> Completely unrelated but I fell in love with the image compression, black and white + high dither.

<comment><USER19> Similar aesthetic: [https://solar.lowtechmagazine.com/about.html](https://solar.lowtechmagazine.com/about.html)

<comment><USER20> Cool it looks like they're using a plugin based on [https://github.com/hbldh/hitherdither](https://github.com/hbldh/hitherdither) to do the dithering

</comment></comment></comment><comment><AUTHOR> Discussion: [https://urbit.org/blog/precepts- discussion/](https://urbit.org/blog/precepts-discussion/)

<comment><USER9> But, this is not discussion at all--it's a doubling-down on various points of the manifesto. "Maybe you didn't catch my subtly brilliant note about tab spacing; now read a further two paragraphs of microdosed wisdom on the matter and you may become enlightened."

</comment></comment><comment><USER13> Not sure some of these precepts are possible:

> A.2 Everything should be CQRS.

Some things require strong consistency, even at the UI level. Eventual consistency is probably the right default though. Unfortunately, we still don't have good abstractions at the language level to manage this.

> A.4 A subscriber shouldn't affect a publisher.

Literally impossible. Either a subscriber is polling the publisher, or the subscriber registers with the publisher to receive updates. Either way, the subscriber is inducing state transitions in the publisher. What other possible meaning can be assigned to "affect" in order to make this precept valid?

> D.1 Academia has many genuinely smart and interesting ideas, but always > remember that pursuing them whole-heartedly will never result in a useful > product.

Yeah, not at all sure that's correct. Lots of academic research is funded by commercial interests. In fact, currently one of the biggest corporations in the world at this time (Google) started as academic research.

> D.2 Those people (academics) wasted a lot of time finding the right answer, > but now that they've done it, you must exploit it.

 _Spent_ a lot of time. "Wasted" implies there was a better way.

> D.5 Practice tells you that things are good or bad; theory tells you why. > Never use theory to design a good system from scratch; only practice can > tell whether the system is good.

I don't think this is coherent. If theory tells you why a system is bad, then that immediately entails what a good system should look like.

What I think typically happens, is that a system designed by theory is so good at solving the problems it was designed for, that it's then applied to similar-but-not-quite-the-same-problems, and thus it becomes inadequate again.

<comment><USER14> A.4: I think you're a bit too literal here. A subscriber shouldn't affect the publisher other than by subscribing, and by the tiny bit of time it takes to be called.

Why those two exceptions? Because those two exceptions are mandatory in the publish/subscribe model. You can't escape them and do publish/subscribe. But the claim is, a subscriber shouldn't do anything beyond that, and that is actually a useful and important claim.

A subscriber shouldn't send data back to the publisher via the return value of a subscribed message, still less via reference parameters. A subscriber shouldn't affect the publisher's performance by taking too long to handle one of the messages. There may be other ways as well.

D.5: There's a difference between theory and practice. If the system is good in theory but bad in practice, then theory will not tell you so. Only practice can tell you.

You can, based on that practice, create an improved theory. That theory will tell you what a good system should look like... in theory. In practice, such a system may still be bad, just in a different way from the previous system. Again, you need practice to tell you this, not theory.

</comment></comment><comment><USER21> I've found this list quite dogmatic. I would like to see them wrestle with the business side of my company at the meetings.

</comment><comment><USER22> 42: Use typed and safe languages

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

</comment><comment><USER23> This is a set of very strong and detailed opinions about design. Do they have any street cred to back it up?

</comment><comment><USER24> > The Law of Leaky Abstractions is a lie; abstract airtightly

This one... Our entire computing world is a pie of terrible abstractions held together by duct-tape and billions of man-hours spent working fixing those leaks.

<comment><USER14> This one is wrong. The Law of Leaky Abstractions is in fact _not_ a lie. All abstractions actually do leak.

People take that as an excuse to be sloppy, which it isn't. You should do the best you can to make non-leaky abstractions. When you have done so, you should look for the leaks, and do your best to plug them. After that, you should do so again. You should _really try_ to make it as solid as you can.

But it will still leak. It will be less garbage than much of what we have to build on, because of the effort you put into making it better. But it will still leak.

</comment></comment><comment><USER25> 1\. Too many principles equals no principles, for example: Don't exceed 10 principles.

2\. Simplicity and Unity must be parallel. Pure piping systems meet this principle.

3\. Principle should be specific and executable.

4\. Principle should not affect flexibility.

5\. Principle should be consistent with mainstream modern industrial production principles.

[https://github.com/linpengcheng/PurefunctionPipelineDataflow](https://github.com/linpengcheng/PurefunctionPipelineDataflow)

<comment><USER13> Your list is inconsistent. Principles necessarily constrain flexibility. For instance, principle 5 means I can't create a system that isn't consistent with mainstream modern industrial production principles.

</comment></comment><comment><USER26> Loved the language - "Each timeless data structure is a brick in the foundation of digital civilization."

</comment><comment><USER27> > Deterministic beats heuristic.

> Heuristics are evil and should only be used where determinism is infeasible, > such as in cache reclamation

are these two things really in conflict? they seem orthogonal, but maybe i'm missing something...

<comment><USER28> Yes that's most likely a misunderstanding there - most heuristics I've used were very much deterministic. Non-determinism is evil, that I would agree - but heuristics aren't. As long as you understand they are heuristics and might fail/lead to suboptimal results.

<comment><USER13> Most internet APIs use timeouts. That's as nondeterministic as it comes.

<comment><USER29> Networks are non-deterministic by nature... Just like disk IO, but on networks it's in an entirely new level.

<comment><USER28> Which is why the first rule of distributed systems is "don't distribute your system"

</comment></comment></comment></comment></comment><comment><USER30> The article mentions a `duct` abstraction several times but I've never heard of this nor been able to find anything relevant through some searching. Does someone have some insights on it?

<comment><AUTHOR> From the discussion [1]: "A duct is akin to a first-class call stack".

For a more detailed explanation, you can look up the type definition [2] in Arvo (Urbit's Kernel) and here [3] you can find an example of how the stack looks when setting up a timer.

[1] [https://urbit.org/blog/precepts- discussion/](https://urbit.org/blog/precepts-discussion/)

[2] [https://urbit.org/docs/tutorials/arvo/arvo/#duct](https://urbit.org/docs/tutorials/arvo/arvo/#duct)

[3] [https://urbit.org/docs/tutorials/arvo/move- trace/](https://urbit.org/docs/tutorials/arvo/move-trace/)

</comment></comment><comment><USER31> The lengths devs go to become priests..

<comment><USER32> Do you mean in terms of taking extra discipline on themselves (which might seem unnecessary to outsiders), or in terms of preaching what they think is right?

<comment><USER33> I think he means in terms of defining and controlling orthodoxy.</comment></comment></comment>


Merb 1.0 released - <AUTHOR> http://merbist.com/2008/11/09/merb-1-0-released/ <comment><USER2> I don't get it. One of the best things about Rails is that I don't have to pick and choose my components. I use what everybody else is using and I know that means it's likely to work and be reasonably well documented. Any small gains I might achieve by swapping out one layer of Rails are going to be more than offset by the extra complexity of my unique Merb environment.

DHH's arguments about "opinionated" software seem to have been lost on the Merb crowd.

<comment><USER3> This is great if you happen to love every design decision the Rails crew has made for you. If not...

I don't think Merb will replace Rails. I think, ultimately, the two appeal to different crowds. Too some extent, I hope people who are happy with Rails stay with Rails. Merb _feels_ like it's more aligned with the Ruby community than the Rails community. If that makes any sense.

<comment><USER2> You're never going to love _every_ decision made by the designers of any platform. The thing is, you're likely to make just as many missteps on your own. Every once in a while it's worth it to start with a clean slate but I don't think Rails is even close to that point yet.

</comment></comment></comment><comment><USER4> Any former Ruby on Rails developers want to share their experience switching to Merb?

<comment><USER3> I made one small demo app in Merb about a month ago -- so, slightly pre-1.0. Overall, it was a good experience and I intend to continue exploring Merb.

A few points:

* Not as much documentation... sometimes it takes a while to find the Merb equivalent of some Railsism. The interfaces for Merb are very similar to Rails, though, so usually just trying the equivalent is enough. The differences I encountered were usually improvements over the Rails approach, IMHO.

* Smaller community. So, fewer plugins, fewer examples, fewer HOWTOs, etc. Hopefully this will change. But if you're uncomfortable developing something without a ton of resources to leverage...

* More flexible. I used Datamapper instead of ActiveRecord, and was _very_ happy to have a choice. I was also very happy with Datamapper itself. I'm not sure Datamapper is mature enough, yet, for large scale projects, but the future is bright.

Overall, I think Merb benefits strongly from the "hindsight is 20/20" adage. It takes the best of Rails and rethinks its shortcomings. Where Rails was more revolutionarly, Merb is evolutionary. I think the improvements are worth the trouble of learning another web framework. I intend to use Merb for any new projects I start.

My demo app is <http://ifrotz.org> \-- not that it's at all enlightening in a Merb vs Rails debate.

<comment><USER5> Thanks for the answer, but you only cite one advantage, that of flexibility. Surely there must be others?

<comment><USER3> In short, yes there are other advantages. If you just want a list, the release announcement is full of goodies. I was really just listing the things I noticed when working on one small app. As to features I haven't used, yet... I'm probably most excited about Merb's slices. Slices are potentially a huge win for code organization and re-use across webapps.

</comment></comment></comment></comment><comment><USER6> A little off-topic but whatever happened to Ramaze? It seemed to have so much potential....</comment>


Show HN: App uses GIFs to improve your health - <AUTHOR> https://itunes.apple.com/us/app/simple-steps-eat-better-one/id1039731803?mt=8 <comment><AUTHOR> Earlier this year I created an app that helps you eat healthier. I just overhauled it. It works like this:

1) Pick one simple habit to work on.

2) Check off your habit every day for a week.

3) When you check it off, the app shows you a funny GIF.

4) After you do your habit for a week, you move onto a new one. This way, you don't take on too much at once.

Would love to see what you guys think.</comment>


New USDA Diet Guidelines Seen As Falling Short  - <AUTHOR> http://www.futurepundit.com/archives/007922.html

<comment><USER2> I've been reading a lot of Gary Taubes lately (Why we get fat, Good Calories Bad Calories) - and, at times, I get so frustrated with what is apparently non-science based advice that we get from the USDA, that I wonder how it is that they continue to be seen as an authority on what we should eat to maintain a healthy lifestyle.</comment>


Lhasa – Kathmandu Railway Mega-Engineering - <AUTHOR> https://www.quora.com/Nepal-What-is-happening-with-the-proposed-Lhasa-Kathmandu-railway-project/answer/Janus-Dongye-Qimeng?share=1 <comment><USER2> On the topic there are plenty of materials and videos online on the Beijing- Lhasa Railway, especially the Qinghai-Tibet part [1].

Quite an achievement. Built on permafrost, pressurised trains, highest stretches at 5,000+m altitude.

With this extension, one day we maybe able to do Beijing-Kathmandu by train, straight through the Himalayas. And on to India? Mumbai-Beijing via Lhasa sounds like a hell of a train journey.

[1] [https://en.wikipedia.org/wiki/Qinghai%E2%80%93Tibet_railway](https://en.wikipedia.org/wiki/Qinghai%E2%80%93Tibet_railway)</comment>


Genetically Modified Organisms Risk Global Ruin, Says Black Swan Author - <AUTHOR> https://medium.com/the-physics-arxiv-blog/genetically-modified-organisms-risk-global-ruin-says-black-swan-author-e8836fa7d78

<comment><USER2> Ironically, ideas also "represent a public risk of global harm." Does that mean we should ban communication and education, just to be safe?

(1) Horizontal gene transfer has been going on since the formation of life. And while I can imagine some extreme scenarios where engineered GM could be dangerous (Engineering a virulent airborne ebola virus, for example), it's not clear moving a gene from one species of an apple to another species would lead to global catastrophe.

(2) The world is an intrinsically dangerous place. Isn't there a greater likelihood that some ornithologist goes to the Amazon and inadvertently brings bring back some new virus or bacteria? Given the heavy regulation, ethical considerations, regulatory testing, and precision involved in engineered-GM, this seems like a much greater danger to humanity. Should we halt international travel as well?

(3) Unlike GM where we have controls, regulations, and exhaustive testing, there is no such precautions for radioactive and chemical mutagenesis that make massive wholesale genetic changes to a genome. You could even argue that GM is safer than non-GMO methods.

</comment><comment><USER3> Basic point, maybe he cannot prove that GMs are dangerous but no one can prove that they are safe.

So why risk things when there are other ways

</comment><comment><USER4> I notice he cited Seralini (who claims GMOs cause cancer in rats). That's not a reliable reference.</comment>


Netflix hid a fake bio-tech booth in the middle of CES - <AUTHOR> https://www.engadget.com/2018/01/10/netflix-fake-ces-2018-altered-carbon/ <comment><USER2> I had missed that an Altered Carbon tv series was going to be a thing. The books are excellent, hopefully they nail it.

<comment><USER3> The trailer makes it clear they're altering foundational details about the environment, including who the Envoy Corps even is. It still could be quite good, and I'm allowing my hopes to be high. But it will definitely be its own thing.

<comment><USER4> Which trailer was that? It's been a long time since I read the books but I didn't get that from the ones I saw.

e: nvm, I just found this one: [https://www.youtube.com/watch?v=b7J5mxaQ2xA](https://www.youtube.com/watch?v=b7J5mxaQ2xA)

</comment></comment></comment><comment><USER5> So how does this fit into their "no commercials" policy?

Jokes aside, I don't want to see too much of this at future consumer shows.

Edit: holy downvoting brigades, what have I done?

<comment><USER6> isn't their "no commercials" policy just about serving other people's ads? I don't see how that's relevant here

<comment><USER5> There was some talk about netflix advertising their other shows between streams but once people threatened to cancel their subscriptions they scraped that.

also, you missed the joke.

</comment></comment></comment><comment><USER7> "The show itself, Altered Carbon, is set three hundred years into the future, at a time where human bodies are now interchangeable: Death just isn't a thing."

EDIT: Spoilers, indeed. Sorry!

Just finished the last episode of Season 4 Black Mirror called Black Museum [1] and it covers this subject as well. You can say the same about the infamous San Junipero [2].

You could even argue the manga/anime Ghost In The Shell is also about that [3].

Can recommend all of the above. Thought provoking, suspenseful, and emotionally touching.

[1] [https://en.wikipedia.org/wiki/Black_Museum_(Black_Mirror)](https://en.wikipedia.org/wiki/Black_Museum_\(Black_Mirror\))

[2] [https://en.wikipedia.org/wiki/San_Junipero](https://en.wikipedia.org/wiki/San_Junipero)

[3] [https://en.wikipedia.org/wiki/Ghost_in_the_Shell](https://en.wikipedia.org/wiki/Ghost_in_the_Shell)

<comment><USER8> Spoilers</comment></comment>