Techempower Web Framework Benchmarks Round 10 - <AUTHOR> https://www.techempower.com/benchmarks/#section=data-r10 <comment><USER3> Come for that stats, stay for the comedy

> The project returns with significant restructuring of the toolset and Travis > CI integration. Fierce battles raged between the Compiled Empire and the > Dynamic Rebellion and many requests died to bring us this data. Yes, there > is some comic relief, but do not fear—the only jar-jars here are Java

Brilliant!

</comment><comment><USER4> There's something I don't understand in these comments. Why is everyone interested in language comparisons instead of the huge difference between EC2 and bare metal?

<comment><USER5> Got to agree. Bare Metal performance isn't appreciated enough. I know a few companies that run fine with a mixed Metal/AWS combo. Metal handles 80% of the workload, and if that for some reason fails, EC2 instances are fired up to take over until it is fixed. This setup doesn't work for every scenario, but it is something to take into consideration.

<comment><USER6> I remember being in a meeting talking about the tax companies using X-Metal servers for the whole year and scaling Y-cloud instances for the 3 months they have excessive usage.

</comment></comment></comment><comment><USER7> Every time I'm struck by how slow the big PHP frameworks are compared to raw PHP. Either nobody cares about making those tests perform better, or something is very wrong in the architecture of those frameworks.

I expect the cause is that too much code is being loaded for every request. PHP tears down and rebuilds the world for every request, and the popular frameworks load a lot of code and instantiate a lot of objects for every request.

<comment><USER8> PHP frameworks generally rely on heavy amounts of caching at every level (database, bytecode, Varnish, etc) to make up for this.

Why this is the status quo is something I also question.

</comment></comment><comment><USER9> Still no Elixir/Phoenix inclusion? I'd really love to see how it stacked up.

<comment><USER10> Coming in Round 11 [1]! We'll aim to have Round 11 out much quicker than 10.

[1] [https://github.com/TechEmpower/FrameworkBenchmarks/pull/1510](https://github.com/TechEmpower/FrameworkBenchmarks/pull/1510)

<comment><USER11> Thanks! I'd like to see this as well.

</comment></comment></comment><comment><USER12> Few notes:

* Impressive Dart

* JRuby > MRI (I'd like to see JRuby 9k)

* Padrino that offers basically everything that Rails does performs impressively well. [Shameless Plug]

<comment><USER13> My experience has been that JRuby 9k is slightly slower than MRI in a number of cases right now, mostly because its IR has been completely rewritten, and is still pending a performance pass.

That said, it's still a huge step up from the 1.7 series, and once the team starts knocking out performance problems it should be pretty magnificent.

</comment></comment><comment><USER14> I'd like to see the memory benchmarks as well.It's fine to have something fast but the more memory the more expensive the boxes are.

<comment><USER15> We HAVE the memory data, but we have not distilled it into a consumable form to use on our website. Here, for example, is the cpu/ram usage report for ULib's json test: [https://github.com/TechEmpower/TFB- Round-10/blob/master/peak...](https://github.com/TechEmpower/TFB- Round-10/blob/master/peak/linux/results-2015-03-24-peak- final/20150324072137/json/ULib/stats.json)

</comment></comment><comment><USER16> Okay, Nim is really fast in these benchmarks on ec2 servers, impressive.

Does anyone has experience with nim web stack? Is it ready for prime time? How much effort is required to create a simple CRUD json api?

On a sidenote I am really looking forward to comparing rust and elixir results in the next round of benchmarks.

<comment><USER15> Rust and Elixir SHOULD be included in Round 11 - we have already accepted a pull request for the Phoenix framework (Elixir) and have had a pull request for Rust when it was in alpha. Hopefully, we will see another Rust pull request soon.

<comment><USER16> Pleased to hear that, thanks for doing the benchmarks!

</comment></comment></comment><comment><USER17> The chart says Play Framework didn't complete but looking at the output, the logs say it did.

[https://github.com/TechEmpower/TFB- Round-10/blob/master/peak...](https://github.com/TechEmpower/TFB- Round-10/blob/master/peak/linux/results-2015-03-18-peak- preview7/latest/logs/play2-scala/out.txt)

What am I missing?

<comment><USER18> An error occurs, which is logged to stderr, but the benchmark logs don't capture stderr so it's hard to know what's happening. (Or maybe Play redirects stderr to a log file?)

The test passes in the preview runs, in the TechEmpower continuous integration tests and in the EC2 tests so it's probably some transient error that only occurred in the final bare metal test. Maybe there's a race condition in the Play 2 test scripts which only shows up sometimes.

I've spent a fair bit of time maintaining the Play 2 benchmark tests so it's very frustrating to get no result on the final test. Oh well!

<comment><USER17> Out of the box, the start script from "play stage" does _not_ redirect stderr.

Though I didn't think to check the classpath when I was poking around the TechEmpower github repo. I wonder if a logback.xml slipped in somewhere that's siphoning off stderr to some unknown destination?

</comment></comment></comment><comment><USER5> Bottle handling 5x more requests than Flask. Impressive, but overall Python framework performance ist still... meh.

<comment><USER19> Falcon is where the performance is at according to the benchmarks.

<comment><USER20> Or PyParallel, when they include Windows in the next round: [https://speakerdeck.com/trent/pyparallel- pycon-2015-language...](https://speakerdeck.com/trent/pyparallel- pycon-2015-language-summit?slide=5)

Consistently orders of magnitude faster than everything else out there in the Python landscape.

<comment><USER19> Ok, that looks very interesting. Thanks for the heads up.

</comment></comment></comment></comment><comment><USER21> Dart dominated the multiple queries test type.

<comment><USER19> That is quite surprising. Anyone have an idea why that is?

<comment><USER15> Actually, not really. We checked the code to ensure that there was no gaming the system and it definitely APPEARS to be making separate database queries as we require in our rules. In fact, we had this same question in round 9 and had a number of people audit it. We cannot explain it other than it might be pretty darn fast.

<comment><USER22> A better requirement would be to define some minimum level of durability, and some minimal level of freshness in the face of concurrent modifications.

Frankly, who cares if a caching driver avoids some database queries entirely if it still provides the same level of durability and freshness guarantees? If mongo+redis are OK, what's wrong with a plain hashtable?

</comment></comment></comment></comment><comment><USER23> I'd like to see some ASP.NET running on Owin. Perhaps I'll find the time to add it myself before round 11.

<comment><USER15> I am not familiar with Owin; how does it differ from Mono?

<comment><USER24> Owin is an interface between .NET web servers and web applications.

Mono is an implementation of the .NET runtime and framework.

</comment></comment></comment><comment><USER25> I've been working with this project for a while, here's some unorganized thoughts:

       1) Statistics
       2) Running Overhead
       3) Travis-CI
       4) Memory/Bandwidth/Other info
       5) Windows
       6) IRC
       7) Ease of Contributing

1) Currently, the TFB results are not statistically sound in any sense - <USER2> each round you're looking at one data point. EC2 has higher variability in performance, so that one data point is worth less than the bare metal data point. Re-running this round, I would expect to see _at least_ 5 to 10% difference for each framework permutation. See point (2) to understand why we're not yet running 30 iterations and averaging (or something similar)

2) Running a benchmark "round" takes >24 hours, and still (sadly) a nontrivial amount of manpower. It's currently really tough to do lots of previews before an official round, and therefore tough to let framework contributors "optimize" their frameworks iteratively. I'm working on continuous benchmarking over at [https://github.com/hamiltont/webjuice](https://github.com/hamiltont/webjuice) \- it's a bit early for PRs, but open an issue if you want to chat

3) As you can imagine, our resource usage on Travis-CI is much higher than other open source projects. They have been nothing but amazing, and even reached out to chat about mutual solutions to potentially reduce our usage. Really great team

4) We do record a lot of this using the dstat tool. dstat outputs a huge amount of data, and no one has sent in a PR to help us aggregate that data into something easy to visualize. If you want this info, it's available in the results github in raw form.

5) Sadly windows support is struggling at the minute. We need something setup like Travis-CI but for our Windows system. CUrrently windows PRs have to be manually tested, and few of the contributors have either a) time to do it manually in a responsive manner or b) windows setups (a few do, but many of us dont). Any takers to help set something up? FYI, we have put a _ton_ of work into keeping Mono support just so we can at least test that changes to C# tests at least run and pass verification, but naturally that isn't as nice as really having native windows support

6) join us on freenode at #techempower-fwbm - it's really fun meeting the brilliant people behind the frameworks

7) If I had to pick one big thing that's happened in between R9 and R10, it would be the drastically reduced barrier to entry. Running these benchmarks requires configuring three computers, which is much harder than something like _pip install_. Adding vagrant support that can setup a development environment in one command, or deploy to a benchmarking-ready AWS EC2 environment, has really reduced the barrier to getting involved. Adding Travis-CI made it better - it will automatically verify that your changes check out! Adding documentation at [https://frameworkbenchmarks.readthedocs.org/en/latest/Projec...](https://frameworkbenchmarks.readthedocs.org/en/latest/Project- Information/) made it even easier. Having a stable IRC community is even better! Tons of changes have added to mean that it's now easier than ever for someone to get involved

