Ask HN: How would look the ideal tech interview for a DevOps/Cloud Engineer job? - <AUTHOR> As an engineer involved in the tech recruitment for our company, I've always had the goal of providing a good experience for our candidates. I try basically not to put people thought what I disliked in my past interviews.
We currently ask our applicants to do a pull request to one of our open source projects. But this is not always working as they may not be familiar with those projects/technologies.
So for jobs in this area, that involve infrastructure automation (Google cloud, AWS, Azure) deploying orchestration layers (Kubernetes, DC/OS) and automate whatever runs on top if this (CI/CD) how would your ideal interview look like? <comment><USER2> > We currently ask our applicants to do a pull request to one of our open > source projects.

"We currently ask our applicants to volunteer for one of our marketing efforts." I'd claim unfamiliarity with it too.

If you want to test skills, give them a toy problem to implement. If you want them to do something of value to your company, pay them.

</comment><comment><USER3> I wouldn't even consider your company based on this alone.</comment>


First alpha of Guile 2.0 - supports Scheme and ECMAScript - <AUTHOR> http://www.gnu.org/software/guile/news.html

<comment><AUTHOR> From the NEWS file linked on the original page:

        Guile now ships with one other high-level language supported,
        ECMAScript. The goal is to support all of version 3.1 of the standard,
        but not all of the libraries are there yet. This support is not yet
        documented; ask on the mailing list if you are interested.

For more information on Guile's ECMAScript support, see:

<http://wingolog.org/archives/2009/02/22/ecmascript-for-guile> [http://wingolog.org/archives/2009/02/25/callcc-and- ecmascrip...](http://wingolog.org/archives/2009/02/25/callcc-and-ecmascript)

</comment><comment><USER2> I hope they eventually use this for Emacs, but other than that, I'm not terribly interested...

<comment><USER3> I'm quite interested. It's high time someone tried to get beyond byte codes as the building blocks of high level languages.

Why not something like Scheme? It seems to be as good a candidate as anything else. GCC used to use a Lisp-like language for its intermediate representation.</comment></comment>


Evernote Acquires Skitch - <AUTHOR> http://allthingsd.com/20110818/evernote-scoops-up-mac-drawing-app-skitch-makes-it-free/ <comment><USER2> It is great to see a company get a lot of money, then put it to really smart / great use.

I love Skitch. It is one of the apps I use throughout the day in my normal workflow. It is just too easy to grab a screenshot, add a big red arrow pointing to the problem and then email that image. I love it.

I'm excited to see Evernote integration (another app I use every day).

<comment><USER3> Skitch is one of those products that only does a few things, but does them extremely well. When you experience taking a screenshoting, annotating it, resizing it, and then dragging it into an email to send to someone, it hurts having to "click to upload an image" ever again.

</comment></comment><comment><USER4> Wow seriously psyched about Skitch and Evernote. These are two tools that are completely ingrained in my daily workflow. Glad to see a great exit for the Skitch team!

</comment><comment><USER5> Big fan of skitch, hope they dont kill it! Evernote is getting bloated...

</comment><comment><USER6> Anybody know the payment terms were for the buyout? I haven't found it anywhere.

</comment><comment><USER7> Skitch's blog post on it; [http://blog.skitch.com/post/9083996519/huge-skitch- is-acquir...](http://blog.skitch.com/post/9083996519/huge-skitch-is-acquired- by-evernote-a-great)

