What Is Differentiable Programming? - one-more-minute https://fluxml.ai/2019/02/07/what-is-differentiable-programming.html <comment><AUTHOR> I have to be honest, I don't think this is a good explanation. I don't know what differential programming is, but I'm fairly sure I have the mathematical background to understand it. But I didn't come away from this article with any confidence that I'm following along.

On a superficial level it seems like it:

1\. Generalizes deep learning to an optimization function on decomposable input, and

2\. Reduces the number of parameters required to learn the input by exploiting the structure of the input, thereby making learning more efficient.

Is that correct? Is it completely off? What am I missing? Is there any more meat to the article than this?

Could someone who has upvoted this (and ideally understands the topic well) provide a different explanation of the concept? It would be great if I could see a real world example (even a relatively trivial one) represented in both the traditional matrix computation form and the sexy new differentiable form.

<comment><USER2> The basic idea is to have an expressive programming language where all constructs are differentiable. Since the composition of diffeomorphisms is a diffeomorphism, large programs (like ray-tracers) will be differentiable as a result.

<comment><USER3> > The basic idea is to have an expressive programming language where all > constructs are differentiable. Since the composition of diffeomorphisms is a > diffeomorphism, (...)

No. It has nothing to do with diffeomorphisms (which are necessarily between spaces of the same dimension), but with piecewise differentiable functions.

<comment><AUTHOR> Thanks, I was also a little confused about that in the parent comment.

</comment></comment></comment></comment><comment><USER4> Differentiable does not mean easy to optimize. One could imagine implementing sha-256 using differentiable operators, and yet the system as a whole would not be optimizable at all. It would be interesting to have compilers that optimize the "optimizability" of differentiable programs tho...

Also, here are two interesting examples of differentiation through physical systems for classification:

