Goldman Sachs Drops Out of R3 Blockchain Group - <AUTHOR> http://www.wsj.com/articles/goldman-sachs-drops-out-of-r3-blockchain-group-1479730906 <comment><USER2> I can't say I'm all that surprised. R3 serves as both an R&D lab and a place to connect vendors and potential clients. Moreover, the focus is on private/permissioned blockchain tech. The tech in this space is still quite immature overall and pretty much everyone has had a hard time building _actual_ blockchain infrastructure vs things that are sorta like a blockchain. If you can't show clients value for their membership in R3 (because the tech's not there) then what's the value of staying a member (especially if you've seen all the vendors in their portfolio already) vs rejoining when things change? This isn't R3's fault of course, as I think the tech in this space is just getting started and they're in a great place to help it along; members will come and go.

I spent a year investigating blockchain applications for JPM so I've seen most of the permissioned blockchain solutions that are out there. Unfortunately, none of the solutions I saw were _real_ blockchains. The more technical groups in banks (which GS has) surely realize this as well. The solutions I've seen consistently lack at least one of the following necessary features:

\- Fast, Deterministic BFT Consensus (mining doesn't work as intended in private contexts[1])

\- Smart Contracts (you need a deterministic language)

\- Signed Transactions (TLS based authentication trades security & audibility for speed)

\- Cryptographic data structure for transaction storage

There are other features you need, but these are the big distinguishers I noticed. While technically you don't even need smart contracts or fast BFT consensus, I believe the tech isn't useful enough to justify the migration costs without them.

Disclaimer: I'm a founder in the private blockchain space[2] and founded specifically to make an infrastructure that addresses these issues.

[1]: [http://kadena.io/blog/MiningInPrivate.html](http://kadena.io/blog/MiningInPrivate.html) [2]: [http://kadena.io](http://kadena.io)

<comment><USER3> Why doesn't the financial industry consider a public blockchain?

How do big financial companies consider resolving adversity like judgments/liens/etc against an settlement based system that's an automaton?

<comment><USER4> Financial companies and banks already trust each other. It doesn't make sense for them to be held under public scrutiny with a public ledger. Therefore, blockchain is a solution without a problem for financial institutions. Their needs are already well met and there's little incentive to change. It worked for a 1000+ years why uproot everything for a buzzword ? Of course they aren't going to change.

<comment><USER5> Actually modern finance has its roots in the coffee houses of London, circa 1650.

[http://www.history.co.uk/study-topics/history-of- london/lond...](http://www.history.co.uk/study-topics/history-of- london/londons-coffee-houses)

These were the meeting places in which the maritime insurance deals were made at a time of increasing maritime exploration by the British. These also evolved to be the places such materials were bought and sold - and in fact the trading pits were (and in some cases are) based on these gathering locations.

It's interesting to visit the London Metal Exchange which although computerised has the trader pit (complete with circular sofa) in which trades are still conducted between traders.

In an interesting turn of fate the very docks that the traders made possible subsequently collapsed with the introduction of container shipping and ships which were too large to navigate the Thames, and pushed shipping ports to the periphery of the country. In an ironic twist of fate these docks then became the Docklands and home to London's financial district.

Right up until Brexit, when the financial centre was destroyed by petty minded little England, ending four hundred years of global outlook for the sake of believing in lies.

<comment><USER6> Nice comment, right up until your final sentence, which just drips with bitterness.

<comment><USER7> If we do end up picking a path to brexit that fucks over the London financial sector, in hindsight his comment will probably look like merely an impassioned statement of fact.

I'm moderately hopeful than we won't, but, well, 2016 has been 2016 and I have a horrible feeling 2017 is going to go "Hey, 2016, hold my beer and watch this!"

</comment></comment></comment></comment></comment></comment><comment><USER4> This probably means that they couldn't find a problem worth solving with blockchain. Not a good sign for blockchain companies in 2017, expect to see more big names ditching blockchains and hype train finally coming to a stop.

I predict we will see a huge hammer come down from SEC & IRS surrounding ICOs in 2017 as well.

<comment><USER8> Blockchain could provide "near-real-time" transactions to speed up the foreign exchange market [http://qz.com/779660/goldman-sachs-wants-to-put-foreign- exch...](http://qz.com/779660/goldman-sachs-wants-to-put-foreign-exchange- trades-on-the-blockchain/)

<comment><USER9> We're talking here about settlement of trades. Trading is already real-time and can't go much faster. It's about saving money in the settlement process.

But the question is if a blockchain system can save enough to justify migrating the whole process. It doesn't seem like it at the moment.

</comment></comment></comment><comment><USER10> Is this so they can build their own Blockchain?

<comment><USER11> The other members was not happy when they found out that GS applied for patents that could affect R3. My guess is that GS thinks they will make more money on their own when they built up a nice patent portfolio in this space.

<comment><USER12> Reminds me of this quote:

"Gentlemen! I too have been a close observer of the doings of the Bank of the United States. I have had men watching you for a long time, and am convinced that you have used the funds of the bank to speculate in the breadstuffs of the country. When you won, you divided the profits amongst you, and when you lost, you charged it to the bank. You tell me that if I take the deposits from the bank and annul its charter I shall ruin ten thousand families. That may be true, gentlemen, but that is your sin! Should I let you go on, you will ruin fifty thousand families, and that would be my sin! You are a den of vipers and thieves. I have determined to rout you out, and by the Eternal, (bringing his fist down on the table) I will rout you out!"

-[https://en.wikiquote.org/wiki/Andrew_Jackson](https://en.wikiquote.org/wiki/Andrew_Jackson)

this bank should have been smashed into a thousand pieces and and scattered to the wind as a condition of the bailout.

<comment><USER13> A rousing quote from a genocidal madman who didn't understand finance and crippled the US economy for nearly a hundred years.

<comment><USER14> Genocidal I can grant, but we are talking about bank policy here. It seems that all evidence says that the 100 years after Jackson were objectively some of the most economically dynamic for the United States, especially in comparison to Europe or any other place in the world during that period. How was the economy crippled?

<comment><USER13> It was my understanding that (and especially absent a central bank) the US economy became prone to frequent and periodic economic panics, uncontrolled periods of inflation and deflation, and general financial instability.

<comment><USER15> As opposed to now, when we have frequent bubbles and bursts and more inflation?

It's hard to say what's better.

<comment><USER16> Both bubbles and bursts were more frequent and of higher amplitude in the 19th century:

[https://commons.wikimedia.org/wiki/File:US_Historical_Inflat...](https://commons.wikimedia.org/wiki/File:US_Historical_Inflation_Ancient.svg)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Reasons for internal resistance to blockchain tech at banks

Regulatory 63%

Compliance 56%

Security 31%

Cost 19%

[http://qz.com/823739/accenture-blockchain-banking-survey- no-...](http://qz.com/823739/accenture-blockchain-banking-survey-no-global- revolution-just-more-consultants/)

<comment><USER17> bingo. and off the tails of [http://www.forbes.com/sites/kellyphillipserb/2016/11/21/irs-...](http://www.forbes.com/sites/kellyphillipserb/2016/11/21/irs- wants-court-authority-to-identify-bitcoin-users-transactions-at-coinbase/) i'd say the Regulatory figure just jumped significantly.

</comment></comment><comment><USER18> the government will not let the blockchain exist in any capacity dealing with financial trsnsactions.

it's used primarily for fraud and speculation which the SEC is actively trying to prevent in financial markets.

</comment><comment><USER19> Anyone have a non-paywall link?

<comment><USER20> Click on the "web" link under the link above the comment section. You can click on the article from there.

<comment><USER21> That did not work for me. WSJ still asked me to login even in google search's AMP page

</comment></comment></comment><comment><USER22> To Read the Full Story, Subscribe or Sign In

</comment><comment><USER23> Paywall

</comment><comment><USER24> Angry rhetoric against middlemen, how predictably simplistic of you.

<comment><USER25> We detached this subthread from [https://news.ycombinator.com/item?id=13010375](https://news.ycombinator.com/item?id=13010375) and marked it off-topic.

</comment></comment><comment><USER8> It's [https://en.wikipedia.org/wiki/Double- entry_bookkeeping_syste...](https://en.wikipedia.org/wiki/Double- entry_bookkeeping_system) (traditional banking) versus [https://en.wikipedia.org/wiki/Single- entry_bookkeeping_syste...](https://en.wikipedia.org/wiki/Single- entry_bookkeeping_system) (blockchain)

I think we've to overcome [https://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt](https://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt) to embrace blockchain

<comment><USER26> Uh, I don't see how the blockchain could be considered single-entry accounting. Every system I've seen proposed still has transactions that credit one account and debit another.</comment></comment>


Ask HN: Best way to learn C - <AUTHOR>

In your experience, what is the best way to learn C? <comment><USER2> "The C Programming Language", commonly referred to as just "K&R", is probably one of the best introductions to a programming language ever written. It's short, clear, and concise — even today, 31 years after its first publication, it should be your first stop: [http://en.wikipedia.org/wiki/The_C_Programming_Language_(boo...](http://en.wikipedia.org/wiki/The_C_Programming_Language_\(book\))

As previous commenters have said, don't worry about the details early on. Advanced pointer arithmetic tricks and the like are to C what zany metaprogramming tricks are to Ruby: dangerous, and almost always a bad idea — except in those few cases where they're exactly what you need. For your first pass, you can ignore anything that's not obvious. You probably won't need it anyway, and you'll pick the truly important things up with time…

Code on UNIX, preferably Linux, using CLang and a simple text editor to start. The Windows APIs are just plain confusing for beginners, and OS X adds some wrinkles to the compilation process that it's better not to worry about in the beginning. Linux isn't as austere as some of the BSDs, but that makes it an easier platform to learn on. Similarly, while GCC is more common than CLang, CLang has a bunch of features — actually useful error messages, for example — that make it much much easier to deal with. Fancy IDEs like XCode and Eclipse have their place, but are more complicated than they should be for "hello, world"-type exploration. All you really want is syntax highlighting…

Since it sounds like you're coming from Ruby, check out the FFI project: <http://github.com/ffi/ffi> FFI makes it reasonably easy to call C from Ruby, meaning you can build scaffolding in a language you're comfortable with while you focus on particular bits of C code. Similarly, it's not worth trying to learn the arcana of the C tool stack — make, autotools, etc — all at once, especially if you already know Rake.

Read other people's code. It's probably better to stick to smaller projects at first, especially reasonably modern ones which haven't gone too far off the deep end with the optimization. I don't have any great pointers here, unfortunately — the only thing that comes to mind is that (C) Python has some really nice, well-commented code and .txt files in its source tree, and that MRI Ruby is horrible. The libev API also strikes me as a good example at the moment — but that's probably at least partially because I've been staring at it so much recently…

Once you're feeling reasonably literate, the next step is to read some algorithms and data structures books. It's both a strength and a weakness of C that you essentially always end up implementing your own; even if you don't end up writing a lot of C code, getting a solid footing (or refresher course) in these will help make you a better programmer. After that, you can probably read code with the best of them. If you're still looking for more, I'd suggest maybe "UNIX Network Programming" by Stevens, Fenner, and Rudoff (a good introduction to the sockets API); or "Modern Operating Systems" by Tanenbaum … really, it just depends on what you're interested in.

-sq

<comment><USER3> Good advice, including using clang instead of gcc.

To amplify on my advice WRT to K&R, if you bounce when you hit the arrays and pointers chapter, try another resource (maybe ask someone for help), that chapter just didn't work for me.

Then again, pointers and recursion are the two basic hard concepts one needs to learn at this level (see Joel Spolsky on The Perils of Javaschools: [http://www.joelonsoftware.com/articles/ThePerilsofJavaSchool...](http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html))

Good luck!

</comment></comment><comment><USER4> Personally, I found the best way was on a Linux system with two books: the Deitels' _C: How to program_ which is a book about programming that happens to use C, and Matthew & Stone's _Beginning Linux Programming_ which is a terrible book about programming but a very good book about programming in the linux environment, from command line utilities to KDE.

I'm assuming, of course, that you don't have a lot of programming experience. I like the Deitel book because it balances discussion of C syntax and good practice with discussion of thins like linked lists and binary trees, and when/why you should use them. Also, the exercises are varied and interesting.

The Linux book, by contrast, introduces the environment and popular Linux libraries very well, but inexplicably assumes that your primary goal in life is to implement an inventory control system, which is about the last thing I'd use C for.

<comment><AUTHOR> Thanks for the suggestions. I use Ruby for whatever I need, but I don't really understand all the lower level concepts. I read an article today on HN entitled "Why git is so fast (or why Java is not as fast as C" and it inspired me to find out why C is so important. I thought the best way to do that was learn about it. Bringing me to my question.

</comment></comment><comment><USER3> Back in 1980 K&R didn't really work well for me beyond the most basic things, the _Lions' Commentary on UNIX 6th Edition, with Source Code_ did the trick, and it will teach you some basic operating system and UNIX things that are still quite useful. A classic, it's a copy of V6 UNIX with (the first really widely distributed one) including a few device drivers with lots of excellent commentary. See [http://en.wikipedia.org/wiki/Lions%27_Commentary_on_UNIX_6th...](http://en.wikipedia.org/wiki/Lions%27_Commentary_on_UNIX_6th_Edition,_with_Source_Code) for online copies.

The best reference manual is _C: A Reference Manual_ by Harbison and Steele, [http://www.amazon.com/Reference-Manual-Samuel-P- Harbison/dp/...](http://www.amazon.com/Reference-Manual-Samuel-P- Harbison/dp/013089592X/)

If you like Guy Steele style language reference manuals (e.g. Scheme, Common Lisp, Java) you'll like this; they wrote it for the CMU compiler spinoff Tartan Labs so there would be a rigorous reference.

Bluesmoon's suggested books are also excellent.

</comment><comment><USER5> <http://www.reddit.com/r/carlhprogramming/>

Carl is seriously awesome.

</comment><comment><USER6> <http://phy.ntnu.edu.tw/~cchen/ctutor.pdf>

A little dated, yes, although I guess dosbox and turbo c would help with running the examples. But still one of the best beginner C tutorials ever. His explanation of pointers alone is worth the read.

</comment><comment><USER7> read code. if you don't understand a function, read it's man page. if you don't understand a type declaration, use the cdecl command (<http://linux.die.net/man/1/cdecl>) - you may need to install it first. write code. make mistakes, read the docs, fix mistakes.

If you already know one procedural programming language, picking up another isn't that hard. Don't worry about the hardcore internals - you'll pick that up over time. Read books like the "Practice of Programming" and "The Elements of Programming Style".

</comment><comment><USER7> FWIW, when I taught network programming many years ago, I asked my students to write an SMTP or HTTP client in C. It's fairly simple to do, so think of it as an exercise.

</comment><comment><USER8> Start reading code. Every day, every free moment. Find an app in Linux which you enjoy using or think would be hard to write. Read it from main() to exit().

<comment><USER9> I'm not sure I'd suggest this way, but if you do…

Choose something relatively self contained so you don't spend all your time trying to understand the libraries. Once you understand the language and its idioms then you can worry about the libraries you need.

</comment></comment><comment><USER10> Find a mini project where using C is a strength, then try to write it. I'd say, a small project in systems programming or embedded programming.

</comment><comment><USER11> This might be of interest:

<http://publications.gbdirect.co.uk/c_book/></comment>


Tech support of my dreams - <AUTHOR> http://imgur.com/PdFydhQ <comment><USER2> The original post of this comic is: [https://xkcd.com/806/](https://xkcd.com/806/)

</comment><comment><USER3> This would be the greatest tech support feature ever!</comment>


Consider the Golden Mole - <AUTHOR> https://www.lrb.co.uk/v41/n08/katherine-rundell/consider-the-golden-mole <comment><USER2> What beautiful writing. And so wrapped in tragedy.</comment>


Show HN: Using this technique, can save you Time and Money: For Founders only - <AUTHOR> https://www.gox.ai/two-minute-reports/ <comment></comment>


MPEG-2 Patents Have Expired - <AUTHOR> http://www.mpegla.com/main/programs/M2/Pages/PatentList.aspx <comment><USER2> I wonder if this will affect the existence of the Raspberry Pi's binary blob ? I remember Liz Upton saying "[MPEG2 licensing] is a reason we have to keep the blob, unfortunately, or we'd be sued into a smoking hole in the ground by the MPEG LA" on this page: [https://www.raspberrypi.org/blog/a-birthday-present- from-bro...](https://www.raspberrypi.org/blog/a-birthday-present-from- broadcom/)

Also does it mean that the Raspberry Fundation could provide the MPEG2 hardware decoder license key for free ? (currently: [http://www.raspberrypi.com/mpeg-2-license- key/](http://www.raspberrypi.com/mpeg-2-license-key/))

<comment><USER3> I'm actually surprised that that hasn't been cracked yet --- or at least, a quick search didn't find anything (do let me know otherwise!); as we all know too well these days, Google isn't particularly neutral in terms of what search results it wants to show anymore.

That said, the RPi being the closed system it is, it's not surprising that no real hacker/cracker types would bother with it and the community remains mainly docile. But given the publicity and popularity, it is a little surprising.

<comment><USER4> It is cracked. Here's a simple patch: [https://www.reddit.com/r/raspberry_pi/comments/5x7xbo/patch_...](https://www.reddit.com/r/raspberry_pi/comments/5x7xbo/patch_for_mpeg2_vc1_license/)

<comment><USER5> Do you mean that enabling the Pi's hardware decoding of MPEG-2 and VC-1 video files without paying for a license key just requires to patch a single byte with this command ?

cd /boot ; cp start.elf start.elf_backup && perl -pne 's/\x47\xE9362H\x3C\x18/\x47\xE9362H\x3C\x1F/g' < start.elf_backup > start.elf

<comment><USER6> Yes, it seems to patch a licensing function at 0xEC95FD4 [1] to always return 1, by patching the jump at 0xEC95FE2 (that should be only taken for the always-allowed H263 codec) to always be taken, thus always allowing all codecs.

[1] - [https://q3k.org/u/8e3173aef341df726e4f38f30e58417239423250f3...](https://q3k.org/u/8e3173aef341df726e4f38f30e58417239423250f3e44f5b8b79acdc451d1553.png)

</comment></comment></comment></comment></comment><comment><USER7> As an aside, MPEG-LA already moved on, forming other patent pools such as for CRISPR (the gene editing technology).

See their website: [http://www.mpegla.com/main/default.aspx](http://www.mpegla.com/main/default.aspx)

<comment><USER8> Ah yes, the sweet taste of abusing state institutions to hold back scientific progress. First it was efficient video and audio compression, now it will be life saving treatment. Ain't the world such a better place for MPEG-LA existing... (that being said, if MPEG-LA wasn't around, someone else would have formed just as evil a patent tyrant company to act as the arm of big media). MPEG-LA is just a symptom of broken IP law just as much as patent trolls and the Eastern District of Texas getting parks built by global corps are.

<comment><USER9> Without disagreeing I would encourage you to provide an alternative solution to the current (as you describe) broken system.

The system was put in place to protect us, if it isn't serving its purpose we need to be more objective and declare how it could be better implemented.

<comment><USER10> Abolish it entirely.

I'm not really kidding. I think that evidence that patents are beneficial in _any_ field is lacking.

Alternatively, a few major reforms would help. For example:

1\. Decrease patent terms to just a few years in most fields.

2\. Make it clear that math, in any form, is not patentable. Codec patents, for example, should never have been valid.

3\. Eliminate submarine patents. Specifically, require patent holders to notify infringers of their infringement in a timely manner. If you know or should know that my specification, technology, or product is covered by your patent, you must tell me what patent covers it and why. If you give me a list of 700 patents that "might" cover it, you get some appropriate penalty. If you fail to notify me, your patent no longer applies. If my infringing technology is public _and_ you fail to publicly disclose your patent, you cannot enforce your patent against anyone who infringes it using my technology or a derivative thereof. By "should know", I mean that, if an attentive participant in whatever market I'm in would have known of whatever details of my technology infringe on your patent, then you "should know". Even if my technology is still under development by a standards body.

#3 is a big deal. It means that owning and maintaining a patent is a bit expensive. It means that, if you patent some incomprehensible detail that might apply to future technologies, then you _must_ tell people that their future technologies would infringe. This, by itself, would likely blow away most codec patents. And AOM would be spared the expense of their patent search. Simply publish AV1, wait the prescribed time, and AV1 is in the clear.

4\. Covenants not to sue and blanket licenses do not waive requirements under #3. If an AOM member wants to give a blanket license of their whole portfolio under defensive terms to users of AV1, they still need to disclose how AV1 infringes their patents or they can't use those patents defensively in the future against AV1.

<comment><USER11> I agree with some of this, and I think most software patents are garbage and should not be legally permitted. But I'm stuck on codecs. Codecs are real, as real as a bag of apples. And they're complicated, extremely specific (and necessarily formally specified), and the result of a lot of work, sometimes brilliant work.

If there's any software that has a chance of convincing me of patent worthiness, it's probably codecs. Or at least the co(d) part. I'm muddled on decoding because it seems like just figuring out how to read something should be treated differently.

Is the term 20 years now? That's too long for any kind of software, even codecs. I think an important principle that should influence the design of patent law is the rough likelihood of the invention being made by others, or qualitatively matched or exceeded by others, in various spans of time. (Of course you have to model this assuming certain patent laws in place, as well as no patent system at all, to really do it right.)

I despise patent predators, née trolls. But MPEG-LA isn't a good example for me to work with because I think they're actual companies that do stuff – make movies, Blu-ray players, TVs, etc. Some of them invented DVD and Blu-ray probably, and evidently they invented MPEG-2, which I remember was viewed as pretty slick and technically awesome when it came out (as were DVDs – I remember VCRs and boy did they suck).

But 20 years? Yeah, no, this stuff should be 10 at most. I mean, would it hurt us to have 10 year terms on codecs? Would we get lesser quality codecs? I doubt it. HEVC is pretty amazing though, and it's clearly better than VP9, so it looks like the proprietary stuff beats open source in this field (tiny sample, yes, but there are many more examples available). Daala seemed to be going nowhere. Mozilla didn't seem to be able to finish it. Now some companies have teamed up for AV1, FOSS. I guess we'll see how good it is compared to HEVC.

<comment><USER12> > HEVC is pretty amazing though, and it's clearly better than VP9, so it looks > like the proprietary stuff beats open source in this field

This is just a restatement of the fact that codec patents exist.

When the state of the art advances because of improvements A to Z and A to W are in the public domain, the proprietary codecs are still "better" because they use A to W plus X, Y and Z which the open source codecs can't use because of the patents.

The real question is whether the patented things would have been invented without the patents. But the answer is probably yes, because the industry is full of huge companies like Google and Netflix that directly benefit from improving compression regardless of whether they can sell it to anyone else.

<comment><USER13> AV1 is better than HEVC, is not patented, and was invented by companies interested in conserving bandwidth out of need. So yes, things get invented without patents.

<comment><USER14> >AV1 is better than HEVC, is not patented,

Being royalty free does not mean it is not patented.

<comment><USER15> IIRC they did patent it to use as a threat against trolls, but promise never to enforce it against fair users.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> This is a striking example of the need to shorten software patents; if we really must have them at all.

<comment><USER17> I'd rather the patent system be abolished than have the current patent system. Same applies to Copyright.

The entire state of IP with the DMCA is just abysmal.

<comment><USER18> Be careful, you just might get what you wish for.

There definitely are major problems with the patent system and with copyright but without them there would be other problems taking the place of the ones that we have now.

Reform is the way to go, and reform - good reform anyway - is hard to get right.

<comment><USER19> Is there any evidence that claims of innovation and creativity shutting down without patent and copyright protection are, in fact, correct?

It seems like the purpose of these supposed protections is bent so far out of share that the threat of "getting what you wish for" carries no weight.

Some media might shrink, but other media would grow to take it's place. Neither patent now copyright "ownership" are natural rights like real property ownership. In both philosophical and practical terms, dialing them down to zero and then seeing how much we really need of them might be the best way to find the optimal level.

<comment><USER18> Realize that for instance the GPL is based in ... tadaa ... copyright. And there are a lot more examples like that.

If you start throwing rocks that large you have to be very careful about unintended consequences and I'm not sure that I oversee the complexity of it all to the point that I think that a 'let's get rid of it all' solution won't create it's own particular kinds of problems and until we have feel for the kind and magnitude of those problems being careful sounds like a good idea to me.

For copyright I would propose slowly rolling back the length bit by bit until we hit some kind of lower limit of practicality, for patents I would start with abolishing software patents and replacing them with copyright, then reduce the time limit on the remainder.

And there would have to be something a bit more drastic with respect to patent trolls. It would be a reasonable start and it leaves the door open to eventual total abolishment if that turns out to be feasible and desirable.

<comment><USER19> "If you start throwing rocks that large" is a terrible argument. It is the same as arguments about keeping treatments for which there is no clinical evidence just because money, reputation, and public morality might at stake in varying degrees. If overreach in patent and copyright law is a drag on the economy, which it very likely is, it's costing not just freedom, but it amounts to the theft of wider prosperity for the benefit of the connected. Just how much worse than that do you think what are here completely vague and unspecified "unintended consequence" going to get? Be specific.

<comment><USER18> If you read the first sentence of the comment you replied to you will see that I gave a very specific example.

Copyright and patent law are cornerstones of the economy, removing them outright without due consideration of the consequences is simply irresponsible.

A measured approach is advisable and doing this step-by-step would seem to be the wiser course of action. If you feel that radically dropping both copyright and patent law from one day to the next is the way to go then the onus is on you to show that this will not have unintended consequences, not on me.

So: be specific.

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> An obsolete movie format, but a large amount of stored media exists in this format so ultimately a win.

I would like to say something to the effect of there being just a tiny bit less rent-seeking in the world today, but I'm sure by tomorrow the seeds will be planted for millions more rent-seeking opportunities in the future.

<comment><USER21> Most digital TV broadcasts use MPEG-2, don't they?

<comment><USER22> DVB-T2 can use a variety of codecs.

From 2022 some European countries (Germany, Italy, Czech Republic, Slovakia) will pass their broadcasting system to DVB-T2 with H.265. Since January 2017 new TVs must support HEVC decoding.

Sadly, no AV1...

<comment><USER23> Do wonder how many will be left hanging high and dry with that transition.

<comment><USER24> In the US transition to digital transmission, nobody was left high and dry. Perhaps mildly confused or inconvenienced by the need to get and setup a government subsidized converter box. Doubtful this would go any different for the above.

</comment></comment></comment></comment></comment><comment><USER25> For those wondering about MPEG-2's applications (compared to, e.g., MPEG-1 and MPEG-4), it's the primary standard used for DVD-Video. Blu-ray makes some use of MPEG-2, especially for the FBI warnings, but it's not too popular for the actual features. It's also used in ATSC and DVB broadcast video, but I'm not sure how popular it is compared to MPEG-4.

<comment><USER26> On reading the title, I was kind of hoping that it meant that all DVD player creators would be free to stop imposing the artificial restrictions present on many DVDs, like region locks, "unskippable" tracks, etc. But it looks like the primary driver of those restrictions is actually the DVD Copy Control Association, which I'm guessing holds a different set of IP and legal agreements than MPEGLA does.

</comment></comment><comment><USER27> Software patents shouldn't exist to begin with.

<comment><USER28> I'm inclined to agree with you, but why?

<comment><USER29> Patents were designed so that companies would contribute to public knowledge instead of keeping everything as a trade secret. The idea was that they would be afforded increased security for a few years, in exchange for the idea becoming public afterwards. The time range was set to be practical for the industry.

The problem is, over the past few years software has been moving way too fast for the standard patent timeframe. Patents on software last longer than it would take for a competitor to re-invent a trade secret: the result being that they actually _slow down_ progression.

Ideally, we would adjust the term of every patent grant to match (or scale with) the difficulty that a competitor would have to go through to re-invent it. An approximation to that is having different patent durations for different fields (shorter for software), and an approximation to _that_ is not having software patents at all.

<comment><USER30> > The problem is, over the past few years software has been moving way too > fast for the standard patent timeframe.

Two thoughts:

\- Why does this mean that they should be eliminated entirely? Why not revise the timeframe?

\- Isn't this argument applicable to almost all modern patents, whether software, technological, or otherwise?

<comment><USER31> I favor the elimination of software patents but if we must have them then things like MPEG are one of the few examples of software that probably should qualify for patent protection. The idea that no one would research new video codecs without patent protection is laughable - OS vendors, network operators, et al are highly motivated to do so regardless of patents.

Unfortunately making software non-patentable isn't likely to happen anytime soon. Perhaps we should fight for some key changes like reducing the length of software patents to something reasonable like 5 years.

I'd also like to see an "industry standards" exception to patents: Any implementation of an industry standard created by an international standards organization, working group, or similar authority is exempt from patent suits. Royalties are fixed at some rate determined by the board (but no more than x% of sales price or flat $y per item indexed to inflation) and go into a pool. All patents in the pool are paid out of it. If you think your patent covers something in the standard your only option is to submit your patent to the pool, then you get a cut of the royalties corresponding to your contribution (again as determined by an impartial board). Any fights over standards-related patents would be confined to the board of experts, the royalty rate they determine, and the allocation to each patent. The law would specify that changes to royalties (even court-ordered) can only go into effect once per year and only apply to products manufactured after that date.

Such a scheme would encourage everyone to contribute to open standards because it would be the only way to ensure you can avoid patent lawsuits.

The one wrinkle is open-source software. I was trying to come up with a workable system. All I landed on was no royalties required for open-source software or end-users of such software, but if a manufacturer uses such software in a product they sell then they would still be subject to royalties.

<comment><USER32> This all just sounds too complicated. Why not just require that any technology developed for an industry standard, ratified by an international standards body, be given away, with patent rights disclaimed? I honestly don't see why we should allow people to make money off of foundational things like this. It creates perverse incentives.

As you point out, the lack of patent revenue here isn't going to hurt innovation; I agree that it's laughable that the lack of patent protection would stop or even slow down research here.

</comment></comment></comment></comment></comment></comment><comment><USER33> I think software patents are unfair because companies claim monopoly or a license fee. Patented software will be built on previous software work so they are not unique pieces of inventions that stand on their own shoulders.

Shortly software patents wants sole right use while building on others software work. Claiming fees for previous inventions.

Software should compete on skill of implementation and not legal departments. Thus patents can also be viewed as anti competitive. Whereas big companies with legal departments/ patent trolls can go after smaller competitors.

</comment><comment><USER34> Does this mean that Electron issues with MPEG codecs are non-issues now? I mean the discussion here [https://github.com/electron/electron/issues/633](https://github.com/electron/electron/issues/633) and [https://github.com/electron/libchromiumcontent/issues/174](https://github.com/electron/libchromiumcontent/issues/174)

</comment><comment><USER14> The page wasn't very clear, is it Mpeg-2 Video ( H.262 )? Or All Mpeg-2 ? Because AAC is part of Mpeg-2 as well.

And just wondering, is it possible to extend H.262 to support 4K resolution, different size Microblock, call it something else rather then Mpeg-2 without hitting any patents infringement?

</comment><comment><USER35> The statement: "patents remain active in Philippines and Malaysia after that date" worries me...

</comment><comment><USER36> Except in Philippines and Malaysia?

</comment><comment><USER37> I looked at the page count on the PDF and thought; 25 pages of patent references for MPEG2, that's insane. Then I looked at the list of patents for HEVC(H.265)...

</comment><comment> Paul-ish Why doesn't the "original title" rule apply here?</comment>


Low-cost video chat robot - <AUTHOR> http://hackaday.com/2011/02/09/low-cost-video-chat-robot/

<comment><USER2> I've posted mine before but in stories that didn't get many views. Putting up a build log has been on my todo list forever...

Mine is based on the Asterisk open source pbx and a Grandstream video phone for the real-time 2 way video. It is controlled via DTMF and doesn't require a computer to operate, just a phone. Full telepresence if your phone is a SIP phone that does video.

Also cost about $500 to build but probably took me much longer as I built my own drive system and motor controllers.

Here's a video of my homebuilt telepresence bot in action : <http://www.youtube.com/watch?v=uMZkd8YMgzw>

For what its worth, I don't consider hacks like these "Anybots killers", more like homage to heroes of mine. I'm a big fan of TB and the Anybots team and can't wait to see what they come up with next.

<comment><AUTHOR> I admit guilty of using the phrase "Anybot killer" in the title as link bait. I did it to catch attention. I did not mean any disrespect to Trevor or the Anybot team. As some one who is also interested in robotics, I'm actually a great big fan as well. I would love to know what their thoughts are of this and the seemingly emerging trend that it is getting easier and easier to DIY robots out of commodity components that can almost rival their commercial counterpart's functionalities at 1/30th the cost.

</comment></comment><comment><USER3> This is the same guy that made the awesome wiimote 3d goggles (TED talk here: [http://www.ted.com/talks/johnny_lee_demos_wii_remote_hacks.h...](http://www.ted.com/talks/johnny_lee_demos_wii_remote_hacks.html) )

EDIT: Added TED talk link.

<comment><USER4> Johnny Lee has put together and shared some amazing work. I remember really enjoying his Procrastineering articles.

<comment><USER3> He was my hero back when I was in grad school.

I could never figure out how he funded his experimentation. I had to beg for 50' ethernet cables (unsuccessfully, I might add). A set of wiimotes would have been completely out of the question. Maybe they got better stipends at CMU and he bought his gear on his own dime.

</comment></comment></comment><comment><USER5> Stop using the term "killer." Please. I see that this is ztan's second submission, so it seems in appropriate to blame him, but for the good of the community I refuse to upvote sensationalist linkbait titles. The article had a title, it was "Low-cost video chat robot," and that is appropriately descriptive.

<comment><USER3> Whoa... what's with the title edit? That's a far cry from "[refusing] to upvote". This is borderline admin abuse.

</rant>

People on HN are likely to have heard of the Anybot due to its connection to YC (one of AB's founders being a YC partner). Referencing it in the title is perfectly relevant, since many on HN can relate to the term "Anybot" but few can relate to "video chat robot" (which, incidentally, sounds like some sort of automated chatroulette client).

</reason>

[edit it's -> its]

<comment><USER5> _Whoa... what's with the title edit? That's a far cry from "[refusing] to upvote". This is borderline admin abuse._

Which admin are we abusing? And, why are you accusing me of rewriting an article title when I'm not an admin? More importantly, it is perfectly reasonable for an admin to edit a title to be less sensational.

 _(Some <reasonable> other stuff)_

I specifically said that we shouldn't call anything "* Killer". Not sure what you're going on about.

</comment></comment></comment><comment><AUTHOR> For some reason my link bait-ish "Introducing Johnny Chung Lee's $500 Anybot killer" title was changed (censored?) to the current one and I can no longer edit it.

</comment><comment><AUTHOR> For those who don't know, Anybot is YC founder Trevor Blackwell's other (main) company. They are currently shipping a telepresence bot for $15000. (And my understanding is that the bot does not currently support two way video?)

Also, Yuri Milner used the Anybot for the Startup Fund announcement to all the founders in the YC office.

<http://anybots.posterous.com/>

</comment><comment><USER6> It's a good demonstration that the balancing complexity of the Anybot is really unnecessary in a domestic kind of situation with a flat floor. I expect telerobots to become quite commonplace, and as this video shows quite well building one is only a weekend project now, whereas in the past it would have been more complicated and expensive.

</comment><comment><USER7> This is much better than the $15k Anybot. I can't figure why they put such a tiny screen on the Anybot. The face on the screen needs to be visible from a distance after all. Ideally the screen should be big enough to fit a face at 1:1 scale. Or was the design goal "one-way" telepresence?

<comment><USER8> QB is a telepresence robot, the goal is to transport your presence to somewhere else. The best way to do this is by creating an "avatar", which is a symbol for someone being remotely present. When you get closer to it, you can see exactly who is being represented by this avatar. If you think of it from the social robotics and symbolic interactionism (sociology) point of view, it is one of the most beautiful TPR solutions out there to date. Hope that helps illuminate your question! :)

</comment></comment><comment><USER9> It always amazed me that Avaya, Cisco and other Telepresence companies have not built one of these.

<comment><USER6> Yes. All of the technology hurdles had been overcome five years ago, and I've been ranting about the imminent arrival of practical consumer telerobots for quite some time. Today the technology is a no-brainer, as this video shows. There are also completely untapped telerobot business models which are just waiting for the hardware.

</comment></comment><comment><USER10> We have an anybot, and it's worth it for the levity it brings the office. You should also follow our robot on twitter.

<http://twitter.com/#!/raelbot>

<comment><AUTHOR> Do you think this $500 DIY bot would give a similar level of levity compared to the $15000 Anybot?

<comment><USER6> If the floor is flat then yes, probably. The main advantage of the balancing mechanism is in moving over bumps. The Anybot is so expensive because it's a first generation kind of device manufactured in low volumes, and probably uses high end cameras or PLCs. $500 is a more reasonable cost, and I expect that if a large company mass produced them then the manufacturing cost would be much lower (similar to Kinect Vs other laser/TOF sensors).

</comment></comment></comment><comment><USER11> this was posted before, but didn't get much attention:

Robot Orders a Scone in Mountain View, Ca. <http://www.youtube.com/watch?v=mz4FshiMu3U>

(yes, anybots...)

</comment><comment><USER12> Soon after an iPad2 with camera arrives, I'd expect similar units to be available as an iOS-dock accessory.

</comment><comment><USER13> Somebody call Anybots. There's a new resume for them to review.</comment>


What makes you hire or no hire a candidate for a software engineering position? - <AUTHOR> Just out of curiosity, or maybe a valid question that a lot of people might be interested? So what makes you decide to hire or no hire for a engineering position?
I will just tell my personal experience both as a interviewee and a interviewer:
* As a interviewee:
Since you probably would never get real feedback from interviewers (due to some policies or whatever), my feel of the interviews that I was rejected:
1.  interviewers caught some of your coding bug, even though you fixed it;
2.  you think you will discuss/communicate with the solution that interviewer wanted, but maybe the interviewer is expecting to see without too much discussion (hints), you came up something s/he wants or better surprise him/her. If not, you will be probably rejected. 3. Maybe the interviewer just does not like you (chemical not right, etc). No matter how well you did, someone can always pick up something to say you're not "good" enough for the position. This can be subtle, and you as interviewee, just can never know.
* As a interviewer: From what I recalled, I will hire the candidate if s/he 1. Does some amount of workable coding 2. Even with some hints, the optimal solution is brought up and implemented.
The reasons I rejected candidates: 1. too much unnecessary talking, no real code. or cannot write any sensible code. 2. with a lot hints, he/she can not write up standard algorithm routines
3. border line candidate, in the sense that there is some team member just does not like the candidate and vote for no hire and I did not champion for him/her.
What are your possible reasons of hire/no hire? or "feel" of being accepted/rejected? <comment><USER2> This is a very hard question actually. Interviews are pretty subjective process. It will be very hard to summarize what are the possible reasons to hire/reject candidates.

Aside from answering the author's question, I would propose the onsite in- person interview should be video recorded, conducted by one interviewer. Then later replaying in the hiring committee or what so ever, and vote for hire/no hire. That could eliminate any discrimination/bias/subjective/personal feedback from interviewer and stop interviewee from being accusing any accidents during the process.</comment>


Denormalizing our data helped us scale - <AUTHOR> http://dev.theladders.com/2013/07/denormalize-the-datas-for-great-good/

<comment><USER2> This could use a retitle. For me, denormalize has a very specific meaning -- take multiple DB tables and collapse them.

This article is describing something very different. and a good read.

<comment><AUTHOR> Interesting, what would you suggest?

</comment></comment><comment><USER3> We had similar results when switching over to Couchbase. Great read.

</comment><comment><USER4> Excellent read!

<comment><AUTHOR> thanks! It was a lot of fun to work on and write up.</comment></comment>


Blockstack: A New Decentralized Internet [pdf] - <AUTHOR> https://blockstack.org/whitepaper.pdf <comment><USER2> Bitcoin network hashrate is currently around 550.000TH/s[1]. An asic miner with 4.73TH/s claimed capacity can be bought for $500 [2]. With a budget of less than $100M you could have similar capacity as current bitcoin network.

One thing that bothers me a bit is that it is hard to tell how decentralized these technologies really are. Especially when you go into direction where commodity hardware becomes useless and you need specialty equipment to do meaningful mining, there's a risk that the power falls into few hands.

This is probably not an issue for bitcoin, where the incentive to cheat would be to just gain monetary profits. In some other blockchains, serving different purposes things might be different. Governments with their deep pockets might be interested in building up capacity to be able to perform covert ops.

[1] [https://bitcoinwisdom.com/bitcoin/difficulty](https://bitcoinwisdom.com/bitcoin/difficulty) [2] [https://www.bitcoinmining.com/bitcoin-mining- hardware/](https://www.bitcoinmining.com/bitcoin-mining-hardware/)

<comment><USER3> Run the math for Ethereum and it's even crazier. Something like $15m in cloud computing resources and you can control the eth network valued at >$30 billion. For this reason I can't imagine "shorting" these cryptocurrencies will be possible any time soon as the incentives for attack would be too great. The price asymmetry could resolve in a number of different ways and it will be interesting to watch how it unfolds.

<comment><USER4> > I can't imagine "shorting" these cryptocurrencies will be possible any time > soon

You can short Bitcoin, Ethereum and many other cryptocurrencies on a number of exchanges right now.

</comment></comment></comment><comment><USER5> Thanks to the power of middle-out compression.

<comment><USER6> Indeed, that and the delta in mean device efficiency thanks to the ubiquity of smartphones.

</comment></comment><comment><USER7> can someone explain why anyone would need this? just like bitcoin, the time you really need it is to avoid government oversight or censorship. if successful, wouldnt we all see the black market thrive while all regular use cases for the internet would continue on the regular distributed internet?

<comment><USER8> Imagine if Facebook was decentralized.

You could own your data.

There would be competition to provide the best ui. The best experience.

Anti-features wouldn't exist.

One company wouldn't control how a billion people communicate with each other.

<comment><USER9> Imagine if Facebook was decentralized:

Your grandmother would have to run her own node!

Your bandwidth at home would determine if your profile was reachable. If something you post goes viral, just imagine the fun your family will have as their available bandwidth slows to almost nothing!

There might be competition on providing a nice "experience" but you would either pay for it, have it be ad-supported or it'd turn in to a Linux-desktop shitshow.

Imagine how much more fun spam filtering could be if it didn't have a dedicated team but it would just be you (or your grandmother) going up against the legions of determined spammers.

<comment><USER2> Email is decentralized, yet I don't need to run my own SMTP server (but if I wanted I could do that).

<comment><USER9> Indeed, and so can I. However, there is a huge crowd outside of HN that is neither capable of running their own servers, nor are they remotely interested in learning to do so.

Also, I would argue that in practice email is very much centralized, with a few large providers that manage all the complexity for their users (such as spam blocking and maintaining servers).

<comment><USER3> The point is that social networking could become a decentralized protocol similar to email. Imagine browsing something that looks just like Facebook but underneath each friend's profile it would say "Hosted by Facebook" or "Hosted by Microsoft" or "Hosted by [Startup]". It's feasible technically although Facebook's closed network effect is extremely strong.

<comment><USER10> As long as our legal structure allows walled gardens and enforced incompatibility, that's what we'll get.

We need to look at websites as service providers/data carriers akin to telcos. The government has issued a slew of regulations to prevent artificially strong network lock-in with telcos, mandating wireless number portability and certain levels of device compatibility.

We need to recognize that Facebook is not a content creator as such, but a neutral carrier who transmits the data generated by its users, and that the users need their freedom and mobility to be respected if we're going to have a free and competitive market in cyberspace. There is no good reason that Facebook or Google should have such excessive unnatural ownership and access blockage rights.

n.b.: I say this as someone who is very conservative politically. Intellectual property is a government-granted monopoly that we have let run far afield.

I don't resent property ownership in the slightest, nor do I resent profit- making. I _do_ resent an oligopoly exploiting regulatory capture and public technical ignorance (cf. Clarke's Law) to pass laws that allow them to arbitrarily and brutally crush innovative and competitive entrepreneurs.

<comment><USER11> Facebook is not mandatory, you don't have to use it, the government doesn't need to get involved.

<comment><USER10> The government _is_ involved. The CFAA and similar laws allow Facebook et al to crush anyone who attempts to break their stranglehold. That's exactly the problem. Alternatives to Facebook that may have otherwise been wildly successful were sued out of existence this way.

The government has given Facebook offensive weapons against competitors. They either need to respond by giving the consumer defensive weapons against corporations whose zeal for intellectual property seeks to block or subsume the consumer's access to the marketplace, or they need to remove their interference all together.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> To address a couple of concerns:

\- "running your own blockchain based messaging/mai server would be a nightmare because of spam". I think spam can actually be solved by using blockchains: given the low conversion rates in spamming, putting a small cost for sending a message can discourage spammers. Take this even further: put a variable cost to it - a higher cost for the first messages which would drop exponentially when the recipient engages in the discussion, taking it toward 0. I've never heard of this before, maybe I'll make an ICO to implement this. If you're doing it before me, I'll gladly accept some of your issued coins (my non blockchain email is in my profile)

\- "blockchain apps are not scalable". Indeed, given the current algorithms they're not scalable. But it's about web scale scalable. How many apps need to be web scale level scalable and what about the rest 99% of the others? Also when we'll have a functional implementation of lightning network this might be a solved problem.

<comment><USER13> > Also when we'll have a functional implementation of lightning network this > might be a solved problem.

This is unrealistic. With 1MB blocks, around 2 million people can deposit/withdraw into payment channels once per week. Even using the best- performing/most-insecure layer 2 protocol ("deposit your bitcoins with me and I'll send them anywhere"), no more than 2M users would be able to join/leave the payment network per week. The Lightning Network is _much_ more restrictive than this, since they aim for trustlessness, which further decreases performance (particularly for merchants, who want to receive large sums from a lot of people).

Unless LN aims to create a separate cryptocurrency (where you can deposit into the network but not withdraw), there's no way their trustless model can perform better than a trustful one. And if they aim to create an altcurrency, then it's not a Bitcoin payment network, and there's little reason to do it on top of a blockchain in the first place. In that case it will be like a Bitcoin side-chain that you can't withdraw from, so you're basically converting your bitcoins into this other coin, without being able to go back.

Fundamentally, the Lightning Network doesn't scale because it models global payments as anyone-to-anyone (like Bitcoin), when in fact payments flow from billions of consumers to millions of retail merchants to tens of millions of producers who pay out wages to their employees (consumers), after which the cycle repeats. Any payment network on top of Bitcoin needs to take this into account, in order to scale, since Bitcoin's throughput is so limited to begin with.

As an example, imagine you're a merchant with a $100k monthly turnover. Using the Lightning Network you, as the merchant, would need to deposit $100k into a payment channel at the beginning of the month, in order to be able to receive this amount, and this is only if the LN is highly centralized (one hop between you and the payer). For every additional node between you and the payer, an additional $100k would need to be deposited, sitting in a payment channel ready to send. This just doesn't scale.

LN is a decentralized network whose performance _decreases_ for every node that joins it. For every additional hop your payment crosses, someone needs to deposit bitcoins into a payment channel, which both costs capital and increases the risk that this channel is exhausted and you need to touch the blockchain (expensive). A 10M-node LN would be able to send around a total of 2.1 bitcoins (remember, all nodes need to deposit bitcoins into a payment channel, and there will only ever be 21M bitcoins), and crossing 10 hops would require, on average, touching the blockchain every time 0.21 bitcoins are sent.</comment></comment>


Microsoft Cross-browser Test Results Summary - <AUTHOR> http://samples.msdn.microsoft.com/ietestcenter/#html5 <comment><USER2> For all the misrepresentation of facts and existing browser inconsistencies i'm just happy that microsoft has apparently started caring about the browser again.

<comment><USER3> They may care about the browser, but I fear they care about regaining market share more than anything else. They had a firm lead for a long time, but more and more I see sites making support for non-IE browsers a top priority and the IE market share is shrinking.

If Microsoft uses tests like these to try to divide the browser market by essentially defining its own spec, I think it will be bad for the internet at large.

<comment><USER4> To be fair, these tests were submitted, and apparently developed with the W3C. They aren't MS-only tests. Merely tests that needed to be developed anyways. At least, that's what I see. Yes, these are tests where MS succeeds. That doesn't mean they are less worthy. Rather, they are just more cases that the W3C felt needed to be tested.

</comment></comment></comment><comment><USER5> While this is obviously tailored to things that microsoft is doing I wouldn't be surprised if these features end up in the hands of actual users through other browsers first.

Microsoft's upgrade policy for IE is extremely conservative which gives the other browser vendors plenty of time to add in the features and release them to people before Microsoft does.

<comment><USER6> True. But still good if only by pushing others.

</comment></comment><comment><USER7> How does it feel to have a company other than Google create tests specifically designed for the features they implemented?

<comment><USER8> Isn't ACID3 independent? If it is why does IE do so badly?

<comment><USER9> Fact: IE9 Platform Preview #1 released six weeks ago scored 55/100, IE9 Platform Preview #2 released today scores 68/100 on ACID3.

<comment><USER8> Thought this [http://arstechnica.com/microsoft/news/2010/03/ie9-standards-...](http://arstechnica.com/microsoft/news/2010/03/ie9-standards- and-why-acid3-isnt-the-priority.ars) was interesting. It paints Miscrosoft as a company that aims to thoroughly support standards, although what they may be doing is looking for under-specified parts of the specification and defining the standard in those areas.

</comment></comment></comment></comment><comment><USER10> Obviously Microsoft only presented tests that they have passed and at least one other major browser has failed. Still this is free QA for the other browsers so there is not much room to complain.

<comment><USER7> Not true: Call removeAllRanges() to clear the selection pass pass pass pass pass

They just submitted tests for the features they were working on. Some of which, happen to work on all other browsers as well.

<comment><USER11> Actually, if you look at the original tests they submitted it was 100% for IE across the board, and if I recall correctly (since they've just replaced the old page) no other browser passed any subset 100%. Clearly they cherry picked the tests, it makes no sense that every test they wrote just happened to pass at that point in time. Either they didn't publish the tests that IE failed, or they intentionally stopped writing new tests some point before they went public to give them time to pass everything fully.

Of course after they published these results it was pointed out that a) the test were wrong and so other browsers were marked as failing, even when they actually passed, and b) IE was getting things wrong but getting marked correct because the tests were wrong. (That's not even touching the fact that they don't even indicate that Firefox and Webkit would pass a whole heap of the tests just by changing a single string in their code to check a different prefix)

They've since scrambled to get their column back up to 100% pass rate and that's why they've updated this page with their new version. Pretty weak all round.

<comment><USER7> They didn't cherry pick tests. These weren't written by someone else. They wrote tests for the features they decided to implement. Why would they work on tests right now for features they aren't implementing now?

<comment><USER12> I am pretty sure they prefer to implement features for tests competing browsers fail.

<comment><USER13> good joke :)

<comment><USER12> Come on. Given the option, between two equally complex features, it's preferable to implement the one your competitors got wrong because it offers the more bang for your programmer buck.

<comment><USER11> This is why the Google Sputnik test results not only shows what percentage of tests pass, but also groups browsers together based on which tests they pass in common (i.e. a crude measure of interoperability).

<http://sputnik.googlelabs.com/compare>

Guess which browser is the outlier in both dimensions?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Just to be clear, these are tests created and submitted by Microsoft themselves, so it's not so surprising that IE9 passes all of them as it otherwise might be.

</comment><comment><USER15> Beautiful, I'm happy for MS to make IE9 comply with all this new stantards. Now, I leave you. I have to spend the rest of the evening trying to make a site to work and render correctly in IE6, IE7 & IE8 (at the same time). :(

<comment><USER16> What about the older versions of firefox, opera, etc...

Wouldn't the users that use an outdated version of Internet Explorer also use an outdated version of an alternative browser, if they had used this browser in the beginning.

<comment><USER17> I don't know about others but I find much less old version of Firefox, safari and chrome than IE 6 users access my sites. It seems (this is only a personal observation) that users of these alternative browsers are more likely to update frequently.

<comment><USER18> I think you're right. Another big factor is also the automatic updates of Chrome and Firefox. IE updates have to go through the windows updates and people tend to ignore those as much as possible.

Another factor about IE6 is that it's only used in organizations and companies where people can't install their own programs, so they don't bother calling up IT (sometimes outsourced IT which is expensive) just to install a browser.

</comment></comment></comment></comment><comment><USER19> Ok they are comparing beta/preview version of IE with stable version or not even recent versions of browsers?

The current beta/dev version of Chrome is 5 not 4.1. The current FF nightly build is 3.7a5 not 3.6.3, the current stable Opera version is 10.6.3 not 10.5.2.

As usual, more FUD from microsoft.

<comment><USER4> Where is the FUD?

These are tests submitted by MS. The declare what they are testing, and what they are comparing against? FUD would be MS saying that IE supports standards better than the latest competitors browsers. They aren't saying that. They aren't even implying that. The only way this is FUD is if you selectively choose to be daft about the entire thing and ignore vast portions of the page. It would be if I was selective about your post, and assumed you said:

"I ... Am ... FUD"

Edit: I should note, they are even pretty clear about what they are comparing: "The first table is a summary of the test results with the May 2010 IE Platform Preview and each of the major shipping browsers running on Windows."

They don't pretend to test the latest beta/alpha/nightly release of the browsers. Merely the latest shipping.

</comment></comment><comment><USER20> why all this hate? maybe they are trying to comply with standards, maybe it will help, maybe we will not have to work twice to align the f __CSS on IE? At least this is their formal goal and these are very good news.

<comment><USER21> It's not a standard if your tests are designed to match what your browser currently does.

The real tests of compatibility are those like Acid3 that are designed to fail all browsers equally. This one is clearly designed to fail all non-IE browsers.

<comment><USER22> I don't think they designed them to fail non-IE browsers, so much as they designed the tests for things they had already implemented in IE 9.

I think they could have avoided most of the criticisms in this thread if they had simply added a note saying something like "We made sure that IE 9 passed these tests before submitting to W3C, which is why IE 9 gets perfect marks below. Note also that these tests do not cover all of the HTML5 specification." (etc.)

Having IE9 at 100% on every test with no explanation really makes it look like they're trying to put one over on the reader.

</comment></comment></comment><comment><USER23> How many important W3C tests pass on windows XP running IE9?

None... (IE9 wont run on XP)

How many important W3C tests pass on windows XP running Firefox 3.6?

Most...

-

And according to Wikipedia as of April the XP has a OS market share of 52.94% This value is the median of 7 different data sources. [http://en.wikipedia.org/wiki/Usage_share_of_operating_system...](http://en.wikipedia.org/wiki/Usage_share_of_operating_systems)

-

What this means is that by Microsoft refusing to make IE9 available for XP, web developers often can't take advantage of CSS3 or HTML5 and still reach even 70% of the audience.

[http://arstechnica.com/microsoft/news/2010/05/chrome- continu...](http://arstechnica.com/microsoft/news/2010/05/chrome-continues- surge-as-ie-drops-below-60-market-share.ars)

-

I would tend to agree with pavs that this is more FUD from Microsoft. <http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt>

<comment><USER21> You're missing the bigger, and much more legitimate omission: Windows Mobile 7 is running with IE7. Which effectively means these things won't work their way into WinMo for at least a year after the release of IE9.

<comment><USER24> Since Windows Mobile 7 isn't out yet, I'd like to note that the current version of Windows Mobile's IE is a hybrid of IE6's rendering engine with IE7's JavaScript engine, a Franken-browser no one is ever truly going to support.

</comment></comment></comment><comment><USER25> Has IE suddenly become the most standards compliant browser, or is there some subtlety here that's missing?

<comment><AUTHOR> Well, Microsoft has created their own tests. They argue that tests like Acid3 are testing edge cases and as such are not really useful to test browser behavior in the real world.

What I don't understand is why they don't use the latest Chrome beta to do this tests - e.g. Chrome 5.0.375.29 beta passes all tests for Dom Level 2 Style.

<comment><USER26> > What I don't understand is why they don't use the latest Chrome beta to do > this tests - e.g. Chrome 5.0.375.29 beta passes all tests for Dom Level 2 > Style.

That's a valid question to ask and I'd tend to give them the benefit of the doubt on this. As I understand it they chose the most recent released versions of the other browsers.

If they had of chosen the most recently nightly build or beta versions and a particular test didn't work on that browser but had previously worked, ie it was a regression that would be fixed in the next build, then someone would jump all over them for "cherry picking" their competitors versions to obtain results that flattered IE the most.

Picking the most recently released versions seems to make the most sense from this point of view, though I'll allow that you could make the point that choosing the most recent nightlies of the other browsers would also make sense.

</comment></comment></comment><comment><USER27> I'll take this seriously when they support the existing standards properly. Stacks of HTML/CSS/JavaScript books are full of pages saying this/that doesn't work in IE.

<comment><USER28> There are stacks of books about the IE9 preview just released?

</comment></comment><comment><USER29> Hilarious!

Such irony. We respect how challenging it is to build one page that works the same in every browser as the technology advances and customer expectations rise.

Then what's stopping them from including IE6,7 and 8 in their "tests" and fixing this whole mess they created in the beginning. They act like those previous products aren't their responsibility... fucking joke

<comment><USER30> Have a little mercy. All MS is saying is that they're working to get things right.

All browser vendors crow about the functionality of their beta releases.

</comment></comment><comment><USER31> Using Firefox 3.6.3 here, the same they listed.

I tried the "Call select() on a text field" test because it looked like a simple one I could check myself.

It selects the text field perfectly. When I start typing the current text is replaced, everything seems to be working fine. "Test result: FAIL"

It's only one test, sure, but this page is smelling even fishier than before.

</comment><comment><USER32> This works just fine for me on FF: [http://samples.msdn.microsoft.com/ietestcenter/html5/selecti...](http://samples.msdn.microsoft.com/ietestcenter/html5/selection/select.htm) I am guessing they put in some tricks in the validation here too.

</comment><comment><USER33> hardware acceleration is the big one. This will force the hand of the other browser makers to follow suite. Webkit is already pretty far along here but only css animations, not the entire rendering pipe, which seems to be what the IE team has managed to do.

<comment><USER34> Also, the two-threaded Javascript interpreter is a very nice performance feature for IE9.

</comment></comment><comment><USER35> Although MS's "Testing Center" is fixed in IE's favor, their IEBlog does compare IE to the latest competitor releases and "showcases" IE's poor Acid3 performance. [<http://blogs.msdn.com/ie/>]

</comment><comment><USER36> This is really good news.

Microsoft is excellent at producing software that ticks feature boxes. Anyone who remembers magazine reviews of Excel vs Lotus 123 will remember the relentless way MS would improve in the comparison tables in every release until suddenly they were ahead. The same thing happened in the original browser wars.

The problem is that Microsoft has never been good at choosing which feature boxes need ticking themselves.

But now they have decided to care about list of features called "HTML5" they should be able to push things forward well. (I'm hoping anyway. And I'm hoping "Canvas" makes that feature list)

</comment><comment><USER37> It says that firefox and webkit browsers fail on border-radius, that's only because they use -webkit-border-radius and -mozilla-border-radius and Microsoft only tested border-radius which is the one supported by IE, not very honnest especially knowing that gecko and webkit had those for years before IE.

<comment><USER4> But, to be fair, do they support border-radius? I understand what you are saying, don't get me wrong. But either a standard is supported or it's not.

If you want to get technical: Firefox, Safari, and Chrome have 0 support for the HTML5 standard, considering HTML5 isn't official yet. But they still work toward meeting proposed standard.

Competition is good. If IE9 supports border-radius, and that pushes FF and others to support border-radius without the vendor tag, might that be a good thing?

<comment><USER38> > ... and that pushes FF and others to support border-radius without the > vendor tag, might that be a good thing?

Only if border-radius doesn't change it's semantics; say the standard switches from radii to area. Or perhaps they add some semantics for negative lengths.

If anything like that happens, then we now have _two_ border-radiuses: Microsoft's and everyone-elses.

I think that with border-radii this isn't likely, but for whatever is still under debate, we could still be looking at this sort of thing.

<comment><USER4> I know. But then you have people saying that X-browser has HTML5 support, but HTML5 isn't even finalized. This means all those sites supporting HTML5 aren't supporting a finalized standard. So you can't use HTML5 now... technically. If you do, you aren't following the standards. Canvas shouldn't be used, nor should the video tags, for anyone who cares about standards. Technically.

Getting a little to anal? =)

Okay, before someone jumps on me and thinks I'm being serious, yes, I agree with you. It's 'dangerous,' but at some point, someone needs to say "Damnit! Let's make this work!" After all, you don't see anyone saying we should use vendor tags for HTML5 markup, even though HTML5 isn't complete, and can, and still does, change.

The great thing about standards is that there are so many to choose from. - Someone else, some other time.

</comment></comment></comment></comment><comment><USER39> Why they are so shy? We all know that it was Microsoft who was invented the Internet, created HTML, Javascript and their browser is the most secure, fast and reliable one.</comment>


MySQL locking for the busy web developer - <AUTHOR> http://tech.brightbox.com/posts/2013-10-31-on-mysql-locks/

<comment><USER2> InnoDB uses MVCC, so the only operations that respect the SELECT .. FOR UPDATE queries are updates. As long as you use transactions, I wouldn't say this is a common application pattern.

It was good for the article to mention gap locking/next key locking - a lot of users are surprised by it. The only comment I would make, is that it not required when using Row-based-replication: [http://www.tocker.ca/2013/09/04/row-based- replication.html](http://www.tocker.ca/2013/09/04/row-based-replication.html)

I also have a 35min video as well which describes locking: [http://www.tocker.ca/2013/09/19/locking-and-concurrency- cont...](http://www.tocker.ca/2013/09/19/locking-and-concurrency-control.html)

<comment><USER3> Since MySQL + InnoDB now uses MultiVersion Concurrency Control, why does it need these locks in the article???

(MVCC should allow "speculative", isolated, changes which fail and get rolled back in case of a conflict)

<comment><USER2> What @kozlovsky said :) Only advice I would add, is SELECT .. FOR UPDATE doesn't (and shouldn't) use MVCC, so it guarantees you the most recent version of the row.

In my comment I said the use case for this feature is not typical, but I can list the case:

If you needed to read the most recent value, apply logic (external to the DB) and then write back a new value you will likely want serializable to prevent lost-updates.

A hypothetical (but poor example) might be a stats counter where you read the value, add one, then save it back.

</comment></comment></comment><comment><USER4> If you find that you have a lot of deadlocks due to gap locking, you can disable this feature:

[http://dev.mysql.com/doc/refman/5.5/en/innodb-record- level-l...](http://dev.mysql.com/doc/refman/5.5/en/innodb-record-level- locks.html)

</comment><comment><USER5> Row-level locks are really sweet in case you have to handle multiple row/tables update/insert in the same transaction, in order to keep the db consistent even under sustained concurrency. But, dead locks really strike you if you don't use them carefully. I wonder if dead locks are easyer to prevent in Postgres

<comment><USER3> MVCC is the 21st century database hotness :-)

Rather than locking rows or tables (etc), you keep versions on rows, and allow isolated changes to versioned "duplicates" of the rows in transactions. There is a process that relatively quickly checks for conflicts during a commit -- is there a "gap" in the version numbers of rows or some such thing. If inconsistency would result, the first commit (already) wins, and the second gets rolled back. Otherwise, the replacement (or new) rows become the new "master" version.

The commit check can become a bottleneck, but it shouldn't deadlock.

Almost forgot to add: PostgreSQL has been using MVCC for quite some time.

My view of MySQL was discolored pretty badly when I needed an SQL database back in 2001 to prototype some stuff from home, and discovered how "gappy" MySQL was at the time: rollback did nothing; referential integrity not enforced; lack of transaction isolation. It felt like XBase hidden under SQL syntax (something to which I did not want to regress).

OTOH, MySQL ran on Windows, and PostgreSQL didn't (at the time), so I guess that was "the win" for many, alas. Both DBs have become much more like each other in the intervening decade, though, which is good news.

<comment><USER6> You are confusing two concepts: locking used by the implementation to provide isolation and atomicity, and locking used by the application to provide consistency.

Consistency is a separate concern from Isolation and Atomicity. With the default isolation level (repeatable read) it is frequently necessary to use row-level locks to ensure consistency with concurrent transactions. This is an application-level concern, and an interactions with the isolation level rather than an interaction with the implementation. Short of SSI (serializability), hazards exist which can have counterintutive impacts on data consistency. The implementation's use of MVCC is irrelevant.

Locking is also frequently used in applications to help ensure external consistency, but that's a pattern with real and significant pitfalls that should be avoided.

<comment><USER3> I'm not going to claim to understand the entire topic of DB locking, but I intended to refer to what happens within the DB on your behalf when the application is running a transaction without any explicit locks. If I am within a transaction, and repeat a read for some reason, I expect the same result unless my process made modifications. I forget the name of that level, but that's what I expect.

My gripe with record and related level locking comes from past pain. At one past job, our DBA spent a lot of time in Sybase (a non-MVCC DB) constantly twiddling locking granularity levels to keep processes out of each others' way. (as in deadlock)

</comment></comment></comment></comment><comment><USER7> I'm surprised there is no mention of database engines within this article. Presumably, only InnoDB is being discussed here since MyISAM does not support transactions at all.

<comment><USER8> Yup, looks like InnoDB. I find MyISAM locking to work just fine out-of-the- box.

Also, adding proper indexes is one of the basic database tasks to do if you want any reasonable performance. I'm often adjusting tables' structure outside of 3rd normal form, just to be able to use good indexes for the expected use cases.

<comment><USER9> If your apps are write-heavy, it makes sense to allow row-locking (InnoDB) vs table-locking (MyISAM).

</comment></comment></comment><comment><USER10> Why would you use extra locking inside of a transaction? Transaction gives you the required atomicity already

<comment><USER6> For Consistency (i.e. C, not I). Depending on the operations you are trying to perform and the isolation level you have chosen, locking may be the only way to update the database consistently, even within a single transaction.

See this paper for a good explanation of how C and I interact: [http://aphyr.com/data/posts/294/tr-95-51.pdf](http://aphyr.com/data/posts/294/tr-95-51.pdf)

<comment><USER10> Not sure if we talk of the same thing? When I say transaction I mean a number of queries between START TRANSACTION and COMMIT (or ROLLBACK) SQL command, and mysql will lock automatically all tables inside that block. If you use SELECT inside the transaction innoDB will work on a data snapshot to insure the data consistency. (btw. thanks for the link I'll read it later)

<comment><USER10> I stand corrected here, actually it seems that in the default repeatable-read mode START TRANSACTION will not do any table/row LOCK-ing automatically..</comment></comment></comment></comment>


It's perfectly OK to only code at work - <AUTHOR> https://zeroequalsfalse.press/posts/it-is-ok-to-only-code-at-work/ <comment><USER2> Previously (12 hours ago): [https://news.ycombinator.com/item?id=19806960](https://news.ycombinator.com/item?id=19806960)

</comment><comment><USER3> It's also perfectly OK to not write code at all, that's what the vast majority of people do. Which isn't to say if you're not writing code in your free-time you should quit altogether. It's just to say that what's "OK" isn't a terribly high standard.

I've always felt guilty if I'm only coding at work, because I've always felt that if my employer is willing to pay me X dollars an hour to code, then they must be getting at least X dollars of value out of my work, and likely they're getting much more. So I felt like I was letting myself down if I wasn't also using this skill in a way where I could capture all of the value I was creating, rather than sharing it with my employer. Unlike with most professions where you can't really do the work outside of a larger corporate setting, programming all by yourself can actually produce very valuable things, that you can reap all the rewards of for yourself.

But not everyone thinks this way, and making progress on programming projects by yourself is very hard, especially if you also have a full-time job. So I agree with the author about the ok-ness of not doing it.

<comment><USER4> The value of the work you do at home is a small fraction of the value you produce at work. Employers risk a lot of money on engineering, but even more on marketing, sales, product management, support, vendors, operational processes, legal, infrastructure, and more. Each of those areas acts as a multiplier on the value produced by everyone in the organization.

<comment><USER5> Is it? I'd wager most human beings can't just turn off their head when the clock hits 6 pm. So you will think about work, think about problems at work and your mind will inevitable work on issues you experienced at work when you sleep.

Sure, none of it visible, but I find the way we think about productivity highly questionable.

<comment><USER4> I meant my comment in the context of the person I was replying to, who was considering working on something at home that is unrelated to their day job.

</comment></comment></comment></comment><comment><USER6> I always _want_ to tell people things like this, to take care of themselves and not overprioritize work.

At the same time I've never done that and it's in large part why my career has gone so well.

It's "OK" either way, live life how you want to. But if someone asked me for _career_ advice and said they don't know how much time they should spend outside of work on programming, I'd have a hard time telling them "no time at all".

If your goal is to advance your career, yeah, my advice is to program in your free time.

If your priorities are different - maybe your career is already set, and you want to focus on life - sure, don't program in your free time.

<comment><USER7> Depends on what you want out of a career too. The big FAANG type companies don't tend to care at all about your GitHub, so "practice whiteboard problems" is better advice for someone looking for that of job.

<comment><USER6> I don't think any company cares that much about your github. It almost always comes down to the interview.

But programming in your free time will (likely) make you more effective in your job, garner recognition/ place you in a programming community, teach you about new problem spaces, etc.

So while that may not help you move from job to job (I'd argue, however, that it does), it'll help you accelerate your career within a company.

I don't think it's contentious to say that practice will improve your skill, and improving your skill generally leads to a better (by some definition) career.

<comment><USER8> > I don't think any company cares that much about your github. It almost > always comes down to the interview.

Personally, I would weight a great GitHub more highly than an interview. But great GitHubs are very rare.

<comment><USER6> Sure, I would too. Interviews are mostly stupid.

At small companies where you have more wild-west type procedures you can probably get away with saying "Github is good enough", but my experience is that even mid sized companies start to put all of their bags in the interview basket.

</comment></comment></comment></comment></comment><comment><USER9> I'm sorry if this sounds bad but I frankly think that computer programming is... not that interesting. I get satisfaction and pleasure from coming up with a good way to write some code, but I'd rather read something interesting from the humanities, read a math textbook, exercise, socialize than write code. Even study algorithms or complexity (not my favorite academic area but still quite interesting). (About to get even worse) I just feel that the field of simply programming is not so deep to require "passion" etc. beyond the entry level. In my worldview it's just technical work and I feel sort of similar about passionate programmers as I would about some guy who is a plumber who is so passionate that he spends all his free time investigating plumbing. I don't really see the point beyond doing a reasonably good job and taking some craftsman type pride in accomplishing a solid job.

</comment><comment><USER10> And it is also perfectly OK to only code things needed for your employer at work to the level justified by the salary, and then turn around and create awesome things for yourself in off-office-work time, if this is something one enjoys.

</comment><comment><USER11> I notice that it's mostly non-coders who are always "you guys should work harder and be more passionate about your work!"

If I have a coding job, I struggle to code outside it, and prefer doing other creative projects. If I have a management job, I really enjoy side projects and hobby coding outside it. It's like I only have 40 hours of coding creativity per week in me, and if I'm not getting to do that at work, then I enjoy doing that for fun.

</comment><comment><USER12> Here's the thing: you get better at something the more time you spend on it. Someone who's been coding for 5 years but codes in their spare time is going to be as good as or better than someone who's done it for 8 years strictly on the job. And the effects don't stop, those who code in their spare time will always be outpacing those who don't and the gap will always be growing between them. Yes, it's perfectly OK to only code at work - assuming you understand that your career will advance at a proportional pace.

<comment><USER13> That depends on the number of hours you're doing. If you're only coding at work but doing 70 hour weeks, you don't really have the time or energy to code at home.

<comment><USER12> For a discussion about maintaining a healthy work/life balance, that sure is far from it.

</comment></comment></comment><comment> 52-6F-62 I very much agree with this.

I'm not always one of those people, but sometimes I am. It seems pretty simple to me.

</comment><comment><USER14> I read this as it was ok at work to only code and not do meetings or any other non-coding activities. I guess other people have different problems.

<comment><USER15> That's also how I read it; the intended phrase is 'to code only at work'.

</comment></comment><comment><USER16> I'm always interested to hear about when people consider programming a passion. I code outside of work, but I don't think I would call it a passion. I'm working on business ideas that I hope will some day be successful, or i'm sharpening skills so I can get higher paying jobs in the future. I wouldn't ever code outside of work without the promise of some other return.

</comment><comment><USER17> I've found my programming skills aren't the main driver in furthering my career. It's soft skills, organisation and being able to prioritise.

I have had periods of 6 months where I didn't write a single line of code. Sure, you forget how much you miss it once you start again - but it certainly isn't the driving factor in my career any more.

Engineer @ Fortune 500

</comment><comment><USER18> It's perfectly okay to do whatever you want to do outside of work. I took slack off my phone more than a year ago and it has been absolute bliss.

I have a hard stop and never work on work related things. If I want to code, it's for me and for fun.

</comment><comment><USER19> I sort of agree and disagree.

from a business perspective, yes, it is perfectly ok to code your work hours.

Now, depending on what your work hours involves, it may not be enough for you to achieve your professional aspirations, in which case, taking the time to code outside of work hours is a good plan.

It all comes down to what are your personal strategies and goals (including family and all your interests/hobbies), what are you risks ( like your skills being too specialized or your skills becoming redundant) and how to mitigate those. Your job should be a piece of that overall personal strategy.

</comment><comment><USER20> People's free time is just that. Their free time. It's perfectly OK to do anything you want with that time, and no one has the right to tell you otherwise.

With that said, I think it's a lot healthier to have other hobbies outside of coding. It certainly helps with creativity and generally not becoming a robot. Not to say coding as a hobby in addition to your profession is unhealthy, but _only_ coding in and outside of work could be.

</comment><comment><USER21> Good life advice, possibly bad career advice? The top flight engineers that I know are always working. Not always on work related things, but always working. Hard to tell if it's a 10,000 hours type of thing or just passionate people don't feel like it's work. All the same I guess.

<comment> 52-6F-62 I think, to be fair, the article is about it being okay to be a software worker in general and not be breathing it 24/7.

It's not evangelizing about how to be the 1 in 10,000. It's rather brief opining about feeling comfortable _not_ being one of those people, but rather one of the surely skilled people who fill out the industry—like most skills.

So I guess it just depends on your career aspirations, and your life aspirations. So yeah—all the same!</comment></comment>