Evernote; [http://blog.evernote.com/2011/08/18/evernote-acquires- skitch...](http://blog.evernote.com/2011/08/18/evernote-acquires-skitch- evernote_etc/)

</comment><comment><USER8> Great news for Skitch and great news its becoming free.

I remember the trial, and how much easier it made filing bugs on my website for small UI tweaks and such. At the time, owing to the fact I'm cheap, I ended up switched to Jing, which was multiplatform and free, but I consider something of Skitch's ilk _necessary_ for dealing with bug reporting of UI issues.

</comment><comment><USER9> I'm a huge fan of skitch. I hope they continue to support the product.

</comment><comment><USER10> Has the android application been published yet ? I can't seem to find in on market.android.com yet. If not is there a published release date ?</comment>


QUIC - <AUTHOR> https://docs.google.com/document/d/1lmL9EF6qKrk7gbazY8bIdvq3Pno2Xj_l_YShP40GLQE/edit#heading=h.h3jsxme7rovm

<comment><AUTHOR> QUIC has some great ideas: 0 RRT connection time, support for roaming IP addresses, and most of all multiplexing streams onto a connection without a dropped packet in one stream blocking another stream.</comment>


Data looks better naked - <AUTHOR> http://darkhorseanalytics.com/blog/data-looks-better-naked/ <comment><USER2> Agreed until it removed the numbers in y-axis. I want to see the scale, minimum, and maximum points in evenly spaced lines, whether logarithmic or linear space is used. This way, these details slightly disappear, or become harder to interpret.

<comment><USER3> The horizontal lines and y-axis labels were particularly helpful for comparing non-adjacent bars.

</comment></comment><comment><USER4> The original source with blog post: [http://darkhorseanalytics.com/blog/data- looks-better-naked/](http://darkhorseanalytics.com/blog/data-looks-better- naked/)

</comment><comment><USER5> For every chart you could ever want with a very easy-to-use API, highcharts ([http://www.highcharts.com/](http://www.highcharts.com/)) is your best friend. Free for personal use, inexpensive for commercial license. Highcharts will let you show as much or as little as you want. It's funny the author chose calorie per food portion for the example, I'm actually developing a web app that helps plan diets and I did exactly the same thing - remove labels, special effects, legends, etc. The result is magnificent, it really helps with both design and the usefulness of your data.

<comment><USER6> Out of topic, but counting calories don't mean squad for a diet. It is a myth. Read [http://garytaubes.com/](http://garytaubes.com/) for a good research on this.

Counting carbs is what is important. Low Carb, High Fat is what science tells you should do to loose wait. Using thermodynamics to understand our biology is useless.

EDIT for on topic add: Useless data is useless, naked or not. They should have chosen a better example.

<comment><USER7> Nutrition science is highly contested; for every report or paper that claims one thing, another will completely refute it.

</comment></comment></comment><comment><USER8> That's just following Edward Tufte's maxim to minimize chart junk.

[http://en.wikipedia.org/wiki/Chartjunk](http://en.wikipedia.org/wiki/Chartjunk)

Any of you on HN that aren't familiar with "The Visual Display of Quantitative Information" should give it a read (and the rest of his books).

<comment><USER9> > and the rest of his books

I find his books to be a bit too light on the content. All of them combined would've made a _great_ book that would still be of a reasonable thickness, but he is self-published and he makes his living from lectures and book sales, so he's probably not too interested in that.

<comment><USER10> His books were written over 24 years so they idea of writing one great book is just not a practical one. He made his living as a professor not simply self- publishing, lectures and book sales. For someone who evangelizes effective presentation of information, creating a CliffsNotes or Nutshell version just completely misses the point of his work.

<comment><USER11> I can't agree. The rest of those books contain roughly the same amount of actual information as his first. I went to his workshop, in which he seemed to be showing as much restraint as he could to not talk exclusively about his lawn sculptures.

Tufte has some great ideas, but would benefit from a ruthless editor. As a guy who's self-published, he does not get the benefit of that kind of feedback.

</comment></comment></comment></comment><comment><USER12> They could have used horizontal bars instead of vertical. It takes up much less space and easier to place the labels. This GIF shows a similar animation, but with a 90 degree rotation and a little more information.

[http://blog.bissantz.com/images/2008/01/tod_der_businessgraf...](http://blog.bissantz.com/images/2008/01/tod_der_businessgrafiken_v2.gif)

I wonder why they add the table grid at the end. A grid could have been useful if there were a lot of columns, but certainly not in this case.

This is a similar idea I was working on [http://vpj.svbtle.com/variable- length-underlining-to-help-se...](http://vpj.svbtle.com/variable-length- underlining-to-help-see-data-in-a-glance)

</comment><comment><USER13> Stop using gray text on a white background.

</comment><comment><USER14> Not sure about lightening the labels and removing bolding. Contrast and readability goes down.

<comment><USER15> The idea is to keep focus on the data. The labels are reference when exact numbers are needed, but the data trend is king.

<comment><USER16> The trend is meaningless without a reference. For example:

[http://i.imgur.com/zXkkJw4.png](http://i.imgur.com/zXkkJw4.png)

vs.

[http://i.imgur.com/f6A84ds.png](http://i.imgur.com/f6A84ds.png)

It's the same exact data (which I made up, by the way) but the first one tells a very different story from the second.

<comment><USER15> This has nothing to do with putting labels in bold or not, unless I misunderstood?

</comment></comment></comment></comment><comment><USER17> Anybody has good resources (preferably free) on creating online visualizations. Not links to the d3.js documentation but good tutorials creating visualizations you often use on the internet. Like creating your own cool dashboard and stuff like that.

<comment><USER18> Forget documentation, look at tutorials (list here: [https://github.com/mbostock/d3/wiki/Tutorials](https://github.com/mbostock/d3/wiki/Tutorials), for example look at this one: [http://vogievetsky.github.io/IntroD3/](http://vogievetsky.github.io/IntroD3/)).

And later - look at examples ([https://github.com/mbostock/d3/wiki/Gallery](https://github.com/mbostock/d3/wiki/Gallery) or [http://christopheviau.com/d3list/gallery.html](http://christopheviau.com/d3list/gallery.html)). IMHO it is the best way to learn D3.js and data vis in general.

Some other links: [https://delicious.com/stared/d3js](https://delicious.com/stared/d3js)

</comment></comment><comment><USER19> Good analysis here: [http://betterposters.blogspot.co.uk/2013/09/link-roundup- for...](http://betterposters.blogspot.co.uk/2013/09/link-roundup-for- september-2013.html)

If you don't have the y-axis, then a) there's no point in having it as a graph and b) there's the possibility for manipulative display.

</comment><comment><USER20> This is kind of neat from a graphical design perspective, but it doesn't actually relate minimalistic chart design to more informative analytics in any meaningful manner. A concise, well-written blog post would do much more (than a short, hasty animation) to inform people.

<comment><USER21> Actually pretty sure these are all images taken from a blog posted earlier on HN.

edit: Chaz pointed the original out.

<comment><AUTHOR> Got the gif from a friend. Thanks for point out the original blog post. Just wanted to share the difference between having high redundancy vs less redundancy in visualizations.

</comment></comment></comment><comment><USER22> Turn it sideways. Remove the bars.

</comment><comment><USER23> Does anyone have any examples of great analytics dashboards(of any kind)? I've always been a bit unimpressed with most of them. Making the base presentation simple and clean while still allowing powerful filtering can be tricky.

<comment><USER24> My company makes analytics dashboards for Statistical Quality Control and Flavor profiling of artisan products... I think it's pretty good with its filtering options and the like. Link to our first tutorial here: [https://www.youtube.com/watch?v=MvHbNcrobwc](https://www.youtube.com/watch?v=MvHbNcrobwc)

</comment></comment><comment><USER25> This is old and does not really demonstrate the importance like a study would.

</comment><comment><USER26> I wish I hadn't seen that potato chips have that much more calories than pizza.

</comment><comment><USER27> Edward Tufte to the rescue!

</comment><comment><USER28> "You get used to it. I don't even see the code anymore, all I see is blonde, redhead, brunette..." -That guy who betrayed Neo for a Juicy Steak.

</comment><comment><USER29> Takeaway: I should eat more chili dogs.

</comment><comment><USER30> There was nothing wrong with that chart in the first place. What a pointless optimization.

<comment><USER31> Well it was butt ugly. Personally I think they went too far in minimizing the look but that's just me.

But it did start off seriously ugly, but then again, it was made to be. I guess it was something of a straw graph, no one would really make a graphic like that.

</comment></comment><comment><USER32> somebody got good websites on best practice visualization?

<comment><USER33> This (rather old) paper is still worth reading: Cleveland, W. S. (1984), "Graphical Perception and Graphical Methods for Analyzing Scientific Data"

[http://courses.ischool.berkeley.edu/i247/f05/readings/Clevel...](http://courses.ischool.berkeley.edu/i247/f05/readings/Cleveland_GraphicalPerception_Science85.pdf)</comment></comment>


Mail Pilot – The State of Email on the Mac - <AUTHOR> http://blog.schneidmaster.com/mail-pilot-or-the-state-of-email-on-the-mac/ <comment><USER3> > _Let 's face it: email on OSX sucks._

Compared to what? Since, you know, it can run most apps other platforms can (and most people use), from mutt to Thunderbird and Outlook.

> _For all of Apple 's skill in crafting beautiful hardware (and as much as I > like OSX as an operating system), Mail.app is outdated and still has limited > support for Gmail labels_

Labels? Why should it support a proprietary technology -- and much more from a competitor, and much more one that might kill IMAP at any time?

Labels aside, I never had much problems with Mail.app. And, spam aside, I get around 200 mails per day.

<comment><USER4> > Labels? Why should it support a proprietary technology -- and much more from > a competitor, and much more one that might kill IMAP at any time?

Because 90% of tech nerds are fucking obsessed with google and think everything that comes from them should be immediately adopted by the entire industry.

As I've said before - IMAP has a spec for "keywords". People always piss and moan about it not being supported by mail clients, and conveniently forget that Google's labels weren't supported either, when it was introduced - <USER2> yet some clients have added supported for it.

What are the chances that a) more competing email providers and b) more mail clients would support IMAP keywords today, if Google had used the existing standard instead of inventing their "labels" system?

<comment><USER5> _> As I've said before - IMAP has a spec for "keywords"._

That's just because IMAP has a spec for everything.

That's the huge problem with IMAP: it can do too much and it's one of the more complicated "classic" protocols (from the area where RFCs were much more concise and bare-bones).

There are so many implementation bugs in various clients and servers that IMAP feels like being kept together by duct tape.

As such, people are very reluctant to add more protocol features to their implementations and even if they did, with some likelihood, the feature would only work in very specific client/server combinations.

In case of labels, the incentive for Google was to produce the implementation that works best with the existing clients (use pretend-folders for labels), and the incentive for client is to implement labels the google way (the only widely-deployed server that currently supports them)

Email is such a mess.

<comment><USER3> > _That 's the huge problem with IMAP: it can do too much and it's one of the > more complicated "classic" protocols (from the area where RFCs were much > more concise and bare-bones). There are so many implementation bugs in > various clients and servers that IMAP feels like being kept together by duct > tape._

IMAP does much because we have many needs. And HTML does even more, but we still have several top notch browsers competing.

In any case, if IMAP development is so difficult, have people join ONE IMAP library project that tries to be as complete as it can, instead of each mailer creating its own IMAP client libs.

Like we have Webkit/Blink which is used across multiple browsers.

</comment></comment></comment></comment><comment><USER6> Mail.app in 10.9 seems slightly less crappy than in 10.8, but the overall experience has been going steadily downhill for years now. I've been using Mac OS X + Mail.app since the public beta was released in Sep 2000.

Having tinkered around with other mail clients for the Mac, I'm starting to believe that something in the vein of mu4e[1] holds the only truly brighter future for me, but it will be such a radical break after years with Mail.app that I'm hesitant to take the plunge. On the other hand, I am "living" in multi-term[2] now rather than iTerm2, so it probably won't be all that jarring to emacs-ify another element of my daily computing experience.

[1] [http://www.djcbsoftware.nl/code/mu/mu4e.html](http://www.djcbsoftware.nl/code/mu/mu4e.html)

[2] [http://www.emacswiki.org/emacs/MultiTerm](http://www.emacswiki.org/emacs/MultiTerm)

</comment><comment><USER7> I've been using Postbox[1]. It's the power of Thunderbird with the clean GUI look of a native Mac app. It has emails in a conversation-y view and includes gmail.com shortcuts. It also has powerful smart folders.

Plus, I can use Markdown-Here[2] to compose my emails in Markdown.

[1]:[http://postbox-inc.com](http://postbox-inc.com)

[2]:[http://markdown-here.com](http://markdown-here.com)

<comment><USER8> I think I've been happiest with Postbox, but holy cow, that periodic re- indexing is painful. Hooking up ~500k emails means it grinds away for minutes on a HD, something like once or twice every hour.

That aside, it handled those 500k emails way better than e.g. Mail.app (whose performance routinely falls off a cliff somewhere back between 200k and 300k), synced quickly, etc and all without the normal annoyances that keep me away from Thunderbird. A very solid, cheap option.

That said, the re-indexing eventually got annoying enough that I disabled a bunch of IMAP folders in Gmail and switched back to Mail.app. I'd love to find a real alternative, but everything else I've touched has been _awful_ in absolutely-critical ways (usually one or more of: can't handle a couple hundred thousand emails at all, can't display HTML emails, can't stand the UI, or useless/nonexistent filtering tools).

<comment> chao- What "normal annoyances" keep you away from Thunderbird?

<comment><USER8> The UI has always rubbed me the wrong way, which I haven't really quantified. Not "wtf, no gradients? fail", but just a preponderance of small things like weird defaults, chunks of menus / screens that are inconsistent with the rest of the application (so you end up checking 10 places for a simple thing), and minor inconsistencies with other applications that I keep re-discovering after using it for a few months that I have to go back and fix.

</comment></comment></comment></comment><comment><USER9> we could all really use a better email client, but as discussed to death in the sparrow threads, the app store has reset software pricing perceptions. People will now bitch endlessly about having to pay the princely price of $10, which theoretically comes with free perpetual upgrades. This is down from the $50-$100 people used to pay for each major _version_ of an email client in the 90s. While this may be good for pocketbooks, it has also probably destroyed desktop mail clients for non-enterprise as a market for a software company that wants to pay landlords or mortgages in something besides appreciation.

<comment><USER10> I don't think many people complain about the $10 price tag of these clients. Looking to replace Sparrow, I just purchased both Mail Pilot and Unibox (hadn't heard of either until this article).

The reviews of both apps don't contain complaints about price — unless the app is not working for the customer, which is a pretty reasonable complaint.

<comment><USER11> People don't complain ... they just don't buy the app. It is astounding the level of quality & support expected from low-cost apps.

<comment><USER10> I sell a $10 app on the App Store and have provided three years of free, major upgrades and dealt with many thousands of support emails. I never really felt like I was giving too much to people who paid $10.

Although I have never sold software at a higher price in the past, so I have nothing to compare with.

<comment><USER11> My impression is that the expectation for software quality and support is the same for a $1.99 iOS app and a $99 desktop app. Given that upgrades are always free in the App Store (unless you go the Omni route), the cost different is probably even more skewed, and if your popularity continues (which is hard in the app store), your support burden will grow without additional revenue from those users.

It sounds like you're an indie dev. You probably could charge more than $1.50/minute for your time ... so if you spend even five minutes supporting a customer, you're wiped out all your revenue (not even counting development time!).

</comment></comment></comment></comment></comment><comment><USER12> Mail.app is near perfect for me - however, Apple REFUSES to fix its IMAP support. If you access your email from more than one device (hey, that's why I'm using IMAP), Mail does not properly query header counts, so folders get out of sync. If you restart Mail, then it does the right thing. I've resigned myself to doing that 10 times a day. Bleah.

<comment><USER13> "near perfect" and "[restarting] 10 times a day" seem like incompatible notions to me.

<comment><USER3> Near perfect = it does everything I want to they way I like it.

[restarting] 10 times a day = it has a bug that needs restrarting 10 times a day to do so.

He didn't say it was perfect as in bug free. Just as in "does what I want".

</comment></comment></comment><comment><USER14> So, the thing that scares me is this:

[http://www.mailpilot.co/bestuseguide.html](http://www.mailpilot.co/bestuseguide.html)

The repetitive "Finding messages outside of Mail Pilot" sections make me think that it's not going to play well with other clients -- unless it means that it's storing some sort of metadata/copies in those other places, which is not the impression I get (it seems to be saying it will actually make a bunch of folders and move your mail into them, which is Not OK).

<comment><USER15> Personally I do not want my mail client to be my task manager. I use a Todo list app (Things by Cultured Code) that does a smooth job of linking a todo to an email. I simply create a task linked to an email set for 3 days from now, I delete the email from my inbox and have 1 'inbox' for my actions. I believe the various other todo apps on the mac handle this just as easily.

Seeing workflow wrapped into an email client strikes me as wrong—I want my mail client to be for communication, not for managing my next actions.

</comment></comment><comment><USER16> OS X and iOS qualifies as cross-platform these days?

<comment><AUTHOR> Maybe that wasn't the most precise term, apologies. I assumed the immediate clarification of what I meant by "cross-platform" was sufficient.

</comment></comment><comment><USER17> I've tried every Mac mail app under the sun, and Mail Pilot is the only one I've actually enjoyed using. I've been using it as my exclusive e-mail client since the early preview and it has truly revolutionized how I handle e-mail. I've committed to their to-list idea of keeping up with e-mail, and I actually get to inbox zero almost daily (I hadn't reached true inbox zero in years). Mail Pilot still needs some more polish, but the updates are frequent and it already surpasses everything else out there in my opinion.

</comment><comment><USER10> I purchased Mail Pilot and Unibox because of this article — with the intent for one of them to replace Sparrow (which is amazing, but there are bugs that will never be fixed).

I liked Unibox more. It has a way of minimising the complexity of my inboxes. Being able to see all the attachments to and from a particular person is very nice.

Mail Pilot feels a little less polished and less smooth. It also makes a very strong effort to educate me (popups and explanations are attached to everything, intro tutorials and videos) but I still found it a little confusing to navigate. Initially the "New Message" button simply did not work until I restarted the app.

Unibox did not make much effort to teach me. And despite completely rethinking my inbox I've found it straightforward to use. Unibox seems to place the information you are looking for right where you expect it (for example, dates fade in and attach to the scrollbar as you swipe through your emails, changing as you scroll). It's very cleverly designed to show and hide information as you navigate, without showing too much.

If you don't mind switching to a people-centric interface, I'd recommend Unibox. Mail Pilot seems aimed more at people who like to organise their email (the reminders system, completion checks, sorting). I just like to read my email and write, and Unibox does a great job of it.

<comment><AUTHOR> I really want to love Unibox. I used it full-time for a week or so. But I just seriously cannot get over the way it deals (or rather, doesn't deal) with folders and labels. If I put something in a folder or archive it, it disappears from the people-centric UI, and there's not an easy way to drilldown through folders. Also, things like group messages are super awkward with the people-centric thing.

If you like the interface and concept, I would definitely recommend Unibox over Mail Pilot- it's more polished in general. But it's a very opinionated mail client and I really couldn't get over its opinions.

<comment><USER10> Yeah I never use folders (or labels) — I am just not organised enough to actually use them. I tried for years. So Unibox really meshes with the way I deal with email.

</comment></comment></comment><comment><USER18> Mail.app, smart mailboxes for everything in the past month, past week, and past month's unread. Mark stuff as unread if you need to deal with it later. Screw inbox zero, screw a zillion folders and a zillion rules.

Though I do sort junk from social sites into their own folder and filter them out of those smart mailboxes.

No other mail client supports smart folders. They all want me to make a bazillion folders and a bazilljon rules to support them. It all seems so primitive.

</comment><comment><USER19> I know they say this on their site, but can someone very clearly confirm that this is purely a client and uses IMAP/SMTP and doesn't send anything to Mail Pilot (the company).

<comment><USER20> CEO here, can confirm. Mail Pilot runs IMAP and SMTP directly to your email server and back; nothing in the middle. Our first client, released in 2012, did make use of a 3rd party server, but it made too many people uncomfortable, so we found ways to implement the advanced functionality of Mail Pilot without needing a 3rd party server (here's the blog post of the announcement that we were moving away from using a 3rd party server: [http://mindsense.co/blog/6-major- announcements/](http://mindsense.co/blog/6-major-announcements/)).

<comment><USER19> Awesome, thanks for confirming this and sorry for being overly paranoid.

<comment><USER20> No problem & don't apologize - I too would be paranoid about giving a random company my email credentials. That's why we moved away from it.

</comment></comment></comment></comment><comment><USER21> Ok. So I did give it a try, and it was the worst 3 hours I could spend with a mail client before asking for a refund.

I tried it both with a GMail and a classical IMAP accounts. Both were a total disaster. Two years of development for THAT?!

Dates were messed up. Some mails would never appear, some would, but with another sender! Gmail labels were not properly managed, Lists cannot be deleted, even when emptied. And those new MailPilot.* folders are just plain wrong, it breaks your flow in ANY other mail client.

What a waste of time.

</comment><comment><USER22> Just bought it because I heard a few recommendations, and ran into a couple of sloppy bugs. An email that arrived on January 2nd is showing up as arriving January 21st - that's a basic sorting bug. And lines that wrap on other email clients aren't wrapping, without letting me scroll - so there are some lines in my emails that I can never read.

</comment><comment><USER23> I haven't found a mail client that integrates cleanly with Gmail yet. Mail.app never respects my settings/preferences and is still quite buggy (on OS X 10.9.1). So I'm eager to find a good mail client replacement for it. But in the meantime, I'm still using gmail.com. Fortunately with keyboard shortcuts enabled it's not that bad.

<comment><USER24> I've had pretty good luck with Airmail, which happily supports Gmail keyboard shortcuts. Might be worth a look.

<comment><USER25> I agree - Airmail is a good choice. Also, I like MailMate and it also supports Gmail keyboard shortcuts.

</comment></comment></comment><comment><USER26> This looks fairly nice, but useless for me without Exchange.

This prompted me to finally just break down and spend the $2 on AirMail. What surprises am I in for, both good and bad?

<comment><AUTHOR> Good: It's a fairly decent mail app that does all of the things you'd expect.

Bad: Still get bugs and crashes that I'd expect from a beta, not a production- ready app.

<comment><USER27> I've been running the Airmail beta version. Overall it is very stable, plus it gets bug fixes faster. One great feature is that it supports Exchange, and the most recent beta overhauled the whole Exchange engine.

One exchange oddity, the contact lookup only appears to work from a "Global address book" drop down under Window.

<comment><USER26> The exchange overhaul sounds good, since when I just tried to set it up, it wouldn't auto-discover my company's server.

I guess I'll give it a shot with gmail in the meantime.

</comment></comment></comment></comment><comment><USER28> I would really like to try Mail Pilot, but it doesn't have S/MIME-support. Some people actually use that actively :(.

</comment><comment><USER29> Eudora still works. That's pretty good for a program that came out in the late 1980s.

</comment><comment><USER30> For me, Unibox is incredible. Hard to believe I ever used email any other way.

<comment><USER31> I hate that Unibox grouped together all my Github emails. I want separate threads for every issue/project.</comment></comment>


Xpra is screen for X applications - <AUTHOR> http://code.google.com/p/partiwm/wiki/xpra

<comment><USER2> Mmmm.. ec2 instance running X+Xpra+FreeNX Server, then NX on the client and you have your desktop anywhere.

(X on EC2: [http://blog.decaresystems.ie/index.php/2007/05/23/amazon- web...](http://blog.decaresystems.ie/index.php/2007/05/23/amazon-web-services- the-future-of-data-centre-computing-part-3/))

(FreeNX: <http://freenx.berlios.de/>)

<comment><USER3> Hmm, this actually works just fine for me with only NX client. What advantage does Xpra bring to the table?

<comment><USER4> Or just Xpra, for that matter--- Xpra was written as a replacement for NX (<http://lwn.net/Articles/343389/>), and they have heavily overlapping functionality, so it seems odd to use both rather than picking one.

<comment><USER5> Does Xpra offer the same level of compression as NX?

NX is designed to work fast over low bandwidth connections.

<comment><USER6> It doesn't look like it. If you need a remote desktop, NX is the way to go, in my opinion. However, I do use Xpra for long-running programs because I don't want to have a full-blown X server running all the time.

</comment></comment></comment></comment></comment><comment><USER6> I used Xpra today to run a small console program on my headless server, and I attached to it from my laptop. It worked very well, until I changed my ssh port to some nonstandard one. Bye-bye, attach functionality...

Does anyone know of a way to specify the ssh port?

<comment><AUTHOR> [http://www.mail-archive.com/parti- firstname.lastname@example.com/msg002...](http://www.mail-archive.com/parti- firstname.lastname@example.com/msg00279.html) seems to indicate there is no current way to specify nonstandard ssh port.

<comment><USER6> Ah, too bad :/ Thanks for the info!

</comment></comment></comment><comment><USER7> See <http://shifter.devloop.org.uk/> if you want to connect to a *nix/BSD box from Windows with Xpra (cygwin doesn't have an Xpra package)

</comment><comment><USER8> I use Xpra, but it's a little buggy. E.g., buttons don't always appear in the right position within a dialog. Sometimes it hangs up and I have to restart it. Some fairly complex apps don't like to run under it (I think I had this problem with IntelliJ IDEA, which also isn't entirely happy under VNC/twm). Also, running XEmacs under Xpra is a bit slow for some reason.

I use VNC day in and day out, and Xpra has not replaced VNC for me, though I originally thought it might. The rootless model is cool.

</comment><comment><USER9> Something similar, with Telepathy: <http://marnanel.dreamwidth.org/134350.html>

</comment><comment><USER10> How is this different from simply using NX?

<comment><USER11> check the "What about NX?" at xpra-faq [ <http://code.google.com/p/partiwm/source/browse/README.xpra> ]

<comment><USER12> Wow is using NX without a commercial license really that painful? We use it at work amd it's great; much snappier than VNC.

Xpra sounds great but I'm concerned about the lack of support for various features, and -judgung from the FAQ- the author's perception that they're not important.

<comment><USER4> Yeah, the open-source version of NX isn't really ready to run; it's just a GPL'd library of the core functionality. The FreeNX project produced a working, distributable version (<http://freenx.berlios.de/>), but it seems to have lost steam--- no releases since 2008. There's also a reimplemented version from Google, though it's not actively developed anymore either: <http://code.google.com/p/neatx/></comment></comment></comment></comment>


When It Comes to Security, We're Back to Feudalism - <AUTHOR> http://www.wired.com/opinion/2012/11/feudal-security/ <comment><USER3> He had me convinced until the last paragraph: _it's time we step in in our role as governments... to create the regulatory environments that protect us vassals (and the lords as well). Otherwise, we really are just serfs._ We won't be serfs if Big Government is running the show?

Edit: With regards to his choice of words: The Road to Serfdom, a Comic by Hayek: <http://mises.org/books/TRTS/>

<comment><USER4> There's a difference between a regulatory framework and central planning of the means of production.

I think that if a bunch of smart people went into a room, they could come out with a set of core principles that are in the best interests of users of cloud IT systems, but not necessarily in the interest of the service providers.

Example: Phone number portability. Before 1997, your phone number was immutably associated with your telephone company. That meant that you were stuck with cellular provider X unless you changed your number -- which is a big deal for many people. FCC regulations forced the carriers to allow portability... an act that cost them alot of money, but benefited the public good. So while government regulation can lead to extreme scenarios like a Maoist-style police state similar to what is described in the comic that you linked to, that isn't a likely scenario.

Government regulation applies to the government too. The absence of principles enshrined in law and regulation regarding police access to your data has resulted in police and prosecutors obtaining broad powers to access or mine your data through the judiciary.

<comment><USER5> This is true but such a discussion must be balanced with the cost of compliance for newer market entrants.

For example if running a social network or email service etc required following a large rule book then we probably would not have Facebook and maybe not even gmail. We would all be using some clunky Microsoft or IBM solution that took years to add new features because they had to get it all past the regulators.

You don't want to get an angry phone call from a regulator because you put some weekend hack up on HN.

</comment></comment></comment><comment><USER6> The main feudal lords map to the Four internet giants - Apple, Google, Facebook and Amazon. Each has a dislocated jaw and a growing appetite to consume entire industries.

As they grow, our implicit trust in our Feudal lords, without any kind of Transparency in return is a dangerous thing.

<comment><USER7> Apple is an Internet giant? When did that happen?

<comment><USER8> With the release of the iPhone. One example of this was that Apple was able to use their clout to successfully sideline flash in favor of HTML5. That's not to say the technology industry was in love with flash prior to the iPhone, but the iPhone gave apple the sufficient stature to dictate what happens in the mobile technology arena.

</comment></comment></comment><comment><USER9> I'm not sure why this is about security rather than any other aspect of the devices and software services we use. I agree though that power is accumulating into too few hands.

This is also the case in other industries and none of the solutions are very attractive.

<comment><USER10> This is a trans-industry problem. However, with the rise of social networks and other external data holders, it's getting more pronounced than ever in technology. I wrote a large article about this issue - the new feudalism - <USER2> summer 2011. May be of relevance, specifically the bits about distributed p2p storage: [http://www.zdnet.com/facebook-google-welcome-to-the-new- feud...](http://www.zdnet.com/facebook-google-welcome-to-the-new- feudalism-3040093418/)

</comment></comment><comment><USER5> I wonder if technology is in fact a natural monopoly?

If what we are heading towards is a sci-fi future where every single device integrates seemlessly with everything else, can we do that with so many "kingdoms" not to mention the chaos of independent developers doing their own things.

<comment><USER11> Everything about technology so far on the large scale has been about the opposite, preventing every device from seamless integration. Swap the tire from any car to any other car? Plumbers have entire vans full of "compatibility" parts. Over a century of electrical and phone service yet very limited interoperation and limited compatibility yet that "networking" is at the level of trivial connectors and AC waveforms. No, I'm not thinking tech is a natural monopoly.

I remember my joy at the rise of USB... finally no more rs232 problems with DTE vs DCE and 9pin vs 25pin and m vs f connectors... then we got multiple USB connectors. Even funnier we have "power only" usb cables for phone charging that don't have data wires and are visually indistinguishable from "full" cables. Eh... bring back my RS-232, usb isn't any better at all.

</comment></comment><comment><USER12> That page doesn't work on vanilla IE 9 - there's flashing boxes that pop up over the text and artifacts all over the place. Is it really that hard to support the browser that millions of people in offices are forced to use?

Partial screenshot - <http://i.imgur.com/8kP0b.png>

</comment><comment><USER13> Irony:

Mr. Schneier links to MobileScope in his story, a company making an app to help you track which applications are sending your data out.

If you go on their site and sign up to learn more, your confirmation screen proudly displays "Powered by Google Documents."</comment>


Show HN: NoDB - <AUTHOR> https://blog.zappa.io/posts/introducing-nodb-pythonic-data-store-s3 <comment><AUTHOR> I wrote this, let me know if you have any questions. It should be useful for online machine learning, simple landing pages, and prototyping microservices that will have real databases in the future.</comment>


State Of the Art of War: Offensive Techniques in Binary Analysis [pdf] - <AUTHOR> https://www.cs.ucsb.edu/~vigna/publications/2016_SP_angrSoK.pdf <comment><USER2> A link to their binary analysis framework: [https://github.com/angr/angr](https://github.com/angr/angr)

> angr is a suite of python libraries that let you load a binary and do a lot > of cool things to it: Disassembly and intermediate-representation lifting; > Program instrumentation; Symbolic execution; Control-flow analysis; Data- > dependency analysis; Value-set analysis (VSA)

</comment><comment><USER3> This paper is about angr, the binary analysis framework.

</comment><comment><USER4> Does anyone know a good introduction to angr? I looked for one a while back and found most of the tutorials rather cryptic.

<comment><AUTHOR> At the current state of maturity, offensive program analysis tools (Angr, Manticore, S2E, Miasm, etc) do much better with CTF problems than large programs or more general tasks - so to my knowledge you won't find any tutorials that build from the ground up in the vain of an intro to a programming language or web framework.

Your best bet is likely to try writing scripts that solve CTF problems, maybe starting with one you've done manually, and refer to official example docs as your guide. Map similar scenarios when possible, read the API docs when not.

Example docs: [https://github.com/angr/angr- doc/blob/master/docs/examples.m...](https://github.com/angr/angr- doc/blob/master/docs/examples.md)

<comment><USER4> Thank you. I suspected as much, but great to hear that as well. I'll work on some CTF problems.</comment></comment></comment>


Google might get rid of the controversial automatic login feature in Chrome - <AUTHOR> https://www.businessinsider.com/google-could-abandon-chrome-automatic-login-2018-9 <comment><USER2> I'll bet if they do, they'll still leave the "don't delete Google cookies on cookie clear" feature.

<comment><USER3> You lost the bet, according to the last point of [https://www.blog.google/products/chrome/product-updates- base...](https://www.blog.google/products/chrome/product-updates-based-your- feedback/)

<comment><USER2> I was just going to reply to myself to state that. You just earned my +1. :)

</comment></comment></comment><comment><USER4> Too late, the damage is done.</comment>


Alaska Air Acquires Virgin America - <AUTHOR> http://flyingbettertogether.com/ <comment><USER2> Of course it ruins Sir Richard's joke that to become a multimillionaire you first start with a billion dollars and then buy an airline :-). Seems like it was mostly for the gates though, not sure if Alaska is going to embrace the sort of culture that produces those information videos[1]

[1] [https://www.youtube.com/watch?v=DtyfiPIHsIg](https://www.youtube.com/watch?v=DtyfiPIHsIg)</comment>


Ask HN: What would you tell your 20 something years old self? - <AUTHOR> People who are more than 30 years old, what advice would you give your 20+ years old self?
Take that challenging job, get higher degree, start something of your own when you still have time and energy?
I am trying to make very important decision and need perspective from people who have been in the game many years more than me. Thanks! <comment><USER2> First: Learn the essentials of personal finance: savings, taxes, credit.

You already know _how_ to calculate how much your credit-card-augmented lifestyle is costing you, but you _don 't_ — why? Why on earth are you going to take out a loan on a new car next month when you could just buy a used Audi for cash?

Go smoke a joint, introspect on why you have that flaw in your character, and fix it.

Next: You will eventually decide to have kids. When you do, this life will be over. A new, different life will begin. Aside from whatever satisfaction you do or don't get out of the new aspects, one of the main differences will be the amount of your time and energy you can devote to pursuits like making software, writing novels, building a company, etc will be reduced by about 80%. So _this is your window_. Don't let your youth go to your head. You are in the first year of only 10 or 15 that you have left where what you do is totally up to you.

Finally: Stop smoking cigarettes immediately, you stupid little fuck.

</comment><comment><USER3> Never assume that those around you, even close friends or family members, care about your best interests or future. Chances are their actions are based on their own best interests, even when it involves you. There is a fair chance they are not even considering your future in any of their actions. This is not to say that you should not care about others, but that for many people, the only one looking out for _you_ is yourself.

<comment><USER4> I actually found it quite the opposite, the only people who really care about you and your future are your parents.

<comment><USER3> Some parents try to use their children for personal gain, whether social or financial. My hypothesis is that a person who is selfish through his or her life will remain so even after having children. Habits don't break easily, especially if they are needed to satisfy insecurities. I honestly believe that many parents publicly "care" about their children only because it would make them look bad if they didn't. Hence, it's just a show. I had only one parent, and that parent couldn't have cared much less about my future. This is not to say that anyone else (other than myself) cared more. I didn't mean to suggest that non-family cared more than family. I also didn't mean to suggest that nobody has caring family and friends, since I'm sure some do.

</comment></comment></comment><comment><USER5> For me personally the key words would be "Ignore women, accrue finances."

As much as culture tells us pair bonding is the end all be all, it's not. Outside of college your chances of finding a compatible mate reduce by 10,000% or more. Instead of actively looking and compromising keep up high standards for yourself and any potential mate. Instead of taking dozens and dozens of dates spend that time socializing and spend that money investing. Spend time to learn what you should be investing and don't trust pundits except as a barometer as to what everyone else is doing.

For OP, if you really like this question it's been asked a lot. Check reddit and youtube.

<comment><USER6> Yes, because on your death bed you'll remember fondly the growing number in your bank account.

<comment><USER5> Not all. I hope to die broke, having perfectly timed my expenditures.

I joke. It's really because as I age I will be able to afford the comforts and convenience I've grown quite fond of. I will be able to take care of myself and loved ones in emergencies and afford insurance.

But in the end it answers OP's question. And since my life is different from yours I gave a different answer. If you feel my answer is inappropriate feel free to engage me in conversation and learn more about the mistakes I've made, the things I cherish, and my ethnic/cultural back ground.

<comment><USER7> > It's really because as I age I will be able to afford the comforts and > convenience I've grown quite fond of. I will be able to take care of myself > and loved ones in emergencies and afford insurance.

You seem to be making a number of flawed assumptions here.

The first is that you will age. Tomorrow is not guaranteed. You could be hit by a truck tomorrow and die. The second is that access to the comforts and conveniences you have grown fond of are primarily a function of your finances. But your enjoyment of the comforts and conveniences you can afford is also a function of many other things, such as your health, which could be compromised at any time by things you cannot predict or control.

> If you feel my answer is inappropriate...

I think your answer is likely to evoke a strong response because it paints exploring intimate relationships and accumulating wealth as being mutually exclusive.

This flies in the face of data that suggests one of the best ways to accumulate wealth is to partner up. Marriage has been linked to wealth in numerous studies, and by some estimates, more than 90% of the millionaires in the United States are married.

Obviously, marriage motivated by financial gain is probably not advisable for most, but _avoiding_ dating out of the belief that it will produce financial benefit is not very attractive either.

<comment><USER5> Well, should OP had asked "What general advice do you have for someone in their 20's I might have taken studies and their data into account."

My advice to myself in my 20's to avoid dating is based out of how much I've fucked up, having no mentorship and poor instincts in that area. If it helps understanding.

<comment><USER7> It's all about perspective. For example, if I introduced you to somebody who painfully regretted not dating in his 20s out of, say, fear of rejection or relationship failure, you might come to see your past dating experiences in a kinder if not more positive light.

<comment><USER5> That sounds terribly contrived. Eventually most everyone musters up the courage to ask someone out. Petrification by fear is quite the medical condition.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> My 20 year old self? Lessee, doing a little math here...okay, got it: in a few years a software company called Microsoft will IPO. Take every spare dime and buy shares. Continue to do so until about 1999, then sell all of it.

In all seriousness? You're not as clever as you think you are, so try being less of an asshole. Even when you _are_ the smartest person in the room, no one cares, so quit being so insufferable. Spend more time with your musical instrument; you'll never go pro, but it will add enjoyment to your life and sometimes that of others, and when you're older you'll regret having not played more when your were younger.

</comment><comment><USER9> \- Socialize more. \- Pick a technology stack and stick with it for an extended period of time. \- Ask her out.

</comment><comment><USER10> Be more into your kids and less into your own side projects.

</comment><comment><USER11> \- One of your parents will die tragically young. You'll be caught unprepared, this will change everything in your world. Maximize the time you have today, work on your relationship with them. It might be helpful to study psychology as a side project.

\- You breezed through university relatively unchallenged. Understand now that the only way you'll be able to compete in the market is to out-read, out- study, think more strategically, and work harder than your peers. You'll find this helpful when being tapped as a co-founder. A good place to start, read-up on the wisdom of Peter Drucker> [http://academic.udayton.edu/lawrenceulrich/LeaderArticles/Dr...](http://academic.udayton.edu/lawrenceulrich/LeaderArticles/Drucker%20Managing%20Oneself.pdf)

\- Understand that your success goal posts will look entirely different at 30-40-50. Much of the material possessions and career aspirations that seem important now, become junk & meaningless clutter later. Pivoting & reinvention are key to survival. Often you win by surviving.

\- That emergency fund saved your neck when the business tanked. Still you wish you had much deeper reserves.

\- Stop taking your health for granted. You'll be shocked by pro-athlete peers, whose careers are largely over by their early 30s, their bodies spent. Then one day you too get injured, badly. Start consciously taking care of your body now.

</comment><comment><USER12> \- Don't take that job in that country, you're young and adventurous, but the salary difference is not worth it

\- Be less humble

\- Start reading about steroids, the sooner the better

\- Stop reading about design patterns when you don't even know what a Makefile is

\- Don't drink too much functional programming kool aid

\- Pay attention to software licenses

\- Spend more time with your grandparents

\- You don't matter -- that's good

\- Quit distro hopping and try OpenBSD

\- Give your wrist some love and stop using the mouse

\- Don't buy that motorbike

</comment><comment><USER7> I would tell my 20 year-old self to ignore any advice from my 30+ year-old self.

</comment><comment><USER13> \- Don't go straight to college, take a year off or you'll bore out and drop out.

\- Try not to avoid what you're actually good at, you'll end up in IT anyway.

\- Stop wasting money, it'll get you into trouble several times down the road.

\- Stop wasting time.

\- Work out more, it's easier to lose pounds in your twenties then it is now in your thirties.

You'll do just fine regardless.

</comment><comment><USER14> Low cost index funds with dividends reinvested. All your pennies.

</comment><comment><USER15> I would tell myself about the Gale-Shapley matching algorithm and how it can be used to get the best out of life.

Essentially, just keep trying for #1 biggest goal, if that fails, go for #2 biggest goal and so on. Essentially you always shoot for the stars, and you will maximize what you get out of life.

</comment><comment><USER16> Do one thing and do it well. StIck with it. Excel. Get lessons, teach yourself, push yourself. Do it for the love of doing it.

Don't compare yourself to anyone else.

Two marshmallows later rather than one now.

Hang onto those old friends. Even the ones who can be dicks, provided they're not always dicks.

Tell your family you love them because one day it won't be possible.

Learn to love and forgive yourself so you can love and forgive others. Practice loving kindness.

Stop smoking weed.

Introverts lose energy to others and gain energy from isolation, but isolation should be in small doses to avoid de-socialisation.

Get fit, stay fit. Lift weights. Learn martial arts.

Get outdoors. Go up mountains and jump into the ocean.

Ultimately, it's all okay :)

</comment><comment><USER17> One more thing: For your career, look up the concept of "career capital" \- that is what you want to focus on developing at the beginning, much more than your income.

</comment><comment><USER18> When I was 22, I wrote some advice for me for when I was 40, which I followed (at 43), and it wasn't bad, although he was kind of a jerk about it.

<comment><USER19> I'd be interested to know what advise you had for yourself 20 years in the future, and how realistic that advice was?

<comment><USER18> It was in the middle of a travel journal. It said if you are reading this and are 40, quit your job and start something. I did it (consulting) at the soonest convenient time.

I think there was stuff in there about relationships, but that guy was an idiot.

<comment><USER16> I like this :)

20 year olds are full of expectations about the world, and your place in it. If you can re-read those expectations and they chime with you, great -- go do it.

If they don't ring true (the relationships stuff) then you've grown older and wiser. Or just grown different, perhaps.

</comment></comment></comment></comment><comment><USER20> Get pregnant now!

If you have a baby now, your parents (or more likely Randy's parents) will help out and then when you are 30 you will have a 10 year old that can actually do something interesting instead of a 1 year old that you just lug around.

But first, and this is important, have Randy get tested for protein-S deficiency immediately.

</comment><comment><USER21> 1\. None of your decisions are important. I'm not saying that to belittle you. I'm saying it because you can worry yourself sick if you're afraid of doing the wrong thing. Life is a balance between "analysis paralysis" and jumping into things too quickly.

You should lean toward jumping too quickly. Even if you make some small mistakes, be open-minded and willing to learn from them, and you'll be able to recover.

It takes many years of compounding a mistake before you're unable to recover. Career-wise, it probably can't happen until you're 45+ (due to age discrimination).

2\. Whenever possible, take your career in a direction that allows you to be paid more for working fewer hours. This will pay off later in life when you have the money to travel or just want to see loved ones.

There are many ways to accomplish this. One of them is to ask for better- sounding titles, even if they don't come with more responsibility or pay. Another is to develop skills that are widely applicable, rather than highly specific. The worst thing you can do is to develop skills that are only applicable to your specific employer.

For example, I have a lawyer friend who worked on a lawsuit related to microprocessors. He did this for five years. When he wanted to move to a different firm, no one wanted to hire him because he only had experience with microprocessor litigation.

If you're starting out as a developer, try to work somewhere that uses modern, popular technology. Both of those are important: modern and popular. For example, a company that exclusively uses Haskell or Scala is probably not a great idea. You'd want to get experience at something like Python, C++, C#, Java, or JavaScript instead. (Note that the culture of companies that use Java extensively are often very poor, so make sure to read Glassdoor reviews or ask HN about the company).

3\. Sleep. If you focus on doing one thing at a time, you'll be way more efficient than your peers, and you'll have time to sleep 8+ hours a night. Don't work at a company that expects you to sleep less than 6 hours a night and spend all your time at the office. They're living in the past and don't understand that overall output suffers when people don't get to rest.

4\. Build and use your social network. Don't be afraid to ask friends, parents' friends, relatives, and strangers to help you. If you don't have many friends, go out of your way to make more.

My life is exponentially better because of only 2 friendships that I randomly made a few years ago. It's been literally like winning the lottery. But you have to meet a lot of people and make a lot of friends before you find those relationships.

5\. Your career isn't and shouldn't be your life. If you can't have an interesting conversation with someone that doesn't mention your job, you're doing something wrong. Have hobbies and other interests.

In that same vein, ask yourself (or old people) what someone might regret toward the end of their lives. Absolutely no one will say "I wish I'd spent more time working". Virtually all of them will say "I wish I'd spent more time with my family/friends/pets/hobbies". If you don't believe me, go out and ask.

6\. Leave your comfort zone whenever possible. The more you practice it, the better you'll get at it. Every amazing thing in life requires being vulnerable and leaving your comfort zone.

<comment><USER22> > For example, a company that exclusively uses Haskell or Scala is probably > not a great idea.

Wow, you and I are totally at odds on this one.

<comment><USER21> At the beginning of a career?

I'm not saying "don't learn Haskell/Scala" or "never work at a company that uses Haskell/Scala". I'm saying that early on, you want to have widely-used technology on your resume, and then you can start to find a niche.

If your first and _only_ job is at a Haskell shop, it's going to be much harder to get a job at a place that uses something more mainstream.

Does that make sense? This reflects popularity only, not the quality of the technology.

</comment></comment></comment><comment><USER23> stop renting and BUY property. Something BELOW your budget.

<comment><USER24> I disagree. By buying a property you're reducing your options drastically, due to the heavy debt on your shoulders, and by options I mean job opportunities in other places, exploring new areas, starting a business, etc.

For me having options is the most important thing in life, and it's what makes life exciting. Not being stuck to the same place for 20+ years until you finishing paying the mortgage.

<comment><USER25> er, you can just rent? I've bought a house last year and I am in another country at the moment, all I had to do was rent the place... the mortgage is paid by the rent.

</comment></comment></comment><comment><USER17> Here's a few ideas, probably many of them wrong for you (see #3). Certainly your mileage will vary:

* Self-knowledge is the most powerful tool there is: What suits you, what doesn't; your strengths and weaknesses; your talents and blindspots; your limits; what you need, can tolerate and can't; what you love and hate; what makes you feel safe and strong and helps you thrive, and what leaves you traumatized. If you think you already know yourself, you almost certainly don't. You never fully know but you want to learn as much as you can (and in the process you'll learn to understand other people). It's the basis of every important decision you must make: Do I choose this career? Do I trust myself to take on the responsibility of this business, with all these people's fortunes and careers depending on me? Can I commit to love and care for this person for life? Is she/he right for me? Am I ready to put an infant human's life and development in my hands (and can I handle the work/life balance and pressure)? Many people make poor decisions about these issues - How can they make good ones if they don't know the key factor, themselves?

* The only way to develop that knowledge is to try and fail, and then to get up and try again (an essential skill in itself). You can't learn these things by just thinking about them; they aren't in a book. And now is your chance. Later when you have a career, a mortgage, business partners, employees and children depending on you, you can't take a big risk to just suit yourself. Also, I'm not just talking your career, but all aspects of your life: Relationships (especially relationships!), where you live, your lifestyle, etc. People playing it safe will question and criticize you (see below), but just smile and know you are moving ahead while in ten years they'll unfortunately realize they have learned little of life and themselves.

* Learn to ignore everyone's advice and criticism and to trust your own instinct and thoughts. Nobody else really understands you or your situation nearly well enough. They might have good ideas to consider, but you know best (which requires that self-knowledge). No matter what you do, people will criticize you. Even Steve Jobs was fired, Bill Gates reviled, and Martin Luther King was hated by many and polls show he was unpopular during the civil rights struggle; you could be President of the United States and people daily will call you an abject failure. And you will fail constantly, sometimes horribly, just like the rest of us, and while you are failing there will be no promise of success. Given that you will face criticism, questions, and failure no matter what, and that there is no promise of a good outcome anyway, at least do what you love and think is best, and enjoy the ride.

* Gather some data: Look at people at the other end of life, or ask them: What turned out to be important? My guess is most will answer, their family and personal relationships. Few people wish they had spent more time at work; many wish they had spent more with family. Finally, a good marriage is perhaps the most valuable thing in life but it takes far more than love and good will; it takes dedication, hard work, skill, and, as much as anything, self-knowledge.

I hope some of that is helpful!

EDIT: A minor edit or two

<comment><AUTHOR> Interesting, #3 seems to be more important one and I never understood things mentioned #4. Thanks for your perspective in such detail.

</comment></comment><comment><USER26> Don't panic.

</comment><comment><USER27> I just turned 30 about 6 months ago and spent a lot of time reflecting on the ups and downs of the past 10 years. To directly answer your questions based on my own experiences:

1.) Take the challenging job - YES. Of course, this is somewhat vague advice. If I had it to do over again, I would have taken the job at Google (now Facebook, AirBnb, Uber, Dropbox...) rather than joining the small startup right off the bat. The startup world is full of charlatans, and working at a more established company initially will give you credibility, engineering skills, a network and savings that can help you navigate sharky waters. I would have done the startup 2-3 years later. Instead, I did the opposite, which worked out fine, but meant that I had to learn a lot of lessons the hard way.

2.) Get a higher degree - MAYBE. I got the higher degree (MS) at a top school. But, I already had the undergrad degree which would have gotten me in the door at any of the aforementioned companies. I enjoyed grad school, and it gave me an opportunity to explore lots of fun subjects that I missed in undergrad due to requirements. However, it delayed me from learning hard lessons in the real world that probably would have benefited me more. From a financial standpoint, I don't think an MSCS is worth it, even if its free, because you'll come out ahead with more years of real-world experience and an additional year(s) of salary as a software engineer.

3.) Start something of your own - YES. Do it. But do it when you have a solid group of friends that are willing to take the plunge with you and an idea that you are confident in (have vetted through customer development or some other means). I did it when I was 24 or so, first as a contractor and then launching several products. Working as a contractor allowed me the freedom to travel through South America, which was literally the best experience of my life. My attempts to start a company were not as successful... I got scared by my dwindling bank account, was unsure of whether the idea would work and hastily got a job. BUT, my cofounder stuck with it, found another cofounder and is now running a multi-million dollar company. Thus, my advice to do it, but when you're good and ready, committed, and have friends that are 100% bought in.

As for other advice, I think the biggest thing I learned in my 20's is that sometimes you've gotta stick it out through the tough times. Without going into too much detail, I passed on several opportunities that would have dramatically changed my life, largely because of my own stubbornness, arrogance, and view that I was too good to be stuck doing work that I felt was beneath me. I'd echo the comment about "pick one thing and get really good at it," but I would disagree that you need to "do it for the love of doing it." Sometimes you're not going to love it. My friends/acquaintances that took calculated risks, and kept going where others wouldn't were the ones who ended up on the cover of Forbes (literally).

<comment><AUTHOR> Well, I wasn't looking for exact those question but it still helps, especially the third part and the conclusion. Thanks!

</comment></comment><comment><USER28> I'm not over 30 yet just 28 and I would have told myself to stay in school or just end it. If I could speak to my 18 year old self I would tell him to choose a different subject.</comment>


Show HN: A site for teaming up designers and developers on short projects - <AUTHOR> http://analoghq.com

<comment> wc- Signed up and looking forward to the email! Does anyone know of other sites like this out there? I've spent the past year or so pushing my own startup idea, it didn't work out but I learned a lot. Now I am just looking to take a few months off of my own ideas and pitch in on someone else's MVP, get more experience, and meet new people.

I guess I might as well shamelessly plug myself: I am a developer who writes python and nodejs on the backend, loves coffeescript, and my last project used Meteor.

<comment><USER2> I am a first-year CS student looking to build a very small personal project. I could definitely use a mentor, if you are interested. You haven't listed your email but mine is in my profile, feel free to drop me a line.

and if not try <http://www.weekendhacker.net/>. It launched about a year ago with the same idea and format as Analog. It grew quickly and was fairly successful for a while. It has been quiet lately, the creator mentioned going through some personal stuff, but the most recent mailing was May 4 and it looked great and sounded promising. Good luck finding a project.

</comment></comment><comment><USER3> I don't know how I feel about just typing in the idea for my project into some random form and hitting submit.....

<comment><AUTHOR> Well, it's only 120 chars. The idea is for it to be just for side projects, rather than billion dollar ideas - so the risk of showing off your idea isn't huge. I do get your concern though, and I'm gonna work on beefing up the FAQ and Terms so insecurity will be minimised:)

</comment></comment><comment><USER4> Unfortunately I've interacted with the author of this project, Zander Brade, and he turned out to be one of the most untrustworthy designers I've ever encountered. Due to my past experience with him I have no intention of touching this site/project. Sorry, but I had to say it.

<comment><AUTHOR> I've done a lot of very stupid things in my career. Only 17, still learning. I'm super sorry though that you feel this way:( Maybe mail me zander.brade AT gmail.com and I can try make it up.

<comment><USER5> Everyone makes mistakes - you probably won't be able to make up too well with this guy in particular since negative reactions are very hard to shake. However, there are luckily tons more people and good work is good work, so keep it up!

I signed up on your site.

<comment><USER6> I agree with Ryan here, I signed up as well, your site fills an important need that developers and designers have and I am looking forward to this. The one point I wanted to criticize is that there was no validation on your form , i made a typo in developer and managed to get through. Also I didn't receive any email confirmation.

</comment></comment></comment></comment><comment><USER7> A few weeks ago there was a discussion between developers and designers here becasue of an article 'Designing Open Source'. Discussion here: <https://news.ycombinator.com/item?id=5550522>

Basic idea was designers want to give back to the community but can't find any (good) projects. They could do 'drive-by-design' or put in more time and see the project grow. This site could help. But reputation is everything and I'd like to see a bit more up front. A bit more of the guy who made it would be nice. Kind of makes my Spidey sens go off as empty as it is right now...

<comment><AUTHOR> Annoying coincidence, but just as I was about to launch Analog today my site went down. I'm sure it's a pretty simple fix but it was something I've put to the back rather than going at it now. So I just have a landing page atm instead.

<http://zanderbrade.com>

On any other day you'd be able to see my full site, with a ton of stuff about me, my work and my writing. I'll go work on getting it back up now. So, I understand your reaction.

Thanks for the feedback:)

<comment><USER7> Thank you for your reply. As I said, like the idea. You're only 17 so I think you're doing some great things. (Especially if I think back to all the things I was doing at age 17). When you're site is up again I'll have a look and perhaps I'll sign up.

<comment><AUTHOR> Turns out it was easier than expected haha. <http://zanderbrade.com>

Thanks a bunch for all the nice stuff:)

</comment></comment></comment></comment><comment><USER8> Isn't there a plethora of these types of sites already? I think you'll need to come up with some kind of extra angle if you want people to sign up.

<comment><AUTHOR> Not that I know of - certainly not a large selection that function in the same way as Analog. The idea was inspired by Builditwith.me by Drew Wilson, and I wanted it to function like Tinyproj - that's how it's come together as is.

So yeah, there probably are quite a few, but I'm confident that Analog has something unique going for it.

</comment></comment><comment><USER9> I think the animations (bounce effects) on this page are a little too much and it actually hurts the UX. It needs to be more subtle.

</comment><comment><USER10> Nice page layout. The /create page is missing a text field to tell if my project is missing a developer or a designer.

</comment><comment><USER11> I hope to see something similar for project/product/program managers willing to join dev/design teams.

<comment><AUTHOR> Started working on expanding that in.

</comment></comment><comment><USER12> Developers: learn Photoshop and CSS. The designers you'll find this way will not be worth anything more as designers than operators of Photoshop and CSS.

Designers: learn programming. The programmers you'll find this way will not be worth anything more than a really inefficient way to test your designs through a compiler.

There is real value to having a skilled designer and a skilled developer, but those people are rare and you aren't going to find them reliably if you don't know anything about their fields. At best, you might randomly stumble on one. Considering that communication is far more important of a skill than most other skills, the only way to find the right people is to first get to know them as people, not as objects to plug in to a whole in your project. I talk more about this on my blog ([http://moron4hire.tumblr.com/post/48619863000/hiring-is- dati...](http://moron4hire.tumblr.com/post/48619863000/hiring-is-dating))

Both of you will be far better served by the experience. You might have an idea now that seems like it has a burning need to be developed and you don't have the time to learn on your own, but it's just not true; that's the manic tendencies inside of you talking. If you give in now, you'll be in this exact, same position in N months when the next burning-a-whole-in-your-brain project idea comes along.

By all means, continue with your project as you learn. It will probably suck, but you'll come out of the other side with more skills, ready to make the next project even better.

<comment><USER13> While I agree with the thinking here, simply learning Photoshop and CSS doesn't make you a designer and learning programming doesn't make you a programmer. I'm a front-end dev who's more than competent in Photoshop and can write really modular, daresay good CSS but if I had to decide between using a designer or making my own design, nine times out of ten, I'm going to use someone who is, by trade, a designer and has an eye for crafting a beautiful UI, choosing colors, and for laying out type.

I'm slowly but surely getting better at design things but I choose to focus my energy on development rather than prettifying pixels (I say that with absolutely no intent of malice).

I agree that broadening my skills to include design would be helpful. I'd also be really great off if I learned how to treat my own ailments and fix my own car. I can't do it all though, so when I have the need, I partner with designers. I look through portfolios, gauge talent and ability, and hope for the best.

<comment><USER14> _While I agree with the thinking here, simply learning Photoshop and CSS doesn't make you a designer and learning programming doesn't make you a programmer._

I don't think he said that nor suggested it. The point is being able to empathize with your "other half" (dating term!). Empathy is important and critical for the success of both the technical and interface design of any web product.

<comment><USER13> Ah, my misunderstanding then!</comment></comment></comment></comment>


Creative Thinking (1952) - <AUTHOR> http://www1.ece.neu.edu/~naderi/Claude%20Shannon.html <comment><USER2> > This, we might say, is a matter of environment; intelligence is a matter of > heredity.

Sometimes I think we're better off ignoring this premise because people, irrespective of how much potential they've, will kill themselves in self-doubt over whether they've won the genetic lottery. When I started programming, I had constant worry if I was made for programming—if I had "the right stuff" for it. Now, in the hindsight, that question just sounds silly. Everyone has a knack for programming, it just takes an effort.

<comment><USER3> I agree. It's really strange that so many people think IQ or intelligence is some sort of fixed value. There are definitely people that seem to come out of the gate at a faster gait while others have serious handicaps to deal with, but as a general rule if you assert you are not smart enough to understand something, you're kind of asserting you understand it to the extent that you can claim you won't be able to get it ... which doesn't make sense.

Also, here's a great article that explores the idea of IQ: [https://www.theatlantic.com/national/archive/2009/07/the- tru...](https://www.theatlantic.com/national/archive/2009/07/the-truth-about- iq/22260/)

</comment></comment><comment><USER4> The first portion of Shannon's analysis of creativity, the creative person, reflects closely with past creativity research. However, IQ has been shown to barely correlate with creativity in most cases. Amabile has commentary on this topic in her seminal article, "The Social Psychology of Creativity". She argued that there are three components of creativity. Two are shared by Shannon, namely, task motivation and domain relevant knowledge (knowledge acquired in any field over time). The third, and focus of this article is creative ability. Coincidentally, the researcher E Paul Torrance created the oldest and most valid way to measure this called the Torrance Tests for Creative Thinking. Regarding the second portion of Shannon's article, ways of generating creative productions, there are many creativity techniques developed by Osborn, de Bono, and others. Shannon's particular tips are reminiscent of a divergent thinking tool called SCAMPER, an acronym that gives guidelines on how to look at any idea or challenge differently. The letters stand for, respectively, Substitute, Combine, Add to, Modify, Put to other uses, Eliminate, or Reverse.

</comment><comment><USER5> "I don't want to sound egotistical here, I don't think that I am beyond the knee of this curve and I don't know anyone who is."

I'm always so surprised when I read such statements from extraordinary people. Why the hell would _Shannon_ of all people have such a distorted view of himself? Is this just hypocrisy, a kind of fake humility, or do most geniuses think they are average?

<comment><USER3> I don't know if this answers your question, but I'd say a great deal of intellectual strength can be derived from acknowledging the depth of our ignorance in the first place. Shannon seems to be getting at this in his descriptions of dissatisfaction and drive.

On somewhat of a tangent, in many ways science and creativity are fundamentally opposed. Science requires constant, humble resignation to reality. And, though creativity may work within the confines of reality, I'd say it tends to have a more rebellious attitude. Shannon doesn't explicitly say it, but he's definitely getting at the fact that the greatest intellectuals manage to excel at both somehow and I think his suggestions at problems solving are an attempt to give a potential equation for doing so.

All that aside I think your question has more to do with Shannon's personality than his intellectual achievements and I'm sure his personality type can be found evenly distributed across the population's IQ range.

</comment></comment><comment><USER6> This is interesting as it's Shannon's own writing. There was a recent Medium post listed here on HN about Shannon: "Claude Shannon: How a Genius Thinks, Works, and Lives (medium.com)"

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


Every reference to Kim Jong Un in official HTML is wrapped in a ﹤nobr﹥ - <AUTHOR> https://twitter.com/steobrien/status/907358641723977728?t=1 <comment><USER2> It's good to be the king, I suppose. I'd love to have all my pet peeves encoded into law.

</comment><comment><USER3> Not as cool as North Korea's extremely zealous use of the _strong_ tag: [https://gizmodo.com/5599650/in-north-korea-even-the-html- cod...](https://gizmodo.com/5599650/in-north-korea-even-the-html-coding-is- very-strong)

<comment><USER4> Can anyone guess how this happened? A static generator going haywire maybe?

</comment></comment><comment><USER4> I had no idea this tag existed so I looked it up: [https://developer.mozilla.org/en- US/docs/Web/HTML/Element/no...](https://developer.mozilla.org/en- US/docs/Web/HTML/Element/nobr)

Turns out it's a non-standard tag. FireFox supports it though and the Red Star OS uses a browser that is a fork of Firefox[0].

My understanding is that the Red Star OS is the only OS used in North Korea. So I guess that means in North Korea, `nobr` _is_ in the standard.

[0] [https://en.wikipedia.org/wiki/Red_Star_OS](https://en.wikipedia.org/wiki/Red_Star_OS)

</comment><comment><USER5> I guess due to his last name. Un?

If you break the title of this post before his last name it would read

Un in official.

But we also know that isn't the only reason. If you are his age with nukes I guess most would have H1 tag wrapped around it too.

<comment><USER6> Yes. These tags are correct and necessary.

Can't see what the fuss is about, other than that NK knows how to use HTML.

<comment><USER7> DPRK seems to know a LOT more than HTML. They are not dependent on (read vulnerable to) the Internet in the burgeoning ways of the rest of the world. They clearly see it asymmetrically, as our Kryptonite:

1) "its connection to a hacking group called Lazarus that is linked to last year's $81 million cyber heist at the Bangladesh central bank and the 2014 attack on Sony's Hollywood studio" \- [https://www.reuters.com/article/us- cyber-northkorea-exclusiv...](https://www.reuters.com/article/us-cyber- northkorea-exclusive/exclusive-north-koreas-unit-180-the-cyber-warfare-cell- that-worries-the-west-idUSKCN18H020)

2) "Bureau 121 is staffed by some of North Korea's most talented computer experts and is run by the Korean military." \- [https://en.wikipedia.org/wiki/Bureau_121#cite_note- reuters-1](https://en.wikipedia.org/wiki/Bureau_121#cite_note-reuters-1)

3) "The wannacry ransomware has a link to suspected North Korean hackers" \- [https://www.wired.com/2017/05/wannacry-ransomware-link- suspe...](https://www.wired.com/2017/05/wannacry-ransomware-link-suspected- north-korean-hackers/)

<comment><USER8> This doesn't tell me they know what they're doing. This tells me they are scrambling for a few million here and there when they can. Wouldn't you guess that a state funded actor could be much more dangerous than encrypting your personal files and demanding $400 while leaving a kill switch easily available?

</comment></comment></comment></comment><comment><USER9> It's also bolded and, at least in the left sidebar of news articles, it was set to be 1pt larger than the surrounding font size.

</comment><comment><USER10> I want this in my linters. Why take a chance?

</comment><comment><USER11> Dear Leader can't be broken in HTML or real life.

</comment><comment><USER12> Clearly just stop his name getting split, but it's also a nice bonus that it's semantically correct [http://www.urbandictionary.com/define.php?term=nob](http://www.urbandictionary.com/define.php?term=nob)</comment>


One Driver Explains How He Is Helping to Rip Off Uber in China - <AUTHOR> http://www.bloomberg.com/news/articles/2015-06-28/one-driver-explains-how-he-is-helping-to-rip-off-uber-in-china

<comment><USER2> Interesting, this is why security is extremely important for big companies. Especially ones where fraud is a real issue. Oh and of course for people who have to store personal data, something that many companies have yet to learn _cough_ Sony _cough_</comment>


Ask HN: Applying for jobs months in advance, advice? - <AUTHOR>

I've recently started looking for a job to begin after I graduate university (with a computer science degree), and I thought it would be best to start early. I spent the previous year working in an internship position, and I will graduate at the end of April (about 6 months). I expect that most companies that put up job postings are looking for someone now though. While there are a few larger companies that hire students in advance (like Microsoft and Google), I wonder if I'm wasting my time by applying for jobs now. I've also been somewhat picky in the job that I want, I feel that I'd rather work somewhere that I can grow in an area I'm interested in, rather than just get a job for the sake of earning money.
I believe getting work doing something I enjoy, and growing through work experience would be optimal for my future, but I've even thought of attempting freelance work just to ensure I'm doing what I want to do after I graduate (which I haven't even really narrowed down yet, more so I know what I don't want to do). I wonder if I would be better off just getting a job anywhere I can, but worry that it will not lead me down a path I would be happy with. Perhaps I'm naive thinking that I can get everything I want after finishing University, but at the same time I feel that it's an achievable goal and I'd like to set myself up as best as possible to grow. I'm not opposed to moving pretty much anywhere in North America, and am not too concerned about my salary either (within reason).
Any advice for me, HN? <comment><USER2> A few pieces of advice, having just gone through the job search process myself.

1\. 6 months isn't too early to be looking for job, but I wouldn't worry so much about current advertised positions. I'd focus on meeting people at companies you'd want to work for in the future and developing relationships with them.

2\. Don't over-think the first job. You may not like it but the biggest danger is having too much time on your hands while you look for a job. It can get depressing.

Here's a blog post summarizing my experience job hunting and living in a new city without an apartment or job:

[http://dalethoughts.com/2012/11/what-its-like-to-move-to- a-c...](http://dalethoughts.com/2012/11/what-its-like-to-move-to-a-city-with- no-apartment-and-no-job/)</comment>


Web Application Exploits and Defenses - <AUTHOR> http://google-gruyere.appspot.com/ <comment><USER2> This is something I went through several years ago before the college lab I was a part of put together our own curriculum its a pretty good primer IMO

</comment><comment><USER3> Is it similar to OWASP WebGoat?

[https://owasp.org/www-project-webgoat/](https://owasp.org/www-project- webgoat/)

</comment><comment><USER4> Malwarebytes endpoint protection blocked me from visiting on suspicion that the site contains a Trojan.

</comment><comment><USER5> Are there other courses laid out like this? This looks fascinating!

<comment><USER6> [https://xss-game.appspot.com/](https://xss-game.appspot.com/) (this has a lot of overlap with gruyere)

[https://github.com/cure53/XSSChallengeWiki/wiki](https://github.com/cure53/XSSChallengeWiki/wiki)

[https://sites.google.com/site/infosecrocks/](https://sites.google.com/site/infosecrocks/) (this links to some of the other stuff I mentioned)

[https://www.hacking-lab.com](https://www.hacking-lab.com)

There's also these 2 advanced XSS challenges:

[https://alf.nu/alert1](https://alf.nu/alert1)

[https://prompt.ml/0](https://prompt.ml/0)

I'm not sure if they're still functional, I think some of their solutions require functionality that browsers have since changed.

You might also want to check out the Youtube channel Live Overflow:

[https://www.youtube.com/channel/UClcE- kVhqyiHCcjYwcpfj9w](https://www.youtube.com/channel/UClcE-kVhqyiHCcjYwcpfj9w)

<comment><USER7> Another web and mobile application security training platform: [https://github.com/OWASP/SecurityShepherd](https://github.com/OWASP/SecurityShepherd)

</comment></comment></comment><comment><USER8> As a pedantic note, Gruyere does not have holes. Emmentaler is probably the one people are thinking of.

<comment><USER9> appartently the french Gruyère has small holes. who knew...

[https://de.wikipedia.org/wiki/Gruy%C3%A8re_(K%C3%A4se)](https://de.wikipedia.org/wiki/Gruy%C3%A8re_\(K%C3%A4se\))</comment></comment>


Ask HN: What phone should I buy? - <AUTHOR> Hi HN, I am looking to buy an Android phone. I don't need it to be the latest greatest thing with the best camera or anything, I'm looking for a simple phone that satisfies the following requirements:
1) No bloatware
2) Will be supported for 2+ years (security updates, OS gets upgraded, etc), strong preference for 3+ years]
3) Has a headphone jack
That's about it. It seems really hard to find a phone that satisfies these requirements, or am I just looking in all the wrong places? It doesn't need to be insanely cheap, I'll spend a few hundred bucks, I just feel like I'm getting ripped off spending $800 on a premium flagship phone when I don't really need the latest greatest thing. <comment><USER2> You should look into Xiaomi. They produce high quality phones that receive regular updates, even older phones on a weekly or bi-weekly basis. They update security patches very fast and even offer the A1, which is stock Android, for around 200 bucks.

I myself own a Mi5 Pro for 1-2 years now and I still love it and I am not even thinking about upgrading, this thing is perfect even nearly 2 years in.

Also, compared to iPhones these things are simply perfect looking, no camera bump and MIUI is a mix of Android and iOS, which I learned to love coming from iOS.

<comment><USER3> I second a recommendation for Xiaomi. Happy owner of a Redmi Note 3 for about a year and a half now. No lag, very little junk apps by default, and a UI that is actually useful (instead of good looking, but impractical UIs). Even my mom, who's very non-technical loves the straightforward nature of the UI (I ended up getting a Redmi 4 for her recently).

Plus, the developer forums are very very active, so even if you run into any issues (rooting, flashing , etc if that's yout thing), then you know you have a very supportive group of devs. Also doesn't hurt that the phones are cheaper, so the whole "what if I lose my warranty?" or "What if I drop/lose my phone?" concerns are much lesser.

It's not got the most stunning camera in the world, but having ZERO lag and a easy 1.5-2 days of charge besides all the other pros more than makes up for it!

</comment></comment><comment><USER4> The best choices for no bloat and timely updates are Android One, Nokia and Sony devices. They have guaranteed updates for at least two years and actually provide timely security patches (so that in October you have October's security patch level instead of something from x months ago).

LineageOS is not a replacement for security updates from the manufacturer because they can't patch vulnerabilities in proprietary drivers. Custom ROM's are also often riddled with issues that you may or may not have the patience to deal with, and Safetynet attestation means that you may have trouble using some apps on a modified device.

<comment><USER5> Does LineageOS have working OTA updates? Last I looked, I got the impression that it was a reinstall & restore affair to get security patches in.

</comment></comment><comment><USER6> The mid-range processors to look at are Qualcomm 625 and 630

1\. Nokia 7. The new Android-based HMD Global's Nokia is providing the fastest updates on the market. And the phones look really nice. Just came out so I think you'll have to wait for it or get a slightly less powerful (but also cheaper) Nokia 6. Or a Nokia 5. Or even a Nokia 3, if it's powerful enough. All of them should receive Android Oreo ([source]([https://twitter.com/sarvikas/status/903867368052490240)](https://twitter.com/sarvikas/status/903867368052490240\))]

2\. Xiaomi Mi A1. Thanks to Android One project the phone should deliver both great stock system experience and fast updates. Unfortunately not available in every country.

3\. Moto G5 plus. Stock Android and prettty good updates. But not as good as Nokia's.

4\. Buy a cheap Xiaomi and install Lineage / other OS. The model I suggest is Redmi Note 4. I personally have a Redmi 4 Prime because it's smaller, but Note 4 has better ROM support.

</comment><comment><USER7> I'd get something that has LineageOS support [1] or, even better CopperheadOS [2].

Copperhead OS is restricted to new Nexus and Pixel devices only, sadly.

Both options are great when paired with F-Droid [3].

I'm eagerly awaiting how postmarketOS [4] develops. Still in its infancy, though. It's basically a Linux distro on top of an Android kernel, so they also need to grow an ecosystem.

If you want something with a Linux userland and quite polished, try Jolla on a Sony Xperia X [5]. Still not fully open, so I prefer the above options.

[1] [https://download.lineageos.org/](https://download.lineageos.org/)

[2] [https://copperhead.co/android/downloads](https://copperhead.co/android/downloads)

[3] [https://f-droid.org/](https://f-droid.org/)

[4] [https://postmarketos.org/](https://postmarketos.org/)

[5] [https://shop.jolla.com/](https://shop.jolla.com/)

</comment><comment><USER8> Something from the OnePlus series, which, if you are comfortable with rooting, you can install a custom ROM and keep getting updates.

Alternatively, you could perhaps buy a nexus 6P? It's on amazon.com now for about 300$.

<comment><USER9> I have my OnePlus One from early 2015 which is my daily driver, swapped in a new battery the other day and I'm good again. Sadly they seem to have abandoned it entirely tho, haven't seen an update or anything in over a year. Performance wise however, I don't see myself switching anytime soon.

<comment><USER8> Yeah. The OnePlus update rate is lousy. But in terms of value, it's hard to beat..

But there are good roms available [1], and rooting is not all that hard. So that may be an approach you could try?

[1] [https://forum.xda-developers.com/oneplus-3](https://forum.xda- developers.com/oneplus-3)

</comment></comment></comment><comment><USER10> Moto G5 Plus (though updates might not stretch to 3 years). Here's a review: [http://www.trustedreviews.com/reviews/moto-g5-plus](http://www.trustedreviews.com/reviews/moto-g5-plus)

tl;dr: stock android with no bloatware (Nougat, though should get at least the Oreo update), fast Snapdragon 625 CPU, big screen, dual-sim, decent battery, good camera and available for ~$320 (or ~$100 less for the basic G5).

I'm about to swap my ageing Moto G2 for one.

<comment><USER5> Moto is poor with updates IME, security patch level lagging 6-10 months.

<comment><USER10> Fair point. Hopefully Lenovo will get better at this. I kind of overlook it since I don't use my phone for anything other than calls/sms, email, light web browsing (99% of the time wikipedia or hn), google maps, whatsapp, uber and taking a few photos. Rightly or wrongly I don't care too much about security since I'm not installing loads of apps and don't use the phone for much (still encrypt it though in case of physical theft).

<comment><USER5> If you hook it up to your Google and/or other social media accounts, you should care about security because a compromised phone can compromise your account, spam all your contacts, pwn your Gmail, etc.

Even if you don't use a Google account and install only selected apps, you need an up-to-date OS for web browsing, there are hostile ads even off sites like Reddit due to ad networks funneling bad stuff through. Also there are similarly unsafe ad network content embedded in otherwise reputed apps.

</comment></comment></comment></comment><comment><USER5> iPhone SE ticks 1-3 and price if you can compromise on the Android requirement.

<comment><USER11> I was going to say, iPhone SE or a refurb 6s/7

The upgrade requirement won't happen with Android if you want official updates

</comment></comment><comment><USER12> Moto z play or Moto z2 play. My z play just got 2017-10 patches. The mods are interesting, but mostly useful for attaching a battery mod. My phone has never died in a 24 hour period, although I did once drain the external battery and get the internal down to 30%.

<comment><USER13> Moto is absolutely terrible at updates. My Moto X Play that I bought in 2015 just got its update to Nougat (really?! Oreo is already out). I can also count on one hand the number of security patches this phone had in the whole time I've owned it.

</comment></comment><comment> Fire-Dragon-DoL I'll add one requirement to the OP request: not wider than 71mm.

My hands are small and I use my phone with one hand most of the time. I'm still on a nexus 4 (love the size), but it's getting laggy and battery suffers (i owned this phone for 4+ years)

<comment><USER14> 1 year in with the Nexus 5P and it's lagging for upwards of 1-2 seconds in Maps and runs out of battery sometimes in less than a day. The screen width is nice for reading but hard for using in one hand, e.g. when using it on a bicycle. Next time I'm definitely getting a smaller, cheaper phone with less battery use. And an FM receiver.

<comment><USER15> Nexus 5X here (bought in July 2016 iirc) - got Android 8 a while ago (liked 7 better, but ok) and can only hope it continues to get updates.

Can absolutely recommend the phone, but no clue how long it will be viable.

</comment></comment></comment><comment><USER16> I just got that a huawei p8 lite 2017. I paid it <200$ and it's pretty good. It feels like an iPhone rip off and you need to uninstall a few apps/change some settings in param. Overall I'm surprised that it's that good.

</comment><comment><USER17> Moto g5+

It's alright and cheap and once support runs out you can probably root and switch to cyanogenmod.

bonus: raw camera when you root (google how)

</comment><comment><USER18> Xiaomi or OnePlus. I'm super Happy with my OnePlus 5</comment>