Lessons from migrating a large codebase to React 16 - <AUTHOR> https://blog.discordapp.com/lessons-from-migrating-a-large-codebase-to-react-16-e60e49102aa6 <comment><USER3> This is the reason why I still enjoy to write in C, there is simply no need to change your entire codebase because some dude came up with a new "miracle".

I do full-stack javascript for my income, but have reached the point of not enjoying coding anymore because of this continuous change of ideas forced upon me. Why do I need to change from React.createClass to ES6 classes, from ESxx to Typescript or Flow, from React to Vue, from callbacks to Promises, from Flux to Redux, or from any idea to the next hyped idea?

When will people start to realise that this new method or technology they're implementing is deprecated already?

There is no end to this and I actually hate it as it destroys my passion for coding. I code to create things, not to continuously change what's created already and works fine.

As soon as I find a cool C job I'll definitely leave this mad house.

<comment><USER4> It's impressive how most of the progress in the JS land is essentially adding the features most of the other languages have already had for years (or - <USER2> least had done them properly in the first place).

And I do understand why - it's just quite pathetic to see all of that being done for no practical reason.

<comment><USER5> Sure, Haskell & OCaml have had a lot of these features for years, but they can hardly be called "most languages". Other languages are also in the progress of adding similar features (C++, for example) or aren't getting them (C).

Javascript has more library churn, but the alternative is being stuck on something like BOOST. ugh.

<comment><USER4> Let's be clear: JavaScript tries to be both a platform and a programming language.

People hate it because there's no practical reason why we're forced to use JavaScript in order to program - and most of the people who are productive are probably using some sort of variation on ECMAScript that makes it bearable anyway.

<comment><USER6> > _Let 's be clear: JavaScript tries to be both a platform and a programming > language._

I'm not sure how you came to this conclusion. JavaScript is the common language for two major platforms (browsers, Node.js) and _many_ smaller ones (Cocos2d, enyo JS, Espruino, GNOME Shell, Kinoma XS6, NativeScript, Weex, etc.).

<comment><USER4> Um what?

\- browsers: used since the 90s because there's no other alternative

\- node.js: created because JS is used in browsers and it's easier to write code in a single language for browsers and servers

\- Cocos2d: you're clearly lying as the only place where JS is mentioned is Cocos2d-html, as there's again - no alternative

\- enyo JS: again, used clearly due to the fact that modern - browsers are available for all of the modern platforms

\- Weex, NativeScript: typical "native app" libraries which use a webkit pane for most of the rendering, again - javascript here is circumstantial since you can't choose anything else

\- GNOME Shell, Kinoma XS6: OK. These are the only ones that make any sort of a strong point in your message; but as far as it goes - modern linux distros are moving to Python for systems programming anyway. So learning JS here is a miss.

</comment></comment></comment></comment></comment></comment><comment><USER7> In my case, the main pain points were third-party packages, more than React 16 itself. For react you only had prop-types and createClass to change everywhere. The migration of react-router in particular was awful, the new react-router is so different from the old one they should have created another repository for the new version.

<comment><USER8> This has been my experience of react-router since its inception. When react- router does a major API version bump, they really mean it. I don't use it in any projects I have full control over, but unfortunately due to its popularity in larger projects I've had to use it.

<comment><USER9> Agreed! After being burned by React-Router, more than once, I actually would opt for manually implementing a Redux-et-all solution with something like History.js over using React-Router again. Which is pretty worrying considering how important routing is, or should be, in the ecosystem.

</comment></comment></comment><comment><USER10> This seems like engineering for engineering's sake. From the author's description, this was a pretty superficial refactoring that may or may not have been for the better.

It seems like a bizarre decision to spend time migrating to a new system / tool that provides no immediate benefits. A thorough refactoring of their codebase seems like it would have been a better use of engineering time.

<comment><USER11> The more you delay the upgrade, the more painful it becomes in the future.

At a previous workplace we had to go from React 0.13 to React 15. We had to re-write, fork and patch, or get rid of entire third-party libraries. There are no stepping stones in the JS ecosystem that let you do gradual updates if you are several versions behind.

<comment><USER12> At some point you need to get off the treadmill to stabilize the code, improve it or just make it better.

Constantly trying to keep up either needs a larger team to keep up and do those things, or you compromise somewhere.

<comment><USER11> Yeah, it's the fine line of "do we upgrade now or can we postpone the upgrade"

</comment></comment></comment></comment><comment><USER13> "Facebook has done a good job of deprecating and warning for the last few months, but not all libraries are well-maintained and if you depend on or have forked a great many ancient ones, you will be in for a bit of a slog.").

This is one of reasons to limit third party libraries you use along with React. Every dependency comes at cost. If you use React and React-Foo, React- Bar, React-Baz and dozen of other React based additional libraries, then upgrading all/troubleshooting can be painful. As it was ("We ran into an error which took us 2 days to track down to a library, ...")

<comment><USER14> Agree 100%. I always use zero-dependency libraries if they are available. The only library in my codebase that has a React dependency is react-redux. React upgrades have thus far been painless.

</comment></comment><comment><USER15> This is why I prefer web components. This is nothing against React. But it's a library, and they make breaking changes just like all libraries (eventually) do.

The great thing about web components is that they _cannot_ make breaking changes now that it's been implemented by multiple libraries. It's stamped in time forever.

If there ever comes a time where the existing API can't be updated any more because of mistakes or whatever, they'll just make a new API and your existing code will continue to work, _forever_. Look at XMLHttpRequest and fetch(). Did you have to migrating your XHR code over to fetch()? No, it works fine, and always will.

<comment><USER16> When the Polyfills are gone (mostly), I'll come back to web components. I love the idea of web components, but the browsers are still pretty fragmented in terms of support.

There's definitely progress, but an older Polymer 1.0 app of mine is painfully slow on everything but Chrome.

<comment><USER17> Hm, DBmon benchmarks show that Polymer 1.x with polyfills is a lot faster than Angular 1.x which has thousands of production sites and was acceptable not that long ago. So I'm not sure that non-polyfill execution will really fix the performance for you.

Maybe chrome is better at rendering your application structure?

</comment></comment></comment><comment><USER18> how much faster (snappier) is the app written using React 16 (numbers or stats anywhere?) and was it really worth it?

<comment><USER19> The author hints that there probably aren't significant performance improvements yet, but I've seen a spattering of tweets claiming to see fairly significantly real-world performance boosts.

