Tesla's Simultaneous Brilliance and Incompetence Revealed in Teardown of Model 3 - <AUTHOR> https://www.forbes.com/sites/joannmuller/2018/04/25/teslas-brilliance-and-inexperience-revealed-in-benchmarking-study-of-model-3/#20391fcd67c3 <comment><USER2> Is the intellectual asymmetry between creating a design and analyzing it so large that a small teardown team can reliably analyze trade-offs in a design created by a large engineering group?

For example, when they say "this flange is larger than necessary", how can they know all the possible reasons it might be necessary? Perhaps it adds stiffness or crash energy absorption, or is used to grasp the part during assembly, or avoids a resonant frequency.

<comment><USER3> > Is the intellectual asymmetry between creating a design and analyzing it so > large that a small teardown team can reliably analyze trade-offs in a design > created by a large engineering group?

I don't understand this. So you are saying the reviewer's small team doesn't understand the expertise which might have gone in the car.

But isn't that true for every product review and article out there? Take for example a phone. If a reviewer doubts the CPU benchmark on a phone, are we going to talk about how a single reviewer cannot understand the trade-off a bigger team at Apple/Samsung/Google has put?

Or if a journalist talking about FB's decision on data sharing has the capacity to know the trade-offs made by a much larger technical and business group at FB.

We can only look at the past work. If HN is voting this up then we know these guys have done some good work in the past.

Unless of course we think everyone who doubts Tesla's expertise doesn't understand their genius.

<comment><USER4> Munro and Associates is _the_ firm that does this kind of analysis in the automotive industry.

It's really fascinating. For the record, it would be hard to produce a design that Munro couldn't find something to talk about, good or bad. They employ extremely gifted engineers with a ridiculously large amount of experience at doing this exact task.

As a software engineer, I wish there were an equivalent firm in the industry that did teardowns like this so that we could, as an industry, improve over time the way that the automotive industry does.

I feel like it may be one of the factors holding software engineering back from achieving true professional engineering standardization.

<comment><USER5> No they are not. Car companies do not go to Munro, period.

There are far more reputable sources, speaking from someone in the industry. Munro is just trying to get free advertising with this sh*t.

<comment><USER6> That's interesting. Which sources are in your view more reputable? Where do you work? One of the big three or a Japanese carmaker?

</comment></comment></comment></comment></comment><comment><USER7> They are iterating and optimizing the hardware rapidly treating it just like software. And pushing out versions that work fine to improve stuff later. It's as if the car is communicating the Silicon Valley ethos with its seemingly random features that are simply optimized towards something that can be shipped ASAP. Interesting how one can deduce culture just by looking deep inside an artefact. One day aliens will try to decipher how early humans behaved by analyzing excavated iPhones.

<comment><USER8> One of the problems with that is that hardware is not software and at some point it will have to be repaired. It's bad enough when a part changes design halfway through the model year. I can't imagine trying to repair a Model 3 five years from now and finding out that e.g., the right front wheel bearing has 10 different versions and it's not completely clear which one I need.

<comment><USER9> You call Tesla give your serial they will tell you the latest version of the bearing that you should upgrade too. They been d9o ing that for 10 years now.

<comment><USER8> Oh, that will work _so_ well when they have 10 million of these things running around!

</comment></comment></comment></comment><comment><USER10> "The fact that Tesla can simultaneously demonstrate brilliance and incompetence in the same vehicle is not surprising, considering it is a high- tech software company trying to master complex manufacturing processes that took established automakers more than 100 years to perfect."

High-tech software company?

Tesla is an automaker, not a software company. Sure, Elon comes from the software/tech/payments industry, but putting Zuckerberg in charge of Exxon wouldn't change the fact that Exxon is an energy/oil company.

<comment> sjm-lbm It's a bit awkwardly worded, but I get their point (I think) - take your example and swap it, for instance: if you were to exchange all the employees at Facebook for employees at Exxon, the company structurally and culturally would still be an energy/oil company even if the product they were making was software. Likewise, Tesla runs, structurally and culturally, like a software company, even though they are building cars.

<comment><USER11> You definitely don't want to "Move fast and break things" at an oil company. They have very defined procedures for everything. Now days safety is paramount. You can't just change procedures even if its better because they can't afford a blowout or leak or accident. At Exxon you have a manual for everything and deviating from it is frowned upon.

<comment><USER12> To carry the analogy from above, Exxon moved fast and broke the Prince William Sound. Safety is important obviously but innovation has real costs and software companies seem to learn a lot more and innovate more when they break things vs energy companies-- at least that is the meme.

Also, energy companies move slow and still break things like the environment.

<comment><USER13> IIRC The alcoholic master handed over navigation to a very inexperienced 3rd mate and left the bridge for him to navigate out the channel by himself. That's an individual screw-up that can happen in any organization's culture. I wouldn't say the whole organization (Exxon) moved fast and broke things.

<comment><USER14> The boat had a collision avoidance radar which had been non-functional for over a year because Exxon wouldn't spend the money to maintain it.

<comment><USER13> It collided with an underwater reef.

<comment><USER14> There was an above-water radar reflector in place specifically so shipboard radar could warn of an impending collision with the reef.

<comment><USER13> ...and an inexperienced 3rd mate was alone on the bridge.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> > _Most confounding to Munro and his team was the body construction of the > Model 3. "This car is the heaviest body-in-white I've ever seen," he said, > calling the construction "ridiculous" and highlighting areas where Tesla > needlessly added weight with things like excess metal flanges and > overlapping layers of steel. "This adds weight without value," he said._

Optimizing structural design is hard. There are plenty of examples of talented young engineers with lots of budget who can make a really clever and strong design, but it will frequently also be overengineered and far over weight or cost for its design purpose. An infamous example would be the Juicero juicer[0]. It takes a lot of experience and knowledge to make a highly optimized frame or structural component.

