Apple meets California officials to discuss self-driving car - <AUTHOR> http://www.theguardian.com/technology/2015/sep/18/apple-meets-california-officials-self-driving-car <comment><USER2> Interesting; I wonder if they'll actually attempt to go to market with this thing or if it's just one of their many experimental projects that never sees the light of day. I'd love to see more competition in this space regardless.

</comment><comment><USER3> I am just wondering, could Apple's partnership with IBM got them access to TrueNorth chips to gain competitive advantage against Googles car?

<comment><USER2> While that makes sense on paper, in practice do those chips provide better support for networked, autonomous activities? I haven't heard much about their usages just some PR things about them so I'm genuinely curious.

<comment><USER4> The machine learning people I know have been very unimpressed with it. From the little I understand, it cannot run the style of neural network that have been breaking records.

<comment><USER2> Hmm that sounds unfortunate. I'll have to try to look into it further because I didn't even know about them before and they sound really interesting.

</comment></comment></comment></comment><comment><USER5> To me it feels Apple and Uber are years behind Google. Today it's not very difficult to build a self driving car. But over the years Google developed a gigantic network of all kinds of data used by the cars.

</comment><comment><USER6> It's just normal now for huge companies to meet with government "regulators" who have the power to empower or disable their business model and that of their competition.

<comment><USER7> How else do you propose new technology become legal if not by meeting with government regulators to promote change? You can't just sell self driving cars because you want to, the law must first be addressed.

<comment><USER6> I propose that "legal" is the default state for new inventions.

The time and manner of invention and evolution do not yield to government nor even recognize its purview. I think it's becoming clear to all of us that the internet will not abide government and I really don't want it to have to come to a head in the form of violence.

Think about it this way: Seven generations hence, do you really think that internet will be a triviality to be 'regulated' by cronies?

<comment><USER8> > I propose that "legal" is the default state for new inventions.

This is a pretty ridiculous concept.

It would just encourage dodgy entrepeneuers to rapidly produce disruptive products without any care for safety or public benefit. Some things need to be thoroughly tested before releasing them into the public e.g. milk formulas, vaccines, cars otherwise they could kill masses of people before anyone has a chance to stop it.

And in fact a place already exists with lax regulations: China. And look what's happened there over the last few decades. So bad in fact that the public desperately looks to Western countries for food and health products.

<comment><USER6> Just so I understand: You are holding up _China_ as a refuge from totalitarian tendencies?

<comment><USER9> When it comes to economic rules, China went from a centrally-controlled economy to a shockingly unregulated (by Western standards) market economy. If you want to speak up against the government you're out of luck, but if you want to sell baby formula without inspections it's much easier than in the States.

<comment><USER6> I'm saying: obviously China, which is an environment of dreadful rights of expression of all sorts, is not a good example of the potential of innovation sans government.</comment></comment></comment></comment></comment></comment></comment>


Hidden Bias in Tech Survey $10 Amazon giftcard - <AUTHOR>

IT Eng/Managers & start-up employees Take an anonymous survey http://bit.ly/gOhYJd, get $10 Amazon giftcard & enter to win iPad! <comment><USER2> It's a very interesting survey. Looking forward to the results.

The hiring manager in the video reminds me a lot of people I've worked with at other companies.</comment>


Mechanized LambdaJS - <AUTHOR> http://brownplt.github.com/2012/06/04/lambdajs-coq.html#posts-content <comment><USER2> This is really interesting. I'm quite curious what they've left out of their reduced subset of javascript, but unfortunately I don't have the time to dig in right now.

Has anyone else taken a tour through their codebase?

Actually, what the hell, I'll download haskell, run their interpreter, and see about getting the underscore.js test suite to run.

<comment><USER3> It's not so much a reduced subset as a kernel language: the full ECMAScript Edition 5 language can be translated down to the kernel language, so in principle they can actually model the behavior of any program that the language defined by the standard admits.

There have been a few attempts to formalize the semantics of JS, but the lambdaJS approach is the most practical: by factoring out the incidental details (the "syntactic sugar") as a translation ("desugaring") to a kernel language, any work you do on the formal semantics of the language only has to focus on the smaller kernel.

This is also a really practical way to approach building tools for JS, like static analysis: if you design a single desugaring pass as a translation, then you can build a whole bunch of tools on the kernel language. Same idea roughly as the standard compilers approach of translating to an IR.

<comment><USER2> Sure, I took it to be akin to the way that coffeescript maps down to JS, they're mapping JS down to LambdaJS.

But that said, having read through their blog posts, I was under the impression that their interpreter doesn't in fact support all of the SpiderMonkey test suite, and so, as a practical matter is still only supporting a subset of JS.

My attempts to get underscore working have been unsuccessful thus far (the debug info isn't terribly useful, not knowing their codebase).

<comment><USER4> It looks like the λJS has an issue parsing some of the escape sequences in underscore.js; it's a bug in WebBits parser that version uses.

Another implementation of the core semantics + desugaring approach, dubbed S5 (<https://github.com/brownplt/lambdas5>), is better engineered and actually uses SpiderMonkey's parser to handle more programs.

S5 runs underscore.js without any issues. Do give it a shot if you're still interested in trying things out.

Also, it's worth mentioning that S5 handles features of the new ECMAScript 5 specification, like strict mode, getters and setters, and new APIs, that the original λJS simply doesn't handle, so it's a much more complete account of JavaScript.

<comment><USER2> Thanks for the info :)

I lament that HN has lost its way enough that this thread didn't make it anywhere near the top of the homepage.

</comment></comment></comment></comment></comment><comment><USER5> It's amazing how similar Javascript and Lua are. For example, the following three statements are equivalent:

        > JS:   { x : 2 + 3, y : 9 }["x"]  * (11 + 23)
        > Lua: ({ x = 2 + 3, y = 9 })["x"] * (11 + 23)
        > Lua: ({ x = 2 + 3, y = 9 }).x    * (11 + 23)

</comment><comment><USER6> this seems hilarious before my morning cup of coffee and before getting ready to dive into a real world Js project :) : "We say "agreed" and not "passed" because SpiderMonkey fails some of its own tests. Without any other standard of correctness, λJS strives for bug-compatibility with SpiderMonkey on those tests."

</comment><comment><USER7> This looks really interesting but I don't have the background to understand it. What is going on here?

<comment><USER8> λJS is a mathematically formalized version of (a subset of) JavaScript. It is not like a traditional mathematical definition (computer scientists often use a tool named "operational semantics" to greatly simplify this stuff) but nevertheless can be analyzed as like a mathematical one. To the extent that they claimed to prove the soundness, i.e. any well-formed program which λJS thinks to be valid should not go other ways that λJS does not allow. This forms a basic premise that can be used to analyze λJS program (and hopefully, actual JavaScript program).

Of course, this holds when λJS is really correct and a good model for JavaScript. Unfortunately they have found that there is a severe hole left in λJS _after_ they had a (now wrong) correctness theorem. In light of this problem, they now mechanically proved that there are no more holes left in λJS. Unlike a hand-written proof a mechanized proof can be verified by a relatively simple[1] program, so you don't need to believe yourself but just the program. As mechanized proofs need to describe every detail, this is not a simple task, and that's what they did.

[1] A lot simpler than the actual human.

<comment><USER9> Thanks for the attempt to explain. However, it's slightly off on several fronts, so I'd like to set the record straight.

I don't know what you mean when you say it's not a "traditional mathematical definition". It's both traditional and mathematical enough.

An "operational semantics" is not necessarily a simplification. Whether or not it's a simplification is a function of what you are specifying.

We chose a route whereby a compiler reduces all of JS to a simpler language (λJS) and then provided an operational semantics for that simpler language. Neither is this non-mathematical nor is the simplification inherent to an operational semantics.

Your restatement of soundness contains dangerous words that have other, technical meanings (like "valid") and is also not quite right. The soundness being proven here is called "untyped soundness", and it simply means "the semantics didn't forget any cases that should have been defined". Perhaps that is what you meant to say, but I'd suggest this way of saying it is a lot less obscure.

Our previous formulation missed a few cases. The cases were sufficiently obscure that all our prior testing and use did not catch them. So I'd say this hardly warrants the label "severe". You can see the sum total of change here (the link was in the original post):