[https://arxiv.org/pdf/1808.08412.pdf](https://arxiv.org/pdf/1808.08412.pdf)

[https://innovate.ee.ucla.edu/wp- content/uploads/2018/07/2018...](https://innovate.ee.ucla.edu/wp- content/uploads/2018/07/2018-optical-ml-neural-network.pdf)

</comment><comment><USER5> Could someone list some practical examples where Differential Programming would be useful?

I am familiar where Nueral Networks and Convolutional Networks have done well especially around image processing etc.

But I can't imagine where having differential code would help unless it is just tying multiple neural networks together in a continuous chain of differentiation.

For most programming tasks, I can't imagine how differentiation would be possible or beneficial.

Is there a possibility that one could start with a series of unit tests and partial results and through gradient descent actually arrive at additional passing test cases? Most of the time in my experience, passing additional test cases like this requires significantly more complex structures that would not be found via differentiation.

<comment><USER6> There are examples quite far from neural networks, the ones I can think of are broadly optimisation problems:

Many physics problems involve trying to find a function which minimises something -- energy, entropy, action. Or the state which makes the difference between two things zero. Sometimes adjusting many parameters slowly down the gradient is a good way to find these.

In bayesian statistics, the basic problem is to sample from a distribution, which you know only indirectly, by some kind of monte-carlo method. But the space to sample can be enormous. If I understand right, advanced ways of doing this exploit the gradients (of functions defining the distribution) to try to choose samples efficiently.

People have hacked tensorflow to do all sorts of things which its creators didn't intend. Or written tools specialised for another particular domain (like Stan). I guess the excitement is that instead of re-inventing the wheel in each domain, maybe this can be pushed down to become a language feature which everyone above uses.

</comment></comment><comment><USER7> Something I don't understand about Automatic Differentiation is: Why not use a Computer Algebra System instead for generating derivatives of given functions?

<comment> one-more-minute That's essentially what a source-to-source AD does, just with support for the extra features that show up in programming languages. For example, handling variable bindings gets you the typical Wengert list, and handling function calls gets you the Pearlmutter and Siskind style backpropagator (I wrote a bit about the relationships at [0]).

The short answer is that CAS systems work with a "programming language" that doesn't have these features and is therefore a bit too limited for the kinds of models we're interested in.

[0] [https://github.com/MikeInnes/diff-zoo](https://github.com/MikeInnes/diff- zoo)

</comment></comment><comment><USER5> I found this paper that helps answer the question: [https://arxiv.org/pdf/1803.10228.pdf](https://arxiv.org/pdf/1803.10228.pdf)

<comment><USER8> When possible, one should link to the abstract page, if for no other reason than that it makes version tracking easier: Want, Wu, Essertel, Decker, and Rompf - Demystifying differentiable programming: shift/reset the penultimate backpropagator ([https://arxiv.org/abs/1803.10228](https://arxiv.org/abs/1803.10228)), a title which is entirely too cute for its own good.

<comment><USER5> Thanks Jade, didn't realize I grabbed the wrong link.

This paragraph from the paper was helpful for me:

Differentiable programming is of joint interest to the machine learning and programming language communities. As deep learning models becomes more and more sophisticated, researchers have noticed that building blocks into a large neural network model is similar to using functions, and that some powerful neural network patterns are analogous to higher-order functions in functional programming [Fong et al. 2017; Olah 2015]. This is also thanks to the development of modern deep learning frameworks which make defining neural networks "very much like a regular program" [Abadi et al. 2017; LeCun 2018].

</comment></comment></comment><comment><USER9> Be cautious using this article to try to learn anything. Differentiable programming is not actually related to deep learning; it's another word for automatic differentiation, a technique that is very important in deep learning implementations but useful for a variety of other tasks where having gradients available for arbitrary functions is useful.

The article is correct that "Differentiable Programming" seems to be a rebranding effort that I believe just helped automatic differentiation work from the machine learning world get published in Programming Languages journals. I wouldn't read too much into it.

</comment><comment><USER10> Is Differentiable Programming just a rebranding of tape-based auto differentiation?

<comment><USER11> The only serious difference between classical AD and newer efforts like this is that they have an intermediate language ("what goes on the tape") with recursion and control flow operators which ideally lets them implement front- ends for normal programming languages.

You can achieve the same effect with classical AD by doing what PyTorch does in its default mode where the dynamic recursion and control flow is normal Python code and large tensor ops are asynchronously scheduled on the target device and an AD tape for that particular dynamic run is constructed each time. But the viability of PyTorch's approach is domain dependent: there are relatively few but large tensor ops, and while host-device synchronization is possible (for making the dynamic control flow dependent on intermediate device-computed results) it's also very costly. Although the first of these would be slightly less critical if the host language executed faster.

But, if you're not trying to achieve the kind of decoupling between host and device which PyTorch and similar frameworks want, then I don't see any particular reason you can't just use normal forward-mode or reverse-mode AD as an alternate scalar execution mode for existing code, which just needs a different interpreter/library, not a different intermediate language. For the purposes of differentiation, the branching and control flow operators don't exist, anyway. E.g. if you represent branching explicitly in your graph/tape as TensorFlow does, the subgradient of if(a, b, c) is just the subgradient of whichever of b or c is selected. The conditional variable a only serves as a selector; if you compute the subgradient with respect to the selector, the answer is always 0 (except for the knife-edge case where it's technically not defined but is treated as 0).

</comment></comment><comment><USER12> What the hell is that supposed to mean and how it's different from automatic differentiation

<comment><USER13> I think it's just the realization that the execution graph in machine learning models at this point are not really different from any programming language AST, which means there is potential in exploring the intersection between writing programs and writing machine learning models with the AD tools.

<comment><USER12> Sorry for curse words I'm very confused

<comment><USER13> It's ok, it seems at this point the focus is in creating the tools to better allow the exploration, including making the entirety of a programming language valid syntax for building any model (supporting the AD). There are the efforts in Julia Zygote and the Tensorflow for Swift that I know of.

I think the differentiable forth example in the article is interesting in the context, since it has a differentiable program with gaps, and it uses the universal approximation property of a neural network to fill them. When your code is differentiable, it's possible to embed ML models, perhaps to learn a part of an equation when you already know most of it, and which otherwise would have too large of a search space. You might even have, like other commenter said, a compiler being smart enough to rewrite the AST to reduce convergence problems (which seems to be the main problem with such models). Or you could download libraries with pretrained models/architectures in the same way you have any regular program library to embed in deeper systems.

Though I honestly can't tell if any of those are actually valid pursuits or I'm misunderstanding the possibilities.</comment></comment></comment></comment>


My Experience Using Weebly:  The Official 'Rate My App' Blog - <AUTHOR> http://ratemyapp.weebly.com/ <comment><AUTHOR> I created the blog in a short amount of time. Had I realized there was a blog feature, I would have saved myself some time.

In fact, I thought, "you know, you'd think they would have added blog functionality by now!" Let me just take a look! And on the pages popup, there was a Blog button! Hooray!

Weebly is very easy to use. Just remember to give it 2 to 10 seconds if your changes aren't always reflected right away. They'll come up. Most of the time, everything is instantaneous. At the very least, it doesn't lose track of what you're doing and I never had to exit the 'program' and re-enter it.</comment>


Musk: Tesla's Autopilot lowers probability of having an accident by 50% - <AUTHOR> http://electrek.co/2016/04/24/tesla-autopilot-probability-accident/ <comment><USER2> When do people drive with Autopilot on? When the probability of accidents is lowest.

The average number of kilometers per accident isn't the same across all kilometers driven; accident rate per kilometer is highly dependant on environment which this data does not evaluate.

</comment><comment><USER3> Musk said ...

"The probability of having an accident is 50% lower if you have Autopilot on. Even with our first version. So we can see basically what's the average number of kilometers to an accident – accident defined by airbag deployment. Even with this early version, it's almost twice as good as a person."

<comment><USER4> …or there's a bug with deploying the airbag when Autopilot is engaged. :)

</comment></comment><comment><USER5> Google has about 1.5 million miles of driverless driving. Tesla can get a few hundred thousand cars to test their software and achieve 10x the miles.</comment>


Show HN: AntsDB – a database virtualization software for HBase - <AUTHOR> AntsDB is a database virtualization software/middleware that provides a low latency high concurrency virtual MySQL layer on top of Hadoop HBase. It is wire compatible with MySQL and supports core features such as all DMLs, most DDLs, transaction control, index, full text search, MVCC, row and table locks etc. It is designed to make HBase, or any data warehouse, an OLTP database.
Up to date, it can work with many MySQL applications such as MySQL console, MySQL command line utilities, MediaWiki, SonarQube, DBeaver, phpMyAdmin, Squirrel SQL etc. I've benchmarked it with YCSB. It is  significantly faster than mainstream relational databases. Results can be found at http://www.antsdb.com/?p=171.
I started this project a few years ago with a couple of questions in my mind: (1) why do you need a front-end database if all it does can be done by a middleware (2) I like the scalability of Hadoop but I  hate missing the nice features from the traditional relational database. Why can't I have both? (3) How far can you go with Java?
Now I believe I have limited success with my experiment and I'd like to share it with the community. The project is open source. GitHub url is https://github.com/waterguo/antsdb.
You are welcome to try it out or use the code in your own projects. I will be very grateful if you can give me some feedback. <comment><USER2> You should offer a hosted version. This would make it more sustainable.

<comment><AUTHOR> The project is still in its early stage. I hope one day I could have the resource to provide hosting service.</comment></comment>


Configure Mynewt for SPI Flash on PineTime Smart Watch (NRF52) - <AUTHOR> https://lupyuen.github.io/pinetime-rust-mynewt/articles/spiflash <comment><AUTHOR> Hi All: Here's my new article that explains how we may access the SPI Flash on PineTime Smart Watch with Mynewt OS.

We'll be using SPI Flash in the MCUBoot Bootloader for storing the old firmware, so that MCUBoot can roll back to the old firmware if the new firmware doesn't start.

[https://lupyuen.github.io/pinetime-rust- mynewt/articles/spif...](https://lupyuen.github.io/pinetime-rust- mynewt/articles/spiflash)</comment>


Show HN: I built a programming language for beginners - <AUTHOR> http://dip-lang.org <comment><USER3> "You can evaluate expressions by writing them after "

What true beginner programmer is even going to know what this means?

</comment><comment><USER4> Story: I went to a user test interview for Mavo (which also caters to beginners). I'm a UI designer and I work in frontend scripting (HTML+CSS). I did my first hello world in Turbo Pascal almost 15 years ago so I'm NOT a beginner and I can understand code. the Mavo interview consisted of basic programming concepts. It made me sweaty and I felt like the dumbest baby user because of the expected timeframe to answer questions.

Presenting a FUNCTION to a beginner IS overwhelming (even tho you wouldn't feel overwhelmed as an avid developer).

Advice: Sit down with actual beginners and watch them trying to start a project using dip language. you'll learn so much about how far away from 'beginner friendly' you are (from a practical pov) :(

<comment><AUTHOR> Thanks! I'll try my best to improve

</comment></comment><comment><USER5> This is pretty cool.

I'd gently suggest having a bit more explanation as to things like syntax and whatnot, on the front page (I had to dig into the documentation to find it), but I am an experienced programmer, so what I want may not actually be good for the project.

What really started it for me, was a HeathKit (remember them) programmable calculator that I brought in the 1970s.

<comment><AUTHOR> Thanks! Did you check the learning path? Maybe that would clear it out!

<comment><USER5> I'll check. I've just skimmed it, so far.

</comment></comment></comment><comment><AUTHOR> Hello. A few weeks ago, I had posted a very basic version of a programming language that I put together, called Dip. I was blown away by the kind and honest feedback given by the community, and have worked on it, adding examples of Dip code so users can get to know the language, adding a learning path for beginners so that they can learn how to code in a streamlined fashion, and also changing the site to match the language's identity.

So now, I (re)introduce you to Dip, a small project I've been working on, which also happens to be a programming language targeting beginners. I've tried to make the syntax easy to understand, and also tried to make the language easy to read and write for complete beginners. I've tried to eliminate a few issues the Python language has (such as indentation and error messages), though it is up to you to see to what extent Dip succeeds. I've also tried to allow Dip to communicate with Python, so users are not limited to Dip's features, because the way I see it, Dip is not meant to compete with Python, and does not aim to, but I think Dip's simpler syntax and error messages might be useful to beginners in some cases and get them up the learning ladder, and I would love to see Dip being used as a stepping stone by the Python community, learning the ropes using Dip, and then moving on to Python.

You can look at Dip's website at dip-lang.org.

I would love your feedback on how I could improve the language.

Also, if you wish to contribute to this small venture of mine, feel free to help me with the core language or the site on Github.

<comment><USER6> Maybe I'm overlooking it, but it seems there is not link the the repo on the homepage.

<comment><AUTHOR> It's there in the contribute section!

Here you go: [https://github.com/raghavnautiyal/Dip/](https://github.com/raghavnautiyal/Dip/)

</comment></comment></comment><comment><USER7> Wouldn't it be easier for someone to learn a language when there are a lot of books, resources, YouTube videos and online courses available?

<comment><AUTHOR> It would. That's why I think Dip should be used by beginners to get a grasp of programming concepts and syntax, and then move on the languages like Python! That's why I've built a learning path as well, that teaches the basics and then moves on to say how to transition to Python!

<comment><USER7> I understand what you are trying to do and it looks like you put in a lot of work but I think that the page is not doing a good job of guiding people through the course. Right now I think the website is very confusing to navigate and it's not guiding people through very well.

I also disagree with the assumption that your own language makes it easier to understand the concepts of syntax.

If it's just JS and people can watch a video about "what does let do in javascript" on YouTube or google "what's a loop in javascript" that makes it easier to understand these basic concepts if you have access to a big variety of explaining the same thing from various angles. I don't think having a "fake" language to learn it is making it any easier. There's a reason people learn JS or Python in school where there's also a lot of editors / resources that can be used even if they are curated in a way to help a total beginner.

<comment><AUTHOR> Thanks! I'll try my best to improve

</comment></comment></comment></comment><comment><USER8> As someone who teached programming to many people on and off for the last 25 years, I still think nothing beats LOGO or Scratch. No tooling problems, no braces (in Scratch), no complicated syntax (what does "->" mean?). A programming language for beginners is NOT a dumbed down version of your functional/OO language of choice.

Turtle graphics helps people deconstruct problems into smaller parts - <USER2> essence of programming - and abstract over your solutions to solve more general problems. As a second step I use some IoT board with Scratch so people can turn on LEDs or react to sound which makes them motivated.

My first teaching 20y ago was with Java and it was a disaster. People struggled with the tool, syntax errors, semantics, braces and in the end could write some Java programs but did not understand what programming was about and could not solve their own problems.

\+ Several submissions on one day.

<comment><USER9> As a hackathon project I made a language[0] inspired by LOGO but using Unicode characters for the drawing primitives (presumably children could have some physics buttons or GUI to insert them). It also has support for loops and subroutines but otherwise it's a limited DSL like LOGO.

[0] [https://github.com/siraben/vpl](https://github.com/siraben/vpl)

<comment><AUTHOR> That sounds great! Will definitely give it a try!

</comment></comment></comment><comment><USER10> As you developed it, did you workshop it with people who were actually beginners to programming?

I'm not a beginner, so maybe I'm wrong here, but it doesn't look that much simpler than python to me.

<comment><USER11> I'm not a beginner, either, but IMO, the documentation will lose you some, potentially many, beginners very soon.

In particular, I think _"The above line is Dip 's way of letting you know that you've created a function called greet"_ moves too fast, even if your beginners have math training. It likely won't be clear to beginners that this is similar to functions in mathematics, and it introduces too many new things (what's that _- >_ about? What is _print_?)

I would teach users about variable assignment and reassignment (assuming those can be done from the REPL, but if they can't, fix that first) before introducing functions. That way, you can introduce functions as helping against having to repeatedly type the same characters.

You probably can find a way to introduce _print_ before functions, too (e.g. as a way to show multiple items on a single line)

The suggestion to sit with absolute beginners going through the tutorial is great. I expect it would uncover tripping points you aren't aware of.

Edit: I also think using a calculator as the example program isn't a good choice. New users already have a better calculator the moment they start the REPL.

<comment><USER12> My favourite teaching program is a "higher or lower" game. You get the computer to randomly generate a number between 1 and 100 and the user has to guess. They then get told if they're too high or too low.

That program teaches variable assignment, loops, conditionals, mathematical comparisons, input and output. It teaches the difference between numbers and strings too. But it's also a short program, fun to play, and easy enough for people to hack so they can alter stuff on there to subtly change its behaviour (eg the messages printed to screen, the range of numbers randomly generated, etc).

I've had good success using that program for a range of different age groups and capabilities.

Edit: just to add, we would cover the basics about variables etc first before moving on to that game. But that would be the first "useful" program they'd write.

<comment><AUTHOR> I will put that in as well :) Thanks</comment></comment></comment></comment>


One in every 172 active RSA certificates are vulnerable to attack - <AUTHOR> https://www.zdnet.com/article/1-in-every-172-active-rsa-certificates-are-vulnerable-to-exploit/ <comment><USER2> This attack has been known for at least seven years: [https://eprint.iacr.org/2012/064.pdf](https://eprint.iacr.org/2012/064.pdf) (discussion: [https://news.ycombinator.com/item?id=3591429](https://news.ycombinator.com/item?id=3591429)).

Back then, "two out of every one thousand RSA moduli that we collected offer no security".

<comment><USER3> Indeed! Another publication on this topic from that time:

[https://www.usenix.org/conference/usenixsecurity12/technical...](https://www.usenix.org/conference/usenixsecurity12/technical- sessions/presentation/heninger)

and commentary on the paper from a few years later

[https://blog.acolyer.org/2015/09/16/mining-your-ps-and-qs- de...](https://blog.acolyer.org/2015/09/16/mining-your-ps-and-qs-detection-of- widespread-weak-keys-in-network-devices/)

ah, and a blog post from Nadia Heninger (one of the authors) prior to publication

[https://freedom-to-tinker.com/2012/02/15/new-research- theres...](https://freedom-to-tinker.com/2012/02/15/new-research-theres-no- need-panic-over-factorable-keys-just-mind-your-ps-and-qs/)

</comment></comment><comment><USER4> Just to nip this in the bud a little:

> In comparison, only five in 100 million certificates from Certificate > Transparency (CT) logs share the same prime factors.

This isn't about public website's certificates. Near none are vulnerable.

This is supposedly about "power-restricted devices that can only manage low rates of entropy due to design constraints" (e.g. IoT devices). But since there's no clarity in this article where the authors got their "75 million active RSA keys," specifically which IoT devices or even class of devices, it is difficult to contextualize.

So feel free to discuss, but we don't really know exactly what we're discussing yet.</comment>


With Respect to Matters Concerning The Board of Directors of HP - <AUTHOR> http://raganwald.posterous.com/with-respect-to-matters-concerning-the-board <comment><USER2> That is a good scene from Traffic.

It seems like HP had a good thing going. Then Wall Street decided HP should be making more money. This insatiable need for increasing profits then forced a group of people to make a series of increasingly bad decisions.

That is how it looks to me at least.

<comment><AUTHOR> I haven't seen "Traffic," but I first heard this story told about Billy Martin, who somehow managed to get fired and rehired by the Yankees five times. It was also allegedly told about Yogi Berra. I would not be surprised if there is a version in latin told about Ceasar.

<comment><USER3> Et tu, envelopes?

</comment></comment></comment><comment><USER4> I love 'two envelopes'.

I have tried to track down the original joke. The first time I heard it was 20 years ago. I was 10 years old at the time and the old Soviet Union and the Eastern Bloc were falling apart. My dad was a political refugee from Eastern Europe who emigrated to Australia.

I asked him what was going on while we watched the news on TV, and he explained that communism was a different system to ours and it was one where the government controls the people.

He told me 'two envelopes', but with the characters being leaders of the Soviet Union. It was an old joke he first heard in Russian, and had heard repeated across the Eastern Bloc as a commentary on the situation they were in.

I couldn't find an earlier reference than when I heard it - so I will assume the joke originated in old communist East Europe. When you search for the joke, a lot of websites reference it as a 'Russian joke' [1], which backs up how I first heard it.

[1] <http://toperjokes.blogspot.com/2007/05/two-envelopes.html>

</comment><comment><USER5> Why doesn't HP just make a printer that I, the consumer, want to own?

<comment><USER6> If I think about it, I really don't want to own a printer. What I really need to do is to put my signature on letters and forms that are then faxed or sent via email.

</comment></comment><comment><USER7> I dig the story, but why is the last message written in cipher?

<comment><USER8> Comedic timing. Hold back the punchline for just a little bit longer than you think you should, and you'll kill 'em every time.

Unless your joke sucks, then you'll just suffer an awkward silence.

</comment></comment><comment><USER9> In the original joke, there's three envelopes. The second says "reorganize".

</comment><comment><USER10> He's not suggesting that the stock price fluctuated as wildly as it did, and employees "revolted" against Leo solely because of webOS, is he? Did he forget that Leo did announce one other thing that day: that the hardware division of HP (which wasn't bleeding cash) would be spun off into a new company, and HP would be taking a gamble with software services? Dump something that you bought one year ago, who cares but the fanboys. Dump something that HP has been doing for decades, and heads will roll.

If you ask me, they should've given their hardware division more time to come up with a winning tablet, if not running webOS then running either Android or Windows 8 (seeing how HP and Microsoft are "intimate" partners"). Give the hardware division a chance to reverse course while it is still not a cash drain on HP. Then, if HP can't break into the high-margin tablet market, dump the hardware division.

<comment><USER11> > Give the hardware division a chance to reverse course while it is still not > a cash drain on HP.

I wholeheartedly agree with you. How many notebooks did Apple make before having a hit? You build two phones and one tablet that are not hits and you can the whole division?</comment></comment>


What is "Professional" Code? - <AUTHOR>

In your experience (or opinion), what are the differences between so-called professional code and code as a hobby?
I'm thinking of what actual code looks like in this case, rather than the overall result of a software system.
Personally, I'd venture that code that becomes part of shipping or bespoke products can often be highly constrained by compatibility with older products, and maintainability requirements for programmers who may be rotated in and out of roles with some frequency.
Can these restrictions make code better, or do they typically make it worse? <comment><USER2> As I've mentioned here before, I've done work on avionics software, which probably has some of the strictest development constraints you'll find.

Generally, these constraints include some things that we'd probably all agree are good: consistent naming conventions, for example. But these constraints also encourage very simplistic coding, such as, no recursion.

Code that follows the constraints tends to be extremely procedural, and tries to avoid complexities of the language. This is for the purpose of verifying that the code really will do what we claim it will. If someone, say, messed up at recursion, it could exhaust too much memory and the box could die.

The result is very robust, but it lacks character. It's rarely beautiful and elegant. But we are about as sure as we can be that it works.

[That is not to say that recursive, elegant code does not work, just that, it's harder for a team of hot-swappable software verifiers, potentially just out of college, to match the code up with the requirements, or to ensure that non-obvious code is correct.]</comment>


An Update from Elon Musk - <AUTHOR> http://www.teslamotors.com/blog/update-elon-musk <comment><USER2> I'm a huge Elon Musk/Tesla/SpaceX fan, and have often felt it would be the ultimate opportunity to work at either company (Tesla would be my first choice, as automotive interface tech is one of my passions).

However, doing a quick bit of research earlier today, a search for "Tesla working environment" turned up more than a handful of reports by former and current employees that hint at an unpleasant company culture. Six to seven day workweeks, below average compensation, hyper-political management, management that is quick to fire, and a generally chaotic environment. These factors seemed to be reported even by folks who cited other benefits such as a high degree of autonomy and the opportunity to work with other highly passionate top level engineers on important emerging technologies. One additional oft- repeated concern was that the pace at which Tesla works its engineers is unsustainable, and will lead to burnout for lack of work-life balance.

Can anyone closer to the Valley than I am comment on whether these concerns ring true? And how does this compare to work at other highly innovative and passionate industrial startups?

Elon's explanation of the latest round of fundraising is welcome news, and personally I'm gunning for Tesla to become the Apple of the auto industry. (I plan on buying stock as soon as I'm able.) Is there anything we can infer from these employee reports about the health of Tesla's organizational core/DNA, and what effect that might have on the company's prospects for long term success? [Edited for clarity]

<comment><USER3> I have a bunch of friends who work at Tesla. They do work hard, one of whom works waaaaay too hard, but it's meaningful work. They're changing the world.

It's a similar feeling I get from people I know who work at Apple.

<comment><USER4> I understand the geek/social effect of saying that you work for Apple or any other well perceived company, but get real: you're no changing the world. You would change the world if you were one of the first few employees at Apple, or nowadays if you are a high ranking executive/manager. Other than that, you're just a small piece in the engine. Maybe an independent developer is doing more to change the world than an employee at Apple.

<comment><USER5> _> You would change the world if you were one of the first few employees at Apple, or nowadays if you are a high ranking executive/manager. Other than that, you're just a small piece in the engine._

"Almost everything you do will seem insignificant, but it is important that you do it"

\--Mahatma Gandhi

<comment><USER6> I don't think Gandhi was suggesting people devote their life to working at Apple.

<comment><USER7> no, but it's the sum of seemingly un-important things that actually end up creating a great meaning. Be a part of it.

</comment></comment></comment></comment></comment></comment><comment><USER8> Musk's public statements are the nicest and most logical ones I've seen made by a modern CEO. No sense of spin. Always a pleasure to read.

<comment><USER9> Ok, even though i am generally pro tesla and like musk, in order to prevent this from becoming a total worshipfest i will provide some facts that elon is not sharing.

It is true that tesla has made all their payments under the doe loan agreement. But they were not in total compliance with said agreement. The agreement required that tesla keep certain financial ratios up to certain levels, and tesla failed to do that. As a result, tesla asked trhe government to change the terms. The government complied but wanted something in exchange. What they wanted was early repayment of their loans. That is why he is talking about early repayment. And that is probably one of the reasons why they raised extra money (although elon is unlikely to admit that).

So that is the full story. It is no big deal, i think tesla are very unlikely to default on the loan, but elon was definately not giving you all relevant info.

<comment><USER10> Well, he seems to address this directly where he states:

 _"We did suggest that holding nine months worth of principal payments in advance in a reserved account was a bit extreme and, moreover, was never part of our original loan agreement. The DOE agreed and reduced the advance payment reserve account to six months."_

You saying

 _"keep certain financial ratios up to certain levels, and tesla failed to do that. As a result, tesla asked the government to change the terms"_

...doesn't seem to add to or contradict his statements.

So unless you can clarify, your statement that _"that is the full story ... elon was definitely not giving you all relevant info."_ seems inaccurate.

<comment><USER11> Financial ratios and/or debt covenants compared to a reserved cash account - two different things. Sure, the cash account can be a small part of a debt covenant but is usually just that - a very small part.

Which debt covenants were breached? Often times they put these checks in when they think something bad is going to happen. Then a couple of years down the line they mean absolutely nothing, are breached (usually because the company has forgotten about one of them and accidently breaches them) and need to be restructured with the lender asking for something in return.

Sounds like something like the above happened?

</comment></comment></comment></comment><comment><USER12> I think people underestimate what an agile and lean startup like Elon seems to be running can accomplish. He's a super intelligent guy with a growing positive trackrecord. The vehicle industry has been waiting for disruption for 20+ years, and the giants finally have lost control and whatever unnatural advantages they tried to maintain. Technology for electric vehicles will only continue to improve, and costs will go down. Luckily for economies very attached to oil they can shift to systems like free re-fueling once a vehicle is purchased; That's pretty incredible and something I never even thought about or imagined possible, though it makes sense and works once the puzzle pieces are all in front of you. P.S. Elon's my new Man Crush.

<comment><USER13> So I'm not the only dude with an Elon Man Crush.

I'm off to go buy a ton more TSLA stock. And apply at an Elon company. Doesn't even matter which one.

<comment><USER14> I truly believe TSLA stock is a good investment. TSLA is on its way to be the Apple of car manufactures.

$ whoami > nobody

<comment><USER15> I wish we could buy stock in Elon directly which would translate into a spread between all his ventures.

<comment><USER16> It's always possible to create an index fund portfolio.

<comment><USER17> Quite difficult. For instance, you can't buy SpaceX. You'd have to find highly correlated stuff.

</comment></comment></comment></comment></comment></comment><comment><USER18> What a timing - "Romney Calls Tesla a 'Loser'" in first debate: <http://www.wired.com/threatlevel/2012/10/romney-tesla-loser/>

<comment><USER19> _Romney then name-dropped a few beneficiaries including the bankrupt solar panel maker Solyndra and Tesla Motors, the car maker that has gotten a $465 million loan from the Department of Energy, which it is paying off.

Romney then quipped that "One of my friends said, "You don't pick the winners and losers. You pick the losers."_

\--(1) They defaulted on a fed subsidized loan[#]; (2) They make $90k cars for rich people; (3) US deficit=$1Trillion, US Debt = $16.X Trillion. (4) Item (3) is spread pro-rata amongst the poor people who can't afford Teslas. Their pro- rata share of the debt is a nice chunk of their mortage payments (5) SV is flooded with cash. Tesla does not need US handouts, subsidized loans and other craptrap. If the biz/product is a winner it will do fine.

________

[#] Technical.

<comment><USER20> > Tesla does not need US handouts, subsidized loans and other craptrap. If the > biz/product is a winner it will do fine.

If that's truly your belief, let's carry it out across the board to be fair and complete. No more subsidies, exemptions or bailouts for banks, Wall Street, oil companies, mining companies or religions (via income tax exemptions). Oh that's right. Those are approved and supported by the Republican party. So those are perfectly ok.

But if it is about say solar, wind, tidal, or geothermal energy, or about science, education, helping the unemployed, the sick, disabled, elderly, retired -- those are what we should be spending less on as taxpayers and just let nature take its course. Let the "market" decide the winners and losers. If they can hack it on their own, the market will reward them with enough cash. Otherwise they die. There is absolutely no other long term consideration we should be taking into account, no strategic concerns, no follow-on effects, no externalities (those don't exist in a proper capitalist/rightwing/libertarian mindset, it seems), and certainly no moral considerations to be had. And there is no such thing as climate, ecosystems, or species other than humanity or the ones we pet or put on our plates -- that's liberal hippy talk. Science? A thinly-veiled conspiracy against my Bible. Also there's no need for any business or startup to ever do any R&D spending up front that doesn't have an immediate return via product revenue. That's just insane and asking for trouble. Any new idea must be profitable and able to stand on its own legs in year one, on day one -- nay literally within moments of conceiving of it. Period. No exceptions for ramp-up time, for execution risks, experimentation, taste shifts, refinement, pivoting, serendipity, or market events beyond one's control. That's all weak-minded liberal talk.

$500M loan to one particular solar company that folds? Travesty. Trillions spent on unnecessary wars in Iraq and Afghanistan started by the last Republican administration? Crickets chirping because apparently perfectly ok. Chance a few more blacks or elderly or college students might get to vote -- and not for the candidate I want? Tragedy. Billionaires now being able to spend effectively unlimited amounts of cash to flood media with dishonest ads backing their favored candidate? Perfectly ok. Because the market is always right. Government always eeeevil (eg. Social Security, teachers, firefighters, roads, libraries, schools, defense). Market always guuud (eg. Enron, Deepwater, Goldman Sachs, AIG).

<comment><USER19> How about no more subsidies for interest on Debt, in particular real estate- residential? Isn't it great getting tax breaks on that $1-3 million home? Every year for you? A working couple at median income pay THEIR ENTIRE TAX BURDEN to offset your nice house subsidy in SF? Isn't that great?

But, like the above example, you are completely missing the point. There is little new or interesting. Just re-hash of political talking points.

THERE IS ALREADY TOO MUCH MONEY investing in the Valley. Where do you get the idea there is a shortage? Gov't stepping up might be OK if there was actually a shortage of opportunity (but there is not).

Elon Musk has _every advantage_ of raising capital. He's rich. Friends in high places (also rich). Proven ability to get publicity. Proven ability as a business entrepreneur. The only reason for people <not> to invest with him, is they don't think it's a great idea.[1]

Point of fact, though, he just refinanced.

________

[1] Relevant> <http://en.wikipedia.org/wiki/Energy_density>

</comment></comment></comment></comment><comment><USER21> I've been 100% long TSLA since the beginning and really don't understand the reasoning behind the doubts people have - given how little they actually know about a) the car industry and b) electric batteries and c) the ability to think on first principles and not by analogy. But I guess everyone has the right to an opinion - even if most of them aren't a) warranted b) backed up or c) logically reasoned.

We are past peak oil. Battery tech will reach oil parity within the decade. Solar PV will reach grid base line within the next 2 decades. Fusion will be introduced within the next 3 decades. Electric engines already run 92% efficiency (vs the combustion engines 15%) and global warming externalities are finally being priced.

The electric car is a no brainer (it wasn't a decade ago, and it'll be too late a decade from now) just like the electrification of trains were. This company will electrify suburbia and reduce costs while they are at it.

Timing + skill = Very nice stock returns (timing is about 10x more important).

Disclaimer: Goes without saying - I am long TSLA and will continue to be long for the foreseeable future.

<comment><USER22> Battery tech will not reach oil parity within the decade. Oil parity would be batteries with roughly 1/3 the energy density of oil (maybe 1/4 if you factor in the fact that electric motors are lighter than ICE motors).

Predictions are hard, but I'm going to go on the record (and am willing to wager) saying that the batteries in EVs produced in 2012 will have an energy density lower than 9MJ/L.

Ultimately that doesn't matter though. The ED in the Model S is already almost good enough, it's the cost that matters, and I think that will go down. If you end up having a car that is a bit bigger and a lot heavier than an equivalent ICE car would be, you can still sell it.

<comment><USER5> _> If you end up having a car that is a bit bigger and a lot heavier than an equivalent ICE car would be, you can still sell it._

The Tesla Roadster was heavier than the Lotus car it was based on, but had quite respectable performance. That fact, combined with the electric car cachet was enough to sell it.

If they can keep putting the batteries in the floor, they could consistently wind up with a roomier and more versatile vehicle than the equivalent ICE car. Then again, what Ford is doing with Ecoboost is very impressive. I suspect there's a lot of untapped potential for different form factors with ICE technology.

<comment><USER23> Respectable, but not as good, except for straight line speed, for more money. And I'm saying that as someone who'd love a Tesla Roadster.

</comment></comment></comment></comment><comment><USER24> "Nonetheless, we have a duty at Tesla, having accepted this loan as a portion of our capital, to repay it at the earliest opportunity."

Not sure why Elon and a lot of SV entrepreneurs feel this way. You take a loan; if it reduces your weighted average cost of capital, you roll it and/or pay it slowly. As a Tesla shareholder, I hope such cheap financing remains in place as long as possible to maximize shareholder return on equity by keeping cost of capital as low as possible -- and by improving Tesla's cash position (helping it to operationally succeed) to boot.

Another guy thinking about buying Tesla stock.

<comment><USER25> The spirit of the loan was to help a promising company make progress on its technology. By repaying the loan early, the DOE will be able to make more loans out of that fund to other such companies. This might not minimize Tesla's cost of capital, but I'd say it's the right thing to do if it doesn't add undue risk to the company.

<comment><USER26> No you would never do this.

Right or wrong as a matter of managing your finances this is just not something a competent CFO would allow on his watch.

You accepted a loan, the loan originator had some terms and you are both in compliance and acceptance of those terms.

There is no rational or financial reason to make that choice.

I understand doing good, but there is a consistency in the choices firms which do good make. This is inconsistent.

<comment><USER27> Okay, you've called this action incompetent, irrational, and inconsistent, but you haven't actually explained why it is any of these things. Maybe it's obvious to someone with more working knowledge of accounting, but it's not clear to me. Could you explain?

<comment><USER28> A extremely simple analogy here would be home loans. If your home loan costs you ~4%, but you can make 10% in the stock market, than it would make no sense to pay off your home loan early, because you could use that money and invest in the stock market (a net of 6%).

I am no accountant, but in Tesla's case, it sounds like they now have a pile of money that they are going to sit on for emergencies, and that it may make sense for them to pay down this loan early with some of this cash because it reduces their liabilities (by reducing the interest they owe), whereas sitting on it nets a 0% (or near 0%) interest rate. Also, I wouldn't be surprised if there was some political/strategic motivation for paying off the loan. Unfortunately, Solyndra has become synonymous with the loan program, and I wouldn't be surprised if there is some pressure from investors or the board to distance Tesla from the program because of that.

</comment></comment></comment></comment></comment><comment><USER29> As of last quarter, Tesla had $777M in assets and a whopping $715M in liabilities--leaving a net balance of only $64M.

Given that their balance sheet is decreasing by an extraordinary $30M a month, that would have left only two months until the company was insolvent. No wonder the U.S. government wants their $465M paid back more quickly than planned.

The company has lost over $850 million since being founded in 2003.

<comment><USER30> That isn't actually what "insolvent" means. Insolvent refers to a situation in which an entity is unable to pay its debts as and when they fall due. Not whether they have a positive or negative asset position.

Strictly speaking, the balancesheet is irrelevant to Tesla's solvency.

My tennis club owns a property worth $20m from which it operates. It has debt of only $1m and repayment obligations of $100,000. It generates net revenues of $90,000. It is insolvent, with net assets worth $19m.

My startup technology company has no assets other than goodwill and intellectual property. It has no revenues. It has a line of credit from a financier sufficient to cover all expenses. It is solvent, with $1m of net liabilities.

<comment><USER31> Nope, your tennis club is not "insolvent". It's illiquid. It means it doesn't have cash but enough worth to take pay his obligations. At least, that's what Sal has explained in his KA videos.

</comment></comment></comment><comment><AUTHOR> Exciting quote emphasized in post: "we expect Tesla to become cash flow positive at the end of next month."

<comment><USER29> Well, cash flow positive until they decide to develop, test, and manufacture another model, which will again put them in the red. Building cars is a very expensive proposition.

<comment><USER32> That's why Obama win is so important to Tesla Government Motors.

<comment><USER33> I think the DOE loan has probably hurt Tesla's stock price more than it's helped -- the rumors about late repayment, etc. have probably depressed it from 33-35 down to 29. If Tesla hadn't taken $1 from DOE, it would be able to attack Fisker and Chevrolet and others for being Government Motors, and wouldn't have gotten name-checked in Romney's debate answer tonight.

The only money MuskCo's should be taking from the government is payment for services (like flying cargo to the ISS, Moon, Mars, selling cars or solar power to them, etc.), not using the government as VC. The government is a horrible VC or lender, and the MuskCo's could do a lot better.

<comment><USER34> > The government is a horrible VC or lender, and the MuskCo's could do a lot > better.

96% success rate is 'horrible'? [http://www.greentechmedia.com/articles/read/what-abound- sola...](http://www.greentechmedia.com/articles/read/what-abound-solars- bankruptcy-says-about-the-doe-loan-program/)

<comment><USER33> 96% on _this_ program so far is possible, but there are numerous other examples of the USG investing in businesses which fail, and even worse records for state/local governments (stadiums and convention centers being the classic example)

<comment><USER28> There are numerous intangible benefits to these programs beyond the success rate of the businesses. Jobs get created, technology is invented or improved, and supply chains and support networks are created or are made more efficient. While VC's might only care about the balance sheet, the government isn't in this to make money, they are in this to make our lives better.

</comment></comment></comment></comment></comment></comment></comment><comment><USER35> Sarah Lacy did what I thought was a great hour-long "Fireside Chat" with Mr. Musk: [http://pandodaily.com/2012/07/12/pandomonthly-presents-a- fir...](http://pandodaily.com/2012/07/12/pandomonthly-presents-a-fireside- chat-with-elon-musk/)

It's well worth listening to.

</comment><comment><USER36> > we expect Tesla to become cash flow positive at the end of next month.

Never in my wildest dreams did I expect that to become a reality. We truly live in amazing times.

</comment><comment><USER37> Hope some good news come on SpaceX, too. What's up with F-H with its so dubious payload figures, especially for high energy trajectories? How's the cross-feed system is coming along (if it haven't been dropped yet)? Where is the 'super efficient staged combustion methane engine' you mentioned a year back, any idea what thrust class it is and what is the fuel combination?

</comment><comment><USER38> Not sure if anyone else noticed, but Romney made a crack about Tesla (in the same sentence as Solyndra) as a useless pet project that Obama subsidizes.

I wonder how this will play out politically, especially if Tesla gets into trouble financially. That story is already being spun.</comment>


Elon Musk reveals his productivity rules in a letter he sent to Tesla employees - <AUTHOR> http://www.themindsetapp.com/musk-letter/ <comment><AUTHOR> Quoting from the article:

      Btw, here are a few productivity recommendations:

      – Excessive meetings are the blight of big companies and almost always get worse over
      time. Please get of all large meetings, unless you're certain they are providing value to
      the whole audience, in which case keep them very short.

      – Also get rid of frequent meetings, unless you are dealing with an extremely urgent
      matter. Meeting frequency should drop rapidly once the urgent matter is resolved.

      – Walk out of a meeting or drop off a call as soon as it is obvious you aren't adding
      value. It is not rude to leave, it is rude to make someone stay and waste their time.

      – Don't use acronyms or nonsense words for objects, software or processes at Tesla.
      In general, anything that requires an explanation inhibits communication. We don't want
      people to have to memorize a glossary just to function at Tesla.

      – Communication should travel via the shortest path necessary to get the job done,
      not through the "chain of command". Any manager who attempts to enforce chain of command
      communication will soon find themselves working elsewhere.

      – A major source of issues is poor communication between depts. The way to solve this
      is allow free flow of information between all levels. If, in order to get something done
      between depts, an individual contributor has to talk to their manager, who talks to a
      director, who talks to a VP, who talks to another VP, who talks to a director, who talks
      to a manager, who talks to someone doing the actual work, then super dumb things will
      happen. It must be ok for people to talk directly and just make the right thing happen.

      – In general, always pick common sense as your guide. If following a "company rule"
      is obviously ridiculous in a particular situation, such that it would make for a great
      Dilbert cartoon, then the rule should change.

<comment><USER2> The part about nonsense words is great (one of my pet peeves) but how do you accomplish that in practice? Everything has to have a name. For example, when you're developing Windows 8 what would you call Metro Mode? "Alternate touch optimized desktop UI" is a bit of a mouthful.

<comment><USER3> I think pretty much every industry and field quickly develops it's own stock of acronyms, nicknames, jargon etc. This can feel alienating to "outsiders", which is why people don't like it, but I think its pretty necessary (and inevitable). If you're working with a set of concepts, processes, software everyday, developing a shorthand way of talking (and thinking) about them is a big timesaver both in terms of communication and mental effort.

<comment><USER4> > If you're working with a set of concepts, processes, software everyday, > developing a shorthand way of talking (and thinking) about them is a big > timesaver both in terms of communication and mental effort.

For internal processes, this is fair enough. But anything that will be exposed to an end-user should be simple without shorthand.

</comment></comment></comment></comment><comment><USER5> This is blogspam of Musk's email from the original source: [https://electrek.co/2018/04/17/tesla-model-3-production- goal...](https://electrek.co/2018/04/17/tesla-model-3-production- goal-6000-units-per-week/)

<comment><USER6> Worse, it's used as content marketing and without any attribution.

</comment></comment><comment><USER7> Doesn't sound like a great company to work for. Insane production targets coupled with 'by the way we're examining all costs under a microscope'.

The part about the midnight oil doesn't even make sense and seems to celebrate excessively hard work which I can't believe is a good thing - the studies I've seen seem to point to anything more than a 7 hour day being counter- productive.

Additionally some of the things he has written seem to smack of inexperience. Yeah hierarchies can be annoying but presumably they are there to serve a purpose (after all he set it up!).

Can't disagree with what he says about meetings though!

<comment><USER8> I guess it's all a matter of taste. Looking at the current state of affairs I would love to be part of the work. A need to improve production greatly while cutting costs (for the products) means it's a time where there is a lot of investment in the process. New machines, new flows and lots of things that need to be made. I have a background in the semiconductor industry and the times like these, the make or break periods where fantastic. Work turned into a sport and you and everyone else came together like an underdog team that had a shot at the World Cup! Sure working 70 hours a week and sometimes a critical 24 hour day isn't healthy. But there was never any management pressure to do this, that was us taking it upon ourselves because try as they may, management couldn't drag us away from the line.

Looking forwards Tesla will settle into a much gentler pace, and it will become the same old incremental production cycle plant mentality thats shared by so many. But right now it must be amazing to be on the floor, even if it is exhausting.

</comment></comment><comment><USER9> One hopes he has read this, a classic slate star codex post on leadership: [https://siderea.dreamwidth.org/1209794.html#cutid1](https://siderea.dreamwidth.org/1209794.html#cutid1)

Sincere questions for Musk would be:

How are you supporting your management team when you've asked their subordinates to bypass them with good ideas for exposure, leaving them only to provide risks and bad news their subordinates didn't want to bring forward?

How do local team leaders take risks when their team is encouraged to defect and draw in the exec at the first sign of controversy, or just opportunistically?

How do your teams commit to shared outcomes when an arbitrary member can call in a veto from the top?

How do you as the owner not become the bottleneck (and blocker) while everyone clambers to have your support their pet issue because they know nothing is going to get traction without your royal assent?

How do managers not just fire people who call in your air support for things they are in fact wrong about, and how do managers trust those people to be a part of the team after?

His company, his rules. But having seen this kind of naive abdication of responsibility for effective delegation in practice, it is reasonable to ask how this thing scales when you add the uncertainty of a random super veto, and encourage and reward transgression.

edit: better link to "The Asshole Filter," article.

<comment><USER10> Oh man the first paragraphs of that article contains so many instances of the word "asshole(s)" that it's having that effect of ehen you repeat a word so nany times where it just becomes noise without meaning.

<comment><USER9> It's a bit pedantic at the beginning, but when he defines it as "transgressiveness or willingness to transgress," it becomes much more clear. That's the trouble with great ideas in blogs. Here's the essence of it:

"If you tell people "the only way to contact me is to break a rule" you will only be contacted by rule-breakers.

But wait, it can get worse. If, despite telling everyone to use the departmental email address, Fred personally handles – expedites – the requests of people who email him at his personal email account, he is now rewarding those who transgress.

So far, I've been talking about being an asshole (or not) – that is, transgressiveness – as a fixed trait. But that's not how personality works, even assuming it is a personality trait. If it is a personality trait then it's more like a "set point" for something that varies with circumstances.

Which means if you reward it, you will get more of it."

</comment></comment></comment><comment><USER11> I really like the tips themselves. Though, I must admit I do get a chuckle out of taking productivity tips from someone notorious for working 80 hours a week. Not that my accomplishments hold a candle to his. It's just funny in some part of my brain.

<comment><USER12> CEO is often an 80 hour per week job during critical phases. Acting as CEO of two companies in only 80 hours per week is pretty impressive.

<comment><USER13> Like 4 companies, actually (although admittedly the other two are low effort compared to Tesla and SpaceX).

</comment></comment></comment><comment><USER14> I'm a fan of Elon as much as much as any other person but I think a lot of this only works for someone like Elon.

Workaholism isn't fun nor is it healthy. Maybe for single people it can work but if you give a damn about family or friends it will slowly destroy your life.

<comment><USER15> Which one of the recommendations given here do you think would entail workaholism?

<comment><USER16> Just guessing here, but perhaps it might be the bit where it's claimed he works 100 hours a week?

<comment><USER15> THat's not one of the recommendations he gives. That's not even part of the email itself.

<comment><USER17> Perhaps not in this letter, but it sounds exactly like that in this video:

>If somebody else is working 50 hours and you are working 100. You get twice as done - as much done, in the course of a year as the other company.

[https://www.youtube.com/watch?v=zX7I_Rw8Q0I&#t=4m54](https://www.youtube.com/watch?v=zX7I_Rw8Q0I&#t=4m54)

Also, there are a few interviews where he says that [sometimes] he works that much despite being incredible painful.

</comment></comment></comment></comment></comment><comment><USER18> > Our car needs to be designed and built with such accuracy and precision > that, if an owner measures dimensions, panel gaps and flushness, and their > measurements don't match the Model 3 specs, it just means that their > measuring tape is wrong.

It's cute lines like this that make the fanboys love Musk. Myself included.

<comment><USER19> This really didn't make sense to me. Every 10x increase in precision surely causes a huge jump in price. I don't know anything about mechanical engineering but this is one of those things that is true across disciplines. This blog seems to confirm that guess.[1]

And in the same email he says they're going to ruthlessly cut costs. Is there some supply-chain advantage that arises from super tight tolerances that I'm not seeing? As far as I can tell this raises costs, and makes you more vulnerable to supply-chain disruption since fewer suppliers can keep up.

He offers no justification, other than some hypothetical obsessive Tesla owner being impressed.

[1] [https://metalcutting.com/your-tight-tolerance-could-be- serio...](https://metalcutting.com/your-tight-tolerance-could-be-seriously- affecting-part-cost/)

<comment><USER20> I know something about mechanical engineering and doing away with needlessly tight tolerances is one of the most efficient ways to cut costs.

If the cars are designed so that there is some genuine need or benefit from general extra tight tolerancing, then the issue is way way worse than merely tolerancing out of ignorance. In that case the design work is going to result in high workload in assembly in addition of high workload in fabrication.

I sincerely hope it was just a cheap marketing stunt aimed at consumers.

</comment></comment></comment><comment><USER21> Were the rumors true that workers were _unpaid_ for this "process upgrade" shutdown?

<comment><USER22> This is generally Standard Operating Procedure in a manufacturing facility.

Semiconductor plants often shut down over July 4th or Christmas for maintenance. You were compelled to take vacation when that happened or you were on unpaid leave.

In practice, where I worked, most managers generally worked it out informally if you didn't have enough vacation days.

<comment><USER21> Wow. So not only do workers not have a reasonable number of vacation days (say 20-25 for a new employee), they also arent free to choose when to use those they do get?

And this is in an industry (auto) that actually _has_ organized labor in the US?

What did the auto unions actually accomplish in the last 3-4 decades?

<comment><USER22> > What did the auto unions actually accomplish in the last 3-4 decades?

Survival.

When you are the target of a very well-funded propaganda campaign to delegitimize your very existence, what do you expect?

People in the US are so stupid that they denigrate the very unions that stood in front of guns and bullets in order to get them the 40 hour work week, child labor laws, pensions, and health care to name just a few accomplishments.

It's beginning to turn (see the recent teacher walkouts--most of which are illegal in the eyes of the law, by the way), but it's very slow.

</comment></comment></comment></comment><comment><USER23> Many good tips, but IMO the "...or else!" style threats are poor leadership. Examples: "All you contractors better shape up or you'll be fired on monday!" or "managers will be insta-fired if they enforce chain-of-command communication!"

This is toxic tone. Waving a baseball bat at your team shows— and instills— a mutual lack of trust. Simply lay out the standards of behavior clearly and frequently, and outwardly show that you trust in the team's good faith and desire to adhere to them. Most of the time, if you have hired well, you'll be right.

Discuss individual shortcomings frankly, but do it behind closed doors. Dispatch corrections behind closed doors too. Simply calling out a mistake and making clear what's expected is often enough to incite a change in behavior. It's much healthier for culture, it's much better for retaining knowledge and talent, and it's much cheaper than hiring and firing with a hair trigger. If the person doesn't respond to corrections, or is acting in bad faith and not merely making a mistake, THEN you fire without hesitation. And you do it quickly, quietly, and without drama. Those kinds of cases are (ideally rare) pockets of toxicity, and they are the last kind of picture you want to paint in your team's mind of their workplace by broadcasting it across the company.

Examples:

BAD: "Any manager who attempts to enforce chain of command communication will soon find themselves working elsewhere."

BETTER: "If you find your management is stifiling the free flow of communication, either intentionally or inadvertantly, please escalate this upward and we will support you, and get your team pointed in the right direction."

What you're trying to do:

\- communicate to employees not to put up with stifiling managers

\- communicate to managers that stifling communication will make them look bad and get them reprimanded

\- encourage problem areas to actually be identified and corrected

\- make everyone feel good about all of the above so that the actually want partake in it

\- make it socially safe to change course

BAD: "All contracting companies should consider the coming week to be a final opportunity to demonstrate excellence. Any that fail to meet the Tesla standard of excellence will have their contracts ended on Monday."

BETTER: "Most large supply chains are ripe with waste and overspending, often brought about by backwards incentives to inflate costs. At Tesla we do not put up with this, nor cynically accept it as inevitable. Avoiding this kind of behavior requires the Tesla standard of good faith and efficiency at all levels. If you suspect cost inflation or task bloat, please call it out immediately and escalate it. We'll be paying close attention to this over the next week."

What you're trying to do:

\- dispel complacency about cost bloat and gouging

\- reinforce the requirement / community standard to be honest and efficient

\- make people feel comfortable / emboldened to fight bad-faith behavior

\- let bad-faith contractors know you are watching them

\- make everyone feel united by this goal, instead of mistrustful and cynical about each other

If you're walking down a road and you see a man angrily beating his horse, who's wrong? The man or the horse? Leaders that threaten fire and brimstone beyond the natural consequences of failure conjure the image of the horse- beater, for me. If you resort to flogging your labor, then the shortcoming is yours in failing to understand how to motivate and empathize; how to make the horse want to do the right thing on its own.

<comment><USER24> +1. Really well said!

</comment></comment><comment><USER25> – Don't use acronyms or nonsense words for objects, software or processes at Tesla.

I like to minimize use pronouns like "it" or "that" in a technical discussion.

Communication becomes so much clearer by expanding "it" into something more descriptive and explicit.

Also minimize number of words, and complexity of words.

<comment><USER26> I notice this a lot in RFCs within my company. Teams will put out architectures for new systems that contain massive amounts of acronyms and jargon for the system they're building and/or replacing it's insanely frustrating. It doesn't help when the last system was named something completely arbitrary and is being replaced by a new system with an equally arbitrary new code name. ("Flywheel has served us well for years but due to limitations on the XCGA middleware we believe Project Kegerator is the future...")

</comment></comment><comment><USER27> > Walk out of a meeting or drop off a call as soon as it is obvious you aren't > adding value.

"Except I'm still on this meeting or it's a call with me" I guess?

</comment><comment><USER28> Who leaked the email ?.

<comment><USER29> Maybe marketing department? ;)

</comment></comment><comment><USER30> I'm pleasantly surprised by these rules

</comment><comment><USER31> How does this increased productivity benefit the workers? Are they getting any personal upside for working harder, I wonder?

<comment><USER32> Productivity is about efficiency, not working harder. Getting more done in a normal work-week benefits everyone, and I'm sure all those employees would prefer a company that is in business to continue paying their salaries, bonuses and increasing their stock value.

<comment><USER31> How does more get done in a normal workweek but by greater exertion of workers? This is literally factory work.

Sure, a few of the proposals are aimed at fixing sloppy management...but where do you think the extra cars come from?

<comment><USER32> As already answered, you get more done by being more efficient with the given effort. It doesn't matter whether it's factory work or CEO level. Increasing productivity usually leads to a _decrease_ in net effort by workers.

If you want an example, look at the epitome of production line efficiency that is the Toyota Production System: [https://en.wikipedia.org/wiki/Toyota_Production_System](https://en.wikipedia.org/wiki/Toyota_Production_System)</comment></comment></comment></comment>


Dealer's Hand: Why are so many people paying so much money for art? (2013) - <AUTHOR> http://www.newyorker.com/magazine/2013/12/02/dealers-hand

<comment><USER2> Because QE puts so much money in the hands of already rich people that they lack markets to invest in, therefore arts, collectible cars, posh condos and houses all go up with the bubble.

<comment><USER3> Exactly.

The money supply is expanded by stuffing the top end, the middlin-and-below credit consumers are already stuffed and/or maxed out, so, unsurprisingly, the high end is trading stuff back and forth and higher and higher prices.

This is one reason that, despite the fact I lean anarcho-localist, I tentatively support a citizens dividend: if we are to have a fiat monetary system we could at least make the expansion thereof equitable and eliminate the early-receiver advantages in New York and D.C.

<comment><USER4> There is discussion of this here: [http://finance.yahoo.com/news/instead-qe- fed-could-given-094...](http://finance.yahoo.com/news/instead-qe-fed-could- given-094500275.html)

</comment></comment></comment><comment><USER5> _Very important people line up differently from you and me... they get as close to the door as they can, claim a patch of available space as though it had been reserved for them, and maintain enough distance to pretend that they are not in a line._

That's curious - ---holes do that too!

</comment><comment><USER6> Same thing is happening in ancient coins. Rich people are looking for safe assets to store wealth to avoid taxation/confiscation as governments worldwide hunt for revenue to prop up the unsustainable welfare state.</comment>


Drupal Core – Critical – Multiple Vulnerabilities – SA-CORE-2018-001 - <AUTHOR> https://www.drupal.org/sa-core-2018-001 <comment><USER2> This is a vulnerability from earlier this year. This is not the security release dropping today.</comment>


All HTTP-based services unresponsive - <AUTHOR> https://status.bitbucket.org/?v20180202 <comment> david-giesberg David from the Atlassian SRE team here. AWS Direct Connect is experiencing an outage in their US East Region: [https://status.aws.amazon.com](https://status.aws.amazon.com), which is causing connectivity issues for most Atlassian products and services. We're working hard to get everything back up and running. Please check [http://status.atlassian.com](http://status.atlassian.com) for the latest updates. We're posting regularly and will continue to provide updates there.

<comment><USER2> Why does Bitbucket depend on AWS DC? Why wouldn't I just connect to it over the internet? Or is part of it in your own DC?

<comment><USER3> Yea, this makes no sense to me. I have a pretty heavy workload in AWS (us- east-1), don't use DC AT ALL and nothing is down for me today (except Atlassian Jira/Confluence Cloud), we self host BB. Why their 'cloud' based application relies on DC is very odd.

<comment><USER4> I don't know but my guess would be anything that isn't core storage - we know they run their own SAN on their own hardware because that was the cause of another outage a month or two ago.

At a guess:

\- Bitbucket Pipelines

\- Webhook workers

\- Front-end web servers

\- SSH push/pull workers

Basically anything that's elastic to demand. Presumably the cost of AWS storage makes it not worth it for the Bitbucket team.

</comment></comment></comment></comment><comment><USER5> its amazon having problems.

[https://status.aws.amazon.com/](https://status.aws.amazon.com/)

<comment><USER6> There are actually quite a lot of services down across the web now. Maybe they are unrelated... but it could all be related to AWS. [https://statusgator.com/services/amazon-web- services](https://statusgator.com/services/amazon-web-services)

My side project, StatusGator, monitors something like 250 status pages and there's quite a spike in warn or down notices at the moment that I can see.

<comment><USER7> StatusGator is neat, thanks for linking that. Do you have graphs anywhere to track the number of outages/problems over time? It would be nice to see if there's been an uptick in problems generally, across certain services, etc.

<comment><USER6> No, but that's a great idea! I have 3 years of data now from hundreds of services including severity of reported outage and text about why it went down. So I could show graphs over time for sure.

</comment></comment></comment></comment><comment><USER8> GitHub DDoS, Sourceforge DDoS, BitBucket 'routing issues'... somebody hates version control.

<comment><USER9> The target could be the companies, not VCSes per se. As long as they don't ddos notabug I'm fine with it :)

</comment></comment><comment><USER10> Another ongoing discussion: [https://news.ycombinator.com/item?id=16501731](https://news.ycombinator.com/item?id=16501731)

Hosted JIRA is down too (at least for me).

Interestingly, I can seem to be able to find it only via search, it doesn't show up on the frontpage at all.

</comment><comment><USER11> XaaS has many benefits, but uptime is not one of them anymore. I self-host my repos, had a few downtimes but thanks to this DDoS my local services have better uptime. ( Disclaimer: I know it's not apple to apple comparison as scale is massively different)

<comment><USER12> distributed source code management theoretically doing this in a robust and replicated manner quite a bit easier. if you ignore partitions, it seems pretty straightforward to make a git push-all, and a recovery process for stale nodes coming back.

</comment></comment><comment><USER13> This is the last straw for me. I'm gonna stop using them to host my code. They have been down way too many times in the last year. It's been six failures from them in the last two weeks alone. I'm gonna self host Gitea to fix my issues. I cannot believe that they fail so hard. Why does a failure mean that I cannot read AND write from BitBucket ? Why are those two things even related ?

<comment><USER14> Relying solely on one platform for your organization's code repository needs is a bad thing in general. I have a workflow where I host my own Gogs instance on a raspberry pi, as well as on Github. Maybe this would be useful to you?

I've configured my push such that it will deploy to both Github and on my Gogs meaning that I always have an up to date repository in two places.

[https://github.com/gogits/gogs](https://github.com/gogits/gogs) (if you're interested in setting up your own)

[https://stackoverflow.com/questions/14290113/git-pushing- cod...](https://stackoverflow.com/questions/14290113/git-pushing-code-to-two- remotes) (push to two remotes)

You don't have to use just BitBucket, or rely entirely on your self hosted git service.

<comment><USER15> I think hosting the repository is one thing.

But integrating those two repositories with all the automated workflows is quite a headache. Jenkins won't automatically switch over to another git backend if one fails. Other automated tools like code review are mostly relying on a centralized repostiory. I don't see any simple solution to solve these issues. Bitbucket, GitHub, GitLab don't have any easy fallback solutions when you relying core workflows on their services.

Self hosting is maybe one solution (we do this with bitbucket), but this requires major administrative effort to keep it running reliably (always available, no data losses on hardware/software failures).

<comment><USER14> I agree. Having CI with multiple git repositories is still a painful thing. (I continue to rely primarily on GitHub here. My backup repos don't have CI enabled.)

I think if your primary repo that's hooked into CI goes down, you're still SOL. Having your own repo just enables you to continue local development among your team.

I don't see any great solution, other than making your app distributed to begin with and doing your build/deploy manually.

As a complete aside, I've fantasized about deploying to all cloud vendors (Azure/GCE/AWS/Heroku/DigitalOcean/misc.) each with their own specific build/deploy and having persistent state shared with something like CockroachDB. Having some load balancer managing state between all instances. Taking advantage of the free/basic tiers provided by all of the vendors.

</comment></comment></comment></comment><comment><USER16> Looks like access over SSH is still working. Not the worst.

<comment><USER17> I'm currently only able to read over SSH. Write operations seem to hang forever.

<comment><USER4> Keep trying, it eventually goes through.

</comment></comment></comment><comment><USER18> Stop using AWS US East!

<comment><USER19> Curious, why? Is us-east-1 known to be problematic? What about us-east-2 (Ohio)?

<comment><USER20> us-east-1 is the oldest region with the oldest hardware which is probably why it has more issues than others

</comment></comment></comment><comment><USER21> Appears to be due to an upstream dependency:

> Some component services are currently unreachable due to an upstream > incident on a cloud provider. We're attempting to route as much traffic as > possible away from the affected components, and are working with our vendor > now.</comment>


Wearing the hair shirt: a retrospective on Haskell (2003) [pdf] - <AUTHOR> http://research.microsoft.com/en-us/um/people/simonpj/papers/haskell-retrospective/HaskellRetrospective.pdf <comment><AUTHOR> The other two talks from that repository are also interesting: [http://research.microsoft.com/en- us/um/people/simonpj/papers...](http://research.microsoft.com/en- us/um/people/simonpj/papers/haskell-retrospective/index.htm)

</comment><comment><USER2> Simon Peyton Jones is brilliant!

</comment><comment><USER3> Great overview!

</comment><comment><USER4> Really cool!</comment>


A Foobub Post-mortem - <AUTHOR> http://www.vutran.me/blog/foobub.html

<comment><USER2> Awesome overview of every aspect of the process, it's really a great glimpse into the head of the creator. Also I'm inspired to try the "fuck it" method, I too am usually a perfectionist and thus have shipped very few things.

</comment><comment><USER3> _The hardest part about this entire project took me about an hour to figure out. No, it wasn't sorting. No, it wasn't trying to organize or query search results. It was God damn JavaScript Closures. Believe it or not, out of everything, this took me the longest to figure out. I was close to just saying "Fuck it" and not allowing people to click on links._

Sounds like underscore.js would have cut your development time by more than 25%. You should check it out - it's a great library.

</comment><comment><USER4> I definitely did not hate it! Thanks for the project and the discussion I found both thought provoking

</comment><comment><USER5> Is this site just Wikipedia search? I only tried a handful of queries, but even very general ones like "google" or "flowers" returned only Wikipedia pages.

<comment><USER6> It only selects a handful of results, and in most cases wikipedia seems to win completely.

<comment><USER7> All of your answers and more are in the article...

</comment></comment></comment><comment><USER8> Why do you call it a post mortem? Foobub's not dead right?

I really like it by the way, have set it as my default search engine for now.

</comment><comment><USER9> i like it man. no fucks given, just shipped</comment>


Ask HN: Where to find simple clean fast web design? - <AUTHOR>

I'm looking to find a simple and fast web design for my web application. I've already prepared the wireframing, but I'm not the best at design or photoshop so I'm looking for someone who doesn't suck (like myself).
Any suggestions or referrals of someone affordable?
Any help would be much appreciated! Thanks! <comment><USER2> <http://www.zee.com.br/en/></comment>


Apple's new laptops: confirmed - <AUTHOR> http://www.boygeniusreport.com/2007/12/26/apples-new-laptops-confirmed/

<comment><USER2> So, who is the source?</comment>


Antivirus software could make your company more vulnerable - <AUTHOR> http://www.csoonline.com/article/3020459/security/antivirus-software-could-make-your-company-more-vulnerable.html <comment><USER2> I avoided AV software for most of my life. Though, when I worked as a student admin, I would always install AV for the majority of my users. Most users (especially older) simply could never learn not to download that cool new 'freeware' app or game or not double click a downloaded exe (the fact that hidden extensions are still the default on Windows OS is absurd).

As a more savvy user, I did not desire the typical AV bloatware (Norton, McAfee, etc) stealing up half my cycles and spinning the hard drive without pause. I knew enough not to try and 'open' resume.doc.exe.

However, AV's have trimmed down, SSDs are becoming more common place, and it seems the biggest attack vector is browser based. For the last few years, I've run a few different AVs (Kaspersky, ESET, Bitdefender are decent).

I run adblockers, don't install Flash games or Applets, but it is nearly impossible to stop all browser based attacks. I'm not sure the AVs have helped much, but they give some sort of psychological benefit, at least.

There really is no good solution anymore unless you're willing to give up 90% of the web (via NoScript or using a primitive console based browser). I believe the future for tech-aware users will be browsers in some sort of container / VM that reset themselves upon each session, with absolutely no control to the file system or data from other sites.

<comment><USER3> >> I'm not sure the AVs have helped much, but they give some sort of psychological benefit, at least.

I find this a very dangerous way of thinking. You use the placebo (well, not even a placebo, just useless) and then you stop worrying _that much_ about opening downloaded files, checking their hash if you trust the source, visiting dodgy websites...

An analogy taken to the extreme, would be to smoke and binge drinking without worries because you're taking homeopathic "solutions" (sic).

<comment><USER4> Not necessarily! It depends! It could be that the constant popups about updating the AV, about allowing access to trusted programs etc. constantly reminds him of the aspect of security and has this aspect in the back of his mind while browsing, so it may actually enhance security awareness. As in "I'm the sort of person who cares a lot about viruses, so much that I have an AV and adblocker etc., so I'm also the kind of person who doesn't just install any crap."

Installing an AV doesn't automatically reduce your defenses. Only if you over- trust it.

<comment><USER3> >> Installing an AV doesn't automatically reduce your defenses. Only if you over-trust it.

Recent news might point otherwise and there's a debate about it. Does an antivirus really protect you from a real threat? On the other hand, as you're running extra software you're increasing your attack surface, which makes you more vulnerable.

I've seen very clever people pointing to the latter and marketing efforts to make me believe the former. Still, haven't made up my own opinion. In any case, I stick to just Windows Defender and EMET ([https://support.microsoft.com/en- us/kb/2458544](https://support.microsoft.com/en-us/kb/2458544)) to mitigate.

</comment></comment></comment></comment><comment><USER5> Not "could". Does.

<comment><USER6> Do you think that AV, on net, makes you less secure? If so, can you provide any data?

<comment><USER7> This[1] is on the very top of the fronpage right now. TrendMicro has a daemon listening on localhost that can execute arbitary commands.

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

<comment><USER6> Right. (But that's one AV vendor. Others have the same possibility, of course.) But is it still better (more secure) to run without any AV at all? Something like this leaves you vulnerable to that flaw, but no AV leaves you vulnerable to _everything_ (unless a firewall saves you).

<comment><USER5> It is better to run with no AV at all.

</comment></comment></comment></comment></comment><comment><USER8> Well, if Microsoft applies their secure programming guidelines also to Windows Defender that might be the best (and default) choice if you're worrying about attacks like these.

</comment><comment><USER9> Application whitelisting much more productive.

</comment><comment><USER10>
      ...and it also recently introduced HVMI (Hypervisor-based Memory Introspection)
      technology that completely isolates the antimalware solution by deploying it in
      a Type 1 hypervisor outside of the operating system.

      "This kind of isolation separates the antimalware engines from rootkits or
      exploits running in the user environment," the company said.

This completely misses the point. Yes, it protects the AV from exploits in other user software, but it makes exploits in the AV software itself _even worse_.

</comment><comment><USER11> Whitelisting is one of the only proven security technologies in a world where you can download and run arbitrary executables. Bit9 should be a requirement on office PCs.

</comment><comment><USER12> Personally, I won't trust those AV software which are free but claims themselves have FULL function. There is no free lunch in the world. Sometimes, we make jokes on Qihoo 360, we say itself is already a virus. A lot of pop- ups, consuming computing resources. It is very annoying!

</comment><comment><USER13> Any views on Sofos? I use it to whitelist stuff as requested.. application by application.. seems pretty solid to me.

</comment><comment><USER14> If you guys are looking for a list of some decent AV heres one from this year [http://no-adware.com/blog/best-malware-removal-tools-of-2016...](http://no- adware.com/blog/best-malware-removal-tools-of-2016/) I am a huge MB fan myself.

<comment><USER15> Mackeeper is listed as #2 on the list you linked to...[1] They aren't exactly a high quality AV product.

1\. [http://appleinsider.com/articles/15/08/10/mackeeper-to- pay-o...](http://appleinsider.com/articles/15/08/10/mackeeper-to-pay- out-2m-in-proposed-class-action-settlement)</comment></comment>


Ask HN: What companies in NYC are working on hard technical problems? - <AUTHOR> <comment><USER2> I work at Datadog.

We have difficult scaling challenges. Efficient storage and querying of high cardinality metric timeseries data, real time, practical data science like anomaly detection ([https://www.datadoghq.com/blog/introducing-anomaly- detection...](https://www.datadoghq.com/blog/introducing-anomaly-detection- datadog/)), application performance monitoring for multiple languages and platforms, and now logs too, etc...

We also interesting problems on the frontend. We use webgl to efficiently render thousands of hosts on the hostmap for example.

If you're looking for work feel free to reach out - email@example.com.

</comment><comment><USER3> Etsy - [https://codeascraft.com](https://codeascraft.com)

</comment><comment><USER4> Well, there's always Google.</comment>