[0] [https://www.youtube.com/watch?v=_Cp- BGQfpHQ](https://www.youtube.com/watch?v=_Cp-BGQfpHQ)

<comment><USER16> Maybe somewhat OT, but the flange review triggers some of the same criticisms I have of AvE.

With Uncle B, any time he gets something wrong (and there are plenty of examples) it's always "I'm just a dude in the shop, having a laugh, etc. etc." But when he's tearing things about it's always, "this design is shit, these engineers suck, they're trying to fuck you over here there and everywhere." There's a huge disconnect in how he presents these critiques as though they're gospel truth, but he won't eat the humble pie. There's the exception here or there, he'll nibble at a particularly big piece, but overall it just doesn't serve the purpose of learning and understanding. He veers into some sort of moralizing about modern manufacturing.

Don't get me wrong, on balance it's great and the juice-squeezer _definitely_ deserved it, but it keeps me wary.

In the same sense, I don't know about that flange. Is it wasteful? Could well be. Or maybe there's a good reason it's there. What I'd like is a good explanation of how they can be sure it's excessive. Tell me why. Maybe they do; I haven't a bit of the autoline video, but I don't see a good writeup.

<comment><USER17> In order to know the how's and why's of the M&A teardown, you probably have to pay. I'm certain that their detailed analysis includes good explanations of how they know that flange is excessive, but they're not going to tell you for free.

</comment></comment></comment><comment><USER18> For contrast, here's Sandy Munro on the Autoline Network show talking about his teardown of the BMW i3:

[https://youtu.be/uDr4L6BzpP8](https://youtu.be/uDr4L6BzpP8)

<comment><USER19> And here's him discussing the Model 3 teardown on Autoline (don't see a link to this in the article)

[https://www.youtube.com/watch?v=CpCrkO1x-Qo](https://www.youtube.com/watch?v=CpCrkO1x-Qo)

<comment><USER20> He is really praising the batteries and electronics as revolutionary. "Other automakers ignore Tesla's electronic at their peril, but Tesla ignored traditional car manufacturing so they are in peril."

At one point Munro says that had Tesla outsourced the manufacture and design of of the car to a company like Magna they would have hit every target and even Toyota would be crapping their pants now. If the traditional mechanical parts of the car would have been even decent, Tesla would have mopped the floor with everybody.

<comment><USER21> >At one point Munro says that had Tesla outsourced the manufacture and design of of the car to a company like Magna they would have hit every target and even Toyota would be crapping their pants now.

This would lead to hitting short-term targets at the expense of never really learning how to perform such tasks well in-house. Being able to design and manufacture cars seems pretty important stuff for a car maker to know how to do.

<comment><USER20> They are now risking with running out of money and bankruptcy.

It would have been better idea to make money from outsourced Model 3 and continue R&D.

<comment><USER22> You make the assumption that people won't give them more money.

<comment><USER20> Their debt is already rated junk. Any new debt comes with huge interest rate. Tesla's whole future is tied to Model 3 sales. They don't have another change if it fails.

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> I just read a book about Henry Ford. They evolved the model T rapidly so models coming off the line weeks or months apart had significant differences. They kept evolving it for _years_

Reminded me of the model 3. So, I don't have a ton of faith in a single datapoint on Tesla build quality.

<comment><USER24> Skunk Works did the same. Ben Rich mentions how by the time #9 of a plane rolled off the manufacturing floor they had devised new methods or better way of doing things. With meticulous record keeping they would be able to go back and re-engineer earlier planes.

</comment></comment><comment><USER25> >The fact that Tesla can simultaneously demonstrate brilliance and incompetence in the same vehicle is not surprising, considering it is a high- tech software company trying to master complex manufacturing processes that took established automakers more than 100 years to perfect.

This is wrong. At the very least it would be since the 60's and probably later. Seeing as 1963 was the first time CNC was used by the auto industry as far as I can tell. While they have been making cars for over 100 years you really can't include the time before technologies like CAD and CAM. And even those took a while to see widespread usage. Add to that the ability modern CAD software has to model stresses bases on the different forces in play makes a hell of a difference.

Even just going back 12 years and the amount of computing you have access to vastly changes. That was when AWS came out. AWS lets you compute massive amount of engineering data without having to invest into a super computer. (Not to say the auto industry did not have those super computers before then.)

<comment><USER26> I think it's reasonable to talk of a culture of engineering (or design) going back earlier than a given technology. A large company has to make sure at any given that a new approach does everything that an older approach does. The company may have access large customers for testing and requirements gathering so they can wind-up doing technology X "correctly" even if they start-out behind on technology X.

With the variety of changes different companies go through (being bought, sold, spun-off, etc), it's certainly an interesting question whether a company retains a given "core competency" or any core competency at a given time.

I know in the case of CNC manufacturing, the devices were essentially programmable lathes and one can talk of a "CNC programmer" but the system was designed to leverage the existing knowledge and population of manual lathe operators and there's no relation to computer programmers and instead the "touch stone" is ordinary lath operation I believe (a CNC programmer makes $22/hour average conveniently). Thus it's reasonable to say manufacturing culture in the US references things earlier than CNC.

You can see a similar thing in the way Photoshop, Illustrator and cousins ape paper and pencil tools - the standards, skills and terminology of layout were carried through the transition (to the point that these industry standard tools have an interface that seems fairly pathological to newbies).

<comment><USER27> _I know in the case of CNC manufacturing, the devices were essentially programmable lathes and one can talk of a "CNC programmer" but the system was designed to leverage the existing knowledge and population of manual lathe operators and there's no relation to computer programmers and instead the "touch stone" is ordinary lath operation_

There is a fascinating book "Forces of Production" [0] that analyzes the history of the development of numerical control in the 1960s that argues exactly the opposite. I read it many years ago, but I will try to summarize it TLDR style below:

Before software ate the world there were two competing approaches to automating machine tools:

\- Record and Playback: a skilled machinist makes the part and the motions and operations are recorded. Subsequent parts can be made by playing back the recording on a machine with the assistance of a less skilled worker.

\- Numerical Control: A white collar worker in an office writes a script (in G Code [1]) to control the tool which is then played on the machine attended by a less skilled worker.

This was a hard problem at the time and technically Record and Playback was easier and worked better. However management, particularly at GE, resented the power of the skilled machinists who had effective unions and were not replaceable in the event of a strike. So despite the advantages of Record/Playback they persisted for years to create the NC technology as it let them replace highly skilled union labor with coding monkeys. The parallels with the present day seem obvious but oddly underappreciated.

[0] [https://www.goodreads.com/book/show/625055.Forces_of_Product...](https://www.goodreads.com/book/show/625055.Forces_of_Production)

[1] [https://en.wikipedia.org/wiki/G-code](https://en.wikipedia.org/wiki/G-code)

<comment><USER26> That is indeed an interesting story but my searches seem to say that even G-codes are now entered by machinists rather than office workers or specialized G-code programmers ( a G-code programming guide describes it as final thing a machinist learns in their career).

My guess is that management was conflicted in what it wanted - on the one hand, a drop-in replacement system and on the other hand, a system so simple they could hire people off the street to do it.

<comment><USER27> As I remember from the book, the machinists fought this pretty hard and eventually forced a compromise resulting in the situation you describe.

</comment></comment></comment></comment></comment><comment><USER28> This quote is brutal:

> A Tesla spokesperson said the primary car evaluated by Munro was built in > 2017, adding: "We have significantly refined our production processes since > then, and while there's always room for improvement, our data already shows > that Model 3 quality is rapidly getting better."

Sounds like Tesla is agreeing that they sold sub-par vehicles?

<comment><USER29> Warren Buffett: "I am 7 billion dollars richer in 2017 than I was in 2016."

You: "So you were poor in 2016 then?"

<comment><USER28> That has nothing at all to do with the changing quality of a manufactured product.

<comment><USER29> Correct!

</comment></comment></comment></comment><comment><USER30> > _Everything that 's below the floor pan is amazing. Everything above it is > what it is._

Honest question: Is everything below the floor pan designed and built by Panasonic?

<comment><USER19> He was very complimentary of the circuit boards, saying he has no idea where they were sourced and basically saying they were the only company using cutting edge circuitry of a quality and density similar to the latest cell phones.

<comment><USER31> Which quite surprised me. Aren't circuit boards a large, already well researched and optimized field since they're inside everything? Is the autopilot board better than that of a laptop or smartphone?

Sure, hardware is hard, but it doesn't seem like differentiating knowledge in the tech industry (while maybe the other car makers are a few years behind in optimisation).

<comment><USER32> Circuit board layouts can be a nightmare. Automatic routing algorithms suck for networks of realistic sizes, so a lot of the work is done by hand and that is a mixture of tedium and art. If you are designing high power or high frequency circuits you also need to observe a lot of constraints in your layouts as well (distances between parts, potential cross talk between parallel traces, signal travelling time along the traces belonging to the same bus...).

<comment><USER31> Sure. Doesn't seem to change much for cars though. It doesn't seem like something Tesla has a significant competence in.

Even in high-stress environments, unless I missed something.

</comment></comment></comment></comment></comment><comment><USER33> [https://youtu.be/CpCrkO1x-Qo](https://youtu.be/CpCrkO1x-Qo) 90 minute discussion of Tesla 3 with Munro and others on the excellent autoline network youtube channel ('Really heavy, really expensive')

</comment><comment><USER34> 87k for a benchmark report. That's something. Car makers manufacture in millions so 87k is a tiny expense for a high quality competitive analysis by a 3rd party unbiased firm.

I love tiny business that are the forefront leaders in a small profitable nice.

</comment><comment><USER35> There's was also this article a few months ago on some glaring flaws in Tesla vs i3

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

</comment><comment><USER36> Are they working with Tesla to provid this feedback into their production flow? There is no mention of it. Does anyone know?

</comment><comment><USER37> It would seem odd that as Elon has his experience with SpaceX in the background, and SpaceX engineers are consulting for Tesla, that the metal construction was done overly clumsy without a reason. Equally likely is, that they had a clear plan when designing the metal work on the Model 3 - but it is not obvious to people trained in the way the automobile industry works, as Tesla certainly is thinking differently.

</comment><comment><USER7> Perhaps we can extrapolate from this how the first AI will behave. This empirical iterative approach towards optimization by its creator engineers will be baked into its 'DNA'. The way it optimizes human happiness might be unexpected and we might be as puzzled as these analysts. I hope we know what we are doing in terms of AI development. This iterative approach can quickly lead to dangerous outcomes.

</comment><comment><USER38> That manufacturing a car isn't something a tech company excels in even though they can build a good battery doesn't surprise me one bit.</comment>


Aussie tech start-up scene in good shape: Google Maps founder - <AUTHOR> http://www.startupsmart.com.au/technology/2011-08-25/aussie-tech-start-up-scene-in-good-shape-google-maps-founder.html

<comment><USER2> Does anyone know whether it's likely that Aussie startups would be in a position to sponsor an immigration visa? My family and I are planning a move in about 4 years, and while I score highly enough in the "points" system that determines who can immigrate, the literature I've read makes it quite plain that I'll be better off if I am sponsored. Does this sort of thing happen down under?</comment>


The Harder I Work, The Luckier I Get - <AUTHOR> http://www.bothsidesofthetable.com/2011/05/31/the-harder-i-work-the-luckier-i-get/ <comment><USER2> Sometimes luck is simply a function of being in the game. The more games you play, the more opportunities for "luck" that emerge.

A good example is in the 4 Hour Workweek when a college class was given a seemingly hard challenge and it seemed so hard that nobody even attempted it. The prize was like a trip around the world or something.

The next year he told about how anyone who even attempted it the year before would have won by default. Then all the students tried and they had incredible results.

Another example would be building apps and putting them out there. You never know if one is going to be a hit, but if you keep making them, eventually you get "lucky".

<comment><USER3> As Woody Allen said, "80% of success is just showing up" but I didn't think that made a good line for a blog post ;-)

</comment></comment><comment><USER4> "In chess there's a saying, "only the good players are lucky". Whenever a good player wins a game, the angry opponent often says, "ahh, you were just lucky". But it always seems the good player gets lucky more than the bad player." - [http://blogs.wsj.com/financial-adviser/2011/04/18/how-i- help...](http://blogs.wsj.com/financial-adviser/2011/04/18/how-i-helped-make- mark-cuban-a-billion-dollars-and-five-things-i-learned-from-him/)

</comment><comment><USER5> "The harder I practice, the luckier I get."

I'm aware of that quote being attributed to Gary Player. For example: <http://www.golfdigest.com/magazine/myshot_gd0210>

<comment><USER6> I thought it was Hogan.

Edit: found it attributed to Hogan, Palmer and Player with a quick Google search. Player's is the only one with any context - probably was him.

</comment></comment><comment><USER7> The hardest thing is to take another swing at the bat. You can have a great idea with a terrific team but just be too early. Having once tasted failure it's not easy to risk everything again. But without multiple swings at the bat you will will never have the chance to know success.</comment>


Mind Controlled Spy Robot - Emotiv EEG headset pilots Rovio using Skype - <AUTHOR> http://gizmodo.com/5524369/emotiv-headset-controls-rovio-robot-via-brainwaves

<comment><USER2> In <http://www.hackaday.com/> there are several Rovio projects, including some using EEG headset to control Rovio.</comment>


Using the Google Cr-48 for Coding - <AUTHOR> http://ejohn.org/blog/google-cr-48-for-coding/

<comment><USER2> Useful comment posted from Chrome team member Jen:

 _I'm a Chrome team member and saw this going around Twitter.

Just wanted to say, you can right-click on the Cr-48 by tapping with two fingers (or holding Alt and single clicking).

You can also flip the developer mode switch under the device and get full access to a shell: <http://www.chromium.org/poking-around-your-chrome-os- device>

hope this resolves some of the comments!_

<comment><USER3> That was me. Happy to answer further questions here, though I don't want to turn HN into Reddit.

(No, I'm afraid I don't know when or if you're going to get one.)

<comment><USER4> Does Chrome OS use X11 at all? If so, is there a window manager or is Chrome itself serving that function?

<comment><USER3> There is a window manager. You can dig into the code via chromium.org if you want to understand the details :)

</comment></comment></comment></comment><comment><USER5> Keep in mind, while reading this, that the Cr-48 is a beta product of sorts. So the mentioned hardware faults will most likely be fixed when this thing actually ships.

Somewhat unrelated:

 _Right now my ideal laptop would be: Take a 13″ Macbook Pro, replace the HD with an SSD, replace the DVD drive with more battery, add 3G._

I couldn't agree more, that really would be a perfect laptop.

<comment><USER6> I'm extremely happy with my 13" MacBook Air and its 7 hour battery life. Chances are, I'll be tired of looking at my laptop before I'll encounter a situation where I run out of juice, and I have my iPad to tether, even though not technically allowed...

<comment><USER7> There's a Trekstor Portable 3G/HSPA Wifi router (a Rebranded Huawei E5) on its way to me right now. Lack of built-in 3G in the Macbook Air is a little annoying - I'd prefer it over the SD card slot - but this little router should do the trick. Dragging an iPad around together with an Air just for the 3G seems a little over the top. :-) An iPhone 3GS or 4 with bluetooth tethering would be OK I suppose; my 3G's modem is annoyingly slow (384kbit/s) due to lack os HSPA support.

</comment></comment></comment><comment><USER8> _The other day I saw the announcement for the new Chrome OS test laptop and decided to sign up on the off-chance that I might be able to snag one.... Surprisingly the laptop arrived this morning and I've been having fun putting it through its paces._

Oh stop being humble. :P I don't think it's surprising in the least that the creator of JQuery was able to snag a Cr-48. ;)

<comment><USER9> Nor is it inappropriate.

</comment></comment><comment><USER10> If you run "Shell In A Box" on the server you can browse to a full bash prompt in a browser tab. It even has Tab-completion and works with ncurses apps too.

You just run a tiny daemon and then connect to it such as <https://192.168.1.1:4200>

<http://code.google.com/p/shellinabox/>

<comment><USER11> 172.16.1.199:22

</comment></comment><comment><USER12> Basic summary:

Respectable battery life, a poor terminal, and an infuriating trackpad. And John Resig is spoiled from owning a Mac.

Battery life is good to hear, terminal strikes me as "fail" (seriously. Developer mode. It should be as developer-friendly as possible, no? _That means a good terminal application_.), trackpad could be fixed through software, and who isn't (who has one)? [edit: correction: there's a non- developer-mode terminal, which is this one. Developer mode has SSH key abilities & others]

Not _too_ surprising, given that this is an early-release test. But in that way it's similar to many other Google products; first version is crap but interesting enough to use, and in time (if not dropped) it tends to take over _everything_ because it gets better and better. It seems to me this might take off whenever they put out offline versions of GMail and Docs. Until then, it's of limited (though interesting) use and most definitely not for everyone.

<comment><USER13> I've since been able to flip over into developer mode (you have to toggle a physical switch to enable it). It gives you a proper shell (which allows you to install an SSH key) but beyond that there doesn't seem to be much else that you can do (it's not obvious to me how you would install a package or compile code).

<comment><USER12> Good to know, SSH keys are _essential_ to a lot of people. Seems strange that the "normal" terminal doesn't support them, though...

Thanks for the write-up! I found it useful :)

edit: a thought: mind trying `compgen -abc` at the terminal? Idea came from: [http://stackoverflow.com/questions/948008/linux-command- to-l...](http://stackoverflow.com/questions/948008/linux-command-to-list-all- available-commands-and-aliases)

<comment><USER14> I'm guessing that the lack of proper ssh key support is part of the desire to have nothing permanent on the device. Since one of the security aspects is to make it so that if you lose the machine, you have no risk of compromising your information. Having your private key stored on the machine kind of defeats that purpose.

That being said: when I was playing with dev builds on my netbook last year, the first thing I did was put my private key on it.

<comment><USER12> That's a very good point, I hadn't thought of it from that perspective.

Though you _could_ refer to SSH keys which are on a USB drive, fully protecting your info if your laptop is lost (as long as your drive wasn't plugged in)...

</comment></comment></comment></comment></comment><comment><USER15>
        I wanted to quickly crunch some numbers and went looking
        for a calculator. Surprisingly there wasn't one in the
        store. I ended up having to use the JavaScript console to
        do the calculations – which, I suspect, is not what
        Google expects most users to do.

But Google Search is a calculator!

<comment><USER16> And Wolfram Alpha.

</comment></comment><comment><USER17> After seeing those large ALT and CTRL keys, looking down on my Thinkpad's keyboard and seeing FN|CTRL|WIN|ALT makes me sad.

</comment><comment><USER18> This seems like what to expect at this stage. Something to dismiss as a toy because you can't create anything serious on it... yet.

There has to be a reason Google is bundling Flash on this thing, and I bet the reason is not that Google thinks Flash is so awesome. That has to be the first part of a trade with Adobe.

I guess we'll find out how photoshop.com with NaCL plugins works out. :)

<comment><USER19> Pitted against Chrome, Flash supports webcams, microphones, cross-domain requests, DRM on video/audio, and a certain amount of multithreading through Pixel Bender. Plus (and this is huge) a designer-friendly content creation tool. HTML5 is gaining fast, but there are still some legitimate advantages for Flash.

<comment><USER20> HTML5 has every one of those features (DRM not so much, though it's possible with binary XHR Blob buffers, but there's no point to do that as users could easily steal video data from the decoded output canvas).

Webcams and microphones can be accessed via the HTML5 <device> API, cross- domain requests can be done with HTTP Cross-Origin Resource Sharing (CORS), which is arguably much nicer than Flash's cross-origin policy XML file solution, and multithreading can be done with web workers.

<comment><USER19> Cool, didn't know CORS was implemented so widely, and its true about WebWorkers. But Chrome doesn't support <device> yet, or DRM. (I only mention DRM since the Youtube team says its one reason they can't fully move off Flash).

<comment><USER20> I thought the only reason YouTube hasn't isn't fully supporting HTML5 was ads. Afaik, YouTube doesn't use any DRM whatsoever.

<comment><USER19> Apparently they use it for movies and other proprietary content:

<http://apiblog.youtube.com/2010/06/flash-and-html5-tag.html>

</comment></comment></comment></comment></comment></comment><comment><USER21> "The other day I saw the announcement for the new Chrome OS test laptop and decided to sign up on the off-chance that I might be able to snag one."

I would think that someone as high profile as John Resig could get one pretty easily. (actually he did! I mean without filling out the same form as "normal" people) Maybe it shows that he's too humble to ask for one directly...

</comment><comment><USER22> " I'd love to be able to have access to a shell and the ability to install vim + screen + git + a web server"

I can't help thinking thats beside the point and exactly what google are not designing this for.

<comment><USER23> I think that point is that, like with the iPhone, people want the ability to 'flip a switch' to be able to go beyond the 'canned' experience. Apple wants to force you to only stay within the canned experience, but I would expect a little more from Google. Sure it's not what they are designing it for, but I don't necessarily think that people are expecting support for these actions from Google.

</comment></comment><comment><USER24> When the first Cr-48 reviews popped up, I had exactly this question: "What kind of setup would you want for development?" (Or maybe writing papers in TeX.) ymacs seems like a good start for a web-based editor, but it is useless without filesystem support (C-x C-f directly to Dropbox?) Without ssh'ing into a home box somewhere, I'm not sure what the cloud-based compile/execute/debug development model is supposed to be.

Any other ideas what development should look like in the idea cloud-based world?

</comment><comment><USER25> _Take a 13″ Macbook Pro, replace the HD with an SSD, replace the DVD drive with more battery, add 3G. I would use that laptop until the end of time._

I just replaced the HD on my 13" Macbook with an SSD, but I haven't seen anything about replacing the DVD with a battery. I do have an external laptop battery with a home made magsafe connector and a portable 4G hotspot. I suspect that this setup is only going to last about a year or so longer, though.

<comment><USER26> You cannot replace the optical with battery on MBPs. I know older Thinkpads had that ability, but I haven't checked any of the new ones. Regardless, Lenovo seems to be dropping all the funky/awesome Thinkpad accessories from their site.

<comment><USER27> You can still do this with many of the newest Thinkpads. They call it the "Ultrabay". Example: [http://shop.lenovo.com/SEUILibrary/controller/e/web/LenovoPo...](http://shop.lenovo.com/SEUILibrary/controller/e/web/LenovoPortal/en_US/catalog.workflow:item.detail?GroupID=38&Code=57Y4536&current- category-id=4364BD0F20B94413B5AD6E684D2848E9&&hide_menu_area=yes)

</comment></comment></comment><comment><USER28> As someone who spends a lot of time doing UI dev work, I need to open up photoshop and cut up PSDs into CSS quite a bit..

The ability to run a terminal and local PHP or Django are also biggies, but other than that I don't need much of an OS. Everything else I use on a day to day basis is cloud based anyhow

Eagerly awaiting the day I can break free of the desktop os for good

</comment><comment><USER29> Still waiting for mine. I knew I should have used John Resig as my alias!

Too bad about the terminal and *nix tools. I guess I'll have to use something like Cloud9 IDE to code. I'm really looking forward to the free 3g, though. That and the old black macbook feel.

</comment><comment><USER30> I love the idea of mapping caps lock to ctrl + t to make it a new tab button my normal boring laptop. I'm currently looking for an app which will allow that, or a Chrome extension which allows this - anyone have an idea?

<comment><USER31> On windows you could use Autohotkey to do just that. I'm about to do that just now ;-)

</comment></comment><comment> brown9-2 Is Google re-selling the 3G service from another carrier? Didn't realize they were getting into the wireless provider business with this.

<comment><USER3> The 3G is provided by Verizon on this device.

</comment></comment><comment><USER4> Although I appreciate Google's efforts to provide it, I am NOT a fan of Flash. Is the a way to turn it off in Chrome OS?

<comment><USER32> I believe you can disable it in about:plugins

<comment><USER4> Thanks!

</comment></comment></comment><comment><USER33> How do you verify that your code behaves correctly in different browsers when developing in JavaScript on Chrome OS?

<comment><USER34> Unit tests! :)

</comment></comment><comment><USER35> tl;dr i want a macbook air and this isn't it

</comment><comment><USER36> Does Eclipse run on Chrome? No Eclipse, no coding...

</comment><comment><USER37> Wow. Lack of SSH niceties like keys must be painful.</comment>


Data for 2009 + 2010 March Madness. Can your algorithm predict the tourney? - <AUTHOR> http://blog.smellthedata.com/2010/03/2009-and-2010-march-madness-data.html

<comment><USER2> We had a (small) Hacker News fantasy league for March Madness last year -- the only rule was that your picks had to be by some algorithm which you shared after everyone made their picks. I'd be happy to set up one for this year if there's enough interest.

<comment><AUTHOR> That sound fun. I think the rule should be a bit more hardcore, though: that the predictions have to come from raw data. i.e., no meta-algorithms that use information about seeding or expert predictions, but if somebody wanted to gather, say, play-by-play data and use that, it'd be ok.

<comment><USER2> Ok, I've created a group called "HN" on Yahoo! Sports.

Here's the link: <http://y.ahoo.it/mVPMVA8X>

</comment></comment></comment><comment><USER3> How is one supposed to run any sort of machine learning algorithm with only two seasons of data? I could understand throwing the stats from the last 15-20 seasons into Weka and seeing what it said about 2010, but seriously how useful is only 2 seasons worth of data going to be?

<comment><USER4> The data there has the scores from ~5000 games played over the course of each season, and the model he links to also seems quite reasonable to me: [http://blog.smellthedata.com/2009/03/data-driven-march- madne...](http://blog.smellthedata.com/2009/03/data-driven-march-madness- predictions.html)

Don't think of it as two data points. Think of it as two data sets.

</comment></comment><comment><USER5> Great idea! Looking forward to seeing your predictions.</comment>


How to trust online writing servcie? - <AUTHOR> There are many writing service online due to the great demand from the customers. Also many spam sites are arising in addition with the good one. Most of them are ultimately aimed to seeking money from customers, also they not able to write quality paper for the customers. So be careful on choosing online writing services. You have to ensure the quality and experience of the service. Also you should check the service writing standards, pricing structure, customer support and offered guarantees from the company. http://www.buyessays.us/ <comment><USER2> I wouldn't trust any writing service that's unable to proofread its own promotional material. Blocking Tor exit nodes using CloudFlare might also be cause for suspicion.</comment>


Spacewar, the first 2D top-down shooter, turns 50 - <AUTHOR> http://arstechnica.com/gaming/news/2011/10/spacewar-the-first-2d-top-down-shooter-turns-50.ars?utm_source=rss&utm_medium=rss&utm_campaign=rss

<comment><USER2> I love how in the video the young guy asks "Does it use a frame buffer?" Dude, this beauty didn't use bitmaps or raster graphics at all. Rather, it was a glorified oscilloscope you programmed by directly controlling the deflection of the tube's electron gun. To draw a line you'd tell it to keep the electrons firing during the deflection. If not, you got a dot. That's it.

For a brief period of time vector games like Asteroids and Gravitron made it into arcades where their "smooth", rotatable graphics looked quite sophisticated beside all the blocky, pixelated games like Pac Man or Centipede.

Somewhere in storage at our old house I even have a vector-based game console, called the Vectrex. I really need to dig it out for my boys to play with.</comment>


How do you get money from the outside? - <AUTHOR>

That the application process opens to those ouside the traditional "funding circuit" brought me appreciation for the ycombinator program.
But now, one rejection and one awesome demo later(I think not having the latter lead to gaining the former.) questions arise.
How on earth does one get funded? As an outsider?
If anybody has any advice or thinks their advice might flow upon seeing a good demo please please say something.
firstname.lastname@example.com if wishing direct contact <comment><USER2> It would help if you could provide some more info of what you do and what you are looking for. Thanks.

</comment><comment><USER3> Lets see the demo then...</comment>


Over 400 Startups Are Trying to Become the Next Warby Parker - <AUTHOR> https://www.inc.com/magazine/201805/tom-foster/direct-consumer-brands-middleman-warby-parker.html <comment><USER2> It's hard for me not read this article and see a metric f-ton of hubris. If the depth of your thinking is that you are the Uber of X, the warby-parker of Y, you are so screwed.

If you've been around startups - the key is some kind of very early customer feedback loop; Customer Development from the lean startup process, the working backwards process from Amazon, etc. Adding VC money on top of this seems like fuel to a group of founders who haven't really considered that their model is not sustainable. And the VC's don't fundamentally care - they just need some small percentage to succeed.

One key quote from the article is "that CAC is the new rent". That's a nice way to view D2C. And let me tell you the last time I was doing D2C our CAC was $500 and you had to spin a pretty good yarn to make the lifetime number add up.

<comment><USER3> These people are such brilliant visionaries that they thought they best use of two years of their 20s/30s was to borrow $200k to go to business school and get an MBA.

Wow /s

</comment></comment><comment><USER4> Optician here with some relevant experience regarding the opthalmic space, recognizing that isn't primarily what the article is about.

For the most part glasses still have to be custom made to some extent.

That process has been getting more sophisticated (smarter edgers, free form surfacing everywhere) and faster processing times.

But getting the formula right on mail order is hard.

First you have limited information about and from the patient. You have a PD (pupillary distance) and all of these services, that I have seen only collect a binocular pupillary distance.

The lenses have to be, at the very least cut to shape to fit the frame selected with the optical center of the lens moved so it sits over the pupil of the wearer when they are in the "gaze posture" appropriate to the glasses

That is to say if they are distance glasses the pupils will be looking straight ahead, while using the glasses, but the person's eyes may be 3mm narrower than the frame selected, so before grinding the lens that 3mm must be taken out of the "middle"

If one eye was in two and the other was out eight though (very uncommon) you have a reject pair.

If the glasses were of high power and one eye was out 1 and the other eye were out 2, if we were over 14 diopters of correction we fail quality. But not because the glasses, how they fit the patient's face 2000 miles away.

<comment><USER5> Hey, UtilityDave, all of your comments are dead on arrival (I vouched for all of them, as they seem well within guidelines). You might want to email the mods to get that fixed, as the only sin it looks like you've committed is not using your account.

<comment><USER4> I mostly want to try to spread more information about this sector of the economy, it is interesting, and I really wish there were more competition.

Right now there are competitive garden walls if you want to use Zeiss, essilor, rodenstock, and Hoya lenses it is a nightmare to keep everyone current, and lab networks are very difficult to use for end user opticians let alone patients.

If you want to disrupt opthalmic dispensing

Start by making good EHR for offices with good product and lab network integration.

None of the big boys have gotten that or lims with solid legacy support going yet.

<comment><USER5> Maybe you're just tacking on a general reply to my comment, or maybe you misunderstood what I am saying. When I say "dead on arrival", I mean that your comments are "dead" in that no one can see them (unless they change a setting from default). _YOU_ can see them, but no one else can.

That said, it looks like the mods have fixed it behind the scenes, as your last comment did not show up as "dead".

<comment><USER4> I was unclear. Thank you ( just woke up) thanks!

</comment></comment></comment></comment></comment><comment> a-dub Oh man. The subway ads for this shit are so annoying. At least there was comedy value in the sketchy lawyers and plastic surgeons. If I see another ad for a boring ass household sundry that has been "reimagined", I think I'll puke.

Moreover, who buys this shit? If I had a bunch of overpriced bath towels that I bought from one of these DTC things, I'd be terrified of the idea of a guest seeing them and recognizing them.

<comment><USER6> You know, it's crazy but things like Brooklinen slowly worm their way into people's heads that they need this kind of stuff.

I'm sure that they're nice sheets, but I just hear more and more "I've heard they're really great quality/convenient/etc" and the actual anecdote where they got this is several degrees removed. The ads just look nice.

</comment></comment><comment><USER7> I am in market for new glasses and I looked at Warby Parker. I have to say I am not impressed at all. The choice is very limited and buy cycle is too long. When people need glasses, they usually need _now_. Bezos understands the value of instant satisfaction, these guys don't. There are easier tech solutions they could have used like try it out on your photo (which companies like Zenni have implemented quite well but they have same issues). These guys insist on sending you frames which don't arrive for a week and then you order and then someday you receive glasses. When I walk to local LensCrafters, I can walk out with a pair in couple of hours. Their website is also nightmare to browse through but it might make perfect sense to them. As a customer, I don't care about their business categories of try at home or not. I just want lots of choices and I want them now. Amazon has truely spoiled me.

They are indeed doing good level of PR in publish-for-pay websites like inc.com, however.

<comment><USER8> I've never walked out of a store with eyeglasses I just baught. I don't think that experience is typical.

<comment><USER9> It totally depends on your prescription. If there's no astigmatism, the lenses can be stocked and cut to the frames you need. Astigmatism adds another two variables that make it much harder to stock. Also the stronger your prescription, the more alternative material options there are to keep the thickness down, which again makes it harder to stock everything.

<comment><USER4> Most offices who keep stock lenses keep cyl (astigmatic correction) up to two diopters in quarter increments in my experience.

The main limitation is usually material choice.

</comment></comment></comment></comment><comment><USER10> Good article. The gist of the piece is that a lot of these direct-to-consumer businesses are trying to "disrupt" markets that the vast majority of people don't see as broken.

There do seem to be some different categories of products here. One is essentially trying to create new luxury brands for, e.g. toothbrushes, that either don't exist or are pretty old-line and non-millennial.

Others are trying to take business from entrenched dominant companies as in eye wear--which is what Warby-Parker did. However, as the article notes, it's not clear how many of those there are. Are high-end towels, etc. really an example of a market failure today? Probably not.

<comment><USER11> > The gist of the piece is that a lot of these direct-to-consumer businesses > are trying to "disrupt" markets that the vast majority of people don't see > as broken.

You can do interesting things with products when you remove some of the vast middle-men distributors that sit between you and the customer and reclaim margin. Whether producing a higher quality product at a lower or similar price, or producing an equal quality product at a far lower price.

Plus, the big product conglomerates and retailers have an effective monopoly on traditional product access (Colgate, Kraft, Procter & Gamble, Walmart, Target, Costco, Walgreens, et al). The margin saved by removing some of the middle-men, can then be used for distribution-marketing-sales to reach out to customers in order to breach that comfortable group monopoly.

<comment><USER10> Maybe.

>A Bristle subscription would be more convenient than going to CVS when you need a new toothbrush--you'd order online, set your replacement-head frequency, and forget about it.

Picking up a toothbrush every now and then--assuming you don't just get given them at every cleaning by your dentist--is so far down the list of problems that I and most people have as to be negligible. Furthermore, I doubt if middlemen markups on toothbrushes are a big problem when in fact overheads are probably far lower overall.

There are clearly some things like eyeglasses that the existing market is fairly broken. But most goods simply aren't in that situation.

<comment><USER12> As someone with a toothbrush subscription: I now change my toothbrush every 3 months. Left to my own devices it was closer to every year.

I am assured by everyone that this is better. I don't really feel like it's something worth thinking about so I am happy it's being taken care of by not- me.

<comment><USER13> A wholesale pack from Costco and a repeating calendar event on your phone accomplish the same thing, and I don't see how shipping an individual toothbrush can be cheaper than that. And I would think many people already have spare toothbrushes lying around in case family or friends visit and don't have theirs.

<comment><USER10> That's my feeling anyway. Managing a bunch of subscriptions sure seems like a lot more mental effort than adding things to shopping lists when they're running low or doing as you say. (Unless it's really something you use substantial and predictable quantities of.)

</comment></comment></comment></comment></comment></comment><comment><USER14> You really need a special market to make DTC super compelling. I think the elements are:

* High margins

* Repeat purchases

* Low competitiveness

For those, glasses, razors, mattresses all hit at least 2 of 3. I wonder why nobody has done DTC with... say shoes? Probably too much competition.

<comment><USER15> There's a crap ton of DTC shoes: [https://www.gq.com/gallery/direct-to- consumer-shoe-brands-fo...](https://www.gq.com/gallery/direct-to-consumer- shoe-brands-for-men)

Paul Evans has tons of NYC subway ads

<comment><USER16> There's some good-looking stuff and maybe some aspects are appealing to higher-end customers but to me, shopping online for something like shoes is more about price. I don't see them beating Johnston & Murphy which has comparable or better prices and has physical stores.

</comment></comment></comment><comment><USER17> From TFA: "To one frequent DTC investor I spoke with, though, any young DTC company's moving into retail early in its lifecycle is a red flag that it might be overspending on online marketing. 'Because if it's working online, why all the retail stores? Why not stay online and scale over time? I could see one or two stores as PR plays, but why take on all the overhead, the cost of the build-out?'"

The answer?

Customers have a severe lack of imagination.

I've found this in several different fields, even among smart customers (except those whose expertise is in the area of what you're selling) -- you really have to show and let them see and feel what they're going to get.

Once they've seen it, they'll go online for a better price, but using permanent locations, popup stores, or other IRL interactions could be key for many of these DTC startups.

<comment><USER15> Seems silly to judge on that considering brick and mortar is still like 85% of retail sales.

Permanent locations are crucial for a lot of different consumers for a lot of different products (especially fashion). I buy clothes way more living in NYC than I ever did when I was living in a rural area because of the local choices.

</comment></comment><comment> tuna-piano Why is it that some small high growth companies in non-tech industries get tech-type valuations and prestige, while others do not?

It feels like companies like Warby Parker can use a certain style for people to think they're super innovative- when in reality they're just normal boring delivery/sunglasses/sheets/etc with none of the characteristics of real tech companies.

<comment><USER10> >with none of the characteristics of real tech companies

You mean they sell an actual product?

OK. That's glib. But it's often not clear what many "real tech companies" are actually selling that has consumer value at the end of the day. At least sunglasses and sheets are something that people value and use.

<comment> tuna-piano I'm mainly thinking many companies in the tech industry can earn huge profits due to (1) It's easier for software companies to achieve huge global scale than physical companies and (2) Potentially amazing economics. Marketplaces, network effects and high fixed low variable costs = Winner take most.

The sunglass/sheet/etc market is not winner take most.

</comment></comment></comment><comment><USER18> Off-topic, but I'm really curious where the jury stands on the Ombraz Kickstarter. They make these sunglasses with a strap instead of arms. So far when I've showed them to people, I've gotten extremely mixed responses.

[https://ombraz.com](https://ombraz.com) (I am not affiliated.)

<comment><USER10> I'm not sure why I wouldn't get normal glasses and a good Chums strap for them. I suppose these are theoretically more secure but I've flipped while kayaking and I've never had trouble losing glasses so long as I had a retainer.

The idea is interesting on paper but a good retainer strap seems a lot more versatile.

</comment></comment><comment><USER19> There is nothing on earth that would convince me that my toothbrush is an extension of myself. Nothing.

</comment><comment><USER20> Most of the DTC stories I hear seem to be very US-centric, including most of the companies mentioned in this article. What are successful DTC companies coming from outside of US?

</comment><comment><USER21> Most of them will probably fail. Still, I thank them for funding my favorite podcasts.</comment>


Ask HN: GUID, int, or both for primary key? - <AUTHOR> If both I'd just use int as primary key, and short guid as unique indexed key.<p>I like being able to get last n records if my primary key is int. At the same time I don't want to show to the public my auto incrementing int, I'd rather do a form of short guid. Reason is to prevent someone form randomly incrementing to next record or something similar. Most of my tables also have a created datestamp. Not sure, any thoughts on this? <comment><USER2> You actually answered your own question, which I'm glad for because that means that you are thinking about security.

Use numeric IDs internally (for foreign keys, etc.), and GUIDs for anything public-facing. NEVER expose the internal IDs to the end user, but, conversely, only use IDs internally in the database. As long as you are consistent, then it will never be a problem.

[edit: added this sentence] The ID will be the primary key, but the GUID can be a key as well, but it does not have to be part of the primary key.

As a side note, it's not just about a person being able to increment to the next record, but that it exposes information about your system. If a person has just joined your website, and they know that their ID is 7, then they know that there is nobody else on the site (and that's potentially catostrophic). If their order # is 5, then they know that nobody else is buying from you. Essentially, exposing IDs is, in essence, an information leak.

</comment><comment><USER3> Various discussion about something similar at [https://news.ycombinator.com/item?id=16946557](https://news.ycombinator.com/item?id=16946557) . This concerned the essay "User IDs probably shouldn't be passed around as ints" at [https://rachelbythebay.com/w/2018/04/27/uid/](https://rachelbythebay.com/w/2018/04/27/uid/) .

The author argues that auto incrementing ints have additional failure modes that sparse integers don't have, even if those sequential values aren't user- facing.

If they have a created datestamp then if you index them then it's easy to get last-n.

</comment><comment><USER4> There are additional arguments against using ints as ids in the database, if you ever plan to shard etc, as in "you'd still have to do a lot of work to migration data from an integer-key-based-system to something distributed". Various articles describe this. Keep in mind that many RDBMS systems now support some concept of a "sequential guid" \- but keep in mind that they all store these in different ways. Plug: here's some code I pulled together, with links to the reference material, that will generate sequential guids for various databases:

[https://github.com/daleholborow/iayos.sequentialguid](https://github.com/daleholborow/iayos.sequentialguid)

Speaking from personal experience, in theory I would always choose a (sequential)GUID as PK.. BUT... they ARE a pain in the bollocks to work with when you are developing and writing sql by hand to query data. E.g.

a) select * from Thingies where Id = 5

vs

b) select * from Thingies where Id = '12331-432Aafds-32424-df'

</comment><comment><USER5> If you do GUID PK or clustered index in an RDBMS, probably want to turn it into a monotonic GUID.

Many DBs order the table by PK. If the GUID value moves backward, that's a slow insert into the middle instead of a fast append to the end.

[https://dba.stackexchange.com/a/17212](https://dba.stackexchange.com/a/17212)</comment>


Refraction – JS library to make modules independent, testable and re-usable - <AUTHOR> https://github.com/mbasso/refraction <comment><USER2> No dependency is often not the right dependency. For example, http depends on tcp, because an http stack cannot work or be reasonably tested without a working tcp stack. Yes, the tcp stack can be provided as an injection. Yes, the tcp stack can be defined as an interface and faked or mocked with a minimal implementation that barely supports the required execution, but still, without providing the depended tcp module, the http module does not work "independently". Sure that the http stack semantically only depends on the tcp "interface" to "compile" (if that was a thing in javascript), but as an http module that ideally should just work out of the box, it should always be shipped with a default tcp "implementation" that just works fine, rather than having the user of the module to "register" a tcp module.

Using centralized message passing/routing/registering is just being lazy on handling dependency, it is like abandoning structure programming and starts using "goto" for every branch, which makes the logic flow eventually untraceable. For a system of N modules, it ideally should have around O(N) dependency edges, but a centralized hub is essentially modeling a possibly O(N^2). It only makes sense to introduce a hub when everyone potentially wants to talk to everyone.

And worst of all, every module using the framework now depends on the "hub" now. While the actual logic-related dependencies are all converted to "dynamically" instantiated ones, this "static" dependency on the hub becomes extremely hard to remove in the long term. It's like a cancer. It is not a good "pattern".

</comment><comment><USER3> I don't want to rail on the author here - lord knows I've written some JavaScript that I regret now - However, putting things on an event bus does not make modules independent, testable, or re-usable. You get those things from careful planning.

You are still going to introduce conceptual dependencies between modules. I'd personally rather have explicit control over those dependencies and their interfaces rather than passing it through a bus.

But anyway, y'all, if class A depends on class B, formalize the interface between the two (throw an error when expectations aren't met) and then inject the instance!

<comment><USER4> Hey John!! Couldn't agree more.

We had an event bus in an early implementation of our application and it was a huge pain later when we didn't know every place that was using and relying on a given event.

We switched to a much more explicit structure with defined dependencies and more boilerplate to reduce the "magic". It is much easier to debug and maintain over the long haul. The boilerplate stuff sucks to write, but when you are going to maintain the application for more than a few months, it takes MUCH less time to go back and understand than the alternatives.

<comment><USER5> Would it be possible to write some pseudocode on how you converted some of your code? I am trying to avoid some "magic" as well but not certain how to handle some of these dependencies.

</comment></comment></comment><comment><USER6> Redux (among many others) uses an immutable log of messages (actions) to manage state and uses pub/sub to communicate between UI components and the state "store." This is significant because it allows the developer to debug the application by replaying messages/actions. Refraction appears to to take a similar approach with "history" and "replay" and "publish"/"subscribe". Both Redux and Refraction have a concept of middleware (such as a logger) that will log every messages that dispatched/published. One notable feature of Redux is the single reducer that centralizes all state update logic. It appears that with Refraction, subscriptions are scattered about the project and there is no way to inspect the dependencies between modules at a given point in time. So my question is: Why use Refraction in lieu of Redux or a Elm architecture-like pattern?

</comment><comment><USER7> I don't quite understand it, so just to be sure:

Instead of fixed calls to other modules all modules use this library to call other modules' functions?

I think everyone has that idea at some point. I started writing my own but ended up going back to rigid coupling because unless I _really_ decouple the system, for example to place modules in different processes or even machines, or letting different versions of certain modules "plug in" simply by loading them (run-time configurable) instead of having to change module names all over the code (needs to be done before deployment), it didn't really give me any benefit (at that early stage). I still use it for logging: I don't have to call a specific method, instead it's all just "messages", and when I have a "logger" listening for certain messages it logs them on the console, in production I'd leave the calls in but send them to a server, simply by loading another logger module, without code changes.

My statement is only for my own specific project, I found that whether to use such a method or not is highly specific.

So my only point is that trying to use such an approach "because it sounds cool" turned out not to be sufficient reason. IMHO the provided "Motivation" document is not sufficient ([https://mbasso.github.io/refraction/docs/introduction/Motiva...](https://mbasso.github.io/refraction/docs/introduction/Motivation.html)). I think more could (should?) be said and explained.

</comment><comment><USER8> So...it's an event bus?

<comment><USER3> Yep. Who needs explicit coupling when you can silently couple interfaces?

<comment><USER9> Could you still have explicit coupling? For example by keeping definition of given message in the same module where the sender is?

</comment></comment></comment><comment><USER10> One interesting way of avoiding direct dependencies is to let modules interact with one another via reading/modifying DOM. It probably sounds strange, but the approach works well when you want to create reusable code that also follows the progressive enhancement principle.

</comment><comment><USER11> This appears to be an inspired and clever attempt to solve a problem which, unfortunately, is already much better addressed by means of dependency injection.

<comment><USER12> My thoughts exactly with things like this. If a new pattern is introduced, it should be superior to the old one and (hopefully) translate across languages.

</comment></comment><comment><USER13> Very nice. This technique of code organization will bring some of the benefits of microservices even though the code is actually all running in one monolithic process.

And as a bonus its not hard to imagine adding RPC capabilities to this library if one of the modules has performance characteristics that require a different type of scaling, so you want to move that module out to its own process running on a different machine.

</comment><comment><USER14> I've added Refraction under the "Package Managers" category; however, I'm not sure this is the right categorization [https://js.libhunt.com/categories/1-package- managers](https://js.libhunt.com/categories/1-package-managers)

Suggestions?

<comment><USER15> No it's a pubsub/event listener/subscriber library, backed by Rx js, it has nothing to do with package management. The use of "modules" here is misleading. It has nothing to do with ecmascript modules or even js modules.

</comment></comment><comment><USER16> this is a great example of a good idea being turned into rubbish by dogmatic worship of The Idea (tm) rather than understanding the reasoning _behind_ that idea.</comment>


European Union wants to regulate cryptography? - <AUTHOR> https://blog.lukaszolejnik.com/european-union-wants-to-regulate-cryptography/ <comment><USER2> Can cryptography be regulated? I mean - can software development be regulated? Can open source be regulated? Can state prevent developer from working on something and then sharing with the internet?

When I think about it cryptography is based on availability of good quality random source, so if only they (state) can make hardware manufacturers to ensure there are no such sources they are half way through to achieve what they want...

I wonder when will we be banned from using knives to cut our bread...

</comment><comment><USER3> > Italy provides an answer in Caps Lock

One can't help but wonder what kind of twisted reasoning prompted some staff member to send in the answers in ALL CAPS.

</comment><comment><USER4> wtflol</comment>


Diy.js JavaScript library - <AUTHOR> http://diy.lab.io/

<comment><USER2> JavaScript without jQuery is a thing. We get it.

</comment><comment><USER3> I love it.</comment>


Icelandic journalist gets fired over connection to WikiLeaks (google translate) - <AUTHOR> http://translate.google.com/translate?js=y&prev=_t&hl=en&ie=UTF-8&layout=1&eotf=1&u=http%3A%2F%2Feyjan.is%2F2010%2F07%2F27%2Fkristinn-hrafnsson-rekinn-af-rikisutvarpinu%2F&sl=is&tl=en

<comment><AUTHOR> some more details about the journalist:

<http://www.americanchronicle.com/articles/yb/147963800>

 _WikiLeaks formed an impromptu alliance with old media -- a local TV channel and one of its journalists, Kristinn Hrafnsson.

"Julian Assange showed me the Iraqi video a few weeks prior to its release. That's the first time I saw that video of the killing in Baghdad. I thought it was essential to find the identity of the people who were killed, to get their story basically, what they were doing there in the square that day," Hrafnsson says._</comment>


Enter sugar snake: MEL Science's next-gen chemistry kit - <AUTHOR> http://thenextweb.com/gadgets/2015/10/24/enter-sugar-snake-hands-mel-sciences-chemistry-kit/ <comment><USER2> [https://en.wikipedia.org/wiki/Gilbert_U-238_Atomic_Energy_La...](https://en.wikipedia.org/wiki/Gilbert_U-238_Atomic_Energy_Laboratory) \-- Looks a really fun set too

[https://en.wikipedia.org/wiki/The_Golden_Book_of_Chemistry_E...](https://en.wikipedia.org/wiki/The_Golden_Book_of_Chemistry_Experiments) \-- This book is an awesome read

<comment><USER3> Wow. Gilbert claimed there was nothing conceivably dangerous in a kit which contained polonium 210. Hopefully it had a very small amount, given that the median lethal dose is a tenth of a microgram: [https://en.wikipedia.org/wiki/Polonium#Biology_and_toxicity](https://en.wikipedia.org/wiki/Polonium#Biology_and_toxicity)

</comment></comment><comment><USER4> Looks like a great gift for my younger brother. And if he doesn't end up using it I wouldn't mind making a tin hedgehog myself.

</comment><comment><USER5> If you want a more fun science based kit, I would recommend Yum Science ( [http://www.yumscience.com/](http://www.yumscience.com/) ). It combines cooking with science. Kids love it.</comment>


Google Apps outage? - <AUTHOR>

Is anybody else having errors while trying to access gmail and google apps? I'm failing on multiple domains on mobile, local wifi, and across the country through a VPN. <comment><USER2> Already posted: <http://news.ycombinator.com/item?id=4725017> and whatever it is, it seems to be fixed now and there's nothing on the Google Apps status page.

</comment><comment><USER3> Was having issues a couple minutes ago, everything seems to be back up in working order now.

</comment><comment><USER4> I'm seeing issues too. Can't access gmail or youtube, and I can't sign out.

</comment><comment><USER5> Works from here</comment>


Nassim Nicholas Taleb's Favorite Literature Books (2018) - <AUTHOR> https://www.nuggetsofthought.com/2018/08/22/taleb-literature-books <comment><USER2> The sheer volume of publication is a problem, as is Sturgeon's "law" that "90% of everything is shit."

So for fiction, which I really enjoy, I mostly read the work of deceased authors. Why? Well, if they are old and still in print (or still mentioned in things I otherwise enjoyed) then they are probably better than the run of the mill.

Doesn't mean I read _anything_ old -- I can't stand James Joyce, though I have friends who love the work. I don't have the education to understand it.

With apart from the two examples below I won't mention particular authors, 1> because it will inherently sound snobbish ("oh he likes to read _that_ old author -- I had to read that thing in school") and 2> because everybody's taste changes.

For some perspective on my attitude: in high school I was really saddened that only seven of Sophocles' plays survived when he had written over 100 and we have records of some of the missing work winning prizes. But I came to realise that must have been some clunkers in the mix and over a few thousand years perhaps these seven are seven of, say, the best ten. Pretty good!

Also I have never understood the fetishism of the original. People obsess over Shakespear's first folios, and the differences in printings and revision: which is "correct"? These old works are "good" because they are continually reinterpreted and remixed into our underlying culture.

"good" in scare quotes because it's all personal judgment -- I have a few Shakespeare plays I really love, and many I can't stand or am indifferent to, and personally I couldn't care less about his sonnets. Doesn't make me a good or bad person, nor is it a comment on your opinion if you feel differently.</comment>


GoDaddy becomes an OpenStack sponsor - <AUTHOR> http://www.godaddy.com/news/article/godaddy-becomes-openstack-sponsor.aspx

<comment><USER2> I cannot bring myself to like GoDaddy. It's really hard to forgive/forget their SOPA support.</comment>