skysight-inc/HackerNews huggingface dataset:
According to the wikipedia page on Project Orion:

Later studies indicate that the top cruise velocity that can theoretically be achieved are a few percent of the speed of light (0.08-0.1c).[17] An atomic (fission) Orion can achieve perhaps 9%-11% of the speed of light. A nuclear pulse drive starship powered by Fusion-antimatter catalyzed nuclear pulse propulsion units would be similarly in the 10% range and pure Matter-antimatter annihilation rockets would be theoretically capable of obtaining a velocity between 50% to 80% of the speed of light. In each case saving fuel for slowing down halves the max. speed. The concept of using a magnetic sail to decelerate the spacecraft as it approaches its destination has been discussed as an alternative to using propellant, this would allow the ship to travel near the maximum theoretical velocity.[18]

https://en.wikipedia.org/wiki/Project_Orion_(nuclear_propuls...
I don't know if the idea is unique (edit: no, they mention it's based on a known concept of "hanging plotter"), but that's a neat way to utilize gravity to bring down costs. It's much more accurate (.4mm) than I would expect, enough for most hobby work with big sheets.

(Off topic, but a hanging plotter (for drawing) would be rewarding project to build with a kid!)
PS. If you think it would help and if you are able to post more info about the type of work your guys are doing, I'd be happy help answer questions you may have.
These repair stencils are also used for reballing BGA components.

A brand new BGA chip has hundreds of solder balls underneath, acting like the pins on a DIP package. When the component is reworked, the balls are damaged and need to be replaced. After removing the old balls, the stencil can be used to apply solder paste and new solder balls to the chip. Once the chip is reballed, it can be reflowed onto the board.

https://www.youtube.com/watch?v=0C80O7_galU
Have you used Rails in production? Just curious.
if predicate:
A = 3
else:
A = 5

B = A / 2

...

Why forward declare A = None?
Well chemical rockets are at a stage where all it needs is scaling up to get more power. But I do agree with you, the complexity and sizes needed makes you wonder why waste so much effort on some technology which has inherent physical limits in terms of energy derived. Why not spend that money and effort on accelerating other forms of propulsion techniques (like nuclear) within the same timescales?

We need another Manhattan Project for space tech.
Perhaps http://graphql.org/blog/rest-api-graphql-wrapper/ might be useful. Also the Apollo team has a good blog with many articles on the overall GraphQL architecture https://medium.com/apollo-stack
Certainly. I also didn't bargain particularly hard.

Though I did have a native speaker (Helen) who lives in Shenzhen with me the whole time.
I am not saying that pastry chefs and baristas are useless.

What I am saying is that, according to industry data, any random person can be trained to the degree of 'pastry chef' of 'barista' with something like several weeks of training.

And that is basically indistinguishable from 'no-skill worker'.
Depends if you can replicate to S3 and spin up as a DR site when you need it, you will be paying for it, but it shouldn't kill the bank for the corps who would look at this.

That would be the killer use case, to use AWS low cost storage while being able to stand up your entire infrastructure.
> With Softlayer, you're inviting IBM into your house, which is rarely a good idea. Give them an inch, they take a mile.

Not a very accurate statement. SoftLayer is IaaS, everything is monthly or hourly on the compute, storage, and networking side. You pay SoftLayer monthly for VSphere 6 licenses with zero contracts.
> During few months, this project wasn’t the priority, so we decided to wait the release of PHP 7 to compare performances.

I have no idea why the author is choosing to write in such a strange grammatical style.
People who are solving problems day to day are usually quite busy with that, hence why they can't be seen as readily. :)
A number of things actually follow more logically than tech doesn't matter which is counter intuitive and counter to most other endeavors in life.

- We aren't very good at judging the relative virtues of tech

- Most tech is good enough to express most concepts even if not equally well. If its possible to express it even if it takes 3 times as much work and is only 70% as good you wont notice from the outside how much the tech mattered.

- Good ideas are worth enough money to throw enough time/money at them to be moderately successful
> the presumption that "localhost" is only accessible by local users