[https://github.com/brownplt/LambdaJS/commit/9a7e67ab896c8db3...](https://github.com/brownplt/LambdaJS/commit/9a7e67ab896c8db3f12cdfe3aa6fe74e192b1b00)

Also, our previous attempt to confirm untyped soundness was not hand-written. It too was mechanical, but it used a state-exploration strategy. This caught lots of problems, which we fixed, but because it could not explore the state exhaustively, it missed a few that we hadn't noticed. The strategy in this post explores the state exhaustively (through a proof-assistant).

Hope that clarifies.

<comment><USER8> Thank you for the clarification. I've certainly oversimplified things too much, as my explanation was intended for layman (for example, I did not bother about the technical meaning of "valid" and "correct"). The word "traditional" meant that most people without PL knowledge would not have seen that (albeit the structural definition is far more basic than many other kinds of definitions). In the other hands, I forgot that the claim described in Section 3 of the ECOOP paper does not use a hand-written proof---I think the paper utilizes a handful number of other hand-written proofs, however.

Having tried to augment and test λJS myself, I'm very glad to hear that it is now fully mechanized. Keep up good work, :-)</comment></comment></comment></comment>


Reznor's Innovative Run Continues With Nine Inch Nails iPhone App - <AUTHOR> http://blog.wired.com/underwire/2009/04/trent-reznor-wa.html <comment><USER2> It would be great if a startup could help artists emulate the process that Trent has pioneered. A few artists are really using the internet to connect with their fans and make a living, but it seems to be individually reinvented by each artist.

<comment><USER3> There are tons of these. They're the same ones that NIN is using. Youtube, Wordpress, Feedburner, Facebook, etc... The rarity is a musician with the tech savvy (or the money to hire the tech savvy) to pull it off.</comment></comment>


Why does the junk food we love have to be so bad for us? - <AUTHOR> http://getunreal.com/our-story/

<comment><USER2> I'm betting that these products will be pricey compared to the junked alternatives. I think one of the major hurdles in getting people to eat healthy foods is that people with limited resources (time/money) are more likely to eat foods that are high in calories and cheap/fast to prepare.

Nice site design (built using WordPress to boot).</comment>


SpaceX nails triple booster landing after satellite delivery - <AUTHOR> https://www.bbc.com/news/av/science-environment-47903788/spacex-nails-triple-booster-landing-after-satellite-delivery <comment><USER2> This really looks good for launch costs long-term.

The Heavy costs $90 million per reusable launch with a 64,000 kg payload, or $1400 per kilogram.[1]

Current versions of the Falcon 9 and Heavy can fly ten times with virtually no refurbishment between flights.[2] The only part they throw away is the $7.5 million upper stage.[3] Their expendable cost is $150M and they haven't really started reusing yet, so if they actually reuse each rocket ten times, they have a lot of room to lower prices; ten launches would be $($150M - $7.5M) + ($7.5M * 10) = $21.75M per launch, or $334/kg for the rocket itself. Launch cost won't be quite that low because they also have labor, fuel, and so on, but it looks like they can get well under $1000/kg just with the Falcon Heavy.

The larger and fully-reusable BFR should do even better.

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

[2] [https://www.space.com/spacex-falcon-heavy-triple-rocket- land...](https://www.space.com/spacex-falcon-heavy-triple-rocket-landing- success.html)

[3] [https://www.nextbigfuture.com/2019/04/spacex- recovered-6-mil...](https://www.nextbigfuture.com/2019/04/spacex- recovered-6-million-fairings-so-falcon-heavy-will- be-92-reusable.html#more-155979)

<comment><USER3> the fully reusable falcon heavy can IIRC only lift about 8000kg to LEO. expendable is volume-limited but if you want to lift a concrete block, you can :)

<comment><USER4> Reusable is 8000kg to GTO, not LEO. LEO performance in fully reusable configurations is 30+ tons.

<comment><USER2> So assuming 32 tonnes it's $668/kg for the hardware (assuming full payloads).

Probably also have to build in enough slack for occasional failed landings, but we don't know yet what the failure rate will be after the kinks are worked out.

<comment><USER4> You'd be hard pressed to fit 32 tons inside Falcon Heavy's fairing. It's far more likely to be volume constrained than mass constrained when flying to LEO.

<comment> grey-area That could bring satellite costs down a lot though - if launches are cheap and not weight limited a cheap steel frame satellite with heavy solar panels becomes feasible - all the old rules about building to optimise weight and not price go out the window.

I wouldn't be surprised if spacex also enter the satellite building business after mass producing starlink.

<comment><USER2> And that makes solar power satellites more feasible, especially with the BFR.

Musk has expressed skepticism, famously asking "what's the conversion rate?" The answer is that microwave transmission is 40% efficient with today's technology. This isn't bad considering that average daily sunlight in geosynch is five times higher than on the ground,[1] and you don't need much storage or backup.

The early SPS designs were hugely expensive monolithic beasts, but current designs use lots of identical parts (of several varieties) that self-assemble in orbit, so you get economies of scale with factory production.

A year ago I read the book _The Case for Space Solar Power_ [2], which broke down the costs in detail. With pre-SpaceX launch costs they got 15 cents/kWh, including manufacturing and ground stations. I plugged in the BFR cost Musk was claiming (I think I used $50/lb) and got about 4 cents/kWh.

[1] [https://en.wikipedia.org/wiki/Solar_irradiance#Irradiance_on...](https://en.wikipedia.org/wiki/Solar_irradiance#Irradiance_on_Earth's_surface)

[2] [https://www.amazon.com/Case-Space-Solar-Power- ebook/dp/B00HN...](https://www.amazon.com/Case-Space-Solar-Power- ebook/dp/B00HNZ0Z96)

<comment><USER5> Hmm, what's the cost to put solar panels in heliocentric orbit? Dyson spheres anyone?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Not only that, but apparently they recovered both fairings: [https://www.google.com/url?sa=t&source=web&rct=j&url=https:/...](https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.teslarati.com/spacex- falcon-heavy-fairing-recovery- starlink/amp/&ved=2ahUKEwjojrSJwsrhAhVkiOAKHdmCDVYQyM8BMAB6BAgFEAQ&usg=AOvVaw1M3yDSNH7xzYKQG9Hcdd1Z&ampcf=1)

So 5 out of 5...

<comment><USER7> I guess salt water isn't that much of an issue after all?

<comment><USER8> Yea, I wish we'd get a more detailed explanation of the accounting on this. For all I knew it was totally plausible that fairings would be destroyed by sea water, and it was also plausible there'd be no damage. The part that confuses me is why they would spend so much effort trying to catch them with Mr. Steven if they are in fact serviceable after a swim. Maybe the idea is that salt-water refurbishment-and-reuse saves a bit of money compared to expendable, but mid-air-catch would have saved more but turned out to be too difficult?

<comment><USER9> I think their customers would be more comfortable with (re)using a Caught fairing, so that was Plan A. Also not all fairings are the same. Most have acoustic blankets and other components that need to maintain strict ratings. Remember, many payloads are more expensive than the rocket and the fairing requirements are usually margined-up by the satellite manufacturer to avoid blame for failure.

</comment></comment></comment></comment><comment><USER10> There's a great media thread on reddit where people post their own photos and videos: [https://www.reddit.com/r/spacex/comments/bbhz9a/rspacex_arab...](https://www.reddit.com/r/spacex/comments/bbhz9a/rspacex_arabsat6a_media_thread_videos_images_gifs/)

Here's a great video of the entire flight and landing of the side boosters in one shot, made with custom tracking software: [https://www.youtube.com/watch?v=cEZZkEXAD6Q](https://www.youtube.com/watch?v=cEZZkEXAD6Q)

<comment><USER11> The boostback burns in that video are amazing. Lots of dynamics in what looks like a shock-induced interface of the rocket exhaust and hypersonic atmosphere.

</comment></comment><comment><USER12> Nice video capturing the sonic booms from the booster landings here: [https://twitter.com/jefffwilliams/status/1116486329284595717](https://twitter.com/jefffwilliams/status/1116486329284595717)

<comment><USER13> Yep, shared that with the office and family. That's amazing. It really does feel like the future.

</comment></comment><comment><USER14> Big fan of making technical spacecraft manoeuvres sound like cool skateboard tricks.

<comment><USER15> I'm more impressed by the booster landings though :-)

Seeing a launch/landing in-person is on my bucket list.

<comment> Joe-Z I saw the live stream yesterday and when the two side boosters landed side-by- side synchronously it was almost as if it was out of a movie. We are living in the future!

<comment><USER16> On this launch, it looks like they offset the timings to reduce the chance of tipping over.

If you get time, go look for the first FH booster landings. The timing is almost perfect and the long exposure images looked beautiful.

<comment><USER17> >On this launch, it looks like they offset the timings to reduce the chance of tipping over.

On reddit a lot of people enphasised that it was to avoid interference. Which interference, no one knows.

<comment><USER18> Incorrect. _Gift that you give to me_ , no one knows,

</comment></comment></comment></comment></comment></comment><comment><USER19> Every single time I watch a successful SpaceX launch I get chills and also get so excited. Congrats to everyone who has worked on this.

</comment><comment><USER20> I was at Kennedy Space Center's Apollo/Saturn V viewing site for this launch and it was amazing. If you ever have the opportunity to be there for a Falcon Heavy launch, do yourself a favor and go. It's quite an experience and totally worth the money.

<comment><USER21> Yeah, if you have a week of free time. I planned to go this weekend but chickened out at the last second-turned out in my favor since they launched yesterday, four days after the original date.

<comment><USER20> Yes, there may be delays or they may postpone the launch. I went on Wednesday and decided to stay one more day for yesterday's attempt and I am so glad I did. It was worth it.

</comment></comment></comment><comment><USER22> Here's the video cued up to the booster landings: [https://youtu.be/TXMGu2d8c8g?t=1643](https://youtu.be/TXMGu2d8c8g?t=1643) with the main core landing a few minutes later.

If it's not obvious, the main core landing was much harder this time around, because of how fast it was going due to the two boosters imparting a lot of extra speed on it before they separated. If you think about it, it'll have somewhere between 1x and 3x the velocity of a normal Falcon 9 core

<comment><USER23> It doesn't necessarily make it harder. There's a burn to slow the booster down for re-entry, and having the side boosters do a lot of the work means more fuel / delta-v can be saved to slow the core booster.

The FH is apparently capable of 8,000kg in a reusable GTO launch ( [https://en.wikipedia.org/wiki/Falcon_Heavy#Capabilities](https://en.wikipedia.org/wiki/Falcon_Heavy#Capabilities) ), and this satellite was only 6,000kg. So it looks like there would be plenty of fuel available to slow the core down well below the survivable maximum.

<comment><USER24> It's the same steps but it is harder, the center booster was going faster than any other core that has been recovered. The recovery itself was ~300 miles further out than any other recovery.

Swinging a bat at a 10mph ball is the same technology as swinging at a 90mph one. I don't think anyone would say that they were equally as easy.

<comment><USER23> My point is that it's less a question of technical difficulty / tolerance, but more fuel / delta-v / mass cost.

In the case of a bat swing, to bat the ball faster, your muscles need to be stronger, and the ball and bat need to withstand greater pressures. In the case of a vehicle travelling through space / thin atmosphere, it only needs more fuel to burn to slow it down. Analogously, you don't parallel park a car from 70mph, having travelled somewhere on a highway.

Here's a graph a booster's speed over time, showing the reentry burn: [https://i.stack.imgur.com/xFYIh.png](https://i.stack.imgur.com/xFYIh.png) ( from [https://space.stackexchange.com/questions/20246/what-is- this...](https://space.stackexchange.com/questions/20246/what-is-this-debris- on-the-crs-10-reentry-at-t630) )

</comment></comment></comment></comment><comment><USER25> Can we finally stop having sci-fi films in which the whole outcome of the movie is solely determined on some heroic manual flying of a spaceship while simultaneously using manually aimed weapons like it's World War II?

<comment><USER26> The Apollo 13 astronauts would like to share a couple of anecdotes with you.

<comment><USER27> Apollo 13 (the movie) had plenty of careful checklist readbacks and minimal explosions or shaky cameras. Most scifi is more like Michael Bay in space. See Gravity for a more egregious example of a movie that tries to play itself off as "hard scifi" but ends up just being an over the top action movie.

<comment><USER28> Yeah, The Martian is like, the hardest sci-fi book I've ever read, but I found the film adaptation... lacking

</comment></comment></comment></comment><comment><USER29> I find this, and SpaceX, so inspiring. It's easy to feel that technology just moves itself forward. After all there are billions of people on Earth with people working on a countless array of different problems. And each day things seem to move forward, almost inexorably so. And so it's easy to feel that the value of the individual is really relatively low.

Yet imagine a world where Elon did not exist and thus SpaceX did not. Much of what he's done is stuff that we could have been working on decades ago. For some time we were. NASA as early as the 70s had already laid out plans for a Mars expedition including a tremendous space ship that would be assembled and fueled in orbit to take 5 man crew on a 600 day manned expedition to Mars, including landing of rovers similar to the moon.

Those plans got canned by Nixon, and space never really recovered. Not only did we not "inexorably advance" in space, we regressed. Today we're struggling to do a manned flyby of the Moon - when we went to having barely put a man in orbit in 1962, to putting a man on the moon in 1969. The point of this is that technology does not advance by itself, let alone inexorably so. I think it's extremely likely that had SpaceX not come to exist, it's entirely possible that we would still be effectively where we were at near the turn of the century.

Progress of our species, in spite of there being billions of us, is still dependent upon the individual. And SpaceX's plans have very much followed the old quote of Gandhi, "First they ignore you, then they laugh at you, then they fight you, then you win." But of course we've not yet won. As remarkable as this achievement is, it's but the starting line for where we need to be. And that line will not move forward unless we move it forward. But "we" does not mean waiting for somebody else to do so. As SpaceX and Musk have demonstrated, it's ultimately up to the individual to get up and move that line forward -- for the betterment of all.

<comment><USER30> if you want to talk inspiring, consider Gwynne Shotwell. She's tasked with turning Musk's crazy ideas and timelines into reality. I can't imagine a tougher job and she's killing it.

<comment><USER28> I always read about Musk like he does the whole thing on his own. Never read about all the engineers that work their asses off to achieve these results

<comment><USER31> The way I see ot, ot goes both ways. He has taken a lot of shit for Tesla,SpaceX so obviously when something good happens then too he gets a lot. The dynamic is a bit similar to actors/actresses in movies. If it flops, nobody is blaming the makeup artist,dialogue writer. Btw, i do find some things related to Elon's life overglorified(those parts do not involve SpaceX,Tesla) BTW, read this thread about Tom Mueller. [https://mobile.twitter.com/mekkaokereke/status/1081619342377...](https://mobile.twitter.com/mekkaokereke/status/1081619342377156608?lang=en)

Really inspiring. This thread got picked up by many news sites. I just googled "spaceX engineer lumberjack" to find this.

</comment></comment></comment></comment><comment><USER32> Large existing discussion at [https://news.ycombinator.com/item?id=19639965](https://news.ycombinator.com/item?id=19639965)

<comment><USER33> For some reason the discussion in this thread is far better than the earlier one you linked.

</comment></comment><comment><USER34> I wonder how they do the booster landings?

Is it precise modelling and standard control algorithms, or something more exotic like neural networks?

<comment><USER35> It's done using convex optimization

[https://www.nap.edu/read/23659/chapter/10#39](https://www.nap.edu/read/23659/chapter/10#39)

<comment><USER36> How is "booster landing" mapped to a convex optimization problem?

<comment><USER37> Lars Blackmore, who works for SpaceX, has a page about the techniques that are used here:

[http://www.larsblackmore.com/losslessconvexification.htm](http://www.larsblackmore.com/losslessconvexification.htm)

See also: [https://www.aa.washington.edu/facultyfinder/behcet- acikmese](https://www.aa.washington.edu/facultyfinder/behcet-acikmese)

<comment><USER38> Can anyone give a ELI5 (for developers) of how this technique works?

<comment><USER37> The control parameter space for the rocket is non-convex because, for one thing, it can't be throttled down close to zero thrust. You can think of the parameter space as having a hole in it. An optimal control algorithm might want to make very delicate low-thrust corrections, but that's not possible.

This technique is based on "the idea of relaxing the nonconvex control constraints to a convex set in such a way that the optimal solution to the relaxed problem is guaranteed to be the optimal solution to the original problem."

By "relaxing", what they mean is that the new model (the convex set) actually contains some parameter values that aren't achievable, but OTOH it is geometrically susceptible to being analyzed by an efficient optimization technique. So it's a clever replacement of a hard problem with an easier one. The complex bit, which I don't understand, is how they show that this replacement will always give the same value as if they had solved the (real) hard problem, i.e. that the solution will never actually use the "illegal" parameter values.

Maybe someone else can give more insight.

<comment><USER39> I read a paper on this—it's convex because any optimal trajectory will have the engines at full throttle whenever they're on, so they just fill up the parameter space, confident that illegal values will never be required.

<comment><USER30> can you link to the paper please?

<comment><USER37> I don't know which paper they mean, but here's a relevant paragraph from one of the papers available from Blackmore's page:

"In this paper, we unify the convex optimization approaches of [1], [2], [17] and extend them to handle thrust pointing constraints. While convexifying the problem with nonconvex thrust pointing constraints, we develop a geometrical insight into the problem that establishes a connection with "normal systems" [18]. A normal linear system is defined in the context of optimal control theory where the system is said to be normal with respect a set of feasible controls if it maximizes the Hamiltonian at a unique point of the set of feasible controls. In the case when the set of feasible controls is convex, a system being normal implies that the Hamiltonian is maximized at an extreme point of the set [18]. Our convexification result has a similar geometric interpretation since it establishes lossless convexification by ensuring that the Hamiltonian is maximized at the extreme points of a projection of the relaxed set of feasible controls. This set is then shown to be contained in the original nonconvex set of feasible controls, thereby estab- lishing that we can obtain optimal solutions of the original nonconvex problem via solving its convex relaxation."

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER40> I wonder what emergency procedure is in place in case the landing is off- course. Does it blow itself up?

<comment><USER41> As far as I understand, the Flight Termination System is safed before the landing burn. It's more dangerous to have it potentially still active after landing. So at this point it can't blow itself up anymore.

Until the last moment it also doesn't target the barge itself, but slightly to the side. Only very shortly before landing does it correct the target to the actual landing position. So in most cases it would simply hit the water instead of anything else when there is a major issue.

<comment><USER42> If you watch the livestream for yesterday's falcon heavy launch on youtube the second camera angle is a rendering showing trajectory, and you can actually see the center core adjusting closer and closer to the droneship with each step as it gets more confident that it's able to land safely.

</comment></comment></comment><comment><USER43> Can someone explain why reusable mode can't lift as much?

<comment><USER4> Because it has to reserve fuel for landing.

</comment></comment><comment><USER44> Am I going mad I only see two booster landing in the video?

<comment><USER45> On the live stream, the video feed cut out for the landing of the third (middle) booster.

<comment><USER46> This almost always happens. It's really hard to keep a stable satellite connection, while a 150ft. booster is blasting the deck with the exhaust from 3 firing rocket engines.

<comment><USER4> It doesn't fire all three engines down to the deck. The landing burn starts with one engine (in order to have more control authority when the two outboard engines start up), then two more engines get lit, then they shut down shortly before the actual landing (reducing the TWR makes the landing a bit easier).

</comment></comment></comment></comment><comment><USER47> The way the text appears with a downward-drawing red line really steals my attention. There are rockets on screen and I kept having my eyes avert to the fragmented text in the bottom left corner. I had to watch the video twice to keep my eyes on the rockets. I'm thinking of the UI/UX implications, subtle and effective.

<comment><USER48> It's just a newsflash, the rockets themselves are a backdrop.

For the real thing, watch the SpaceX video directly from YouTube: [https://youtu.be/TXMGu2d8c8g?t=1181](https://youtu.be/TXMGu2d8c8g?t=1181)</comment></comment>


Quantum entanglement demonstrated on tiny CubeSat in orbit - sahin-boydas https://newatlas.com/telecommunications/quantum-entanglement-cubesat-spooqy1/ <comment><AUTHOR> Wow. Here we are debating encryption with flawed logic in the US Congress, while space is becoming a platform for unbreakable encrypted communication. Can't eavesdrop on a quantum uplink. Interesting dichotomy.

Cubesats are within reach of almost any country. We a decade away from every country in the world being able to have access to unbreakable comms.</comment>


Show HN: Isolate – 2FA(OTP) SSH bastion host - <AUTHOR> https://github.com/itsumma/isolate <comment><AUTHOR> the bastion host was our inside project as we manage thousands of servers and somehow need to manage access to them. opensourced a week ago, now in active development. any questions, feedback - <USER2>

<comment><USER3> What about servers behind endpoint server, inception-style, ssh from ssh from ssh. Are these managed somehow?</comment></comment>


Front-End Developer Handbook - <AUTHOR> https://frontendmasters.com/books/front-end-handbook/2018/ <comment> jpd- "A developer who can code the front-end, back-end, API, and database isn't as absurd as it once was (excluding visual design, interaction design, and CSS). Still mythical in my opinion, but not as uncommon as it once was."

I see this attitude expressed a lot among people who identify as "front end" developers and it seems like psychological projection to me. I would count myself and a number of close friends and associates as these mythical "full stack" developers so (in my circle) I don't think it is uncommon at all.

One thing I have noticed (again, in my circle) is that "front end" developers tend to start learning with front end development and are commonly self taught, while "back end" guys are more likely to have a degree and start with something enterprisey like .NET or Java. From what I've seen, back end guys have a much easier time moving to front end than vice versa.

<comment><USER2> Are you able to fully configure webpack? Do you know how to animate with CSS? Do you know Greensock? Three.js? Babel? The differences between ES5,6,7? Co.js? ES generators? Webassembly?

Being able to hack out a little Js and css to make an Enterprise dashboard imo does not a front end or full stack developer make.

I have one of those 'college degree' thingys and I'll tell you something....imo CORRECT front end development is way more challenging than back end development.

<comment><USER3> That's a nice set of buzzwords but nothing complicated. Babel is just a transpiler. ES versions are like any other programming language with versions, use Babel to solve. ES generators are just yield functions that have been around for decades and finally getting to JS. What about webassembly? It's just a compilation target for other languages and delivery format for the browser.

And why is configuring webpack always mentioned as a complicated thing? If you can code all the above then why cant you make a simple javascript app return an object following a schema with an input, output and list of loaders?

<comment><USER2> Of course! Databases are just more complicated spreadsheets! And puppet is just scripts that configure servers. And encryption is just a few math equations that mask data.

Man when you put it that way I just realized how trivial all technology is!

Really anyone can do it without years of experience and training!

Who knows why the salaries are so high!

<comment><USER3> I'm not sure what the point of your comment is, but the large number of 3 month bootcamps that create frontend devs does seem to show that anyone can do it.

I'm calling out the fact that the things you mentioned and the concepts behind them are not unique to frontend and certainly not even that complex. All it means is that the frontend landscape is finally catching up to traditional backend languages and dev practices. We've had compilers, multiple language versions, and environment targets for a long time. We've had functional programming, event sourcing, actor systems, immutable data, and materialized views for a long time. We've used DSLs and full programming languages to create config objects and execution paths for a long time. We've had async and multithreaded programming for a long time.

None of this is new or suddenly challenging, which goes to the original point of this thread that backend skills tend to move much easier to current frontend dev than the opposite direction because of what's involved. I'm not sure how much backend experience you have, if any, but naming assorted buzzwords and claiming that configuring webpack is complex only seems to reinforce my comments.

<comment><USER2> Actually making things happen with the technologies is alot different than being able to spout general principles on how they work on the internet.

Your trivialization of these technologies makes me think you're possibly a first/second year computer science student who's never actually worked with any of them and mainly read a modern javascript overview page on the web or a rundown in a textbook. Or just a troll!

<comment><USER3> Ok... but again, what does that have to do with frontend vs backend which is what this thread is about?

The concepts define the complexity, and my point is that they are nothing new so why would frontend be harder when it's only catching up to backend environments? No amount of buzzwords changes that.

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> "A whole lot of developers adopt static type checking for mostly subjective reasons or band wagon emotions. Some sell out completely to Typescript and the Microsoft way of doing things while others take on a slower approach with Flow. One thing is for sure, most developers don't need types, they are simply complicating already complex problems and solutions. Like most things, most of this trend is subjective dogma not objective value."

Wow, biased much. I love JavaScript and ES6. But anything that I work with a team on or expect to live beyond a month or so, I love types for. Making a large refactor without types is the wild west. Types help provide structure/understanding about the data flowing through your system. And if you need to eject you can with Any. I used to prefer pure JS (or Python), certainly quicker to prototype, but also more difficult to grow and maintain. Tradeoffs in both directions. Such an amateur statement makes me question the rest of the document.

<comment><USER5> > Making a large refactor without types is the wild west. Types help provide > structure/understanding about the data flowing through your system.

If you're working on a large, unstructured project that you're trying to refactor, you're problem probably isn't with the types. It's that the people working on it used types as a crutch so that they thought it was okay to write classes that were thousands of lines long with giant methods that are impossible to make sense of.

The interview question I've been asking lately is about object design. I tell them not to put things into one big method—that it needs to be readable for junior devs. They always ignore me. The ones who struggle the most are the ones who try to do it in a staticly types language (which I'm sure you agree is crazy to use in an interview for a tiny problem). Their mental model forces them to think about types first, and they then can't think about anything other than that and just making the thing work.

If you aim to keep your objects and you methods small enough that anyone can read them and make sense of them, then you don't need static types and refactoring becomes easy. There are plenty of developers of mediocre talent who never use types and are able to build huge features and projects quickly and with high maintainability and flexibility because they write code that sticks to good object oriented design principles.

A class I work on regularly has become so big that everyone, especially the more senior, more talented engineers at my company are too afraid to touch, let alone try to refactor. It's stayically typed.

<comment><USER6> I don't know why you're conflating using a type system with writing large classes.

<comment><USER5> At question is whether the benefits of static typing outweigh their costs. From my experience (purely anecdotal) static typing provides a false sense of security that encourages bad practices, thus turning the benefits of types into costs themselves.

<comment><USER7> To me, that sense of security is not false (even 90% reliable is better than 0%). And to suggest that type systems are a contributory factor to developers writing functions/classes that are too large is completely unsubstantiated.

</comment></comment></comment></comment></comment><comment><USER8> The title should be Web Front-End Developer Handbook.

Native desktop, mobile, TV and infotainment systems are also front-end.

<comment><USER9> I don't understand why you're getting down voted, but this is absolutely correct and more specification is needed when it comes to "front-end".

I come from a traditional front-end background (for web) and I send many front-end jobs for my company RemoteLeads as well. Front-end is the most fragmented programming job category and I'm sure it's the one that gets the most applicants.

Companies will say they're looking for a front-end developer with JavaScript experience. In reality, they need an engineer. They need someone who understands Computer Science principles and can express that in JavaScript. But, because "JavaScript experience" can mean anything they'll get a lot of applications from Front-end Designers who are more on the HTML / CSS end of the spectrum.

And now with things like React Native it's getting even more complicated.

Ultimately, it's because knowing HTML, CSS, and JavaScript makes you such a powerful developer and you can do a lot.

To combat this the title has to be more specific. What do you need accomplished? Engineering? Design? It's not just front-end, be more specific.

Jerry Low put it best in his article titled The Death of Front-end Developers ([https://medium.com/@jerrylowm/the-death-of-front-end- develop...](https://medium.com/@jerrylowm/the-death-of-front-end- developers-803a95e0f411))

<comment><USER10> I read the Jerry Low article and comments.

On the front-end, I feel like you can group people into two categories:

\- Front-end/UI designer - UI specialist with HTML, CSS, wireframing and some JS skills

\- Front-end developer - JS engineer typically leveraging JS frameworks and Bootstrap

In the comments section of Jerry's article, it feels like there are a bunch of HTML + CSS specialist who need to re-position themselves as UI designers. They are being displaced by front-end devs who can leverage Bootstrap to do the bulk of the UI. They can work with a UI designer to put together the workflow and tweak the UI.

Jerry also states: "Even without the divide on the front-end I still hear lots of people claiming they're full stack developers — I guarantee they're not."

I don't understand his perspective here. If you work on the front and backend then you are a full-stack developer. If on the other hand, a full-stack developer claimed to be an expert on both the front and backend...then I would be wary.

<comment><USER11> Definitions are complicated, it feels like they should be static when the definition of what a front-end developer does is always changing as technology comes up with different mediums like smartphones, watches, VR, etc.

I've thought about this a lot and I would say something like this:

A front-end/UI designer is concerned about the _user_ interface with the application, that is, how a user interacts and utilizes an application.

A front-end developer is concerned about the _client_ interface with the application, such as what browsers support what and how you can work with that, screen sizes and how to best utilize them(can't have a full word processor and keyboard in a smartwatch), how do you flow data through the client in a way that it doesn't hog the system's memory or makes everything slow, tradeoffs between server-side and client-side rendering, caching, optimization, optimistic UI, unstable connections, progressive enhancement and graceful degradation, and much more.

Of course, this doesn't mean a front-end developer/designer won't have to dabble in both roles eventually.

</comment></comment></comment></comment><comment><USER12> Congrats to putting this together; I like it.

At the risk of preaching to the choir here, however, I feel like these days Web dev publications don't sufficiently focus on foundations (HTML, CSS) and jump to JavaScript-heavy solutions a little bit too early for my taste.

As a consequence, I frequently see Web dev newcomers ask questions such as "What framework should I use for (basic website)" when of course for the requirements at hand a simple static site will do, and thus is preferable. See [1] for an example.

It might be all very clear to older devs (like me) who have seen the Web evolve during the last (almost) 25 years. But I'd imagine for 20-somethings or younger the "trifecta" of HTML/CSS/JS as they are today will be a giant puzzle when presented as a whole, having aggregated many features and workarounds that can only be understood in the discourse of the time. In particular, JavaScript is IMHO a terrible beginner language, the design rationales and compromises only apparent to someone with a little bit of compiler writing background, and in the context of its original purpose.

[1]: [https://www.reddit.com/r/webdev/comments/8bi1bc/creating_my_...](https://www.reddit.com/r/webdev/comments/8bi1bc/creating_my_first_site_which_framework_should_i/)

<comment><USER13> [http://bettermotherfuckingwebsite.com/](http://bettermotherfuckingwebsite.com/)

</comment></comment><comment><USER14> It looks like a book at first glance but is really an outline with a list of references to other locations to read more about each of the topics. Useful but no new or interesting content on its own.

</comment><comment><USER15> Do other devs tend to agree with the idea of full stack being a myth? "A developer who can code the front-end, back-end, API, and database isn't as absurd as it once was (excluding visual design, interaction design, and CSS). Still mythical in my opinion, but not as uncommon as it once was."

I've been FS for most of my career, mostly the result of working in smaller dev teams where you had to own product from top to bottom. I'm willing to admit not being an expert in all the areas and perhaps that's the catch. I also have to disagree with the timing idea, if anything, I feel I was more an expert in the past (despite JS being my top skill) before the exponential increase in JS tooling and framework complexity hit the scene. So, 10+ years ago, I was writing FS application. VBS on the back-end in ASP classic, build out the schema in T-SQL(Sybase), build out our own psuedo-mvc in VBS to server JSON for XHR requests from the client that we then wrote with the help of PrototypeJS. I knew ES3 like the back of my hand and often had to contribute to SQL queries a couple hundred lines long. VBS wasn't that hard (just annoying) and ASP classic pretty straight forward. Now even though JS is everywhere, things are much more config and library dependent and the shift has been a challenge for me.

<comment><USER16> I'm with you, what do you call someone who can build and ship the back and front end of a working application, if not a full stack developer?

Because its pretty obvious a bunch of these people exist,

<comment><USER17> Most small/middle companies hire people with a CS degree who can create a data model, some APIs in any language and then build a JS web app calling those APIs. Well, at least that's how companies work in France. Not sure what's mythical about these profiles, they are the most commons from my experience.

</comment></comment></comment><comment><USER18> Not sure I'd call this a book. It's a colossal link dump.

There could be a sibling publication containing links to 1000 MOOC courses calling itself "The Renaissance Man Handbook".

</comment><comment><USER19> Noticed that "Learn Node.js" is a single short page. These days, I think frontend devs are increasingly working with complex build and test flows that require deeper familiarity with Node.js, for example, npm, Webpack, etc.

</comment><comment><USER20> "Here's a guide for you to make 75K a year, learning all of this will take 10 years." LOL

<comment><USER21> Can you show me where this was said or inferred in the article? I'm a front end engineer and I make, well, a _LOT_ more than 75k.

<comment><USER16> The picture inserted from payscale or salary.com</comment></comment></comment>


Ask HN: JavaScript based editor with predefined grammar - 100-xyz Hi,
I am creating a Flash replacement - a web based animation editor.  https://its-near.me/flash2/editor
The animation will be controlled by simple text like:
At time 0 cowboy walks to point A.
Then cowboy jumps.
Then cowboy walks to point C.
The grammar is predefined: [time] [object] [verb] [?subject]
Where time can be "At time XX" or "Then"
object can be any of the images in the animation
verb can be any of the movements that the image sprite supports eg: "walk", "run", "slide", "die"
and so on.
The editor should prompt the possible values that the user can enter.  eg: in the beginning, the choices would be "At time" and "Then"
I have searched online and in particular github with no luck.  Anyone here know of any?
Hopefully, I have explained clearly.  If not, please ask for clarification.
Thanks. <comment><AUTHOR> Take a look at Codemirror ([https://codemirror.net/](https://codemirror.net/)). It has support for autocompletion, although I haven't tested this myself.

You can also define syntax highlighting for your grammar.

</comment><comment><USER2> Customization around Draft.js should support this, tricky to learn but quite powerful once you do.</comment>


Taking too much slack out of the rubber band - <AUTHOR> http://rachelbythebay.com/w/2019/11/10/scale/ <comment><USER2> I see this kind of thinking all the time in hardware engineering as well, and it all boils down to premature optimization. Cost almost always is driving this.

One example is a recent project was a very cost-sensitive machine in which a small heater was copied over from another product, but no one actually verified that it was good to the required limits (just the default use case). Well, turns out it wasn't quite powerful enough but it is way too late and expensive now to fix it at the end! Also, all the engineering time was wasted to figure this out (but it often seems management doesn't count engineering time the same way as parts cost)!

I've since learned that in the beginning of a project it is critical to identify the riskiest parts of the design and try to isolate that to a module and over-spec it, hopefully with a path to reduced cost later on. But the most important thing I've learned is don't try to solve tomorrow's problems today!

<comment><USER3> > management doesn't count engineering time the same way as parts cost

because the IRS doesn't either

<comment><USER4> When you count for the employment tax for every employee, it's not exactly cheap (around 30-35% of the base salary). The difference really is that whether the engineer is looking at the heating coil or not, the company is still paying them.

<comment><USER3> no, the difference is whether the cost is allocated to fixed or overhead cost (presumably scaling slowly) or COGS (presumably scaling linearly).

increase in COGS looks very bad for the business.

[https://www.investopedia.com/ask/answers/101314/what-are- dif...](https://www.investopedia.com/ask/answers/101314/what-are-differences- between-operating-expenses-and-cost-goods-sold-cogs.asp)

<comment><USER2> It certainly depends a lot on your quantities... if you are only making 100-200 of something a year then I think engineering time would dominate the calculation. But as with all things, it depends and you need to do the math for your own situation!

</comment></comment></comment></comment></comment><comment><USER5> I've spent quite a bit of time on a problem very similar to this. It's surprisingly challenging. Imagine this scenario:

Some service has three units of capacity available (e.g. VMs). This is the minimum amount allowed, on the theory that things won't break too badly if one of them happens to crash. You target 66% CPU utilization. Suddenly, one goes down, and the software sees 100% CPU utilization on the other two. What should the software do?

Well, the obvious thing is to add one more instance, assuming that one of them crashed and its load shifted to the other two. However, what if the thing that actually happened is that the demand doubled, and the load caused the crash? Then, you should probably add six more instances (assuming that the two remaining live ones are going to go down while those six are coming up).

If you look at only CPU utilization, it's impossible to tell the difference between these two situations.

<comment><USER6> Which is why proper monitoring and understanding of the system as a whole is imperative. Utilization doesn't come from nowhere, be it CPU, memory, or anything else. If you understand that requests per second x generates CPU usage y then you can monitor at the edge and scale according to actual need.

</comment></comment><comment><USER7> This is even scarier in the physical world. Just-in-time logistics means companies aren't warehousing inventories as large as they used to. In the case of major events (natural disasters, terrorist, etc.), there isn't enough reserve supply to go around.

<comment><USER8> This has been a major generational cultural shift. I learned from old-timers who grew up in the depression and have a 3-month supply of food and batteries and a water filter in their garage, a tow-strap and toolkit in their car, a shotgun in their safe, and money in seven different bank accounts as well as at least 3 cash stash spots and some gold hidden away somewhere. They grew up in a time where almost nothing has the reliability that (we think) it does today. A less safe time all around.

The reality is, we have a much more interconnected web of dependencies with little capacity to absorb disruptions. We'll almost certainly see some much more significant consequences when those now low probability events finally do occur.

</comment></comment><comment><USER9> The dynamic scaling version of cascading failure

</comment><comment><USER10> It's important that systems have some design margin (buffers of one kind or another) so that a disruption / transient event in one part of the system is absorbed locally and not passed on to the rest of the system.

</comment><comment><USER11> It seems like this problem is solved by simply setting a sensible minimum in an autoscaling group. And not "everyone on Earth was abducted by aliens and stopped using the service" levels of minimum.

Say I'm an e-commerce site and on Black Friday I can see historically (or just make an educated guess if it's your first holiday sale) I get "n" requests per second to my service.

I'll set my autoscaling group the day before to be able to handle that "n" number of requests, with the ability to grow if my expectations are exceeded. If my expectations are not met, then my autoscaling group won't shrink. Then the day after the holiday sale, I can configure my autoscaling group to have a different minimum.

This solves the problem of balancing between capacity planning and saving money by not having idle resources running.

If you're the type of person who hates human intervention for running your operation, then fine. Put in a scheduled config change every year before a sale to change your autoscaling group size.

It's pretty rare to have enormous spikes in application usage without good reason. Such as video-game releases, holiday sales, startup openings, viral social media campaigns.

<comment><USER12> > It seems like this problem is solved by simply setting a sensible minimum in > an autoscaling group.

Do you really think people do things because it makes sense to do them for their particular situation or because those things are "the thing to do(tm)"?

Most people go to see Mona Lisa because that's what people do when in Paris, not because they care about that particular piece of art.

Same with automation. It really makes me sad when I see people "automating" things they barely understand how to manually do, let alone the "when" to do it.

Yes, your example is perfectly valid, but that means one understands the system they are working with and generally people have no bloody clue about what they are doing.

</comment></comment><comment><USER13> I recently gave a talk at SRECon [1] about a partial solution: Using a PID controller. It won't solve all instances of this problem, but properly tuned, it will dampen the effect of these sudden events and quicken the response times to them.

[1] [https://www.usenix.org/conference/srecon19emea/presentation/...](https://www.usenix.org/conference/srecon19emea/presentation/hahn)

</comment><comment><USER14> Money quote - "Capacity engineering is no joke."

</comment><comment><USER15> > Of course, at some point, [...] the local service gets restarted by the ops > team (because it can't self-heal, naturally)

Maybe off-topic, but what are some good strategies for the kind of "self- healing" being talked about here? If a service needs to be restarted, how could you automate the detection and restart process?

<comment><USER16> In the simplest case, the service could shut itself down, and the supervising daemon / scheduler would restart it.

Supervisors like systemd also have a watchdog that will force-restart a service that hasn't checked in for some time.

For a service that manages its own network connection, implementing auto- reconnect can be a form of self-healing (and surprisingly hard to get right in all edge cases).

The key is, as Rachel wrote in the OP, to get a good signal. You need to be able to distinguish a working from a non-working service to implement reliable self-healing.

<comment><USER15> > You need to be able to distinguish a working from a non-working service to > implement reliable self-healing.

I think this is the crux of what I was trying to get at. Curious to read how others have approached this problem.

</comment></comment></comment><comment><USER17> There's something related called the bullwhip effect. I _think_ that throwing away requests under load rather than putting them in some overflow queue prevents it. The effects aren't magnified down the chain of services as each scales up because it's only incoming traffic.

</comment><comment><USER18> dynamically scaling down based on cpu consumption is the wrong way to do it IMO. if your site is decently sized you have a pretty typical diurnal pattern with weekly cyclical variation, that's your baseline.

<comment><USER19> > For another thing, how about knowing approximately what the traffic is > supposed to look like for that time of day, on that day of the week and/or > year? Then, don't down-scale past that by default?

</comment></comment><comment><USER20> But if your service was down for more than what it takes to downscale to minimum scaling back up is not that big of an issue. It was down anyways. Also 24/7 instances exist for a reason, autoscaling is there to handle spikes, not a normal traffic.

<comment><USER21> Pay attention, and don't confuse intention with effect.

What she's saying is that if you configure scaling such that it'lll scale down when demand is unusually low, and then demand returns, the spike may be a difficult one to handle, _particularly_ if your services depend on each other but each scales only based on its own history.

If A needs B needs C, and demand suddenly returns to A, does that cause C to scale up? Or will A scale up first, and but C stay low for another half-hour because it recently scaled down?

Having C stay under demand for a half-hour after an outage ends wasn't anyone's intention when the autoscaling was configured. But as I wrote, don't confuse intention with effect.

</comment></comment><comment><USER22> That just means you should scale based on the work to be done rather than poor proxies such as CPU utilization. Also set a reasonable minimum and maximum based on observed load in production and review this as part of regular operational reviews.

</comment><comment><USER23> OT: can you update the link to use the https version of the site? The author has not implemented http->https redirect for the site yet.

<comment><USER24> Do you not run HTTPS Everywhere?

<comment><USER25> Mobile Chrome does not support extensions.

<comment><USER26> Off-topic: Firefox on Android does support extensions. Useful for that crucial ad blocker.

<comment><USER27> And it's just as fast as chrome, at least on newer phones. That's a crucial difference from last year.

</comment></comment></comment></comment></comment><comment><USER28> Good edge case to consider when designing an auto scaling service, but now that I'm aware of it, I think I'll be able to design around the problem with some combo of the suggested solutions, and still get the autoscaling that I feel like the article was trying to convince me not to do...

<comment><USER29> I don't think the article was saying not to auto-scale as much as realizing it's less of an edge case than it might sound and being careful not to underestimate the level of effort or overestimate the savings. That rang true to me — I've seen a lot of people realize the staff time they spent ended up pushing the time to recoup many years into the future. This is especially common if they're inspired by a big tech company's cool blog post or talk describing something amortized across a much larger volume.

</comment></comment><comment><USER30> If scaling up is painful there is something wrong with the architecture. Aside from this scenario, what if you just get a spike in traffic? If your scaling solution can't handle it, get a better one, otherwise what's the point?

<comment><USER31> Presumably servers take time to boot and initialize, which is still a problem if you get a spike but those aren't as sudden as "everything just turned back on".

<comment><USER32> Yup, in a reasonably, but not entirely optimised setup, the spinup time for a new node from scale-up event launching to it being able to serve traffic may take 2-3 minutes. And trust me, after a couple of mishaps with _very_ aggressive scale-ups, your system will not launch the full demand absorption all at once.

In a _fully_ optimised setup each service image is itself 100% preconfigured, and only provisions node secrets during the boot. Even one of these types of nodes takes easily 30-40 seconds from launch event to actually serve traffic: it may join the load balancer just 25 seconds in, but the load balancer will want to see at least two good health checks before allowing any traffic to it.

The problem with aggressive upscaling in the depicted scenario is that your plumbing layer is also likely scaled down. Hitting it with a cascade of new nodes has the risk of going all thundering herd, crippling the system for both existing and new nodes.

</comment></comment></comment><comment><USER33> Useful anecdote to learn from but not the article I expected from reading the title. I was prepared to read a story about literal rubber bands.</comment>


Ensuring your HTML emails look great and get delivered - <AUTHOR> http://www.thinkvitamin.com/features/design/ensuring-your-html-emails-look-great-and-get-delivered <comment><USER2> If you want email to be looked at and be delivered why would you use HTML?

<comment><USER3> I think my photo-sharing site's use of HTML in email is justified.

<comment><USER2> That is an interesting situation where a group of users might opt in and HTML could be a useful thing.

Are you sending photos via email? Aren't browsers generally a more pleasant way to view photos than mail clients?

<comment><USER3> Having the thumbnails show in the email itself means people don't have to break their stride to know whether the photos are ones they're interested in. I keep in touch with a lot of family and old friends using the same email. Different people care about different photos.

</comment></comment></comment></comment><comment><USER4> Am I the only one who hates corporate email so much? Even for companies I like, I hate receiving email from them.

I'd love to have a no-email policy. Email scams could then be avoided, unless people respond to phishing despite a declaration, "we will never email you".

</comment><comment><USER5> If you use Entourage on a mac then, this script will be helpful: [http://scriptbuilders.net/files/sendcomplexhtmlwithinlinefil...](http://scriptbuilders.net/files/sendcomplexhtmlwithinlinefiles20040.4.1.html) I have used it and it works wonderfully well.

</comment><comment><USER6> _"... Who is sending the email is becoming more important than what the email says ..."_

So why the brochure in the mail instead of short punchy messages with a link to a brochure?

</comment><comment><USER7> > If they don't remember giving you their permission, they'll mark your email > as spam

which makes changing domain names so hard.</comment>


Show HN: Free document masker – replace PII in unstructured text - <AUTHOR> https://translate.tonic.ai/ <comment><USER2> Hey folks, I helped build Tonic Document Masker. If you have any questions let us know and we'll be happy to answer.</comment>


BBC to open online news archives to commercial press - <AUTHOR> http://news.bbc.co.uk/1/hi/uk/8171684.stm

<comment><AUTHOR> Thought this was an interesting tack given the highly publicized Associated Press dohicky and the decline and fall of printed media

<comment><USER2> that was my first thought too.

The BBC is in a funny position here in the UK. Personally I find it's news (especially the online division) divisions excellent compared to other broadcasters and online news agencies.

So this is a good thing (spread the content out etc.)

<comment><AUTHOR> Yeah, I reckon it's a step in the right direction. But I have often thought about why the BBC hasn't embraced new media in an attempt to project the corporations aims onto a much higher plain. Their whole "bytesized" revision gumph was a heap of shite compared to what they _could_ offer considering the vast amount of programme data they have available. Why this model is being restricted to previously broadcast _news_ , is beyond me. The revenue that could be generated from selling high quality documentaries and other archived material (Reith Lectures, The Forum, BBC Proms, etc.) could be huge. Guess "Dave" is a case in point for this in terms of light entertainment, but I would prefer to see some more forward thinking initiatives (I've talked about my desire for BBC iPlayer to embrace torrents on HN before - share the load, localise data, distribute the cost of archiving and retrieving).

<comment><USER2> a lot of the stuff they cant sell commerically because of the limitations placed on the BBC. They do have a commercial arm (which is what runs dave) but it's confusing quite what that owns (right's wise).

<comment><AUTHOR> True. I remember reading about the pressure being put on BBC's commercial arm by the British press due to the vast sums of money it can rake in. The problem being that license payers have paid for this, and so _should_ be considered shareholders(?), and yet we get no choice in how BBC media is used commercially or how the fortunes are reinvested. Seems a shame that the BBC cowers in the background, perpetually outputting a standard quality product when in truth it has the opportunity to truly innovate. Dunno, maybe I'm just expecting too much from them, but I can't help but think that somewhere along the line, they missed a trick.</comment></comment></comment></comment></comment>


Groundbreaking research: a new equation in Physics - <AUTHOR> https://www.academia.edu/30504157/A_New_Equation_in_Thermodynamics <comment><USER2> I find it odd, and rather suspicious, that within a few minutes of this being posted there are three comments, all from brand new accounts which have submitted no stories and have each made exactly one comment.

Personally, I've glanced through the paper and find it at a minimum confusing. It might be a great advance, but I'm not well placed to judge. How it has achieved 21 points I really don't know.

<comment><USER3> Clearly fake accounts and vote manipulation.

The abstract is nonsense. Does anyone care to take the time to score the article by the Crackpot Index[1]?

[1] math.ucr.edu/home/baez/crackpot.html

<comment><USER4> This document has not even been spell-checked, let alone peer reviewed. The claims in the title are sensational and false. It is neither groundbreaking research, nor what would be commonly understood to be a "new equation in physics" as it does not propose any newer, more fundamental understanding of nature.

The claims to be 'groundbreaking' seem to be based the belief that he has 'refuted' the ideal gas law despite the fact that this was never intended as anything other than a workable approximation. He proposes to replace the ideal gas law with a formula derived from statistical curve fitting to experimental data. I can't judge whether there is any merit in this formula or in the means by which he has derived it.

Evaluating such submissions according to the crackpot index would be an ideal application of artificial intelligence as pinpointing the errors of reasoning employed by cranks is tedious and unrewarding.

</comment></comment></comment><comment><USER5> We've banned the accounts that were created to vote and comment here.</comment>


Software by category:Market share and predictions - <AUTHOR> http://blog.elioplus.com/?p=232 <comment><AUTHOR> I uploaded this post in order to help startups and SMBs companies in software industry, find reliable sources about the software market, because usually is really time consuming searching for all this data.</comment>


VC's Teen Daughter Found Snapchat & Helped HimTurn $500K Into $31 Million - <AUTHOR> http://www.businessinsider.com/this-vcs-daughter-found-snapchat-2013-11

<comment><USER2> I hope to god he never finds out what teens use SnapChat for</comment>


10 less-than-great personality traits of entrepreneurs - <AUTHOR> http://www.16thletter.com/2008/02/25/10-less-than-great-personality-traits-of-entrepreneurs/ <comment><USER2> What do I win for all 10?

Brilliant: "most people will tell you $50 million, and you know they're lying. I'm already discounting it because I'm a venture guy just like you are." And they'd say, "Yeah, but $18 million just isn't interesting." So I changed my spreadsheet to say $50 million. And they said, "OK, that's pretty interesting." - James Currier, founder, Tickle

</comment><comment><USER3> The only thing setting entrepreneurs apart is their inclination to buckle down and make things happen. It really isn't that complicated, and all the sensationalism is just unnecessary.

Though the Woz quote about being one with the computer is classic... Now I'm paranoid that I have Woz in my lap, which is dirty.

</comment><comment><USER4> From the article: 9. Dirty

I describe it as a deferred garbage collect.

<comment><USER5> Thanks, that made me chuckle.

</comment></comment><comment><USER6> Interesting, but hardly limited only to entrepreneurs. 99% of the people I've worked with have all exhibited at least one of these traits, and most people show 2 or more.

<comment><USER7> If you met someone who didn't have at least one of these traits, I'd be willing to bet that he might be diagnosable as a sociopath. These are all just a bunch of base human emotions, really. I think the author is simply trying to point out that he thinks entrepreneurs exhibit them to higher degrees than most people.

</comment></comment><comment><USER8> Woohoo! I'm an entrepreneur...mainly because I can't live in normal society.

Hmm, maybe there's some causation going on here...

</comment><comment><USER9> Its just the other side of the same coin...

</comment><comment><USER10> I'm guilty of a few of those</comment>


Myst now in the App Store, 730Mb Download - <AUTHOR> http://www.9to5mac.com/Myst-hits-app-store <comment><USER2> ... and, just in case there was anyone else who wasn't convinced that App Store prices were getting driven down ridiculously, people are complaining that _$5.99_ is a "premium" price. Wow.

</comment><comment><USER3> Has anyone played this? How are you supposed to operate it without being able to see when your cursor changes?

<comment><USER4> With a strategy guide.</comment></comment>


Why Twitter's Growth Cannot Be Stopped - <AUTHOR> http://mashable.com/2009/08/04/twitter-continued-growth/

<comment><USER2> Apart from what is mentioned in the article, Twitter also works as a feed reader for content consumers and a publishing platform for producers and it has been working very well on both the sides. Blogs now report they get as much traffic from twitter as much as they get from Google. And the network effect is making the whole system more valuable to both consumers and producers. Twitter might or might not stay, but the micro blogging model of directing traffic is here to stay. Any thoughts?</comment>


The Most-Magnetic Objects in the Universe Attract New Controversy - <AUTHOR> https://www.quantamagazine.org/magnetars-attract-new-controversy-over-their-origins-20191028/ <comment><USER2> Are there rules about title puns?</comment>


Full speed ahead for DeepMind's AI patent applications - <AUTHOR> http://ipkitten.blogspot.com/2019/01/full-speed-ahead-for-deepminds-ai.html <comment><USER2> Reading between the lines here, it seems that Deepmind is trying to get their patents granted as quickly as possible. Which they'd only really want to do if they were looking to sue someone?</comment>


IPredict: Speed of light actually exceeded by 2015 - <AUTHOR>

Okay all you theoretical zealots, save your anger and your rage for someone else. You won't get my goat on this one.
It's widely accepted that c0, the speed of light in a vacuum, which has a refractive index of 1.0, is  299,792,458 meters per second (1).
The speed of light is widely seen as finite and the upper limit of any movement of anything with a positive rest mass. Most texts state with absolute conviction (something that is supposed to be unattainable in science) that even in experiments where the speed of light is exceeded, since the group velocity of the wave carries no information (wait, what?) it's not really occurring.
Science also assumes that a vacuum is the ultimate medium through which light can travel, which is why the speed of light (aka c0) is always quoted as measured in a vacuum.
I predict that by the end of 2015, subject to the end of the world later this year, experiments in superconductivity will show that light passing through a superconductive field having a refractive index of less than 1 will result in light exceeding c0, until that light encounters another field with a refractive index of 1 or more.
I also predict that we won't know what the hell to do with this, since CPU processing and memory access can't currently handle information at even c0 speeds, and passing information across the superconductive substrate at a refractive index of 0.9999999999 will cause a backlog of information at the CPU or memory controller, negating the benefit.
Nonetheless, the speed of light will be broken, causing either (a) the opening of scientific minds and the cessation of arbitrary unproven limits to fit mathematical models or, most likely, (b) the redirection and application of millions of man hours of the greatest minds in science to disprove this finding in order to preserve the status quo.
What say you?
References :
(1) http://en.wikipedia.org/wiki/Speed_of_light <comment><USER2> Magnets, how do they work?

<comment><AUTHOR> Superconductivity is as near as we can come to cancelling the effect of gravitation, so this is more like anti-magnetism.

A vacuum is still subject to gravitational waves, and we have had no way to test without gravitational waves to date.

<comment><USER3> HowTo: test without gravitational waves

Step 1: Reverse the Polarity

Step 2: Done

</comment></comment></comment><comment><AUTHOR> Math majors, please correct me if I'm mistaken, but by my calculations, we won't be able to handle C0 speed data in CPUs until we hit 15 Phz (Petahertz) ( or 15,000,000 Ghz ) clock frequencies AND data/memory operations take 1 cycle, assuming 20 nanometer scale.

While we haven't seen the Lorentz factor (1) (mass expends to infinite as speed of light is approached), we're still only 3/15000000 of the way there. If Lorentz was correct (his theory can't be proved until we reach the speed of light or very close to it), then we'll never be able to compute at C0 speed, or even 50% of C0 speed AND convey information.

I suspect he's not, since, as I postulated above, the speed of light is NOT fixed but relative to our inability to measure in field with a refractive index less than 1.

I also believe that the reason we use a refractive index of 1 for a vacuum and not 0 is to allow for the possibility of finding a field with a refractive index of less than 1.

References: (1) <http://en.wikipedia.org/wiki/Lorentz_factor></comment>


Show HN: OneUp – Schedule and recycle your evergreen content on social media - <AUTHOR> https://www.oneupapp.io/ <comment><USER2> This looks cool. I'll get our social media manager to give it a try when I'm in the office tomorrow.

One suggestion: it might be worth making the landing page responsive. If it is, it's broken for me - I can send a screenshot if that helps. I often have a look at potential new tools from my phone when I'm at home and bring them to the office to give a test drive.

<comment><AUTHOR> Thanks :)

That shouldn't be the case... Can you email me at firstname.lastname@example.com ?

<comment><USER2> Sent :)

</comment></comment></comment><comment><AUTHOR> After seeing that MeetEdgar was doing over $4 million in ARR, we decided to launch OneUp as an easier to use and much more affordable alternative (MeetEdgar charges $49/mo).

We launched on Product Hunt a couple weeks ago and finished with over 500 upvotes: [https://www.producthunt.com/posts/oneup-2-0](https://www.producthunt.com/posts/oneup-2-0)</comment>


Sun launches Java at iPhone - <AUTHOR> http://www.regdeveloper.co.uk/2008/03/08/jvm_for_the_iphone/

<comment><USER2> Wont writing an iPhone application with another language and environment violate Apple's SDK terms of use?

Also, this will be pretty pointless if the JVM must also run in the same sandbox as other iPhone apps. Its just additional overhead and the libraries will ultimately be limited to the same resources native apps have.

The only benefit I can think of is if you already have a Java ME based app you would like to port to the iPhone quickly.

<comment><USER3> Sounds like a JVM will indeed break the terms, including the one about not allowing scripting languages or ways to dynamically run loaded code. JRuby and Jython would be big no-nos. As soon as you loaded either one (or any one of the other dozens of JVM language interpreters/compilers), the app could connect to the Net and download new code. Apple does not want to allow that.

<comment><USER2> Oh man, this could be a big issue for Apple. Unless they had access to your source, how could they even know that your application utilizes dynamically loaded code/scripting?

Your application could be: Python -> Jython -> JVM -> compiled iPhone native and Apple cant tell the difference (or could they?).

Also, since everything runs in the same sandbox, Apple would technically not be able to stop people using the JVM with their applications. The JVM itself is not its own application, its just used to translate java byte code to native iPhone code for your application. Again this raises potential issues on how Apple could police that.

<comment><USER4> It would be quite easy to inspect the bytecode and find if the class loader would be invoked. I don't believe that you can eval source with mobile Java, so its fairly watertight.

</comment></comment></comment></comment><comment><USER5> Sounds kind of desperate to me. Why don't they finish up their own phone platform?

<comment><USER6> The JME IS their platform. All they are doing is pushing that platform out to more users.

<comment><USER5> This is their actual 'platform':

<http://www.sun.com/software/javafx/index.jsp>

<http://www.sun.com/software/javafx/mobile/index.jsp></comment></comment></comment>


How Laziness Works - <AUTHOR> http://two-wrongs.com/how-laziness-works <comment><USER2> Reading this has only further convinced me that Haskell is unsuitable for production due to the difficulties laziness posses to correctly reasoning about the performance characteristics of code. Idris is not only strict by default, but has an even more advanced type system, and because of that it will probably overtake Haskell eventually.

<comment><USER3> I'll second this.

We've had similar problems with Task<> based code in C# (futures/async) when it comes to performance analysis.

I will say this only becomes apparent when you really push it hard, but we do that. Determinism is really important for predictable performance.

<comment><USER4> Laziness doesn't take away determinism. I agree you may have some surprises but they all make sense when you understand them. I've only ever had one really baffling problem due to un-evaluated thunks building up and it did not take long to find the root of it using the profiler.

<comment><USER5> What becomes non-deterministic with async is the order in which operations are executed (depending on how long the previous processes took) possibly creating race conditions that can sometimes become very hard to debug.

However if you work with immutable objects like Scala or Haskell encourages you to do, this shouldn't become much a problem.

</comment></comment></comment></comment><comment><USER6> There's a rather extensive series of blog posts by Edward Yang, a GHC contributor, that cutely and obliquely describe the STG machine that gives semantics to STG code. Highly recommended for anyone who found this interesting!

        * http://blog.ezyang.com/2011/04/the-haskell-heap/
        * http://blog.ezyang.com/2011/04/evaluation-on-the-haskell-heap/
        * http://blog.ezyang.com/2011/04/io-evaluates-the-haskell-heap/
        * http://blog.ezyang.com/2011/04/implementing-the-haskell-heap-in-python-v1/
        * http://blog.ezyang.com/2011/04/functions-produce-the-haskell-heap/
        * http://blog.ezyang.com/2011/04/how-the-grinch-stole-the-haskell-heap/
        * http://blog.ezyang.com/2011/05/bindings-and-cafs-on-the-haskell-heap/

Also, C-- has updated from its spec as the author noted and... as far as I'm aware there aren't actually any updated specs or documentation. Perhaps a few papers? C-- was originally marketed as a new, designed intermediary language for compiling functional programs but it never quite took off as far as I understand. My understanding is that GHC is also moving toward using LLVM instead.

</comment><comment><USER7> There is a functional language called Mercury. I don't care about the language, but on the website there are incredibly insightful documents, and reduction order is explained in a very clear way: [https://mercurylang.org/documentation/papers.html](https://mercurylang.org/documentation/papers.html) (The oldest stuff)

</comment><comment><USER8> To get lazy in Ruby, I've been using the rspec-style rlet gem: [https://github.com/hosh/rlet](https://github.com/hosh/rlet)

For example, in Rail, instead of setting up a variable in a private method for a before_action, you write:

`let(:ar_model) { ArModel.ar_scoping_stuff }`

This defines a method (where the values are memoized) that can be shared across multiple objects.</comment>


Show HN: Golang CLI to manage Spotify playback with a TUI for search - <AUTHOR> https://github.com/joshuathompson/baton <comment><USER2> Nitpick: you will sound more credible if you call it Go. If you look at projects on Github, predominantly the senior projects use "Go" and only the beginner ones use "Golang".

</comment><comment><USER3> Does it work without premium? All it seems to do for me is report information -- not actually perform actions like change volume, pause/play, next/previous, etc.

<comment><AUTHOR> Unfortunately, it appears not. [https://developer.spotify.com/web-api/working- with-connect/#...](https://developer.spotify.com/web-api/working-with- connect/#premium-only)

I will clarify in the README.

<comment><USER3> :<

I will look to see if it can be done by selenium or something similar.

</comment></comment></comment><comment><USER4> hi, nice project, thank you. i'd like to create an emacs mode with it just for some fun.</comment>


Google Cloud Platforms – Shameful - <AUTHOR> So we recently concluded YC Startup School where we got some GCP credits. Just 2 months after, Google decided to close our billing account, at this time we had just over $2,400 remaining.
On reaching out to the Google Billing Team, they came up with several excuses including us using one of their top infrastructure which took all our credits. Of course that was a lie, we showed them our dashboard and services we had running. They then admitted it was an issue at their end.
Even till now, we only have 2 Compute Instances and 2 SQL instances.
After reaching out to the team severally to no avail, one eventually came back and claimed their Support Manager says they have to close the case as there's nothing they could further do on the matter. I asked, tell us what happened to the remaining credits, why was the account closed? Why was all our servers shut down?
All these questions and many others were not answered by the Team. Its over a month, they still can't figure our how Account got closed and what to do in our case.
We reached out to the GCP Slack group where we met this very helpful guy from Google. See his comment:
"Couldn't agree more.  Not just worrying, it's unacceptable.  The underlying issue is making sure that you are the real owner of the account, which is challenging when the account was deleted.  The people who can confirm it have been unresponsive.  I'm trying to figure out who they are exactly to message them personally (not through a ticketing system) and see if I can get an answer. I would be frustrated, too.  We are failing you on this one, big time"
I implore you to take care when using GCP. Its clearly not mature and support has been really horrible. We have all communications archived and would be more than happy to share with anyone.
Anyone had a similar experience, please share! Don't be evil indeed! <comment><USER2> Hi,

Terrance here from Google Cloud Support. We're looking into this. Please email me firstname.lastname@example.com and with any bad experiences you have had I will get you answers by EOD PDT. My calendar is clear to answer them all.

-Terrance

<comment><USER2> I see this was submitted at some point during my night. I cleared my calendar for tomorrow as well and will be available earlier then normal working hours so that we might have a few hours of overlap. -Terrance

</comment></comment><comment><USER3> Google has always struggled with the human element; you generally don't go with a Google offering if you need support.

Unfortunately, you never need support for cloud infrastructure-- right up until you really, really need support.

<comment><USER4> I've got tickets open with their accounts team, relating to our AdWords usage where we were spending maybe $80k/mo with them, that have been open and unresponded to for two or three years now despite my following up on it several times initially.

In my experience the AdWords team themselves are generally pretty responsive and helpful, but anything they can't fix directly just goes into a blackhole of non-support. And it's not a case of "it's free", since we're spending a not-insignificant amount of money with the company.

</comment></comment><comment><USER5> After almost two years on GCP I can't give them anything but glowing reviews. We also began using with a pile-o-credit. There have been two billing/usage issues in that time. The first was an error on their part and was corrected without drama. The second issue was an error made by my team. They helped explain how to avoid it next month.

I'm really hope that your experience (rather than mine) is an anomaly.

</comment><comment><USER6> I switched from AWS to Google Cloud a few years ago, and I haven't looked back. None of these issues have happened to me, and they've provided the same services at significantly cheaper. Sorry for your troubles -- I hope you get this resolved.

</comment><comment><USER7> From your experience and other things I have read, if you are a huge customer, then you get responsive support.

GCP is a great fit for me (running low traffic sites on AppEngine and occasionally spinning up a huge VPS), but it is not for everyone.

I enjoy using GCP more than AWS, but AWS probably has much better customer support. Google really should fix this.

<comment><USER8> AWS even refunds you when you caused the trouble. Amazon in general has top notch support.

<comment><AUTHOR> We were with AWS for over 2 years. Equally had credits and never at any point had a single issue. Of course, they are more reliable.

</comment></comment></comment><comment><USER9> Gee, I've been seriously exploring GCP and picked it over AWS. This is terrifying.

</comment><comment><USER10> I'm also trying it out with some free GCP credits, so it could just be a case of getting what I pay for, but here are my issues with GCP:

\- Similar instance type seems much less responsive than my AWS instances.

\- Last I checked, they won't let me host my own mail server (they won't do port 25).

\- No IPv6 (Amazon is only marginally better in this respect)

\- Amazon typically has a human answer ASAP. I don't recall getting a human answer from Google, ever.

</comment><comment><USER11> I was going to use GCP, but ended up using AWS after discovering GCP doesn't [currently] support MSSQL as a service.

Couldn't be happier with AWS.</comment>


VirtualBox is a better Development Environment - <AUTHOR> http://www.mikesmullin.com/development/programmers-virtualbox-is-a-better-development-environment/

<comment><USER2> I went back to VMWare fusion from Virtual Box on the Mac. I will be the first to admit that some of the reason was political Oracle killed 3 Sun projects that I used pretty extensively so I have some sour grapes. Just wanted to give that full disclosure but I also after working with both found VMWare to be the superior product in terms of perceived speed and stability. That being said we have kicked around the idea of maintaining a gold developer VM that we could use to get a developer up and running ASAP. There are a lot of reasons to consider doing so and the article covers many of them. We will probably make the move before the next project.

<comment><AUTHOR> Hello kls! I have posted a question about VBox here, but it applies to VMWare too: <http://news.ycombinator.com/item?id=2353818>?</comment></comment>


Show HN: A list of embedded scripting languages with impl. language, GC, license - <AUTHOR> https://github.com/dbohdan/embedded-scripting-languages <comment><USER2> The list, as it is, is a good start and already stores interesting information. Nevertheless, the list is way far from being thorough. For starters, it's inexcusable that it doesn't include standard go-to embedded scripting languages that are already well established, such as Python or Guile. Missing those two is a telltale sign that the author failed failed to do a rudimentary search on the subject.

<comment><AUTHOR> >it doesn't include standard go-to embedded scripting languages that are already well established, such as Python or Guile

Thanks for the suggestions. I deliberately didn't include Python or MRI Ruby because they are not primarily used as embedded scripting languages, though I suppose that is now inconsistent with the inclusion of Mono and arguably Tcl 8.x. Guile I genuinely missed, probably due to never having really using it. (But that may change with GNU Guix.)

>Missing those two is a telltale sign that the author failed failed to do a rudimentary search on the subject

As the author I can assure that is not the case. The list at this point (the initial commit) reflects my private notes collected over time on languages I have researched and found interesting and/or used. Pull requests are welcome to correct any glaring omissions that you see, though!</comment></comment>


The Cloudflare GraphQL Analytics API - <AUTHOR> https://blog.cloudflare.com/introducing-the-graphql-analytics-api-exactly-the-data-you-need-all-in-one-place/ <comment><USER2> Anyone knows the stack used for the graphql server ?</comment>