Why learning Haskell/Python makes you a worse programmer (2006) - <AUTHOR> http://lukeplant.me.uk/blog/posts/why-learning-haskell-python-makes-you-a-worse-programmer/ <comment><USER2> I know exactly how he feels. This is basically the experience I had when I moved from Python to functional languages and it finally "clicked" how much more productive I could be in a Lisp or an ML.

Where I differ somewhat is that for me, it saved programming as I knew it. I wouldn't be a programmer right now if it weren't for discovering Lisps and MLs.

I fecking hated writing spaghetti OOP and tedious imperative loops. Mainstream programming languages are built on the lowest common denominator and the result is that as a younger person looking at the possibility of getting into computers as a career, I was scared off by the amount of willful tedium that seemed to define professional coding at the time.

Today I work in a Clojure shop, and if I didn't, I'd be very wary of looking for employers that expected me to use inferior tools simply because they did not understand more efficient functional ones.

It reminds me of some of the terrible kitchens I used to work at where I'd be expected to do things like cut meat with a cheap paring knife because the employer felt that a real chef's knife was "unnecessary" or "too expensive". I quit those jobs, and frankly, I wonder at programmers who don't have the same respect for their craft when it comes to programming tools.

</comment><comment><USER3> The smugness of Haskell evangelists is what keeps me from using it.

I swear, the first rule of Haskell is to never shut the fuck up about Haskell.

<comment><USER4> I never wanted to be like that, but it wears you down constantly seeing people complaining about problems that are trivial, or going gaga over some "new" feature in a trendy language that's a trivial special case of something Haskell has had for 20 years. You get tired of telling people the same thing every day and it never gets any better. Eventually you start just treating the superiority of Haskell as fact, because it's too tiresome to be constantly pretending that other options have their merits when you know they don't.

<comment><USER5> Actually, much better approach is to shut the fsck up and write something useful. Funny how Erlang crowd doesn't show that much of smugness when it comes to parallel/concurrent programming. I've only seen two Haskell programs that were at least remotely useful to me (one being Pandoc), and then again, those programs had awful size of the binary and atrocious memory requirements.

<comment><USER6> >Actually, much better approach is to shut the fsck up and write something useful

No, it really isn't. What is the goal there? To prove you can use a general purpose language to write software? There's tons of software already that proves that. How many haskell projects need to exist before it has proven itself or whatever it is you are expecting from this? If I write enough haskell software, the industry will just suddenly stop using bad languages to write bad software and _poof_ care about quality miraculously? How is the industry supposed to know I have written this haskell software if I am not allowed to talk about haskell, or writing software in haskell, or how good haskell was for writing software when I used it? And why is haskell the only language where nobody is allowed to talk about it or they are variously branded smug, arrogant, academic blowhards, etc, etc?

</comment></comment></comment></comment><comment><USER7> I feel the author's pain. I had a short consulting gig recently where I was asked to speed up a simulation job written in Python by a mechanical engineer. Smart guy but not a programmer, so the script was full of global variables, side effects and imperative loops.

I parallelised the script, which is pretty easy in Python but involved refactoring into a more pure functional style. I abstracted out the algorithms and added in some persistent memoization as a bonus. It was clean and did what they needed, but... unfortunately was now completely unintelligible to the engineer who wrote it.

When I was asked back 6 months later to help again, they had reverted to using and modifying the old script. This time I kept the changes to the absolute minimum.

<comment><USER8> You lost the opportunity for recurring jobs every six months.

</comment></comment><comment><USER9> I know this is 10 years old, So the more interesting thing to me is that these days you can do this functional style in most languages, even Java!

        foo.stream().filter(s -> !s.isEmpty()).collect(Collectors.joining("\n"));

So I'd say it didn't make them a worse programmer, it's just that the languages were/are behind.

Edit: Yup, forgot to map the description, but I'll leave it now.

<comment><USER10> You forgot the map operation (and I would also filter out nulls): (just to be pedantic)

      foo.stream()
         .filter(s -> s != null)
         .map(s -> s.description())
         .filter(s -> !s.isEmpty())
         .collect(Collectors.joining("\n"));

</comment></comment><comment> d--b Where it does make you a worse programmer however, is when you don't realize that using the join method on an iterator means that you are going to concatenate a whole lot of strings, while in most cases, you actually could know the size of the final string from the beginning, and you don't need to allocate a whole bunch of arrays in the process.

These idioms have a complete disregard towards performance.

<comment><USER4> If you don't profile your code automatically on every build then you have no business even thinking about such things. And if you do, that will alert you as to whether it's a problem or not. Let the computer do the bookkeeping for you, that's what being a programmer is.

<comment> d--b I am simply saying that automatically choosing the nicer looking code just because it's nicer is not always the proper option. Being a good developer implies knowing when you're making a readability / performance tradeoff. If using idioms makes you lazy to the point that you no longer want to write more efficient code, then yes, it's making you a worse developer.

<comment><USER4> Laziness is one of the three cardinal virtues of a programmer. In my experience thinking you know the performance characteristics of any given piece of code is always a mistake. It's certainly not true that functional idioms in general perform worse - e.g. map/reduce style can be automatically parallelized, making it more efficient on modern multicore machines than explicit loops. If you know you're writing for a specific computer you can no doubt do better by using assembly, but functional code in general is more adaptable to the unknown future, because it tends to require specifying less of the details.

<comment> d--b Look, I am not here to say that functional programming is bad, I really enjoy using these idioms. I am just speaking from experience. Since Linq has come to C#, I see things like this in my workplace:

        VeryLargeList.Select(x => x.Blah).ToArray()

And people are wondering why they get OutOfMemoryException.

Before linq, people would just loop, and the array would not have to be allocated dynamically.

All I am saying is "more abstraction may lead to performace issue, and people should be aware of it"

<comment><USER4> There's no reason that should use any more memory than an explicit loop. Maybe the particular implementation in C# does, but that's an implementation problem, not a language problem.

<comment> d--b That's my point: the language cleanliness may obfuscate dirty implementation details, and a good developer should know what these are.

Another example, when you do this:

        SuperLargeList.Where(x => x.Blah).ToArray()

There is no way for the compiler to know whether the output array will have a small size or a large size, and so it will choose one or the other assumption (dynamic vs fixed allocation). The language chooses for you how it implements things, and this is all fine as long as you know about it, and as long as you can do something about it in the case when you need to optimize.

<comment><USER4> > That's my point: the language cleanliness may obfuscate dirty implementation > details, and a good developer should know what these are.

So what, we should write everything as CPU microops? A good developer should be capable of looking at that level, sure, but it shouldn't be the default; most of the time the computer is better at judging these questions than the developer.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> > [M]y experience with Haskell means that I now see potential bugs everywhere > in imperative code. [...] Now I know there are other ways of doing these > things, I find it difficult to be satisfied with any of the code I write. I > am constantly aware that I am writing traps that other people are likely to > fall in.

Good. That's exactly what it was supposed to do to your mind. Now you need to learn to live with this awareness, and you need to learn how to minimize the amount of traps you leave behind.

> I also find C# code very ugly compared to both Python and Haskell. On the > visual level, the mandatory use of braces everywhere [...] makes code > contain a lot of line noise and empty space, and combined with the verbosity > of the libraries and type declarations etc, you find that a page of C# > hardly does anything.

Learn two or three more languages and you'll find that this visual clutter hardly matters. What's important is how much can you do with the same amount of statements and expressions (I find Paul Graham's proposition that this is related to the count of AST nodes appealing).

> 2\. Using functional style obfuscates your code when using other languages.

This sounds like the really old programming joke: "good programmer can write in Fortran in any language".

Some constructs are not a good fit for some languages. I avoid map(), filter(), and reduce() in Python like the plague, but I find list comprehensions appropriate. You need to learn to switch between paradigms and sets of idioms, not to cram the same set everywhere.

<comment><USER11> > > I also find C# code very ugly compared to both Python and Haskell. On the > visual level, the mandatory use of braces everywhere [...] makes code > contain a lot of line noise and empty space, and combined with the verbosity > of the libraries and type declarations etc, you find that a page of C# > hardly does anything. > Learn two or three more languages and you'll find > that this visual clutter hardly matters. What's important is how much can > you do with the same amount of statements and expressions (I find Paul > Graham's proposition that this is related to the count of AST nodes > appealing).

I would agree that if you follow the official Microsoft C# style conventions, you end up with some ugly looking, noisy code. I am not a fan of sticking opening braces on their own line, or forcing a newline between closing braces and else, catch, finally keywords. It is just a waste of too much vertical space, for questionable benefit.

</comment></comment><comment><USER12> By now you can do better in c#. You can do the following, for instance:

        mylist.Select(item => item.description)
              .Where(descr => descr != "")
              .Aggregate(a,b => a + "\n" +  b)

Edit: I guess those features weren't available at the time of this article? Haven't used c# for long enough to be sure.

<comment><USER13> Correct, in 2006 there were no LINQ, extension methods and a number of other great improvements which kind of makes the article less valuable.

Not that it was terribly valuable to begin with: as a programmer, using the language at hand to write code that 1) works and 2) is as clear as possible is exactly your job.

Emulating other languages because of feature envy is really stupid, the first C# snippet is a prime example of this. I would not want to work with someone who deliberately makes the code harder to read in order to mimic his/her own favorite language. Every language has its idioms, just learn them and quit bitching.

As a side note, the example chosen was particularly poor because, if the collection contains a huge number of items, concatenating them without a StringBuilder in .NET land is a terribile idea.

</comment></comment><comment> maze-le I don't know how it is with you, but I think I have learned a lot by learning Haskell - and I think it has made me a better programmer. I have to say, I am in no way fluent in Haskell (anymore), and I prefer erlang as the functional PL of my choice (better libraries, more open community).

I had a series of courses about concurrent programming at the University, with a Focus on programming in Haskell. Learning Haskell has taught me 2 things, and I am immenseley gratful that it did:

* The power of abstractions

* The power of types.

The second point is absoluteley incredible in Haskell. With proper reasoning about your datatypes, the implementation almost becomes an afterthought. I never had that insight when I was using Java, C or another statically typed language.