Why is there even a presumption that all local users are equally trusted?
Hillary Clinton reveals stance on heated GIF debate
I didn't understand some of the mentioned benefits of PHP.

Progressively adding types:

This isn't PHP it's hack. How is this different than typescript or flow?

Edit/refresh vs edit/restart server.

It seems like it's been several years that there have been things like meteor or webpack that make iteration super fast on JavaScript. Is that iteration slower than PHP?
You can take free online courses to refresh your Statistics knowledge.

Coursera
https://www.coursera.org/browse/data-science/probability-and...

Coursera - Making sense of Data
http://academictorrents.com/details/a0cbaf3e03e0893085b6fbdc...

MIT 6.041 Probabilistic Systems Analysis and Applied Probability
https://www.youtube.com/playlist?list=PLUl4u3cNGP61MdtwGTqZA...

Statistics 110: Probability - Harvard
https://www.youtube.com/playlist?list=PL2SOU6wwxB0uwwH80KTQ6...

Udacity also has few courses on Statistics.
I wonder if there ever has been talk of a native Clojure? I guess it may not be very usable without the JVM ecosystem, though. Frankly, I find calling JVM library calls from Clojure to be quite ugly and really stand out in the code (mostly because of the mix of the lower-case-dash-delimited variable and fn nameing convention of Clojure and the mixed-case/camelCase naming style of Java.
If you have no idea, why bring it up?
lots of lights in their work area too.
Because it announces that you intend to use the name 'A' in the current scope after some assignment happens in a nested one. It's intentional.

It /can/ be useful, but it should be opt-in. JavaScript had to figure this out with their 'var' declaration scoping too.

Also, try:

A = (predicate) ? 3 : 5

Or, in a language that embraces expressions instead of statements:

val A = if (predicate) { 3 } else { 5 }

These are all more intentional, concise, and readable than allowing variables to outlive their scope by default.
In the time since that Google interview, I've moved into management and have built a very high performance team recognized as such by peers and the executive team.

For internal hires, I convinced people to come work for me that I had immense respect for by using casual conversation and pitching the idea and vision for a new operating systems team.

I've found this is also a classy way to hire external people. I've since hired people off freebsd-jobs@ mailing list and twitter by being upfront about the good and bad of working at this company. No trick questions, just a conversation about what we like to work on. This was easy because I had an idea of what they have accomplished by their commit logs.

Most recently I hired two women, masters students, for summer internships. This was very different because I had no idea what the candidates had done as coursework or projects beyond a simple resume. I again used casual conversation, no trick questions. I posed some real world situations, passively seeing if they understood concepts like deadlock, manual memory management, indirection, and had very good working CS/OS vocabulary. This eliminated most of the other candidates, and it was pretty clear who had slogged through their OS and networking classes without passion. I let each person tell me about projects they worked on which really excited them. One had done Linux USB driver on her own time, among other interesting things. The other had implemented a scheduler and file system on a teaching OS as part of her course work. Both worked out phenomenally and both have patches in the FreeBSD.org source tree from the 2 month internship experience. I am very proud of this, and of my team for mentoring them so successfully.

The people I hired were often confused; "That's it?" at the end of the phone or in person interview. They thought they had done something wrong because they are so used to being sweated for the sake of being sweated.

I am now convinced this is the only ethical way to build teams and hire -- start with some seasoned vets then grow new talent while refining and reinforcing shared values.

I don't really see what the stereotypical SV tech interview accomplishes. Blind leading the blind. Leadership is piss poor in this industry.
But program managers and CTOs and other non-engineers at a company care about scalability, performance, technical debt and quality, right? Let's not pretend that these don't matter once you've gone past the "users actually care about our app" phase, because they do and they affect the bottom line of a company. And IMHO PHP falters in these regards.
I always wanted to do PHP this way as I have a Perl background but since PHP5 appeared in 2005 the psuedo-Java posse took over and it was PHP Design Patterns everywhere and suddenly procedural/functional PHP was un-idiomatic. I find this odd as Java's verbosity can be forgiven as it gets compiled away. Not so PHP5's verbose OOP which has to be fed to the interpreter.
It's not just our aging population. It's also a side effect of running large trade deficits with developing nations. China's entrepreneurs generate huge profits, and they want to invest them somewhere safe. In terms of default risk, investments in the USA are about as safe as your mattress, and pay about the same interest ...
https://github.com/kovidgoyal/rapydscript-ng
https://github.com/QQuick/Transcrypt
Beyond being the first wiki wiki and the model for Wikipedia, the Portland Pattern Repository was a place where many of the principles of Agile software development were hashed out through discussion of the leading members of that movement. It was closer to the discussion pages of Wikipedia, where someone would write on a topic, and another would add more dimension or a counterpoint to what was written. Instead of creating a page of what, say, Extreme Programming was, pages full of discussion of how it was implemented on site or how it could be improved were generated; when it became too large, someone might refactor that page into several different pages, such as XP Principles, XP Practices, XP implementations, and so on.
> I'm amazed he knew things in such detail. I mean who would know just how long a MAC address is? Or what the actual SYN/ACK etc tcp flags are?

It's what happens when you get old. There were commonly C compilers on 8, 16, 20, 24 and 32 bit architectures, some big-endian, some not, and you couldn't google things in 20 seconds back in those bad old days when old farts were building the networks that would be used to connect to us all to google.

(And he has apparently been in networking since)
Anyone asking a question should be qualified to interpret the answers in context. If they don't, use a multiple choice quiz or something instead.
These questions/answers are just ludicrously out of sync.
You have a logical point for sure. I think it might be an apples to oranges comparison in this case though. I just don't know that building cars is the same as building websites and apps. I know Php and JavaScript can respond to an HTTP request. I don't know how to optimize an internal combustion engine. There's probably parallels in terms of expertise with software developers, but I can't be sure.
Errr, .4mm is not very accurate.
It's about 5-15x less accurate than basic wood cnc machines, which do 0.001-0.005 (they could easily do better, it's just not necessary for wood).
If each part was off by 1/64th, you can't even form a 4 sided box that is guaranteed less than +-1/16, which is a lot.

