Ask HN: What is the future of browsers? - <AUTHOR> I am trying to understand what features would be in next generation browsers? What would your favourite browsers look like? <comment><USER2> To some extent, you can look at mobile app platforms for guidance:

\- identity service

\- payment services

\- 3D positioning data, including 6DOF

\- hand tracking and object tracking (AR)

In terms of future-y stuff, I can see some sort of blockchain integration, like CloudStorage as an IPFS version of LocalStorage. That would potentially need to dovetail with the identity and payment stuff.

I suspect as we get deeper into AR times, some kind of device-relative geo services will need to be necessary. Like, give me a list of services that are within 1 foot, 20 feet, and 1000 feet respectively.

Personally, I also think the browser is ready to make the leap to a kind of raw metal relationship with hardware. ChromeOS is an example of this, Firefox OS was an attempt. I'd like to see more specialized OS's that can boot hardware directly to the web. The security models on Mac and Windows are slowly approaching something more like the web anyway, where apps run in a sandbox. Web pages have been doing that forever, so it seems like a good fit for a security-conscious OS.

A mobile headset would be a good opportunity for such an OS to differentiate itself. Which leads me to...

The other huge opportunity I think is in web "filters". We've gotten to the point now that there's just a lot of crap out there, and with ad blockers and readability filters we've started to dabble in a meta layer. I think a future web browser will go full meta, where by default you don't see the actual web page, you see a thumbnail and a bunch of views on the data in that web page, and you only dip down into the giant messy interactive ad-riddled view if you want to.

Past endeavors include the whole space of web annotation, semantic web, etc. Not sure why none of that has taken off, but seems like something that will find product market fit eventually.

One of those "filters" could be an AR filter. Take a web page and map it into AR space. Also VR. Add avatars of other people around the content. But there should be a whole marketplace of filters, language translation, low power filter, etc. Opera was doing some version of that. You could have political filters too. "Block all misogyny", "Add Fox News' take", "Keep everything tidy and German" etc.

A lot of this marks a general transition from a site POV to a user POV for the browser.

If anyone wants consultation on any of these ideas, I'm available for hire. :)

<comment><USER3> This is a visionary comment. It's looking at the 10-year future. Let me add two thoughts:

What we do now is "surf". We view info as pages, which are presentations constructed and filtered by someone else. What you're suggesting is that instead of surfing the surface, we could dive deep into the info-ocean and construct a presentation for ourselves. The future-browser is the tool to enable that.

I'm guessing that eventually we'll each have an AI that learns how we want to consume info; an AI that eventually becomes an assistant. She will become the layer between us and the info-ocean, filtering, organizing and presenting, and even suggesting, guiding and teaching. She know our interests and habits, read our emails, and take our phone calls. She may be owned and controlled by a corporation, like Alexa, Siri, Cortana or Google Assist. Or maybe we'll be able to construct our own AI-assistant, integrated into our browser/phone/AR- headset.

Right now we're the fish, hooked by advertising and branding schemes coated with a layer of technology. Someday maybe some fish can hide behind a technology layer of their own.

</comment></comment><comment><USER4> Browsers seem to be converging.

It's quite obvious that they will all implement next JS standards, with some experiments here and there.

They will add API access to more hardware like VR helmets, controllers, maybe even USB devices (which would be great for web hardware based security, like 2FA).

Probably voice control and typing (like on Android).

Probably automatic translation (not just by Google).

Built-in free VPN (limited obviously) and TOR would be nice.

</comment><comment><USER5> Hopefully there will be more browsers/engines than just 2-3 large ones. I know that will make web dev difficult, but it will encourage the most innovation online.

I'm sick of having to choose between either Firefox, Edge, or a thousand Chrome knockoffs. There needs to be more diversity.

</comment><comment><USER6> My favorite browser?

Ability to set ceiling for memory usage and bandwidth per tab. It has traditional boxy 1990's style design, a traditional File, Edit, etc., none of this hamburger menu crap. It suspends or kills background tabs.

An empty browser uses 1MB of memory or less. A full browser never uses more than 256MB of memory.

In addition to JavaScript, it supports a compiled language out of the box, like Java, but open source, secure, and non-bloated.

It has "skinny goggles" which let you trim the fat from webpages, removing unnecessary CPU, bandwidth and memory usage while keeping the site readable.

Audio and video content is blocked in each tab until you specifically allow it.

</comment><comment><USER7> I think the main browsers will continue to dominate (it's tough work to launch and maintain a browser, so there's a high bar to entry). I feel native features will continue to be exposed via the browser, and eventually, I can see web apps eventually replacing their native counterparts. I am personally a big fan of web apps, and prefer them to native downloads that highjack my phone or computer - browsers just need to be careful to manage permissions to intrusive APIs in a sensible manner.

</comment><comment><USER8> I would love a browser that didn't take 100mb of memory per tab. Though I'm not sure how much of that is to blame on the browser/plugins or the webpage.

</comment><comment><USER9> Love to the Servo from Mozilla take over the world soon.

</comment><comment><USER10> I would love a way to ditch HTMl/CSS and use a thin abstraction on top of native GUI toolkits (WinAPI, Qt, Gtk, Cocoa...) instead.

<comment><AUTHOR> This is indeed a great idea but the only problem is that these frameworks may not fit today's responsive needs

</comment></comment><comment><USER11> I have been enjoying using selenium as a programmatic interface with the browser. Hopefully more of that!

</comment><comment><USER12> I think the best part of the browser are the extensions and plugins people make.

</comment><comment><USER13> a web os, basically a browser will be something like android but without needing to download an app first.

</comment><comment><USER14> Accessibility

</comment><comment><USER15> WebAsm</comment>


How do you monitor your APIs? - <AUTHOR> http://www.apiful.io/intro/2016/07/06/how-do-you-monitor-your-apis.html <comment><USER2> My _API_ s? The same way as I monitor my documentation or my implementation source code.

Is it me, or is it the programmers today can't tell the difference between service and specification?

<comment><USER3> Meanings drift over time. We can probably credit the terms 'REST API', 'HTTP API', and 'JSON API' for popularizing the usage of the term for 'web service', especially since that term went out of fashion in the mid-2000s.

<comment><USER2> What I don't understand what's simpler and clearer in "REST API" term over "REST service". The latter even reads shorter.

I do understand, however, that meanings drift. Mostly because undereducated and clueless people, unfortunately.

<comment><USER3> Eh, 'service' is an extremely overloaded term, so constructions like 'HTTP service' and 'JSON service' are ambiguous and awkward. I actually rather prefer the term 'API' used as a metonym [1] to describe the running instantiation of the 'actual' API, because the meaning is disambiguated by context.

