They Write the Right Stuff (1996) - <AUTHOR> https://www.fastcompany.com/28121/they-write-right-stuff <comment><USER2> > How do they write the right stuff?

The article claims that it is their process, and although they are certainly extremely thorough, I don't buy it. At the very least, they cannot be compared to most developers apples to apples.

Why?

> NASA and the Lockheed Martin group agree in the most minute detail about > everything the new code is supposed to do — and they commit that > understanding to paper, with the kind of specificity and precision usually > found in blueprints. Nothing in the specs is changed without agreement and > understanding from both sides.

For most anyone working as a developer, could you even imagine what this would be like? Specs not changing or only changing in very small ways that are documented to the nth degree not only is impossible from a practical standpoint for most fields of software development, but such a different process that it's essentially a completely different field of work.

> Most people choose to spend their money at the wrong end of the process

> In the modern software environment, 80% of the cost of the software is spent > after the software is written the first time

I would argue that this is largely the result of:

1\. Incompetency as far as specifications go (suits don't know what they want, or what they are asking for)

2\. Large changes in the specification (moving target)

<comment><USER3> This seems incredibly short sighted.

To wit, the fact that Keller - or whoever is in that role these days - has to certify that the code and the system it runs on will work as expected speaks volumes about how serious this is.

If it doesn't, things tend to blow up, which is sure to ruin your day.

Also, I would be remiss if I didn't mention Therac-25, a medical device which killed or severely injured several patients.

[https://en.wikipedia.org/wiki/Therac-25](https://en.wikipedia.org/wiki/Therac-25)

In these cases, arguing over every change to code seems like the only way they can guarantee with any certainty that it works correctly.

<comment><USER2> Your response suggests you misunderstand the point I was making. I completely agree with you that there are certain niches which require extreme precision for safety purposes like that which is being discussed in the article as well as your medical device example. What irritated me about the article is that it was comparing these niche fields which have completely different requirements and incentive structures to the software industry in general as if that was somehow a reasonable thing to do. Suggesting that the software field in general is somehow juvenile while failing to consider the vastly different incentive structures that exist for developers, managers, etc. in most fields, which necessarily have a drastically higher tolerance for error, is patently ridiculous.

<comment><USER3> While I don't entirely 'pay for my shoes' developing software - mostly client side web stuff - it's a part of what I do and I can understand the frustration that other parts of the field seem to have when looking at situations like this.

Namely, we're at a point where agile practices have become so common that nothing is ever 'done' and it is acceptable to ship something with errors, assuming it can and will be patched later.

Both Mom & Dad started out as COBOL programmers on punchcards, and I've heard plenty of 'war stories' about how these kinds of situations were far less common because an error meant your program simply didn't run.

Unlike say a web browser which will mostly spit back out whatever weird HTML and CSS you feed into it, errors and all.

In consumer software, it's not, 'we follow orders or people die' but for people working on this, it probably feels that way if your stuff is used by enough people (iOS) or is critically important (medical billing).

If it doesn't do what it says on the tin, people are incredibly unforgiving of even the smallest mistakes.

</comment></comment></comment></comment><comment><USER4> It's an interesting approach to a problem that most of us don't have, and so is not applicable to the majority of people writing software.

The key is to understand the risk/reward trade-off in their software stack. For the vast majority of software that is written, no one dies if it goes wrong. In fact, for the vast majority of software, it's a minor inconvenience when a bug bites. Because of this, time to market trumps correctness. It's a totally valid trade-off, but just not very satisfying from an engineering perspective.

</comment><comment><USER5> > "How do they write the right stuff?

The answer is, it's the process. The group's most important creation is not the perfect software they write — it's the process they invented that writes the perfect software.

It's the process that allows them to live normal lives, to set deadlines they actually meet, to stay on budget, to deliver software that does exactly what it promises. It's the process that defines what these coders in the flat plains of southeast suburban Houston know that everyone else in the software world is still groping for. It's the process that offers a template for any creative enterprise that's looking for a method to produce consistent – and consistently improving — quality."

I think here it is part of the solution. The team culture should be strong as also, to achieve a good software.

<comment><USER6> According to the article, 260 people are writing code for systems with strict specifications that do not change much over time. That's a significant constraint on the externalities they deal with. In contrast, most commercial programmers write an order of magnitude more code for systems far less defined with more unpredictable externalities, with shorter deadlines. There is no magic in the world. Everything has a reason, and it's often not (just) due to incompetence or stupidity.

</comment></comment><comment><USER7> One of the most influential and interesting articles to me that I share with all the developers with whom I think I can have an interesting conversation (and it influences some quite a lot)!

I remember there were some comments: > Are you prepared to pay 10x for a text editor, say? My answer: Hell yeah, if I am earning thousands using this editor, why not pay couple hundred bucks for a really well-made program with good support, etc.

But as I understand, there exists no demand for this type of thing among general users. People are ready to pay for tons of useless features being added (just to signal that the project is progressing) but not ready to pay for simpler solutions that are really focused on quality, security and consistent performance.

<comment><USER8> I think there is demand for those things, but commercial entities are poorly equipped to provide them. The entire growth mindset is antithetical to providing a stable and consistent product. Product tiers get introduced to extract more money though upselling, creating an inherently adversarial relationship between the company and end users who end up with an intentionally crippled product. As the company gets larger, the incentive structure surrounding middle management takes over and completely wrecks the product as individuals compete to game internal metrics. Unnecessary and regressive changes make their way into updates because "product launches" look good on people's resumes. Nobody cares what changes were actually made because they arent incentivised to. Add innevitable attempts at vendor lock-in / weaponization of the sunk cost falacy against customers and it makes perfect sense that most non-crap software (that also remains non-crap as time goes on) seems to be open source.

Maybe we need a patreon style system for providing long term stable funding to important open source projects. I would sleep easier knowing that FOSS developers for packages i use will have stable income and be able to continue their work.

<comment><USER7> Nicely said! I myself prefer the small-businesses' products. Like several- person organizations that provide "underdo the competition" or "do one thing and do it well" type of software. But I agree on how "bureaucracy" and political games inside larger organizations lead to introduction of not- always-sensical features or re-designs.

</comment></comment></comment><comment><USER9> Posted dozens of times, but with surprisingly few comments.

Single-comment threads:

2007 [https://news.ycombinator.com/item?id=51098](https://news.ycombinator.com/item?id=51098) (note how the title already says "old")

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

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

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

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

Slightly larger:

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

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

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

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

</comment><comment><USER10> Basically, it _is_ possible to write largely bug free code ... this is what it costs.

</comment><comment><USER11> It would be very instructive to compare this with the SpaceX development process. I think the AMA for them has still not been completed, and know of no other source of insight into their process. (To be clear, I also agree with the other comments. With few exceptions (flight, autonomous vehicles, medical, power) lives do not depend on our software, so this is likely not the right process for most of us.)

</comment><comment><USER12> You can definitely increase correctness of the final product with more and more up front specs.

There's an understanding/level-of-detail hurdle that I've run into a lot: people have a desire to over-pseudocode and under-specify in usual design decisions. If you really want to get a good spec that will result in both good estimates and avoid surprises in terms of "whoops, this won't work actually" then you need to get really detailed here.

There's also a business one. Most businesses don't have quite as exact requirements as "fly to this point in space" or such. And often, the requirements iterate with user feedback. Or you try five things and see which users like the most. So the extra time delays really add up, when there's already a bunch of stuff going on behind the scenes than just the final feature that launches to the general public. If you're in this discovery phase, perfect is the enemy of "learning," and learning is what you need.

</comment><comment><USER13> Checkout SpaceX's Reddit AMA from last week: [https://www.reddit.com/r/IAmA/comments/1853ap/we_are_spacex_...](https://www.reddit.com/r/IAmA/comments/1853ap/we_are_spacex_software_engineers_we_launch/)

</comment><comment><USER14> We don't build software like a bridge; we grow it like a garden. The industrial revolution was about building machines that dominate its environment. The software revolution is about writing code to resonate with its environment. The software grows in harmony with its user and business needs. Except, of course, for special cases such as this.

"The whole approach to developing software is intentionally designed not to rely on any particular person."

Our programming culture is not ready for this. Any programmer who identifies with their craft will never want to be another cog in the machine. A programmer could have chosen to be a doctor, lawyer, engineer, etc. but they choose to code because it is one of the way they can "express" themselves.

<comment><USER15> > A programmer could have chosen to be a doctor, lawyer, engineer, etc. but > they choose to code because it is one of the way they can "express" > themselves.

Not necessarily. I chose to code because I'm good at it and because I'm not good enough at anything else to do it as a job. Well, at least not in the same salary range.

I agree with your point otherwise but I'm not sure that people solely choose to become software developers because they wish to express themselves through their work. A lot of developers I know personally see coding as just a job. A job they like, but a job.

<comment><USER16> If you put as much effort into law as you have into software you would be a good lawyer and a terrible developer. It is a choice. Today your effort learning software pays better (with exceptions both ways) then law, but historically law has been good. I decline to speculate on if law will earn better than software in the future.

You can say the same for medicine, any other engineering field, farming, ditch digging, or any other job. Regardless of which you choose some love it and some it is just a job.

</comment></comment></comment><comment><USER17> I certainly do not begrudge the efforts that go into building the shuttle software the process they must follow to ensure their code remains at such a high level of quality. When you have essentially an unlimited budget you can achieve a lot with competent managers, staff, and a process that is well- defined and understood and, most importantly, enforced. I don't know the details here but I'd be willing to bet that the cost of developing and maintaining their code greatly exceeds that of the vast majority of successful software efforts on a per line of code basis.

It gets back to the old saying: Cheap, Fast, Better. Pick two.

<comment><USER18> "An analysis accomplished after the Challenger accident showed that the IBM- developed PASS software had a latent defect rate of just 0.11 errors per 1,000 lines of code—for all intents and purposes, it was considered error-free. But this remarkable achievement did not come easily or cheap. In an industry where the average line of code cost the government (at the time of the report) approximately $50 (written, documented, and tested), the Primary Avionics System Software cost NASA slightly over $1,000 per line."

[https://history.nasa.gov/sts1/pages/computer.html](https://history.nasa.gov/sts1/pages/computer.html)

I should really link to this article as well:

[http://www.ganssle.com/tem/tem400.html#article2](http://www.ganssle.com/tem/tem400.html#article2)

</comment></comment><comment><USER19> The article is from 1996. And the experts then describe the then software industry as "hunter and gatherers".

I am not sure where we are now, was OOP the dark middle age or the industrial revolution? Or will that AI be?

Would be really interested in your opinions!

<comment><USER20> I started college in 1997 so can give some insights of what it was like in the late 90s

\- Unless you were a larger firm or project, version control was something you never even heard of

\- A lot of the internet was still being put together

\- Perl was a big deal and a LOT of it was bad e.g. "use strict" was almost never used so you could use variables willy nilly

\- The Joel Test was yet to be written (5 years out roughly) and people were scoring low on the test then

\- The only exposure to Linux was generally when you were in college unless you were hardcore. Otherwise, everything was windows. E.g. I remember installing Slackware from a CD that came with a giant book and then thinking: "What do I do now?"

\- Java was the new hotness and Rutgers (my school) was the first major university to offer it for there 101 (actually RU CS first class was 111 b/c 101 was "business computing").

\- There was no Google, Stack Overflow etc. You were lucky if people like Jeremy Zawodny happened to write a blog post about the weird Perl + MySql bug you were running into and/or if your local book store had Databases for Dummies

It really is amazing to me now to see how MASSIVE frameworks for JavaScript come out every year and the whole ecosystem spasms. Perl CGI was the de facto way to write web stuff for almost a decade. In fact LAMP used to mean "Linux Apache Mysql Perl" until php came along and even then giant website were still written in Perl e.g. Amazon, IMDB etc

</comment></comment><comment><USER21> Sounds the very opposite of Agile with a huge emphasis on up front requirements.

</comment><comment><USER22> For me there is still a big question how much process and people matter for the quality.

This article suggests process should be the primary focus.

Books like Peopleware suggest that people matter most.

</comment><comment><USER23> I just right the write stuff, myself.

</comment><comment><USER24> Such a sad writeup.

Having a journalist glorify some 10x gurus in a specific team and diss every other software developer in the world is not going to solve the problem at all.

It's a shame though - because the topic is a really important and interesting one, which deserves discussion. But not this type of dramatisation.

The most important sentence only comes at the end (and is the reason you can't trust the solutions proposed):

> And money is not the critical constraint: the groups $35 million per year > budget is a trivial slice of the NASA pie, but on a dollars-per-line basis, > it makes the group among the nation's most expensive software organizations.

You work with the constraints you have. Eliminating the constraint doesn't solve the problem - it redefines it.</comment>


Report reviews the evidence and finds incarceration likely does not reduce crime - <AUTHOR> http://www.openphilanthropy.org/blog/reasonable-doubt-new-look-whether-prison-growth-cuts-crime <comment><AUTHOR> Via [https://twitter.com/open_phil/status/912334421277028358](https://twitter.com/open_phil/status/912334421277028358)</comment>


The education of the will,the theory and practice of self-culture(1914) - <AUTHOR> http://archive.org/stream/educationofwillt00payo/educationofwillt00payo_djvu.txt

<comment><USER2> Amazing read. Hard to believe it was written more than a century ago:

      In addition, it must be remembered that
      the conditions of modern life tend to reduce
      our spiritual life to nothing, and bring about
      mental distractions to a degree that can
      hardly be surpassed. Ease of communication,
      frequency of journeys, the habit of going to
      the mountains, or the sea, all dissipate our
      thoughts. There is not even time to read.
      One lives a life that is full of excitement and
      yet, at the same time, empty.</comment>


Ask HN: Has HN activity slowed down since Covid-19? - <AUTHOR> Feels so. <comment><USER2> Everyone died of SARS, sorry!</comment>


Google (Potentially) Blows the Door Off Oracle's Copyright Claims - <AUTHOR> http://www.groklaw.net/article.php?story=20120426075025438

<comment><USER3> Even if Oracle wins, they may lose.

Imagine if:

Google looses the right to use the Java API in Android.

Google makes a conversion tool to convert the Android API to another API / VM format. (maybe based on Parrot???)

"" releases an ANSI / ISO spec for an improved high level language (not just a C++ replacement like Go), and makes the spec open to encourage "safe" adoption.

"" provides reference implementations for mobile (Android) and server (GAE) type uses.

"" creates a subsidiary to sell and _support_ the SDK to encourage corporate adoption. I'm not exactly sure how this last step supports their core business, other than making sure there is a talent pool available. But as long as I'm dreaming...

THAT is a result I'd like to see. Send Java off to the old programming languages retirement home, where it can sit and trade war stories with Visual BASIC and dBASE.

<comment><USER4> This seems to be a big leap from the current events.

But, indulging the leap :), why would you want it to be a new language? Phones are getting fast - why not python or ruby? (Or Scala, Dart, ...)

However, I don't think Java is a bad language for many programs--and doubt it's headed to a retirement home anytime soon. (I'm frankly thrilled with Java for moving some many developers to a "safe" language/environment rather than C/C++ and its buffer overflows :)

<comment><USER5> Sluggishness and battery life are big complaints about current-gen phones; going higher-level is probably not a good idea.

I'm still not sure why Google went with Java over C++, other than thinking "phones are fast enough."

<comment><USER6> Java isn't so much slower than objective-C if at all, and Android has a native API for low level programming.

<comment><USER5> JIT compilation is swell, if you don't count time time it takes to kick in. And you're still at the mercy of the garbage collector.

If it doesn't matter because you can use C or C++ for critical parts... well you can do that from Objective-C too, and it's trivial. It's far simpler than working through a JNI bridge.

I'm still puzzled by the decision, given the horror of J2ME and the failure of Java on the desktop. Why not C++?

<comment><USER3> Pointers and arrays. It's too much work to develop most things in C and its direct descendants. It's of course a shame that Pascal got pushed aside: most of the speed of C, but with array bounds checking and MUCH less need for pointers due to reference parameters and function return space allocated by the calling routine. And perhaps Pascal is even too much work, since we still have to manually deallocate many types of data, since it lacks even reference counting.

I agree with you on the garbage collector, though. It really slows down things by thrashing on multilevel caches, despite generational GC. I would really like to perhaps see something that gave you a choice of either reference counting + destructors, or, garbage collection. I can't see how you could make mixing libraries written for one or the other style work with an arbitrary ref-cnt / GC selection, though.

I'd probably miss exception handling in any event, as well.

Damn trade offs. I want it all, and I don't want to pay for it!

</comment></comment></comment></comment></comment></comment><comment><USER7> Don't forget that Groklaw is quite slanted in Google's favor just like FOSS Patents is slanted against Google. To get a balance you need to read both (well actually even more sources).

<comment><USER8> This.

Perusing the comments at Groklaw where everyone is so confident this is the smoking gun that will end Oracle's case reminds me of this bit from Jonathan Chait about people who get their news from hyperpartisan sources:

"It must be like being following the state-controlled media in a totalitarian country. First you read that our brave troops are marching toward the enemy capital and will soon complete a glorious victory. Then, after a while, there's no glorious victory, but you start reading about how our brave troops are inflicting heavy losses on the enemy as they courageously defend the motherland."

[http://www.tnr.com/blog/jonathan-chait/fred-barnes-again- see...](http://www.tnr.com/blog/jonathan-chait/fred-barnes-again-sees- glorious-peoples-victory-hand)

<comment><USER9> Well you get the same 'slanted' coverage from Florian Muller, except he is directly paid by Oracle and Microsoft. I don't know if Groklaw has ever recieved any money but I doubt it.

Like someone else mentioned, Groklaw has had strong track record when it comes to predicting the outcome of these types of lawsuits.

<comment><USER10> >I don't know if Groklaw has ever recieved any money but I doubt it.

Do you know how PJ makes money or how Groklaw gets funding to run? If questioning FM's money sources is fair game, why not do the same for PJ? Just because "she"'s batting for your team?

If Florian did the same thing as PJ and hid behind an anonymous blog, we wouldn't even know any sources of his funding.

<comment><USER9> Eeh? PJ is Pamela Jones, she hasn't been 'anonymous' since the Maureen O'Gara attempted character assassination of her back in the SCO days. She is an open source advocate who has worked as a paralegal.

I'm sure her personal finances have been put under heavy scrutiny (SCO certainly did), feel free to do so yourself.

</comment></comment></comment></comment></comment><comment><USER11> Even without this matter of law, Jonathon Schwartz (Sun CEO at time of Android development/release) is doing a very good job of blowing the door off of Oracle's case [1]. All Oracle can do now is say that the CEO at the time doesn't shape legal policy (ha).

[1] <http://www.groklaw.net/article.php?story=20120426122828498>

</comment><comment><USER12> In English please?

<comment><AUTHOR> Copyright protects expressive works in tangible form. So, a computer language can't be protected because it is an abstraction. But the source code for any implementation of that language can. Here, Oracle is not claiming a copyright in the Java language, nor is it claiming that Google copied any source code (except very insubstantial elements). Oracle claims that the API is protected by copyright and that Google infringed various API elements by copying the structure, etc. in spite of its having done so through a clean-room development. Therefore, Oracle's ultimate copyright claims in the case _all_ turn on its assertion that it can sue upon only a a subset (the API pieces) of the overall copyrighted work (Java) and not the whole work.

The other important piece of the analysis is as follows: copyright protection applies automatically as a work is created and takes a tangible means of expression; however, you cannot sue for infringement of a copyright work unless it is registered as a federal copyright with the Copyright Office.

The Google motion contends that Oracle registered the entire work (Java) and not any subset of that work. Oracle claims it was registered as a "collective work" and that this gives it the right to sue on a component part of the work only. In its motion, Google says that the work was _not_ registered as a collective work and that Oracle therefore can't - as a matter of law - <USER2> over a component piece only.

The motion turns on technical issues but they are ones that would seem to be verifiable one way or the other and thereafter tested under the legal standards just summarized. If the Java registration fails to meet the test, the Oracle loses on its copyright claims as a matter of law (meaning the judge tosses it and it doesn't even go to the jury).

This is truly a bombshell and appears to have caught the Oracle attorneys completely off stride. We will see what happens.

<comment><USER13> Do you have to register it with the copyright office as soon as you create it, or could you create it, register it 10 years later, then immediately sue someone who copied it?

<comment><USER14> US law generally doesn't allow actions to be made illegal after the fact ( _ex post facto_ ). So no, the act must be illegal when it was committed.

<comment><USER15> In this case, though, copyright infringement is already in principle illegal whether a work has been registered or not; the registration requirement is just a procedural requirement that bars collecting damages, not something that makes the action legal or illegal.

However U.S. copyright law does have a statutory limit on how retroactive registrations can be. If you file a registration within 90 days of first publication, the registration is retroactive to the date of publication; but if you file more than 90 days from publication, registration is only effective from the date of registration.

Fwiw, even with unregistered works you have some options available to you, just not damages. For example, you can file a DMCA takedown notice.

<comment><USER16> If you file a DMCA notice and the infringing party files a DMCA counter- notice, would you have to register the copyright before you could sue for infringement?

<comment><USER15> I believe the answer is yes, you need to first register before filing suit. If the offending work continues to be published, you can register and then sue.

An exception is foreign works, whose owners can file a suit without first registering, since treaty obligations don't allow the U.S. to subject foreign holders to "formalities". However foreign holders are limited to recovering "actual damages" in such suits, and need to register to be eligible for per- copy statutory damages.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> I'm sure this would be a great result for Google, but it would kick the question of whether APIs were copyrightable into the long grass.

<comment><USER18> If APIs were copyrightable there would be no Wintel machines... IBM would have killed Compaq for daring to build a clean room BIOS.

Logically I can't see why an API _should_ get copyright protections. By its definition it is a interface, and the moment you start allowing restrictions on implementing an interface your killing competition. It seems that in almost ever other field fair use has decided that whatever is required for compatibility is not copyrightable.

That said my beliefs and the law can at times be completely different things...

<comment><USER19> I don't see why existing anti-competition laws would suddenly disappear if an API was copyrightable ?

And your argument about Wintel machines is actually backwards. Because if APIs were copyrightable there would be MORE competition in that circumstance. Due to less standards.

I am actually in favour of having standards organisations take a greater role in pushing real standards rather than de-facto ones.

<comment><USER20> The best standards are those which have been taken from real-world implementations. In other words, the way you get a good standard is to ratify a de facto one.

</comment></comment></comment></comment><comment><USER21> If Google wins, what's to prevent them from creating a server side JVM that's better than Oracle's? It would be quite cool if they created a server side fork of dalvik that could run thousands of isolated instances at the same time.

</comment><comment><USER22> There seem to be more than just a few pro-Oracle people on this thread. Why?</comment>


'Game of Thrones' Writer George R.R. Martin Reveals He Uses Ancient Computer - <AUTHOR> http://www.etonline.com/tv/146496_game_of_thrones_writer_george_rr_martin_reveals_he_uses_ancient_computer/ <comment><USER2> Aah, Wordstar, the worlds first WYSIWYG and doing it properly at that! Oh the memories...

</comment><comment><USER3> The question is how he hands his draft to his editor. Floppy disks still exist?

</comment><comment><USER4> The tricky part is getting the runes keyboard repaired.</comment>


Show HN: Borderless-Gaming - An Open Source Fullscreen Alternative on GitHub - <AUTHOR> https://github.com/Codeusa/Borderless-Gaming

<comment><USER2> But don't many games already support "Fullscreen Window" or "Borderless" modes? I don't play many different games, but the ones I play have this feature already.

Or is this more a thing for console ports?</comment>


Is That Really a Cappuccino? - <AUTHOR> http://www.nytimes.com/2015/10/02/fashion/mens-style/is-that-cappuccino-youre-drinking-really-a-cappuccino.html?smid=fb-nytimes&smtyp=cur <comment><USER2> I made a brief foray into coffee snobbery about three years ago. I quickly got lost in all the permutations of espresso machines, grinders, roasters, beans, etc. and so I decided I should get myself a baseline of what a "proper" espresso should taste like. Fortunately, at the place I worked at the time we had a (supposedly) top-of-the-line espresso machine and several resident coffee geeks, including one who was actually from Italy. I asked their advice and obtained a bag of what were supposedly the best beans in town, and brought them in to the office.

To make a long story short, several hours and I don't know how many batches of espresso later, none of us had managed to make even a single cup that was remotely close to being drinkable. So I got a $100 Keurig machine, and never looked back.

Still, when I'm in Italy, I can go to any coffee shop and get an espresso that is absolutely delicious. So the Italians definitely know something I don't.

<comment><USER3> Grind, pressure, volume. Keep two of those constant and you can tune the third. It's really not as hard as coffee snobs pretend it is.

<comment><USER4> I believe that water temperature is extremely important as well.

<comment><USER3> Sure - but the OP said they had a top-of-the-line espresso machine, so I took that as a given. Similarly, fresh beans are vital, but the OP said he/she had just bought them.

<comment><USER2> That's right. I went to the particular store and bought the particular ridiculously expensive beans recommended by the coffee geeks. We did the experiment the next day.

There are _at least_ six degrees of freedom: grind, pressure, volume, water temp, beans, and roast. That's a lot of possible combinations. And my whole point was that despite making my best effort to control all six of them, the coffee still didn't come out good. Not just not good, but actually terrible. Undrinkable. No one could figure out what was going wrong.

What I do know is that I can get consistently good coffee out of my Keurig, and consistently awesomely great coffee in Italy, but nearly nowhere else in the world (and I've been to a lot of places). So it must be possible to control the process. The Italians can't just be getting lucky. But I have no idea what the magic formula is. Maybe it's the water. (Oh no! A seventh degree of freedom!)

</comment></comment></comment></comment></comment><comment><USER5> Has it gotten that bad that we care about what coffee dispensers and drinkers believe to be a true cappuccino or not? Not for nothing, but this frothy fluff. Who cares, serve what you like and drink what you like, but please don't make it out to be anything more than superficial preference.

<comment><USER6> My espresso machine was one of the best purchases I have made. I can have straight espresso or any variation of frothed milk and coffee that I can imagine. I use store brand coffee and milk and it is delicious. Its worth investing in if you care about it and I drink coffee almost every day, so something I think is worth investing in.

<comment><USER7> Which espresso machine did you purchase? Does anyone know if getting an inexpensive one is somehow bad?

<comment><USER8> If you're looking to make espresso drinks, going too cheap will be an exercise in frustration. Cheaper machines have limitations you need to work around and make it harder to get consistent results. Most people just getting started will simply give up. If your budget is less than $500, get a Nespresso. It makes a better drink than the other pod systems and beats most non-specialty shops (it can't touch a good shop or something you can make with a good machine and practice).

If you want to go further than this, the following combinations provide a very good value:

Gaggia Classic + Breville Smart Grinder Pro (~$500 total)

The Gaggia Classic is considered entry level to make good espresso by many people. I started with this and it can make a good drink, but you cannot make back to back drinks and foaming milk well is more difficult than on pricier machines.

Breville Dual Boiler + Barazta Vario (~$2000 total)

After using the above setup for a while, I upgraded to this combination. It is considered one of the best values if this is your price range. Frothing milk well is much easier than on the Gaggia Classic, and its larger boiler and electronic controller provide better temperature stability.

If you want something halfway between a semi-automatic and a fully automatic, the Breville Oracle has received very positive reviews in the coffee community, even by people who came in wanting to hate the level of automation it can bring.

Don't skimp on the grinder, get very fresh beans from a specialty roaster, and then plan a week or two learning curve. If you're interested, [http://www.home-barista.com/forums/](http://www.home-barista.com/forums/) has a lot of information.

<comment><USER9> Regarding milk, in my opinion no consumer machine will give you enough steam pressure to create good microfoam.

There are electric milk frothers from Breville and Nespresso that rotate a metal frother to run air through the milk. The result is sort of microfoamy (but usually more like soap-foamy), but doesn't have the particular flavour that you get from steamed milk.

I'm (notoriously, among my friends, and probably obnoxiously too) finicky about milk froth quality, and the best solution I have found is a stovetop frother.

You have to heat the milk to the right temperature (the steam wand actually works great for this), and then use the plunger for 10-15 seconds. Weirdly enough, the result is almost perfect microfoam. This one is great:

[http://www.amazon.com/HIC-Stainless-Steel- Frother-14-Ounce/d...](http://www.amazon.com/HIC-Stainless-Steel- Frother-14-Ounce/dp/B000X7GF40)

</comment></comment></comment></comment></comment><comment><USER10> A proper cappuccino is 2 parts gin to 1 part vermouth... hang on, that's a martini.

<comment><USER11> Surely you mean 12:1

2:1 is the ratio for a gin and tonic :)

</comment></comment><comment><USER12> In the UK, a cappucino has cocoa sprinkled on top. Except for "artisan" coffee shops, that's the biggest difference to a cafe latte. Basically if you want a small, strong, milky coffee from any of the big chains (e.g. Costa, Starbucks, Nero) you need to order a flat white; and probably pay more for it.

<comment><USER13> Same in Australia.

</comment></comment><comment><USER14> I'm going to get flagged for this, but there are plenty of recipes named incorrectly in the US. Just ask for a pepperoni pizza in Italy, and see what you get.

<comment><USER15> Or imagine the surprise if ordering a "Latte" gets you a glass of milk.

</comment></comment><comment><USER13> >>The new enthusiasm for the flat white, a drink made of espresso and milk that seems to have originated in Australia or New Zealand, is particularly nettlesome to Mr. Nye. "You put 10 people in a room who claim to be an authority on the flat white, you're going to get at least five different opinions on what it should be," he said. "People are trying to make the whole process intimidating to the consumer."

What the bloody hell is this drongo talking about? Flat whites are the most average drink in Australia. Flat whites in Australia intimidate no-one. We're intimidated by single origin long blacks and cold drip.

<comment><USER16> Getting a flat white in the UK is truly painful (as a recently emigrated NZer)

<comment><USER17> Coffee places in the UK often get the milk wrong, so most drinks are going to be painful.

If you go to a big chain there's more chance they've had training in steaming the milk properly. But then you have to put up with their roast (starbucks) or lack of wifi (costa).

And even then some of them are real branches (had all the training) and others are franchised branches (use the branding but have different prices and far less training).

But a bad coffee from a chain is still going to be very much better than the instant you'll be offered in many places.

</comment></comment></comment><comment><USER18> It seems like most coffee shops (..that I've tried along the pacific coast) have no idea how to pull an espresso shot and will instead just brew a very bad strong shot of coffee.

Ordering a cappuccino has generally been interpreted as a pile of light milk bubbles on top of "less milk than the normal latte".

</comment><comment><USER19> On the one hand food in US is just amazing, because you have so many options (I miss though my home country's food and ingredients). On the other hand though, coffee here is just so so bad and I don't understand why.

</comment><comment><USER7> When going to a coffee shop and ordering an espresso and frothed milk, most prefer a certain texture and taste. It would be useful to have an agreed upon language to describe this preference. The current language we use seems to have very inconsistent results.</comment>


Show HN: Linux driver for the Xbox One wireless dongle - <AUTHOR> https://github.com/medusalix/xow <comment><USER2> Thanks for working on it, I'll see if I can get it packaged to Debian during the holidays.

<comment><AUTHOR> Having a package for Debian (and later on Ubuntu) would be really awesome. It's already available for Arch Linux and I expect the list of packages to be growing over the next few weeks.

</comment></comment><comment><USER3> Finally! :) I have one with borked USB port (I think the 1537 one), if it works this may make it useful again.

Thanks for working on this!

<comment><USER4> Curious how you charge if if the usb is "borked"

<comment><USER5> Replacing the AA-bateries?

At least my xbox one controller has a slot for two aa bateries on the back.

<comment><USER4> Interesting. My controller that I got only a few months after xbox one launch has a proprietary rechargeable battery in that slot

</comment></comment></comment></comment><comment><USER6> Nice project! Initial thought: apart from ease of development, is there any reason to do it in user space? I looked into uinput before to get a Bluetooth mfi controller working, but couldn't figure out which modules of the kernel did what.

<comment><AUTHOR> One of the major points for me was how cumbersome the installation process for kernel modules is. Now I can just do _make install_ which works on most Linux distributions.

<comment><USER7> DKMS is the only way to do it without losing sanity.

<comment><USER8> Tell that to a friend that runs secure boot enabled.

<comment><USER7> You can add a step to DKMS build scripts for signing the modules.

</comment></comment></comment></comment></comment><comment><USER9> > Most of the reverse engineering was done by capturing the communication > between the dongle and a Windows PC using Wireshark

Haha that's pretty cool

<comment><USER10> If Windows is the only platform (apart from the Xbox) where the dongle works, there's also not much of an option if you want to intercept valid traffic relatively easily.

</comment></comment><comment><USER11> Thank you so much! I was just to buy the Bluetooth ones but it seems like I don't have to.</comment>


Ask HN: What skills do I need before tackling The Algorithm Design Manual? - <AUTHOR> I've been reading a book called "How To Win At College" by Cal Newport of Study Hacks fame. The book is broken up into a series of tips and tricks that are meant to ultimately lead one to greater success as a university student. One of the tips in the book is "Do something better than anyone you know." I've decided that I want this skill to be the ability to solve algorithmic problems by applying algorithm theory to real-world problems and I've decided on The Algorithm Design Manual by Skiena as my introduction to algorithms.
We all agree that computer science is not programming, but I believe a firm grasp on basic CS concepts can make anyone a better developer. This relationship is similar to that of a journalist who studies English. While a journalist can have a great career without studying English, there is certainly an argument that theory (English) is just as important as application (Journalism). For programmers, this is the difference between studying theoretical computer science (algorithms, data structures, AI, etc) and learning programming languages (Python, C, etc).
My goal is to become proficient at engineering optimized algorithms for solving real-world problems. This won't happen by diving right into a book on algorithms and that is something that I fully understand. My question is this: What do I need to know before I start tackling The Algorithm Design Manual? To be a good algorithm designer one certainly needs to know how to analyze the time complexity of an algorithm. What math skills, specifically, are required to do this well? I've heard that going through a book on discrete mathematics would be a good idea. What else would you recommend? Statistics and probability, perhaps? <comment><USER2> So analyzing the time complexity of an algorithm is the easiest part of designing algorithms. There are two harder parts:

1) Figuring out how to prove whether your algorithm works.

2) Learning how to build new algorithms.

The two parts are intertwined. If you really want to learn how an algorithm works, you must be able to convince yourself how it works: Part of that is to build a mathematical proof that it works, another part is to be able to code it out. So first out figure out the technical language of how to convince yourself mathematically whether an algorithm works: Work on a few proofs, a few chapters from any discrete math books (e.g. Rosen) should help there. Pick a language that lets you focus on algorithm details without having to mess with a lot of infrastructure details. Then practice, go over the book (by which I mean solve as many problems as you can), play with algorithms by googling questions that are related so that you can get a flavor for how different algorithms get used. Eventually as you progress through the book, you will start getting a sense for how to decompose most engineering problems into well known algorithms or combinations of algorithms.

</comment><comment><USER3> Usually, algorithms/data structures are the second course in a CS sequence. If you can code simple programs, you need nothing more than high-school math to be able to work through Skiena's book. Other than that, i would suggest practicing on TopCoder / code chef and the like.

</comment><comment><USER4> Statistics and probability don't directly relate to anything in TADM from what I can recall. There's not much to the maths beyond high school stuff. Some discrete maths will help though. Graphs theory, trees and functions especially. Schaum's Outline of Discrete Mathematics is decent.

Obviously Skiena's book is in C- so be somewhat familiar with it. Again no need to go crazy deep into C before you start. You can learn as you go.

I'd recommend just diving in and using other resources as references if you come across anything you don't know, rather than spending too much time working though "pre-requisites".

<comment><AUTHOR> I'm actually not that familiar with C. What would be a better resource for someone who knows Python the best?

<comment><USER4> K&R is the bible. It's short and sweet.

<http://en.wikipedia.org/wiki/The_C_Programming_Language></comment></comment></comment>


Need Help:How to create Video for YC Application? - <AUTHOR>

I am submitting an application for YC. My co-founders are in geographically distatnt places and it is not possible to get all together to create a video at one place. I would like suggestions on how to create/submit the video for the application. <comment><USER2> I'd suggest you using skype there's a ton of free software that lets you do the same. But honestly, I'd suggest doing a real video for your application to make sure it has a higher production quality.

A lot of times it isn't what you say but how you say it.

I personally use adobe premier and afteraffects to make sure that the intro, content and outro looks tight. You could also use final cut pro but im not an appler person.

i think its important to use a decent film editor so that you can level everyone's sound and make sure that message comes through clearly... but i admit i may be over thinking it.

<comment><AUTHOR> Thanks! Will definitely keep your suggestions in mind!

</comment></comment><comment><USER3> Record a skype or Google hangout video call. Probably easiest to use an external camera for recording, instead of wasting time with screen capture etc.

<comment><AUTHOR> Thanks! Was just wondering if that is acceptable!</comment></comment>


William Shatner reviews Facebook Mentions - <AUTHOR> http://williamshatner.tumblr.com/post/92551992485/facebook-mentions-versus-facebook-pages-apps <comment><USER2> William Shatner is 83. That is amazing to me. I hope I'm that with it and well put together if I make it to 83. I suppose being worth $100 million doesn't hurt, but it still gives me some hope.

<comment><USER3> Do we know that William Shatnet wrote the text himself? It seems unlikely …

<comment><USER4> Saw him on stage about a year ago and he was the most lucid and sensible person there (of the 5 other captains). Avery Brooks certainly was not with it at all.

<comment><USER5> Hm. I would guess Patrick Stewart would be more lucid and sensible, since he is still an active actor.

<comment><USER6> Because actors are famous for being "lucid and sensible"...?

(This is not a dig at Sir Stewart, I'm just pointing out that the two concepts "working actor" and "lucid/sensible person" are not necessarily linked -- as demonstrated by Brando, Depardieu etc.)

<comment><USER7> It's Sir Patrick. (Should he ever be elevated to the peerage, he would be addressed as Lord Stewart.)

<comment><USER8> That's in the UK. And only for those who care about that antiquated royalty system.

For us, fans of the french revolution and the beheading of kings, it's just "Patrick".

<comment><USER9> I think the point is simply that if using the title (which is purely optional) then it is standard to use the first name. So Sir Stewart would be somebody else.

<comment><USER8> A, ok! Missed that nuance!

<comment><USER4> Full Nuance Here:

[http://www.debretts.com/forms- address/titles/knight](http://www.debretts.com/forms-address/titles/knight)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I can't believe Facebook would force celebrities to follow other celebrities, It seems like their contempt for users is universal regardless of how important you may be.

<comment><USER11> Another way to put it is Facebook knows getting you to click a couple of buttons to "get started" is something a very very high percentage of people will do to interact with facebook, especially if they've already gone through the friction of downloading the app.

<comment><USER12> Except in this case, it prompted Shatner to leave a soso-to-negative review of the app and service.

<comment><USER13> Exactly.

If there's _one_ app where they shouldn't uselessly annoy users just to boost their statistics, it's in the app targeted at influencers.

</comment></comment></comment></comment><comment><USER8> Is that really Shatner writing that?

The level of technical understanding, including jargon (even trivial and casual to us, like "header image"), and familiarity with posting (custom screenshots, etc), is phenomenal for a celebrity, and at that age!

That's Denny Crane level cool!

<comment><USER14> I saw his one-man show when it came to town about a year ago. After watching him alone on stage for 90 minutes, I have no doubt that he is still "with it" enough to not only comprehend modern tech (if that's what we're calling Facebook), but to provide this level of insight and understanding.

</comment></comment><comment><USER15> There's an Internet for celebrities and an Internet for the rest of us.

Facebook has this.

Wikipedia has notability requirements.

Twitter has verified accounts, which only celebrities can have because no one gives a shit if your account is real or not.

The Hacker's Manifesto is a bit turned on its head.

<comment><USER16> >Twitter has verified accounts...

Which is something else that William Shatner has strong opinions about:

[http://mashable.com/2014/06/24/william-shatner-twitter- verif...](http://mashable.com/2014/06/24/william-shatner-twitter-verified/)

</comment></comment><comment><USER17> I wonder if the George Takei suggestion was intelligent situational awareness ... or if everyone has him as the first suggestion because he's basically the platonic form of a Facebook celebrity?

<comment><USER18> If you are not aware, Shatner doesn't like Takei.

<comment><USER19> I didn't know that, so I dug around for the cause. From a recent NYP article:

      Takei married his husband in 2008 and Shatner became enraged when
      he claimed he wasn't invited. He ranted against Takei in an
      online interview. [...]

      Shatner called Takei's wedding a publicity stunt and hypothesized
      that their feud stemmed from Takei's unwillingness to playing
      second fiddle to Shatner on "Star Trek."

It seems to be mostly based on petty, even comical stuff like this. This may sound paradoxical, but as someone who always had a lot of respect for both of them, this is disappointing and a bit of a relief at the same time.

<comment><USER20> From what I can tell he's had a bad relationship with a number of the other cast members since the original series's filming, since they thought he was too self-centered and kept trying to minimize screentime given to the supporting cast. The feud became kind of well known among fans, because four of the actors (Walter Koenig, James Doohan, Nichelle Nicols, and Takei) often aired their dislike of Shatner at Star Trek conventions. Though for his part Shatner claims it was a one-sided feud he didn't even know about until 1993: he says he discovered the issue when he tried to interview a bunch of the old cast for his memoir, and several wouldn't talk to him, or did but had negative things to say.

<comment><USER21> >Though for his part Shatner claims it was a one-sided feud he didn't even know about until 1993

Which, of course, humorously confirms all of the casts' characterizations of him as a selfish egomaniac in a wig and a girdle. I think that Shatner is aware of this (within the past 20 years, not at the time) and plays into it for the humor value and a media bump if he's currently selling something. He's always selling something.

</comment></comment></comment></comment></comment><comment><USER22> I remember back in 2005-6 when I thought that News Feed, Events and other stuff introduced to Facebook was a bunch of cluttered junk. If I could have seen into the future then... the horror, the horror!

<comment><USER23> Events is pretty much the only thing Facebook has going for it now.

<comment><USER24> Even Facebook events now seem tacky for anything other than massive events in my social circles.

</comment></comment></comment><comment><USER25> Are new users joining Facebook? I hear from more and more people that either they have left or "wish [they] could", if it weren't for "everyone" with which they wish to stay in contact[1].

I myself deactivated my account 6 months ago. The only time I regret it is after I've been drinking and want to troll someone. So actually all around a good thing.

Are new people actually, really, honestly joining Facebook? I know the "delta new accounts" number is positive, but do they represent real people, rather than just spam bots?

I just have this feeling that, given a certain plateauing of new users, there comes an associated stagnation of follow-actions. No, I certainly don't have data to this issue, but I know that I personally only spend effort following people when A) I first join a site, or B) I think there is a good chance the person will follow me back[2]. So, for your everyday Joe-blow user who has is more than a month old, it seems like they are either already following William Shatner or never will.

My own observations in blogging have been that engagement with users is highly dependent on novelty. You either grind out finding new followers who haven't experienced your content yet, or you post radically new things all of the time --which could backfire and alienate your established followership, though honestly by that point they are probably ignoring your posts. Either way, you write off anyone who has been following you for more than 6 months. 90% of the time, that person is unretrievable.

I guess I just see followers as a limited, unsustainable resource, sort of akin to oil, except much easier to deplete. But it seems like Facebook, et. al., are banking on it being more like solar. IDK, I've seen reports saying FB has 1.3 billion users. There are only 7 billion people in the world. Do I really believe FB has almost 20% of the entire world's population? Do I really believe they could get more?

[1] Apparently "everyone" doesn't know how to use email or a telephone or text messaging.

[2] Incidentally, a policy that works for about 50% of cases. And for 90% of people, they will be unfollowed within a week, regardless of whether or not they follow me back. I don't need their crappy animated GIFs of Sherlock or Dr. Who clogging up my dashboard.

<comment><USER26> > Are new users joining Facebook?

Yes.

> I guess I just see followers as a limited, unsustainable resource, sort of > akin to oil, except much easier to deplete

New people are born every minute. Facebook has reached a massive scale, at which scale nearly everyone in the world has heard about it and will join at some point.

Also, FB really isn't built around following the way Twitter is. If all you did with Facebook was interact with your friends, that'd be just fine (since they can always inject business ads into that stream).

<comment><USER27> >> Are new users joining Facebook? > Yes.

I think more eastern people join, while more and more western quit. (some month ago it was in the news that their are less US users).

Last time i use facebook is.... i think 4 or 5 weeks ago.

</comment></comment></comment><comment><USER28> Facebook Mentions seems like an ill-conceived way of making a move against Twitter.

<comment><USER29> Facebook has probably had a less than 10 percent success rate with product launches in the past few years.

</comment></comment><comment><USER30> > I'm already following those who I want to follow - why insist I follow that > short list of others?

Money.

Edit: If you think about it, it's a poorly implemented solution to some problem. What was the problem?

</comment><comment><USER31> Things against Facebook rarely fail to rise to the top of HN. Anything not favoring Facebook gets up here quickly. Why am I surprised.

<comment><USER32> There are a lot of Facebook employees on HN, just like there are a lot of Google employees here. Those employees will do some level of astroturfing. Unless HN prevents us from voting on topics where there is a conflict of interest, it's hard to keep the bias out.

<comment><USER33> Why would employees vote up negative articles? I think you misread what HBSisBS said.

<comment><USER34> Employees vote up anything related to their employer.

</comment></comment></comment></comment><comment><USER35> I thought this was going to be a tumblr where William Shatner critiques the actual FB posts that mention him.

</comment><comment><USER36> fb paid him

</comment><comment><USER37> Not many other users of this app feel this way

<comment><USER38> Right, which is why it's titled "William Shatner reviews Facebook Mentions".

<comment><USER39> It would be titled the same even if a lot of other users felt that way.</comment></comment></comment>


HN is censoring who speaks anything negative about pg. High school club - <AUTHOR> http://lmgtfy.com/?q=hacker+news+censorship <comment><USER2> Before this get "censored" ... unless you made lmgtfy this is not a good ShowHN, from [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

> _What to Submit_

> _Show HN is for something you 've made that other people can play with. HN > users can try it out, give you feedback, and ask questions in the thread._

Anyway, your link is too general. Do you have an specific example?

The initial community here was the readers of the pg "articles" (aka blog posts), so you should expect to see a lot of fanboys/fangirs of pg here, specially in the old users.

IIRC the mods try to reduce the flags the users put on the post against YC, HN, pg, ..., so there is some kind of official anti-censorship of the post/comments against pg.

[Also, in case you want to see the [dead] post and comments, you should enable that option in your profile. Warning: there is a lot of crap in the [dead] post, but from time to time you can find something interesting and vouch it.]

</comment><comment><USER3> That's not even close to true! It's hard to respond further without some specific link to look at.

I took "Show HN" out of the title, since that was obviously an abuse of Show HN ([https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)). Please don't do that.</comment>


Unlike Apple, Google does not receive Android App sales commission. - <AUTHOR>

People don't seem to realize this so I thought I'd put it out there.<p>"Developers will get 70% of the revenue from each purchase; the remaining amount goes to carriers and billing settlement fees—Google does not take a percentage."<p>-Eric Chu<p>http://android-developers.blogspot.com/2008/10/android-market-now-available-for-users.html <comment><USER2> Why do the carriers get anything?

</comment><comment><USER3> What's Google getting for this? It's sad to see what a poor relationship Google has with carriers, in the sense that carriers walk all over them, while Apple has a completely opposite relationship with them, in the sense that they're forcing carriers to only buy the phone at _full retail price_ , but also to pay them billions of dollars at a time _pre-launch_ , by purchasing a set number of iPhones that Apple decides.

No wonder Google has usually been the last to implement stuff like VOIP and video-chat and SMS replacements and so on. They don't dare do anything without the carriers' approval, even though they have a much bigger market share worldwide.

On top of all of this, the carriers still get to put their crap on Android phones, too. So this is quite unbelievable. Google gave them so much power, when they really didn't have to, because Android was the only real alternative to the iPhone, especially in the early days when these deals were first made. It's the _carriers_ that should've made concessions to Google, in order to get it, not the other way around.</comment>


Show HN: ETH Ads, Ethereum advertising network - <AUTHOR> https://ethads.bid <comment><USER2> I recommend making the language pull down alphabetically ordered, and putting English at the top, as I couldn't find English.</comment>


IoT: Is it the Future? - <AUTHOR> For quite a while now, i've been thinking about the future of technology, and the internet. It seems like each day the internet is growing at an ever expanding rate. More and more devices are being connected to the internet, and more and more people are gaining access to these devices.
I feel like IoT (the internet of things) is the next big step for technology, and for internet connected devices. The internet of things is the idea that every single device, including ordinary objects, can become internet-connected devices. Beyond that, I believe the internet of things improves upon already existing devices. There is a great analogy that I use (I didn't come up with it XD):
The vending machine automatically notifies the company that there are no drinks left.
See the internet of things also includes the fact that these internet connected devices become connected to other devices. I believe that this could improve our forms of communication, but it could also allow for devices to become completely autonomous.
I'm just curious to see your opinion about IoT. Feel free to talk about security, privacy, etc. <comment><USER2> Yes it will be the future and you'll know it's really here when we all stop talking about it.

Machines notifying their owners or service providers that they are empty/full/broken is really one of the most basic IoT ideas. The thing that will really make it take off is going to be something that we haven't thought of or currently thing is impossible.

The biggest issue that still needs to be overcome is the security. Sure, you can get it to be as secure as anything else today using traditional (D)TLS and certs, but some of these devices are have a (shelf) life of over 10 years. What happens to all the devices on the shelf (or just not turned on) if your CA was diginotar? Either you keep your now insecure cert so that devices can still connect to download the new cert or you just remove it and force everyone to do a firmware update manually. Do you really expect your grandma to update the firmware on their smoke detector? If you just leave it, how long do you support it?

All that assumes that you're okay with the wide variety of privacy issues that come with having all this data streamed from your house (or business or whatever) up into someone else's servers. I think another thing that is going to be important is a "local iot", none of your data is able to leave a small box inside your house except for small bits of things that actually need to, like notifications or alert states. But, again, how do you solve the security in this, especially if you want compatibility between different manufactures?

</comment><comment><USER3> Yes and no.

\- Increasingly computerized and automated devices are the future, but they won't necessarily be part of the Web or even the Internet.

\- IoT is typically thought of as a consumer trend, but it will largely consist of business process automation - not connecting toasters to iphones.

Internet security and trust are so fundamentally broken that the vending machine will notify the company automatically, but it will do so using a propriety network or SaaS, not by communicating using standard open APIs on the web.

The majority of devices aren't consumer devices. There are very few consumer things to be part of an Internet, yet every industry typically employs many machines and devices working together as part of a larger process. The only devices I even use in apartment are my fridge and stove. Everybody is looking at all the consumer possibilities with IoT but its really a B2B phenomenon.

</comment><comment><USER4> Id guess largely overhyped but something that will continue to happen where it actually makes sense.

Id bet there will be 2 buckets that things fall into ...

1) Added connectivity that makes the core functionality better (ex. thermostat that can forecast the temperature for the next 2 hours to improve AC costs)

2) Connectivity that is tacked on as a gimmick that doesn't actually improve what the thing is made for in the first place (ex. microwave that texts you when its done)

In the long term I think only category 1 will remain in the IoT world. From my consumer perspective most things around my house fall into bucket #2 - All I want is for that thing to do what its meant to do best which usually doesn't involve being able to talk to anything.

</comment><comment><USER5> There is a battle for control of the hub (server) - the thing that all of the connected IoT devices in your home talk to. This involves the hub hardware and also the software and protocol used to communicate with the IoT devices.

[http://www.cnet.com/news/smart-hubs/](http://www.cnet.com/news/smart-hubs/)

[http://www.theverge.com/2015/1/5/7497811/samsung- smartthings...](http://www.theverge.com/2015/1/5/7497811/samsung-smartthings- hub-subscription-ces-2015)

[http://www.eweek.com/pc-hardware/dell-sees-pcs-as-hub-of- iot...](http://www.eweek.com/pc-hardware/dell-sees-pcs-as-hub-of-iot.html)

</comment><comment><USER6> The future of communications: www.evolutionarynetworks.com</comment>


How do you avoid this trap in learning? - <AUTHOR>

In the information age we live in, it's so easy to be overwhelmed with the sheer amount of reading material we have at our disposal. I love learning new things, as well as improving my understanding of topics I'm already familiar with. In the little time I have to learn/read, I find myself falling into a trap of jumping around a lot. Some days I find myself watching Machine Learning lecture videos, some days reading up on computer architecture, design patterns, and the list goes on.<p>I'm very interested to learn how other people cope with this problem. There is too much to learn, but not enough time... <comment><USER2> Have a goal based learning approach. Tie your learning directly to a project that you are intending to finish. That way - your learning has some end goal and does not become an end in itself. Also, aggregate what you want to read before hand and sort them into related things and read them together.

</comment><comment><USER3> It's only a problem if it is keeping you from some goal. Example: If you're doing a research report on a certain president and you find yourself reading up on a dozen other interesting presidents, well that's a problem because it keeps you from finishing your report. On the other hand, if you are interested in genetic algorithms and you wind up reading about real genetics, epigentics and then Dawkin's book "The Selfish Gene", I don't see how that is bad.

</comment><comment><USER4> Organize interesting information on subjects that you are not immediately working on. Use a product like Evernote and to organize the different pieces of information into groups on the same topic. They when you are done with the current subject that you are trying to get you head around you can move on to the next one and pull back up all those old interesting bits of information on the subject.

</comment><comment><USER5> The book "Moonwalking with Einstein" by Joshua Foyer has some really good insight about how to retain more of what you learn!</comment>


The Width of Men's Ties and Waste in IT - <AUTHOR> http://www.ciopedia.com/u/31

<comment><USER2> "Those with enough patience and a large closet can rest easy knowing that everything they have ever purchased will be in style again, if they wait long enough (well maybe not that particular tie.) Of course, this is style obsolescence, a variant of planned obsolescence, and its a big driver of product sales in our culture."

I am humorously reminded of a passage in "How to Survive Without a Salary" where Charles Long talks about wearing the same wool winter coat for many years. Every few years, he would get complimented on his wonderful coat. On the years in between, he was plied with lots of sympathy and hot coffee. :)

Not exactly IT related. Though I guess I do know some IT types who are generally resistant to the "ooh, shiny" phenomenon and stick with stuff that works reliably, if that makes sense. I suppose both things require the type of personality that cares less about public opinion/trends than functionality.

</comment><comment><USER3> Only if you buy into it.

We were on Windows 2000 until this year finally moving to XP for multi-media compatibilty (specifically Flash) reasons.

I've been around since dos3.3, looking forward to upgrades went out of the window a long time ago :)

The only interesting hardware innovation in recent times has been an interest in reduced power consumption / back to passive cooling.

Then again, I'm a guy with a 486 upgraded to P54C with 32Mb RAM as my email server.</comment>


Bismuth - <AUTHOR> https://en.wikipedia.org/wiki/Bismuth?wprov=sfti1 <comment><USER2> > Bismuth was long considered the element with the highest atomic mass that is > stable. However, in 2003 it was discovered to be extremely weakly > radioactive: its only primordial isotope, bismuth-209, decays via alpha > decay with a half-life more than a billion times the estimated age of the > universe. Because of its tremendously long half-life, bismuth may still be > considered stable for almost all purposes.

I learned something new -- Bismuth is technically radioactive.

Bismuth is probably my favorite element, because of the beautiful way it crystalizes and the beautiful colors it has. Beyond the beauty it's also remarkably non-toxic considering its siblings, a form of it is a useful medicine when traveling, and it's more dense as a liquid than a solid like water. It's a really fascinating element. I really recommend reading about bismuth, at least this article, since the article does a good job of explaining a lot of its interesting aspects.

<comment><USER3> magneocrystallic action == warp drive

</comment></comment><comment><USER4> "Bismuth's extremely long half life means that if the entire Earth was made of bismuth when it formed, less than one billionth of the bismuth would have decayed into thallium." What? Isn't it irrelevant how much bismuth you started with, if you measure it as a ratio??

<comment><USER5> Perhaps there was a 'joke' comparison that that author forgot or later editors deemed unserious.

Something like "only a mass equivalent to the Himalayas, less than one billionth, would have decayed into thallium." This example is for demonstration only, as I'm not sure what the equivalent would be.

</comment></comment><comment><USER6> Bismuth is also replacing (toxic) lead in shot (pellets) used for hunting, especially where there is evidence of lead poisoning in scavengers (like condors in California).

</comment><comment><USER7> [http://the83rdelement.wordpress.com](http://the83rdelement.wordpress.com)

</comment><comment><USER8> Also a Cryptocurrency</comment>


Hollywood Upended as Unions Tell Writers to Fire Agents - <AUTHOR> https://www.nytimes.com/2019/04/12/business/media/hollywood-writers-agents-fire.html <comment><USER2> It feels like this reinforces this feeling I've had about money. Those who work with the money always seem to carve out a larger slice for themselves, often in increasingly clever ways. It's a one directional battle where those who don't work with the money are always on the defensive.

I'm thinking a lot about managers and sales at the engineering firms I've worked at in the past. They get to see the numbers coming in, the salaries of everyone, and have a lot more say over who gets paid what. They've got the data which is power. The talent who actually produce the product are in the dark.

<comment><USER3> This is one of the reasons why I believe in rev-share employee co-ops. The power dynamics are greatly equalized: everyone gets to see the profit and everyone knows how much others are getting paid. Sure, there's uncomfortable and challenging situations to still work through, but the benefit of having more distributed worker ownership and transparency is a value worth pursuing.

<comment><USER4> I believe in them as well, but... but where are they?

With all the benefits of hard working people and without stupid, greedy managers standing in their way, co-ops should be literally everywhere!

<comment><USER5> Co-opts are ripe throughout the agricultural sector, but they do have to fight hard to maintain those positions because short-sighted corporate competitors undercut the co-opts pricing with unsustainable practices. Often it is cheaper to pump farmland for all it is worth until the topsoil is depleted and thin, then just buy up different farmland from struggling small farmers who got undercut from the unsustainable practices. While the depleted farmland either gets sold off to developers or gets put into a wildlife program where they get paid rent by the government to leave it fallow.

So it is still a battle between people looking for short personal profits against those who are seeking long-term sustainable profits. There is no associated extra costs for depleting farmland or practicing unsustainable farming methods so assholes will continue to abuse it as long as they make money on it.

<comment><USER6> Unless these corporate competitors are stupid, then taking a short sighted approach means the returns from not exploiting the future are too low. The problem is not corporations, but the regulatory structure around farming where the true value of the future is not correctly valued. If these corporations made more money not exploiting the future than exploiting it then they would act in the long term interest.

</comment></comment></comment></comment></comment><comment><USER7> David Simon (of The Wire) wrote a hilarious and edifying piece on the main contention in these negotiations.

He explains in it how agents systematically screw over writers: [https://davidsimon.com/but-im-not-a-lawyer-im-an- agent/](https://davidsimon.com/but-im-not-a-lawyer-im-an-agent/)

<comment><USER8> Previous discussion here: [https://news.ycombinator.com/item?id=19570735](https://news.ycombinator.com/item?id=19570735)

</comment></comment><comment><USER9> It's probably because I know very little about how Hollywood works, and I'm definitely coloured by how much of HR departments we seem to be able to automate and digitise these years. But why do writers need agents? Why does anyone really need an agent in 2019?

I mean, I understand the value of lobbying and networking, I use it quite a bit in my own life, but is it really so hard for writers to connect to employers, that they need to pay someone to do it?

<comment><USER10> It's not hard for writers to connect to employers. It's hard for studios to connect to competent writers without wading through a tidal wave of utter dross.

From the studio POV, an agented writer is likely to be at least reasonably competent. From the writer POV, an agent is likely to be at least a reasonably competent negotiator and have direct industry contacts.

The idea is that the studio gets people who can do the job without having to read thousands, perhaps tens of thousands, of terrible scripts from wannabes. Agents try to talk up writer fees and include standard extras because writers have no clue what their services are worth to a studio, and many don't understand the finer points of studio contract law.

When the system works, everyone benefits. Of course it doesn't always work, and writers get screwed in all kinds of creative ways. But agenting means that on balance they still do better than they would going up against Gigantic Media MegaCorp Studio on their own.

Now, streaming has created an explosion in TV programming, and some agents are setting themselves up as production houses rather than as talent managers.

This changes the balance of power and makes agents more like an employer with a vested interest in cutting a deal than a representative with an interest in cutting a good deal for their client.

Hence the (off-screen) drama.

<comment><USER11> > _Of course it doesn 't always work, and writers get screwed in all kinds of > creative ways. But agenting means that on balance they still do better than > they would going up against Gigantic Media MegaCorp Studio on their own._

Interesting concept. In the tech industry, I'd be much more okay paying an agent or agency directly to represent me than being in a union, since I'd be able to vote with my feet (by switching agencies) and my money if I feel a particular agency is not properly representing my interests.

Unfortunately, here the writers are being represented by both an agency and a union and are therefore being double-billed, so to speak.

<comment><USER12> Plus, as an employee, I negotiate salary and benefits with confidence but always keeping in mind that I'm negotiating against someone who I have to work with once we sign the contracts - you can only push your position so strongly while maintaining a comfortable working relationship for the long term, you can say "its just business" all you want but people on the other side still get their feathers ruffled. In some sense, the agent or recruiter here is also being paid to be the asshole - everyone expects it of them, hardball is part of the deal, the employee being hired can just sit back and shrug and say "hey, my agent is tough to deal with sometimes, but they're good at their job" and reduce confrontation with their new boss. On top of that the agent has perspective on market rate for a role that goes well beyond what you could hope to gather in Glassdoor, by asking friends, etc. If it were commonplace in tech, I'd absolutely hire an agent on my behalf if I were doing gig work.

</comment></comment></comment></comment><comment><USER13> TL;DR version: The Guild wants agencies to sign a Code of Code, and many agencies have not.

According to the WGA website (i.e., [https://www.wga.org/employers/agencies/agency-code-of- conduc...](https://www.wga.org/employers/agencies/agency-code-of-conduct)):

 _" The Code of Conduct is a landmark agreement that realigns agency incentives with their writer-clients and eliminates the conflicts of interest inherent in agencies' receipt of packaging fees and financial interest in production entities. Agencies signed to the Code may only represent writers for a 10% commission and may not receive packaging fees or be affiliated with a company producing or distributing motion pictures.

The Code also contains important provisions on how agencies must represent writers, provide timely information to the WGA to enforce the collective bargaining agreement and writers' individual agreements, and promote non- discrimination and inclusion."_

If interested, here is the complete 15-page WGA Code of Conduct: [https://www.wga.org/uploadedfiles/employers_agents/agencies/...](https://www.wga.org/uploadedfiles/employers_agents/agencies/wga_code_of_conduct_4-13-19.pdf).

</comment><comment><USER14> It's worth listening to the last few episodes of the Script Notes Podcast. John August (Big Fish, Titan A.E., Charlies Angles) is on the board of the WGA and they've been keeping listeners up to date with these negotiations.

This episode in particular is a good overview of what's going on and what the complaints and objectives are...

[http://scriptnotes.net/393-twenty-questions-about-the- agency...](http://scriptnotes.net/393-twenty-questions-about-the-agency- agreement)

<comment><USER15> That's fantastic, thanks!

</comment></comment><comment><USER16> Related discussion couple of weeks ago: [https://news.ycombinator.com/item?id=19570735](https://news.ycombinator.com/item?id=19570735)

</comment><comment><USER17> Is the association of agents quoted in the article a union for agents? I haven't heard of any union vs union fights happening before, so this could be interesting.

<comment><USER18> Union vs union happens all the time on the worksite. Try changing lightbulbs at a factory without being part of the electricians union

<comment><USER19> Try setting up an LDAP group without being part of the LDAP team. Try ordering a replacement drive for your laptop without being part of the procurement team. Try opening holes in the firewall without being part of the network security team.

Unions really don't have much to do with this problem. It's merely an aspect of the division of labor. It's also probably a net-negative for the factor to have production stop so a worker can replace a bulb (assuming the production isn't stopped because of the bulb).

<comment><USER18> Does the LDAP group submit a Grievance to your org? Do they demand to be paid wages lost from your usurpation of their role? Apples to Oranges. Ftr I am pro-union but this is a uniquely union problem

<comment><USER19> > Does the LDAP group submit a Grievance to your org?

If you went in and made unauthorized changes, for sure.

> Do they demand to be paid wages lost from your usurpation of their role?

That depends. If we're talking about, say, government contracting, and the LDAP team is paid on a per-request basis, and you circumvent this, yes, they would rightfully demand to be paid what they're entitled to in the contract. Of course, in this case, it's probably two separate employers in one larger organization, but it does happen.

In the case of unions, the union has a contract to do certain things in return for certain compensation. A condition for doing it at a certain price might be that the contract is exclusive. Plenty of examples of this type of pricing in the business world.

So, not really a unique union problem.

<comment><USER20> There's no LDAP Group Membership Reviewer Union. Management could declare "LDAP group membership requests are now self-service" at any time, if someone presents them with a compelling case that it's better for the company.

At public companies in the US, people get paid to review your LDAP group membership requests for a simple reason: CEOs and CFOs don't want to go to jail for failing to comply with Sarbanes-Oxley.

If you're at a private company, though, and you think the change controls at your company are a net loss in value, that seems like something to discuss with your CTO.

</comment></comment></comment></comment></comment></comment><comment><USER21> > _Two specific practices have gnawed at television writers. One is the > agents' decades-old habit of packaging a roster of talent from their pool of > clients for a given project. In return, the agencies waive the usual 10 > percent commission fee paid to them by individual clients and collect large > sums, called packaging fees, from the studios._

This is a textbook case of selling out one's clients. Also, 10%!

</comment><comment><USER22> It'd be interesting to see what kind of technology business could come around as of dealing with this: Agent as a Service? Some kind of group Tinder (multiple writers on a project) / Fantasy Basketball using auctions ? Expedia / Google Ads / stock market with materially different sides to the auction?

</comment><comment><USER23> Hollywood is a monopoly that has gone on far too long. Weinstein, mono-think, corruption all around....

I hope technology can democratize things somehow. Hollywood needs reformation.

<comment><USER19> Abstain from Hollywood. Consume and support independent media.

If 1% of people stop consuming Hollywood, is that going to change Hollywood? No. But that 1% would be a HUGE market to an upstart/independent market. That new market would be a threat to Hollywood, and that _might_ change Hollywood.

<comment><USER24> I more or less do just that by watching Japanese stuff instead, it isn't exactly "independent" but good enough for my purposes.</comment></comment></comment>


Wow, this compiled (1993) crock.c - <AUTHOR> https://www.hack.org/mc/software/crock.c <comment><AUTHOR> On macOS:

% clang -g -o crock -DCURSES -DHASSLEEP -DHASTIME -DHASEXIT crock.c

Compiled and ran with just a few warnings. (from a tweet by @larsbrinkhoff)

[https://twitter.com/salgernon/status/1223384128952758273](https://twitter.com/salgernon/status/1223384128952758273)

<comment><USER2> Worked for me on Arch, too.</comment></comment>


Ask HN: What are your rock bottom experiences? - <AUTHOR>

Most of us have reached rock bottom at some point or another, whether it's in financial terms or something else. As sad and depressing as they may be, it's fun to hear how the people worked their way back up and got to where they are today. Unless you post from when you are currently at rock bottom, there should be some improvement you've made over the years.<p>While I don't have any good stories to tell, I'm very interested in reading other people's stories. So if you don't mind, go ahead and fill us in on your rock bottom experiences. <comment><USER2> I had started my business and things were going more slowly than I'd imagined they would. So slowly I needed to take a job to pay for rent and food and the salaries of some very part-time staff who were essential for various reasons. So I picked up a teaching gig at a small private training school that brought in foreign kids working on ESL and dumped them in small group classes while they got ready to attend real schools.

The money was not great, but I rationalized myself into taking the work because the teaching time was compressed so I could work from 9-4 each day and then cram away at development until 2am or so. Or that was the idea. In reality the job was a massive psychological drain. There were no textbooks or support of any kind so doing anything half-decent required a lot of energy and creativity. Meanwhile, doing a bad job would have meant letting down the kids and being actively complicit in a system that functioned primarily to separate their parents from their parents' money.

It wasn't what I had signed on for, but it seemed easier to push through and try to do the best job I could than back out. The work was only a month or two, and what other choice did I have, I asked? And so it happened that as I walked in to class one day about three weeks after starting I literally burned out in the hallway. I had just dragged myself out of the stairwell when I suddenly felt like the bottom of the world. I was tired and depressed and exhausted and all of a sudden found myself perceiving myself from the outside and looking down and pitying myself at the same time. Before that I'd been able to shelter myself from those emotions by convincing myself that my actions were positive sacrifices that were necessary to start the business. But in that moment I saw my defenses as pointless delusions. I felt like a dead man walking. I was clearly the world's biggest failure. Career. Business. Whatever. Anyone with any sort of objectivity would have to agree.

I stopped working there after that first class wrapped up, but the money paid the bills and helped get me to the break-even point, or what I managed to convince myself was the break-even point. I don't think it is as bad as coping with bankruptcy or death or anything, but it was my lowest point and I don't want to go any lower.

</comment><comment><USER3> I was working 3 jobs and seeking a startup to join (didn't have a green card back then, so start my own wasn't an option). I was in grad school and had a 4.0 GPA and needed to keep it there in case I couldn't get something interesting, my b-plan was PhD (I didn't want to return to my home country tail between my legs). One job was waiting tables from 3pm-1AM 4 nights a week. I was married.

One night I got into an argument with a fellow waiter who badmouthed me for coming along and picking up american jobs (I had just started making a lot of tips b/c I served humans better). Manager took his side so I got pissed and quit. I went home and my now ex-wife told me she wanted a divorce and was planning to move in with one of her friends from school (she was a student too). I got depressed and had an accident with my Pontiac POS. It was a freezing cold Chicago winter with temps 20 below. I got even more depressed, sat home on a couch and drank bourbon for a week.

That's my absolute lowest point. Everything got better after that. Much, much, much better:)</comment>


How to Do Almost Anything Faster - <AUTHOR> http://lifehacker.com/5741524/how-to-do-almost-anything-faster

<comment><USER2> Not all things should be done faster :P</comment>