I'm pretty sure they are also not including the router runout (since it uses a router and not a spindle, add about 0.005-0.010, or, rather, halve their precision again)

Now, don't get me wrong, it's a neat idea.

It may be really cool for construction (though drywall/etc guys are a lot faster than this machine is), but ...

But you actually could not likely use this for real cabinet parts, etc.

To give you some idea:

Their specs:

Encoder Resolution: 8148 steps/rev

Real World Precision: +- 1/64th inch (.4 mm) or better

Max feed rate 48 inches/minute

Specs on my pretty basic 36x36 wood CNC router:

Encoder Resolution: 4 million steps/rev (22bit). Electronically gearable to whatever (they are servo motors)

Real world precision: +-0.001 (1/1000) inch

Max feed rate 1200 inches/minute

Now, obviously, there is a range of costs and other machines between these two machines :)

But building precision CNC routers, even with good closed loop servo motors and ball screws, is not anywhere near as expensive as it used to be.
You’re making out having to explicitly specify a type when type inference doesn’t do a satisfactory job as some kind of extremely painful thing, but it’s not. You just define the type of your object, which is something you had to know anyways; now it’s written down and people reading don’t have to guess at or remember what it is.
nah, they really liked the apollo 11 moon landing
Intel to add dedicated neural network hardware ops into their future processors
> In other languages you can't get that without using a standard library that will escape the values by default.

Escape for what context?

Escaping for SQL is different from escaping for HTML, which in turn is different from escaping for JS.

How does your hypothetical Request object know how to escape any given variable? Does it ping every open database handle to figure out how they want their data escaped? Does it use some kind of static analysis to figure out in what format (HTML? XML? JSON? CSV?) the app is going to spit out the value later on?

Or does it simply run a bunch of cargo-cult functions like