[1] [https://en.wikipedia.org/wiki/Metonymy](https://en.wikipedia.org/wiki/Metonymy)

<comment><AUTHOR> We tend to use the term Web APIs to capture the space - we should have used that in the title to keep the discussion focused on the Monitoring topic!</comment></comment></comment></comment></comment>


Skip the OS and Get 40 million Requests Per Second in Lua - <AUTHOR> http://highscalability.com/blog/2014/2/13/snabb-switch-skip-the-os-and-get-40-million-requests-per-sec.html <comment><USER2> The problem with most software development is people are trying to distance them as far from the metal as they can, while a the same time trying to make software faster and faster. While not understanding these things are mutually exclusive. As you add layers of software between you and the metal you increase your dependency on 'middleware' software.

But with modern websoftware which has layers of layers of software between it and the metal.. Even if you are 100% prefect you have layers taxing your execution. This is provable via a deconstructive proof.

I've often wondered what it would be like to double back on history and make a new OS that works as nothing more then a 'Tape Header'. Because in modern times most OS's exist only as a virtual environment. This environment runs a single demon, on a single shard of a larger machine.</comment>


How to Sell a Blog for $36,200 - <AUTHOR> http://amandatinney.com/how-to-sell-a-blog-for-36200/ <comment><USER2> It's at [http://thecupcakeblog.com/](http://thecupcakeblog.com/) , if you're curious. Personally I don't think the site is worth that, given the demonstrated revenues and what the market is typically like for sites with this model [1], but then again the fair price for most things is where a buyer and seller agree it is.

Here's the auction page on Flippa:

[https://flippa.com/2736282-over-1000-ad- rev-199k-visits-475k...](https://flippa.com/2736282-over-1000-ad- rev-199k-visits-475k-pageviews-a-month-large-social-following)

[1] You'd probably be looking at about $10k for it usually: trailing year's proven revenue. Nothing about it is defensible at all.

Incidentally, if you were bound and determined to be _the_ source for cupcakes online rather than a content scraper in the middle, you'd end up producing a site like:

[http://www.christmas-cookies.com/](http://www.christmas-cookies.com/)

My SEO buddies and I ballparked owning that site as being roughly as lucrative as a full-time job as a cookbook author/editor (though it may have suffered a bit since we spitballed those numbers, due to ranking changes and the like -- it no longer dominates results like I remember it doing in ~2008).

<comment><USER3> Wow, there is money in this? Why am I wasting time working on legitimate and difficult products? I'm a fantastic frontend web developer, and this seems like something slapped together very easily.

Definitely want to try my hand in this. I don't know anything about SEO and marketing though. Where could one learn?

<comment><USER4> Looking at the site in question, it has been affected by Google's Panda, so our algorithms don't think it's a very high-quality site and that has affected the site's rankings in Google's index, at least. Personally, I would look to add more value than the article described.

And of course if you're looking to buy a site, whether on Flippa or elsewhere, you'll want to ask about any recent webspam action notifications from Google, as well as ask about any traffic trends in case the traffic to the site has gone down recently.

<comment><USER5> The first thing I noticed is that it's just reposted posts from other blogs, even using the other blogs' picture. I'm glad that sort of thing is downranked.

</comment></comment></comment></comment><comment><USER6> I did a similar thing years ago, here's the Flippa auction (sold for $20k): [https://flippa.com/127164-no-1-blog-about-casual-games-in- sp...](https://flippa.com/127164-no-1-blog-about-casual-games-in- spanish-18k-a-year-revenue-easy-to-run)

I'm open to questions, although here are the main aspects of it:

\- Started a blog in Spanish about indie/casual games, mostly for fun

\- It was part of a (very small) network (NexoBlogs.com) run by a friend of mine on his spare time

\- After a year or so I ran out of things I wanted to write about, but then I noticed some terms driving most of the traffic, and focused on them. At this point I was making probably $40 a month

\- A year later, after focusing on those terms, traffic grew a lot (even though for most "big" keywords I wasn't number one) and revenue was maybe a couple hundred bucks a month

\- At this point I started looking at affiliate programs. Ended up with BigFishGames' which pays 25% of each sale and keeps the cookie on the user's computer for a year

\- Another year went by and I was making around $1K or a bit more a month, quite comfortably

\- I spent almost a year basically not writing (I'd write a generic summary once a week). Traffic still went up

\- After that, traffic started declining, so I hired someone from oDesk to write for 5€ / post 20 times a month to write new content

\- As you can read in the auction, at one point income from BigFishGames dropped a lot and I decided to sell it since someone else could do better with it, and it sold for the amount I wanted

\- It ended up netting me (sale price aside) maybe $20K in total, and it was my only source of income for a year while I traveled around South East Asia

<comment><USER7> Google has changed alot. I had sites sitting there and gaining strength before panda and penguin came along. You could almost write about nonsense and be ranking in google over time without any seo 'help'.

Someone asked in another comment how you gain traffic to a blog like this. Is there any keys to getting the word out there fast? Pinterest might be a quality start for this niche?

<comment><USER6> I literally did zero marketing or anything else in order to get traffic, other than checking which posts brought more traffic and write about that more. So I don't have much advice in that regard.

</comment></comment></comment><comment><USER8> The purchase price reflects the fact that 479,000 page views is worth more than $1000 per month.

That is $2.08/1k views (CPM). In a niche space like cupcakes, doubling that to $4.00 is extremely possible.

If someone purchases the site looking at those 500k page views, and expects to be able to monetize at a CPM of $4, then $36,000 is a fine deal. It's a lot of risk, but not insane.

<comment><USER7> You could easily bring in more revenue. Adsense and BSA are just the beginning to monetizing a site. She has no idea how much a site like this could make with that amount of traffic and probably didn't even look further. $1000 a month is nothing.

<comment><USER9> Can you elaborate a little please?

<comment><USER10> I've found that many site owners are lulled into passively accepting advertising on their website through Google and BSA (which is exactly what they want).

If you have a website that is awesome with content that people like, go sell the hell out of it to advertisers. Find companies that sell things your readers should know about. Then go and actively contact them and sell them advertising space.

Some easy ways to find potential advertisers:

-see who advertises on other sites in the same field

-if there are trade magazines, look to see who advertises in those

-look for trade shows and see who buys booths and advertisements at them

<comment><USER11> This takes more work but often yields better benefits. Adsense and BSA are easy, drop in some code and wait, with no fear of rejection. It's hard calling up companies, pitching yourself, and getting rejected but that's what you have to do to get more than $1k for half million impressions/mo in a niche like this one.

</comment></comment></comment></comment></comment><comment><USER12> It sounds like she's basically just a cupcake aggregator but has chosen to do all the work manually. I think it would be a fun project to automate everything. You could:

setup a cron job to scrape the top 100 or so sources for cupcake articles every day.

use mechanical turk as quality assurance to make sure the articles are indeed about cupcakes. You could also have them help tag each article.

write a script to automatically tweet each new article.

write another to automatically post each picture to pinterest with a link back to your site (might get banned for spam?).

<comment><USER13> Depressingly that site would be better than a bunch of [cupcake] aggregation sites.

</comment></comment><comment><USER14> 30 hrs/mo * 24 months = 720 hours

24 months * (1000 / 2) avg $/mo = $12,000 [1]

$12,000 earned + $36,200 sale = $48,200 total income

$48,200 / 720 hrs = $66.94/hr

Given the exceptionally high risk, I'd have to declare that a ROTI fail but different people value their time differently.

[1] My revenue calculation assumes a relatively steady growth.

<comment><USER15> There are a lot of intangibles earned as well...time to get a similar blog to same levels of income will generally be reduced on next project. Piggybacking off of built asset authority -> fast launching new sites, building credibility for yourself as skilled in that area opens up consulting avenues...etc

</comment></comment><comment><USER16> Essentially, it seems picking one section of pinterest and putting it on a blog changes it from being a time sink to a business.

</comment><comment><USER17> People who exhibit the behavior described in the first couple grafs of this blog post drive me nuts.

</comment><comment><USER18> How do these blogs build a user base given the proliferation of content curation channels like Pinterest (just save a "cupcake" search), Tumblr, and others? I recently went on cuteoverload which was huge at one point and there's barely any comment activity anymore.

</comment><comment><USER19> About 5 years ago I sold a site on flippa (was called something else back then) for 15k, later worked on the blog for the new owner for about ~$600/month for ~6 months. It was PR-5 and at its peak (when I sold it) it had about 600k pageviews and I was making about $1000 month. I knew I probably could make a lot more if I tried, but I didn't.

I still remember my site being on digg 4-5 times a month and all the traffic I used to get and all the headache that came with trying to keep the site up using wordpress. Fun times really.

</comment><comment><USER20> Be very careful selling your Website. Tell the truth, and don't manipulate sales, or statistics. I see a lot of fraud claims popping up in Municipal Court.

<comment><USER21> Post a link to a source.

</comment></comment><comment><USER22> She copied other people's work and made money. Shocker.

</comment><comment><USER23> I've started blogging for fun in May this year. When I started, I used Wordpress to start a blog ASAP. With all that is being said about blogs and revenues, I'm surprised blog engine still tries to focus their engine on the editorial part of the blog.

I couldn't find a blog engine that focused on A/B Testing and analytics. Is it because I missed something?

<comment><USER24> There are plugins for almost anything you want to do with wordpress. I'm a co- founder @ AdPushup, our tool allows bloggers to use A/B Testing on AdSense and other ad networks to improve ad revenues.

</comment></comment><comment><USER25> Surprisingly light on actual details. I was hoping for something more of a step-by-step guide.

</comment><comment><USER26> Unless you already have a large social following, the amount of time it takes to build a successful blog is too much on average.

There are many other activities which can pay off much better with the same amount of time invested.

</comment><comment><USER27> This woman is another Amy Hoy. A whole bunch of delusional talk about money, but very little evidence or indication that it's anything besides a "look at me, I deserve your attention" ploy. People who are humoring her in the comments here are naive beyond any hope.</comment>


The Rise and Fall of John DeLorean - <AUTHOR> http://blog.longreads.com/2014/11/11/the-rise-and-fall-of-john-delorean/

<comment><USER2> DeLorean's name is still mud in and around Northern Ireland, where he's generally regarded as a fraudster. (Here's a BBC article: [http://news.bbc.co.uk/2/hi/uk_news/northern_ireland/4367473....](http://news.bbc.co.uk/2/hi/uk_news/northern_ireland/4367473.stm) )

</comment><comment><USER3> Regardless of whether you're interested in John DeLorean or not, you should checkout out Neon Neon's concept album about his life - [https://www.youtube.com/watch?v=LadgANhOhiI](https://www.youtube.com/watch?v=LadgANhOhiI)

</comment><comment><USER4> "Yes, that's right: before DeLorean, drivers stuck their arms out the window to indicate a turn. "

What? DeLorean didn't event THE turn signal - just the lane-change turn signal.

</comment><comment><USER5> There are a number of questionable claims in this article--that the DeLorean invented turn signals and the overhead camshaft, for example.

<comment><USER6> They're not even questionable, they're just outright wrong. By the time I got to the post it says "lane-change turn signal", but still states that drivers put their arm out the window before that, which is demonstrably untrue.

As for overhead cams, Delorean put them in GM cars, which was a first. More generally, there were cars utilizing overhead cams before Delorean was even born.

They got the recessed windshield wipers right, though.

</comment></comment><comment><USER7> tl;dr = Cocaine's a hell of a drug.

<comment><USER8> More on the case against De Lorean, 'cause it's interesting history and a textbook case of entrapment:

      On October 19, 1982, DeLorean was charged with
      trafficking in cocaine by the U.S. government, following
      a videotaped sting operation in which he was recorded by
      undercover Federal agents agreeing to bankroll a $1.8
      million, 100 kg cocaine smuggling operation in exchange
      for a $24 million cut of the eventual profits. The
      government was tipped off to DeLorean by confidential
      informant James Timothy Hoffman, a former neighbor, who
      reported to his FBI superiors that DeLorean had
      approached him to ask about setting up a cocaine deal; in
      reality, Hoffman had called DeLorean and suggested the
      deal (which DeLorean then accepted) as part of his
      efforts to receive a reduced sentence on a 1981 Federal
      cocaine trafficking charge that he was awaiting trial on.

[http://en.wikipedia.org/wiki/John_DeLorean#Arrest_and_trial](http://en.wikipedia.org/wiki/John_DeLorean#Arrest_and_trial)

and further:

      At this point, DeLorean became suspicious that he had
      become involved in a dangerous and illegal operation,
      possibly involving illegal narcotics or organized crime
      (or both); he felt that he needed to remove himself from
      the situation as soon as possible.
      [...]
      However, in the face of a thinly-veiled threat by Hoffman
      that DeLorean's daughter would be murdered if he backed
      out of the deal, DeLorean continued to communicate with Hoffman.

[http://blog.legalsolutions.thomsonreuters.com/legal- research...](http://blog.legalsolutions.thomsonreuters.com/legal- research/today-in-1984-carmaker-john-delorean-acquitted-of-cocaine-smuggling- charges-by-reason-of-entrapment/)</comment></comment>


Inspire people to come up with good ideas to ward off bad ones - <AUTHOR> https://medium.com/what-i-learned-building/9216e1c9da7d

<comment><USER2> It makes a perfect sense, I will definetly try.</comment>


Nils J. Nilsson, inventor of A*, has passed away - <AUTHOR> https://twitter.com/AndrewYNg/status/1120551175403786241 <comment><AUTHOR> His Stanford homepage/profile: [https://ai.stanford.edu/~nilsson/](https://ai.stanford.edu/~nilsson/)</comment>


Ask HN: What would an awesome contact tracing app look like? - <AUTHOR> Rigorous testing, contact tracing, and isolation is the best way to take the fight to the novel coronavirus.  We can't wait for a vaccine[1].
Singapore has started something[2], but ideally the app would be built in such a way that western democracies have an appetite for it.
It'd be really great if the HN crowd who knows how to build such things would freely share their best ideas here, as this is not about who gets first to market but rather solving a critical crisis that we all face.
This includes not just front-end mobile client ideas, but also back end architecture to ensure proper security.
1. https://www.reuters.com/article/us-health-coronavirus-who-ryan/lockdowns-not-enough-to-defeat-coronavirus-whos-ryan-idUSKBN2190FM
2. https://www.gov.sg/article/help-speed-up-contact-tracing-with-tracetogether <comment><USER2> This weekend the the biggest (?) Hackathon in the world so far (42.000 participants) was held virtually in Germany, organized by seven organizations and supported by the government.

Many of the teams worked on contact tracing apps, you can find the results here if you're interested:

[https://devpost.com/software/corona-tracker-digital- analog](https://devpost.com/software/corona-tracker-digital-analog)

Some posts are in German only, most are in English though!

</comment><comment><USER3> Mass surveillance (legal and illegal) already exists in many western democracies. They are just done for purposes other than healthcare.

[https://www.amazon.com/Age-Surveillance-Capitalism-Future- Fr...](https://www.amazon.com/Age-Surveillance-Capitalism-Future- Frontier/dp/1610395697)</comment>


Ask HN: What language do you think in? - <AUTHOR>

Whenever I'm thinking about a problem, my solutions are immediately prototyped in my head in python.<p>I'm curious to see if anyone has an interesting languages that are not really popular that they attack problems with first. <comment><USER2> I think in English. Whenever I'm thinking about a problem, my solutions are immediately described in my head at a high level. This allows me to rapidly iterate over the solution space without having to venture down into the pseudocode or code level until I've found something I'm convinced will actually work.

<comment><USER3> I'm trilingual, but I tend to also think primarily in English (not my native language).

Apart from that I prefer to think in images.

</comment></comment><comment><USER4> I think in the subdialect of English known as social media stream of consciousness.

Ask Lazyweb about my blog's new design... that's like using the crowd as a source of wisdom... crowdsourcing... OMG I invented a new word wait check urbandictionary... oh cool I'm getting answers... upvote... hmm this submission is tangentially related to my blog, i'll promote it in the comments... upvote... hmm should I change my profile from 'social media expert' to 'social media genius'? Too forward? Oooh one of my older tweets is getting retweeted... Follower count... damn, just got rickrolled again! Hmm the world is moving to Twitter... it's a killer of something... subscriptions... RSS... hmm there's a photo of me that isn't tagged, let's come up with a clever nickname for myself in that tag... RSS Killer... means RSS is dead... Email alert... new follower! w00t fellow social media expert... I'll follow her too... doesn't seem as smart as me though... oh shit, it's Follow Friday! who's mentioned me? who's mentioned me? hmm I need a "10 Things" post to submit to Digg... 10 Things I like about you... funny movie, who was that actress? check imdb... is it in my Netflix queue? Oooh shiny funny new failblog post... I wonder what's new in the app store...

</satire>

</comment><comment><USER5> It depends on the situation, but I generally think in terms of pure (recursive) functions and types. This then usually provides me with a reasonably quick mapping to my preferred languages (e.g. ML or Haskell), as well as providing a reasonably simple way of mapping back to languages like Java or C or PHP or whatever else I might be called upon to write occasionally.

Interestingly, I've spent a some extended blocks of time working inside theorem provers. I find that it requires me a bit of time to switch to and from that style of thinking.

<comment><USER6> "It depends on the situation, but I generally think in terms of pure functions and types. "

This resonates. I think in a weird pseudocode myself and after getting a grip on type theory I find I think in _typed_ weird pseudocode.

<comment><USER5> Well, I think it's reasonably intuitive to think that way. It basically involves asking yourself the questions - "what types of values am I interested in?" "what types of results do I expect?" and finally "how do I get from input to output?"

I think most programmers probably think it reasonably similar terms - it's just that having working in STLC or a high-level functional language gives you some mental machinery that doesn't rely on decomposing this thought process into some concrete syntax from a programming language.

(incidentally, this is one of the reasons why I think there is a lot of value in learning the Lambda calculus early in a computer science education).

<comment><USER7> _having worked in... a high-level functional language gives you some mental machinery that doesn't rely on decomposing this thought process into some concrete syntax_

This is what we are really talking about when we claim that reading, e.g., SICP will make you a better programmer even if you don't work in Lisp.

SICP is not a book about Scheme. It's a book about computation that happens to use Scheme. And it is resolutely abstract, encouraging you to think in non- linguistic terms. One of the bits I remember best was near the beginning, when they talk about the _shapes_ of computational processes -- iterative processes have a different shape from recursive processes. Now I use that sort of mental picture all the time.

The goal is to think about software like a mathematician thinks about math. If you're thinking in a language, it's like the way I thought about math when I was nine years old -- to the extent that I knew what a mathematician was, I thought it was someone who was really really good at the long division algorithm. Someone who could subtract really fast!

<comment><USER5> I kinda skipped SICP (I had already been programming for a long time before it even occurred to me that there might be texts available that attempted to teach "computational thinking" rather than just individual languages), but having browsed it since, I always recommend it to anyone who wants to learn programming (or HtDP, which also seems to cover similar ground).

</comment></comment></comment></comment></comment><comment><USER8> Am I the only one who doesn't think in any language at all? I just see little flashes and sort of feel ideas. I realize this is a very sucky explanation, but I've never heard it described. When I think about a program it is again a combination of images and feeling how a given algorithm I am designing will work. I only ever think about words when I sit down to write words, and then it is almost like I am transcribing for a voice in my head that feeds me one word at a time. I very often can't think of a name or the correct word for something, but can describe around it (like I might forget the word 'well' but I can just say in frustration "hole you drill to get water out of").

<comment><USER5> In a programming or problem-solving context, this is sounds close to how I work in the very early phases of thinking about a problem.

<comment><USER8> When you are thinking out a problem is language (human or computer) any part of it?

If I understand how most people think (which I most likely don't), they have an internal monologue going, like they are thinking about going to the store and they think in their inner voice, "lets see, what do I need? Some eggs, milk, cheese". I _never_ have any monologue internally, I either see a little picture flash by, or more often my thoughts have no relation to anything I could describe as sensory at all.

For example, I just thought of what I wanted to get to drink because I was really thirsty from gardening. No words were thought, but in quick sucession I percieved in my thoughts the flavor and temperature of tap water, and then the cold sweet syrupyness of coca cola, and I grabbed the coke. I can't describe it really, it's very much a 'now you are breathing manually' thing, once you think about how you think you are changing how you think.

<comment><USER5> No, in the early stages there is no language attached to my thought processes, though as I mentally interact with the abstract concepts, I generally start to concretise into recursive functions. This conception of 'recursive functions' still has no notation attached to it, it's more that I start to decompose my solution (mentally) into cause and effect.

</comment></comment></comment></comment><comment><USER9> I think in pseudo-code, then figure out what language is best suited for the task.

<comment><USER5> When you say "I think in pseudo-code", what are the semantics of this pseudo- code?

'cause it's actually a bit of a non-answer, when you think about it. Saying 'pseudo code' means that the language you think in has some informality in its syntax - but presumably you still have some fixed understanding of what it does?

If it has no fixed syntax and no fixed semantics, then is it actually helpful as a mental model? I would argue that it is not.

(Note: I'm not just being antagonistic here, I'm genuinely curious. I don't think in terms of "syntax", so this is all a bit alien to me).

<comment><USER10> It's perfectly possible to express solutions at a high level without much regard for formal semantics. Knuth's _The Art of Computer Programming_ expresses most of its algorithms in a combination of informal English and ad- hoc pseudocode. It's usually not difficult to translate them into languages with semantics varying from machine code to Haskell.

<comment><USER5> I didn't say "formal semantics", I said "fixed semantics", as in "something you understand and can apply consistently within a context". Within the context of a single code-fragment, the semantics are not changing. They might change from example to example, but that's perfectly reasonable.

My assertion is that when people say "I think in pseudo-code", they actually mean "an idealised version of language X", where language X is some paradigm or language they understand well.

I just wrote a blog post about this very subject, based on the flood of comments (shameless self-promotion follows):

<http://news.ycombinator.org/item?id=802780>

</comment></comment></comment></comment><comment><USER11> Cypher: ...I...I don't even see the code. All I see is blonde, brunette, red- head. Hey, you uh... want a drink?

-The Matrix 1999

</comment><comment><USER12> Depends what I'm looking at.

If I'm looking at a website, I think in SQL (cf. dude I can write SO in like 4 minutes ;)

If I'm looking at stats/ML stuff, I try to think in pictures (usually of probability densities being transformed in various ways), and sometimes slip into "pseudomath," which is basically English that sounds like "argmax integral x filtered by f times hessian of g".

If I'm doing information theory I tend to think geometrically or graphically, seeing distributions as points/nodes and then reasoning about what the picture looks like as distances/edges between them grow and shrink.

If I'm looking at an attractive member of the opposite sex, a good bottle of wine, or someone that needs cursing at, I think in French.

</comment><comment><USER13> I think in whatever language I'm writing unless I've just started it. Then I think about what I'd imagine they'd call it and google around for it.

Translation from one language to another is just another layer of indirection and makes you slower. It's easiest and best just to learn languages from scratch or near-scratch, IMHO. If you get used to learning in that way, it's easy to keep doing it.

Caveat: I think in C when I'm coding C++.

</comment><comment><USER14> It depends on the problem. If it's something algorithmic that fits into a given data structure, I go through a bunch of mental visual representations; graphs, trees, etc. If the model fits, I usually imagine the code in the language I used the structure the most in.

If it's about something I don't know much, I'll go through pseudo-code and/or a list of tasks the code has to perform and then imagine it in the best-suited language for it.

If it's more about organizing concerns or how should a larger problem be split up, I'll take a sheet of paper and draw components and tasks, then linking them with arrows until it makes sense and it's clean. I then try to fit that in the language best suited for it; usually for that kind of splitting, actor- based languages do the best job. It's probably why I like Erlang/OTP so much; they provided actual design patterns for higher-level representations such as Client-Server relationships, Finite State Machines, Event handlers (such as loggers and whatnot) that make it really easy to turn a visual representation into an actual application with minimal boilerplate code.

</comment><comment><USER15> I focus on the semantics first: I try to capture the essence of what I _really_ mean to "say". Then I try to imagine the most idealized language that would let me specify as exactly and easily as possible what I really mean, unambiguously.

If I have access to such a language, I use it. If I don't, but know how to implement it, I might do just that if I think it's worth it in terms of time and effort. Otherwise, I try to think of the next best language that could represent what I mean and that I can use or implement more easily. At some point I get to "really low-level" abstractions like Common Lisp objects, closures and macros...

It's a surprisingly high-quality _and slow_ way to program. I figure at some point I'll have accreted so much language implementation knowledge and infrastructure that I'll be unstoppable because I'll almost always be able to make a good approximation of the best tool for the job quickly.

</comment><comment><USER16> I've been coding long enough that most problems don't need thinking about. I just 'know'.

However, I've been alive long enough that if I don't 'know' the solution I need a whiteboard. I can't think without a whiteboard.

Age brings wisdom and experience but it certainly has dulled my brain quite a bit :(

</comment><comment><USER17> First I think visually about object classes and data structures, and how they relate to one another. Then I think in pseudo-code.

<comment><USER18> This is so funny, because ever since I was first introduced to OOP (about 19 years ago - C++), I've had visuals in my head for objects - not clear ones, but somewhere floating in there is the idea of some shape with sockets and protrusions, switches and dials, representing getters, setters, methods, etc. Again, it's always vague, but the concept always seems to be there. I can tell you, though, that they are an off-white color.

</comment></comment><comment><USER19> I think is algorithm, state-diagrams and images;and curse in Hindi :)

</comment><comment><USER20> I tend to think in terms of abstract flowchart of the process/algorithm/structure of what needs to happen.

And then I make it happen.

</comment><comment><USER21> Interesting. I'm surprised to hear people can effectively think about code in a language at all. Code is an abstraction of an essentially physical process (the computer doing things) so it seems rather odd to think about the problem at one level removed. I don't think in language generally unless I am intending to speak to someone. I tend to think in terms of motion through a physical space. Imagine yourself playing tennis and feeling your motion across the court. The algorithms in my head work the same way. All the pieces are sort of thrown on a table and I feel the paths between them, the 'forces' of contention and flow. The closest I've seen to describing it is when really advanced chess players talk about how they see the chess board as lines of force and weight.

<comment><USER8> Aha, someone else. I would describe it as sortof pressure and stuff in there, like I'm feeling my way through a dark room and 'seeing' as I work the problem around in my head. All these people who say 'english' or something like that, how do you live? I would go insane after a day of that, it would be so slow and imprecise and completely misleading.

Here is another thing, tell me if this is true of you: I can't understand anything about how to solve a problem if I don't know completely 'understand' the context. In other words, I took several years of experimental physics at University, but it was totally bewildering to me. I understood the experiments perfectly (I mean, they aren't anything complex at that level), I understood the apparatus, I understood the mathematics and so on and on. At some point in every experiment, however, you had to decide whether your data supported or did not support the hypothesis. This is usually pretty obvious, but you were supposed to support it using chi-squared calculations and other statistical measurements of how well the data fits the hypothesis. I hadn't taken any statistics courses, so it seemed totally opaque and impossible to me to do this. I could never figure out what equation to use, or how to do it. I could follow step by step in the workbook and if I did so I would get a fine grade, but I was literally looking at the equations every 3 seconds as I worked the problem out. Anyway, I looked up the stuff in a statistics text, read the proofs and explanations of all the things I needed to understand, and suddenly it all made sense at once and I never had to refer back to anything. Once it 'clicks' everything is clear, like someone turned the light on in a dark room, before it 'clicks' I feel like I am suffocating.

<comment><USER21> I do feel something similar in that I can't really apply a bunch of rules to something. One of the disadvantages of not thinking in language is that I think it is very difficult to just apply a rule or formula to your thought process when you don't fundamentally understand what the formula is doing at a deeper level. If your models are not being stored in your head as language abstractions, you can't really apply a language abstracted formula to it. Another related problem is that I essentially have no memory for the things other people memorize with ease. I memorize concepts, motions and relationships but I cannot memorize 'labels' at all. I do not know my own phone number for example (2 years with my current one). So yes, I think trivial understanding is difficult with this model because you cannot just catalog a bunch of stock responses and rules for dealing with a certain topic, but deep understanding is far easier because you are not abstracting the underlying principals in a layer of obfuscation, the mental model is a simulation of the system rather than a description. I was useless in calculus until I started visualizing everything in terms of momentum and volume changing over time. Then it started to work. When it was memorize and record, I was useless. But once you have an actual model in your mind instead of a bunch of rules you can just derive the algorithms yourself (or at least get close enough to remember the right one)

<comment><USER8> As far as I can tell we have the same thing going on in our heads.

Anecdote: In physics class (I was a physics major for awhile, so it was a 'real' physics class) there was what I guess was a very complex problem. The professor posed the problem and asked 'how do we solve this', and I raised my hand and told him the integral. It took me about 10 seconds or so f talking to say the entire equation. It blew everyone's mind, but it was really obvious if you could see it. I don't mean to brag, but if I was trying to think it through like socrates in a dialog I would have taken a week.

</comment></comment></comment></comment><comment><USER22> I tend to think in terms of workflow.

      1. How would user interaction occur?
      2. What systems are necessary?
      3. How can the problem(s) involved be solved? (what languages/tools/infrastructure)
      4. Pseudo-code
      5. Get crackin' on code

It's a pretty high level list, so I am probably missing some key points.

I tend to spend a fair amount of time just thinking and pondering the problem; once I reached some indeterminate threshold, I start typing up point-form notes. As I think more to gain more definition of the problem and potential solutions I add new, revise existing and remove obsolete notes.

And to actually answer the question "Which language do I think in?", it depends on my answers to #3.

</comment><comment><USER23> Probably pseudo-code which resembles whichever language I most recently used to solve a similar problem.

As a really low-level example, previously when I needed to make a comma separated list of items I would do something like this:

$result = ""; $sep = ""; for ($items as $key => $val) { $result .= $sep." ".$val; $sep = ", "; }

of course now I just do join (", ", $items);. all languages I currently use have such a join function or method, and that idea is in my head; the exact syntax is not.

This does result in minor annoyances when I for example solved something in my head with a coroutine, only to realize that I'm at work coding in php, which doesn't have them.

</comment><comment><USER24> I used to think in terms of methods and data structures, say about 5 years ago. I was thinking bottom up. I learned (slowly) that I could not sufficiently communicate to the business folks what was happening. Their eyes would just glaze over. They also rejected 90% of my work by the time they got to see it. We were simply out of phase with our communication.

Today I have learned to think in work flows and the visualizations of the UI. This is how the users of the program view it. To users the UI _is_ the program. Now the users accept my work 90% of the time. I seldom think about the methods or data structures anymore until I am actually sitting there typing it in.

</comment><comment><USER25> I want to have many different ways to think about problems, all linked up with ways to slide between them. (That's a big theme in SICP, the Feynman lectures, Doug Hofstadter, and Minsky's _Society of Mind_.) The languages that come up the most when I think programming thoughts: Haskell/ML (types, pattern matching), Scheme (procedural code, and my main larval-period language), E (OO: roles and responsibilities, message passing, contracts; event-loop concurrency & distribution; promises; capabilities), Python (actually coding most things), C (closer to the metal). Sketches on paper tend to use a Haskelly syntax with a Schemey meaning.

</comment><comment><USER26> Scheme, though I end up having to translate it to Python 9 times out of 10.

</comment><comment><USER27> I think in messy pictures. Strangely, the pictures are as poorly drawn in my sloppy style as they are on the page. For example, a loop is an ugly circle with a downward facing arrow on the right side and it looks just like something I would have drawn. Object stuff tends to look UML-like and functional stuff tends to look flowchart-like. And they are messy whether in my head or on the paper. When I need words, they usually look like/start to follow the conventions of the language I'm planning to write the code in.

</comment><comment><USER28> on thinking in code: after doing a rather intense data integration/normalization/clean up project for many hours ending around 5 am or so, i had to take a shower before catching a nap. upon turning on the shower, my tired mind took a minute to organize/process the physical actions required to put myself into the shower - suddenly it wasn't a shower at all, rather, it was an array of droplets i had to somehow JOIN but the query was already running! all of this data was going down the drain - corrupted with no audit trails - but what regex/match would help? there was none... luckily, i snapped out of it and regained the proper level of abstraction conducive to good hygiene. apparently, i only had to step under the water. rest would work itself out with little need for analytic involvement.

after that, with sleep & time to breathe i went back and checked my work from that night because i assumed that a mind so frazzled would be similarly error prone. alas, that mode of thought, while not suited for normal-person-tasks worked well for the project. no bugs (from that night at least) and that single all nighter put the whole thing way ahead of schedule.

</comment><comment><USER29> Huh. I'm surprised by the responses on this.

I think in "flow". It's hard to describe, but it's not entirely visual -- it isn't like a flow chart in my head. Instead I get an idea of what I want a particular thing to do, and then I "feel" how it gets there, kind of like I'm mentally bouncing through a pinball machine.

I use the same approach for working on engines, circuits, and other complex things.

</comment><comment><USER30> My pseudo-code looks a lot like a mix of Python and Ruby. One thing I like about Python is the forced indentation, which allows skipping any closing braces or "end"s. But Ruby tends to be closer to the way I think of OOP, and is closer to English.

I've also been known to write out in mostly English sentences as comments, then fill in the code that implements that explanation.

</comment><comment><USER31> I think in data-structures opposed to one language in particular, if anything I think in markup; everything starts as a list, each item evolves into another list until it eventually ends up as dictionary, which can sometimes spawn another list. . .my thought-process is hopelessly recursive, this is easily my cardinal sin for all my unproductive days.

</comment><comment><USER32> I would say I think in pseudo-code, using natural language to describe the problem in a way that can be converted to code ("for all of these values in this array/container...", etc). That said, I work a lot in C#, so I usually go right to that pretty quickly, if not right away for commonly-solved problems.

</comment><comment><USER33> If the problem requires science, I think in English because most of my relevant university education and R&D was/is in English and thus most of the terminology I know. If it's business-related, I think most the time in German. I draw causal diagrams and sketch in Haskellesque pseudo code.

</comment><comment><USER34> It usually depends on what language I'm working in. These days I've been working in actionscript, so that's how I think. I think this behavior is partly because I sorta loose familiarity with other languages when I'm working in one language for an extended period of time.

</comment><comment><USER35> Op and I should be best friends. I can't count how many times I've solved a PHP problem using Python. Or generated PHP code using Python (won't go into detail, but it wasn't TDWTF material, I promise). Or simply explained something in a given language in terms of Python.

</comment><comment><USER36> I used to think in pseudocode, but once I learned Ruby, it turns out I had been thinking in Ruby all along. Ruby just matches up really well with the way my brain already solved programming problems, then I had to translate it to C or Java or whatever else.

</comment><comment><USER37> I think in C.

Python is a fairly straight-forward mental translation and functional languages I tend to need to spend more energy thinking about unless the problem is embarrassingly recursive.

</comment><comment><USER3> I tend to do it visually.

</comment><comment><USER38> I usually think in math or visually about a programming problem. When thinking about a person I usually think in the language that person speaks.

</comment><comment><USER39> i think in diagrams.

</comment><comment><USER40> Sinclair BASIC forever! ( <http://en.wikipedia.org/wiki/Sinclair_BASIC> )

</comment><comment><USER41> Depending on the problem domain: either C, mentally compiling into pseudo-ASM, or a sort of blend of Haskell and math notation.

</comment><comment><USER42> How about thinking in general, say when waiting to fall asleep?

</comment><comment><USER43> i think in terms of paradigms(mostly FP) in general, and not in a specific languages.

</comment><comment><USER44> Norwegian

</comment><comment><USER45> i try not to think.

</comment><comment><USER46> Often I let my brain work out the problem, and simply wait until it's finished.

For example, last night I awoke about 5 times, every single time with a new solution to a current problem.

But before that, I always try to _really_ relax in the evening, for some hour, preferably in nature (and nothing beats the sea).

</comment><comment><USER47> I think in the language i'm currently working on</comment>


Fanciful Fortifications? - <AUTHOR> http://britishlibrary.typepad.co.uk/untoldlives/2015/12/fanciful-fortifications.html <comment><USER2> I've always loved those old-fashioned star forts. True story: Ft. Monroe was an operating military installation from 1609-2011 (the star fort dates to 1834)!

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


Updated Let's Encrypt Launch Schedule - <AUTHOR> https://letsencrypt.org/2015/08/07/updated-lets-encrypt-launch-schedule.html

<comment><USER2> The gist: "We've decided to push our launch schedule back a bit to give us time to further improve our systems. Our new schedule is:

First certificate: Week of September 7, 2015

General availability: Week of November 16, 2015"</comment>


Announcing Transcriptic Platform - <AUTHOR> https://www.transcriptic.com/blog/2014/07/15/transcriptic-platform.html

<comment><AUTHOR> This post is actually two weeks old, but we never did the "Show HN: We built an API for biological research" we had been thinking of doing so I figured this would still be relevant.

We also released a new web app today: [https://www.transcriptic.com/blog/2014/08/05/new-web- app.htm...](https://www.transcriptic.com/blog/2014/08/05/new-web-app.html)

We've been working on this stuff for a long time. Shipping feels good.

<comment><USER2> Congratulations! It has been a long time since I considered changing jobs, but now I'm actually considering applying. :)

</comment></comment><comment><USER3> From the first time I cloned a gene (that had already been isolated, and stored in a plasmid) into E.Coli, I've wanted programmatic biology. Doing manual bio work is tedious, error prone, and wasteful, but just talking to instruments in a uniform way has been a major problem. Thanks for making one of the first real ventures into that world.

</comment><comment><USER4> Interesting. Similar to another company, literally down the street from them: [http://emeraldtherapeutics.com/](http://emeraldtherapeutics.com/)

</comment><comment><USER5> SaaS: Science as a Service.</comment>


Somalia, the Perfect Failed State - <AUTHOR> http://www.spiegel.de/international/world/0,1518,695224,00.html

<comment><USER2> Funny how anarchist dreams never turn out quite as well as envisioned. I'm sure the free market will take care of things if given enough time.</comment>


JetBrains WebStorm 11 (JavaScript IDE) Roadmap Discussion - <AUTHOR> http://blog.jetbrains.com/webstorm/2015/06/webstorm-11-roadmap-discussion/

<comment><USER2> Please improve the Dart support. Dart is slowly replacing all the JS i have to write. I am hoping in the next year to be fully switched over with clients/self and I would love a better IDE experience for it.

<comment><USER3> I'm not sure Dart is catching on. I wish Google had added the Chrome support.

<comment><USER2> It makes sense that they didn't. It would really just be bloat at this point.

That doesn't change the fact Dart is a very good alternative to JS for large apps. It still compiles down to JS so it can run on anything. You can also use JS directly in your Dart code very easily. I really like it, particularly for larger apps where JS's lack of structure starts to get in the way.</comment></comment></comment>


Ask HN: I am torn between whether I should do MBA or not. Thoughts? - <AUTHOR> I work for one of the BIGCO. I am debating with myself whether I should go for MBA or not. I need some guidance from people who have done their MBA.
I have bachelor degree in Engineering. I don't like or don't want to get MS degree. My academics are good and I can say I have a good chance of getting into top 10 schools for the MBA.
I am Manager in my current role and have 10 years of experience in software development. I want to move into executive management at a mid size or large company. I will be specifially looking for eMBA as opposed to MBA option.
1. Does it make sense to do eMBA?
2. I did some research for MBA salaries from top schools and it seems that MBA salaries are in range of $125k to $150k. I make around same range right now without MBA.
Is doing MBA beneficial for big jump?
3. Last question is, what is best way to get into executive management ? <comment><USER3> If you want to get into executive management and can get into a top school, getting an MBA is a good idea. Consider going the management consulting route. You'll get a substantial pay increase a couple of years out, and exiting to upper management after being a consultant is not uncommon.

I detect you're a non-native speaker. A noticeable accent is going to be bigger problem if you're gunning for executive management than in tech. I'd invest in some language coaching.

<comment><AUTHOR> Hi, thanks for the comment. Yes, I grew up in SE Asia and moved to US at the age of 23. Did you find some sentence structure unusual or was it lack of article use that gave you hint ?

<comment><USER4> I'd recommend getting a writing coach. I also grew up in Southeast Asia and only started to speak and write in English as an adult. There are a number of major grammatical patterns that we tend to struggle with, since our languages are quite far removed from English, historically and culturally. For me it took a few highly-educated native speakers pointing them out in my own writing to truly understand many subtle rules and I'm still trying to internalize them.

If any native speakers would like to help their fellow HNer, I still welcome non-native error/style detection with sincere appreciation. ;)

<comment><USER5> Any recommendations?

</comment></comment></comment></comment><comment><USER6> perspective: finished first year @ wharton mba and taking a year off before second year to do an ms in cs (background is quant but not super computational - I'm really enjoying diving deeper into the latter now though).

1) Only do the eMBA if you can get BIGCO to pay for it. Price is unreasonable because it's expected to be expensed to an employer and it is a serious time commitment. I don't think it'd be worth it unless BIGCO is invested in you enough to sponsor.

2) 11-12 year experience upon entry is late for full-time MBA (mean is 5, max is 13). The MBA won't give you the boost to executive management - no one hires fresh MBAs for exec roles. MBA or not, that'll only come from hustle.

3) No empirical data, but my working theory is f(work incredibly hard, be kind to people and foster both friendships and partnerships, always be seeking out opportunity)

Misc: the coursework can be really useful/fun depending on the program. For example, Wharton lets me do the coursework equivalent of a grad degree in statistics w/i the mba. Lastly, the ready access to such a diversity of smart, ambitious people mid-career is really cool.

Happy to chat further if you'd like or put you in touch with MBA or eMBA students/adcom folks.

</comment><comment><USER7> Do not have an MBA, but many friends who have gone to the top 3-5 schools, as well as some who did eMBA/part-time MBA programs.

There are a few worthwhile reasons to get an MBA, but one really trumps the rest.

As some others have said, the overwhelming value of an MBA is to build strong relationships with future business leaders. End of story. If you don't want to spend 2 years doing that and pay for it, don't do an MBA.

Those I've talked with that did an eMBA mostly regretted it because they were incredibly busy, and barely had time to meet anyone in the program, let alone build strong relationships with them.

If you don't have much background in management or business (most of which you can get from reading books) the course material will be helpful, but you could just as easily learn it on the job - if you can get the job. That is the other reason to get an MBA; to get into a company who requires it, though these are increasingly become less mandatory.

There are many answers to the question of how to get to executive management, but I think a very common one, which is likely to work for most people is the following: work at a service provider which gives you some strong functional/business skills (e.g., consulting, investment banking, equity research, marketing strategy, etc.). Do well there, but don't stay too long. From there, take a middle-management role (e.g, director, VP) at a corporation that is growing fairly quickly. Make your way up, and probably switch to another firm if you're not advancing quickly where you are.

Be careful of the trap of not having operating responsibility - you won't have this as a consultant or investment banker. If you don't have experience owning a P&L, you can't be trusted to do so even if you smart and capable. You could be in corporate strategy, corporate development, etc. but those are not true executive management roles.

Wow that went longer than I intended so I'm going to stop rambling.

</comment><comment><USER8> Definitely don't get an MBA if you're not actually interested in learning the material covered by the program.

I also didn't get a pay raise, and I didn't use the connections I made, but learning the material was extremely helpful: market forces, positioning, statistics/analysis, strategy. I still skim email newsletters I get from McKinsey & Co. / Wharton a few times a week, and HBR has some incredibly good articles every now and again.

Source: C++ developer with MBA in marketing.

<comment><USER9> This is something I have discussed with others: why bother to pay for an mba in this day and age? Concepts and terminology can be learned at a library/online. Honestly the ONLY appeal I can foresee is the social connections, which tend to benefit more only if you land a top school. Surely there are better ways?

<comment><USER10> What is missing from learning the concepts on your own are the different perspectives and problem solving approaches from fellow students. Over time, this has a big impact on your personal toolset to see problems from multiple angles you simply wouldn't have considered before.

Quite often during case study discussions one or more of my peers was from the industry being discussed and provided an insider look at the problem. In other situations my professor was a leading industry expert or seasoned executive in the subject matter.

Do you pay a premium? No doubt. Cost/benefit is a very personal decision in the case of an MBA.

</comment></comment></comment><comment><USER11> If you're already making the kind of money an MBA would doesn't seem like it makes a lot of sense. What's the point of paying lots of money and spending all that time to make the same as what you are now? You're salary will go up from real world experience and increased skills from working on the job too. In my experience, only really large companies where you probably don't want to work pay more as you get more degrees.

</comment><comment><USER12> Though I don't have an MBA, everyone I know that's been through HBS recommends going for one reason and one reason alone: connections. You're there to meet people, make friends, and expand your network.

Since the goal is to network, you want to maximize your time there. I'd elect to go through the full 2 years.

<comment><USER13> Yes. Aim high.

</comment></comment><comment><USER14> I faced a similar question about 10 years ago. I had a bachelors in engineering (comp sci), I didn't want an MS or PhD, I had solid grades, and I wanted to move into "executive management" (whatever that meant). I ended up getting my MBA at a top 10 school, landed a business role at a large company, and a few years later, started my own company. Business school was right for me and I think it came down to the way I answered one question about myself...

Am I the type of person that embraces new opportunities and takes risks with my career?

At the time, I think the answer was no and as a result, business school worked out great. It introduced me to new career paths, brought in companies for me to interview with, and helped me engage with individuals with vastly different perspectives than my own. If the answer would have been yes, then business school would not have been the right choice. I was 26 when I started business school (pretty common age), and a person's late 20s is one of the best times to explore new directions and be creative with their career, since you already have some work experience and capital, but likely no children. The 2 years spent in business school (or 4 years if, god forbid, you go the consulting or banking route) is valuable time that could be spent taking bold risks.

If you believe that, then to answer your questions...

1\. No, an eMBA does not make sense because you are both allocating your time to business school, which can help you identify new career opportunities, but you are also locked in to the company that is sponsoring you, so you aren't as free to explore elsewhere.

2\. If you are already making $150k+, then there won't be much impact to your life until you make $1M+, so the salary difference shouldn't be factored in one way or another.

3\. What do you mean by executive management? Different executive roles require pretty different career paths, and becoming an executive at a large company is probably 10+ years out, which is likely too far to really plan for.

Hope that helps. Good luck with your next steps.

<comment><USER15> I agree with #1, pay your own way. What I did was make my company expense by hotel stays as a business expense but paid my own school expenses. I lived 60 miles from work and 60 miles from school. Work and school was 20 miles in between so I basically just stayed at a hotel somewhere in between

</comment></comment><comment><USER16> I'm a second year graduate student in CS and also debating getting an MBA.

I currently study optimization and machine learning, and in the future I'd like to lead a team of people studying similar topics. Initially, my goal was to stay an academia and become a professor, but now I believe I'd like to be in industry doing similar tasks.

<comment><USER17> start doing stuff, stop going to school. don't "believe you'd like to be in the industry." BE in it to find out.

</comment></comment><comment><USER18> Looks you're doing a cost-benefit analysis of getting an MBA ;-)

In my country, you need an MBA to get into mid-upper level management positions just because almost everybody is having one just to differentiate from others.

The cost of getting an MBA - paid by you - is nearly the same of running a business for 2-3 years. And it also reflects you have knowledge about managing business when your own money is at stake.

A lot of people wants an MBA for the connections: get an MBA because you want to hear and discuss a lot of different points of view o a lot of business subjects in a short (1 year) time. Connections are useful if you can make use of them (like making business together with other people).

</comment><comment><USER19> You are an engineer and choose management long ago. Your life does not matter to the progress of the world. You must be in capable of coding. So the best thing for you is to do mba because there is nothing note worthy you can do. At least by this way you will stop worrying. I am stating factual observation of the world.

</comment><comment><USER20> To quote a line from the documentary "Something Ventured":

"Who needs Harvard Business School when you have Silicon Valley Business School."

To be fair, I'm most likely paraphrasing. That being said I only have a GED/Some College experience and I've made it into Product Management.

</comment><comment><USER15> The answer to all your questions is "it depends" (yeah, cliche). I have an BS Architecture (not from the USA) so I had to no choice but to get an MBA degree (from the USA). I did kind an "eMBA" (basically working full time) from a Top something school

1) Yes, if you have an engineering degree. Business is like another language so there is jargon in accounting, marketing, finance, etc that you need to learn. If you are not getting that at work, the MBA will at least enable you to understand "executive-level" conversations. Most of them are common sense (you can pick it up from context) but it is way different if presented to you in a rigid, structured, organized fashion vs listening to random conversations. You can obviously learn this all from Khan Academy ...

The other overlooked thing here is the people that you meet. On the more expensive programs (>$100k+), the pitch will be you will meet the same quality people as you (same aspirations) and that is true to a degree as the quality of your education will be partly affected by who is in your class. Make sure you go the MAIN CAMPUS of the school and not a off-campus thing. I personally felt the on-campus experience was great (we have a good football team so that helps)

2) When I did my eMBA (graduated in 2004), the salaries were around $80-85k. I realized that most of the people in the program were making around $40-50k and hoping to get that bump. I was making about $150k/yr at the time so this wasn't really the reason why I went to get my MBA (it was to get a U.S. degree) so you will just get some funny looks when you tell people you don't have any interviews set up. Most BIGCOs (specially consulting firms) value an MBA, I guess because they can mark up your rates.

As an engineer and a TECHNICAL manager (not just a "manager"), you will most likely make more money than 90% of the MBAs even without an MBA. Salary is NOT one of the reasons you are doing this.

3) Getting into executive management is more about opportunity and luck. You could be the most qualified person in your company but there only so many seats to go around (1 VP Eng, 1 CTO, etc.) so you may have to look elsewhere. An MBA will certainly help but it will NOT be the main reason you get there. The MBA just lets people know you have met a "bar" (like "ok so this guy knows the basic business stuff") so they can check that box off when shortlisting candidates. At the end of the day, it will be how much value you can bring to the table in totality. Executive management is less being a "manager" but being a "leader" as your role will have a lot more impact in the company (in a normal, sane, non-dysfunctional company) and you will have to think more strategically. The MBA will have courses in "Strategy" that will allow you to have some structures, words to communicate in your head when you present your plan to the people. You can have all the strategy in the world but if you cannot communicate it in a structured, organized & impactful way, then you will not get the job. It's not just using BS buzzwords but really making the board (or CEO) imagine that you are ALREADY in executive management.

<comment><USER21> I completely agree with your point 3). If the primary goal is to get into "executive management" then that should be the basis of analysis - and there' s more than one way to do it. _Talent /skill_, _luck_ and _opportunity_ are all important, it's worth considering how to impact those parameters from your unique circumstance . For example, most large organisations identify key talent and have a track for exec management, getting onto that track by networking and receiving good internal talent scores is one route. In another organisation it might be a case of figuring out if there's a way to progress within the existing structure and asking for support training. And then if there's no possible route, figuring out the best organisation to join where there will be a route.

In all cases there are (as you say) only a few seats at the top tier, so make sure you're doing work that you enjoy 90% of the time, doing something horrible for 5 years so that you have a possible opportunity in the future isn't a good trade-off in my opinion.

</comment></comment><comment><USER22> You really should think long and hard about WHY do YOU think you WANT or NEED an MBA.

a) Because you love to learn something new <== Good reason, albeit expensive. You can read the books or do online classes.

b) Because you want to make more money <== This is possible, but it's not guaranteed, especially at the level of incomes you already have.

c) Because you want to have a diploma on the wall <=== Questionable reason, but hey, who am I to tell you how to spend your money?

d) Because you want to broaden your horizons into areas you have never stretched into (private equity, investment banking, Marketing, strategy, M&A, etc etc). <== Good reason. If you love it, and you end up getting well paid for it, awesome.

e) Because you want to go into a different career path <== Excellent reason. An MBA gives you many choices, not all of which lead to higher incomes, but it opens doors to different career paths.

f) Because you want to be a great tech+biz hybrid. <== Also a great reason. But it depends on where you want to work: large companies will value you. Small startups will probably not value your hybrid skills as much, or may be counter productive.

g) Because your parents want to have an MBA in the family <=== Terrible reason.

h) Because you want to meet people and build a network <=== Seems expensive for that reason. However, several schools do have specific areas where the networks are strong: MARKETING, TECH, ENERGY, etc. So if you want to work in those industries, getting an MBA from a school with that network will be very useful

i) Because you dont want to still be an engineer when you are 50. <== This is a tough one that I have been helping a colleague with lately. Reality is that there is age discrimination in the work force. Being an old engineer requires being an AWESOME engineer. I have heard from other engineers that it is tough to be old and mediocre (though you can be young and mediocre). If you are old, then being in some other function (or in management in technology) gives you a longer career to retire on. Of course, if you are awesome, then nobody cares that you are old.

It seems you want to go into "Executive Management." That is a whole different question. The first question to ask is : what kind of company? Then research whether those companies value it.

I made my decision based on [a][d][e][f] and it worked really well for me. But maybe I was lucky and had a lot of people who helped me a along the way. I have heard others who make it into executive management due to some other reasons (hard working, right time right place, family connection, tag along a friend who is going up, etc.). So I am not sure one leads to the other.

These days, it seems that being an engineer is an awesome way to have a huge impact (unless you are in I.T. or something like that). I think I would still choose to get an MBA today, but I still think i will go for an MS when I am 50 or so, because of reasons [a][d] above.

I hope this is useful.

Good luck with your decision!

<comment><USER21> Your reasons a) and d) are really important as they protect the downside risk if b) doesn't come off. Most people do some form of structured education because they believe that the skills they acquire will be more valuable and that will lead to a better salary. But, simply understanding more of what's happening around you and being inquisitive into different areas is fantastic.