Also: I think if this aricle would be written today, the authour wouldn't be so frustrated. Many functional concepts have influenced other languages in the last 10 years (especially C#).

<comment><USER14> Haskell may not be the best in production, but it's amazing for learning computer science. It's also pretty good for learning quite a bit of intermediate and advanced programming. The concepts and styles of thinking it teaches can be applied elsewhere to great effect.

</comment></comment><comment><USER15> It's like why becoming fluent in a second speaking language makes you a 'worse' speaker in your native tongue. You sometimes confuse idioms and terms, and sometimes you find yourself frustrated when trying to find a word in one language, when the perfect word exists in the other.

(Tongue-in-cheek, if not apparent)

</comment><comment><USER16> > Further, my experience with Haskell means that I now see potential bugs > everywhere in imperative code. ... I am constantly aware that I am writing > traps that other people are likely to fall in.

Did that not make him a _better_ programmer? Did he actually mean "Why learning Haskell/Python makes you a worse _feeling_ programmer"?

</comment><comment><USER17> Think that's tough? Try learning formal methods and how to design software to be correct by construction. Haskell would be an easy sell. But regardless of language few seem capable of catching errors in logic -- the kind that lead to race-conditions, starvation, dog-piling, cache misses, consistency errors, etc.

The kinds of errors whose frequency and impact we are ill suited to estimate. "Bah, that could only happen for 1 in 100k requests." Now your system is serving 3M requests a second. It's very likely you'll be seeing that error.

Don't be discouraged though. You might read about a new distributed lock in an important open source cloud orchestration framework that the public is building service infrastructure on and not find a single executable specification. Doesn't mean you can't write one and submit a pull request when you inevitably find errors in it. You just have to keep such alien super powers under wraps.

Similarly if your goal is to write more Haskell at your job: just find opportunities to use it. Preferably ones where you can keep the secret of the sausage to yourself. When your bosses and colleagues begin to wonder how you consistently kick butt you can tell them. Then they might want to learn too.

At least that's the story I tell myself. Most people are happy in their own instance on Plato's cave. If you bring in new ideas you might be ousted from the group. Or fired.

Just keep doing the best mediocre job you can and try not to think about it too hard!

</comment><comment><USER18> Haskell and Python are two languages that couldn't be more different. Are there developers that prefer both and constantly switch between them? Besides the obvious that Python has one or two cool libraries, why would anybody willingly do that?

<comment><USER19> Hello, I'm that guy who voluntarily writes a mixture of Python and Haskell in his day job.

For me, it's about recognizing the strengths in both languages. You mentioned Python having "one or two cool libraries", but that's quite an understatement if you're doing any sort of numerical work. NumPy and SciPy are incredibly powerful, fast, and consistent. While hMatrix and Accelerate are both wonderful packages and have made some great progress, they don't have nearly the community support that Numpy does.

On the reverse side, when I'm dealing with any sort of interactive system (e.g. Web Scraper or Motor Controller), I immediately reach for Haskell, since it makes those kinds of applications so much easier.

For me it's mostly about just finding the right tool for the job. And trying to avoid any job where the right tool is Fortran.

<comment><USER20> > On the reverse side, when I'm dealing with any sort of interactive system > (e.g. Web Scraper or Motor Controller), I immediately reach for Haskell, > since it makes those kinds of applications so much easier.

I find this a bit surprising... can you tell a bit more about these projects?

I tend to do the opposite, I reach for Python when I need interactive stuff or need to interface with the "real world" more (network connections, etc). And I use Haskell when I have projects that have well defined inputs and outputs.

</comment></comment></comment><comment> UK-AL The comparisons with c# in this article is 10 years out date, so they are no longer relevant.

</comment><comment><USER21> I finally have an excuse.