return htmlspecialchars(strip_tags(mysql_real_escape_string(addslashes($_POST['var']))));

and hope that everything will be okay?
It is true that gwan.com is (still) down.
Someone logged in to the machine likely has enough access to make this attack irrelevant.
Also there is slack in any gear/chain train when switching directions as they never fit perfectly. Same with gears. Even tiny amounts will throw you past .4 mm quickly
Please read Freeman Dysons's "Disturbing The Universe".

This book is autobiographical and Dyson explains his arc of passion for nuclear propulsion and Orion.

His strongest statement in this book is some deep respect for a biological scientist who, after seeing declassified army training manuals on chemical and biological warfare, supposedly discouraged the entire western hemisphere from further develomepment.

This kind of nuclear research is, thankfully, over.
> His emails to the department were angry and accusatory — deploying multiple fonts, colors, and styles. He left several belligerent voicemails and was often agitated on calls with officers.

Well, he was stomped on, jailed for two months, and made homeless. Frankly, I admire the restraint it must have taken him to refrain from going on a cop-killing spree.
I just want to say that there is a misconception here.
'Chef' indeed needs to go to school and may take years to earn the title.
'Pastry chef' is not a 'chef'. There is no culinary school involved, or required to be pastry chef.
This. Developer happiness matters.
Training may not yet be available, but how about inference?
It also sorts.
I've built several of the 2D plotters (two stepper motors, some string, some math, and blam you have you have a plotter. Most fun was sticking them on chalk boards and then using chalk in them to put some really amazing drawings up on the chalk board.

That experience has suggested that this project is not going to be as successful as they would hope. That is because you can't depend on gravity to be stronger than the angular momentum of a router bit hitting a knot in the wood. Specifically when you're routering away and you hit material that pushes back on the router, the router may not move in a gravity planned sort of way. I've seen that in the plotters when the drawing device catches on the material that its drawing on. You get a line that goes horizontal when it should go down.

These sorts of things are pretty easy to pass off when you just hang a new sheet of paper but if it means throwing out a 4x8 sheet of plywood its going to be a bit more painful.

As for discontinuous lines you put a wall sensor on the drawing puck (or the router) and when you need it to move you tell the operator. Who goes over and lifts the pen/router off the paper. The code detects the lift, adjusts to the new position while you lightly hold the puck, and then indicates you should let it back down on the surface. Once the wall sensor activates it goes back to drawing.
When it comes to housing, most people are "payment buyers." How much they can spend on a house is dictated by how large a monthly payment they can afford. With a 30-year mortgage, interest rates have a huge impact on the monthly payment, since in the first years you are basically covering the interest plus a tiny slice of principal.

Assuming that your housing budget is a fixed fraction of your income, and assuming your income is basically stable, then as interest rates drop, you can afford to pay more for a house. Assuming that you are competing against other people in the same circumstance in an auction market, lower interest rates will tend to push up prices, while higher interest rates will depress them.

Part of the author's point seems to be that this is even more true in areas that are housing-constrained, like the Bay Area, where people push their purchasing power to the limit to buy a house that still doesn't meet their needs (space, schools, commute). As people devote more and more of their income, as a percentage, to housing, they are effectively doubling down on real estate as an investment.
I wonder if browsers will need to start including a dev mode toggle to allow access to anything hosted on the local loopback.
At this point, I would have no problem arguing with a straight face that your choice of technology stack might be the least important factor in whether your business succeeds or fails. I don't mind if I get torched for this, it's just my current, non-Silicon Valley, non-substantiated opinion at this time (though I don't think it's without merit).
That's what Breakthrough Starshot[1] is about, although scaled down to very small probes. I like the probe concept. If we really don't want all our eggs in this one basket, it seems to make more sense to put effort towards tech that can spread our seeds (whatever that may be) rather than humans physically traveling.

[1] https://breakthroughinitiatives.org/
Instead of immediately having to take a stance, leaders can carefully consider all all the information and make a reasoned, rational decision.