The reason you didn't mention is that _after_ you're in some management role then having the knowledge is useful, it at least gives you a starting position to work from. There are managers who don't have the width of practical experience to move into wider ranging roles but have the talent - <USER2> management training is really helpful in this case.</comment></comment>


KISSmetrics: A Conversion Funnel Tool That Gives Your Site A Memory - <AUTHOR> http://techcrunch.com/2010/07/22/kissmetrics-conversion-funnel/ <comment><USER2> Looks awesome, expensive though. Maybe there could be a pricing option based on volume? Maybe there is and I haven't seen it yet...</comment>


'Giant neuron' found wrapped around whole mouse brain - <AUTHOR> http://www.nature.com/news/a-giant-neuron-found-wrapped-around-entire-mouse-brain-1.21539?WT.mc_id=SFB_NNEWS_1508_RHBox <comment><USER2> Discussion: [https://news.ycombinator.com/item?id=13730876](https://news.ycombinator.com/item?id=13730876)

Of course, that's 5 days ago and any comments added there won't be seen by many, if any, readers, so if you want to say something new and have a chance that it will be seen, you'll need to comment here.</comment>


The Growth of Instant Lottery in Portugal - <AUTHOR> https://www.thelancet.com/journals/lanpsy/article/PIIS2215-0366(20)30039-0/fulltext <comment><AUTHOR> The full title, which is too long for the HN title field, is "Scratching the surface of a neglected threat: huge growth of instant lottery in Portugal".</comment>