<comment><USER26> Yeah, I clicked stats and tried to hide everything but IIS since that's the web server I use. No results. Closed page.

<comment><USER25> I'm open to recommendations for systems similar to Travis-CI but supporting Windows! Having some type of windows CI would _really_ help bring windows uspport up to par

EDIT: Actually, let me just link everyone to github:

Here are the windows compatibility issues - [https://github.com/TechEmpower/FrameworkBenchmarks/issues?q=...](https://github.com/TechEmpower/FrameworkBenchmarks/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Windows+Compatibility%22)

Here is the specific issue asking for advice on what CI we should use to support windows: [https://github.com/TechEmpower/FrameworkBenchmarks/issues/10...](https://github.com/TechEmpower/FrameworkBenchmarks/issues/1038)

</comment></comment></comment><comment><USER27> Reading thru these tests they are measuring database performance as much as framework performance.

They are also single node which is great if you're entire system is only going to ever need one machine's worth of capacity (Eg: vertical scaling)

</comment><comment><USER28> Some frameworks which I never know performed very well. But looks like they are not mature. Which framework do you recommend? I used Node.js/Express, Rails and Sinatra but am not satisfied with them. I am learning Go.

</comment><comment><USER29> Since the "peak" hardware is a dual E5-2660v2 thats 32 threads, so a c3.8xlarge would be a much more comparable instance.

<comment><USER15> We aren't trying to measure each hardware set as apples-to-apples, but rather give the reader an idea of how performance characteristics for a chosen stack are affected by hosting environment. Specifically, we wanted the middle-of- the-road EC2 instances versus the extremely high-end Peak option to illustrate that difference.

<comment><USER29> thanks for the response

I've noticed a weird trend where amazon created various slices of instance types a long time ago, and people have mentally gotten used to using larger ones far slower than moores law adds cores. So people will refer to something with 2 cores as "middle-of-the-road" and 32 as "extremely high-end" when in my brain thats "a cell phone" and "a 2 year old server".

</comment></comment></comment><comment><USER30> Keep in mind most of these benchmarks won't happen in production. Especially not the netty and lwan ones.

</comment><comment><USER31> what are the benefits of using this benchmark over using ab?

<comment><USER25> The main benefit is this allows rough comparison to a ton of other frameworks. Just running _ab_ against your one server setup gives you one RPS/latency result on one hardware setup - that's good to know as an absolute metric, but tells you very little about your performance relative to other frameworks.

This project gives you RPS/latency metrics for many frameworks, on a few hardware setups. This enables a rough comparison of "how does my framework perform relative to all these other well-known or established frameworks". Naturally, the comparison is not perfect - there are a ton of reasons that measuring _just_ requests/sec and latency doesn't allow complete comparison between two frameworks. However, once you accept that it is basically impossible to fully compare any two frameworks using just quantitative methods and these numbers should inform your choice of framework (instead of totally control your choice of framework), we can talk about why it's valuable.

Want to run a low-cost server in language X that you happen to love? This project can provide guidance about which frameworks written in language X are performing the best. Want to ensure your service can support 50k requests per second without loosing latency? This project can provide latency numbers for you to examine that let you know which frameworks appear to maintain acceptable latency even under high load.

If you wanted to, you could re-create this project by running _ab_ against 100+ frameworks - that's the cornerstone of what is happening here. Granted, we currently use [https://github.com/wg/wrk](https://github.com/wg/wrk) instead of _ab_ , but the principle is the same - start up framework, run load generation, capture result data. Most of the codebase is dedicated to ensuring that these 100+ frameworks don't interfere with each other, setting up pseudo- production environments with separate server/database/load generation servers, and other concerns that have to be addressed.

Over time, this project has started collect more statistics than just requests/second and latency, which makes it more valuable than just running _ab_. As more metrics are added and more frameworks are added, this becomes a really valuable project for understanding how frameworks perform relative to one another.</comment></comment>


Ask HN: Books and Courses for Wannabe CTOs and Heads of Engineering? - <AUTHOR> How did you become the CTO or Head of Engineering at a larger organization? What books and courses did shape your growth and prepare you for this role and/or solidify your knowledge as a CTO / Head of Engineering?
---
I've got a background as a software developer and development team lead. I've filled shoes as an architect, infrastructure expert and an IT project manager. I've got a solid understanding of the business side as well.
What books, courses and other "theoretical background" you would recommend to make the jump / transition from a development team lead to a Head of Engineering or CTO at a company with 100-250 employees?
This is not a question about career progression as it is more about "growing with the company" (so gaining all the required knowledge in advance before actually gaining that know-how in practice - for example, when you are a "CTO" of small yet fast-growing startup).
The recommended literature should contain info on:
* scaling the software development team (e.g. if I've lead a team of 8, how do "I" "handle a "team"" of 50-70 engineers? What are the common pitfalls to scaling the engineering team? Some common examples for the organizational structure for handling multiple software development teams?)
* defining and measuring KPIs and/or OKRs for technical people in all the levels
* project management techniques and tools to gather all the data (and what data and how should I gather?) to be able to make any decisions
* talking to the management (reports, bridging the understanding between the business and the IT)
* everything else I haven't thought about
I am looking more for a know-how that could be applied to existing enterprise as well. So more of an enterprise-way how-to than "whatever works" and "let's just do it the start-up way". <comment><USER2> 1\. you don't handle a team of 50-70, you hire good team leads and handle only the team leads, trusting them to do their job and try to get what they want from top management done

2\. there are a lot of books on that subject, but the most important thing imho is that you and your company about the KPIs they chose. It's an art like painting. If you do the colors and forms the way others do, it is very unlikely that you will beat competition, and if there would be a book that would tell you, everybody could become Picasso. I think this is the main challenge of being a C-level, all the rest is well documented.

3\. Same as 2. I see you are addicted to perfect methods which even in team lead positions doesn't apply/exists. It isn't coding. If anybody knew the right way, they could just do it infinitely and create infinite useful companies/products.

4\. I'd get a good communication course and practice often in different situations, you need to become very good in "powerpoint karaoke" and it's mostly a selling skill.

5\. There is an infinite amount of information in that subject, you need to figure out what the combination of (you+company) needs and focus only on that.

My 2 cents: You should focus on creating a good environment for the people that work with you, so that they can just have a lot of autonomy and are empowered, feeling responsible for the future of the company. All your worries above are partially useless, things such as KPIs isn't so much a thing that a CTO should control/care. Instead create an environment that people would come up with ideas of what to do and you just enable them.

</comment><comment><USER3> A lot of eye-opening insights in: Becoming a Technical Leader: An Organic Problem-Solving Approach

[https://www.amazon.com/Becoming-Technical-Leader-Problem- Sol...](https://www.amazon.com/Becoming-Technical-Leader-Problem-Solving- Approach/dp/0932633021)

"It identifies which leadership skills are most effective in a technical environment and why technical people have characteristic trouble in making the transition to a leadership role. For anyone who is a leader, hopes to be one, or would like to avoid being one."

</comment><comment><USER4> I am a CTO today (albeit for a small startup right now), but I have run teams of 120+ people and I have run my own successful businesses. So my advice comes from that knowledge and experience growing an engineering team from 6 to 120+ in a year.

Books are interesting to read and can give you ideas, but in the end it is leadership that solves the problems and makes teams successful, not which OKRs you put in place. In fact, OKR's can be the death of a team if they are done incorrectly, and just cause Google uses them doesn't make them good. Six Sigma was invented at Motorola who used it mainly properly, GE started with it in a good way then twisted it so badly that it became a problem not a solution. Sadly that trend went around multiple industries, much like OKR's today. That's just an example though. OKR's and six sigma can be used properly to great success, but be careful with trends when you are a leader.

To the things you asked about specifically, there is no book or set of books I know of that will answer it all. Most of being a good CTO isn't about the technical part of the job or engineering specifically, it is about people. So if you are not a good people person that is the place to start. Read about people, read psychology books, read sociology books, understand how group think works and how to avoid it etc. Make sure your life is in order so you are not running around like a chicken without its head, because how you work is how your team will work. So if you are a negative person you'll surround yourself with negative people, either because you hire them that way or you'll make them negative through your own behavior. Negativity is bad, fairly blunt honesty with positive reinforcement is good.

Growing a team from 0-8 vs from 10-30 isn't much more difficult, the rules stay the same but you have to setup more structure. The biggest mistake new CTO's and Founders make is they don't put in organizational structure, thinking a flat organization is ideal, and truly flat. Flat organizations are great, but it does NOT mean you lack structure, please read on this if you don't understand it. People need to know who to go to when, how to resolve an HR problem vs an engineering issue etc. 90% of the time I see growing teams in trouble it is from a lack of organizational structure and process. And process doesn't mean some heavy weight manual on how to do a job, just where to go for what and when and who to ask what types of questions for quick resolution.

I could go on and on about each of the issues. What you need is a good mentor to help you and to give you advice. My 2 cents, if you want to grow with the organization into a technical leader understand that you need to be a people person and your technical ability is second. IMO you should never lose your technical knowledge and I feel CTO's should always remain highly technical ( at least in knowledge ), but your primary job goes from technology to leadership, so if you are touching code in a company that size as CTO you have failed big time. If you want to touch code, move to the principle or staff engineer type position and not a CTO/VP etc.

As for books:

Crossing the chasm (get the latest edition) -- good for technical product introductions and marketing behavior. CTO's/VP's etc need to know marketing and business methodologies well to be successful.

The Essential Drucker -- not saying I agree with everything, but at least it helps you understand a lot of concepts and you can see patterns.

Chainsaw by John A Byrne -- This book is about Al Dunlap and Sunbeam and corporate greed. I think all new founders, managers and business people should read it. It isn't a guide to being good but showing how you can destroy a company quickly. So worth the read, and interesting characters.

Also read all kinds of management books and military leadership books for special forces etc. It gives you good information on how to create high performance loyal teams.</comment>


Lithium-Sulfur Battery Project Aims to Double the Range of Electric Airplanes - <AUTHOR> https://spectrum.ieee.org/energywise/aerospace/aviation/lithiumsulfur-battery-project-aims-to-double-the-range-of-electric-airplanes <comment><USER2> Electric aviation always strikes me as an odd idea, given the low power densities that batteries achieve.

By contrast, biofuels are available today and can be made from agricultural waste products (2nd gen), in bioreactors using salt water algae (3rd gen) or electrochemically (4th gen).

They're potentially a drop in replacement for regular fuel - for planes, but also for cars.

Due to the lower energy requirements for building ICE cars versus batteries, a biofuel powered car will be much better for CO2 emissions than an electric one, which you need to drive for many years before it beats a similar sized gasoline fueled car on sum CO2 emissions.

So why are we not heavily investing in biofuel infrastructure? Why are electric motors and batteries hyped up as being the tech of the future? That's an honest question, since I've yet to hear a well-founded physical or engineering argument against it.

<comment><USER3> For general aviation (small prop planes), it's because so much of the cost of running one comes from the engine. The most common piston engines are supposed to make it 1500-2000 hours between overhauls, and an overhaul runs around $16K, so you have to save $10-15 per flight hour in engine reserve to pay for the overhaul when it comes due and to cover any unexpected maintenance between overhauls. Plus, there are consumables that aren't cheap -- oil changes, spark plugs, and so forth. A brushless electric motor has a _lot_ fewer moving parts, and a lot less vibration, so overhauls could be cheaper and with a larger interval between them, and regular maintenance would be cheaper as well. Plus, no leaded avgas to mess with, no worries about reduced power at higher altitudes where the air is thinner, no worries about carburetor icing or adjusting the air/fuel mixture. Sounds like a win to me.

<comment><USER4> Unfortunately the reduced power is still a problem at higher altitudes but for different reasons. Instead of oxygen starvation, the props will have less to push against.

This is still less of an issue as the electric motor can spin faster due to the reduced resistance. Higher speeds will create higher resistances from within the motor itself (which will in turn be increase the heat generated in the motor).

That heat will also be harder to dissipate in lower pressures, but I suppose alternative cooling could be added as well.

<comment><USER5> I'm not entirely sure how you'll cool the engines at high altitudes, combustion engines can use their exhaust to cool the engine.

Using large radiators on an electric engine kinda defeats the purpose especially when they can't be effectively be built into the body of the engine.

<comment><USER6> How exactly does one use exhaust to cool the engine? This is something I've never heard of in the context of cars of motorcycles, where exhaust is generally removed as soon as possible, and if it's used for anything, it's for running turbochargers that make the engine even hotter.

<comment><USER7> There are two strategies for keeping cylinders cool in cruise: push the red mixture knob forward for a rich fuel/air mixture setting that uses unburned fuel to lower cylinder head temperatures, or pull the mixture knob out to such a lean setting that an abundance of air and reduction in engine power and heat cools the cylinders. Running aircraft engines "lean of peak" (LOP) typically reduces airspeed about 5 percent in cruise while lowering fuel consumption about 20 percent—but not all engines are capable of LOP operations, and doing it wrong can cause permanent and costly engine damage.

source: [https://www.aopa.org/news-and-media/all- news/2019/may/flight...](https://www.aopa.org/news-and-media/all- news/2019/may/flight-training-magazine/technique-lean-of-peak)

</comment></comment></comment></comment></comment></comment><comment><USER8> This reminded me of a graph I thought was really interesting from a thesis on a solar powered UAV that shows energy density and power per weight for different sources of energy, I've highlighted the 500wh/kg line which is being claimed in the article:

[https://i.imgur.com/nZSWpW1.png](https://i.imgur.com/nZSWpW1.png)

Should be very interesting if they can deliver that level of performance.

The source document for that graph is here: [https://ethz.ch/content/dam/ethz/special- interest/mavt/robot...](https://ethz.ch/content/dam/ethz/special- interest/mavt/robotics-n-intelligent-systems/asl- dam/documents/phd_thesis/Andre_Noth_Design_of_Solar_Powered_Airplanes_for_Continuous_Flight.pdf)

And described here: [https://spie.org/news/1649-designing-solar-airplanes-for- con...](https://spie.org/news/1649-designing-solar-airplanes-for-continuous- flight?SSO=1)

<comment><USER9> 24,965,421,631,578 wh/kg (antimatter)

23,222,915,000 wh/kg (plutonium 239)

[https://en.wikipedia.org/wiki/Energy_density#Table_of_energy...](https://en.wikipedia.org/wiki/Energy_density#Table_of_energy_content)

<comment><USER10> If your goal is to use exciting power sources then those two have a flaw, they can be scaled down to fit the power needs of the plane, which would limit the spectacle you could achieve. The penrose process may be a better choice since there's a miniaturization limit.

<comment><USER6> You can, in fact, put a functional nuclear reactor on a plane: [https://en.wikipedia.org/wiki/Tupolev_Tu-95LAL](https://en.wikipedia.org/wiki/Tupolev_Tu-95LAL) . Of course, it's a terrible idea, but it is feasible.

<comment><USER11> Russia sure does like mobile nuclear reactors

<comment><USER9> Reading one of the Feynman books, probably "Surely You're Joking, Mr. Feynman" I remember the section about nuclear-powered patent ideas, like nuclear- powered spaceship, plane, boat, ... and submarine. We only did the boat and submarine. I guess we did the spaceship too.

</comment></comment></comment></comment></comment></comment><comment><USER12> No lithium-sulfur battery (so far) survives enough charge-discharge cycles to be attractive for portable electronics or electric cars. But higher energy density makes it potentially attractive over lithium ion batteries for aircraft. Even if you have to replace the batteries after e.g. only 100 cycles, that could enable multi-month missions for solar powered high altitude UAVs.

The Airbus Zephyr was using lithium-sulfur batteries back in 2015:

[https://cosmosmagazine.com/technology/lighter-cheaper- satell...](https://cosmosmagazine.com/technology/lighter-cheaper-satellite)

</comment><comment><USER13> Flying at higher altitudes reduces drag and increases efficiency due to the thinner air. Ideally, we'd be flying planes a lot higher than we do today. The problem is combustion engines need oxygen and the higher you go, the less oxygen you have available. Electric planes don't have that problem which could be the secret to faster global travel.

<comment><USER14> Flying at higher altitudes also increases chance of developing cancer due to cosmic radiation.

[https://www.ncbi.nlm.nih.gov/pubmed/12862322](https://www.ncbi.nlm.nih.gov/pubmed/12862322) [https://www.cdc.gov/niosh/topics/aircrew/cosmicionizingradia...](https://www.cdc.gov/niosh/topics/aircrew/cosmicionizingradiation.html) [https://www.cdc.gov/nceh/radiation/air_travel.html](https://www.cdc.gov/nceh/radiation/air_travel.html)

<comment><USER15> The first study:

> METHODS: A cohort of 10,051 male and 160 female airline pilots [...] was > followed for cancer incidence [...].

> RESULTS: Among male pilots, there were 466 cases of cancer diagnosed vs. 456 > expected.

So, a heightened risk of (466-456)/10051 = _0,001%_ if I read this correctly.

Or am I misunderstanding something here? I guess so, because this seems close to negligible.

<comment><USER16> You forgot to multiply by 100 when you went to %, so it's actually 0.1% higher. Still pretty low.

<comment><USER15> ah, thanks, silly mistake! Anyway, still a surprisingly low risk. Seems within the margin of error to me.

</comment></comment></comment></comment></comment><comment><USER17> > They said the Oxis battery would provide "in excess" of 500 Wh/kg, a number > which appears to apply to the individual cells, rather than the battery > pack, with all its packaging, power electronics, and other paraphernalia.

For comparison the energy density of gasoline is 12,200 Wh/kg

[https://xtronics.com/wiki/Energy_density.html](https://xtronics.com/wiki/Energy_density.html)

<comment><USER18> Absent notes to the contrary, I'm going to assume that's just the raw energy density. However, by my understanding the typical gasoline engine in a passenger car has an efficiency of something in the low-to-mid-30s percent. So, assuming 33%, that's 4026 Wh/kg of actually-useful energy density, the rest of the energy wasted as exhaust heat.

Looking things up, I see different numbers for electric motor efficiency, ranging from the low 70s to the low 90s percent. As an overly simplified example, let's assume an electric motor in a car has an efficiency of 80% (in reality, they may be better). At that efficiency, a battery pack only has to get to 5032.5 Wh/kg to achieve the same practical energy density as gasoline, less than half the actual raw energy density. That is probably an easier number to reach than trying to achieve the same raw energy density of gasoline.

Nobody has made this argument in this thread (yet, as I type this), but I've seen it made before and made it myself. Yes, at those energy densities, batteries are highly dangerous if something goes wrong (like a crash) and they release all their energy at once, but so is gasoline. At practical ranges, you're potentially sitting on a pile of high-explosives either way. But, I'd hope a 5032.5 Wh/kg battery is easier to make safer in a crash than 12,200 Wh/kg gasoline is.

<comment><USER10> On the other hand a plane loses weight as it burns fuel, this isn't true for batteries.

<comment><USER19> It is losing weight but only very very little.

<comment><USER20> thats not true, fuel weight is about 1/3 of total plane weight.

<comment><USER10> I assume he's talking about the mass defect in discharged batteries

</comment></comment></comment></comment></comment></comment><comment><USER21> Have they solved the problems of

1\. sulfur plating the anode? 2\. The cathode swelling during charge and mechanically damaging the cell?

If so, I'm excited! But last I checked thier solution to #2 was to clamp the cell between metal plates, which nullified the gains in energy density when considering the mass of the clamps.

<comment><USER22> 1 & 2\. Not really and not really.

Curious, have you ever heard of Boron-Nitride Nanotubes (BNNT)? Basically a new nanomaterial that is similar to carbon nanotubes except it has the rare property of being a high energy band-width semiconductor whilst having excellent thermal conductivity (basically solves problems 1. and 2.). Only problem is that its really hard to produce in mass quantity... well maybe... have a look at the company PPK

</comment></comment><comment><USER23> Whoever creates a better battery, which moves us away from Li, will be a trillionaire.

I do not think lithium or a chemical battery is the right solution. Too expensive and polluting. I am hoping for a silicon battery that will take over the world.

<comment><USER24> > Whoever creates a better battery, which moves us away from Li, will be a > trillionaire.

So now it should be a golden age to be a chemical engineer or a physicist specialising in battery technology research I suppose.

> I am hoping for a silicon battery that will take over the world.

Chemical Engineers and Battery Technologists will be the new 'Software Engineers'.

<comment><USER25> As a chemical engineer who did my Ph.D in Li-ion battery anodes, I switched to data science immediately afterward. So I wish you were right, but I wouldn't count on it any time soon.

<comment><USER26> uh... unless that data science is on like cancer research or something please go back

</comment></comment></comment></comment><comment><USER27> I can imagine two really amazing effects from electric airplanes

1\. Noise pollution could be significantly reduced . So many flight paths over homes.

2\. Cost efficiencies could be amazing with fuel anywhere from 25% - 35% fluctuations, [https://www.statista.com/statistics/591285/aviation- industry...](https://www.statista.com/statistics/591285/aviation-industry- fuel-cost/)

I imagine the operating cost of electric would be even less due to the simpler design of engines for electric vs gas

In my dreams airplanes could be designed to be more comfortable due to fixed operating costs... that would be nice

</comment><comment><USER28> See also lithium-air (aka lithium oxygen) battery:

[https://en.wikipedia.org/wiki/Lithium–air_battery](https://en.wikipedia.org/wiki/Lithium–air_battery)

</comment><comment><USER29> I've been following this company since their announcement of "300Wh/kg soon" a few years ago.

The pace of their progress is not jaw-dropping, but if anyone has a shot at bringing this chemistry to the market, it's them.</comment>


Apple shuts all stores around the world – except in China - <AUTHOR> https://mashable.com/article/apple-stores-closed/ <comment><USER2> Key point the headline glosses over but is contained in the article body - they'd already closed stores in China and are slowly reopening them as the virus subsides in the country. I get that mashable is looking for clicks and that the title is not false and doesn't say anything that is untrue, but it's one of those titles that manages to convey a million mistruths without saying anything directly. Apple is shutting down everywhere except where it's worst- why? Well speculate based on whatever your preconceived biases are! The disease isn't bad and it's just for show from apple. Or the disease is terrible and China is an evil authoritarian hellhole that is preventing people from responding appropriately. Whatever it is, the title promises juicy details - just click here! It's pretty insidious.

In case it's changed later the original title of the mashable link was "Apple shuts all stores around the world – except in China"</comment>


When a meeting with a VC goes bad (Jobloft) - <AUTHOR> http://www.youtube.com/watch?v=vdbThklcD_8

<comment><USER2> Poking around, I found [http://www.jobloft.com/blog/2006/11/22/jobloftcom-the- suns-s...](http://www.jobloft.com/blog/2006/11/22/jobloftcom-the-suns-still- shining-outside-the-den/) .. It's Jobloft's side of the story. Apparently the dragons wanted to invest $200,000 for 50% of the company. I have no idea if that's a good deal or not.

<comment><USER3> Structurally that is almost guaranteed to be a bad deal. I doubt you'd ever find a deal of this form in the history of a startup that went on to be successful. If an investor buys as much as half the company (it does happen in some series A rounds), the valuation should be higher.

Investors might pay $200k for half a restaurant or some other business like that, but not a startup.

<comment><USER4> Yes I think the professor realised this -- he was one of the founders of lavalife IIRC.

I have seen the show and my observation was: The dragons are really mostly into funding sauce-makers, innovative clothing accessories, etc. and they apply the same principles to startups -- doesn't work well.

</comment></comment></comment><comment><USER5> From their homepage:

"Using Web 2.0 technologies such as Google Maps, AJAX, RSS and tagging, you'll find the perfect job based on where YOU live."

This hurts me.

</comment><comment><USER6> 200k for 50%? That's crazy.

The professor was right on so many levels. That 200K wouldn't last three to four months. Rent, salaries, hardware, etc.

That said, the professor was slightly insulting, but I don't think his position was wrong at all.

<comment><USER7> Is it crazy? YC offers $20k for 2-10%...

It utterly depends on what stage the company is in. If it's a few guys and a prototype, $200k of seed money for 50% isn't necessarily a lousy deal.

And, for the record, it could last quite a while. 3-5 young guys making rice- and-beans money, cheap rent, 2-3 servers at ServerBeach...

The "professor" was insulting and controlling-- he raised the VCs' hackles, which isn't going to move the meeting in the right direction. If he had a problem with the valuation, he should have raised the concern before they'd issued the check. That's bad faith negotiating.

</comment></comment><comment><USER8> The biggest problem is that this professor apparently didn't discuss how he thought the 200k was a bad deal beforehand with the founders. Or, if he had discussed it beforehand, the founders had decided it was still a deal they would like to proceed with.

Instead, he went ahead and torpedoed the deal without the founders consent. It certainly makes for good television, but I'd be pissed if I were one of the founders.

<comment><USER9> Yeah, the source of the problem was that the founders and the professor were out of sync. If they agreed with him, they shouldn't have been in that meeting in the first place. If they disagreed with him, they should have stood up in the middle of his rant and told him to stop talking and leave the room.

As it happened, I guess it was uncomfortable for them to discuss, so this scene, which is just about the worst-case scenario, came to pass.

</comment></comment><comment><USER10> 'professor' comes across as a total dick to me. If he thought the valuation was too low, why didn't he say that instead of insulting people and pissing them off.

</comment><comment><AUTHOR> I was also a pitcher/presenter on this show, and the "Dragons" were some of the nicest VC's I've met.

</comment><comment><USER11> Fascinating little encounter. It continues to seem to me that ego, and all the slings and arrows that're attached, is the number one crusher of creativity.

</comment><comment><USER12> HAHAHA. Vintage grad student.

</comment><comment><USER13> well that was entertaining

</comment><comment><USER14> lol</comment>


Virtual reality could save the planet - <AUTHOR> https://justinjackson.ca/virtualplanet/ <comment><USER2> Justin has a point about all the resources that could be saved. There is a lot about the possibilities that just seem fascinating to me.

For whatever reason though, I keep thinking "Matrix". Those people weren't enslaved by machines. They continually progressed virtual reality until they submitted to it completely...then forgot. I know vr will progress because that's how people want it, but it also gives others a way to replace your perspective...just one hack/bug away. Who are you voting for this election? Whoops VR replaced what you saw so you voted for the other person. Sorry, glitch.

Although, it would be nice to furnish a house with copy and paste. Save me a lot of money. Just hard to physically sit in a virtual chair. Copy and paste a virtual toilet and hope it's over a real one.

VR, as far as it's progression, is a odd one for me. People choose to recreate something one inch at a time for the sake of efficiency of that inch. Ex., I VR my house as beach front property. That's cheap, saved money. No ocean breeze though. New machine...simulate smells and a fan. No vitamin D from sunlight. Plug me into a tanning bed. After good ideas to solutions role, "efficiency" follows afterward. Ever tasted a drink from the new coke machine with 100 flavors? It's just not the same, but now it's more efficient. So people adapt.

I've rarely seen something all good vs trade-offs. People seem so keen on trading off benefits of now vs whatever the cost is later. So as a recourse, focusing on other outcomes gets legally tagged as TBD. Enter any prescription drug commercial.

</comment><comment><AUTHOR> I'm trying to be realistic about mass society + mass consumption. I don't think our desire "for more" will go down; but maybe we can replace it with digital consumption?</comment>


The FBI Used Classified Hacking Tools in Ordinary Criminal Investigations - <AUTHOR> https://motherboard.vice.com/en_us/article/7xdxg9/fbi-hacking-investigations-classified-remote-operations-unit <comment><USER2> and? they're the FBI what do you expect? it's there job. unless they did something illegal...move along.

</comment><comment><USER3> Our tax dollars at work?

</comment><comment><USER4> _cough cough_</comment>


Ask HN: If money's not a problem, why Docker over Heroku? - <AUTHOR> For the sake of argument, let's say Heroku & Docker are mutually exclusive options. I get the benefit of having your dev environment match production if you use Docker. But is there any other benefit besides being cheaper? <comment><USER2> I know you are saying, "let's say" they are mutually exclusive, but I would highlight that they are not just _not mutually exclusive_, there is actually an open-source PaaS that is built on top of Docker (CoreOS, Fleet) to be as close as possible to Heroku-compatible. [http://deis.io](http://deis.io)

And, it's not really a given that it's cheaper to use Docker. Scaling costs more, however you do it. If your project is short-lived, then the up-front hardware costs of building a cluster out of bare metal might just eclipse the aggregate amount you would spend on Heroku in that span.

Even buying the machines an hour at a time from AWS, building a cluster out of them and configuring the load balancing through ELB, without counting the time you'd spend on all that, might not really save you any money unless you are actually using a whole lot of dynos.

For the sake of argument, putting all of that aside, do you want a platform that just works, and you just pay the bill, or do you want to know how it works and have some direct control over actual downtime, upgrades, etc?

It's not really fair comparing Heroku to Docker. One is a platform/service provider, the other is a piece of software (not even a full platform stack.)

</comment><comment><USER3> Heroku is a PaaS offering that offers its key value in that it provides a simple environment that caters to a lot of workloads. The way it does this is make many decisions for you. If your workload don't suit those decisions they may be sub-optimal. However the value is that your given limited sizing options, rather then having to decide amongst the millions of configuration options you would have with AWS or dedicated hosting. However you follow the Heroku documentation properly and you should be able to have a fairly performant solution.

Docker is containerisation. It allows you to run many containers on a single server. It can be configured in millions of ways, and part of a much larger stack. All it does is handles a small number of problems associated with running multiple applications on a single server (and the surrounding problem space). You can use whatever programming language / database / messaging stack / middleware / web server / etc you like, with the caveat that you need to either build the configuration (or use someones pre-configured image).

So the answer to your question really is why would someone need more flexibility then heroku offers, in which I can think of :

1.) Hosting outside of EU / US. Heroku does not have APAC / South America / African hosting at least according to documentation. [https://devcenter.heroku.com/articles/regions](https://devcenter.heroku.com/articles/regions)

2.) Use of technology component not provided by Heroku. (Programming Language / Database / etc)

3.) Add-ons may not be suitable to provide key technology. (I really am uncomfortable with a Database being far away from application code, so a Database as a service makes me nervous, like Heroku Add ons). Heroku only provide Postgres and Redis.

4.) Each Application is a separate Heroku line item. A docker configuration could host thousands of rarely accessed applications. Outside of storage there is little resource costs for a rarely-used application.

5.) Ability to move. A docker container can be moved to anywhere. You want to host on Azure, you can. Rackspace offering something cheap, go there. AWS, your good. Get acquired and need to run in a corp VMWare environment... your good. Heroku apps tend to get tied into the platform as you deal with herokuisms and work around that environment. While the application can be moved, if your application is significant you will spend time re-ballancing.

</comment><comment><USER4> Heroku has a history of making technical changes that are actually worse performance-wise and reliability-wise. One of the more notable ones was the switch from an "intelligent" request routing mechanism (Heroku's routing mesh would route requests to dynos based on their load) to a random load-balancing scheme (blind, with no regard for existing dyno load), causing requests to frequently be routed to overworked dynos while leaving open ones idling and twiddling their virtual thumbs. This change was eventually called out and documented by the folks at Rap Genius [0]; Heroku eventually responded, though I don't know off the top of my head whether they went back to their previous (and arguably much-superior) routing system.

This, combined with the rather abysmal tooling (and, of course, the rather abysmal pricing) around Heroku, left a bad enough taste in my mouth to avoid Heroku for most (if not all) of my personal projects, the sole exception at the moment being heroku-sucks.herokuapp.com. My current dayjob employer (a Rails consultancy) has switched away from Heroku entirely, moving instead to Cloud66 (we haven't gone the container route yet, but we're actively working on it).

[0]: [http://genius.com/James-somers-herokus-ugly-secret- annotated](http://genius.com/James-somers-herokus-ugly-secret-annotated)

</comment><comment><USER5> They don't have to be mutually exclusive.

Cloud Foundry gives you an installable PaaS that has pathways for accepting either sourcecode or, in current betas, Docker containers.

You can run it inhouse on OpenStack or vSphere, or you can mount it on AWS.

See: [http://docs.cloudfoundry.org/](http://docs.cloudfoundry.org/)

And for the Docker-only dev sandbox: [http://lattice.cf/](http://lattice.cf/)

</comment><comment><USER6> One is an open source platform, the other is a commercial entity. The worst thing you can do is to complete depend everything on a product by a company. If they decide to kick you out, you can't switch over to something else easily.

</comment><comment><USER7> The team at circleci actually wrote some great blog posts about this. First, a tongue-in-cheek post highlighting the question you're asking here:

[http://blog.circleci.com/its-the-future/](http://blog.circleci.com/its-the- future/)

Followed by a post answering this question:

[http://blog.circleci.com/it-really-is-the- future/](http://blog.circleci.com/it-really-is-the-future/)

<comment> vezzy-fnord The second article is mostly an uninformed piece of native advertising, see the discussion here: [https://news.ycombinator.com/item?id=9746427](https://news.ycombinator.com/item?id=9746427)

My response: [https://news.ycombinator.com/item?id=9746780](https://news.ycombinator.com/item?id=9746780)</comment></comment>


Chinese researchers look at possibility of capturing asteroids in Earth orbit - <AUTHOR> http://www.physorg.com/news/2011-09-chinese-possibility-capturing-asteroids-earth.html

<comment><USER2> The repositioning, capture, and extraction of minerals from asteroids should be the number one goal of space exploration in the near future.

This may entail moon bases or larger orbiting space platforms; but there is little else that would be as beneficial in the near term.</comment>


In defence of hierarchy - <AUTHOR> https://aeon.co/essays/hierarchies-have-a-place-even-in-societies-built-on-equality <comment><USER2> "Nobody, on reflection, would want to eliminate all hierarchies..."

Who's arguing for that?! What a straw man. What an all or nothing bs argument.</comment>


Ask HN: How often do salary expectations not match up? - <AUTHOR> I recently had a 2 day interview, which went well until at the end we found out my salary expectations did not match up to theirs (85k in SF).  It ended up to be a waste of time for both parties, as they didn't want to budge from 85k, and I didn't want to appear weak by backing down.
How often do your salary expectations not line up with the offer?  Either as the prospective employee or employer.
Or are companies and employees generally within a ballpark on what they perceive as market rates.
I have to admit I thought the market rate in SF would be much higher, given what I've read in HN.  It would have been relatively entry level but at a financial firm. <comment><USER2> I interviewed at a small company in Tokyo that was looking for an experienced programmer. I did a take-home programming test that took me a couple of hours (not Fizzbuzz-level), and also a couple of on-site tests. Besides being bilingual in English and Japanese, which isn't rare but relatively uncommon, I also happen to speak an additional language that they use. I was aiming at U$50~70k -- yes, the average senior programmer in Tokyo earns less than a junior programmer in the Bay Area -- they offered me $35k. For reference, cost of living in Tokyo is about as high SF as far as I know (rent and taxes are probably lower in Japan but food is more expensive).

After that I went back to always asking the salary range beforehand.

</comment><comment><USER3> A few pointers on this:

* For most 100 person+ tech companies in SF/Boston/NY, there most likely will be salary bands for different roles and levels. You can get this information on glassdoor and other sites.

* The waters get tricky with seed/early-stage startups, without dedicated HR resources, since most founders are not great at HR consistency. For such interviews, its OK and helpful to ask for a broad range for the role during the screening interviews. Its usually hard for the company to give you specific #s because they haven't completed technical interviews, and have no idea how good you really are.

* For BOTH big and small companies, its OK to ask for their comp philosophy early in the process. Eg. some companies pay higher-than-market cash but low options. Some incentivise the other way. If its more that 10-15 people, they should have an answer for this. If its a very early stage company, they may not have figured this out yet.

* Across all offers, you should be comparing total comp, not just base salary. Total comp = base salary + bonuses + stock options + healthcare + other benefits. For a early-stage startup, you may be able to ask them to move some of these around, based on your personal needs. After about 10-15 people, it becomes really hard for the company to do this, because everyone has to fit into comp bands.

* Advice to me from the head of recruiting/HR at a 3000+ person leading bay-area company: Every candidate they hired came up with an argument/data on why they should be paid more. Its part of the negotiation process, and the equivalent is me going to investors with a pre-money valuation that I think we're worth for our next financing.

* No company wants to interview a candidate for 2 days and discover they can't close the candidate because he/she is amazing but has completely different salary expectations. Hiring is huge team effort, and that's a bad outcome for the company too.

<comment><AUTHOR> Great points all around. Glassdoor is a tremendous help, but often the information is still incomplete or categories lumped. I understand companies have this resource though, so I was wondering how often a disconnect still comes up.

</comment></comment><comment><USER4> I have been consistently disappointed by offered salaries for any position that does not explicitly state a salary range up front, before you begin the interview process. Some of the offers have been so low-ball that it isn't even funny, e.g. offer $85K for a game development programmer with 15+ years of experience and dozens of shipped titles but on the same day offered a student straight out of college with no experience $100k - or - offering $35K salary with basic benefits and nothing else (this was only a few years ago) for a Lead Developer position in Seattle. All I can say is that I laughed in their face and told them they weren't serious.

I just turned down an "opportunity" to talk with Kixeye because when I asked "so what would this hypothetical position you are going to create for me actually pay?" they said they don't discuss salary until they are ready to make an offer. Thanks, but no thanks. I don't have time to waste on losers like that.

</comment><comment><USER5> This is why I mainly use recruiters, and I ask salary range up-front. If my read on the situation is the recruiter doesn't know (bad sign), then I prioritize the opportunity and recruiter lower. I also give more attention to jobs with the range posted, and I'm grateful when I see a range posted and it is low--they've saved me, and a lot of people a lot of time.

I'm at the high end of salaries, and I'm not taking 2 days off of work to interview for each job, only to find out it isn't in my range. I think companies that are cagey about this are either going to come in low, or are self-centered in their thinking (we are so awesome to work with, salary shouldn't matter!), both of which are bad signs for what should be a win-win relationship.

<comment><AUTHOR> > or are self-centered in their thinking (we are so awesome to work with, > salary shouldn't matter!),

I think there was definitely this element here. The feeling I get was that they expected candidates to jump at the chance to break into the industry. This is probably true. They were able to recruit people from top tier schools and I later heard they were famous even amongst funds. Yet, I don't think they distinguished that the career path is quite different as a programmer vs. a trader. As a programmer in a finance firm, my fear is that I'd be viewed as a cost center, a 2nd class citizen. Also it's a bit specialized and legacy tech work, like doing COBOL at a bank. Thus, I'd like to be paid up front and not in promises.

</comment></comment><comment><USER6> Speaking as an employee I've definitely seen situations where expectations didn't line up, but I would never have gone through 2 days of interviews without a really clear idea of the range they were considering. I guess this is one of those "live and learn" things, though.

Also, it boggles my mind that a company would spend 2 full days interviewing someone for an entry level person, and then on top of that it boggles a bit more because if they spent 2 days you'd think it is because they are being super safe and trying to find a great fit, and if they did find a great fit, finally, after all that work, why they wouldn't consider going up at all.

Sounds like a real clusterfuck all around.

<comment><AUTHOR> Thanks for the reply. Yeah, I didn't know if it'd be a negative signal by asking about salary early on. Also, I was under the impression a hedge fund would pay better.

They may have considered going up if they didn't have another option. I was told they were out for a week, which I interpret as them making an offer to someone else first. For all I know this person was a better candidate all around, but I'd be wary of hiring someone clearly unhappy about the salary too. Overplayed my cards, live and learn.

</comment></comment><comment><USER7> 85k is a reasonable offer for an entry-level generalist developer role. Entry- level in other cities is even lower (65-75).

<comment><AUTHOR> I would agree except this was at a hedge fund. There is no stock, but a crappy bonus that requires 3 years vesting. Also, you had to start at 5am, which made taking public transit difficult if not impossible in some locations. So add 1.5 hour one way commutes to a 10-12 hour days, 85k with no stock really wasn't enough to justify basically selling all your time for little upside. They also used Java. The one thing that would have made it manageable was to be able to live nearby in the city (with savings) so I drew the line at 100k.

</comment></comment><comment><USER8> After a series of interviews with a company for a job while in gradschool (after I already had a BS in Computer Science) and was offered $10/hr as a contract C developer (no benefits).

Starting salaries in my area for developers with a BS is around 60k-65k/yr with benefits.

</comment><comment><USER9> I too was disappointed from my salary offer in the Bay area but decided to take it anyway. I was making the bet that I just needed to get out here before I could really make any significant moves up career wise.

</comment><comment><USER10> If you're about to go through a lot of effort, like a two day interview or flying somewhere, it's perfectly reasonable to bring this up.

"Let's assume I'm a really good match for this position and you want to make me an offer. What's the range of compensation you would be comfortable with?"

</comment><comment><USER11> Every company that has refused to discuss salary until last minute has been a complete waste of my time. I'll never have an interview without discussing the salary before hand ever!</comment>


Stop using sticky notes to remember stuff - <AUTHOR> https://www.thoughttrain.cc/ <comment><AUTHOR> I got really tired of using the default sticky note widget on my Mac, so I created an app which I can use to remember stuff in between checking Hacker News, Twitter and Product Hunt.</comment>


Put an end to apartment rent for the time during the day when you aren't home - <AUTHOR> http://www.ghostroommate.com/ <comment><USER3> As a former night shift worker - and one that prefers evening or night work as an adult - I'd be wary of this service.

Sure, they'd rarely see me working the night shift. But they'd also find that they really needed to be about as quiet during the day as they'd expect me to be on my nights off. If one is the type that needs a quiet house, sharing a studio with someone is going to be rough indeed.

I'm even sometimes likely to have folks over at the place at 2 and 3 am - <USER2> such a thing a problem?

However, I'm happy they like to describe us as perfect roomates.

</comment><comment><USER4> OK, this may be serious. But wouldn't serious people use a spell checker before they posted "absoluteley" and "spilit"?

If you cannot be bothered to pay attention to every little detail in your public face, why should I believe you have paid attention to vital details behind the scene?

#youhadonejob

<comment><USER5> "Varys," "reccommend"...

</comment></comment><comment><USER6> In the Navy, we used to call this "hot racking." Sailors on different watches were sometimes required to share a rack.

Good luck to anybody who does this. I'll leave it at that.

<comment><USER7> That was my first thought as well. Hot bunking might be an acceptable practice on submarines, but damn, if that is the solution to the SF rent problem, maybe looking for work elsewhere is a better plan.

</comment></comment><comment><USER8> This sounds awful. if you have a person sharing the same space you live in but turns out to be messy and abhorrent, you'll barely ever get a chance to talk it out with them. Also there seems to be an assumption that both of you work long enough hours that you never bump into each other. Hardly a well thought out plan.

</comment><comment><USER9> Back when I worked at a coffee shop and had to get up to open it at 6am I had a roommate that worked second shift so we mainly interacted when he would still be up when I would get up or when one of us was hanging out with friends after work which was of course when the other one was trying to sleep leading to a pretty antagonistic relationship between us.

3/10 would not do again

</comment><comment><USER10> First the site claims that rent will be slashed by fifty percent, then it recommends a 65-35 split. Also: email@example.com? Seriously?

<comment><USER11> OK so not a unicorn. Maybe they can find a few people I guess?

</comment></comment><comment><USER12> > Some roommates spilit at 50%.

Seems reputable.

</comment><comment><USER13> Stupid</comment>


Race to discover Planet Nine using astronomy and new computational techniques - <AUTHOR> http://spectrum.ieee.org/aerospace/satellites/is-there-a-giant-planet-lurking-beyond-pluto <comment><USER2> Anyone interested in the search should follow Brown and Batygin's Planet Nine blog at [http://www.findplanetnine.com/](http://www.findplanetnine.com/)

</comment><comment><USER3> New And Better Data Disfavors A Giant World Beyond Neptune

[https://www.forbes.com/sites/startswithabang/2017/06/21/good...](https://www.forbes.com/sites/startswithabang/2017/06/21/goodbye- planet-nine-new-and-better-data-strongly-disfavors-a-giant-world-beyond- neptune/)

As the months passed since it was first proposed by Konstantin Batygin and Mike Brown, they compiled additional evidence for it, and things were looking rosy. But a new study by Shankman et al. has turned the evidence on its head, disfavoring the planet's existence and uncovering a bias in the data itself.

[https://arxiv.org/abs/1706.05348](https://arxiv.org/abs/1706.05348)

"The clustered TNOs were detected across different and independent surveys, which has led to claims that the detections are therefore free of observational bias. This apparent clustering has led to the so-called "Planet 9" hypothesis that a super-Earth currently resides in the distant solar system and causes this clustering. The Outer Solar System Origins Survey (OSSOS) is a large program that ran on the Canada-France-Hawaii Telescope from 2013--2017, discovering more than 800 new TNOs. One of the primary design goals of OSSOS was the careful determination of observational biases that would manifest within the detected sample. We demonstrate the striking and non-intuitive biases that exist for the detection of TNOs with large semi-major axes. The eight large semi-major axis OSSOS detections are an independent dataset, of comparable size to the conglomerate samples used in previous studies. We conclude that the orbital distribution of the OSSOS sample is consistent with being detected from a uniform underlying angular distribution."

<comment><AUTHOR> Yes, I've heard of that. Some follow-up articles I've read [1] [2] say that the evidence against (or for) Planet Nine is still inconclusive. But the question should be settled one way or another: Planet Nine will either be there or it won't.

[1] "Solar System survey casts doubt on mysterious 'Planet Nine'" [ [https://www.nature.com/news/solar-system-survey-casts- doubt-...](https://www.nature.com/news/solar-system-survey-casts-doubt-on- mysterious-planet-nine-1.22177) ]

[2] "Planet Nine Is Put on Trial in Absentia" [ [https://www.quantamagazine.org/planet-nine-is-put-on- trial-i...](https://www.quantamagazine.org/planet-nine-is-put-on-trial-in- absentia-20170627/) ]

<comment><USER4> They thought that about dark matter.

</comment></comment></comment><comment><USER5> A nice update in the search for Planet Nine that touches on a lot of new computational, survey-based, and modeling efforts to localize the planet. Great level of detail.

</comment><comment><USER6> I hope I get to see some New Horizons-esque images of it by the time I'm old and grey.

Imagine its moons. Does it have rings? Does it have Trojans? Is it another line of defence, a remote cosmic vacuum cleaner, like Jupiter? Maybe Clarke's monolith lurks in its orbit.

I can't wait to find out.

<comment><USER7> Even more interesting, is this disturber of the cuiper belt, the responsible one for the exstinction events (dinosaurs) that happened to our little world.

</comment></comment><comment><USER8> This is awesome. Also I found a tiny nitpick

"But the early 1990s also brought a big breakthrough in an algorithm, known as symplectic integration, that reduced computational times by an order of magnitude."

then

"Because symplectic integrators don't waste time rediscovering Kepler's laws over and over, they run orbital simulations hundreds of times as fast as older methods do."

100 times as fast is two orders of magnitude.

<comment><USER9> Maybe,maybe not. Depends on what base you are measuring magnitude in.

In base 10, 100x is 2 orders of magnitude.

In base 2, the same speed up (written in binary: 1100100x) is between 6 and 7 orders of magnitude.

<comment><USER10> No one means any base other than base 10 when they use that phrase in casual speech (without previously saying so).

</comment></comment></comment><comment><USER11> If "Planet Nine" doesn't exist, that will be fitting Karma for those who proposed it, since they developed the new definition of planet specifically to exclude Pluto and any other planets like Pluto.

(I disagree with that definition as it made no consultation with planetary scientists who actually study planets.)

<comment><USER12> I'm confused by your parenthetical, as the definition that excludes Pluto (and Eris) was arrived at by the International Astronomical Union ([https://www.iau.org/](https://www.iau.org/)).

<comment><USER11> IAU is made of astronomers (i.e. People who study stars and stuff), not so many planetary scientists (who specifically study planets).

<comment><USER12> I think it's fair to define planets based on an astronomical perspective; it's clear that Pluto, Eris and things like it, astronomically, belong to a different class than the other planets. Pluto is now classified as a dwarf planet. If we didn't "demote" it to a dwarf planet, then we would have to define a new term for the existing planets.

</comment></comment></comment></comment><comment><USER13> Maybe I missed it in the article, but why would P9 be at a 30 degree angle from all the other planets. Are they saying that what we know of how solar systems collapses to the nearly the same plane is wrong?

<comment><USER14> It would have been knocked into an eccentric orbit early in the Solar System's formation (when we had a lot more planets).

It couldn't have formed that far out. We know Uranus and Neptune are too far away - they formed closer in than they are now, and interactions with Saturn and Jupiter pushed them out. In fact, there's evidence that they switched places (Neptune originally being closer). Planet Nine could have been thrown into an eccentric orbit during this time.

Here's a relevant wikipedia article: [https://en.wikipedia.org/wiki/Nice_model](https://en.wikipedia.org/wiki/Nice_model)

</comment></comment><comment><USER15> What do you define as a planet though? If you consider our sun a frame of reference, you might find that technically some far away objects bigger than the sun have complex periodical movements around the sun.

<comment><USER16> Are you suggesting that the galaxy revolves around the sun? Heresy!

<comment><USER15> I am going to become a flat-galaxier!

</comment></comment></comment><comment><USER17> Can we name this one Pluto too, for old times' sake?

<comment><USER18> I vote for either Yuggoth or Nibiru.

<comment><AUTHOR> Nibiru is usually referred to as "Planet X". If it was called "Planet IX", it would be a better fit. :-)

<comment><USER19> IX would be a slightly ominous name to choose :) [https://en.wikipedia.org/wiki/Ix_(Dune)](https://en.wikipedia.org/wiki/Ix_\(Dune\))

<comment><USER4> There's a remark in one of the books that the Ixians were completely unaware that their planet was named that because it was the ninth out from the Sun.

</comment></comment></comment></comment></comment><comment><USER20> Noob question: Why isn't it passing in front of stars? Are we seeing a sequential dimming of occluded stars along the plane of the ecliptic?

<comment><USER21> My intuition suggests that a planet far out and small would be very difficult to detect by its occlusion.

This page calculates that Pluto for instance spans only 3 pixels at the Hubble space telescopes resolution: [http://www.planetary.org/blogs/emily- lakdawalla/2013/0214101...](http://www.planetary.org/blogs/emily- lakdawalla/2013/02141014-hubble-galaxy-pluto.html)

<comment><USER22> If Hubble can barely see Pluto, how the heck did terrestrial telescopes find it in the first place?

<comment><USER23> Wasn't the presence of a Pluto-like body _known_ because the orbits of other planets didn't match expectations based on the gravitational pulls of all the other known bodies in our solar system?

<comment><USER24> Not exactly. It's true that Neptune was discovered that way and that people found Pluto while looking for a "Planet X" that would explain other gravitational discrepancies:

 _In the 1840s, Urbain Le Verrier used Newtonian mechanics to predict the position of the then-undiscovered planet Neptune after analyzing perturbations in the orbit of Uranus. Subsequent observations of Neptune in the late 19th century led astronomers to speculate that Uranus 's orbit was being disturbed by another planet besides Neptune._[1]

However it turned out that Pluto was not Planet X after all. After all Neptune and Uranus are respectively about 7900 and 6700 times more massive than Pluto.

 _In 1978, the discovery of Pluto 's moon Charon allowed the measurement of Pluto's mass for the first time: roughly 0.2% that of Earth, and far too small to account for the discrepancies in the orbit of Uranus. Subsequent searches for an alternative Planet X, notably by Robert Sutton Harrington, failed. In 1992, Myles Standish used data from Voyager 2's flyby of Neptune in 1989, which had revised the estimates of Neptune's mass downward by 0.5%—an amount comparable to the mass of Mars—to recalculate its gravitational effect on Uranus. With the new figures added in, the discrepancies, and with them the need for a Planet X, vanished. Today, the majority of scientists agree that Planet X, as Lowell defined it, does not exist. Lowell had made a prediction of Planet X's orbit and position in 1915 that was fairly close to Pluto's actual orbit and its position at that time; Ernest W. Brown concluded soon after Pluto's discovery that this was a coincidence, a view still held today._[2]

[1] [https://en.wikipedia.org/wiki/Pluto#Discovery](https://en.wikipedia.org/wiki/Pluto#Discovery) [2] [https://en.wikipedia.org/wiki/Pluto#Planet_X_disproved](https://en.wikipedia.org/wiki/Pluto#Planet_X_disproved)</comment></comment></comment></comment></comment>


Show HN: Fragments iOS Wireframe Kit - <AUTHOR> https://fragments.pixsellz.io <comment><AUTHOR> Fragments is a wireframe iOS kit for Sketch & Figma that you can use to build any kind of mobile app. The full kit includes 370+ layouts in 10 categories and it's based on nested symbols and built with layer styles.

All files are named, sorted and combined together accordingly. All latest features of Figma & Sketch App has been used to speed up your design workflow. In addition to offering the largest prototyping screens on the Internet, Fragments iOS kits' components are all symbol-based.</comment>


Should Software Architects Write Code? - <AUTHOR> http://www.disciplinedagiledelivery.com/should-architects-code/ <comment><USER2> At the end of the day your job as an architect is to magnify the productivity of the engineers. It is entirely possible to create an architecture that is intuitive, decoupled and resilient to changing requirements, but is downright laborious/unpleasant to work with.

One analogy that I like is to kitchen design. You can design a beautiful kitchen with lots of features and counter space using all the latest features, but if you don't cook you won't understand kitchen usability. For instance, counter space should be centrally located between the sink, trash disposal, refrigerator/cabinets and range. You also won't realize how important it is to have strong direct lighting over the counter space.

</comment><comment><USER3> First and foremost: if architects don't write code, they lose grasp on what works, what doesn't, and what level of details is necessary to implement the project.

It's like designing an engine without ever trying to build one. It's bound to fail miserably.</comment>


Ask HN: Recommendation for (re)learning Math Skills - <AUTHOR> I'm kind of an pariah in the CS world as I was unlucky enough to have multiple terrible math teachers as a kid and don't have what I would consider a strong math background. I've never really enjoyed math as much as I think I should, even though I've always loved programming and even 'math puzzles' from time to time.
I've noticed in recent years that my math skills are much higher than they should be considering my lack of major education in that area (College Algebra is about it). This has come up working with colleagues or just taking some fun online IQ tests where I scored highest in math even though I've always been led to believe I suck at it.
I'm wondering what HN readers would recommend to someone like me as a good avenue to relearn some basics and then move into areas I've only scratch the service of such as geometry and trig? <comment><USER2> Math is one of the best skill sets to have and especially powerful for cs. I recently took differential equations, but I hadn't had math in around 2 years. To brush up on my trig identities needed for the calculus and also for a review of some of the basic formulas needed in calculus, I used <http://sosmath.com/>. I went through and made notes on what I learned, did a few practice problems, and within around a week I was good to go. It covers everything from algebra to diff eq. Hope it helps you as much as it helped me.

</comment><comment><USER3> Steve Yegge has a blog post titled "Math For Programmers" which discusses this topic. Here is an excerpt from the post:

"1. Math is a lot easier to pick up after you know how to program. In fact, if you're a halfway decent programmer, you'll find it's almost a snap.

2\. They teach math all wrong in school. Way, WAY wrong. If you teach yourself math the right way, you'll learn faster, remember it longer, and it'll be much more valuable to you as a programmer.

3\. Knowing even a little of the right kinds of math can enable you do write some pretty interesting programs that would otherwise be too hard. In other words, math is something you can pick up a little at a time, whenever you have free time.

4\. Nobody knows all of math, not even the best mathematicians. The field is constantly expanding, as people invent new formalisms to solve their own problems. And with any given math problem, just like in programming, there's more than one way to do it. You can pick the one you like best.

5\. Math is... ummm, please don't tell anyone I said this; I'll never get invited to another party as long as I live. But math, well... I'd better whisper this, so listen up: (it's actually kinda fun.)"

Here is a link to the full blog post:

[http://steve-yegge.blogspot.com/2006/03/math-for- programmers...](http://steve-yegge.blogspot.com/2006/03/math-for- programmers.html)

</comment><comment><USER4> Check out the book series Art of Problem Solving.

Edit: There is also a book called Art and Craft of Problem Solving which is unrelated to this series but which is worth checking out too, despite the fact that it is not exactly what you are looking for.

<comment><USER5> Is this the series you're referring to?

<http://www.artofproblemsolving.com/>

<comment><USER6> Yep, that's it.

</comment></comment></comment><comment><USER7> Take a look at the MIT Open Courseware math classes. These are particularly good when you're on the train. You can find them online on Youtube, iTunes U, or at their site:

<http://ocw.mit.edu/courses/mathematics/>

Understanding calculus helps you to understand the relationship between functions, which is very useful with doing FP-like things in your code.

</comment><comment><USER8> <http://homepages.cwi.nl/~jve/HR/>

I'd recommend this one: The Haskell Road to Logic, Maths and Programming -- would fit best if you'd also have an interest in Haskell/FP, but it's also a good introduction to formal proofs -- might be a bit too basic if you're interested in higher maths, tho, but a good starting point for math education.

</comment><comment><USER9> www.khanacademy.org

<comment><USER10> Can't recommend this highly enough. Am using it to teach my 9 year old daughter trig over the summer; I dip into it every other week or so (last week to re-remember polar coordinates, for instance).

<comment><USER11> I applaud you for teaching your daughter trig. Nobody has ever "taught" me trig and I have to constantly (re)look up identities and such.

<comment><USER12> You can derive trig identities yourself using Euler's formula. This is a fun hack, easily worth the couple of hours you'll spend getting to understand it.

</comment></comment></comment></comment><comment><USER13> I'd pick something you want to do or understand that clearly requires some sort of math, and figure out what you'd have to learn to do that. Math is enough of a grab-bag of fairly different things, especially at the intro level, that I find it easier to wander through with some sort of direction--- so I have some reason to want to learn _this_ particular bit of math, as opposed to randomly choosing subjects (i.e. should I learn some combinatorics, or some differential equations?).

</comment><comment><USER14> Firstly, what's the purpose of you (re)learning math? Do you care to make use of the math? Or do you want math to become a hobby of yours?

Most math in math books is pretty useless in terms of practicality and enjoyment. I would bet that you've always had an appreciation for math but the math curriculum you went through destroyed any chance of you enjoying it.

I'd say you should think of (or find) problems you think would be fun/useful to solve, and then learn the math required to solve them. In the process you'll probably find you don't understand certain concepts, but you can always go back and learn those until everything begins to make sense.

Be in control of what you learn.

</comment><comment><USER15> Practice. Practice, practice, practice. The most important thing to realize is that math isn't just a body of knowledge, but also the skill of applying that knowledge. Example: Memorizing a bunch of trig identities will not let you integrate crazy trigonometric functions. You need to be able to figure out which identities you ought to apply to push your crazy function into an integrable form. The identities you can look up from a book when you need them. The important skill is applying the identities you have.

This ability, to see the direction you need to go from the pieces that you have and the goal you want to achieve, is the most transferable skill that mathematics will give you. And you can only get it from practice. Get actual textbooks, with practice problems. Preferably, get the teacher's edition, or one with the answer to odd-numbered problems in the back so you can check your work. And when you make a mistake, don't just correct it, go back and figure out why you were wrong and why the answer is correct, because that's often one of the most instructive activities you can do.

You probably already know that any given level of math builds on knowledge and concepts from previous levels. Depending on the speed of progression, it's often necessary not just to know the preceding knowledge, but to master it. The lower-level stuff has to be downright trivial if you want to focus on higher-level stuff. It's simply not possible to do, e.g., line integrals in the complex plane if you have to stumble through basic algebraic manipulations like canceling variables while you're doing it[1]. The converse of this, is that you often master important math concepts by using them as the foundation for something more abstract, because only then do you see why they were so important.

Anyways, enough generalities, time for specific subjects. Geometry isn't very important, but trigonometry becomes important, especially because it's related to exponents which are super-critical. Learn trig. Then, learn linear algebra (matrix maths). Then, find a course or book on discrete mathematics, which usually means intro-level number theory, graph theory, and combinatorics. Calculus is worth picking up at some point. It's not as important to a programmer as to a physicist or engineer, but it is foundational to several other areas, and shows up in the damndest places. Simple single-variable calculus is probably sufficient, and focus on what an integral represents rather than how to compute one. After that, the two interesting paths are analysis (and topology), and algebra.

[1] It's a lot like learning a new language in a different alphabet, which is something I'm doing right now. It's really hard to deal with important concepts like characterization and tone when you can barely fit three letters in your head at the same time, much less a whole word (that you have to look up), much less an entire idea.

</comment><comment><USER16> Math takes a lot more persistence than other stuff. It feels like slow going, but the key is to just stick with it. It's OK if it takes you a long time to solve a problem. Even though you'll feel like you're doing badly you'll quickly make progress (in retrospect).

Anyway, that's been my experience.

</comment><comment><USER17> I've had a similar interest lately, to freshen up on some higher maths that I've studied in school and mostly forgotten due to lack of use. Calculus, linear algebra, statistics; I feel like it would be good to review some cliff notes, but not sure of a good source.

</comment><comment><USER18> For geometry and trig perhaps high school math books are the best resource.

What do you mean by college algebra? Do you mean abstract algebra, like group theory? In any case geometry and trigonometry is a prerequisite for college level math.

</comment><comment><USER19> I had d- grades in hs algebra but I was lucky enough to find a very cool Polish Math Professor in college that got me into kicking ass in math..A+ all math courses in college often at 8 and 12 credit hours during summer 8 and 12 week sessions..

The key is working wide range of problems and feedback. You get both of those than you will pick up fast. Part of that feedback is self invented..graph everything..</comment>