The slippery slope - <AUTHOR> http://www.90percentofeverything.com/2013/07/23/the-slippery-slope/ <comment><USER2> I'm going to nitpick a bit here, mostly because it's entertaining to play devil's advocate on a topic that's always met with such one-sided responses on HN (in this case: dark patterns).

My question is: Why _should_ a company make it easy for people to do exactly what it doesn't want them to do?

Sure, outright trickery and lies are almost unarguably immoral. And the author definitely identifies many examples of that. But there are other instances where I just can't agree with classification of the UX as a dark pattern.

Let's take The Ladders, for example. In order to cancel, you have to fill out a form with a few required fields. What a shady, underhanded, and downright spiteful trick! Or is it? Most cancellation forms online will take you through an intermediary confirmation step, anyway. What's so evil about requiring a small form to be filled out? The questions are directly relevant to the act of canceling, and if you truly don't give a shit, you can fill it in with gibberish. Even if you give honest answers, you could be done with this form in literally 5 seconds. It almost certainly took you longer to fire up your browser and navigate to their site, anyway.

My point is: The company is not attempting to trick you or obfuscate the truth. They know that the presence of the form will likely lower their cancellation rates by a marginal amount, yes, but there's nothing immoral about lowering cancellation rates. And the form isn't _nearly_ long enough to be considered difficult or unreasonable, so it's not like they're attempting to frustrate people into staying. In the end, it convinces some people to change their minds, but nobody gets hurt.

Compare that to, say, The Ladder's decision to auto-renew monthly subscriptions while hiding that fact at the bottom of the page in small gray font. Or to email subscriptions with no unsubscribe link. Or to burying opt- out checkboxes within gigantic forms. In these cases, companies are outright tricking people.

<comment><USER3> Acting shady hurts your brand.

Harry Brignull(the author) discusses this in a talk[1] that I found on the dark patterns website(I checked out the website after loving the article).

He makes the argument that sure, many of these tactics might increase your conversion rates or make you some money, at least in the short run. But it also causes you to come off as seedy, to come off as a back alley discount store instead of as a premium brand.

He points out that if you're doing this and you're aware of that and you're ok with it, that's one thing. But plenty of sites might not have realized what they're doing and how it comes off.

I know I personally resent it when sites leave boxes like "sign up for our newsletter" checked or when they have fake download box adds. Making it hard for me to do what I want to do, no matter how you do it, bothers me. It feels like you're the adversary of the site, not a customer or friend.

I believe he talks about it around 12 minutes in but the entire presentation is _easily_ worth watching. He has another one aimed at designers that I plan on watching as soon as I find my headphones(the sound is too low for me to hear it on my MBP).