Ask HN: Idea for the most fuel efficient gas car. Will it work? - <AUTHOR>

Short version: Give enough lift with magnetic strips under the road to reduce car weight.
Long version: Here is the most practical way to get the best mileage out of existing gas car. Everyone knows most of the fuel spend in today's car is for dragging the metal around. What if we use magnets (strips under the road and bottom of the car) to give enough lift so the car can go longer distance for the same amount of fuel. I am not talking about lifting off the ground, but just enough to reduce the burden on the wheels and the car is driven the usual way.
Will it work ? <comment><USER2> Bearings are already quite good. You could get the same result by using magnetic, no contact wheel bearings at a very large increase in cost, but the fuel economy improvement would be tiny.

The big problem is not rolling resistance, its wind resistance. Wind resistance goes up by the square of the velocity increase....double the speed and you quadruple wind resistance. The second biggest fuel consumer is the mass itself (not the weight). Accelerating and decelerating mass requires energy. Magnets might make less "weight" but they would make more mass.

<comment><AUTHOR> Hm...! No wonder the fuel efficient cars look funny (Talking to you "leaf"). But it shouldn't be hard to break wind resistance. Say we ionize all the air molecules in front of car and bounce it off our way... :-)

Wait! need to put some thought in to that.</comment></comment>


Doctors Could Use Snot Instead of Blood for Diagnostics–Why Don't They? - <AUTHOR> http://motherboard.vice.com/read/doctors-could-use-snot-instead-of-blood-for-diagnostics-why-dont-they <comment><USER2> The article puts forth a couple paltry reasonings. First, there's a shortage of tooling. Second, there's no existing standards for collection/analysis/etc. Neither of these attack the real problems that immediately spring to mind and are the basis for having no standards or tooling. What if you have little to no mucus available? What if the mucus is unknowingly tainted? (as it's for filtering and catching things)