</comment><comment><USER22> I do actually experience this : functional style is shorter, more effective, and more bugfree, and you can do it even in Go (if you're willing to copy bits to compensate for lack of generics).

However, there is a large class of programmers that will kill you on the code review if they see this. Mostly I think it's for lack of understanding, or I've gotten comments complaining exactly that it's not imperative code.

Unless you're willing to educate your colleagues, the post may have a point : learning functional style will improve your programs but seriously increase your frustrations.

<comment><USER23> The post sounds like an instance of solving the wrong problem. If you can write more concise, elegant and bug-free code, but all your colleagues can't deal with it and want to stick with their stuff, you're probably in the wrong place.

On the other hand: Python doesn't exactly impress me as a particularly "functional" language. The examples are not as straightforward as the Haskell examples. Python uses a weird mix of OOP, imperative and functional programming, and this creates mental strain for everybody who has to read it. When I switch from Ruby to Python, I usually enjoy the simple imperative- pseudo-code like way of how the most idiomatic code there works. Then when I go back to Ruby I'm happy to use idiomatic metaprogramming, chained blocks of code etc.

The same is true for Go and probably part of the current fascination of the dev community with the language (because it's proud of constraining complexity of expression).

<comment><USER24> > Python uses a weird mix of OOP, imperative and functional programming, and > this creates mental strain for everybody who has to read it.

I used to think so until I came across Oz. It's Prolog, Lisp and Python all in one nice package :) Granted, it's more of an educational language, still though, Oz is a mind-stretcher.

</comment></comment></comment><comment><USER25> Well, "writing traps that other people are likely to fall in" does sound bad. I'm not sure I understand why that would be made excusable due to... knowing a couple other languages and that they exist?</comment>


The illusion of life: animation principles and UI design - <AUTHOR> http://uxdesign.smashingmagazine.com/2012/10/30/motion-animation-new-mobile-ux-design-material/

<comment><USER2> This is the best article I've read on UI design in a while, thank you for sharing! Lately I've come across a number of blogs and articles drawing comparisons between the work by early Disney animators and Imagineers and modern UI/UX design. I think those principles translate well to web and mobile -- we are taking taking users "on a ride" after all. It's nice to see the animation principles explained so thoroughly here.

<comment><USER3> <http://research.nokia.com/publication/10905></comment></comment>


Visible signs left after Google Fiber abandons Louisville - <AUTHOR> https://gizmodo.com/when-google-fiber-abandons-your-city-as-a-failed-experi-1833244198 <comment><USER2> When I interned at AT&T a few years ago, I asked a manager I respected whether they were worried about Google Fiber coming in and eating their lunch.

"No", he said. "We'll sue them for every mile of fiber they lay down".

I can understand why they would make that play. It's kind of the only play they have. AT&T and Verizon innovate enough to remain...okay...but they're not exactly Google. The only way they would win is to get dirty and turn fiber laying into Google's very own Stalingrad. And between starting a new, massive, low-margin (by advertising's standards), and capital-intensive business, and keeping salaries high and employees happy, Google chose the latter and bowed out because honestly, dying on this hill isn't a smart move.

I doubt Google wants to do this. Pulling out at this stage, when Fiber hadn't actually provided the "nudge" to internet speeds and throughput that would make Google and Internet companies more powerful, would not place Google at a place of negotiating strength. It makes Google look bad and cements the ISP monopolies' notion that Google pulled out because they physically can't bear the pain and so they remain safe, not because Google _chose_ to, can do this whenever they want, and have the ISPs at their mercy. It probably also burned a few bridges, if there were bridges at all, and makes weighing favors in a (hopefully not long-term) post-net-neutrality world swing towards the other major power players like Amazon or Facebook.

<comment><USER2> I do think the significance of this is cities realizing there is no Disney prince riding in on a white horse to save them, and taking their own futures into their own hands. I'm hoping there's enough "anchor cities/regions", like Nashville/RTP/Kansas City, that have contingency plans and referendums ready for an infrastructure push at the local level if Fiber pulls out there, to prevent all white-collar talent from drifting towards the coasts and leave a complete vacuum everywhere else. It'll take a lot of organization, money, guile, and community trust to push through ISP brainwashing, but the cities that succeed will hopefully become the few "shining cities on a hill" that could save an entire state from economic irrelevance. Hopefully, when the pendulum swings the other way on urban centralization, they'll emerge as good alternatives to raise children, work remotely, and live a good life.

<comment><USER3> I think people here in Raleigh would hardly notice if Google Fiber pulled out. They only ever offered it in a very small area and AT&T has been offering gigabit to to large parts of the area for several years now.

<comment><USER4> Yeah, in Durham, I've seen a lot of AT&T guys running fiber... I've only gotten a Google T-Shirt and seen an apparently empty office space downtown with a Google Fiber sign in the window.

</comment></comment></comment></comment><comment><USER5> Let's not forget that the real issue here is that American ISPs are a complete monopoly by Comcast and AT&T, companies made of pure greed. Small end sub ISPs have to claw for every strand of dark fiber. Google really shouldn't be the answer though. We need to demand that politicians address the issue in the upcoming election before they start looking at the Silicon Valley giants.

<comment><USER6> The best ISP in the country is in Minneapolis. $70/mo for symmetric 1 Gbps

[https://fiber.usinternet.com/](https://fiber.usinternet.com/)

They lay their own fiber terminating at your home and have been steadily covering the metro area.

<comment><USER7> Does this scale to other metro areas, if other initiatives could be funded and started? If so, why isn't it happening in those other metros? If not, what makes the Twin Cities special?

<comment><USER6> It went relatively slowly and started in sections of the city with the right customer demographics. The local government which is a big part of the equation seems to be generally a little more reasonable and less corrupt than is average.

I am speculating it is capital intensive and not enormously profitable, and it is slow.

<comment><USER8> > It went relatively slowly and started in sections of the city with the right > customer demographics. The local government which is a big part of the > equation seems to be generally a little more reasonable and less corrupt > than is average.

That is also how Stockholm built out its fiber network. And, by the way, it is illegal in almost every city, because it would result in wealthier neighborhoods getting fiber first. That is the reason, for example, why Baltimore doesn't have FiOS whole almost the whole rest of Maryland does.

<comment><USER9> > That is also how Stockholm built out its fiber network.

Stokab also had various mandates to connect or cooperate with schools, government, student housing, public(ly owned) housing and other entities. You would often get fiber in the equivalent "the projects" before someone in an affluent co-op. Without this I am not sure how well the approach would have worked.

<comment><USER8> Connecting a few government-owned buildings is a far cry from requirements in the US, where typically every area above a very low population threshold must be connected.

<comment><USER9> I wasn't a few government-owned building so much as 25% of the housing stock, around a hundred thousand apartments, which were actually owned by the city at the time. (And that is just the publicly owned housing). As far as I know it wasn't subsidized as such, but paid for by profit from rents and rent increases (these are essentially rent controlled apartments).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I'm a happy Google Fiber customer (Austin), and my neighborhood was deep- trenched. The results have been excellent, with near-zero reliability issues and a clean look on the street.

Unfortunately, not everyone is having the same experience. The perception here is that they are operating a shell of what the previous ambitions were. Service has been active in my area for close to 3 years now, but I have neighbors who have been on waitlists for months or years to get their house on the network, still being told to call back every few months.

It seems like any houses that missed the initial sign-up (now many years ago) are a crapshoot to ever receive service in a timely manner. Some streets that didn't receive enough sign-ups were never trenched, while adjacent streets were. Sometimes fiber is installed all the way to the house with months-long delays connecting to the network (splicing issues, conduit clog, etc). I've loved my service and it's been rock-solid, but there are certainly a lot of obstacles compared with traditional telecom providers.

<comment><USER11> Same here in the burbs. Would love me some fiber, but it's never going to happen.

</comment></comment><comment><USER12> At many traffic light intersections, you can see where the trenches are used for inductive loop car sensors, with wire in them.

[https://www.traffic-signal- design.com/vehicles_detected.htm](https://www.traffic-signal- design.com/vehicles_detected.htm)

The trench is narrow, cut with a diamond saw, and the filler (tar?) doesn't come out.

The example photo of a failure in the article, showed a relatively wide trench, presumably width required for the microduct for blown/jetted fiber.

So maybe they used a trench that was too wide, and a filler that was unsuitable.

I have also seen microtrenchs used in New Zealand across private driveways (low traffic use).

I wonder how good the trials were of the filler? I sometimes see paint tests on the road (multiple lines of different product and different thicknesses, being tested by heavy, real traffic use).

</comment><comment><USER13> I wish they provided some details on why the San Antonio and Nashville small trials didn't scale to Louisville. If the issues were really so glaring and obvious it seems those efforts should have revealed them.

Edit: Looks like it didn't actually work in those cities either. One wonders why the Louisville representatives missed this.

[https://www.wsmv.com/news/repaving-streets-reveal-google- fib...](https://www.wsmv.com/news/repaving-streets-reveal-google-fiber-buried- too-close-to-surface/article_9af6a069-1466-582a-90d2-514b4eeef7ea.html)

<comment><USER14> Louisville's representatives likely missed that because they were wearing rose-colored glasses. They were thinking "big picture" about would a successful project could mean for the city and were ignoring the details. They were probably (rightly?) assuming that an organization like Google would be able to learn from their mistakes and "this time would be different". Really, it's hard to fault them for thinking this way, but just like every other situation in business, if it seems too good to be true, it probably is.

<comment><USER4> hoping to get something for their $400K investment.

</comment></comment></comment><comment><USER15> "The company also wanted to cover the trenches with epoxy, rather than the typical asphalt mix."

Along with the rest, this outlines a basic problem that modern Google and other Silicon Valley companies have with technologies. The Google people have massive talent, capabilities, and funding. Yet the use this almost as a handicap nowadays. Because they have talent doesn't mean they have a monopoly of it.

We have extensive testing of every conceivable paving and repair mathod done over 100+ years. Engineering colleges around the U.S. (and the world of course) have a massive legacy of tests. To go in and just guess your new idea is going to work for a new project just isn't necessary in such basic technologies.

<comment><USER16> Indeed.

Epoxy even sounds like a stupid idea. I mean how are you going to repair that next time. It's impossible to dig that stuff up.

<comment><USER17> it's only a couple of inches deep, it sounds like "if there's a problem we'll tear it out and replace it" kinda deal

</comment></comment></comment><comment><USER18> Would it be surprising to see Google pivot to 5G for the tech solution? I believe their business goal is still to control the access. Anyone see a realistic unit cost analyis for 5G in urban environments at maturity?

On the fiber side, I think cities need to build the infrastructure (and are often in a position to finance via low interest rate bonds etc), and then enable _any party_ to lease/operate/compete on that infrastructure.

<comment><USER19> I have WebPass (webpass.net) in Denver, which is a company that Google acquired. It's mainly for residential multi-unit apartment buildings, though. I've had it for several years and it works extremely well. It uses point-to- point radios from their main node in the city to the top of your building, then you get an ethernet hookup in your unit.

I almost always get in the ~700-800Mbps up and down range on ethernet connections, regardless of time of day. Never had any issues during snow, rain, fog, etc.

My guess is that Google realized that fiber-to-the-home is the wrong strategy, and too costly, just as Verizon FIOS halted their rollout years before. And I believe even ATT only does fiber to a neighborhood and then coax to the home, right? It's sad to see, but the cost is astronomical and it's a lot harder to get cities/municipalities to let you dig things up.

Especially for America with it having so much sprawl, a wireless solution will probably work better and the rollout will be quicker.

<comment><USER20> I know "fiber to the neighborhood and coax to the home" is how both Comcast and WOW operate. Note that coax can provide some fairly decent performance, with DOCSIS 3.1, you can do gigabit down a coax cable, though the networks are still built asymmetrically, so you're only going to see 50 Mbps back up on a connection like that.

<comment><USER19> Agreed. DOCSIS 3.1 is nice. I think most of the bad news around coax is because a lot of cable operators overload their nodes.

<comment><USER20> Indeed, and the lack of upload is a design choice, not a physical limitation of the medium, as far as I know. Coax is fairly durable, is less challenging to install and much easier to repair, and as long as they can push the speed over it, I really see no reason to run fiber into the home.

</comment></comment></comment></comment></comment><comment><USER21> As the article says, the problem set is multifaceted. Nanotrenching doesn't work, and laying infrastructure in any case is super expensive. In a green field implementation in your privately owned parking lot, it would be an expensive undertaking in terms of material and time & motion, tooling. Now add in permitting requirements from the city to do the exact same mechanical exercise, plus coordination to shut city streets temporarily, enviro-impact studies, etc, etc, etc. Then add project managers, regulatory experts & lawyers to deal with the city and navigate it all. The costs are huge. It's annoying to me that some people gloss over the role of civil administration as a market barrier, but by its nature Telecom as an industry has high capital and expense requirements from installation to O&M. A lot of folks don't fully appreciate this until they work in the industry or like Google, try to revolutionize it.

</comment><comment><USER22> The failure of Google Fiber paints a very bleak picture of the future of internet infrastructure, or even all communication in this country. If _Google_ cannot compete with the status quo, who can?

<comment><USER23> They tried to lay fiber in 2in trenches instead of typical 6in trenches. Then left when it didn't work. This isn't Goliath beating David. This is David throwing a rock, missing, and going home.

<comment><USER24> Is there any technical analysis or reports available online on why the trenches didn't work ? I've always wondered if we could use our network of roads to bring internet to the doorstep by laying lines just below the road surface.

<comment><USER25> You don't need much technical analysis here. Shallow trenches break more easily, leading to higher maintenance costs. 2 inches is nothing.

</comment></comment></comment></comment><comment><USER26> This was announced a month ago: [https://fiber.googleblog.com/2019/02/louisville_7.html?m=1](https://fiber.googleblog.com/2019/02/louisville_7.html?m=1)

And discussed here at the time: [https://news.ycombinator.com/item?id=19106998](https://news.ycombinator.com/item?id=19106998) (207 comments)

<comment><USER27> Good catch. But the current article has new information. I've attempted to give it a more specific title.

If anyone suggests a better one (i.e. more accurate and neutral), preferably using language from the article itself, we can change it again.

</comment></comment><comment><USER28> Grace Simrall the CTO over there is no n00b. They're a customer of ours and they're probably one of the most advanced cities we work with in terms of thinking about a "city stack". Google Fiber didn't abandon them, as far as I can tell they just have better plans that don't include being strong armed by google.

<comment><USER29> >that don't include being strong armed by google.

What does that mean exactly?

I would think getting more competition would be welcome.

<comment><USER30> Perhaps their terms were outrageous. That's not the kind of competition you'd want.

</comment></comment></comment><comment><USER31> How bad were their roads prior to Google? If it's like a lot of other states, roads get little funding for improvements

Louisville should have looked at the model set by Chattanooga's EPB. Fastest internet in the country and a highly rated customer service team. Their roads suck too but it's not the ISP's fault.

</comment><comment><USER32> Very irresponsible behavior. If they have commitments, they should have stuck to them. The way they behaved with Google Fiber is atrocious. Networks can't be built without long term investments and Google knew well about that when they started.

<comment><USER33> The "Google never actually meant to be an ISP, they just wanted to kickstart competition" spin I hear pushed on this reminds me of the "they were just trying to start the conversation" spin when people get caught faking racist/sexist/homophobic attacks on themselves.

</comment></comment><comment><USER34> I live in the Raleigh-Durham, NC area and we heard Google Fiber was coming to the area around 2015.

A couple of months later Time Warner upgraded my cable modem speed from 15Mb to 50Mb download for the same monthly price.

Then 2 years ago AT&T came through my neighborhood installing fiber and turned it on 3 months later.

Google Fiber is concentrated in a few small areas. AT&T Fiber is expanding all over the area. I know 1 person with Google Fiber and about 15 with AT&T Fiber.

I would prefer Google over AT&T but the AT&T Fiber works and is reliable and Google is so slow at expanding that nobody cares anymore.

</comment><comment><USER35> Long time ago, the campus I worked at was offered "the deal of the century" from Dec to buy FDDI cards for all campus. A really sweet deal, only $5000 per host..

The moral of the story: beware geeks bearing gifts. Google should have been put into a contract to only field-test shallow trenches, if they committed to remediation into deep trenches at their own buck.

"they would have gone somewhere else" is the voice of Amazon city bidding nonsense: this is public utility infrastructure. They ballsed it up, they should have been contractually obligated to get it right.

If it was a testbed freebie, different story. You let somebody in to test something for free? Sure. Public Liability? sure. Disappointed customers? Sure.

Hang on.. who are they disappointed in? the elected Lousville Officials?

</comment><comment><USER36> "But Google Fiber got something out of its time here. It learned that nanotrenching—the cost-saving process of burying fiber optic cables just two inches underground—was a bust. "We currently do not have plans that call for 2 inch trenches, our primary specifications are focused on going deeper," a Google Fiber spokesperson said in an email."

It's so weird to just use cities as A/B tests and just disregard all the people and plans built around a failed case at the drop of a hat. Are they going to start A/B testing countries against eachother next?

<comment><USER22> Trying new products in small markets as an experiment has been a thing forever, and is something literally every company does regularly. There is nothing weird about it. As for the fallout, IMO the city is to blame for it more than Google, since the company is obligated to do exactly what the contract entails.

<comment><USER37> Yeah, but when a soda company, say, tries out one new flavor in my town, and different new flavor in your town, and mine flops and yours succeeds, they don't just stop selling soda in my town. They start selling the flavor from your test in my town, too.

It would have risked much less bad publicity if they had done the 2" experiments in a city they were willing to use 6" trenching in. Do part of the deployment with 2" and part with 6", and if the 2" part doesn't work redo that part with 6".

<comment><USER33> Soda companies also don't leave deteriorating trenches behind on the roads in town when their tests fail.

</comment></comment></comment></comment><comment><USER38> My city negotiated a fiber contract with Allo that was very favorable to the city. Allo basically provides free internet to municipal buildings for the right to sell fiber to residential areas. The entire city is almost covered (300K people), and rates are very affordable ($90/month for 1gig symmetrical). Allo also sells tv and phone service as well. I've been extremely happy. Allo provided the CPE at no cost, doesn't require a contract, and has support people who seem to be close to the metal.

<comment><USER4> I thought Google just canceled Allo the other day...

<comment><USER38> Different Allo. www.allocommunications.com

</comment></comment></comment><comment><USER39> Anybody else notice the symmetry of how Google's competition is described as "entrenched" and how Google's fiber lines were literally, insufficiently entrenched?

</comment><comment><USER40> I really don't think Google knows what they really want to achieve with Fiber - otherwise they'd have figured out the right way to roll it out years ago. They also bought a separate company, Webpass, that does "fixed wireless" (wireless to the building using a pretty big antenna, about the size of a stadium light, building is wired from there), and that has also been rolling out very slowly.

</comment><comment><USER41> Google is a terrible company!

</comment><comment><USER42> Fiber is probably a dead end and will ultimately be replaced by 5G point-to- point transmission for the last mile.

<comment><USER43> Fiber offers better reliability, lower latency, higher bandwidth (right now), and it can be reused for even higher bandwidth later (e.g. 1 Gbps fiber can handle 10 Gbps with new transceivers on the same run).

<comment><USER19> They could still do fiber to some central node, then point-to-point radios for the last mile. I have WebPass (webpass.net) and it's point-to-point, gigabit, and latency is awesome, much better than Comcast ever was for me at the same location, or any location for that matter. My ping to 220.127.116.11 is consistently around 2-4ms. And yes, this is obviously an anycast address, going to a datacenter in my city, but still impressive:

      traceroute to 220.127.116.11 (184.108.40.206), 30 hops max, 60 byte packets
     1  192.168.1.1 (192.168.1.1)  0.394 ms  0.383 ms  0.470 ms
     2  * * * (*)  2.460 ms  1.754 ms  2.599 ms
     3  10.5.1.9 (10.5.1.9)  1.518 ms  1.424 ms  1.614 ms
     4  184.108.40.206 (22.214.171.124)  1.926 ms  2.240 ms  2.138 ms
     5  one.one.one.one (188.8.131.52)  1.756 ms  1.945 ms  2.015 ms

I was skeptical of this over something wired, too, but it's clear that the technology has greatly improved.

<comment><USER44> And in bad weather...?

<comment><USER19> No issues whatsoever. That was definitely my concern. Snow, fog, rain, large storms. It just works.</comment></comment></comment></comment></comment>


The death of Cecil the lion and the big business of big game trophy hunting - <AUTHOR> http://www.washingtonpost.com/news/morning-mix/wp/2015/07/29/how-the-death-of-cecil-the-lion-at-the-hands-of-american-walter-palmer-has-shed-light-on-the-big-business-of-big-game/

<comment><USER2> I can't help feel that people are being rather hypocritical in their outrage to this.</comment>


My first website a simple Recurring Payments - <AUTHOR> https://subscribeful.com/ <comment><USER2> There's petty little information here. What exactly does this do that Stripe subscriptions does not? Also unrelatedly, would anyone recommend using This/Chargebee/Recurly when Stripe already has subscriptions built in?

<comment><AUTHOR> Hey Sam, Thanks for your feedback I was thinking a lot of people that don't want the hassle of setting up stripe subscriptions, thus these services normally make it easier?

</comment></comment><comment><USER3> There are spelling and grammar mistakes all over the home page ("intergation", "2 line", "Get given").

Can you have annual subscriptions? One-time payment subscriptions? It's not clear. If not, why not?

What are scrolls? Who is Heath Logan Campbell and why does he want to chat with me?

Does this require Stripe? "Stripe Integration" implies it's optional.

<comment><AUTHOR> Hey agildehaus,

Spelling Mistakes: I'm so surprised that people read those little text blurbs. Personally, I never do, but you're 100% right, I'll fix that up asap!

Lack of detail: You must have a very good eye for detail to notice the scroll thing! But thank you, It'll add a lot more detail into the website to explain each part!

Stripe Integration: For now I was thinking of using stripe as a base since I don't want to be in-charge of security for credit cards.

Annual or One-time: The site is currently set up for a one time payment to use the software just because it's a bit buggy and unstable.

</comment></comment><comment><USER4> > Easy customer Experience

> … with ReCAPTCHA

 _Shudder._

(reCAPTCHA is not always easy: a great many users have real trouble with it.)

<comment><AUTHOR> Hahaha, You're right Chris, that's a bit messed up!

</comment></comment><comment><USER5> So, this is just a simple static web page to get feedback from HN, right?

<comment><AUTHOR> Yeah Kinda, There are smart people here, So might as well :P

</comment></comment><comment><USER6> What would be the difference with let's say Chargebee ? (which is free for the first 50k)

<comment><AUTHOR> Thanks so much for your comment Kevin!

I was thinking about targeting small businesses, or something along those lines, that wouldn't might paying more for less hassle.

But the main goal is that I want to get something up and running so I understand the whole process of launching a web app. at the end of the day, I'm hoping to get 1 or 2 customers.

PS, You're pricingbot.co website looks so amazing!

</comment></comment><comment><USER7> Charge more.

<comment><AUTHOR> Why do you think that Pete?

<comment><USER7> Two reasons. First and foremost, $4.99 lifetime is it enough to support a customer forever. You have servers to maintain, a customer support team to pay, and also you have to put food on the table. I'm pretty against "lifetime" and "unlimited lol pricing for hosted software.

Second, pricing is a signal. By pricing extremely low you're going to attract people who care about getting the lowest price possible and from personal lived experience these are basically the worst, most demanding customers.

<comment><AUTHOR> I was thinking that I would start with $5 for a lifetime while I see if anyone would be interested in the idea, then maybe expanding to $5 a month.

But Yeah, I could see that, you would attract customers that would keep demanding more and more unless they will leave. That could have been a bit of a mistake.

So I'll up it to $15 per month, Thank you for your help Pete :)</comment></comment></comment></comment>


Ask HN: Virtual PBX recommendations? - <AUTHOR>

So I need a virtual PBX for my company - any recommendations? I've tried grasshopper.com and I'd like some other options.<p>Any suggestions? <comment><USER2> Since your posting this on HN, you might be interested in rolling your own. This site outlines how to setup a VPS with asterisk and connect it to a VOIP provider:

<http://www.pbxer.com/>

<comment><AUTHOR> Wow - that's incredibly cool. Thanks for sharing!

However, I don't want to roll my own - I have enough stuff that I've built and, for this, I don't want to write/maintain anything else. I just really want to pay someone else.</comment></comment>


What percentage of browsers have JavaScript disabled? - <AUTHOR> https://blockmetry.com/blog/javascript-disabled <comment><USER2> So 1% of some javascripts are disabled, and 15-30% of others, because those are the kind that ghostery, adblockplus and friends block.

Right?</comment>


Change focus every 15 mins for extended computer use - <AUTHOR> http://e.ggtimer.com/15minutes

<comment><AUTHOR> Disclaimer: This is not mine.. just found it a few days back .. and loved the simplicity vrs the first thing that comes up on google for " countdown timer "</comment>


Vimeo now lets users upload native videos to LinkedIn - <AUTHOR> https://vimeo.com/blog/post/publish-to-social-now-for-linkedin <comment><AUTHOR> Last year they released the native video upload feature for youtube, facebook, and twitter. They have now added it for LinkedIn</comment>


Dismantling of a U.S. workplace safety rule - <AUTHOR> https://www.reuters.com/investigates/special-report/usa-beryllium-rule/ <comment><USER2> >Hours after OSHA announced the beryllium rule delay on March 21, 2017, Byrne sent another letter to the agency...The letter thanked OSHA for the delay but urged it to issue a new beryllium rule that did not include the ancillary safety provisions for the shipyard and construction industries.

>That same day, Byrne's re-election campaign received $5,000 in contributions from the Associated Builders & Contractors

Coincidence?

<comment><USER3> Hate to think a politician could be bought for a paltry amount like $5,000. I mean, should not be able to be bought at all, but $5,000... That's _nothing_.

<comment><USER4> My dad often says: "you'd be surprised how cheaply people will sell themselves for." I have found this to be true over and over again.

<comment><USER5> There's a quote along the lines "the surprise isn't that politicians can be bought, but that you or I could afford them."

Searching now, I can't find the quote. I did find "It never fails to astonish me how cheaply a politician can be bought." by Timothy Noah at [https://slate.com/news-and-politics/2005/08/bob-ney- characte...](https://slate.com/news-and-politics/2005/08/bob-ney-character- witness.html) .

</comment></comment></comment></comment><comment><USER6> Generally speaking, I oppose new regulations because they are very often overly burdensome and costly. But reversing these 'ancillary' regulations after years of negotiation with the concerned parties and reasonably predictable benefits for worker safety seems pretty fucking stupid.

<comment><USER7> Pretty fucking stupid is par for the course right now

<comment><USER8> Nero fiddled while Rome burned. I'm convinced that he did so, because he got real joy out of watching Rome burn.

Trump sure likes to fiddle a lot.

<comment><USER9> The fiddle was first recorded around the 9th century, by then Nero had been dead for a very long time.

</comment></comment></comment></comment><comment><USER10> The Obama administration did a lot of ostensibly good things in it's waning days. But these are strange to look at since they bring up the question, "how much did they expect this stand? When they saw an administration with a wholly different outlook ready to take over, what were they thinking?"

It's mysterious, frustrating or just "what you'd expect" (in a bad way) to me.

<comment><USER11> It's good politics, if nothing else. More good-sounding* policies for the opposition to have to spend political capital removing. Legislative cannon- fodder, in other words.

*The actual virtue of the policies being mostly irrelevant.

<comment><USER12> Why remove them then?

They're either ineffectual, in which case leave them, good, so leave them, or bad, so remove them.

Given that it was quite possible that the democrats would have won in 2016, would Clinton have been pushing to remove them? If they are really bad (rather than good or irelevent) then they'd need to be removed.

</comment></comment></comment><comment><USER13> The only reason I vote Democrat is stuff like this.

</comment><comment><USER14> Trump will sell his country to enrich himself, so not really surprised that he doesn't give two hoots about factory workers</comment>


What Am I Looking At? - <AUTHOR> https://sketch.nono.ma/what-am-i-looking-at <comment><AUTHOR> Here's a short post explaining why I write and share sketches, and what happened with my flagged post a few days ago ([https://news.ycombinator.com/item?id=23290410](https://news.ycombinator.com/item?id=23290410)).</comment>


Show HN: Daily AI Feed Blog - <AUTHOR> http://blog.dailyaifeed.com/ <comment><USER2> Hi -

I like this and found some interesting articles to read this morning. The one piece of advice I'd like to share is that in order to sign up for the email list you tell me (in a very small font) that I need to visit DailyAIFeed.com instead of being able to sign up right from the blog. :) You're making me do work! Perhaps you can include a small form under the right-hand-side description so that I don't have to go to another place to subscribe?

I signed up. Looking forward to getting my Daily AI Feed!</comment>


How to Win the Hearts of Investors - <AUTHOR> http://stevewelch.tumblr.com/post/558392042/how-to-win-the-hearts-of-investors <comment><USER2> The post should really be titled "How to Win the Hearts of Investors Named Steve Welch". From what I've seen, angels tend to be a pretty diverse bunch in terms of what they are looking for (aside from a positive ROI- that's pretty much the only universal).</comment>


Amazon.com: How the Online Giant Hoodwinks the Press - <AUTHOR> http://www.slate.com/id/2207537/

<comment><USER2> I don't see any hoodwinking going on here. I do see a vapid piece about the same press that generally fails on fact-checking and not being a PR mouthpiece doing what they normally do.

<comment><USER3> Agreed. It's a sad commentary on what passes for journalism these days.

Sounds provacative? Run with it.

Facts? Who needs 'em. We've got ads to sell.

Sad.

</comment></comment><comment><USER4> I'm going to defend this article. I do think the headline has too much hyperbole but the point he makes is a good one: Amazon's PR department made a claim and papers just ran with that claim sight unseen.

What makes this a bigger issue than simple fact checking is that the claim is coming from Amazon's PR department which has every reason to exaggerate and the claim is unverifiable by the media. So while a normal fact checking error involves the press not checking out what they believe to be true this situation involves the press publishing something that is very likely false and which we know they couldn't check.

So while it seems like an attack on Amazon (which would be out of line since their PR is just doing what they're supposed to) it's really an attack on sloppy journalism.

</comment><comment><USER5> This article is ridiculous. No one is hoodwinking anyone. Amazon is choosing what to report on very carefully here. They don't want to actually pre- announce Q4 financials. In any case, from a technical and operations perspective it is very interesting to know what capacity they are capable of. (Especially given the number of e-commerce sites that had significant downtime this year.)

</comment><comment><USER6> In related news, suit is back this year...

Amazon's PR here is not particularly insidious, what you see/read in Mass Media is PR roughly 80 percent of the time (some MM such as The Economist excepted).

</comment><comment><USER7> This is by I think we need to be careful when we're studying success. Much of what people claim is PR.

</comment><comment><USER8> Amazon PR learned a lot from the Bush administration (K.R.) about how to fool them. State things as though they're established facts. Typical lazy editors won't insist that the facts are checked.

<comment><USER9> That's not "learned from the Bush administration", that's PR 101. Go read pg's essay on PR, which is only news because it's being explained to people not in the PR industry, not because it was actually new information: <http://www.paulgraham.com/submarine.html>

The press hasn't been in the business of checking facts for at least two decades, and it just gets worse and worse.

<comment><USER8> Please, don't try to tell me that KR didn't take it to new heights (and new levels of cynicism).</comment></comment></comment>


NASA C Style Guide [pdf] - <AUTHOR> http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-c-style.pdf <comment><USER2> Looking at their example code.... I find there is a lot of problems, duplicated code, large function with many many obvious simpler functions inlined causing lots of local variable pollution.

MISRA is another standard that's popular and I've seen a bunch of code developed using this standard.

But the problem with style guides, they have lots of points that are very agreeable, but it is all undone if you don't have clean well designed code. I've seen too much emphasis on conforming to the style guide (often because of contractual agreements on the developed code). But the more important part of making the code clean gets less attention because it is harder to quantify and harder to enforce via static analysis.

however, that doesn't mean it's a bad thing to have, it's just that conformity to a style guide is a very low bar in terms of quality.

<comment><USER3> There's a difference between style guides, like this, and standards, like MISRA.

Style is concerned with the appearance of the code, and is largely subjective. Many languages, like Common Lisp and Java, have got this nailed: the same style is used everywhere. In the C world, there are endless arguments about levels of indentation, the position of braces, etc.

Standards ensure that good, safe, coding practices are followed. For C, these are needed for many applications because the language is weakly typed and inherently unsafe in many ways. Other languages, such as Ada, have safety built into the language.

<comment><USER4> > Style is concerned with the appearance of the code, and is largely > subjective. Many languages, like Common Lisp and Java, have got this nailed: > the same style is used everywhere. In the C world, there are endless > arguments about levels of indentation, the position of braces, etc.

I'm struggling with where to first disagree with this. Some style guides deal only with code appearance, but they can also include things like preferred iteration mechanisms, maximum function lengths or even cyclomatic complexity.

Comon Lisp doesn't even remotely have standardized style; ask a dozen CL programmers how they would perform an operation on each element of a list and you'll get answers including: MAPCAR, MAP, DOLIST, LOOP, ITERATE.

It does have a standard for indentation, which is roughly "however emacs would indent your code" but that breaks down when DSLs get involved (see how different people indent LOOP for an example).

[edit]

One simple example of a style guide entry that is not primarily concerned with the appearance of code. There are dozens more in that one style guide:

[https://google.github.io/styleguide/lispguide.xml#EVAL](https://google.github.io/styleguide/lispguide.xml#EVAL)

<comment><USER3> We're disagreeing about the meanings of style vs. standards here. I'm using style in the commonly accepted sense, e.g. "hair stylist", "stylish", "all style and no substance."

Maximum function lengths and cyclomatic complexity are important but I'd put those under standards.

Lisp gives you a lot of flexibility regarding how you do things, but once you choose a way, that constrains how your code should be laid out, i.e. its style. EMACS indents code in the accepted Lisp style. It doesn't define it. It implements it.

Saying you should avoid eval at run time is a coding standard, not style.

<comment><USER4> > We're disagreeing about the meanings of style vs. standards here. I'm using > style in the commonly accepted sense, e.g. "hair stylist", "stylish", "all > style and no substance."

Indeed we are. I'm considering "style guide" as a noun phrase to include many things that you would call standards, and comes from the definition of style "a manner of doing something."

</comment></comment></comment></comment></comment><comment><USER5> How strictly do people writing code have to adhere to styling guides (not just in NASA, but everywhere else too)?

I get that coding standards are a good thing and plain-simply following these will produce "readable" and (possibly) maintainable code, but will that make the code any _better/efficient_ ?

Though this does catch some "gotchas" in C, like the if-if-else and the #define trap, I wonder if the Code Review involves a guy rejecting my patches with the comments, "you have missed out guideline 126.96.36.199 defined in page 54".

<comment><USER6> There is nothing more annoying than getting a PR that fixed a one line bug, along with someone's editor's autoindent rewriting the entire file the fix was in, because it wanted to change indents.

It's certainly not efficient reading a patch with a +1000/-999 diffstat, hunting for a one line fix. I've had this repeatedly and it's painful. Anyone that noted the existing style wouldn't have let this happen.

</comment></comment><comment><USER7> I love seeing internal documents like this that are used at reputable companies. They're both educational and a fun glimpse into how high-performing teams operate.

<comment><USER8> In that case, check this out - the NASA Systems Engineering Handbook. It's an impressive beast (only tangentially software-related though).

[http://www.acq.osd.mil/se/docs/NASA- SP-2007-6105-Rev-1-Final...](http://www.acq.osd.mil/se/docs/NASA- SP-2007-6105-Rev-1-Final-31Dec2007.pdf)

</comment></comment><comment><USER9>
      *average=*total/*count;    /* compute the average */
                     ^ begin comment          end comment^

The guide recommends a space after the `/` operator. Does a pair of parenthesis (around the denominator) in such cases hurt that much?

\--

As an aside, I'd be interested to see their NodeJS Style Guide too. Any pointers?

</comment><comment><USER10> Two others of theirs:

[https://news.ycombinator.com/item?id=12014271](https://news.ycombinator.com/item?id=12014271)

[http://spinroot.com/gerard/pdf/P10.pdf](http://spinroot.com/gerard/pdf/P10.pdf)

</comment><comment><USER11> I'm a little disturbed that this doesn't make any mention of when C is even appropriate. I know if I were an astronaut, I'd be concerned about the code running on the vehicle I was on.

<comment><USER4> Most high-reliability software is still written in C or other languages in the algol family. For the highest level of assurances, often the binary code must be mapped back to the source code (to reduce the chances of a compiler bug introducing errors), and doing so in languages that are higher-level than C becomes problematic.

If someone were to formally verify the correctness of a particular higher- level language implementation, then it would start to become usable. Most GCed languages are out though due to the fact that hard-realtime GC algorithms require an excess of CPU and RAM to run correctly, and vehicles going into space are often several generations of hardware behind, as new radiation- hardened CPUs come out only rarely.

<comment><USER12> NASA did use Lisp in the past.

<comment><USER4> Super nit-pick but if you are talking about the DS1, I believe it was JPL under contract for NASA.

</comment></comment></comment></comment><comment><USER13> 4 space indentation and not tabs. What would Hendricks say?!

<comment><USER14> Tabs really only works easily when everyone's using the same editor settings. Otherwise, it quickly devolves into a mess.

Spaces really only works easily when everyone uses an editor that can convert presses of the tab key into some number of space characters.

The only solution that works easily in all cases is to flatly refuse to collaborate with others.

<comment><USER15> > Spaces really only works easily when everyone uses an editor that can > convert presses of the tab key into some number of space characters.

Could you show me an editor that doesn't do that?

<comment><USER16> I just finished three years in a job in which I worked on a GUI containing an editor that does not do that.

</comment></comment></comment></comment><comment><USER17> I see the brace goes on the next line, as it should:

        if(condition)
        {
             expression...
        }

instead of the obfuscated form:

        if(condition) {
            expression...
        }

<comment><USER18> What's obfuscated about the second form? It's my personal preference, so I'm sure there's some personal bias there, but one doesn't seem more or less obfuscated than the other one. They are both equally readable to me, but the second seems more compact without sacrificing readability. I can think of other reasons why someone might prefer the first to the second, but reduced obfuscation isn't one of them.</comment></comment>


Thanks HN: Readable is doing very very well - <AUTHOR>

Thanks to being featured on HN, 3 days ago, Readable has been making the rounds.
It's still being posted to Twitter and Facebook; and people seem to be very happy with it -- the number of active users has more than doubled, and the number of article conversions per day has almost tripled. I've also heard lots of great ideas for improvements -- especially on HN, but also privately via email conversations.
So stay tuned. Lots of cool stuff to come.
Read on! :)
P.S. Would anyone be interested in a post detailing traffic as a result of being written about in LifeHacker VS the HN front-page?
P.P.S. I'm honestly not trying to draw even more traffic this way. I really really wanted to thank the community -- a lot. <comment><USER2> It's no longer possible to indicate assent by upvoting an existing comment - an undesirable side-effect of hiding karma on comments. As a result, I have to comment:

        Would anyone be interested in a post detailing traffic
        as a result of being written about in LifeHacker VS the
        HN front-page

Hell Yeah!

<comment><AUTHOR> Actually, it would still be possible to do that, if we instituted some sort of a HN-wide policy that the person who wants to gauge interest should make that to-be-upvoted comment -- that's because comment authors do see the pints of their own comments.

</comment></comment><comment><AUTHOR> Clickable: <http://readable.tastefulwords.com/>

<comment><AUTHOR> Oh and one more thing: I'm honestly not trying to draw even more traffic this way. I really really wanted to thank the community -- a lot.

The clickable link is here just because some of you think it's bad form to post about an app, without a clickable link.

<comment><USER3> Hello,

Although many content pieces on the internet are provided completely free, some of the content producers make a living from the advertising revenue their work provides. Without that revenue, they would stop producing their interesting articles.

Your application circumvents this revenue stream.

How do you feel about this?

<comment><AUTHOR> Glad you asked this -- as many people think my opinion on this subject is something other than what it actually is.

I don't hate advertising. Good advertising I actually love. Unfortunately, there's lots and lots of the horrible variety and way too little of the good variety -- but I see signs of this (slowly) reversing.

That's beside the point, though. The point being that Readable doesn't circumvent advertising -- it only loads on request, in response to a physical user action (clicking), by definition after the original page has loaded, and it also makes it very easy to get back to the original page. I honestly don't see how I could be more accommodating, towards ads :)

P.S. Also, Readable wasn't originally created because I was annoyed by advertising -- as I have a tendency to read only those sites with good advertising. It was made for the sole purpose of allowing people with particular (and maybe even peculiar) tastes about how text should look to read comfortably.

</comment></comment></comment></comment><comment><USER4> > P.S. Would anyone be interested in a post detailing traffic as a result of > being written about in LifeHacker VS the HN front-page?

Do you really think we will say no?

<comment><AUTHOR> Not really. But I want(ed) to see if there is genuine interest in something like that.

I'd hate to write/post uninteresting stuff.</comment></comment>


How the Microsoft Windows 8 demo video was made - <AUTHOR> http://grumomedia.com/how-the-microsoft-windows-8-demo-video-was-made/

<comment><USER3> Good points here... if Microsoft had made a polished, professional video - <USER2> would've only made Windows 8 as it is appear to be even closer to how it will be at release. It's ridiculously pre-beta at the moment and people are reacting to it as if it's a release candidate as it is.</comment>


Stephen King: Can a Novelist Be Too Productive? (2015) - <AUTHOR> https://www.nytimes.com/2015/08/31/opinion/stephen-king-can-a-novelist-be-too-productive.html <comment><USER2> King was my favorite writer growing up. I read "Firestarter" in 6th grade, and then continued working through about 20 or so more of his works until graduation from HS. I was "that kid", always had my nose buried in a paperback from the library, usually one of his. His works were like familiar friends to me. I could step into nearly any library or bookstore and find myself absorbed into some small town in Maine, or perhaps a more fantastical setting in some cases. Some books I remember better than others, some left me frustrated at the end (looking at you "Cell"), but mostly I just felt like I was a hanger- on, privileged to be hitching a ride into King's imagination. It wasn't just his imagination though, it was his experience as a human that I think I really craved. It sounds sort of funny to say I learned a lot about human nature and society from reading his books (and reading them in the 2000's no less, 20+ years after many of them were written), but I did. His characters were never stupid or shallow or boring just because they were female. His characters had flaws and issues, motivations and fears, and the world around them was not often a nice or sensible place. I can relate to that, and I needed to relate to that growing up.

I don't read his books as often now, but I do love the man and his works for how much they mean to me. I never regretted reading any of them (even ones I may not have finished). I'm glad he doesn't regret writing them either.

Favorite quote from that piece that I think applies to many of us, in any creative field:

> But I also understand that life is short, and that in the end, none of us is > prolific. The creative spark dims, and then death puts it out. William > Shakespeare, for instance, hasn't produced a new play for 400 years. That, > my friends, is a long dry spell.

<comment><USER3> I read them when I was around the same age, but a decade earlier than you. They pretty much had the same effect on me. Did you read anybody else at the same period? Koontz, maybe?

<comment><USER4> I read a few of each in High school. Koontz was fun but to me felt a bit more targeted for mass appeal (as weird as that feels to say in comparison to King). Then again, for King I was reading stuff like The Stand and The Dark Tower series, which may or may not be indicative of the rest of his work (which I mostly know through the movies made from them)?

<comment><USER2> I recommend checking out one of King's novella or short-story collections for a different perspective. Some of those are actually some of my all time favorites.

<comment><USER5> "Different Seasons" is my favourite collection, and out of the 4 total stories in it, 3 became movies (The Body became Stand By Me, Apt Pupil, and The Shawshank Redemption). Can't recommend this collection highly enough.

</comment></comment></comment></comment></comment><comment><USER6> Reminds me of when George RR Martin asked King, "How the fuck do you write so many books so fast?"

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

<comment><USER7> hilarious. But really, they dont write the same sort of books... Martins books are hella complex worlds. King does theme'd stories... I'm not saying one is better than the other, just very different products that require a lot of different sorts of work to complete.

<comment><USER2> Are you unfamiliar with the Dark Tower series? King is no stranger to "hella complex worlds". Though tbf, it did take him quite a while to finish the entire series. But he was writing things in the meantime (or getting hit by a truck) for the most part. If you sum up the time he spent actually writing, he still was able to get them much faster.

Edit: Another fun fact, many of King's non-Dark Tower books tie into the same universe, check out: [https://en.wikipedia.org/wiki/Multiverse_(Stephen_King)](https://en.wikipedia.org/wiki/Multiverse_\(Stephen_King\))

<comment><USER8> A fan of Dark Tower but in a way, the Dark Tower multiverse is of "lower resolution"

<comment><USER9> Later on in the series he also turned to referencing other series in a way I'm sure he thought was clever, similar to how he wrote himself into his own book. I didn't care for it. He also had the annoying habit of using cultural references as a crutch for world and character building. Oh, see this thing, it's just like a light saber from star wars! Or those flying objects, they're sneetches from harry potter! Well, that's one way to write a book. The DT was a sweeping, intricate, wild ride to nowhere. I'd put it in the same box as LOST. I don't regret either. I enjoyed them both immensely. But they weren't leading anywhere, and I didn't need to reprimanded by King at the end for wanting a satisfying ending.

</comment></comment></comment></comment></comment><comment><USER10> I don't disagree with King's thesis that a prolific writer can, of course, produce great works and many have done so, but I also can't shake the feeling that there is something special about authors who produce great works and then quit when they don't have anything else to say.

bad works don't diminish great works, but it feels like authors who only produce works of great quality and nothing else have a special feel for their craft, it seems like they are so confident in what they have to say that they'd be repulsed by just putting anything out that isn't remarkable, and that at least to me makes them special.

It's like comparing Daniel Day-Lewis and Jim Carrey. The former has taken on roles in remarkably few films, but pretty much every role is amazing and that's what's stuck in my mind when I see him in a film.

Carrey also has participated in films like the Truman show but then I'm also reminded of the Grinch and the Mask, which just ruins it for me a little bit.

<comment><USER11> I like the comparison to Jim Carrey. Some of his work is brilliant. (Dumb and Dumber, The Grinch are two of my favs.)

Carry, like King, seems plagued by personal demons. Both have immense talent, but also seem to be prone to these kinds of problems.

<comment><USER2> You yourself love "The Grinch", though the other commenter says it makes him like Carrey less. I loved "The Mask". I guess I just don't think "less than brilliant attempts" makes actual brilliance any less enjoyable. If anything I respect the creator for taking risks.

</comment></comment></comment><comment><USER12> I'm not a published writer, but my thought has always been that "serious" writers don't write less. They just publish less. And they publish less because they have a higher standard for their writing and their art (if I may use that word) than novelists who publish regularly. And (as Barrin92 also noted elsewhere on this thread), they only speak (meaning publish) when they have something to say.

And don't we all take people who speak sparingly and choose their words carefully more seriously?

</comment><comment><USER13> There's William Butterworth, who has about 11 pseudonyms and over 100 published novels. I've read too many of them. You start seeing the same stock scenes coming around again. He writes good potboilers.

"Tom Clancy" books are still coming out, even though he died years ago.

<comment><USER14> As a boy I began working my way through Ian Fleming's "James Bond" series. After a few I noticed that they followed a formula, and abandoned the rest.

</comment></comment><comment> crooked-v I'm reminded of Lovecraft, who would use a thesaurus to pad his paid-by-the- word word counts by inserting various adjectives that sounded scary but didn't actually mean anything in context.

<comment><USER15> That's quite interesting! Does that not detract from how well his work reads, though? I suppose not by much given how popular he is.

<comment><USER16> It definitely does detract from it. It's just so over the top ornate. There's a beauty to it, but you can lose sight of the story in the style.

I'd liken it to trying to read a book written in calligraphy. Here's an example of what to expect:

>In youth he had felt the hidden beauty and ecstasy of things, and had been a poet; but poverty and sorrow and exile had turned his gaze in darker directions, and he had thrilled at the imputations of evil in the world around. Daily life had for him come to be a phantasmagoria of macabre shadow- studies; now glittering and leering with concealed rottenness as in Beardsley's best manner, now hinting terrors behind the commonest shapes and objects as in the subtler and less obvious work of Gustave Dore. He would often regard it as merciful that most persons of high Intelligence jeer at the inmost mysteries; for, he argued, if superior minds were ever placed in fullest contact with the secrets preserved by ancient and lowly cults, the resultant abnormalities would soon not only wreck the world, but threaten the very integrity of the universe. All this reflection was no doubt morbid, but keen logic and a deep sense of humour ably offset it. Malone was satisfied to let his notions remain as half-spied and forbidden visions to be lightly played with; and hysteria came only when duty flung him into a hell of revelation too sudden and insidious to escape.

</comment></comment></comment><comment><USER17> Would be interesting to know, his work process to achieve that output. I'm reading "Deep Work", and I bet Stephen King, did the "lock yourself" and write until it's finished or something among those lines (avoiding all distractions)

<comment><USER18> I was wondering the same thing, so I read his book "On Writing" a few weeks ago. I figured there might be some good take-aways for writing software since there seems to be some skill overlap.

Here are my (crappy) notes:

* The golden rule: read a lot, write a lot.

* Have a place for only writing and concentrating. Do nothing else there.

* Everyone has an innate talent ceiling. A good writer won't progress beyond being a merely good writer.

* Story > plot. Stories can 'write themselves,' it's hard to plan up front.

* He doesn't write for symbolism or metaphor directly, but may notice it as he's writing and fold some in.

* Let the first draft age for a while before revisiting. His ideal time is 6 weeks.

* "Kill your darlings." Aka be willing let a concept go even if it seems great.

* Have an ideal audience in mind when writing. He says that his is 1 person - his wife. He says it should be 1 person.

* 2nd draft = 1st draft - 10%

* He's not a fan of adverbs

* Research is inevitable for backstory. He wanted to write a story that took place in a specific location, so he went there to see how it was so he wouldn't get things too wrong. He doesn't worry about it _too_ much though, unlike a writer like Tom Clancy.

* He writes because he likes to, ostensibly not for money or anything else

* He gets a TON of angry letters and criticisms, particularly for his use of vulgarity.

* A lot of characters are based on people or stereotypes he encountered in his working class upbringing.

One thing that struck me is how much he reads. He had a list of suggested books to read in the back page, and there were probably hundreds

Obviously not all of the points apply to all types of writing, his list is very King-centric. If you've ever read him then the points will make more sense in context. For example, story > plot is definitely a "king-ism" since his stories are off the cuff and meandering. I couldn't even get through half of the Dark Tower series since it seemed like the plot wasn't going anywhere. In any case, I don't think you'll get very far writing software without identifying some of the "plot" up front.

<comment><USER19> And the most important, unspoken one that King would disclose to us if he were a bit more honest with himself:

* Learn to ignore your inner critic.

The way you write Six Pages a Day No Matter What, as King does, is by not caring all that much whether they are six awesome pages or six mediocre pages. If you've got talent and you exercise it faithfully enough, then sometimes your Six Pages will, indeed, be awesome, and nobody will even remember the rest.

None of the other points he lists in his books and advice columns matter anywhere near as much as that one. Unfortunately, what that means is that what works for King will not necessarily work for everyone else.

<comment><USER20> It's probably been easier for King to ignore his inner critic ever since his wife fished his manuscript of _Carrie_ out of the trash and it went on to become a bestseller.

On the other hand, this also reminds me of what William Staford answered when asked how he was able to write a poem every day: "I lower my standards."

<comment><USER21> Ah, didn't know that - that's a great story. Others here might enjoy this:

[http://mentalfloss.com/article/53235/how-stephen-kings- wife-...](http://mentalfloss.com/article/53235/how-stephen-kings-wife-saved- carrie-and-launched-his-career)

<comment><USER22> That was fantastic and just what I needed to read today. Thanks for sharing the link.

</comment></comment></comment></comment></comment></comment><comment><USER23> I've tried to read King a few times over the years. I couldn't get over the lack of prose style and find him to be a craftsman of plots that (other) people are enthralled by, but not much of a writer. This is what happens when you're raised in your literary interests by the likes of Joyce and Proust, perhaps. If I'm a snob so be it. When I heard Harlan Ellison wrote novels in bookstore windows in a matter of days I thought "that makes sense."

<comment><USER24> Speaking as a relative non-snob, I'm always a bit baffled when people cite Joyce like this. I mean, he clearly had an unrivalled mastery of language, but do people actually _like_ reading prose like that? Even his supposedly more accessible stuff like Dubliners and Portrait of the Artist just seemed so dense and obtuse that while I could objectively admire the skill on display, I never once really found myself _enjoying_ them.

I'm not saying art should exist purely for the sake of entertainment. But, ultimately, if I'm investing the time to read a book, I need to get something out of the experience from moment to moment, and generally I find I get more from reading a bad writer with fun ideas than an expert stylist who makes no concessions to enjoyment.

<comment><USER25> Bloomsday celebrations frequently include reading _Ulysses_ aloud where a series of people have a go at it. They love Joyce's prose and want to share the music of it with others. It is OK if it is not your thing, but there is certainly an audience out there who sincerely love _Ulysses_ in all its facets.

</comment></comment></comment><comment><USER26> That one is a surprise to me.

I would argue that the best certainly write more than most. Maybe there's a difference between churning out book after book, and rewriting one book again and again until it becomes good. I think the latter is the one that makes one great. The first one offers little feedback, since three books further the author probably forgot most of the details of the first one. So maybe the problem is that "writing a lot" is measured in books rather than in words typed (and then deleted, to be typed again, in a different form and structure).

Just reading this comment you will probably find a few errors that I will never see, because I won't rewrite it. Let that be an example of my theory.

</comment><comment><USER27> > _I'm a recovering alcoholic, haven't had a drink in almost 27 years_

OT, but what does that even mean? Recovered maybe, recovering, no. He is just someone that hasn't been an alcoholic for 2+ decades...

It's like saying "I'm recovering from a broken ankle, I had my surgery in 1983 and have had no pain at all, and no fractures either, and been running ultra- marathons and doing base jumping ever since 1986".

<comment><USER28> > and been running ultra-marathons and doing base jumping ever since 1986

Your own analogy doesn't hold up because by that logic then a recovered alcoholic would be 'fit' to have a drink again

<comment><USER29> Many folks can drink again, once they've learned how to control things. That generally means a period of sobriety, though it doesn't always. There are ways to treat the underlying issues while not completely abstaining. Many folks don't get treatment for alcoholism in their early 20's, quit, and drink normally the rest of their life.

Unfortunately, many folks think that once an addict, always one. While this is true for some folks, it certainly isn't true for everyone. You really can be "fit" to drink again.

<comment><USER30> > Many folks don't get treatment for alcoholism in their early 20's, quit, and > drink normally the rest of their life.

If they don't get treatment, were they ever properly diagnosed? As I understand it, "drinking (way) too much" is something a good number of people in their 20s do, then they cut down without any particular problems. That isn't alcoholism, it's just drinking too much. Even the urge to grab a glass of wine to relax, when it's just a habit, isn't an addiction.

<comment><USER27> > _If they don 't get treatment, were they ever properly diagnosed?_

If they had trouble quitting, such as withdrawal symptoms, and only managed to do so after hard attempts, then they don't really need to be diagnosed.

Other than that, the line between alcoholism and drinking too much is really blurry, if it exists at all. Some people manage to function perfectly and be OK while drinking heavily throughout their lives, and are not considered by others or consider themselves alcoholics.

Btw: "One of the most interesting findings, as far as I'm concerned, was that among remitted alcoholics (link is external) the average amount of drinking was around 1.3 drinks per day with a lot of variability, a little higher than that of moderate drinkers (0.8 drinks per day) but lower than that of heavy drinkers (4.0 drinks per day). I see this as a little more proof that people who met criteria for alcoholism at one point don't necessarily abstain forever and don't necessarily continue to have drinking problems (per Moderation Management (link is external), spontaneous remission (link is external), or some other means of stopping their alcoholic drinking)."

[https://www.psychologytoday.com/us/blog/all-about- addiction/...](https://www.psychologytoday.com/us/blog/all-about- addiction/201201/stress-about-alcohol-heavy-drinking-versus-alcoholism)

</comment></comment></comment></comment></comment><comment><USER31> In the Victorian era, Anthony Trollope was very productive. His rule was seven pages a day. If he finished one novel, he started the next one.

Contemporary publishing, with book tours and other publicity, can't really absorb more than a book a year or so from a single author.

And the book tours, etc, take up a lot of a writer's time.

</comment><comment><USER32> > "Donna Tartt, one of the best American novelists to emerge in the last 50 > years, has published just three novels since 1992. Jonathan Franzen, the > only American novelist who is her equal."

Pynchon. DeLillo. McCarthy. Roth...

Edit: Morrison. Updike. Mailer...

<comment><USER20> I'd take Philip K Dick over all of them put together.

<comment><USER33> With few exceptions, genre fiction doesn't count as Serious Literature.

<comment><USER34> You mean because it's not boring?

It's like serious literature has to eschew anything that would make it a good story, in case it got in the way of being good writing.

<comment><USER35> Oh come on, Vonnegut is one of the most obvious examples of well respected American writers and you could hardly call his work boring. One of the 2016 Pulitzer prize winners (The Sympathizer - not cherry picking, just a recent book that comes to mind) was an extremely gripping/exciting story about escaping the end of the Vietnam war to America but it still managed to receive nearly unanimous praise.

On the other hand, one could argue that if your works require elaborate setpieces and a fantastical setting then you're drawing attention away from an inability to write captivating stories. A plot summary of a Jonathan Franzen novel for example sounds incredibly boring but his writing is nearly impossible to tear yourself away from and will have your mind going for days or even weeks after you finish. It's perfectly fine to enjoy sci-fi/fantasy etc but there's no need to develop a victim complex about its position in the literary world.

<comment><USER36> Vonnegut is the exception that proves the rule (perhaps with Atwood).

I found Franzen terrible FWIW, but there is certainly excellent literary writing out there. Prosecraft is a skill, just as plotting and settings are - neither is superior to the other. And there is a real cultural disrespect for the things that SF does well. I wouldn't mind that if good SF was still allowed to continue in its own place, but lately even that seems under threat (e.g. the Hugo awards are lately dominated by literary prose at the expense of the classic SF virtues).

</comment></comment></comment></comment></comment></comment><comment><USER37> Yes, I guess writers are creative people

</comment><comment><USER11> I really like some of King's writings. But it's a mixed bag-- some are really good, some are really bad.

When he's gone, I'll miss his best fiction. But I won't miss his public rants, they've been an embarrassment to him.

<comment><USER38> Links to some rants please?

My Google fu is weak today.

</comment></comment><comment><USER39> Can we stop with the random posting of non-technical nytimes.com articles?

<comment><USER17> I think prolificacy is an interesting subject, and this type of articles add to the richness of HN.</comment></comment>


A Gentle Introduction to Multithreading - <AUTHOR> https://www.internalpointers.com/post/gentle-introduction-multithreading <comment><USER2> It is very gentle indeed.

Personally i've come to conclusion that computers are better at managing threads than i am, just like compilers are, for many decades now, better at managing CPU registers.

It can definitely be enjoyable to ponder on some threading puzzle, now and then, but I very much prefer higher level abstractions like CSP or STM. Threads are not for human consumption.

</comment><comment><AUTHOR> [https://www.reddit.com/r/programming/comments/azr7n6/a_gentl...](https://www.reddit.com/r/programming/comments/azr7n6/a_gentle_introduction_to_multithreading/)

</comment><comment><USER3> > _it is not 100% guaranteed that threads will perform their operations truly > in parallel, that is at the same time: it really depends on the underlying > hardware._

I thought it really depended on a _lot_ of factors, most predominantly thread scheduling (based on thread priority)[0]?

[0] - [https://docs.microsoft.com/en- us/windows/desktop/ProcThread/...](https://docs.microsoft.com/en- us/windows/desktop/ProcThread/scheduling-priorities)

<comment><USER4> Are there any operating systems that let you explicitly run CPUs in parallel?

I'm thinking n threads where the process requests the operating system scheduler to start and stop them all at the same time. Of course the OS would be permitted to refuse if it wasn't capable (or just not allowed).

A synchronised cpu master-slave relationship could be beneficial to parallelize some of the middle ground between instruction level parallelism and multi-threading

<comment><USER5> You can do a set affinity on Linux but it isn't a guarantee.

</comment></comment></comment><comment><USER6> Please note that

      Application can allocate memory.
      Application cannot allocate CPU;
      OS does that;

</comment><comment><USER7> Is there a good overview of different concurrency/parallelism models and related abstractions somewhere?

<comment><USER8> Seven Concurrency Models in Seven Weeks: [https://pragprog.com/book/pb7con/seven-concurrency-models- in...](https://pragprog.com/book/pb7con/seven-concurrency-models-in-seven- weeks)</comment></comment>


Fmod.io – Sound Effects for Game Developers - <AUTHOR> http://fmod.io/ <comment><USER2> As I was just implementing the first pass of sound in my latest game, I found this particularly interesting.

I previously purchased this:

[http://www.universalsoundfx.com/](http://www.universalsoundfx.com/)

A "mystery bag" of 4k different sounds for $40.

I used something like 16 sounds in the pack though I might use more. I'm quite happy with that.

I tried some other things - freesound.org has no quality but I imagine you can find a gem in there every so often.

I'm still missing some sounds for magic so I installed fmod and looked for magic sounds in the library. I used a few search terms like 'magic' 'spell', etc but I only turned up some ambient noises and UI/fairydustish stuff. Pretty surprising when they advertise 500k sounds.

</comment><comment><USER3> Some other useful resources for sounds (all free) are [http://freesound.org](http://freesound.org), [http://freemusicarchive.org](http://freemusicarchive.org), and the tools BFXR and CFXR (for generating sounds).

<comment><USER4> [http://opengameart.org/](http://opengameart.org/) has music and sound effect sections, too. They are under a variety of Creative Commons licenses, for the most part.

</comment></comment><comment><USER5> Please reduce or remove the background music in your demo video. I could barely make out the sounds being picked and that was probably the only reason why I watched the video.

<comment><USER6> That may be deliberate to avoid recording the samples?

<comment><USER7> That seems hardly relevant when they offer free full previews.

</comment></comment></comment><comment><USER8> It looks like they've aggregated SoundRangers and a few other library sites. Does anyone have opinions on the quality of their selection?

</comment><comment><USER9> Loopmasters? The pricing might be interesting to have a look at. I'd wonder if there's overhead being tacked on in the process for the 'value add' of drag and drop from the cloud.

They do have quality material though over at Loopmasters, no doubt about that.

</comment><comment><USER10> Okay, I'm a potential customer. It took way too long to realize there were sound effects happening in that video. Get rid of the bg music, or drop its audio down to <10%, and choose a track that is not electronic.

<comment><USER11> Or at least a track that is not composed of random sound effects... So obnoxious.

</comment></comment><comment><USER12> Lol, what a bunch of a-holes.

<comment><USER13> We've banned this account for repeatedly breaking the HN guidelines.</comment></comment>


Analysis of the Gawker compromise - <AUTHOR> http://blog.sucuri.net/2010/12/analysis-of-the-gawker-compromise.html

<comment><USER2> This morning, I received the email from Gawker saying my account had been compromised. I actually didn't remember having an account with them. I imagine I commented on Gizmodo at some point...

Anyway, the weird part is that I asked to reset my password (couldn't remember mine or it didn't work) and I received credentials to log in to an account that was clearly not mine, (only one comment made and definitely not from me) and the email address used was unlikely a typo.

Has their database been mixed up too? I haven't really seen anything about this, but my case is odd.

<comment><AUTHOR> I didn't hear anything about it, but that would be even worse... I got an email from them as well, but don't remember ever registering in there (and my email is not in the data dump).

</comment></comment><comment><USER3> Checking if any of my emails is in the list there... Do I have an account there? Don't know.

What is funny is that I never remember where I have accounts now...

<comment><AUTHOR> That's the problem. People create the account once to post a comment and don't think about it anymore.

Since every site asks for a user/pass, people re-use their passwords, escalating the problem of a compromise.

If openid was a bit more easy to use for the end-user, this wouldn't be an issue...</comment></comment>


Instagram Photo App in Node.js - <AUTHOR> http://www.programmableweb.com/news/how-to-create-instagram-photo-printing-app-node.js/how-to/2015/07/23

<comment><USER2> Using an HTML image was a great tip, saves a lot of time. Thanks for the tutorial.

</comment><comment><USER3> Great Node how-to Russell, thanks for sharing.</comment>


How the Battle of New Orleans Birthed the American Character - <AUTHOR> http://www.newyorker.com/news/news-desk/battle-new-orleans-birthed-american-democracy

<comment><USER2> Don't know about that. You already had Clay and Calhoun as leaders of the House, and a big demographic shift towards the west. And if you want a counter-factual, think about the news from Ghent getting there a little faster, since the battle was fought after peace had been signed.

"he might have festered in the backcountry, pursuing a career out of Cormac McCarthy's Blood Meridian, clearing the landscape of Native Americans."

Probably he did that more efficiently from the White House.

<comment><USER3> I have read more than once that the death of Clay was largely responsible for the end of the Whig equilibrium, or if you prefer, the death of the Whigs altogether. With the Republicans; Lincoln and ...

The strangest thing about Calhoun is that he is still considered a significant theorist. He is so very alien to how we might apprehend such a man today.</comment></comment>