[http://www.90percentofeverything.com/2010/12/17/dark- pattern...](http://www.90percentofeverything.com/2010/12/17/dark-patterns-an- overview-for-brand-owners/)

<comment><USER4> > Acting shady hurts your brand.

These companies are not silly, they understand the damage to their brand can be quantified as $x and that the benefit to their bottom line can be quantified as $xx .

Sometimes you do things you know have a negative, because you believe that the positives outweigh it.

Not that I agree with these dark patterns, but I understand why companies choose to implement them.

<comment><USER5> _These companies are not silly, they understand the damage to their brand can be quantified as $x and that the benefit to their bottom line can be quantified as $xx._

Actually - they often are silly. It might be $x right _now_ , but it turns into $10x later on as the consequences of that initial damage roll on and affect future interactions, recommendations, etc.

It's very easy to quantify the short-term gains being sneaky get you. It's much harder to quantify the longer term consequences.

<comment><USER6> By doing this they survived first and took place of some other honest companies. Still very large benefits.

<comment><USER7> Do you have examples of that? Because he has several examples of the opposite in his talk.

</comment></comment></comment></comment></comment></comment><comment><USER8> To disable Ad Tracking under IOS, go to Settings > General > About > Advertising > Limit Ad Tracking to On

This is a worthwhile read (with excellent examples) on the ubiquitous "Click here to not receive third-party messages" pattern.

<comment><USER9> Let's not forget about disabling "Interest-based ads," for which there is no path to get to... other than going to a link in Safari. The link is oo.apple.com

This KB article explains the process. [http://support.apple.com/kb/ht4228](http://support.apple.com/kb/ht4228)

Interestingly, this launches some sort of stealth app, not a hidden page in the "Settings" app.

Also, there is another setting for including your location with iAd calls. That one is Settings > Privacy > Location Services > (Scroll all the way to the bottom, yes, past every single app that uses your location, about 35 in my case) > System Services > Location-Based iAds

<comment><USER10> And ofcourse following the link in the KB article just produces a timeout from my ipad (though i do get a proper message that i'm not on an iOS device when accessing it from my mac). You wonder why they even bother? If you have no intention of opting people out, why even put up the page?

<comment><USER9> I suppose there is a legal requirement in some jurisdiction that the functionality exists, but how accessible to make the feature was left unspecified. Therefore, dark patterns prevail.

</comment></comment></comment></comment><comment><USER11> Spotify came up with a sneaky one.

I recently signed up and it only asked for some basic info. By default, of course, all email notifications are turned on. When you try to turn them off and save changes - it won't let you save because one "mandatory" field is incomplete [1].

So you're forced to add more info if you want to turn off email notifications.

It's not a big deal, but it falls in the same category. I like the company less now.

[1] [http://img20.imageshack.us/img20/4800/jfgt.png](http://img20.imageshack.us/img20/4800/jfgt.png)

<comment><USER12> Spotify is known for its shady tricks. Try figuring out that the client consumes a very large portion of your upload bandwidth. Another one is when they enabled the "local files" feature via auto update a few years ago, this feature not only allowed you to play mp3 files via the client but also phoned home to mama with a list of all your local music. There was no way to opt out of this, the client just auto updated and started importing everything from windows default music directory. It seems as though they update their TOS every time i restart the client also, who would read that when you are in a rush to start your music.

The way they remove songs from the library is also a bit disturbing, some songs become gray and some just silently disappear. The frequency of removed songs is also quite high, for a free service i don't mind but if i pay premium and tons of my favorite songs disapear for each day i'm not going to be happy.

<comment><USER13> When they introduced the option to play local music, it was a pretty big launch and you were notified. And it has always been easy to select where to grab local files from, or disable it. I think your point here is invalid.

The fact that they remove songs is not unethical, so not really relevant.

</comment></comment></comment><comment><USER14> Long, but worth reading — a great overview of shady techniques that many startups may feel are worth employing to bump their growth stats.

<comment><USER15> It was even more interesting to me as a set of 'canaries in a coal mine'. If you are working for a company and start to see many, or one, of these patterns, it should serve as awake up call. Move on or don't, but be aware of the corporate behavior.

</comment></comment><comment><USER16> I wish there was a browser plugin or something that displays all the blackhat manipulation a site employs as you visit it, and give alternative options.

</comment><comment><USER17> Very well written. When you turn against your customers' welfare, you're almost always going down a path of failure in the long run.

<comment> z-factor Banks seem to be doing ok.

<comment><USER18> For now. It's only a matter of time before a startup or two breaks that industry down just like they have for many others.

<comment><USER19> I'm a happy customer of both Simple.com and USAA. Both are very customer focused banks. The industry is being broken down, just really really slowly.

<comment><USER20> Just curious, what benefits do you get from simple.com that USAA does not provide? I looked at it in the beginning but it didn't seem to add anything, perhaps that's changed.

<comment><USER21> Serving customers who aren't military or from military families?

<comment><USER19> You can open a bank account with USAA if you're non-military. However, some of their other services are not available to you.

<comment><USER21> Like mobile check deposit, which is a big deal if you don't live near a branch.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> It's funny. I'm on the phone trying to reach a student loan representative right now. I keep pressing 1 for English, 4 for a student loan representative, 1 again for the type of loan, then I'm back to pressing 4 for a loan representative. It's an infinite loop!

I try hitting 0 for an operator but then I'm prompted to give a 4 digit extension for the party I want to reach.

<comment><USER23> It could be that the pool of operators for your type of loan is empty (i.e. they're all offline or engaged), and the app is set to automatically let you try again with some other department.

Just going with Occam here, but I've seen a couple of callcentre call-routing systems and the potential for misconfiguration is fairly high.

<comment><USER24> Hanlon, actually. Just for the sake of terminology: [http://en.wikipedia.org/wiki/Hanlon's_razor](http://en.wikipedia.org/wiki/Hanlon's_razor) . It keeps me sane.

</comment></comment></comment><comment><USER25> Great article. This reinforces the "Data informed, not data driven" mantra - you can optimise a feature on your site for a single metric but always take the human effects into account.

It also shows the importance of talking to your users in person. An A/B test may prove that ticking a box by default will get so and so many more users opting in, but it can't show you the look on their face when they realize what you just did to them.

</comment><comment><USER26> One large claim made here is that while Dark Patterns may increase subscription rates, they hurt brand image. Are there any scientific studies measuring the magnitude of such damage? Perhaps the occasional irritation is worth 5 others "duped" into accepting more advertising.

</comment><comment><USER27> Enjoyed the article, but I had to read it using the Clearly extension because the native web page is extremely laggy for me. I'm on a Win8 machine running current Chrome. It seems like such a simple design but hot damn does it chug when I scroll.

<comment><USER28> That's probably because it's a 15MB page including all the assets -- Somebody doesn't believe in jpegs.

The page still downloaded for me in 2.5s though, so I have to give the guy some credit for having a beefy host.

<comment><USER29> I think it may have to do with the fixed 'border' the entire page has. It is interesting though how Chrome chokes and Safari glides, though with choppy repositioning of the fixed border on scroll completion.

</comment></comment></comment><comment><USER30> Very nice article. ethics! this is the problem of our society. the next article should be about making people sensible. How to reward them for been responsible. The thing is people don't care about their live. Managers change jobs, people accept NSA... Might be intresting to compare Customer-Live-Time- Value und Business-Model-LiveTime-Value. What if they knew that the bomb will be nightmare? I would love to see numbers? How about calculating Update-Costs of the SW to "how about having a new business model". The aren't these "dark pattern" businesses VC driven?

</comment><comment><USER31> This reminds me of the android ui for turning of WiFi when the screen is off. It used to be on one of the settings pages. Now you have to go to settings, WiFi, menu, advanced. There are numerous articles in the Google index of people having trouble finding this option. It makes a WiFi only tablet last for a very long time without recharging if you don't use it too much. Why would they want to hide that option?

<comment><USER32> Kind of prefer it is hidden myself. As a developer with apps that sometimes upload and the like in the background, I don't want countless emails from users who have flipped that switch and can't get their scores to post or whatever.

</comment></comment><comment><USER12> If you want all these patterns collected in one page, try booking a flight with Ryanair.

</comment><comment><USER33> in iOS7 Advertising is in Privacy. Maybe apple are taking notes.

<comment><USER34> Stole the words right out of my keyboard. This is fixed, just not deployed widely yet.

</comment></comment><comment><USER35> Not to defend but for context most of this stuff isn't new and just looks like the direct marketing industry applying their well-honed scammy techniques. If you look at the old record and book clubs that used to advertise in magazines it's the same story.

</comment><comment><USER36> I actually had to design one of these dialogs for LinkedIn for the new who viewed my profile when we flipped it to a tit-for-tat system (you show me your name and I'll show you mine).

We spent weeks changing the language to be as clear as possible without being overly verbose. I admit that the first (unreleased) rev probably was a bit shady, but in the end we ended up with something that's primary goal was to inform.

I'm super glad we went that way too. Being upfront and clear turned out to be the way to go. Sure we didn't get instant benefit like you'd get with an opt- out, but the conversion rates were very good even when we spelled out what we were doing.

<comment><USER37> What happens if you keep the setting off most of the time, and only switch it on for a few minutes to check out your profile visitors, then switch it back off? Would you still stay anonymous (unless others happen to check their visitor lists in those few minutes?)

<comment><USER36> It only starts showing you views since the time you switch from being invisible to prevent gaming the system that way.

Also, changing your profile visibility setting only affects your visibility on future visits to people's profile pages, not past visits.

</comment></comment></comment><comment><USER38> All I'm going to say is that even though it's awful The Ladders have all those tricks, they're successful.

Not saying the ends justify the means, but I wonder how their business would look otherwise.

<comment><USER39> Well that's the kinda the point of Dark Patterns? Companies use them because they work. They are unethical, but they achieve success (in the short term at least, sometimes long tem). This is why there is law, to level to play in field so the ethical groups can be not disadvantaged.

<comment><USER40> Except, law is invariably perverted to provide an advantage to a select group.

<comment><USER39> Sure, _bad_ law. I'm not saying law is perfect or flawless. There's a ton of bad law. We should fix the bad law. Unfortunately making law is tied up to politics and PR and minefield of stupidity that is.

</comment></comment></comment></comment><comment><USER41> If you're making an empirical argument that these techniques provide more harm than good, you need evidence. If you're making an argument that they are just evil and if you do them you should have trouble sleeping at night, that's another argument altogether. I'm not sure which of these two arguments the article is trying to make, but it's very short on the empirical side.

<comment><USER42> It's an ethical and aesthetic argument about what makes a good design, brand, or business.

</comment></comment><comment><USER43> >"Brand relationships are like human relationships."

No. Brands, corporations, and other legal fictions are not human. They're tools explicitly designed to generate profit. This is their fundamental purpose, and as such, they can never bear any significant resemblance to human relationships.

Aside from that, it's certainly an excellent write up. And I like the term too: Dark Patterns.

<comment> grey-area I found this statement confusing at first too, but perhaps the way to look at it is that most customers do treat their relationship with brands by analogy to human relationships, whether they should or not.

We get mad at brands, vow we'll never use them again, break up with them, come back to them, expect them to behave coherently, criticise the behaviour of one representative as if it were the firm as a whole, demonstrate our loyalty to them in the hope of reward, and generally treat them as human counterparties in a relationship. Of course none of this is realistic or justified, but if you're running a company it's not something you can ignore.

If you're a user/consumer/customer of course, it makes sense to step back and realise that your loyalty means nothing to a corporation, they are not a person but composed of people, that they have their own internal goals, and they are rewarded by shareholders for some behaviour we'd call sociopathic in a person.

</comment></comment><comment><USER44> Amazing post. I have a pitch for a startup: It's an NGO which regulates email- marketing. To receive a certification of fair practices you have to abide by certain rules.

Users can see a badge indicating that you are a member or not. Eventually gmail and others will have to add a setting on whether to allow emails from non-members or not and until then, browser extensions will do the work.

Like?

</comment><comment><USER45> So what is the final state of the switch be if you want your self NOT to be tracked or reduced the amount of tracking : OFF or ON ?

<comment><USER46> You want it to be ON

</comment></comment><comment><USER47> I thought in the EU you're legally required to do opt-in. You're not permitted to do opt-out.

How can the UK Post Office do opt-out?

Is this some UK exemption from the EU law?

Or is it the typical government exemption from its own law (like e.g. how politicians exempted themselves from the US CAN-SPAM law)?

<comment><USER48> Third party must be opt-in, but first party can be opt-out, that's why they do the alternate "opt-out opt-in" thing.

In fact a lot of companies I've come across do it this way, you see it on physical forms too.

</comment></comment><comment><USER49> Or you could be like Facebook and just ignore request to unsubscribe by hitting their unsubscribe button.

</comment><comment><USER50> Does this site really need to be over 15MB large?

<comment><USER51> Well, considering 97% percent of the page load is images (average size: 400 kB), and the page contains slides that explain and complement the article... yeah, I think it does!

<comment><USER50> The page renders really laggy for me. Seems like it'd benefit from dynamically loading in the images, or at least user more compression on the images. Also, the images have been shrunken to fit the page. They should just be that smaller size to begin with; you could probably get the page down to 8MB with minimal loss.

</comment></comment></comment><comment><USER52> How intentional.

</comment><comment><USER53> way too many images - whats the TLDR on this?

<comment><USER54> TL;DR: RTFA.

</comment></comment><comment><USER55> This article is complaining about the steps apple took to prevent guid tracking but framing it as being done explicitly to trick the user.

<comment><USER8> I would suggest that the article makes a very good case for it being done to explicitly trick the user. Apple particularly gives a huge amount of consideration for making an intuitive and obvious UI. It's not a big leap to assert that in this case, they've made it as difficult as they can to opt out while still offering the choice.

<comment><USER55> More than likely it was done to protect the users privacy while keeping the exact same user experience. The protections were made behind the scenes with additional options made available to the user, but disabled by default.

The transitions from guid had the potential to break many apps so encouraging users to disable it would have likely caused many unintended side effects in addition to cluttering the ui and annoying users with unknown options.

<comment><USER56> I've read this three times now and I'm still not sure I get it...

<comment><USER57> >I've read this three times now and I'm still not sure I get it...

For about ten years now, every time I use Paypal for an eBay payment, I'm interrupted to choose a $10.00 off opt-in for setting up credit, I have to click-thru this every time. By now, I've done this several hundreds of times.

I'm just a fish trying to stay out of their double-trap dark pattern slippery slope trammel net.

<comment><USER58> I've been on google+ since the beginning (2nd half of 2011).

For the whole 18-20 months whenever I have gone to google+ on the web it has first had an obstacle "Find your friends" page asking me to spam all my contacts about google+.

It still does it even today. There is no opt-out or "stop asking me to do this" checkbox. Even though I am an active plus user with posts and comments, it still treats me like a first timer.

I'm trying to get into google+ but there is no way I'm going to spam my friends.

That it has been doing this to me hundreds of times for nearly two years is unbelievable.

<comment><USER57> Another one. HN subject titles often link to the New York Times. Not having a subscription and offended with their offensive dark screen blinding pop-up `dark pattern' `hook' \--free, or otherwise-- I now only read the respective HN comments.

NYT coverage is usually good, I miss it, but now BBC, Reuters, Guardian, rt, Der Spiegel, HN, are my primary news feeds.</comment></comment></comment></comment></comment></comment></comment>


On the problems with automated contact tracing - <AUTHOR> https://twitter.com/doctorow/status/1296248163653660672 <comment><USER2> This is spot on and I think the reason why no country has been successful at digital contact tracing. The human factor is so important. In the UK we have recently scrapped our big, centralised contract tracing service because, among other reasons, people have been conditioned by years of robocalls to ignore out-of-area calls. So they have switched to smaller, local contact tracing centres embedded into the community. Plus, it's easy to send someone round if they don't pick up the phone.

<comment><USER3> > people have been conditioned by years of robocalls to ignore out-of-area > calls.

This is so true!

<comment><USER4> In a somewhat recent local election, polling was showing the incumbent party winning easily. Of course, on election night, the left leaning party won and displaced the party that lead my province for 40 years, a huge upset that no one predicted.

It was also an election full of robocalls, mainly by the incumbent party. My thoughts on why polling was so off is that the only people answering their phone were those that supported the incumbents.

If you are a person supporting Party X and they are calling each day with a pre-recorded message, you may be more likely to answer. You are more likely to continue to answer your phone and respond to a pollster. If you support Party Y and the only phone calls you get are robocalls from Party X, you stop answering your phone, including those calls from the pollsters. Therefore the pollsters are actually measuring who is willing to answer their phone.

</comment></comment></comment><comment><USER5> Link without all those ads.

[https://mobile.twitter.com/doctorow/status/12962481673194823...](https://mobile.twitter.com/doctorow/status/1296248167319482375)

Don't really follow his logic there. Contact tracing is a manual process, thus digital contact tracing apps bad because of that one Michigan app that's actively stupid and a few other failed attempts? That whole argument seems to make major leaps and ignores more sensible approaches to the degree that I'm unable to contact trace whatever point he was originally trying to make. Sure, some people took the "just throw tech at it without thinking" approach but that happens everywhere these days.

<comment><USER6> The point he's making is that "just throw tech at it without thinking" is this industry's _only_ approach, and it's an approach that, in a situation like this, not only can't help but can't even help but be actively harmful.

I have some relevant experience here. Back almost a decade ago, while I was working as a staff engineer for a local medical school's genomics institute, I was briefly involved with some tooling work for a project that aimed to characterize the spread and prevalence of various STDs among Baltimore's at- risk youth. Contact tracing was of course a major part of that, but where today's (or 2012's!) tech industry would just shrug and stick New Project.xcodeproj in front of an unsecured Mongo store, the doctors and public health professionals running _this_ project built _free clinics_. Yes, there was an app involved - a tablet app for _doctors_ to use, in documenting what their patients told them about whom they'd been with, when, and so forth. But, unlike some, they knew better than to assume that any app could by itself do the job for them, rather than they themselves needing to go out and serve the community they wanted the chance to learn more about.

You know. _Contact tracing._ As opposed to, slapping together a pile of React Native and throwing it on an app store in hopes of grabbing some VC bucks and making a get-rich-quick exit - or even Apple and Google getting together and actually engineering something that's technically very sound and _still totally useless_ because it can only ever be purely quantitative in a single dimension, physical proximity, and - as I learned when I was asked to help out with building data models for it - contact tracing is not and never can be a one-dimensional problem.

That's the point Doctorow is making here. And for all that I'm not a big fan of the guy, in this case he's nailed it dead square in the bullseye.

<comment><USER7> > The point he's making is that "just throw tech at it without thinking" is > this industry's only approach...

More subtly, his point is that tech is choosing to do what is easy, not what is necessary.

Tech has had some great successes doing this in the past (see also _Worse is Better_ ). It isn't a very good approach though when the relationships are mandatory and the data sensitive.

<comment><USER6> Sure.

Looking at it in the most generous fashion possible, it's an example of what happens when the low-hanging fruit lasts so long that people forget what ladders are for.

Looking at it with the experience of two decades spent in and around this industry, it's the latest in a long and depressing series of reasons why unicorn factory farming needs to die.

</comment></comment></comment></comment><comment><USER8> If we actually wanted contact tracing to work, we'd go with an all of the above strategy, including telling people when they get their positive test to go ahead and immediately call everyone who they can think of that they've had contact with in the past few days.

Analog contact tracing is great because if the tracer is good, they can help evaluate the risk of a situation -- duration of exposure, mask usage, distance, etc.

Digital contact tracing is great because it can potentially reach people who the case doesn't know personally or have contact information for. You're not going to be able to provide a phone number for the person sitting at the next table at the restaurant.

Self contact tracing is great because it can potentially happen faster.

Of course, in order for contact tracing to have much value, you have to have a place for people to quarantine. That seems to be the missing link in many places. There was just a story in the NYT about an immigrant family who lived in a two bedroom apartment with nine people. The mom caught COVID and tried to isolate by sleeping in the closet, but this was not successful. If governments want to get serious, they need to provide out of home quarantine free of charge. This was very successful in Wuhan as a mandatory program, but IMO you would get good compliance if you just told people that they should go to a free hotel room for two weeks and that meals would be delivered.

<comment><USER9> >> call everyone who they can think of that they've had contact with in the past few days.

How do I call the subway travelers? How do call the people at the pizza parlor? How do I call the people who bumped me in line at the grocer?

<comment><USER8> Like I said, this is why you want all of the above. Digital contact tracing can do that.

</comment></comment></comment><comment><USER10> This is, like, just wrong, at least for the implementations I'm familiar with. The intent of the decentralised apps used in Europe is to supplement manual contact tracing; I don't think anyone has claimed they can replace it. They're useful for the case of, say, the person who was sitting behind you at the restaurant for an hour, who is at risk but who the manual tracer won't find.

I would agree that dodgy non-state-sanctioned centralised ones are a problem, and should arguably be banned. But they're far from the whole story.

</comment><comment><USER11> Everyone looks at automated contact tracing as an alternative to manual contact tracing, where really they should complement each other.

For a successful app a government needs to weave together both into a seamless user experience.

</comment><comment><USER12> A lot depend on implementation of the app (is more a concept, is like putting Clippy along some modern well-tought assistant and saying that everyone in every possible situation are bad), and a lot on the stage of the pandemy on a country (or potentially delimited enough region). And also how easily/fast you can get tested and how that scales and how responsible is the average citizen.

In US or Brazil, where the virus is very widespread, it will give you a lot of false alerts (and a few right ones). In countries where the cases are relatively few and spread apart, having good warnings about being close enough with some of those rare cases may be the key to avoid spreading it. Once exposed, you can go around up a lot of days without developing symptoms, an early warning could limit how you interact with others at the very least (and getting yourself tested if in doubt).

But a bad implementation is not a reason to discard the concept, at least, not that alone.

</comment><comment><USER13> > It doesn't tell you about the circumstances - like, was it one of the people > at that eyeball-licking party? Or someone in the next car in a traffic jam?

For most people I suspect that this wouldn't really make much difference.

In my state, approximately 1% of the population is known to have had COVID. That's over the whole course of the pandemic so far. I haven't seen the numbers for number of active cases, but looking at the total case curve, I'd estimate active cases are at least an order of magnitude less.

My chances of actually encountering anyone with COVID are pretty low when I'm out, and I try to minimize the number of times I go out. Even if everyone in my state were using an automated contact tracing app, I'd probably only be getting an alert once a month or so, and that's probably overestimating it.

So, once a month or so I'd need to get a test, and then stay at home for a day waiting for results. Since periodic testing is actually a good anyway, this would not be very disruptive at all. The only real disruption for me would be that for a test in response to an alert, I should stay at home until I get the result. For a test done as part of general periodic testing, there would be no specific need to stay home waiting for the result.

But with alerts only happening every month or so, it would not be a big deal even if most of the alerts are from traffic instead of eyeball-licking parties.

And that's assuming I respond to each alert by getting tested and staying home a day. Instead, I could think about what I did the last two weeks. If I've only encountered people 2 meters away, in passing, with both of us wearing masks (which is in fact true for most two week periods for me), except for people in other cars on the road, then I could ignore the alert.

Edit: I looked up the data for my county. We have 70 active cases in a population of 276000, so about 0.03%. There have been 923 total cases, so about 0.3%.

</comment><comment><USER14> The Covid App in New Zealand doesn't use the bluetooth apple/google method. Rather, it is based on QR codes that are printed and posted by every business.

I was initially pretty disappointed in this approach, but I have changed my mind, and now agree with Cory Doctorow, and the New Zealand method.

The app just keeps a (local, temporary) diary of when/where you check in. That's pretty much it. If you talk to a contact tracer, you can send them your diary as a way to augment other sources of information: Your memory, your bank statements, your transit card info, etc.

I was disappointed with the app because I thought there was no way it would be effective as a complete contact tracing solution. I now understand that of course _no_ app could do that. Better to have something modest that fits nicely into a wider strategy.

</comment><comment><USER15> This could have been a nice little writeup of arguments in the decentralized tracing vs centralized location-based tracking approaches. But it is framed in the introduction as an argument in favor of manual tracing vs apps in general and fails massively to live up to that claim by focusing exclusively on the badness of central/location.

Centralized, geo-based apps have a million ways of failing at privacy and real life implementations will likely strike a few? Who would have guessed, that's why the proximity-only decentralized approach exists.

And those "most at risk students" who would be least likely to actively use a privacy-encroaching location tracker? They'll be invisible to manual contact tracing for exactly the same reasons. The situation of those people would make a very good example for how decentralized, proximity only apps can not only be better than location tracking but also play an important role stepping in where the manual approach has blind spots. But somehow it's used as an argument against apps in general.

<comment><USER16> It's Twitter. You were expecting a nuanced, carefully planned and well thought out essay?

This tweetstorm by Cory is one of the reasons why I keep trying to persuade people to get a blog (again) rather than rambling at length via tweets. A blog post demands at least a minimum of planning and upfront thought about what you want to say, as opposed to being a stream-of-conscious sequence of bite-sized quotes, hopefully connected. Now perhaps some people _do_ plan their tweetstorms carefully, but the medium hardly encourages that or lends itself to a process of vetting, rewriting and editing.

Twitter has its uses. Long (for some value of 'long' here!) form writing is not that.

<comment><USER17> While I don't disagree in general, worth pointing out for anyone who hasn't used Twitter "threads" that you can now write all your threaded tweets before posting the first one - so it's not _quite_ as bad as when you had to write a tweet, send, reply to it, send, repeat etc

</comment></comment></comment><comment><USER18> What if students swap phones, or pick up a burner phone? They can then go off campus with impunity. Apparently phones are used as student I.D. at Albion, but that won't stop anyone. Hide your phone near the entrance to campus when you leave.

Without surgical implants or home incarceration bracelets, you can't realistically track people who don't want to be tracked.

<comment><USER19> > Without surgical implants or home incarceration bracelets

Don't give them ideas ...

</comment></comment><comment><USER20> If only this Twitter user had a blog to write on.... (/S he is a famous author and tech blogger and should know better).

Or if only each tweet had, instead of just a page number, also an indication of total number of pages. Like 10/15 ("oh, only five more tweets") instead of a useless count 5 ("oh I'm on tweet number five, that's of no use to me as I've read the previous four")

In the end I gave up after a few tweets . I would have liked to be able to say I gave up half way but there was no way for me to know that.

Edits: there are 23 tweets.

<comment><USER21> I get what you are saying, but there's something to be said for going where your audience is. I'm just glad this wasn't on Tik Tok.

Edit: Am I hallucinating? I could have sworn the first time I opened this, it went to [https://threadreaderapp.com/thread/1296248163653660672.html](https://threadreaderapp.com/thread/1296248163653660672.html)

</comment></comment><comment><USER22> I think the whole idea of 'contact tracing' isn't really _that_ valuable in the long term anyway. New Zealand recently broke their 100-day free streak, and Australia has implemented strict lockdown measures, as well as South Korea.

Most important is understanding the virus in the community - getting people tested (which they don't have to do), and spotting trends (positive person lives in "X" community, we get data on how many people also test positive in the same place) is more important than knowing whether you were in close contact with your friend Betty or where you were at 13:37 5 days ago.

It's hilarious Google/Apple thought "hmm yes, Bluetooth! The perfect protocol to help prevent the spread of a pandemic", and it has spectacularly, and utterly failed. Their APIs are an embarrassment and should've been removed a long time ago. Their arrogance in thinking that crappy protocol can have any part to play in human health/wellbeing is just mind mindbogglingly idiotic.

Apps will not help a pandemic, apart from in the US where they masturbate over your data and want to know your location every second, who your contacts are, who you talk to, what messages you send them, how they can profile/target you better for ads, and how they can feed "big data" machines to later fuck you/others over with more measured/accurate data or AI systems (like clearview) for law enforcement. Hence the whole no US-wide "GDPR" thing because they _really_ want your data.

If your testing capability is low, and if people are not being tested, then everything else is a waste of time. Then you add in societal failures like not getting sick pay, or paid time off if you've got the virus, or incentives to work regardless and you realize 'contact tracing' is just another data gathering excuse.

Because we don't 'contact trace' the flu, or other sicknesses, we accept them as they happen and are a part of life. As the Coronavirus dies down, it'll be in the same bucket, where people just have it, get over it, and that's all there is to it.

Contact tracing has failed in any substantial form, as the recent outbreaks across the world have demonstrated.

<comment><USER23> I hate to rain on a good rant, but do you have any actual data to back up all these strong assertions?

Contact tracing (the old fashioned kind) works quite well when it's done aggressively and case counts are low. However, for most of the Western world neither is true, and throwing Bluetooth at the problem isn't going to help. Neither can it magically prevent infections from people who don't know they're contagious, which we've come to realize is a significant feature of how COVID spreads.

<comment><USER24> Agreed, Australia and NZ are doing aggressive manual contact tracing (in addition to the app that was released in Australia in April).

Last I checked NZ had managed to link all but two of the cases back to the one source.

Victoria (AU) likewise has managed to trace the majority of cases to a breach in the quarantine hotel, because security guards weren't wearing PPE and were sharing a cigarette lighter (if I am correct).

It's part of a tool chest, as is the lockdown, the masks. As much as I am glad not to be locked in Australia/NZ right now, I am proud of how they've been handling it in general.</comment></comment></comment>


C+= gets support of feminist groups. Not satire after all? - <AUTHOR> http://www.theregister.co.uk/2013/12/19/feminist_software_foundation_c_plus_equality/

<comment><USER2> [https://bitbucket.org/FeministSoftwareFoundation/c-plus- equa...](https://bitbucket.org/FeministSoftwareFoundation/c-plus-equality) is also unavailable.

</comment><comment><USER3> Obviously satire.

<comment><AUTHOR> Now, somebody please tells it to the Feminists before they make complete fools of themselves...</comment></comment>


Getting Docker running on a high-end 64-bit ARM gaming console - <AUTHOR> http://blog.hypriot.com/post/getting-docker-running-on-a-highend-arm-gaming-console-for-fun-and-profit/ <comment><USER3> What's the open source driver situation like for these things? Is it worth supporting nvidia by buying one of these, or are they likely to crack down on developers to keep this thing closed? It is an awfully interesting device, but I'd hate to buy one and find I could only really use it as an android device, especially after reading reviews about that lackluster functionality.

<comment><USER4> NVIDIA has opensource Linux support for its SoCs in the form of L4T - <USER2> for Tegra.

Also checkout Tegra Shield Tablet running Ubuntu natively. [http://forum.xda- developers.com/shield-tablet/development/ru...](http://forum.xda- developers.com/shield-tablet/development/running-ubuntu-natively-shield- tablet-t2985238/post57775988#post57775988)

<comment><USER3> Wikipedia says L4T contains proprietary drivers, but nvidia's having a third party make experimental open source drivers for mainline linux. Is that information out of date? The sources are from 2012 and very well could be. I'm trying to look for info but there's a lot of uninformative crap out there.

<comment><USER4> AFAIK, in the above, the bit about experimental open-source drivers for mainline Linux is the latest news update.

Note that this last bit proprietary blob is only the low-level GPU driver. Linux device-drivers of the other controllers of the Tegra X1 SoC already appear to be available in source form at [https://git.kernel.org/cgit/linux/kernel/git/tegra/linux.git...](https://git.kernel.org/cgit/linux/kernel/git/tegra/linux.git/) (search for 'Tegra X1' or 'T210' or 'Tegra 210').

Also [https://developer.nvidia.com/embedded/linux- tegra](https://developer.nvidia.com/embedded/linux-tegra) contains source- code(with supporting documentation) for the non-kernel parts like for boot- loader(u-boot), OpenCV, OpenGL, X11, Gstreamer and even CUDA on Tegra X1.

<comment><USER3> That's cool. And very promising. I wonder why they decided to do it this way for the tegra project, and if that approach will spread.

</comment></comment></comment></comment></comment><comment><USER5> Here is a set of _arm64-ready_ Docker images

      docker run -it --rm multiarch/busybox:arm64 /bin/sh
      docker run -it --rm multiarch/ubuntu-core:arm64-wily
      docker run -it --rm multiarch/ubuntu-core:arm64-trusty
      docker run -it --rm multiarch/ubuntu-core:arm64-utopic
      docker run -it --rm multiarch/ubuntu-core:arm64-vivid
      docker run -it --rm multiarch/ubuntu-core:arm64-xenial
      docker run -it --rm multiarch/ubuntu-debootstrap:arm64-wily
      docker run -it --rm multiarch/ubuntu-debootstrap:arm64-vivid
      docker run -it --rm multiarch/ubuntu-debootstrap:arm64-trusty
      docker run -it --rm multiarch/debian-debootstrap:arm64-sid
      docker run -it --rm multiarch/debian-debootstrap:arm64-jessie
      docker run -it --rm scaleway/ubuntu:arm64-wily

Source code: [https://github.com/multiarch](https://github.com/multiarch)

</comment><comment><USER6> Would be great if it were possible to keep Android TV on there, AND run Docker containers at the same time...

<comment><USER7> It is possible to run Android on something much closer to a Linux kernel, eg with namespaces and cgroups and other useful features normally missing from Android. So it might be possible. Not on a stock Android kernel though.

</comment></comment><comment><AUTHOR> @Nvidia: It would be awesome if we could get in contact with someone from Nvidia to push this further... anybody?

<comment><USER4> From the kernel commits Alexander Courbot appears to have worked on it recently. Even going back to the early days of previous-gen Tegra K1 support. [http://lists.freedesktop.org/archives/dri- devel/2014-January...](http://lists.freedesktop.org/archives/dri- devel/2014-January/053028.html) Also Thierry Reding is the Maintainer of the Linux kernel Direct Rendering Manager framework support for Tegra. [https://git.kernel.org/cgit/linux/kernel/git/tegra/linux.git...](https://git.kernel.org/cgit/linux/kernel/git/tegra/linux.git/tree/MAINTAINERS#n3115)

I'm sure the relevant devs hang-out on the LKML (if not here...) [http://vger.kernel.org/vger-lists.html#linux- tegra](http://vger.kernel.org/vger-lists.html#linux-tegra)

<comment><USER8> The linux-tegra mailing list is the canonical communication channel when it comes to upstream Linux kernel development.

I should add here that both Alex and I focus almost exclusively on upstream development, which may or may not be what you're looking for. On one hand, upstream is where most of the new technologies are developed, so it's the "bleeding edge" from that point of view. On the other hand the amount of manpower that goes into upstream development is limited, so the upstream kernel might lack a bunch of features that you might be interested in. That said, we are working very hard on getting upstream closer to L4T/Android from a feature perspective and would very much welcome contributors.

We also have an IRC channel (#tegra on Freenode) that we use for realtime communication. If you're interested in chatting with us, feel free to drop by.</comment></comment></comment>


Is Mike Hubbard the Most Corrupt Politician in America? - <AUTHOR> https://newrepublic.com/article/133504/mike-hubbard-corrupt-politician-america <comment><USER2> Assume article means of the ones that have been found out?</comment>


Success Amnesia - <AUTHOR> http://shervster.tumblr.com/post/22950307156 <comment><USER2> We live because we enjoy living, everyday, every hour and every second, not limited by the day of success, nor shall we be burdened by the occurrence of failure. We work because we enjoy doing so; we enjoy to know the fact that we are spending our time meaningfully. Success serves the role of imforming us that we are heading to the correct direction, and failure just tells us to change our direction. That's it. Nothing much.

</comment><comment><USER3> Yeah, that works very well for me. No worries, very much happiness plus while for reflection on fail. I like it. :)

</comment><comment><USER4> Isn't it an optimization problem?</comment>


Instant API early access 15$ for a year of API Creation, Hosting and Publishing - <AUTHOR> https://twitter.com/InstantAPI/status/428873826219225089 <comment><AUTHOR> Feel free to ask questions here.. -Scott</comment>


Double Cross System - <AUTHOR> http://en.wikipedia.org/wiki/Double_Cross_System <comment><USER2> "A crucial aspect of the system was the need for genuine information to be sent along with the deception material."

An important part of misinformation is that truth is being fed in the same proportion as lies. If everything is a fabrication, that alone gives out valuable information.</comment>


Teks: Go template based outputs for your CLI - <AUTHOR> https://github.com/kasvith/teks <comment><AUTHOR> Docker/Kubernetes provides a nice way to output data using custom go templates.

Inspired by them this library also provides custom outputs to your own command line tools.

Setting up teks and making your output fits into go templated output can be done in a glimpse.</comment>


Turning a Wii Balance Board into a net-enabled bathroom scale - <AUTHOR> http://www.stavros.io/posts/your-weight-online/?

<comment><USER2> What's so striking to me is that the barriers to prototyping these peripherals for general purpose use has been lowered significantly. It was not long ago where it took days of hacking to connect a Wiimote to your PC, and even then you probably wouldn't get full functionality.

Good work and thanks for sharing!

(also, obligatory "now the NSA can estimate if they can chase you on foot")

<comment><AUTHOR> They'll never catch me! Muhahaha!

Seriously, though, that's because many people have put many hours of work into reverse-engineering protocols and writing libraries, which is fantastic.

This wouldn't be a two-hour job if so many people hadn't open-sourced their work.

</comment></comment><comment><USER3> This is neat.

Sort of relatedly, I bought the Withings Wifi scale about a year ago, which does the same thing. I really like it. It is easy to go back and look at weight trends without having to obsess too much about the number each day.

<comment><AUTHOR> Yeah, exactly. My normal scale was missing the big picture of how my weight fluctuates month-to-month. I do need to implement some smoothing, though, as the raw daily value isn't as useful.

<comment><USER4> Daily weigh-ins can be very consistent if you weigh yourself in the morning at about the same time after using the toilet, and before eating/drinking anything.

<comment><AUTHOR> Well, it looks like they vary by -+0.5kg, since this is what I'm doing here: [http://www.stavros.io/misc/weight/](http://www.stavros.io/misc/weight/)

That's why I want a smoothing algorithm, but the one I found here[1] is giving me a bit of a problem (I can't see why the data points are being squeezed).

[1] [http://www.swharden.com/blog/2008-11-17-linear-data- smoothin...](http://www.swharden.com/blog/2008-11-17-linear-data-smoothing-in- python/)

<comment><USER4> Relative to your overall weight, that doesn't seem like it's highly variable, but I've never been much for stats. Try weighing yourself daily after dinner and see the difference.

How much water do you drink per day? I have found that in times where I'm not drinking enough water, my weight will fluctuate more.

<comment><AUTHOR> Nah, it's not that variable, it just fluctuates a bit. By "it's not as useful" I mean that weight loss/gain happens at larger timescales, so you can't look at normal daily noise and say "omg im so fat".

I think the noise has more to do about the time you last drank water (right before bed, for example), also the time you last ate (the later you eat, the more food you'll still be digesting when weighing yourself). It's not a problem by any stretch, it's just normal data variance.

</comment></comment></comment></comment></comment></comment><comment><USER5> This is a great example of innovation at work. And I really like the fact that he removed several dependencies from the existing solutions. You have to love that :)

<comment><AUTHOR> Yeah, I think they were a bit unnecessary. The original author was using pygame for event notification (a queue would probably be enough) and a thread to receive the events. I just switched it to call methods on a different class, hopefully it will be more useful to people now!

</comment></comment><comment><USER6> Excellent work. How accurate is the weighing with the averaging that you seem to be doing?

<comment><AUTHOR> I'm only doing histogramming, so, as long as you don't move a lot, it's pretty accurate. The most frequent value will have 100 samples logged and the second most frequent will have 20, so that's quite the difference. I will compare it to my normal scale when I get back home, but it seems to consistently have a +1kg from that one (a Tanita something).

</comment></comment><comment><USER7> Sort of related, the newer WiiFit U coming out Nov 1st will have social features while trying to lose weight with others online [http://wiifitu.nintendo.com/](http://wiifitu.nintendo.com/)

I'm just posting it here because I really[1] like WiiFit and I hope others give it a try, you can truly get a workout from it and lose weight. I hope to make a cool promo vid or something about WiiFit U.

1\. [http://blog.sanriotown.com/minusworld:hellokitty.com/2011/06...](http://blog.sanriotown.com/minusworld:hellokitty.com/2011/06/19/wiifitplus-%E3%81%AF%E3%81%84/#more-41)</comment>


Thoughts on the aurora shootings from a startup cto with bipolar - <AUTHOR> https://plus.google.com/107304794162956058165/posts/j7R5Du7zZ2J

<comment><USER2> For anyone unfamiliar with it, bipolar disorders don't _necessarily_ include psychosis or psychotic features. There are varying degrees and many people with bipolar disorders are psychosis-free.</comment>


Is it OK to Hire People from Your Friend's Company? - <AUTHOR> http://bhorowitz.com/2011/02/23/is-it-ok-to-hire-people-from-your-friend%E2%80%99s-company/

<comment><USER2> It is worth noting that, as pointed out in <http://www.justice.gov/opa/pr/2010/September/10-at-1076.html>, the US Department of Justice recently forced 6 prominent high tech companies to start actively recruiting from each other, because failing to do so was anti- competitive.

And that was in a case where they were hiring from each other, but only when approached as was the case in the example.

My attitude is that if your friend is a grown-up and understands how business works, your friendship can last. If your friend is not mature enough to handle the situation, that friendship was probably not worth maintaining. Certainly not at the cost of losing out on a stellar employee who wasn't going to stay with your friend anyways.

<comment><USER3> Even if you want to be totally Machiavellian about it, the value of a friendship is not necessarily proportional to their maturity.

<comment><USER4> I have a hard time categorizing that attitude as Machiavellian since it promotes treating all potential recruits the same in the hiring process.

<comment><USER3> I wasn't categorizing anything, I was just framing my response, which was to this line in particular:

> _If your friend is not mature enough to handle the situation, that > friendship was probably not worth maintaining._

</comment></comment></comment></comment><comment><USER5> > _It is important to note that just about all of these kinds of policies > violate the Right to Work laws in California._

So, what, it's OK to break the laws that protect employees if you're doing it to help a friend?

<comment><USER6> I tend to value my friends and my own moral code much more than I value the moral code of lawmakers. I won't say it's OK to break the law, but when there is a conflict, I will always recommend that you follow your own higher law. Of course, this will also be dependent on the legal risk involved; I wouldn't do time to avoid an [minor] insult to a friend, but I would accept the fine or other slap on the wrist that I expect would be given in this particular case.

<comment><USER5> > _I tend to value my friends and my own moral code much more than I value the > moral code of lawmakers._

We're talking about a law made to protect employees. I don't want to work for a CEO who values his friends over his employees' legal rights.

There's also the point that a CEO who follows this advice risks exposing his company to a lawsuit, which is a violation of his duty to the company's shareholders.

<comment><USER7> It could be argued that the CEO was doing exactly his duty to the shareholders by protecting a very important relationship. Ben used the word friend but made it very clear that this also meant critical business partners.

<comment><USER5> Good point.

</comment></comment></comment></comment></comment><comment><USER8> I wonder how a16z would feel about an upstart portfolio company turning down world class talent in the name of friendship? Obviously, don't hire someone if it will sour a relationship that is financially important for your company, but are you really a great entrepreneur/ceo if you're turning away awesome people for some fuzzy feelings you have with another ceo?

<comment><USER9> I think a16z really really approves of "good guys" - ben horowitz wrote a really inspirational blog post about the HP CEO being sacked and how leaders need a moral compass.

</comment></comment><comment><USER10> The ecosystem described here strikes me as frighteningly provincial. If you've backed yourself into a niche so small that there are only a few engineers worth hiring (implausible), then your whole company is at risk every time they cross the street.

Some might cite Steve Ballmer's chair-throwing incident, but that was an employee who was a)going to a competitor and not a friend, and b)not likely to change the overall dynamic between the companies.

<comment><USER11> "If you've backed yourself into a niche so small that there are only a few engineers worth hiring (implausible)"

This isn't that implausible, actually. Hiring is very^2 difficult.

<comment><USER10> I totally agree that hiring is difficult, but I don't think it's because there are so few good engineers. Rather, it is because figuring out whether someone will be a good employee within your particular culture in any expedient amount of time is difficult.

</comment></comment></comment><comment><USER12> Is it OK to hire from your friend's company?

Sure, as long as it is totally transparent to everyone. You can't force people to work for you.

Is it OK to recruit from your friend's company?

Definitely not.

</comment><comment><USER13> The whole post is based on the assumption that if you hire someone from your friend's company, you lose your friend. Maybe I'm just naive, but I think friendship that ends for such a reason is a lousy friendship.

I firmly believe that one should be able to separate business from friendship. For me, this part of the post highlights the flaw in author's reasoning:

 _Here's an easy way to think about the dynamic. If your husband left you, would you want your best friend to date him?_

<comment><USER14> The analogy falls flat, because business attachments are not necessarily the same as romantic attachments. Or friendships.

That said, I agree. It can cause trouble. But is your priority running your business, or is it keeping your friendship alive?

<comment><USER15> The default assumption is that business implies objectivity and logic... at least that was my perspective as an engineer.

However, in practice it seems more often than not... lasting business leaders are highly disposed towards emotion (both towards themselves and others). Combine that with the fact that it's a small world when it comes to relevant leaders... and trading rationality for trust may not burn in the short term, but seems like a bad trade in the long run.

</comment></comment></comment><comment><USER16> I think this line is brilliant:

> _In the end, the social pressure will trump all your brilliant > countervailing logic._

This seems to happen often with thinkers, especially when they're trying to justify a decision.

I think it's really useful to consider social pressure as a separate effect - immune to logical discourse - when you deal with human issues.

</comment><comment><USER17> At the start of his post, Ben Horowitz delineates between between "Important business partners" and "true friends".

The problem with the consensus argument here on HN that _"if the other CEO no longer wants to be friends then it was a lousy friendship to begin with"_ is that we're talking about the former distinction. IE it never was a 'friendship' friendship to begin with.

In other words, it's not that the other CEO is no longer going to have you over for Thanksgiving Dinner but that you may now have strategically pissed of a valuable strategic partner.

Too many variables really to be able to cover a blanket one-size-all rule but I do think I would pass if the employee was in a vital role at a key vendor that would seriously damage my business if the vendor re-negotiated terms or withdrew service. Which they could in spite or even simply out of a perceived new conflict of interest with IP transfer in the hire.

</comment><comment><USER18> Business is business... it would of course be worse if you were recruiting from your friend's company, but in the example given, the CEO in question had nothing to do with the initial interest and interviewing.

</comment><comment><USER19> I think the question of how upset the friend is going to be depends on how big the friends company(s) is. A big company is less likely to take it personally than a 5 person team.

That said, if the only reason for not hiring the person is the potential to upset your friend, then you have a moral responsibility to hire that person, come what may.

I would hope that friends would understand that, especially if you can show that you did not head hunt that hire. But people are not always that straight forward.

</comment><comment><USER20> Hiring from a friend's company is a lot like dating a friend's old girlfriend. It can be totally cool on the surface but totally not cool underneath.

</comment><comment><USER21> I don't see any problem here. I think the article is making the assumption that people only move jobs when they are seriously upset about where they are. In my experience, that simply isn't true: people move on after a few years anyway, just to get a change of scene and/or to protect against "CV typecasting".

I would not be offended by a "friend" (whether a real personal friend or a valued business associate) hiring one of my staff because the staffer has chosen to move on, nor by the staffer choosing to apply for a job at my friend's company if it was a decent place to work. I suspect the only things that would offend me would be sneaky or otherwise unprofessional conduct, such as if the friend tried to use our relationship to prevent me from making some sort of genuine counter-offer to entice the staffer to stay. Chances are that I would not consider someone who would do that either a personal friend or a valued business associate anyway, though.</comment>


Show HN: Building terminal dashboards using ASCII/ANSI art and JavaScript - <AUTHOR> https://github.com/yaronn/blessed-contrib <comment><USER2> Wow this is the coolest thing I've seen in the terminal since I discovered a sparkline bash script. I've embarrassingly used gnuplot's ascii output to realtime chart Cisco network interfaces in a shell I'm writing, this looks 1000x better than gnuplot's output. Thanks for sharing.

</comment><comment><AUTHOR> Hi everyone, I am the author. Let me know if you have any questions or ideas.

<comment><USER3> How much time you spent to do this project. And for what reason you did it? To solve some personal problem?

I really enjoyed it, mostly the world map. Once I was thinking in something similar, I was thinking in create a terminal software to monitor my small portfolio of stocks, and tell me about opportunities on the market. The reason to be on terminal was because I was looking for a more discreet interface running locally.

<comment><AUTHOR> It took me a few weeks, one of them was fully on this project. Most of the time was spent on investigating and improving the different canvas implementations (map and charts work on an html5 canvas abstraction). A lot of the time was spent on false directions but this is expected. One particular direction was reusing Web js libs to do the charting logic but it turned that it is easy enough to implement on my own.

In my day job I author web dashboards (working in HP on performance testing tools) so I thought it would be cool to have those dashboards directly in the terminal. But I would have done it even without this incentive. I do a lot of projects just because they inspire me, check out GifW00t! [https://github.com/yaronn/GifW00t](https://github.com/yaronn/GifW00t)

<comment><USER4> Helicopter FTW

</comment></comment></comment></comment><comment><USER5> It would get really interesting if this combined with the new inline image support present in iTerm2 (only nightly builds for now).

Basically you can do something like :

      ESC ] 1337 ; File = [optional arguments] : base-64 encoded file contents ^G

And then display an image inline along with other text. E.g. that ascii rendering of the world could be replaced by an actual image of the world.

<comment><AUTHOR> I considered something like this but it felt like cheating. The beauty of standard ascii/ansi is that it is available in any terminal without any installation and it also has the same aesthetics / resolution as the text you type. Of course I will watch after iTerm2 progress.

</comment></comment><comment><USER6> This is pretty neat.

I think it's telling that after 50 years, and all the work on GUI's, this is still a good idea.

<comment><USER7> > I think it's telling that after 50 years, and all the work on GUI's, this is > still a good idea.

While definitely neat, I'm not that sure that this is actually a _good_ idea.

I agree that it is telling that this project exists and excites, but I'm not sure what about. Maybe about the poor state of remote GUIs. Generally I consider ncurses (and other non-line oriented terminal stuff) to be an ugly hack. For example a better solution might be if you could easily run an adhoc webapp on a server (or other remote host) and have it tunneled (over ssh) straight to your local browser without needing to manually fidget with tunneling and ports and urls and whatnot. But that would require some scaffolding to make it happen and I don't really see the community moving to that direction.

</comment></comment><comment><USER8> This is really nice! Just built something quick with it and I find it way easier to work with than something like ncurses, though that might just be because I work with javascript alot. Sorta feels like a terminal based d3 in a way, though not as atomic. Not a huge fan of Node for terminal applications (I'd sooner use Go or Ruby), but this alone might make me use it for things people other than me will use.

Do you plan on accepting pull requests? I'd love to contribute to something like this.

<comment><AUTHOR> Pull requests are more than welcome!

<comment><USER9> Also, for reference this is MIT liscensed

</comment></comment></comment><comment><USER10> Neat. One cool thing about this is you could wire up a SSH server to show this when you login. "ssh stats.mycompany.com".

Or you could wire it up to a browser-based terminal emulator like tty.js.

</comment><comment><USER11> How difficult would it be to split the widgets off into their own independent/standalone terminal applications? I like the idea, but I'd rather lay things out myself with tmux (thus incorporating it into my existing workflow) rather than using the included layout system.

Sorry if this seems like a dumb question; I'm not particularly familiar with Node.js, let alone this particular codebase, so the answer isn't particularly obvious to me.

<comment><AUTHOR> It's easy to do. The grid layout is optional. You can give relative and absolute positions. The first code sample in the readme shows something like this (though position is implicit there). You can also read about blessed (=ncurses for node) which this project is implemented as an extention of.

<comment><USER12> As a side note, there is also OhUI ([https://github.com/arcanis/ohui](https://github.com/arcanis/ohui), i'm the author) which has the same goal than blessed, but a different api (dom-based) and codebase.

Blessed is great, but I had some performance issues with really fast updates, so I made OhUI, which tries to minimize as much as possible the repaint zones. I think it is pretty efficient at this regard.

</comment></comment></comment><comment><USER13> That's both adorable and oddly soothing to watch. Moreso than "nice" graphics, actually. It may be that I'm old enough to remember when text terminals were the way we interfaced with the world on bulletin boards...and animated ASCII art like this was common. I want to set it up _just to watch it_ , not because I need it (we have web-based charts already, and I'm in the midst of making them realtime).

</comment><comment><USER14> Along with using Tmux as your login shell [1], this would be a nice equivalent to something like Conky [2].

Or, replacing `top` with sparklines, say.

[1]: [https://bbs.archlinux.org/viewtopic.php?pid=935588#p935588](https://bbs.archlinux.org/viewtopic.php?pid=935588#p935588) [2]: [http://conky.sourceforge.net/screenshots.html](http://conky.sourceforge.net/screenshots.html)

</comment><comment><USER15> At first I thought this was just an awful idea, but after hearing what you're using it for I want to use it myself :P

Did you look into the possibility of "adapting" something like d3 to draw on the terminal? Or does it just lack the abstractions necessary to do that cleanly?

<comment><AUTHOR> Initially I used chart.js to paint the charts but I had to introduce it so many flags (no label Transformation, sensitive spacing etc) that I reverted to do it myself (even though I also have a working version with an altered chart.js).

I am using node-drawville which provides an Html5 canvas Api abstraction over the terminal. D3 uses svg so it is not adequate. However I did saw a port of d3 to canvas which I didn't had time to check.

</comment></comment><comment><USER16> This is great. I want to find a reason to use this. I have been doing some retro looking visualizations on an oscilloscope lately. I need to learn more about programming vectors to sound frequencies.

</comment><comment><USER17> reminds me ALOT of [https://www.npmjs.com/package/vtop](https://www.npmjs.com/package/vtop) you guys should join forces

</comment><comment><USER18> This is really cool! Seems like it would be easy to extend and link to simple projects, that way I can run this on my second monitor and feel like a real hacker ;)

</comment><comment><USER19> It's not 100% clear unless you can read the code.

Where is the data coming from? Seems like a lot of animated data with limited data points specified.

<comment><AUTHOR> I'm the Author. Yes, data in this sample is random or hard coded.

<comment><USER19> Great work! I would request a simple blink control, maybe for a DiskLED display.

<comment><AUTHOR> Great idea, I will add it to the list.

</comment></comment></comment></comment><comment><USER20> Why choose 'gauge' over the widely used 'progress bar'? Keep up the good work, it looks sleek.

<comment><AUTHOR> I was asking myself the same yesterday... I think I have memories from an old platform I used a few years ago that had a "gauge". Maybe Delphi?

</comment></comment><comment><USER21> Reminds me of modem days and BBSs. Sigh.

<comment><USER22> Funny, it reminds me of an idea I had to monitor hundreds of servers with a $35 Raspberry Pi...

</comment></comment><comment><USER23> Looks fun. It almost seems like it might be adaptable enough to make things like an X-Com clone, as well.

</comment><comment><USER24> So bringing some of the web designers into the terminal isn't such a bad thing after all, they have great taste.

I'm partially sad its written in nodejs, but I can't really think of what else it should have been written in.

I think clojurescript bindings would be awesome. The dashboard can be rendered from an immutable app state om style.

dnolen, I'm looking at you :).

<comment><USER25> quality comment. shit on node for no reason and ask the author of another project to rewrite it for you.

node is actually really good at working with streams, which are a reasonable expectation for streaming logs e.g. to be in.

<comment><USER24> I don't think you understand, clojurescript interfaces with javascript, it wouldn't be a rewrite. Nodejs has many debated problems, I can shit on it if I want. This project rocks though.

<comment><USER25> I know what clojurescript is. What I don't understand is why you can't write an externs file.

<comment><USER24> There is more to it than an extern file if you want a well designed wrapper which is idiomatic.

Regardless, the smiley in my original post indicates I was just teasing. I think you need to calm yourself down.

</comment></comment></comment></comment></comment><comment><USER26> this would cool to connect to newrelic type app analytics data

</comment><comment><USER27> Where does it call that Braille font you are talking about?

<comment><AUTHOR> in the node-drawille dependency:

[https://github.com/madbence/node-drawille](https://github.com/madbence/node- drawille)

</comment></comment><comment><USER28> I'm going to use it in my current project ! Great work

</comment><comment> ely-s This is so cool

</comment><comment><USER29> ahahah this is great... the map looks like it's something out of War Games

</comment><comment><USER30> Cool! cannot wait to use it!

</comment><comment><USER31> This is really cool!

</comment><comment><USER32> This is so awesome.

</comment><comment><USER33> This if fantastic!

</comment><comment><USER34> This is kickass.

</comment><comment><USER35> So cool~love it!</comment>


MuteMachine: Automatically skip tracks on Hype Machine - <AUTHOR> http://akashbad.github.io/introducing-mutemachine/

<comment><USER2> Very cool, Akash. I switched to [http://www.plugformac.com/](http://www.plugformac.com/) because I wanted to use keyboard shortcuts, but this looks great for the browser version.

<comment><AUTHOR> Nice I didn't know about plug, looks cool! I've tried other hypem desktop versions but they never seem to work as well, plug is pretty much the same functionality?

<comment><USER3> Nice work, mute is genius. I work on Plug, since it's a hobby project, we've just focused on the most popular stuff from Hype Machine.

</comment></comment></comment><comment> WD-42 Nice work! If only I wasn't using Nuvola Player [http://nuvolaplayer.fenryxo.cz/home.html](http://nuvolaplayer.fenryxo.cz/home.html)</comment>


BetaKit: a new online publication covering emerging tech trends and startups - <AUTHOR> http://betakit.com

<comment><USER3> There does not seem to be a working RSS feed for this website. Apart from a couple of websites like HN that I directly navigate too on a daily basis - <USER2> I cant add it into my google reader I will never remember to come back to your website.

<comment><USER4> Totally agree, and we'll be adding RSS ASAP. It's on the launch day list of to-dos. Thanks for checking it out!

<comment><USER5> great. hope you post again when you do. That's what's also limiting my interest in your site.

<comment><USER6> another vote for the RSS feed. Without it, it won't be on my reading list either.

Just as a note to future publishers: RSS is not a feature to add AFTER the fact but ought to be a launch readiness item if you're publishing content.

<comment><USER7> <http://betakit.com/feed>

<comment><USER4> RSS is added (as noted above), and we're adding social sharing options to the homepage. Appreciate the feedback, and thanks for reading.

</comment></comment></comment></comment></comment></comment><comment><USER8> Lots of TechCrunch competitors launching recently, but I do like this one. It's sort of like a simplified Verge for startups. Hopefully they remain objective.

<comment><USER4> Trust me, objectivity will remain.

Thanks for checking it out!

<comment><USER9> Nothing like a subjective "Trust me" to inspire trust in objectivity.

</comment></comment></comment><comment><USER10> I always welcome another news site bringing a new touch to the scene.

Using colors for categories is nice and I enjoy the visuals but white on yellow is IMHO not the best choice. (partnerships)

Beside that I can only second what others said. \- RSS feed or chances that I visit the site more often is nearly non existing \- Showing who is writing those stories is IMO essential

I wish you luck and success.

<comment><USER11> <http://betakit.com/feed>

</comment></comment><comment><USER12> Needs a link to your Twitter feed from the homepage. Had to guess that it was <http://twitter.com/betakit>. That's my preferred method of subscribing to new sites these days.

Good luck! Looking forward to reading.

</comment><comment><USER13> Wow, I clicked it expecting something half-baked.

Not so, it's a bit The Verge like but cleaner. I'm looking forward to seeing where this goes.

<comment><USER4> Thanks - feel free to email any feedback to erin[at]betakit.com.

</comment></comment><comment><USER14> Beautifully visuals, but unfortunately very very rough UX. Sooo much text and moving graphics on the page, my eyes don't know where to focus.

</comment><comment><USER15> The logo looks pretty "heavily inspired" by this: <http://www.betascape.org/>

Hmmm...

<comment><USER16> ..how? Betascapes logo offers an optical illusion showing a third dimension. Betakit uses colour as an indicator to the different news sections that they offer.

If anything, EGEA cosmetics has a similar logo to betascape <http://logopond.com/gallery/detail/65824>

</comment></comment><comment><USER17> The team running BetaKit is sharp and really plugged in. Can't wait to see what happens.

<comment><USER18> I wish it said on the site who the team is. If you're running an editorial site, _somewhere_ it should at least say who the editor in chief is, no? That's part of the site's credibility.

(But overall I do like what they are doing.)

<comment><USER4> Hey, just an update - our about page is up with a list of all staff & contributors at betakit.com/about

<comment><USER18> Thanks!

</comment></comment></comment></comment><comment><USER16> Interesting, how often can we expect to see new articles?

<comment><USER4> Hey, we're aiming to post several new articles every day. We have an in-house editorial staff (I'm managing editor, former GigaOM writer & editor Darrell Etherington is senior writer) and a group of global contributors.

But we're more focused on quality analytical pieces that press release rewrites - quality over quantity. Thanks for checking it out!

<comment><USER19> If you can stay true to the quality over quantity goal, BetaKit could very well become one of my most read sites. But I suspect it would be very hard to do so — everything I've experienced with online journalism suggests that quantity of posts is what pays the bills.

Best of luck to you though!

<comment><USER4> Thanks Chris - I hope you'll keep reading so we can show you we're committed to quality.

And get in touch anytime at firstname.lastname@example.com, happy to hear your feedback.</comment></comment></comment></comment>


Ask HN: Conditional statements with Python nested lists - <AUTHOR>

I asked this question at Stackoverflow but I was wondering if you can help.
http://stackoverflow.com/questions/4011728/conditional-statements-with-python-lists
I am trying to build a simple app in GAE that will take a string s from user and check if it is same as the previous string s0; if same, the string will appear in the same column; if not it will move to the next column.
Like this:

    Hello world
    Hello world
    Hello world

    Hello world  Hello Universe
    Hello world
    Hello world

    Hello world  Hello Universe
    Hello world  Hello Universe
    Hello world  Hello Universe
                 Hello Universe
                 Hello Universe

    Hello world  Hello Universe Hello Cosmos
    Hello world  Hello Universe
    Hello world  Hello Universe
                 Hello Universe
                 Hello Universe

 I have been trying to do this with nested lists; I learned a lot about lists but I start to doubt that nested lists is not the right method. I appreciate it if you suggest better alternatives. Thanks. <comment><AUTHOR> Link to SO discussion: [http://stackoverflow.com/questions/4011728/conditional- state...](http://stackoverflow.com/questions/4011728/conditional-statements- with-python-lists)</comment>