Blood makes much more sense because it's a relatively well regulated and pure substance. Anything that got in your body and is circulating, isn't an external contaminant.</comment>


The 9 Fitness Lessons We Learned in 2016 - <AUTHOR> https://www.outsideonline.com/2144071/9-fitness-lessons-we-learned-2016 <comment><USER2> > Sixty-five percent of your calories must come from fat and the other 25 > percent from protein.

It's an interesting read, but inaccurate silliness like this just made me laugh.</comment>


What's the right way to handle monetary values in code? - <AUTHOR>

I've seen a number of things saying to use integers of the smallest value (say, cents for USD) to avoid floating point rounding issues. How does that work when you have to do math on them - is it proper to just 'eat' or eliminate the remainders (say, a 33% discount on $1.00USD is how much off?  How much off is a 33% discount on $.99?) <comment><USER2> In Tarsnap I use a pair of 64-bit values, one for dollars and one for attodollars. I figure I don't mind losing a few attodollars to rounding, and I'm unlikely to ever have revenue exceeding 2^64 dollars.

</comment><comment><USER3> What you need is a fixed point decimal. I found this article asking the same question. [http://stackoverflow.com/questions/1019939/ruby-on-rails- bes...](http://stackoverflow.com/questions/1019939/ruby-on-rails-best-method- of-handling-currency-money) Fixed point is what is supposed to be used for money. Databases currently have a "Money" type.

<comment><USER4> Yep this is the right way to go .. use the Money type when you can.

Just remember though, don't hard code 2 decimal places through your system. I have had to write financial software that's needed to be flexible enough to be accurate to 4 decimal places. Some clients can have strict requirements on financial software, make sure you ask all the right questions first:

\- Do you have dollar discounts, or percentage discounts, or both?

\- When you calculate tax, you should do it on a per-line basis (don't sum up the invoice and calculate tax on the end - some countries / states / whatever can have tax exempt items)

\- When you calculate discount, calculate dollar value to N decimal places, then round to Y decimal places, then calculate tax on the rounded figure

All of this might seem like a nightmare for a few cents, but it really matters if you're dealing with many items (where small differences add up over many items) or you have to integrate with another third party system, and you might need to make sure your totals match theirs exactly (to the cent)

EDIT: Citing my sources ... I have worked on financial software that spans New Zealand, Australia and Global stuff too. I have had to integrate with (and learn intimately) 40+ accounting packages. All of them behave slightly differently in terms of rounding, but your best best is to -

\- Match the system you're integrating with

\- If you must 'lose' a cent, favour the customer (as the above comment says)

Godspeed :)

</comment></comment><comment><USER5> Assuming truncating division:

Round down:

discount = 33 value / 100;

Round up:

discount = (33 value + 99) / 100;

Round to nearest:

discount = (33 value + 50) / 100;

<comment><AUTHOR> But which method is _appropriate_ for financial code?

<comment><USER6> I would use whichever errs in favor of the customer. Its only one cent, after all.</comment></comment></comment>


Gyrophone: Recognizing Speech from Gyroscope Signals (2014) [video] - <AUTHOR> https://crypto.stanford.edu/gyrophone/ <comment><USER2> Where can we hear what it sounds like?

</comment><comment><USER3> They don't explain anything in that link.

<comment><USER4> There's a second video on that page as well that explains the technique used.

</comment></comment><comment><USER5> Mods, consider adding (2014) to the title as this was presented at USENIX '14.

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

</comment></comment><comment><USER7> Oh my, this is huge!</comment>


Inside Gab: The New Twitter Alternative Championed by the Alt-Right - <AUTHOR> https://www.fastcompany.com/3065777/inside-gab-the-new-twitter-alternative-championed-by-the-alt-right <comment><USER2> Cool. Maybe I'll be able to post a response on Twitter now without some White Nationalist Trumpette saying racist bs back.

</comment><comment><USER3> The "left"* keeps blaming "fake news" en masse for supposedly influencing the election in a way they didn't like, but they willingly ignore the broad trend of using and undermining the credibility of the news industry as a whole to publish propaganda.

Clinton's "pied piper" strategy, along with super PACs like American Bridge who railed hard against any reasonably alternative establishment candidate like Bush, backfired spectacularly.

I suppose it's more comfortable to blame "fake news" than to acknowledge that Clinton outspent Trump something like 10 to 1, ignored voters in states all their models believed were a "firewall", only nominated because of a general behavior among the party of 'anointing' instead of debate, and had almost every advantage and connection at their disposal. All things considered, they lost where it mattered, and blaming 'fake news' or 'James Comey' can't change that fact.

On the bright side: it gives them a convenient excuse to ban anyone they don't like while leaving large swathes of "leftist" vitriol to populate their echo chamber.

*I can't even call these people liberals.

<comment><USER4> yeah, the banning of people is just of those the "left" doesn't like, not because of deeply offensive and racist comments by those getting banned. give me a break.

<comment><USER3> >deeply offensive

Grow up. You're not special because you were personally offended, or offended for someone else.

>racist comments

There may be something here, anecdotally, but that term has been used so much by the "Sickle Brigade" that the accusation has ceased to have any sort of impact to me online. Oversensitive, repugnant people use their brand of social justice to abuse identity politics and shit all over discourse themselves. Everything stems from racism according to these privileged liberal arts majors.

I only need to point to the story on HN the other day about all of the progressive blogs that repeated incessantly that Trump is "openly racist" to make my point.

[http://slatestarcodex.com/2016/11/16/you-are-still-crying- wo...](http://slatestarcodex.com/2016/11/16/you-are-still-crying-wolf/) [https://www.abqjournal.com/888311/protest-helped-to- create-p...](https://www.abqjournal.com/888311/protest-helped-to-create- president-trump.html)

Those sort of people make it really hard for me to call myself a liberal. And after all, it's only fair that they start banning vitriol from the sickle brigade as well.

</comment></comment></comment><comment><USER5> I personally love the format and every thing to do with it, I love having those extra characters, now finally we can use a twitter like medium for actual lively & intelligent conversations.

I hope for the best for this company and project.

</comment><comment><USER6> This site is badly needed.

</comment><comment><USER7> it'll be an interesting experiment - if you can't have free speech without abuse then I assume the site will take off. for now, I'm completely happy to have people like Milo entertaining themselves somewhere that isn't Twitter.</comment>


Plaintext recovery on TLS when using CBC using timing attack - <AUTHOR> http://www.isg.rhul.ac.uk/tls/TLStiming.pdf

<comment><AUTHOR> "We have demonstrated a variety of attacks against implemen-tations of (D)TLS. We reiterate that the attacks are ciphertext-only, and so can be carried out by the standard MITM attacker, without a chosen-plaintext capability."</comment>


2010 bug hits millions of Germans - <AUTHOR> http://www.guardian.co.uk/world/2010/jan/06/2010-bug-millions-germans

<comment><USER2> Does anyone know what the nature of the bug is? The article lacked on this aspect unfortunately.

<comment><USER3> I thought this was discussed earlier this week, but I can't find a link anywhere. The representation of the date is ambiguous about decimal/hexadecimal. So some devices are reading "10" as equal to 16, yielding the year 2016 instead of 2010.

</comment></comment><comment><USER4> as a workaround one can put a strip of tape over the chip, that way the magnetic strip on the other side gets used.

</comment><comment><USER5> The dreaded Y2.01K Bug

<comment><USER6> Actually, Y2k01. Engineers don't use decimal points - it's too easy for them to disappear during copying.</comment></comment>


Ask HN: How do i increase my karma - <AUTHOR>

I have been a long time reader of HN, but have never bothered to create an account. Couple of weeks ago i finally registered. I still see my karma at the default 1. How do i increase it ? <comment><USER2> by getting up votes on comments you post to other articles

<comment><USER3> And submitting quality content which is then upvoted.

Pro-tip: Ignore karma. It's worthless and chasing karma only degrades the quality of the site.</comment></comment>


Show HN: Minimal TOTP generator in 20 lines of Python - <AUTHOR> https://github.com/susam/mintotp <comment><USER2> > Many websites and services require two-factor authentication (2FA) or multi- > factor authentication (MFA) where the user is required to present two or > more pieces of evidence: • Something only the user knows, e.g., password, > passphrase, etc. • Something only the user has, e.g., hardware token, mobile > phone, etc. • Something only the user is, e.g., biometrics.

Apart from mobile phones using fingerprints to unlock, are biometrics used in any mainstream MFA? Are there any websites, services or companies that accept passwords and OTPs also accept biometrics for authentication?

<comment><USER3> No and I'm not sure this would be desirable either, it would mean having to have services store and validate your biometric data.

<comment><USER4> And transmit it! Biometrics are useless for remote 2fa. They only even make a little sense when used for immediate local hardware interaction. From a remote perspective you can't authenticate biometrics versus a replay attack. Hardware does it by literally being hardware and thus has high confidence it is talking to the real sensor and you will note all the phones require harder authentication on boot before enabling biometric authentication.

</comment></comment></comment><comment><USER5> This is super neat! Thanks for open sourcing this.

</comment><comment><USER6> Including the comment in first line and blank lines there are 30 lines. If we ignore them, yes, 20 lines.</comment>


With "Your Feed" The New York Times lets iOS users follow topics and journalists - <AUTHOR> http://www.niemanlab.org/2018/08/with-your-feed-the-new-york-times-lets-ios-users-follow-topics-and-journalists-in-a-non-overwhelming-way/ <comment><AUTHOR> And the related blog post: [https://open.nytimes.com/announcing-a-new-ios- feature-that-h...](https://open.nytimes.com/announcing-a-new-ios-feature-that- helps-readers-find-stories-relevant-to-them-a8273f8fcca4)</comment>


How Britain stole $45T from India - <AUTHOR> https://www.aljazeera.com/amp/indepth/opinion/britain-stole-45-trillion-india-181206124830851.html <comment><USER2> > What does this require of Britain today? An apology? Absolutely. > Reparations? Perhaps

Indian here, I seriously don't understand lot of Indians(atleast on reddit) are still obsessed with the British history, yes the British stole from India, get over it.

There are big Indian crooks who stole from India in the last couple of years and they are enjoying their lives in the UK, the Indian govt does not bother them then why bother about British looting 60 years back.

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


Change for US - <AUTHOR>

Around 2004 to 2007 there were more and more signs which indicated the upcoming housing crises. But with all the information floating around it was not all that clear how it will turn out, now we know much better.
I see the same kind of news and discussion increasingly happening on which way the US will move. Latest news say job market is getting better at the same time more articles start to say America will go bankrupt. Well, the country itself does not go bankrupt, but if the government can not fulfill the payment obligations there will be consequences.
One direct risk is when foreign investors start to significantly draw down the investments into the US. What will be the ramifications in the next years to come if US does financially go under? <comment><USER2> This is supposed to be the definitive book on the subject: This Time is Different: Eight Centuries of Financial Folly ([http://www.amazon.com/This- Time-Different-Centuries-Financia...](http://www.amazon.com/This-Time- Different-Centuries-Financial/dp/0691142165/)).

Barons: "A tour de force of quantitative analysis covering financial crises affecting 66 countries over the past 800 years, the book identifies pre-crisis patterns that recur with eerie consistency."</comment>