Also, there's no fear of being labeled a flip-flopper (which is stupid. It's way worse to stick to your guns, so to speak, if new information comes to light.)
In the case of intelligence, there is plenty of "randomness." And in the case of evolution, there is plenty of..well, something beyond randomness.
The referenced paper [18] is informative: http://www.space-nation.org/images/a/a1/Mini-Mag_Orion_and_s...

===

2.3. Deceleration: the canonical issue

While accelerating to a sizable fraction of the speed
of light is a daunting task, deceleration is a yet more
challenging task. The reason is that no realistic scenario
to provide the gravy-train approach to either momentum
transfer or pellet energy transfer at distances of 4+
light years seems within known physics. We are therefore
challenged with either sending sufficient numbers
of pellet-sheath elements so that the spacecraft can decelerate
with on-board energy, or to come up with some
other innovative concept.

2.3.1. Fueling at departure point

One option is to provide all necessary propellant at
the departure location. If the specific power and specific
impulse is sufficiently high, this is a potential approach.
However, for our MMO concept, it is not particularly
feasible. For example, our specific power is certainly
high enough, but our specific impulse is dictated by
the pellet-sheath combination, which limits the Isp to
128,955 s. While this may seem like a prodigious specific
impulse, the ratio of spacecraft speed .1 c to g * Isp
is 23. This means that the deceleration propellant must
be e^23 times the spacecraft mass, which is an unworkable
solution.

2.3.2. Mag Sail deceleration

In 2003 both Andrews and Lenard postulated using
a large superconducting ring to intercept charge particles
in interstellar space to slow the spacecraft down
from high speeds. Additionally, the solar wind emanating
from a star system provides an additional source
of charged particles that can interact with the magnetic
field. Deceleration can actually begin a sizable distance
from the target star system. The following two charts
indicate deceleration, velocity and time as a function of
distance from the target star system. In this case the first
phase of the deceleration starts at 21600 AU with a twoturn
superconducting carbon nano tube reinforced loop.
This loop captures the charged interstellar medium and
deflects it to decelerate the spacecraft. This initial hoop
size is 500 km in radius and carries 1,000,000 A of current.
The spacecraft decelerates from .1 c to 6300 km/s
by the time the spacecraft reaches 5000 AU. This will
be quite a light show, so if there are any intelligent life
forms with an observing system, they should be able to
see the arrival.
PHP has already tried automatic sanitization with magic_quotes_gpc, and the results were far from secure.

It is not possible to have a single sanitize() function that renders a string safe for every possible context, and to try to provide one results in nothing but complacency and false sense of security.

Escaping for SQL is different from escaping for HTML, and even if you escaped a string for both, some idiot is going to echo it inside an inline script or a CSS attribute. Sanitize for all of them, and you begin to seriously mangle those strings. Oh, and it might still be ineffective against directory traversal. I've seen plenty of PHP users who think they're clever because they wrote a function that applies every single escaping function in a row, not realizing them some of them undo one another's work. Selectively unescaping after the fact is even more fun.

The only thing I can think of that could render a string absolutely safe in every context is intval(), but then you don't have a string anymore, and I suspect that even that can be abused with unexpected zeroes and negative values.
There is some truth to the saying that some people don't have ten years experience, they have two years of experience five times in a row.

Learning to use wireshark or tcpdump is a power tool that does show whether you got more experience in understanding the lower levels, or stayed at requirements-and-tests. (Not necessarily bad, but a good "fork" to jump off from)
You are missing the forest for the trees.

The statement I made is that more consistent and "opinionated" languages encourage better code. They don't enforce it, just encourage it.

It is my opinion that this is valuable.

I did define "good", internally consistent languages with strong guidelines for developers.
I made no statements about mature PHP codebases as they are irrelevant to my argument.
I do accept that people prefer less "opinionated" languages, I too fall into this camp, but I am no longer a new developer, as such this point is entirely irrelevant to what I was saying.

Nitpicking individual points whilst misconstruing what I said is neither useful or appreciated.
Often times other people here do have a different perspective.

I also found it very distracting from reading the post.