[https://mobile.twitter.com/winkler1/status/91158079802491289...](https://mobile.twitter.com/winkler1/status/911580798024912897?lang=en)

<comment><USER20> That benchmark needs more context because were I to guess i'd say they're using stream rendering[0][1] in React 16

I also agree with one of the comments in reply who linked to "How to win in web framework benchmarks"[2]

Unlike, say, benchmarks for performing hash functions on graphics cards or frame rates on certain hardware the units of work being tested on web benchmarks very rarely reflect the units of work used in your own systems

In performance and security critical components we write benchmark-*.{ts,js} tests and track performance of real-world components.

At the moment in the mocha world there is no good way to keep a history of results, so we tend to copy+paste them as code comments (noticed this in a lot of projects) - but it wouldn't be difficult to write a storage backend here in sqlite or similar and store it in the same way coverage reports are

If you're doing comparisons on modules you use - you can include them as devDependancies. This also forces you to abstract away your dependancies which is often a good thing.

[0] [https://reactjs.org/docs/react-dom- server.html#rendertonodes...](https://reactjs.org/docs/react-dom- server.html#rendertonodestream)

[1] [https://github.com/facebook/react/issues/6420](https://github.com/facebook/react/issues/6420)

[2] [https://medium.com/@localvoid/how-to-win-in-web-framework- be...](https://medium.com/@localvoid/how-to-win-in-web-framework- benchmarks-8bc31af76ce7)

<comment><USER19> Indeed, it's not easy to come up with a repeatable benchmark from which broad meaningful conclusions can be made. But if a real-world React application gets faster when upgrading, I'm all for sharing that, and it can be a useful estimate if that application is somewhat similar to my own codebase.

</comment></comment></comment></comment><comment><USER21> How does the performance of React 16 compare to Preact? I understand that Preact is still a smaller filesize, but fibers (and async when it's enabled) sounds like it'll be faster than Preact.

We are using Preact for a small mobile site, so I'm wondering if it's worth switching.

<comment><USER15> The "Fiber" stuff is FUD until we see some perf comparisons. It irks me that React gave their rewrite a codename and talked about perf, and so many people are now have this "Fiber is fast" stuff in their head without any real evidence. I've seen evidence that Preact is fast.

<comment><USER22> The React team did say, many times, that React 16 was not intended to be a "make everything faster" release. The "React Fiber" internals rewrite was intended to enable making re-rendering asynchronous in the future, but for now, the overall rendering process is still done synchronously to maintain compatibility with 15 behavior-wise. It's possible that the changes may make things smoother for your app now, but this was not a pure-perf-oriented set of changes. (The future asynchronous rendering is also not strictly speed-related either, but rather opens up a lot of possibilities for how React prioritizes updates.)

The initial improvement that Fiber gives is about splitting up the rendering process into bite-size chunks so that the determination of what does need to change doesn't block the main thread. The rewrite of the internals also made the codebase more maintainable, and gave them a chance to implement often- requested features like returning strings or arrays from render(), as well as implementing error boundaries.

<comment><USER15> You know very well that community doesn't hear nuance, all they hear is that Fiber=fast and this is why people question the Preact developers with stuff like "will you implement Fiber". I know that FUD wasn't the goal, but FUD is the result of overhyping a rewrite and giving it a codename.

<comment><USER22> "Implementing Fiber in Preact" is a valid question, on the grounds that React 16 offers a bunch of new user-facing features too.

</comment></comment></comment></comment></comment><comment><USER23> Lesson 1: Don't do it, the cost of migration will outweigh the benefits</comment>


US government approves T-Mobile/Sprint merger - <AUTHOR> https://arstechnica.com/tech-policy/2019/07/its-official-us-government-approves-t-mobilesprint-merger/ <comment><USER2> To me this makes a lot more sense than the T-Mobile At&t merger that failed to go through.

Sprint is a pretty dead brand and provider. They were actually giving away a year of free service without any obligation (you only had to pay $2 tax/fee) and people still would not switch to it.

T-Mobile has pushed the other carriers to bring back unlimited plans and they've separated the phone cost from the plan itself (allowing people to more easily switch carriers and bring their own phone).

Allowing T-Mobile to get more customers and a stronger position might be a good thing in order to compete with Verizon and At&t.

<comment><USER3> Sprint has a pretty solid network in most markets, but they also have a metric crapton of debt.

What it comes down to, is there isnt enough spectrum to have three fully competitive carriers. The merger of T-Mo and Sprint will give them a huge leverage point on spectrum. T-Mo bring 600, AWS bands, as well as 1900 PCS blocks, Sprint brings 2.6, 900 and 1900 PCS blocks.

<comment><USER4> Sprint does have a lot of debt ($33 billion), but AT&T does also: ~$180 billion.

<comment><USER5> They both have debt roughly equal to their yearly revenue, but AT&T has dramatically better margins. Sprint has repeatedly gone years without a single profitable quarter.

</comment></comment></comment></comment><comment><USER6> US Antitrust law is among its most archaic, even though they are relatively young. Even the term Trust speaks to an a term that is no longer in common parlance. As there is discussion about 'breaking up' Facebook and others, the murkiness of the law is painfully clear.

They should be referred to as competition laws, and they should be plainly understood and work at preventing and penalizing anti-competitive behavior. De facto digital monopolies have emerged as they have been freely allowed to act against their competition in ways that would have never been tolerated in meatspace.

<comment><USER7> And such a law and the agency enforcing it need to be a lot more pro-active. By the time governments decide they need to "break-up a company", the lion's share of the damage has long been done against both small players (or potential entrants that never stood a chance) as well as consumers.

This is why although I'm a bit supporter of GDPR and other such regulations, I think there is some truth in the idea that they also "lock-in" the larger players, because of 2 primary reasons:

1) the fine/punishment is never significant enough to the point that all of the ill-gained wealth is entirely wiped out. However, maybe it can't/shouldn't be fully wiped out anyway, because then we enter into the realm of applying laws retroactively a bit, and that brings all sorts of other dangers with it.

2) they block the newer entrants from using the same unethical tactics to effectively compete. However, I don't think this is a good excuse against not enabling such laws. Getting stuck with a couple of monopolies that can still be further regulated down the road isn't as bad as everyone stealing people's data and abusing it for personal gain, etc. Like we saw recently that US carriers have been selling people's location data to bounty hunters and all sorts of other shady groups -- all in the name of some extra profit. No, I definitely think a strong law against such abuses would be much better than it not existing.

But in an ideal world, the governments would've prevented the unethical behavior way before it starts giving companies billions of dollars in profit every single quarter. And then both the rampant abuses for a decade+ and the monopolies would be prevented from the start.

I've been kind of developing my own "rule of thumb" for noticing which company is a monopoly/makes too much money in some unethical way. When a company reaches this step you start seeing it "invest" into all sorts of crazy and unrelated ideas and markets that have nothing to do with its core business.

When a company has "too much money it doesn't know what to do with" and prefers spending it on completely unrelated markets instead of improving its core products/offering better value (huge red flag if it doesn't here), then you know that company is doing _something_ that makes it way too easy for it to print money. Maybe it's lobbying Congress for locking out competitors, maybe it's it bribing government officials to gain contracts, maybe it's them coercing customers into exclusive deals, and so on. When it gets too easy to make a lot of money and the competition seems to have no way of catching up, it's not just because the product is that good.

<comment><USER8> To quote the user wbl:

Aside from the transistor, negative feedback, Unix, troff, radio astronomy, the charge coupled device, cryptography, information theory, what did Bell Labs ever do for us? [1]

By the standard you set forward, we would have shut down Bell Labs BECAUSE it started to create these unquantifiably valuable inventions.

Google makes absurd amounts of money by search. Is it unethical to create an amazing search engine? Would it be better if Google said: "We aren't going to put money into moonshots, cancer research, laying fiber in Kansas, internet broadcasting balloons, AI research etc. We are going to take all of the money and pay it back to shareholders."?

I believe that your proposal, if put into practice, would amount to "we should destroy products that are successful". What am I missing?

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

</comment></comment></comment><comment><USER9> Why do people think Sprint is so bad, and what does that say about our cellular market? It looks like I can get 5 lines for $150/month, with a 50GB soft-cap and 50GB of hotspot. That's less than half of what I pay for Verizon.

Such a lower-cost alternative should be able to attract customers in droves. Why can't Sprint?

<comment><USER10> The US is huge. It's hard to cover with mobile phone and data service.

People fear their phones not working on road trips, or when they go visit a different part of town. Verizon and AT&T built trust that they will be good enough, and better than the others. T-Mobile did some great marketing with their 4G launch and follow up campaigns that built a lot of trust. T-Mobile's customer service is also extremely good.

The perception of Sprint is that it just might not be good enough. In fact, it is good enough. A colleague of mine has been using it for the three years I've known him without real issue.

Sprint's recent $25/mo unlimited deal got me to switch from my $70/mo T-Mo deal. I've lost mobile hotspot, but the savings are worth it for now and there's no commitment. I'm only out the $38ish activation fee (both ways) if I want to switch away from them.

<comment><USER3> Sprint has a really solid network in most metro areas. Both T-Mo and Sprint have huge issues with rural coverage, both have to leverage roaming partners to get real national coverages.

<comment><USER11> I have T-Mobile and travel for work frequently. A couple years ago I traveled to one of the largest metro areas in Iowa, only to get off the plane and have my TMo phone tell me that there was no service whatsoever. After a bit of research, I found out that TMo did not have any official coverage in the _entire state_ of Iowa, and only had roaming coverage available through a partnership with Iowa Wireless (I think it's different now and there is actual coverage available in IA).

It ended up being fine (roaming was more than enough for my usage), but it did initially remind me of the feeling when I step off the plane in a foreign country and have to wait to find a WiFi hotspot to be connected again. It certainly wasn't what I expected when traveling to an area that's only ~200 miles away from one of the US's largest cities (Chicago).

edit to add: Ironically, TMobile has free roaming + data coverage in almost every single country around the world, which makes it seem a bit silly that I can take my TMo phone to rural Indonesia and get data service (which I have done, with that same phone and TMo plan) but struggle to get it in a place like metropolitan Iowa...

</comment></comment></comment></comment><comment><USER12> Key quote, showing that it's not official yet. "The DOJ's approval is not the last one T-Mobile and Sprint need, because 13 states and the District of Columbia sued the companies to block the merger."

</comment><comment><USER13> How are the towers going to be handled post merger? T-Mobile's GSM based service vs. Sprint's CDMA service means someone is going to have to win if they're serious about consolidating spectrum and towers.

<comment><USER14> Maybe they won't bother until a 5G deployment in the future? The merger will probably take at least a year, probably longer, to fully integrate anyway.

<comment><USER13> Is 5G going to be fully converged? I thought the mmwave stuff was converged but the "4G with some touchups" part that most people will be using the majority of the time was going to keep the legacy GSM vs. CDMA nonsense?

</comment></comment></comment><comment><USER15> We are currently in "merger insanity". I'm wondering how many companies will be left before this ends?

<comment><USER16> The all new Verizon Chipotle Exxon: Proud to be one of America's 8 Companies

</comment></comment><comment><USER17> Assuming T-Mobile continues their multi-year policy of never raising prices on existing customers I'm all for this. One stronger competitor to AT&T and Verizon is much better than one almost competitor and an almost-dead-but- still-owns-bandwidth one.

<comment><USER18> I agree with the spirit of what you said, however I would upgrade T-Mobile in that analysis. They're a beast of a competitor without Sprint, and they're slow-stomping both AT&T and Verizon. Grinding gains persistently year after year.

They're adding millions of customers per year in the US, nearly all of which are being stolen from the competition. AT&T and Verizon are sitting on stagnant wireless businesses, while T-Mobile keeps getting bigger.

Operating income hit $5.4 billion last year (up 100% in three years).

$72 billion market cap, up from persistently losing money and worth just $10 billion seven years ago.

Without Sprint they're on their way to a $120-$150 billion market cap and $10 billion in operating income in the next five years or so. And there's nothing AT&T & Verizon could do to stop it.

<comment><USER19> I used to think nearly the same way. But consider this systemic risk to wireless competition: If T-Mobile is not allowed to buyout/merge with Sprint, and Sprint continues the spiral that they are currently in, there is a possibility that AT&T and/or Verizon end up with more spectrum in the end. T-Mobile isn't nearly as capitalized to buy Sprint's premium spectrum on the open market like the other 2 competitors are.

</comment></comment></comment><comment><USER20> I'm already on T-Mobile. I'm for this mostly because the Sprint network plugs some significant holes for me in places I travel, like northwest Iowa. When they put their cross-roaming agreement into effect earlier this year, I suddenly had coverage all along that corridor. Otherwise, I'm stuck with the extremely small data roaming allowance they provide.

</comment><comment><USER21> Meanwhile, tmobile.com has been down (at least intermittently) for more than a week. Purely coincidence I'm sure.

</comment><comment><USER22> I'm not loving this, but there are far bigger problems. Unless we're preparing to undo the mergers that made Verizon and AT&T huge, it wouldn't be fair to stop a couple piddly little companies from merging. Maybe they need to merge for survival.

</comment><comment><USER23> Awful decision. It won't cut consumer costs. Not even Bork would approve.

<comment><USER3> Considering I think the choice is Sprint going out of business, they are at risk of ceasing to be a 'going concern'.

<comment><USER23> What happened?? In 2018 they were near $2 EPS

<comment><USER24> They forgot how to make money. 2018 was an exception because they profited from a massive tax cut. They went right back to losing money.

</comment></comment></comment></comment><comment> Paul-ish Does anything stop Dish from selling that spectrum back to the new company?

</comment><comment><USER25> Consolidation is bad as it causes prices to rise.

<comment><USER26> Unless a consolidation of smaller companies helps them to compete against one or two giant ones, who would otherwise dominate the market.

</comment></comment><comment><USER27> I hate mergers like this, but the option is Sprint goes out of business and either AT&T or Verizon feasts on their carcass and we _still_ only have three providers.

</comment><comment><USER28> Matt Stoller has some harsh things to say about this, saying this is only happening because of Trump's friendship with Masayoshi Son: [https://mattstoller.substack.com/p/trump-antitrust-going- aft...](https://mattstoller.substack.com/p/trump-antitrust-going-after-big- tech)

<comment><USER29> The corruption angle is interesting, but it's got to be better supported than this. Just flatly stating "the goal of the merger is to raise prices" is not enough. Are there mergers not motivated by that, at least in part? If either ATT or VZN disappeared in the near future, then this merger could be part of the chain of events leading to raised prices. Back in the real world, prices might go up but not because of anything the merged company has done. It's still number three. This merger is good for consumers, on balance. Not just for Sprint customers but also for the customers of the hundreds of MVNOs dependent on Sprint's ongoing operation.</comment></comment>


Top Ten Astronomy Pictures of 2008 - <AUTHOR> http://blogs.discovermagazine.com/badastronomy/2008/12/17/top-ten-astronomy-pictures-of-2008/

<comment><USER2> Click on the photos for high res versions on Flickr - some of these make great wallpapers.</comment>


Why do a lot of developers dislike Agile? - <AUTHOR> http://brianknapp.me/developers-dislike-agile/ <comment><USER2> I think developers dislike what I'll call "commercial agile" \- a process imposed from above popularized by people or organizations with a commercial interest in selling so called "agile" i.e. scrum certification, etc.

Poorly implemented agile where you have some agile-like processes coupled with waterfall processes ["fragile"] can also sour developers on agile. ("If this is agile, I don't like it.")</comment>


Study finds piracy withering against legal alternatives - <AUTHOR> http://www.theregister.co.uk/2012/01/04/study_piracy_legal_alternative/ <comment><USER2> I bought Game of Thrones on iTunes the other day after reading a bunch of comments here on HN recommending it. It really bugs me that with all the connectivity I have already, it's still not enough to get it on my TV.

My Denon receiver has AirPlay, but audio only. My PS3 can steam DLNA, but that doesn't work because of the DRM.

So basically, I have to either go buy long cables to hook up my PC (10m+), short cables to hook up my Air (which would only ever be used for DRM'd iTunes content), or an Apple TV. Not very convenient when I could just pirate it.

</comment><comment><USER3> I would agree with this. I have "friends" that used to pirate everything, and now they use Spotify, Netflix, etc.

</comment><comment><USER4> I would say it probably has something to do with the devices. It used to be you pirate songs and videos to play them on your computer. These days, however, it's smart phones and ipads/tablets. Not as easy to get that content on those devices. Much easier to stream than copy over.

</comment><comment><USER5> Piracy has never been about the money. At least not for me. It's about not being able to pay for what I want in easy way. Some things I would love to pay for, because they're good and I want to see more like them, are not even for sale.

<comment><USER6> There's that, and the "legal" ways of consuming content even once you get it is just so painful. Usenet provided movies have, generally, ... the movie. When you get a DVD, it's a half dozen un-skippable ads, warnings, and other crap I'm forced to pay for and watch that I DO NOT WANT.

</comment></comment><comment><USER7> Isn't Netflix adoption much much greater than all the streaming music services combined?</comment>


The Itanium processor, part 1: Warming up - <AUTHOR> http://blogs.msdn.com/b/oldnewthing/archive/2015/07/27/10630772.aspx <comment><USER2> One of the best benefits of Itanium are its security features:

[http://www.intel.com/content/dam/www/public/us/en/documents/...](http://www.intel.com/content/dam/www/public/us/en/documents/white- papers/intel-itanium-secure-white-paper.pdf)

These are rarely discussed. However, Secure64's SourceT OS got plenty of mileage out of them. You might not be able to argue for Itanium on cost, performance, or ease of use. However, one could argue for it as a better start on secure OS's or appliances. Unlike academic prototypes, it's also in production with high speed and reliability. Let's also not forget you can do reverse stacks and other bug prevention tricks with less performance hit or clunkiness on a RISC architecture vs x86.

Personally, I'd just rather them have modernized the i960MX, minus other BiiN stuff:

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

Targeting a robust, UNIX-compatible OS and C toolchain to it might have let it survive and get continually updated. Then, when HLL's got popular, we'd have a good hardware target for them that supported POLA inside applications. As usual, I'm speaking of great stuff in a past or never-happened tense. Least Itanium made it so far.

<comment><USER3> Here is an interesting (not) security feature: [https://news.ycombinator.com/item?id=9956044](https://news.ycombinator.com/item?id=9956044)

<comment><USER2> Not doing it fully during a procedure call is an optimization. I responded to the comment with links from 2002 and 2005 that showed this along with proper way to save everything to memory. Shouldn't have been a surprise to someone reading up on it.

<comment><USER3> So they used a securely designed component and got bit anyway.

<comment><USER2> That wasn't the security features. It was the features not designed for security and targeting an audience wanting performance enhancements. The kind of thing that often leads to unexpected problems. ;)

</comment></comment></comment></comment></comment><comment><USER4> You can buy old Itanium hardware super-cheap now on eBay. I got an HP Integrity RX2620 for £58 which included tax and delivery.

As hardware goes it's .. interesting. It's fast. But it uses huge amounts of power and requires massive cooling (if you disable any of the 4 or 5 fans in my 2U machine, it overheats in 5 minutes). It has early EFI which should be quite familiar if you've used UEFI on the command line. And it has excellent iLO / remote / serial support so it's great practice for learning about enterprise ops.

It's getting hard to find software that runs on it. The last Debian (Wheezy) runs, but current Debian has dropped ia64 support. RHEL dropped support years ago. You'll find there are lots of strange bugs because people no longer test their software on this platform.

[https://rwmj.wordpress.com/2015/05/03/raise-the-itanic- part-...](https://rwmj.wordpress.com/2015/05/03/raise-the-itanic- part-2/#content)

[https://rwmj.wordpress.com/2014/09/08/raise-the- itanic/#cont...](https://rwmj.wordpress.com/2014/09/08/raise-the- itanic/#content)

<comment><USER5> > if you disable any of the 4 or 5 fans in my 2U machine, it overheats in 5 > minutes

Huh, I would have expected better redundancy given how expensive the hardware must have been at the time.

<comment><USER4> I agree it's strange. If you pull any fan, the machine hard shuts down a few minutes later (it even warns you of this in a note printed inside the case). Presumably if a fan fails and you don't manage to get to it in a few minutes, then you're out of luck. The only good thing is that it _is_ possible to hot- swap a fan in a few seconds if the fan is failing-but-not-failed (if that ever happens - it seems unlikely).

Edit: Would love to know what the list price of my machine was back in 2006. Probably thousands ...

<comment><USER6> > Probably thousands ...

Try 15K euros!

<comment><USER4> Ouch! Thanks. I wonder if anyone ever paid list price for these? AIUI many were given away for educational use and the like.

<comment><USER6> I never got further than a quote. The most exotic hardware I actually bought were a DEC Alpha and a whole bunch of SGI gear (at considerable discount).

</comment></comment></comment></comment></comment></comment><comment><USER7> Brings back memories.. When running SpiderMonkey (interpreter, not JIT) on IA64 it would randomly crash and burn with what looked like GC issues. Values were being collected even though they were still in use. It turned out the mark-and-sweep collector that would scan the registers and stack was working properly, but was not aware that IA64 would not write out all of its registers to the buffer provided to `setjmp()`. You would have to send the processor a `flushrs` instruction to tell it to flush all stacked general registers in the "dirty" partition (not yet written to the backing store) of the register stack to the backing store. After that, you'd need to get the exact pointers to the register backing store and then scan those. Fun times.

<comment><USER2> That comes with the RSE it uses for performance enhancement. The flushrs requirement, etc were mentioned here:

Microsoft on RSE (2002) [https://web.archive.org/web/20021018050724/http://portals.de...](https://web.archive.org/web/20021018050724/http://portals.devx.com/Intel/Article/6834/0/page/1)

Smotherman's notes (2002) [http://people.cs.clemson.edu/~mark/subroutines/itanium.html](http://people.cs.clemson.edu/~mark/subroutines/itanium.html)

USENIX presentation on Itanium (2005) [https://www.usenix.org/legacy/events/usenix05/tech/general/g...](https://www.usenix.org/legacy/events/usenix05/tech/general/gray/gray_html/)

I could see how you wouldn't expect it coming from another ISA and they could be a bit more explicit. It was weird. It was documented, though, by different people building on Itanium. Different workloads use it in a different way for efficiency.

<comment><USER7> Sure.. it was straightforward to track down once you see that a value is in a register but is being collected anyway. I seem to remember the other fun bits were the fact that function pointers were not actually function pointers.. they were pointers into a giant lookup table that contained a struct that contained the actual address of the call. Also, unwinding the stack was so complicated that you could not reasonably do it manually like on nearly any other architecture -- you needed to link in an Intel library to do it. None of these things were giant issues -- it just showed how much of a departure from other prevalent systems it was.

<comment><USER2> Wow, that does sound like a painful learning curve. Curious, were the function pointer problems inherent to the architecture or the tool/lib you used? Might be worth documenting in case a reader stumbles upon this before going through what you did.

<comment><USER7> If you want all the nasty details, this post covers it all:

"This also has a side-effect on function pointers. Since function pointers are generally used at some distance from allocation, they might be used in a module with a different gp value. The compiler gets around this by not compiling a function pointer to a single pointer-sized value; it compiles to a pair of pointer-sized values, one representing the address of the first instruction (bundle on IA64) in the function, the other being the correct gp value to use."

[http://mikedimmick.blogspot.com/2004/01/ia64s-global- pointer...](http://mikedimmick.blogspot.com/2004/01/ia64s-global- pointer.html?m=1)

<comment><USER2> Wow. That's a huge mess of stuff to mentally track just for some optimization. To be honest, I'd probably just end up writing a macro-assembler and coding it directly against a C reference implementation just to avoid all the nonsense lol.

</comment></comment></comment></comment></comment></comment><comment><USER2> HN readers interested in VLIW architectures might find the TRIPS project a good read:

[http://www.cs.utexas.edu/~trips/overview.html](http://www.cs.utexas.edu/~trips/overview.html)

It tries to avoid some pitfalls of architectures such as Itanium. Seems fairly complex to me, though. Might be inherent in EDGE and VLIW's, though.

<comment><USER8> And there's the Mill if you're willing to be somewhat more exotic. [http://millcomputing.com/](http://millcomputing.com/)

<comment><USER2> It's a very interesting architecture that I've heard about on paper for a while now but never seen on silicon. Have they done anything with it on ASIC/FPGA or is it vaporware for now?

Talking exotic, look at No Instruction Set Computing (NISC) which was at least prototyped and published synthesis/compilers:

[https://web.archive.org/web/20080302041756/http://www.ics.uc...](https://web.archive.org/web/20080302041756/http://www.ics.uci.edu/~nisc/)

Really interesting stuff. Reminded me of Tensillica's tools that create a custom processor for your application. Need to accelerate your Hadoop, etc application? Run most of it on Intel CPU with an onboard FPGA & NISC tools doing the critical path. Intel's Altera acquisition might make something like that achievable in future.

Note: Used archive because their site is having a configuration error.

<comment><USER9> Last I heard, the Mill guys don't even have a compiler working, but do have a simulator. Not sure what they're simulating.

<comment><USER10> Their June talk was about their compiler and toolchain, which borrows heavily from LLVM. It's almost certainly not done, but they do have something more than just an assembler. They've also started working on implementing it for FPGA, but only as a proof of concept rather than something intended to be ready to make into an ASIC.

</comment></comment></comment></comment></comment><comment><USER11> There are some embedded chips that use VLIW. RISC chips need to do instruction scheduling to really get their performance up, but for a lot of embedded task those extra transistors are a waste compared to a VLIW chip where the software can actually do the scheduling well (unlike what happened to the Itanium).

<comment><USER12> In fact, you're quite possibly using a VLIW chip right now: your GPU.

<comment><USER11> I though most of them switch when the whole GPGPU movement happened?

<comment><USER13> AMD is a VLIW architecture, NVidia is not.

Correction: AMD GPUs were VLIW when I took a class on GPGPU in 2011. Apparently, AMD subsequently switched from VLIW: <[https://en.wikipedia.org/wiki/Graphics_Core_Next>](https://en.wikipedia.org/wiki/Graphics_Core_Next>).

</comment></comment></comment></comment><comment><USER14> What separates Itanium from other processors?

<comment><USER15> VLIW architecture with predicated execution.

<comment><USER16> I don't think predicated execution is unheard of, ARM has the same concept (although it's limited to flags instead of what seems like one-bit registers). The feature has since been dropped in AArch64 though.</comment></comment></comment>


The Apple Watch's Insanely Great Economics - <AUTHOR> http://www.wired.com/2015/03/apple-watchs-highlow-branding-insane-economies-scale <comment><USER2> It's kinda weird to suck up to Apple by claiming it's a great strategy upfront without there being any proven sales success.

I don't think there is much of a demand for smart watches and the luxury edition will make many people think if they want to support a company that offers outrageously priced products along with normal priced products, as both hipsters that can easily afford apple products and wealthy people might not vibe with a dual strategy like this.

<comment><USER3> One of the Tested guys pointed out there was a big hazard with Apple eroding the feel of it's brand - no matter who you are, if you buy an iPhone then you have the same iPhone as any celebrity.

With the watch...that's only going to be kind of marginally true: you'll have the same electronics package, but there's an importance psychological difference when Apple is also selling the $10,000 Kanye-edition watch in the same store (and has to publicly assign importance to that - they can't do that and then publicly be smug about it being a waste of money).

<comment><USER4> Legit point.

However I will point out that it hasn't hurt Beats headphones. They are VERY big on celeb' endorsements, but sell tons of different editions/looks. Their brand and ability to sell $14 headphones for $200 hasn't been damaged.

<comment><USER3> But they don't sell $10,000 headphones direct. And Beats has the same model: "same as the stars use to mix their tracks".

Of course that's complete garbage, but its a much easier sell when the only headphones you sell are an affordable $200-400 range with "justifiable" reasons for it.

<comment><USER5> Watch doesn't work as a Veblen product because it falls into the uncanny valley of _not quite_ being unaffordable enough.

A $1,000,000 watch in a limited edition of 25 would do much less damage to the brand than a $17,000 watch in a limited edition of ????

Median buyers know that they can never afford $1,000,000 for a watch. So at that price it remains a celebrity fantasy product, and some the fantasy gets reflected onto the rest of the range.

$small-number,000 is - paradoxically - almost, but not quite, affordable. It's not any more expensive than many cars, and people buy those all the time.

But the only extra value is the case and the strap. So it looks a like you're paying a lot to pay a lot, and getting something very mass market for the money.

With a nicer strap and case. But people don't buy watches for the strap or the case.

Now you have an "exclusive" product that isn't producing the right exclusivity signals, but at the same time it's expensive enough to seem gratuitously and irritatingly unreachable.

There's nothing insanely great about this. I don't think Steve Jobs would have done it. (I mean - who knows? But historically, there's good reason to suspect this wouldn't have worked for him.)

</comment></comment></comment></comment></comment><comment><USER6> I've now read that Apple Watch Edition gold has more gold per unit volume (this article, [0]), and less gold per unit volume ([1], [2]). Which is it?

[0] [http://arstechnica.com/apple/2015/03/is-apples-real-watch- in...](http://arstechnica.com/apple/2015/03/is-apples-real-watch-innovation-a- gold-case-thats-as-tough-as-steel/)

[1] [http://pdfaiw.uspto.gov/.aiw?PageNum=0&docid=20140361670](http://pdfaiw.uspto.gov/.aiw?PageNum=0&docid=20140361670)

[2] [http://www.businessinsider.com/apple-watch-special-gold- cera...](http://www.businessinsider.com/apple-watch-special-gold-ceramic- alloy-2015-3?op=1)

<comment><USER7> More gold per unit volume than what?

Early reports mistakenly reported that Apple was using a gold-ceramic mix, which would result in less gold used by total weight. However, these reports turned out to be nothing more than speculation, and Apple is apparently using a relatively normal high-end gold jewelry alloy (without ceramics). As such, the Apple watch should contain a fairly typical amount of Gold for it's volume.

</comment></comment><comment><USER8> "We're okay with one brand making everyone's cellphones, because no company could do so without enormous scale"

Is this claim backed from any market figure? I believed there are far more Android phones than iPhones.

Anyway, most of the reasoning in the post is sound but I wonder how a smart watch (Apple or anything) will appeal to people that grew up without wearing watches (it's been only a fashion statement in the last 20 years) or decided to do without it (like me since the beginning of the '90s, there is always a clock around). Is this market really going to be as large as the one for phones?

<comment><USER9> You didn't think about what you said. Yes, Apple only has a small market share but they are one of the biggest manufacturers.

[http://www.macrumors.com/2015/01/28/apple-samsung- strategy-a...](http://www.macrumors.com/2015/01/28/apple-samsung-strategy- analytics-q4-14/)

I see the new smart watches as a new market. Health and fitness will convince many people to buy the new wearables.

Since Apple is always a premium brand, I wonder if Pebble or Android is going to be the new dominant wearable brand.

<comment><USER10> Agreed re: new market + health & fitness. It's worth remembering that our phones aren't really phones– they're really computers with "phone" as one of the apps on it. And there wasn't really a big market for it when it launched (outside of geekdom), until people started discovering how useful it was. Facebook, Twitter, etc are things that people can do on the subway with their pocket computers.

Similarly, I think if wrist computers take off, it'll be because of the health/fitness tracking stuff, rather than anything to do with the time.

</comment></comment></comment><comment><USER11> I find the idea that writer thinks they have a chance competing with $17,000 Rolex watches laughable. Yest they may all be machine made, but they long heritage and are globally recognized as a high end watch.

<comment><USER12> Moreover Rolex are said to retain their resale-value pretty well.

A Rolex can live 30+ years, be re-sold or inherited many times, and still work like on the first day. Some of them even increase in value.

Resale value of the Apple watch? Well, after 2 years it's a slab of gold with obsolete electronics inside. After 4 years it's a slab of gold with obsolete electronics and a dead battery inside...

In just a few years your $10k watch will be worth as much as the material its made from, minus the cost to salvage it...

<comment><USER13> I think they will do an exchange program for the gold watches when the second version will be out.

<comment><USER3> Doesn't matter. A watch you get upgraded every year? It's not a watch - it's not a complete item any more. Rolex's retain their value, in part, because the complete item stays in service - thus the history of the device is maintained.

</comment></comment></comment></comment><comment><USER14> I'm still not sold on the idea of a 'smart watch'. And I'll admit I have a thing for mechanical watches, so if I'm going to spend hundreds (or thousands) of dollars on a watch, it's probably going to be a nice 'real' watch, rather than one of these things. And for a 'sports' watch, just a cheap velcro-strap casio/timex with a stopwatch function is all I need.

Until these watches integrate real 'phone' capabilities (so I don't have to _also_ carry a bulky smartphone), I just don't see the point.

<comment><USER15> Great points that I agree with. For many people the ubiquitous phone has replaced the previous _need_ for a watch. Now if someone wears a watch it is typically solely for fashion.

If like you said, a watch could stand on its own as a communication/fitbit device then it might take off. Perhaps Apple is simply out front here?

</comment></comment><comment><USER16> "A hundred-dollar gadget would have to sell to virtually every middle-class family in the country to yield meaningful revenues for Apple"

Since when does Apple only sell to one country? Last time I checked, the US accounts for less than 5% of the population of this planet

<comment><USER17> But the US accounts for a lot more than 5% of the people willing to buy their products. My guess would be closer to 30%.

<comment><USER16> Right now it's certainly closer to 30% than 5%, but I imagine a well made $100 Apple device would sell really well in India and China. I doubt it would be a good investment for Apple, but the problem isn't that there aren't enough people to sell to.

</comment></comment></comment><comment><USER18> It's interesting that "luxury" gets invoked so often around this watch, compared to Rolex, etc. It's pretty clear they're going for the Veblen goods [0] category. No need to rationalize functionality, either.

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

</comment><comment><USER19> Disagree with the author's claim that making a $17k watch would be bad for G Shock. It would do phenomenonally well in the hip hop community, promote the G Shock brand, anchor the other watches' price point, and be a great contest giveaway

</comment><comment><USER20> You can count me as a big fan of Apple products. For me, the Macbook Air is about the perfect laptop. Apple networking devices have served me pretty well over the years. I've used an iPhone for years (since the 4) and see no reason to change. My iPad is easily my most-used computing device at home.

However, I have no desire to get an Apple Watch and I just don't see it being a huge market.

Now you have a lot of people who don't wear watches. Are they suddenly going to start? I'm skeptical.

For those that do the reasons tend to boil down to need, desire and habit.

"Desire" is the easiest category. Many people like fine (generally Swiss) watches. Some just for the perceived "status". Others because they're geeks for watch movements. I can't see them buying into _any_ smartwatch.

Normal watches aren't wind-up. Wind-up watches are wound daily. Watches with batteries can last years on a single battery. Self-winding watches last basically "forever" (wear in the movement means servicing every 5 years or so).

Who really wants a watch that you need to separately charge every day?

Let's look at the applications. And here Apple has taken an unusual approach in what I tend to call shotgun marketing. They tout 9 or so use cases. Usually Apple tends to focus on 1-2 key use cases and even then they talk about them in terms of experience. Go back and look at old iPod ads to see what I mean. Obviously an iPod is a single use device (ignoring the Touch) but the same applies for iPhone/iPad advertising.

Fitness is one such category. It's unclear if their heart rate sensors are suitable for, say, running. Fitness HRMs are almost exclusively done with a chest strap. It's much more accurate and reliable although less convenient. There are other devices that don't use a strap (like the Basis watch) but, for this reason, they're not suitable for exercise.

But I guess the HRM functions make it fine for tracking your _general_ activity during the day.

Which is why Apple touts "medical research".

The whole heart rate "sharing" and tapping someone's arm strikes me as gimmicky, even creepy, but who knows? Maybe there's a market for that.

The sort of person who doesn't want to take their phone out to make a phone call is the kind of person who has a Bluetooth headset.

Being able to glance at texts or emails? Maybe... but is it something people will pay $500+ for and charge every day?

Wrist watches came to exist because seeing the time on your wrist had a lot of uses and is pretty convenient. The smartwatch movement is attempting to co-opt that form factor but really what is the killer use case(s)?

Apple is a pretty conservative company and doesn't tend to get into markets without good reason, which is the _only_ reason I'm watching to see what happens. Anyone else and I'd simply dismiss it.

Apple have had other products without widespread appeal like the Apple TV. Sure it's sold millions of units but not, say, the 70M/quarter kind of numbers the iPhone is up to (I believe it's probably <20M over the life of the device) but Apple hasn't put their full weight behind Apple TV like they seem to be with the watch.

I'll be shocked if this turns into a major product line (in terms of revenue) for Apple.

</comment><comment><USER21> I think they're going to get killed on the luxury end. People buy Rolex and Hermes and Vuitton to get exquisitely made and differentiated items that act as status markers. The prices are out of all proportion to the utility of the items, and everyone knows the margins in those prices are enormous, but there is at least some story of manufacture and design behind that price.

Apple's "story" for a $17,000 watch is, that's how we priced it. It's an arbitrary decision without any plausible claim behind it. Any one buying one of these things is marked, not as a person of taste and means, but a sucker.

Apple, of course, claims industry-leading margins on its products because of its brand, and that brand is founded in part on design and appearance. But it's more of a "style" brand than "luxury" \-- the items aren't expensive beyond the reach of most people. They can mark an owner's taste, but not, past a certain point, their means.

My fear is that Apple is allowing this luxury approach to taint its whole approach to the watch. Watches are definitely different than other technology, because they're constantly on display, and so many people insist the appearance of the watch fit their overall look. That does require a variety of looks and bands and such. But Apple has decided to position the watch as other watches are positioned -- either high-end luxury items, or more accessible but fashionable brands.

It's a missed opportunity to re-invent the branding and positioning of watches. What if Apple had instead recognized the need for options for the appearance for the watch, but had instead priced them simply on the basis of manufacture and development? The message could have been that next step for technology is to admit enough variety of appearance to blend in with a user's preferred look, without sacrificing the convenience and enablement and cost advantages of technology in the first place. "A watch for the rest of us" could have been a device that left the luxury people behind, stuck with a tradition that did less for them than that of the wider population.

Better still, such an approach could have been a big step against the idea of technology as commoditizing and homogenizing. It would have been an opportunity to look at technology, not as simply utilitarian, but a real opportunity for the expression of personality.

Apple would have been far better off, and far more revolutionary, to quietly say that marking status with contrived pricing for outmoded technology is just silly. Better to mark one's self with one's choices, within ranges available to many, and achieve status by the quality of those choices. They might have created a brand that in ten years made Rolex look ridiculous, and opened some really new approaches to thinking about how technology can interact with fashion.

</comment><comment><USER22> > We want not be dominated by our technologies, but rather, to control them.

If that were true then nobody would choose Apple products, which always lack control-features that are offered elsewhere. It starts with their hardware and continues on throughout all of their software. Apple is the company of "one button" and "why would you want to do that?"

Their most basic mode of operation is to offer the bare essential amount of control to users. It's a great way to do business for them because it costs less to make things that have fewer options and if they perfect the few options that they do offer, then they can claim to be "better" than other products.

Apple products will force you to do things the "Apple way" and if you don't like it, then you're not going to have a good time. If you do like the Apple way, then perhaps you can fool yourself into believing that you actually have some control over your technology.

<comment><USER23> I guess you have never used a MacBook.

<comment><USER22> And I'm guessing the only reason you're guessing that is because you think Apple products are the greatest and you could never imagine anyone not liking their stuff?

No, I actually have a Macbook Pro sitting right next to me and we have iPads, iPods, iPhones, etc. throughout the house. I actually recommend them to users who don't care as much about control, which is most people. They're just not for me though.

<comment><USER23> You feel you don't have control of your MBP? You just need to do some research, it is more congigurable than you realize.

<comment><USER22> Which Macbook can I choose that has 2 physical trackpad buttons instead of just one multi-touch pad? I need it because multi-touch sucks for video games, but Apple only offers the one option. How about a laptop with a number pad? You don't get these choices because it's bad for Apple's bottom-line.

I'd also like to replace the OS X Dock with a Taskbar app, but all of the taskbar apps have the same bug because Apple doesn't let software developers modify the NSScreen.visibleFrame property (only the Dock can do that). So, windows always end up behind the taskbar. On Windows all of the APIs are there to replace the Taskbar with a Dock if I want to.

I'd also like to turn off the Macbook display when plugged into an external monitor.

<comment><USER24> _> I'd also like to turn off the Macbook display when plugged into an external monitor._

sudo nvram boot-args=niog=1

[http://apple.stackexchange.com/questions/152203/turn-off- mac...](http://apple.stackexchange.com/questions/152203/turn-off-macbook-pros- display-while-connected-to-external-monitor-on-yosemite)

<comment><USER22> Right, but according to one commenter "This works once you boot. But only until the computer goes to sleep. Waking it back up turns the built-in display back on." and according to another one there is a three step process which must be implemented on every single boot.

So, wouldn't you agree when I say that _Apple_ just doesn't give you the option?

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> by giving up hours, all of the precious times your phone is put away and you can fully participate and be present in the world around you, you can save seconds a day.

</comment><comment><USER4> > "There are very few products that allow you to hand someone cash and be > given back time. This will be the Apple Watch metric to track: time saved."

Except all the other smart watches, including much better designed ones like the Moto 360, released in the past year and a half before Apple got into the market? Pray tell what is the Apple Watch's USP? The iPhone lock-in?

I don't own a smart watch, because honestly the only explanation for them existing is: "it is too much work to take my $500 smartphone out of my pocket." This article is clearly a puff piece, and even its only argument for the device is "time saved" (which I'm guessing refers to that 5-7 sec it takes to get your phone?).

Seriously someone please explain to me why you'd want this $350 brick or even a $250 360? That's half the cost of a smartphone again and only so it can relay events/info from your phone to your wrist?

PS - I loved Wired quoting TechCrunch. That's great "journalism" right there.</comment>


It's Financial Suicide to Own a House (2015) - <AUTHOR> https://jamesaltucher.com/2015/10/its-financial-suicide-to-own-a-house/ <comment><USER2> Yes, and the need to support the banking industry is why we can't have proper tenant protection. People don't buy because it's a good investment, they are sick of the fact that in America it's impossible to get someone to perform according to contract. If you own and the sewer line has collapsed you have it fixed. If you rent, it's an ordeal and like pulling teeth, and there is no recourse for having to live with shit for three months.</comment>


LightSail Energy Storage and the Failure of the Founder Narrative (2016) - <AUTHOR> https://www.greentechmedia.com/squared/read/LightSail-Energy-Storage-And-The-Failure-of-The-Founder-Narrative <comment><AUTHOR> My thoughts on this: At some points, it feels like Wesoff (who left as editor of GTM today) goes out of his way to beat up on LightSail. But at the same time, this article has a bunch of information that really isn't published anywhere else. It seems that most articles on startups are really just re- dressed press releases, which means it's hard for outsiders (or frequently even customers) to get accurate information.

<comment><USER2> for some reason he equated the fact that we paid for lunch once a week, with the fact that we had financial difficulties in the 2015-2016 time period. somehow, the truth of the matter, which is that cleantech financing for private companies focused on technology had been on life support since 2011, and that in 2014 there was a terrible financing

that's not the only bad journalism here, either. he took my quote out of context, and though he claimed to call up 10 employees, he didn't actually talk to all of them, one specifically told us that he "only needed to say he spoke to him" and then hung up. i don't know what he js against us, but he definitely didn't attempt to get a fair or complete picture. if he had, he'd have talked to any one of the founders or the board, at least to get our perspective, not to twist it. i don't know why he imagines that his brand of heavy hitting editorializing is more accurate. it's just meaner.

there are probably numerous thing that we could have done better, and differently, but a, we are still around as a business, when almost all other cleantech companies are dead or in trouble. we have a decent shot at developing a great business around to production of carbon fiber pressure vessels, and these can be used, in a number of ways, to get really cheap, high density energy storage -- beyond compressed air, which is sadly being overtaken by lithium ion at the moment.

re: articles on startups, not our fault. journalists write the stories they know how to write -- in the tech press, basically hype or scandal. what we put in our talks and website and comments afterwards is fairer criticism, we can do something about it. i always tried to state as clearly as possible what the actual situation was, and where we were, and answered sometimes dozens of comments and questions per article. but we haven't responded to gtm after we were abused this way; frankly, what's the point of providing more content for them to sell subscriptions. but hn, that's my turf and my people, so thanks for asking the question.

you can reach me at daniellefong at daniellefong.com

if you want more</comment></comment>


Samsung Abandons Android in Its Low-End Smartphones for Tizen - <AUTHOR> http://www.forbes.com/sites/ewanspence/2014/11/21/samsung-push-tizen-to-low-end-replacing-android/

<comment><USER2> I think the issue here is that Tizen can most likely only ever succeed on low- end smartphones, not high-end ones. The reason for this is simple. If people are dropping $700+ outright for a high-end phone, they want to know that not only will it come with support but also a wide selection of apps that rivals those of what their iPhone loving friends have in the appstore. High-end phones come with expectations of the buyer, low-end phones because they are cheap, have little expectations from consumers as they know they are spending very little.

The issue with a new operating system like Tizen is that it is yet another platform to develop for and as Microsoft have proven, it is no easy feat to release a new operating system and get people to build apps for it. Unless the tide dramatically changes, Tizen will not get very far. They can perhaps dominant the low-end market, but even Android is doing a good job with that without Samsung's help.</comment>


Ask HN: What would you do with 1Gbps to the home? - <AUTHOR>

More specifically, what types of products and services would you create in a world where 100+ million homes in the US had 1Gbps internet connections?
Equivalently, when's the last time you've been thinking about a business idea or a product feature, and thought to yourself, "this would be great, but people don't have enough bandwidth?"
I talk with lots of people in telecom, and the perception is that there is no general demand for connections faster than about 10Mbps downstream, except to the extent that people want to keep up with the Jones' or get the best 'value' possible.  I always answer with the standard party line about how we can't even conceive of the type of services that will use super-fast connections until we have them.
But seriously.... what are we going to do with 1Gbps?
(Personally, I'd like to see better latency, jitter, and packet loss characteristics become widespread first.  A 1Gbps connection will still suck if there is a possibility of your packet getting caught in a buffer for 300ms.) <comment><USER2> 1) High-res voice and video over IP.

2) Streaming HD movie rentals

3) All-services-in-the-cloud - store even my larger chunks of data (like music, movies, etc) on a cloud service.

4) Taking this one step further, if the bandwidth really is that cheap and plentiful (and reliable), this may obsolete the concept of having your own media... Why bother keeping tens of gigabytes of music locally when any song you want can be downloaded in a tenth of a second when you want to listen to it? Why keep even more movies when you can download whatever you want instantly?

One of the consequences of this would be to make storage a whole lot cheaper by demolishing the demand for it. Only big cloud providers would bother buying hard drives anymore.

5) Why not stream the entire OS experience? Turn every computer into a dumb terminal that just displays images sent by a server that never crashes, never has slowdowns, can scale in parallel indefinitely... could make most applications instant. Never wait for a photoshop filter again. It would turn the OS licensing model on its head.

6) Obsolete TV for good - with that much streaming content being that ubiquitous, why would even TV stations bother with broadcasting on the air waves? HD content with personalised ads for everyone.

Edit: Note that I am assuming a high-quality 1gbps link - i.e., 50ms latency or so. Not some crazy hack with huge buffering in the ISPs that means that while they technically deliver 1gbps, they only do so for static content downloaded by a lot of people - I don't call that a 1gbps internet link, I call it a TV.

</comment><comment><USER3> First I'd increase my TCP window size. Otherwise I'd be latency limited :)

Being an IT Director I try to think of what I can't do without my local 1Gbps LAN. I'd say a big one is computer re-imaging. With that type of band you could build a good reference OS install and push it anywhere in the world that had a similar band.

I'd also turn this around and say "how will the content providers deal with that kind of demand?" Serving thousands of users at those speeds is a non- trivial task. The bandwidth demanded from the server is a multiple of the bandwidth increase to each client. If you solve this, your customers will have big money on the table. Rather than figure out the "what" will go over those links I'd figure out the "how".

With the current applications I'd say latency is a bigger issue. 100Mbs at <50ms is more useful than 1Gbps at ???ms. I don't buy the idea of "dumb terminals" AKA "web OS" without less latency. The biggest reason I use RDP, VNC, or Citrix is to trade a bandwidth issue for a latency issue, so why would more bandwidth == more terminal usage? If anything I'd expect the reverse.

<comment><USER4> Server performance has outstripped Internet performance for so long that I don't think this will be a big problem. A $2,000 server can probably serve 10 Gbps from RAM... if you actually use your processor power instead of wasting it. Throw in cheap private peering and CDNs, and you can solve the bandwidth and latency problems at the same time.

</comment></comment><comment><USER5> As it stands, it seems the only real demand for ultra-highspeed (40Gb/s+) is in the data centers of the facebooks and googles of the world trying to shuffle around all the data between their own servers. I don't think the average home user really cares about moving around petabytes of metadata around a network so I can't really come up with any ideas based on exisiting needs for such speed.

Other than multiple HD streams and telepresence type stuff I am at a loss for ideas that don't completely ignore efficiency of the traffic. Certainly, I can saturate a 1Gbps link, but I can typically do the same with less bandwidth. You'll probably see a lot more of consumer cloud based computing and such assuming the latency and whatnot is also solved in the process.

</comment><comment><USER6> _1) High-res voice and video over IP._

Yes. And by high-res, I want fully immersive experience: the feeling of being there. I spend so much time on skype or on the phone talking to people remotely: it's BAD.

 _2) Streaming HD movie rentals_

This only requires 20 Mbit/s tops. It's already available today in several countries. I don't need 1 Gbit for that.

<comment><USER7> _2) Streaming HD_

Given that large a pipe, I'm sure higher quality sources would start being available, that start at 20-Mbit and only increase from there. Throw in 3D, which for some reason is seeing a resurgence, and you easily increase the bandwidth requirements.

Also latency. Streaming movies seem to require a large buffer such that scrubbing back and forth on the timeline (to find where you left off of) is cumbersome. Taking advantage of a faster link would improve that part of the experience.

<comment><USER8> I'd have a room with rear-projection screens for walls. The wallpaper & hanging pictures would change depending on who came over.

It would be used to virtually attend concert events.

There'd be some sort of virtual reality mode that scaled images to adapt and make the corners invisible, so it could look like I'd be eating my microwave dinner at the top of Mt. Everest, or underwater in a coral reef.

</comment></comment></comment><comment><USER9> I would do what I have always wanted to do. Write a small scale search engine as a hobby. I have run crawlers before but always ran out of bandwidth long before I could get any sizeable portion of the web.

Huge amounts of bandwidth would solve that issue for me.

</comment><comment><USER10> Download Real Player and turn off the buffer.

Seriously, though, if Google were to provide a static IP I would start hosting small web projects from my house.

</comment><comment><USER11> Real time, FULL, non-PITA offsite backup from the home office.

(Some of my artistic endeavors can generate a lot of data quickly. Upstream is slow, and I could exceed my bandwidth cap in the course of a month.)

</comment><comment><USER12> Synchronous or Asynchronous? Honestly I don't have use for more than 10mbps or 20mbps downstream. I'd kill for 100Mbps upstream, though, so I could either back up all of my media on a remote server, or just store all of my media on a remote server or (sigh) "the cloud".

My camera currently generates raw photos that are 22MB in size, and if I get shutter happy, it's not too difficult to fill up a 16GB card, especially at a concert or a big event. Keeping my media reliably backed up is pretty difficult, and currently involves two hard drives, one of which I bring with me to my Seattle datacenter whenever I can. And forget about Video, I have 2TB of high-res home video just waiting to be lost in the event of a dual spindle crash.

The other thing would be to use some sort of telepresence service for chatting with my daughter, who lives with her mother. All of the normal video chat systems (skype, yahoo, google) are pathetic imitations of what popular science promised we would have had 20 years ago.</comment>


Google to Reimplement Curl in Libcrurl - <AUTHOR> https://daniel.haxx.se/blog/2019/06/19/google-to-reimplement-curl-in-libcrurl/ <comment><USER2> The curl author writes in the linked article that Google has a right to do this both morally and legally. He should check with a trademark lawyer immediately since they don't have a right to pick such a confusing name and the curl trademark is probably strong enough to be enforceable even in unregistered form. (I'm not a lawyer and this is not legal advice, but I have been involved in administering and enforcing other open source trademarks.)

<comment><USER3> While that may be the case, given that he says they are _morally_ within their rights to do it implies that he won't want to consider a trademark dispute.

(Also, just to point out, lawyers cost money, and I wouldn't want to pick a fight with Google's lawyers if I didn't have to)

<comment><USER2> He may have been considering just the moral rights to fork and ship a derivative, not the confusing naming which he called out himself in the article. But indeed it's possible he doesn't care about sustaining or enforcing the curl trademark. Or he didn't know how the trademark laws can still apply without a formal registration.

And you're right, Google legal is not easy to go up against. But maybe they haven't yet been consulted on this plan and would agree with a politely but firmly worded letter from him on the naming question specifically. The original public source of these Google plans is merely an issue in the Chromium bug tracker, not yet a fully vetted blog post or press release.

<comment><USER3> That's a very fair point.

Though it would probably be prudent to try sending an email with "hey, do you mind changing your name to something else" first.

Then again, given the article and a bit of HN Buzz, that may already be happening.

Definitely worth you pointing out the rights that the author likely has in the comments though.

<comment><USER4> I wish Google learned from Go/Golang (i.e., where a nontrivial number of people refer to Go as Golang, much to the displeasure of some of the authors) and use names which are easy to search for.

I'm not looking forward to people mistyping libcrurl as libcurl and people having to second guess what the intention was.

curl might not be a trademark but EU has 'moral right of the author' rules. In my mind libcrurl is right up there with a search engine named G00gle or a software company named MikeRowSoft.

<comment><USER5> > where a nontrivial number of people refer to Go as Golang

[https://golang.org/](https://golang.org/)

Simple names in the era of the web are not always a good idea. Also see [https://www.r-project.org/](https://www.r-project.org/)

<comment><USER4> Sadly, there's a fair amount of sniping[1] in parts of the Go community if you use "Golang" instead of "Go".

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

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Hey, Will from Google's Open Source Office here.

I apologize for the confusion this caused; that was certainly not the intent. Mea culpa! The name "libcrurl" was just an internal working name for this effort that wasn't expected to gain much attention.

This project is still very experimental in nature (as discussed at [https://bugs.chromium.org/p/chromium/issues/detail?id=973603...](https://bugs.chromium.org/p/chromium/issues/detail?id=973603#c4)), and there are no plans here to try and replace or compete with libcurl. We have huge respect for the tireless work Daniel does to maintain curl, and didn't mean to cause any confusion or extra work for him.

To make things clearer, the team is renaming the project, and adding some more docs outlining the goals and intent of the project: [https://chromium- review.googlesource.com/c/chromium/src/+/16...](https://chromium- review.googlesource.com/c/chromium/src/+/1652540)

</comment><comment><USER7> I've read the title as "Google to reimplement curl in libcurl". I only noticed the libcrul after reading the article so they certainly have a point that's it's very confusing.

<comment><USER8> Googling for "libcrurl" currently gives you a "results for _libcurl_ " as an autocorrect. If Google succeeds you'll get the opposite.

I'd say the name is definitely too close for comfort.

<comment><USER9> It would be interesting to keep track of what the results will be in several search engines across time when you type:

'libcrul'.

Will the suggestion be a) you switched the 'r' and 'u' and get libcurl, or b) you missed an 'r' and get 'libcrurl'.

</comment></comment></comment><comment><USER10> [https://groups.google.com/a/chromium.org/forum/m/#!topic/chr...](https://groups.google.com/a/chromium.org/forum/m/#!topic/chromium- dev/0TmXyy_G9_o) suggests this is an intern project. My guess is that some proof of concept will be committed, then the internship will end, then nobody is going to use this for anything, and in a few years it's going to be deleted again. This seems more like a project that's happening because it's technically possible, not like one that's actually all that useful.

<comment><USER11> Ouch, that's a rough start to an internship, being called out on the front page of HN like this.

<comment><USER12> It'll make for great fodder in their YC application

</comment></comment></comment><comment><USER13> Some context here: cronet is a high-performance HTTP/QUIC library. It seems to be promoted as an alternative to HttpUrlConnection and OkHttp for Android developers, with a Java API and implementation in C++.

I'd guess this bug is more about making it easier to use from C.

[https://developer.android.com/guide/topics/connectivity/cron...](https://developer.android.com/guide/topics/connectivity/cronet)

[https://medium.com/@cchiappini/discover- cronet-4c7b4812407](https://medium.com/@cchiappini/discover- cronet-4c7b4812407)

</comment><comment><USER14> Their motivation isn't really made clear in the bug (easier for developers to switch to is a little too vague), but if I had to guess, I'd bet the actual reason is that they want the debug/insight/whatever features from cronet available to all the third party dependencies in their monorepo, and a shim was the easiest way.

Doesn't make it a good look, though.

As an aside: Given history with Google's other OSS libs, I have absolutely no faith in them having a concept of a stable ABI, or even API. This is anecdotal of course.

<comment><USER15> It sound to me more like they want an easy way to exercise QUIC.

<comment><USER14> Possibly, yes.

Although, having a usable QUIC library and/or adding it to libcurl would have been less controversial.

</comment></comment></comment><comment><USER12> Woah, I feel like this is all blown out of proportion.

AFAICT, nobody's actually trying to replace the curl that people will have installed on their workstations or laptops.

The cronet http/quic library (cronut url: crurl) could use some command-line tools to test it and make the underlying protocols (e.g., quic) useful outside of a browser. I think this is a test tool/utility to ship with that library. I don't think it's going to be installed by default anywhere. Maybe I'm wrong? I think the name was chosen only to indicate how it should be used ("like regular curl"), not to indicate that it's a competitor. curl does all kinds of useful things that I don't think this one is intended to do.

I don't think the authors are trying to replace curl, as much as imitate it for a development utility.

But, I can imagine that it sucks to spend a ton of time on developing proper curl and suddenly hearing that Google's going to replace it with one developed by a big team of big-company engineers. I don't think that's what's going to happen, but I can imagine that Daniel Stenberg had a nasty pang in his heart when he heard about libcrurl's curl implementation.

[disclaimer: I'm an ex googler that did some work on chrome while never being part of the chrome team, I don't think I know any of the involved people]

<comment><USER16> > I think the name was chosen only to indicate how it should be used ("like > regular curl")

Or, like my colleague just suggested: to improve typesquating in search results. Considering it is both a Google thing and as mentioned before an internship both are likely.

</comment></comment><comment><USER15> Only hacker news can impute so much malice into the plans of an intern. If she can really disrupt free software in only 12 weeks then good for her I guess.

<comment><USER17> Interns at Google (and other large companies) almost never come up with their own projects. Rather they choose from a list created by their manager and their manager's manager, typically from a grab bag of smallish projects that were already on the roadmap. Whether or not there is malice (or just impoliteness) in this, dismissing people's concerns about _Google_ because libcrurl is just "the plans of an intern" is a non sequitur.

</comment></comment><comment><USER18> If Google is just hoping to get their new protocols implemented in something curl-like, they ought to implement them in curl and send it upstream.

However, it's totally fine to provide several implementations of the same API. If it applies to Oracle's Java then it applies to Daniel's curl, even if we like one more than the other.

HOWEVER, that name has got to change. If an unambiguous pronunciation is not evident then it comes off as a deliberate attempt to muddy the waters and capture mindshare of an open source project.

</comment><comment><USER19> Somewhat related, the reason curl is called curl: [https://ec.haxx.se/curl- name.html](https://ec.haxx.se/curl-name.html)

<comment><USER20> Thanks; i always love reading little nuggets like this!

<comment><USER21> Boy do I have the page for you...

[https://wiki.debian.org/WhyTheName](https://wiki.debian.org/WhyTheName)

</comment></comment></comment><comment><USER22> "libcrurl" seems tailor-made to cause confusion.

If they wanted to follow usual fork/clean-room-implementation alternative norms, they could use some kind of synonym for "curl" such that the intent is clear without being infringing.

Suggestions:

\- libcoil

\- libtwist

\- libcrimp

\- libswirl

</comment><comment><USER23> > pretty strong indication that their API will not be fully compatible

If the compatibility problems are from an incomplete implementation of the API, it will simply be an inferior inferior implementation, perhaps optimized for different uses or environments.

However,if the incompatibility is from an _extension_ of the API introduced after initially _embracing_ the _de facto_ standard set by te widely-used original implementation that is outside their control, it will be a clear example of the Embrace, Extend, Extinguish[2] method. The canonical example of EEE is when Microsoft introduced an incompatible "security feature" in their implementation of Kerberos. Hopefully, Google won't do the same thing to HTTP with a new and supposedly-important "security feature" in their re- implementation of libcurl.

[1] [https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...](https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish)

[2] [https://web.archive.org/web/20140222133423/http://www.networ...](https://web.archive.org/web/20140222133423/http://www.networkworld.com/news/2000/0511kerberos.html)

</comment><comment><USER24> Does this mean that QUIC and other protocols implemented by Chrome will be available through this Google library? That would be a benefit over existing cURL.

<comment><USER13> Yes, I'm guessing Google would want to get all their HTTP-using apps switched over to QUIC (and adopting any other HTTP-level network improvements they come up with), so they'd want to encourage at least their own developers to switch from libcurl to something built on cronet and picking up performance tweaks as soon as they add them to cronet.

Seems like they should also be helping libcurl itself to keep up with HTTP- level networking changes though, given all the software built on it.

</comment></comment><comment><USER25> Back when I forked and redesigned an embedded network analysis and packet dumping tool, I did not change one letter in the name. I gave it a completely different name, and credited the original author, even after 95% of the original code was changed.

The purpose was twofold: 1) respect to the original author whose ideas and work made it easy for me to attempt this project, and 2) I didn't want my bastardized horrible code to reflect on the original project or cause confusion.

Curl is the most widely used HTTP request tool outside of a browser. Calling your fork of it "crurl" is like forking "Linux" and calling it "Linox". This is a dick move.

</comment><comment><USER26> Dear Google Chrome Folks,

Please rename your library.

Thanks

<comment><USER27> libcrurl vs libcurl, I know naming things is hard but this just seems hostile against the Curl developer.

<comment><USER28> Admittedly they're a little hard to differentiate at first glance, but is 'hostile' not pushing things a little too far? There's a long history of derivatives of open source tools having similar-ish names, often differing by a single letter - just look at all the 'make' derivatives: pmake, bmake, fmake, gmake, rmake, nmake, ... to name but a few that Wikipedia mentions [0].

[0] [https://en.wikipedia.org/wiki/Make_(software)#Derivatives](https://en.wikipedia.org/wiki/Make_\(software\)#Derivatives)

<comment><USER27> If you launched an alternative search engine called Gooogle, I don't think Google would consider it a friendly move :)

<comment><USER28> Very true. I probably should've caveated that I don't actually think it's a good name choice, just that I doubt it was chosen to mislead / as an attack on (lib)curl. Given my own uselessness with naming things sometimes, I tend to be forgiving!

<comment><USER29> Like we're talking about software developers here. I think it's funny that when a Google engineer does it there's some shadowy motivation to usurp a FOSS downloader library -- like they aren't like the rest of us picking silly names for things.

"Hey, curl is a super useful tool, it would be nice if it used our new fancy network protocol"

"Yeah, what should we name it?"

"Uhh -- wait, I got it. crurl and the library could be libcrurl"

"Hilarious! It's perfect!"

</comment></comment></comment></comment></comment></comment><comment><USER30> Embrace, Extend and Extinguish

</comment><comment><USER31> A Google-copyrighted network library will make sure that Google users will only see Google-authorized parts of the Internet.

</comment><comment><USER32> The stated reasoning behind this seems pretty vague to me, and this follows an increasingly common business pattern in the software industry: clone or fork an existing free software solution, and then fund it massively so that it pulls ahead of the original free software.

In the most extreme cases, i.e. FreeBSD->MacOSX, the free software is replaced by software under a non-free license. If there is mention of how libcrurl will be licensed, I missed it, but there's actually a subtler attack on free software which has happened with i.e. GCC->Clang or Konqueror->Safari/Chrome. What makes this attack subtle is that it allows companies to release under a free license, while not actually making any commitment to a free ecosystem. By providing massive amounts of funding and manpower to these projects, large companies can ensure that their version of the software remains dominant, and they get to choose what to include and exclude. This has predictable results: breaks in support for related free software[1] and pressuring the introduction of non-free components even in otherwise free browsers[2] after people have committed to the new, corporately-controlled platform.

As noted, I don't know what license this will be released under, or how this power will be used if they supersede the original curl tool. I'm just saying that projects like this should be seen as attacks on free software and viewed with suspicion.

[1] [https://bugs.kde.org/show_bug.cgi?id=365327](https://bugs.kde.org/show_bug.cgi?id=365327)

[2] [https://blog.mozilla.org/blog/2013/10/30/video- interoperabil...](https://blog.mozilla.org/blog/2013/10/30/video- interoperability-on-the-web-gets-a-boost-from-ciscos-h-264-codec/) (note: OpenH264 is free as in beer not free as in freedom, a.k.a. gratis not libre).

<comment><USER33> I don't think you understand the relationship between FreeBSD and MacOS

<comment><USER34> Just to save the GP a google search: [https://en.m.wikipedia.org/wiki/Darwin_(operating_system)#/m...](https://en.m.wikipedia.org/wiki/Darwin_\(operating_system\)#/media/File%3AUnix_timeline.en.svg)

<comment><USER32> Perhaps you should read the actual article for the image you linked, which mentions that Mac OS was synchronized with FreeBSD in 2003. The fact that this gets a one-line mention shouldn't be mistaken for belittling the effort involved in feature-syncing a mature operating system.

I wasn't sure of my memory, so I had checked my FreeBSD statement before I said it.

<comment><USER34> Thanks for pointing this out, a bit more detail about the shared code is here: [https://en.wikipedia.org/wiki/XNU](https://en.wikipedia.org/wiki/XNU)

I did read the article, but "BSD layer synchronized with FreeBSD 5" somewhat late in the project didn't itself give me the impression it was derived from work in FreeBSD. That said, I appreciate the poke to go do some more work :)</comment></comment></comment></comment></comment>


Project Management for Humans – Helping People Get Things Done - <AUTHOR> http://rosenfeldmedia.com/books/project-management-for-humans/ <comment><AUTHOR> My next read. Anyone read it already? What are the thoughts?</comment>