Einstein Was Right: Space-Time Is Smooth, Not Foamy  - <AUTHOR> http://www.space.com/19202-einstein-space-time-smooth.html <comment><USER2> ArXiv: <http://arxiv.org/abs/1109.5191>

I don't understand how photons with wavelength ~ 10^-17 meters are supposed to probe the planck scale, p_l ~ 10^-35 meter. I've skimmed the paper, but it seems most of that explanation is buried in references 11, 14, and 15. (Especially 15.) From their language, my hunch is that this is rather model dependent, i.e. the observations only bounds specific models of spacetime foam which happen to have the nice property of amplifying the dispersive effects.

(I'm a physicist, but this is _way_ out of my area of expertise.)

<comment><USER3> (I did not read the paper yet.) It is not much model dependent, the general idea is that a energy dependent speed of photons should be something like

c_gamma=c_0 + a ( E_gamma / m_p) + b ( E_gamma / m_p)^2 + ...,

with c_gamma the speed of a photon of energy E_gamma, c_0 the speed of light ( for low energy photons), m_p the Planck mass and a,b are some parameters determined by your model. This style of papers then sets limits on a,b. And the general expectation of some space time foam model is, that a,b should be roughly 1.

From this the way they can probe the Planck scale is then simply a huge baseline, in this case 7e9 light years, compared to a rather short duration of the event ( ~ days).

<comment><USER2> Thanks.

> And the general expectation of some space time foam model is, that a,b > should be roughly 1.

OK. Any idea how generic this expectation really is?

> compared to a rather short duration of the event ( ~ days).

What's this timescale have to do with it? They must be assuming they can identify photons emitted at the same time since they're measuring the arrival time difference in milliseconds.

<comment><USER4> >> And the general expectation of some space time foam model is, that a,b should be roughly 1.

> OK. Any idea how generic this expectation really is?

I can't comment on this case specifically, but the entire notion of the "Planck energy" is based on that idea: that once you've found the combination of fundamental constants with the right units, the numerical coefficient that multiplies it will wind up being within one or two orders of magnitude of 1. By some miracle, the vast majority of systems in physics seem to match such expectations.

<comment><USER2> No no, I get the basic idea of making estimates based on dimensional analysis. My question is: how generically do we expect the dispersion relation to be of this form? I could imagine, for example, that differences in speed are exponentially suppressed by the ratio E_gamma/M_p.

<comment><USER3> It is just a Taylor expansion around c_0. And since we do not observe any strange effects we know that it should kind of work. (That the speed of light should be well behaved.) In addition the planck mass is the only constant, that we know of, which fits there.

</comment></comment></comment></comment></comment></comment><comment><USER5> This is interesting, since the MAGIC telescope [1], a gamma ray detector, had some potential evidence _for_ quantum foam:

> A much more controversial observation is an energy dependence in the speed > of light of cosmic rays coming from a short burst of the blazar Markarian > 501 on July 9, 2005. Photons with energies between 1.2 and 10 TeV arrived 4 > minutes after those in a band between .25 and .6 TeV. The average delay was > .030±.012 seconds per GeV of energy of the photon. If the relation between > the space velocity of a photon and its energy is linear, then this > translates into the fractional difference in the speed of light being equal > to minus the photon's energy divided by 2×1017 GeV. The researchers have > suggested that the delay could be explained by the presence of quantum foam, > the irregular structure of which might slow down photons by minuscule > amounts only detectable at cosmic distances such as in the case of the > blazar. [2]

[1] <http://en.wikipedia.org/wiki/MAGIC_(telescope)>

[2] <http://www.news.ucdavis.edu/search/news_detail.lasso?id=8364>

<comment><USER6> > potential evidence

That's the most forceful language you can really use in this situation.

</comment></comment><comment><USER7> Did other scientists have similar ideas at the time, that would lead us to the same conclusions today, but Einstein always got the spotlight because he was famous, or would 2013's technology and science look different today if it weren't for Einstein?

I mean is it more like with Edison "inventing the lightbulb" (many others did at the same time, or would've done it soon anyway), or would things be fundamentally different today?

<comment><USER8> Yes, other scientists had similar idea at the time, but the papers Einstein wrote were groundbreaking all the same. Those papers made Einstein famous, so it's not as if others' contributions are overlooked because of his prior fame. The only rumored stain on his character is that he "stole" ideas from Poincare's and Pauli's prior papers, but people who make those claims don't really understand how the scientific publishing process works. Even Edison [edit: I meant Einstein, not Edison] stood on the shoulders of giants.

<comment><USER9> > _Even Edison stood on the shoulders of giants._

Sorry? "Even" Edison? Especially Edison. The man was a charlatan and a crook.

<comment><USER10> From vor_, who is dead

> This article might interest you: > [http://www.forbes.com/sites/alexknapp/2012/05/18/nikola- > tesl...](http://www.forbes.com/sites/alexknapp/2012/05/18/nikola-tesla- > wasnt-god-and-thomas-edison-wasnt-the-devil/)

<comment><USER11> And this point-by-point rebuttal would definitely interest you: <http://theoatmeal.com/blog/tesla_response>

</comment></comment></comment></comment></comment><comment><USER12> Can anyone comment on the impact of this result on the theory of Loop Quantum Gravity (LQG)?

My understanding is that one of the predictions of LQG is that photons of higher energy are likely to lag behind those of lower energy due to propagation through spin-foam (meaning velocity isn't c but dependent on energy or frequency).

It seems like this is what they're getting at in [1]...

Would something like this categorically invalidate something like LQG or merely some of its assumptions?

[1] [http://phys.org/news/2013-01-spacetime-smoother-brew- knew.ht...](http://phys.org/news/2013-01-spacetime-smoother-brew-knew.html)

</comment><comment><USER13> It's really not acceptable that the author of this article can't even consistently use 'photon' instead of 'proton'. Can we stop advertising pop sci summaries that fail to handle summarizing papers?

</comment><comment><USER14> Interesting! I've read in one Scientific American edition about this and about what the Prof. Craig Hogan is studying:

<http://arxiv.org/find/astro-ph/1/au:+Hogan_C/0/1/0/all/0/1>

In his current work he is developing the theory of a proposed new phenomenon, which he calls "holographic noise", a fundamental, universal uncertainty in the fabric of spacetime, akin to pixelation in an imperfectly sampled digital audio file or video display. The theory may lead to the development of experiments that could allow a direct measurement of the minimum interval of time.

<http://astro.fnal.gov/people/Hogan/>

</comment><comment><USER15> Space Time may look smooth at the Plank resolution, but space time quantification at a much lower resolution is still possible. Beside if the quantification is organized as a regular 3D lattice and not "foam bubbles" then the space time quantification theory [1][2] would not be invalidated by the experiment.

[1] : <http://www.meessen.net/AMeessen/STQ/STQ.pdf> [2] : <http://www.meessen.net/AMeessen/STQ/STQ2.pdf>

</comment><comment><USER16> _If this foam indeed exists, the three protons (sic) should have been knocked around a bit during their epic voyage. In such a scenario, the chances of all three reaching the Fermi telescope at virtually the same time are very low, researchers said._

How in the world do you get from point A to point B in this line of reasoning? They received three photons of similar wavelength at a similar time. Everything else seems to be some stuff they made up.

<comment><USER17> This is a summary of a presentation, not a paper, so it doesn't have all the details.

I thought the model was pretty simple to infer. Gamma rays are rare. GRBs dump a lot of energy out at the same time; enough that we can get a spectrum. Given the observation date, it's easy to find that this was GRB 090510, which was a short burst of 0.33 seconds. It was detected by Fermi-LAT, so that gives somewhere under a degree of angular resolution.

Few gamma rays normally, huge numbers at once, from the same direction, means that few of huge numbers are going to be background, and likely means that those gamma rays came from the same source.

Still, it might be a coincidence, which is why the summary we both read includes the phrase "There is a possibility of a statistical fluke, or that space-time foam interacts with light differently than we imagined," and mentions "If future gamma-ray bursts confirm this."

How did you not draw this same inference?

<comment><USER16> _How did you not draw this same inference?_

The problem I have isn't with the inference that the photons came from GRB 090510, but with the idea that anything can be inferred about the medium they passed through.

If quantum-foam fluctuations can be assumed to be uniformly distributed along the paths of all three photons, then the number of disturbances encountered by a photon is proportional only to the photon's path length. Here, the path lengths of all three photons are enormous and essentially identical, so it seems reasonable to assume that each one encounters a similar number of quantum "potholes," and that no difference in their arrival energies/times/whatever would be noticeable on a millisecond scale.

<comment><USER18> They would drift apart _from each other_ , in a manner somewhat similar to the brownian motion. Essentially, small-scale foam would be similar to a slight inherent "blur" of the vacuum for gamma rays.

<comment><USER17> As well, some gamma rays which weren't exactly directed towards the earth would be nudged towards us, given it a slightly longer path.

</comment></comment></comment></comment></comment><comment><USER19> Does that mean Hawking radiation [1] doesn't exist? Matter, anti-matter pairs being created on opposite sides of the event horizon of a black hole and thus not being able to pop out of existence.

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

<comment><USER20> The article is a bit dodgy in this regard. It just means that at a quantum level, the energy fluctuations (as observed in this experiment) are not big enough to cause significant space-time alterations.

<comment><USER21> Surely over such a long distance, the staggeringly huge number of extremely small genuinely random changes would cancel out?

<comment><USER22> I'm interested why you would think that.

If the situation was chaotic (which I would presume a system with many random perturbations to be) the expectation is for the repeated small changes to have a significant impact.

<comment><USER23> My guess would be this would be true only if they were coherent, and the resonant frequency were some multiple of the Planck length. The many small random perturbations would largely cancel each other out and the remainder would be insignificant (not energetic enough) to meet the lowest energy requirements to nudge a photon by even a miniscule amount.

</comment></comment></comment></comment></comment><comment><USER24> This is what I sometimes lament about astrophysics, N=1 is sufficient for proof. It's one observation of one event. You can't make any claims about that unless it's a direct violation of some which will occur 100% by theory. In this case there is no such guarantee.

<comment><USER20> Proof is a word that shouldn't be used lightly. I don't think anyone would see this as proof that quantum foam doesn't exist. The laws of physics allow for quantum foam to happen, which may lead us to start looking very differently at the structure of the universe. However, we now have some strong evidence from measurements over a reasonably large distance that quantum foam is not an immediately noticeable factor in the universe.

I kind of liked quantum foam as a possible way of explaining gravity observation that are not explained by the amount of visible matter and thus attributed to 'dark matter', because 'matter' is the only thing we know that would cause gravity. This tells me I shouldn't get too excited about that possibility.

</comment></comment><comment><USER25> It seems to me the art of reasoning is one that is slowly dissipating as the quick access to information continues to infiltrate all aspects of our lives and replace the need to deduce. It is quite amazing that someone who lived quite a while ago, before the boom of science/technology, could be so accurate simply through the power of observation, logic and reasoning.</comment>


Ben Daglish (1966-2018) - <AUTHOR> https://en.wikipedia.org/wiki/Ben_Daglish <comment><AUTHOR> BEN DAGLISH - UNSEEN - A TRIBUTE!: [https://www.youtube.com/watch?v=hF9mwPUY6b4](https://www.youtube.com/watch?v=hF9mwPUY6b4)

Ben Daglish C64 music - RIP 2018: [https://www.youtube.com/watch?v=kVCPHW5GK9M](https://www.youtube.com/watch?v=kVCPHW5GK9M)

So many childhood memories. Music for for example these games:

* The Last Ninja (together with Anthony Lees) [https://www.youtube.com/watch?v=s6j0rhjKALg](https://www.youtube.com/watch?v=s6j0rhjKALg)

* Deflektor [https://www.youtube.com/watch?v=6WO5MOd4Y7o](https://www.youtube.com/watch?v=6WO5MOd4Y7o),

* Auf Wiedersehen Monty (together with Rob Hubbard) [https://www.youtube.com/watch?v=DQG8vkNG8aM](https://www.youtube.com/watch?v=DQG8vkNG8aM)

* Cobra [https://www.youtube.com/watch?v=wf0eYM1xnuc](https://www.youtube.com/watch?v=wf0eYM1xnuc)

* Krakout [https://www.youtube.com/watch?v=DNCdLRd7y9M](https://www.youtube.com/watch?v=DNCdLRd7y9M)

* Vikings [https://www.youtube.com/watch?v=ouPgpzGieo8](https://www.youtube.com/watch?v=ouPgpzGieo8)

And many other.</comment>


Ask HN: What is your I/O ratio? - <AUTHOR>

I'm spending more time learning and keeping myself updated than writing code. And you? <comment><USER2> I'm a student, so currently I'm probably at about 95% learning and 5% productive coding.

</comment><comment><USER3> 20% time learning, 80% time coding. Mainly PHP and ASP.NET.

</comment><comment><AUTHOR> freelancer, ruby and rails, 60% learning, 40% coding</comment>


Show HN: Bloom, a REST API Caching Middleware - <AUTHOR> https://journal.valeriansaliou.name/announcing-bloom-a-rest-api-caching-middleware/ <comment><USER2> I'm confused why varnish wouldn't work.

The stated use case is to have the backend making API calls to the cache layer to invalidate (purge) certain routes when they've changed.

You could absolutely do that with varnish.

<comment><USER2> Furthermore, the "documentation" on this makes it seem ridiculously simplistic in terms of its functionality.

Non authenticated pages are cached regardless of status? Http 500's are cached without an option _not_ to?

The requirement to set a "shard" http header seems to indicate that the http Host header is not used to identify a unique URL?</comment></comment>


The Chinese Own Us, and Other Fallacies - <AUTHOR> http://online.wsj.com/article/SB10001424052748704547804576260980673672952.html?mod=WSJ_Markets_RightMostPopular <comment><USER2> The problem with attacking fallacies is you run the risk of creating new ones in their place. That's exactly what this article does. I'll address each of his points...

China Doesn't Own Us: He rightly points out that China only owns about 10% of the nation's total debt (some say it's closer to 12% but same difference). The problem is most of that came in the last 5 years or so (China only became the largest US debtor in 2008). So while China doesn't "own us" their increasing amount of US debt on a yearly basis makes us beholden to them because the economic crisis caused most of the other sources of money to dry up. So if we can't stop ourselves from spending more than we take in we'll have to start dancing to China's tune.

(Something to note about the above point is China owns a lot more than is immediately clear. So, for example, Japan owns almost as much US debt as China but China has been buying Japanese debt at a record pace)

The deficit will shrink dramatically: People who quote OMB numbers are being dishonest because those numbers are almost always wrong. The OMB (like the Congressional Budget Office) answers to politicians and they make their assumptions based on the figures given to them by politicians. If the politicians say this budget will cause unemployment to drop to 4% than the OMB makes its calculations based on that assumption. But politicians always want to paint a rosy picture which is why the numbers that come out of the OMB and CBO are always too optimistic

The US has the highest corporate tax rate: He doesn't dispute that but his point is "it's been higher in the past". That's true but not really relevant. In terms of corporations we compete with other nations. Where a large corporation chooses to put its HQ is largely based on the corporate tax rate since that same corporation can have satellite offices in other countries. So it really is an issue that our corporate tax rate is so high (though not that big an issue since, as the author points out, most corporations cheat the system and pay virtually no taxes which is a problem)

I actually don't disagree with the author on a lot of his conclusions (I believe the Bush tax cuts need to go, that we need tax reform, and so on). But he's painting inaccurate pictures here and that bugs me.</comment>


What Steve Jobs really wants - <AUTHOR> http://beust.com/weblog/2010/09/22/what-steve-jobs-really-wants/ ... market share. Never mind what Daring Fireball says. <comment><USER2> "Pop quiz: If you are making a lot of money with 5% market share, how much money will you be making with 10% market share?

That's right, twice as much."

No, that's a misunderstanding. Double market share != same product/service at same price x double number of sales.</comment>


Has Facebook reached a tipping point?  - <AUTHOR> http://www.hindustantimes.com/Has-Facebook-reached-a-tipping-point/H1-Article1-570414.aspx <comment><USER2> maybe in users, but there margins can still improve a lot.</comment>


A new algorithm for finding a visual center of a polygon - <AUTHOR> https://www.mapbox.com/blog/polygon-center/ <comment><USER2> While their approach is clever, it is not guaranteed to converge in a fixed number of iterations. Author states that constrained Delaunay Triangulation is "slow and error-prone". I disagree -- I've implemented parallel and recursive Delaunay on GPU before, and it converges in a fixed number of recursions -- for a taste of the general approach, see here:

[http://www.comp.nus.edu.sg/~tants/jfa/i3d06-submitted.pdf](http://www.comp.nus.edu.sg/~tants/jfa/i3d06-submitted.pdf)

JFA could certainly be "abused" for this purpose.

<comment><USER3> Thanks for posting this. I was convinced that Delaunay triangulation was a good example of irregular parallelism - something that fundamentally doesn't work well on a GPU, and have been telling people this for years, so I'll look forward to reading the paper. (A Voronoi diagram is just a different way to show a Delaunay triangulation isn't it?)

<comment><USER2> I was running this on (high end) GPUs back in 2011, in real-time (30fps), on 1920x1080 video textures. I can confirm that the clever recursion and performance of this is mind-boggling. Oh, and you get a distance transform out of it as an intermediate step, just for giggles. My general take is that while linear kernel-thinking in parallel might get nowhere, this is a prime example of recursion solving the problem when parallelism is available. I wish I could claim to have invented it... :)

<comment><USER4> That sounds fascinating, can you explain the project a bit more?

<comment><USER2> We were doing GPU-based 2D-3D conversion for HD and 4K and one of the intermediate steps required that we compute a DT (distance transform), and JFA was perfect for this. The DT was used along with a Hough transform (also real- time) to conduct vanishing point and geometry analysis.

</comment></comment></comment></comment></comment><comment><USER5> Beautiful! I would love to see an animation of it in action (a la [https://bost.ocks.org/mike/algorithms/](https://bost.ocks.org/mike/algorithms/))!

</comment><comment><USER6> By pure coincidence, I just had a discussion at work the other day on how to automatically place labels for clusters on tSNE plots. It looks like all I need is a sensible way to convert the points to a polygon first (convex hull won't work here, for obvious reason)

<comment><USER7> There are ways to get the most "typical" (I think there is a better term for that) sample of a cluster, which should usually lie in the center of the cluster. AFAIK that's the traditional way to achieve what you are trying to do.

<comment><USER6> The clusters on our tSNE plots tend to be stretched out, have concave bits and en up intertwined - we'd have the exact same problem outlined in this article.

In fact, that was the whole reason we started discussing it, since I initially proposed just doing what you suggested

<comment><USER7> Good to know! I must've been lucky, since most tSNE plots I've worked with were pretty tame in that respect.

</comment></comment></comment></comment><comment><USER8> What's wrong with "the lawnmower approach"? Imagine you're mowing the lawn in a spiral from the outside in. When a section is completely mowed, just continue spiraling in the remaining area. The center is the last place with high grass. The only drawback I see is that you could get multiple answers for certain shapes. But for the ones in the post, I think the answer is about the same.

<comment><USER9> That would give you the thickest part of the shape, not necessarily the center. If I'm understanding correctly anyway. E.g. imagine a long skinny shape with a big thick circle at the end. The lawnmower would finish shaving the main part of the shape and declare the circle the center!

If I had to design an algorithm to do this, my idea would be to sample a bunch of points on the polygon, then take their median x and y values. Then find the closest spot on the polygon to that value, if it's not inside the polygon.

<comment><USER10> > That would give you the thickest part of the shape, not necessarily the > center.

But we're looking for the "visual center," defined in the article as "a point inside a polygon with as much space as possible around it."

<comment><USER9> Right, but I think that definition falls apart if you look at pathological shapes instead of nice convex ones. If you just randomly generate polygons, the thickest part of the shape can appear anywhere, including a very far off edge. And if you cut a tiny opening into that part of the shape, the center would completely move.

</comment></comment></comment></comment><comment><USER11> But does the "pole of inaccessibility" actually work?

Imagine a long rectangle.

The pole of inaccessibility will be a range along most of the length of the rectangle... it won't find the center at all!

Even the illustrated "coastline" example is horizontally centered only by chance, because that happens to be the thickest part.

So not clear at all this finds a plausible "visual center" by any means.

<comment><USER3> > The pole of inaccessibility will be a range along most of the length of the > rectangle

How could it be a range like that? Surely some points on the range would be closer to the short edges than others, making them more accessible?

<comment><USER12> The range is a line parallel to the long edges that runs down the center of the rectangle. It ends when it gets closer to the short edges than it is to the long edges.

</comment></comment></comment><comment><USER13> Interesting - but how does the author know this isn't already present in proprietary software, but hidden? I get a little nervous about claims to novelty when e.g. Esri has decades of research behind its labelling algorithms.

</comment><comment><USER14> Clever. I love to see when complex problems can be easily approximated using existing algorithms and techniques. Very cool!</comment>


Rails employee expected to spend 50% of his time doing what he desires - <AUTHOR> http://jamesgolick.com/2008/7/7/mat-martin-joins-giraffesoft <comment><USER2> I could say we're doing 100% time in my company. We don't have offices or office hours, and no micro-management. Myself and the other coder/designer do what we do because we want to, and because we're damn proud of designing the best damn product (and making a good bit of money at it).

I've found, in practice, that I do my best work when doing what I really want to do. So, being the project manager as well as a programmer, I've set up the management structure so that we commit to doing 6 user-visible items per week (split into 3 mini-iterations, times 2 people). Our business guy (who happens to be the CEO, sort of.. but we don't like titles) is happy, since he get (at least) six new things to show users and get feedback on each week. We're happy, since we get to spend our time working on the bits that we really care about, or that we feel need attention, whether visible or not.

In practice, I work extremely hard on this business, but not because of working hours. As an example, on Saturday I spent about half a day doing a fairly significant refactoring of a part of our Flex code. This morning I spent a few hours building a connection status monitor. All of these are tasks that could take forever if they were "official" tasks in a more structured environment, but because I want to do them they take comparatively little time, and are literally given birth to in a rush of caffeine and enthusiasm.

Anyway, boiling it down to a point: if you've done your hiring (for lack of a better word) right and motivated your team well, you can just set things up so they'll spend 100% of their time doing whatever the hell they want, and you'll get brilliant results. The minute you find yourself counting hours, you've failed miserably.

</comment><comment><USER3> Based on recent experiences, I suspect he's more likely to spend 50% of his time getting a production deployment environment set up.

<comment><USER4> Is this still the state of Rails Deployment these days? I thought they had improved it over the past couple of months.

<comment><USER2> No, it's not. The grand parent poster is just spreading FUD.

<comment><USER3> If only I was. I'm an experienced developer and unix sysadmin and it still took two full-time days to get a working production-grade rails system installed on top of ubuntu.

I'm no rails guru, but I still thought that was an incredible amount of time to be spending installing and configuring things.

<comment><USER2> Well, what can I say. I was in the exact same situation about a year ago and it took me about 4 hours to set up a whole new Ubuntu server with Rails, nginx, Mongrel, MySQL, deployment via capistrano, Subversion, etc. That was the first time, nowadays I can install that stack in about 2 hours tops (manually).

Methinks you should upgrade your tool kit if it took you two days to do this.

</comment></comment></comment></comment></comment><comment><USER5> Not really news. Many real open source influencers get hired by companies to work on their ideas 100% of the time.

</comment><comment><USER6> Seems like a bad deal for him if the results of his 50% time is owned by mr gloslick.

If you spend time to contribute to the Rails community, you can easily find consulting jobs and get to keep 100% of your work (without the middleman). I'm not sure I understand the story here.

<comment><USER7> _If you spend time to contribute to the Rails community, you can easily find consulting jobs and get to keep 100% of your work (without the middleman). I'm not sure I understand the story here._

I think the idea here is that the company is taking on the risk of finding actual work for him. If you are freelancing, sure, you have 100% of your time to do whatever you want. But you also need to eat, and that means you waste time hunting down jobs, taking specs, communicating with clients, etc. If you work for a company, someone else does that and you just do the work as it's assigned. The rest of your time is for open source stuff.

I am in a situation like this. Sure, my time is billed at $175 an hour, and I only see a small porition of that. But usually I have about 90% of my time to work on open source projects, and I get the same paycheck (and insurance benefits) every month.</comment></comment>


Spot the fake smile - <AUTHOR> http://www.bbc.co.uk/science/humanbody/mind/surveys/smiles/

<comment><USER2> I've always imagined myself quite good at this sort of thing but this is the first time I've ever tested it. I got 18/20 and the 2 I missed were 1st and 3rd, so it was before I really got into it, I think. By the 4th or 5th one my brain had remember what to look for and the rest were pretty easy.

<comment><USER3> Similar. I got 16/20 and 3 of my misses were in the first 4.

</comment></comment><comment><USER4> This test is unfair, a lot of people have a really weird face and i can't even concentrate on the smile because i'm too busy going "WTF?"

Edit: Wow i still got 18/20, wasn't expecting that

</comment><comment><USER5> It's quite obvious that the "genuine" people were made to laugh. The giggles give it away. It spoils much of the experiment.

</comment><comment><USER6> From the site: "Although fake smiles often look very similar to genuine smiles, they are actually slightly different, because they are brought about by different muscles, which are controlled by different parts of the brain."

I got 12 right out of 20.

</comment><comment><USER7> 15/20. Always been told to watch the eyes.

</comment><comment><USER8> 15/20

</comment><comment><USER9> 19/20. I've done this before because Dr Eckman's work interests me. I always misinterpret Asian smiles, for some reason.

</comment><comment><USER10> 15/20</comment>


Rust in 2018: easier to use - <AUTHOR> https://jvns.ca/blog/2018/01/13/rust-in-2018--way-easier-to-use/ <comment><USER2> I expect a "it's easier to use" evangelism push around the upcoming epoch release. There are a bunch of mostly completed but still feature flagged changes that should remove a lot of the borrow checker toe stubbing. Getting rustfmt (formatter) and clippy (linter) on stable Rust would ideally be part of the push.

Aside from the almost completed features in the pipeline, I only see procedural macros (macros 2.0) and whatever happens to make async code easier to write[1] really impacting day-to-day code for most people.

[1] I'd really like to see F# Computation Expressions instead of async/await. I know the language experts have said Haskell-like do notation doesn't work in Rust but I'm not sure if the F# tweaks would make it work or not.

<comment><USER3> Why anyone would name anything "clippy" again is beyond me.

<comment><USER4> Clippy is reborn from its ashes into a cultural icon; it made you react, therefore it's a fun name to choose. Kakoune uses a clippy ASCII art for its immediate help, it's nice.

<comment><USER5> > Kakoune uses a clippy ASCII art for its immediate help, it's nice.

Had to look this up - very cute!

[https://github.com/mawww/kakoune#screenshots](https://github.com/mawww/kakoune#screenshots)

[https://raw.githubusercontent.com/mawww/kakoune/master/doc/s...](https://raw.githubusercontent.com/mawww/kakoune/master/doc/screenshot-i3.gif)

<comment><USER6> Their choice of executable name is slightly unfortunate in Dutch, where 'kak' basically means 'shit'.

<comment><USER7> I think "kak" would be better translated as "poo". Parents will routinely talk to their kids about "kak", similar to the way US parents will use the word "poo". The word "shit" generally has a much stronger meaning (and is therefore often obscured, as "s..t" or something similar.

<comment><USER8> I think "kak" still would be translated better as "shit", you wouldn't curse with "POO!". But in Dutch you can curse with "KAK!", just as 'SH*T!' in English.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> This is going to sound weird, but I would like to see a garbage-collected Rust. Take away the borrow checker, and you still have a modern language with UTF-8 support out-of-the-box, algebraic data types, pattern matching, a focus on performance, and great tooling (cargo + rustup = <3).

OCaml almost fits the bill (Rust is inspired by OCaml after all), but the tooling around it is lacking to put it mildly.

<comment><USER10> F# sounds like it fits the bill. ADT, pattern matching, performant, great tooling (multiple amazing IDEs, a REPL, etc.), and a huge ecosystem of software packages to use with it (all of .NET). It's my favorite general purpose programming language (can be used for frontend programming, server, mobile apps, etc.).

<comment><USER11> F# has hit a huge sweet spot for me in productivity, strong typing, inferred typing, multi-paradigm and syntactic sugar. The tooling just gets better and better. I struggle to think of a language that's so well rounded.

<comment><USER12> Couldn't agree more. My only wish is more people would use it.

<comment><USER13> My wish too! I have no issues with F# on Windows or Linux using .NET Core I use F# as my general high-level language and Zig as my C replacement/Rust alternative for low-level work. I can gradually re-write C stuff in Zig, and be productive.

      [1] - ziglang.org

</comment></comment></comment></comment></comment><comment><USER14> The error messages are indeed _mostly_ marvelous (and there's an ongoing effort to make them even more marvelous). Often working with `rustc` feels like pair programming for introverts. But here's a question: `rustc` often gives _actionable_ advice - how far can can you get just following that advice? You can make `rustc` happy by following suggestions, but may end up puzzled as to the reasons for the changes it suggests.

<comment><USER15> Having some understanding of difference between value and reference types types (from c or c++) and reading documentation a bit might be necessary. Error messages sometimes also contain links to documentation in case you have no understanding of the topic. The most common problems I had so for was due to incorrect level of indirection. In such cases the cause is quite clear function returned/expected reference/value/Option<val>/Option<&val> and you tried to assign it to something else. Suggestions help learning how standard library API behaves without opening API reference. In case of unwrapping Option or limiting borrows lifetime the code may get a bit messy. In such case I recommend reading documentation/searching internet as there might language or standard library feature (sometimes even in the link given by error message but not message itself) that helps writing it cleaner without brute forcing the code. Due to type checking it is difficult to mess up worse than making ugly code or moving away object you didn't want(which will be pointed out by compiler if you try to use it afterwards).

<comment><USER14> Oh yes - there will be some explicit type like std::vec::Vec<&std::string::String> in the error and that all-important '&' gets lost in the verbosity. Definitely necessary to learn to see the needle in that haystack. (Some have proposed simplifying the explicit types if no confusion results, but this could always done by a post-processor. I saved some of my sanity when doing C++ this way)

<comment><USER5> > and that all-important '&' gets lost in the verbosity

Perhaps some console colouring could help as well. I'd really like some type diffs on type mismatch errors (I think Dotty has this?). That could be super handy for quickly diagnosing errors - speaking as a reasonably experienced Rust user here.

<comment><USER14> Well, we already have a christmas tree colour issue. I think rustc could do better here - check whether types differ by only '&' and put out a hint. That is, by adding/removing &, could the error have been resolved?

</comment></comment></comment></comment></comment><comment><USER16> Out of curiosity, how is the embedded story (for both bare-metal and RTOS) in Rust nowadays? I took a look early last year, and I remember feeling that the ecosystem still wasn't as mature as I liked.

There's svd2rust [0] and dslite2svd [1], which is basically "bindgen for hardware". Please do correct me if I'm wrong, but from what I understood [2], most SVD files leave out a lot of information so a lot of what svd2rust generates is unsafe. Seems like the only way around that is to patch the SVD files. Is this still the case?

In addition, what about compiling with no stdlib? And how does that interop with existing Crates (ie. do new "embedded-specific" Crates need to be created?)

Super excited to see Rust gain traction! I'll definitely take another shot in my free time and see how the ecosystem has matured.

[0] [https://github.com/japaric/svd2rust](https://github.com/japaric/svd2rust)

[1] [https://github.com/m-labs/dslite2svd](https://github.com/m-labs/dslite2svd)

[2] [https://www.reddit.com/r/rust/comments/687b3l/embedded_in_ru...](https://www.reddit.com/r/rust/comments/687b3l/embedded_in_rust_rust_your_arm_microcontroller/dhby29s/?context=1)

<comment><USER17> I tried exploring no_std Rust recently, and found it to be quite frustrating. After just using a Result type I was getting errors of things like `eh_unwind_resume` being undefined. Toggling LTO rectified my problems but didn't give me much confidence in reliably using no_std

<comment><USER18> `-C panic=abort` compiler option should have fixed the problem. If you want to be able to intercept panics, you need to provide implementations for `eh_unwind_resume` and `eh_personality`.

<comment><USER17> Perhaps it's just an issue of me not being educated enough with this kind of low-level Rust. Setting panic to abort in the cargo config did indeed fix `eh_personality` being undefined, but `eh_unwind_resume` still seems finnicky. Building in release will work, but building in debug will still complain

<comment><USER18> I'm a little rusty on the topic, but it seems ([0]) that adding `#[no_mangle]` before `panic_fmt` should fix it.

[0] [https://github.com/rust-lang/rust/issues/38281](https://github.com/rust- lang/rust/issues/38281)

<comment><USER19> See also [https://doc.rust-lang.org/nightly/unstable-book/language- fea...](https://doc.rust-lang.org/nightly/unstable-book/language- features/lang-items.html#writing-an-executable-without-stdlib)

<comment><USER17> Even specifying `eh_unwind_resume` as a lang item gives me a linking error in debug builds.

<comment><USER19> Did you define them exactly the same way? Every aspect has to be identical; extern, no mangle, function name, arguments, lang item.

If this happens to be open source, I can take a look at it.

<comment><USER17> I just whipped this up yesterday to test if I was still having the same issues. Debug fails to build with a linking error "undefined reference to `_Unwind_Resume`". Release build works fine.

I'm using rustc 1.25.0-nightly on Ubuntu 17.10

[https://gist.github.com/jefftime/d7e96461138b5aa6895550b63ca...](https://gist.github.com/jefftime/d7e96461138b5aa6895550b63caac66c)

<comment><USER19> The lang item symbol names need to be prefixed with rust_ like this: [https://gist.github.com/steveklabnik/5abd59a8fe7e5abda3db58b...](https://gist.github.com/steveklabnik/5abd59a8fe7e5abda3db58bd8c208fbb)

<comment><USER17> This didn't fix the compilation errors for me. I can set my own no_mangle pub extern `_Unwind_Resume` function (without declaring it a lang_item) and fix the undefined reference that way, but I'm pretty sure that's not how one's supposed to solve this

<comment><USER19> Hm, it compiled for me. Well, it didn't know about the C functions that were being linked in, but it didn't complain about the lang items.

You should file a bug, maybe.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> Agreed. I've played with Rust on and off since ~v0.8. I tried to get through the Matasano crypto challenges a few years ago and gave up after hitting a few language hiccups. I recently gave it another go, and it's _much_ easier to use now.

I must have written around a thousand lines before needing a lifetime annotation, vs. something like 30 lines two years ago.

<comment><USER21> The Matasano crypto challenges seem interesting and remind me of Project Euler. I used the latter to help learn Python a little, and I think the former would be even better for Rust!

</comment></comment><comment><USER22> Julia writes she wouldn't yet use Rust to write webservices. Right there, this could be the mission for 2018.

[http://www.arewewebyet.org](http://www.arewewebyet.org)

Nobody with a sane mind would write C or CPP micro-services, but post-Spectre and Meltdown any reclaim in performance is tangibility valuable. Rust could be the one to swoop in and claim the position

<comment><USER23> Neither I think Rust is fit for that purpose, any GC language is a better fit in terms of productivity, unless we are speaking about tiny IoT devices with a few KBs.

Also, it is not yet fit for writing GUI code. It is quite far from what is possible to achieve today in Qt/WPF/Cocoa/Android/... tooling and even the latest NLL improvements don't fix all issues regarding writing callbacks.

<comment><USER24> Writing GUI with rust is totally possible: [http://gtk-rs.org/](http://gtk- rs.org/)

<comment><USER23> It is possible, but far from productive, which I learned exactly by trying to use Gtk-rs to port an old basic Gtkmm demo, that I used for a C/C++ Users Journal article.

<comment><USER25> Wasn't Rust invented to write a GUI? A webbrowser can be regarded as a kind of GUI.

<comment><USER26> There aren't any good GUI libraries available for Rust at the moment. GUI libraries are huge and take an enormous amount of work to get right. It's typically only the most popular three or four languages at any given point in time that have satisfactory GUI libraries. Rust has the additional burden that it is far from trivial to wrap Gtk, Qt or other C/C++ toolkits in a safe manner.

<comment><USER25> Didn't Mozilla write a GUI library before they wrote Firefox? It would strike me as odd if they didn't.

<comment><USER26> There is no mature GUI library for Rust that I'm aware of. I believe the servo project is focused on writing a browser rendering engine, not a browser GUI. It certainly has not so far yielded a GUI toolkit that can be straightforwardly used in other projects.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER27> Just an idea: I wish there was an official wiki in the lines of Arch Wiki that shows how to do things with Rust with lots and lots of examples.

True there is the Rust Programming Language v2 book and several other learning resources online, but they all carry redundant information and pass it on the user to discover what they want to learn. A legendary wiki which acts like a cookbook of all things Rust could be awesome and anyone can pick what they want to learn about and go at it.

I would happily contribute and do it, but I'm just starting to learn Rust. Perhaps it is easier for other experienced Rustaceans to do it right.

<comment><USER28> [https://rustbyexample.com/](https://rustbyexample.com/)

<comment><USER27> Thanks for the link.

I thought it was a small effort to show around the language features. Like a live(runnable code) version of the Rust programming language book. Very useful for someone trying learn the language feature by feature.

What I'm writing about is a how-to style wiki. For example,

How to do things with Rust:

How to read from stdin?

How to read and write from a text file?

How to make a REST API call from Rust?

How to parse JSON content in Rust?

How to connect to PostgreSQL in Rust?

How to issue Unix commands to a remote host via SSH using Rust?

How to create threads for parallel work in Rust?

You get the idea..

<comment><USER5> The Rust Cookbook has made a start on this too! [https://rust-lang- nursery.github.io/rust-cookbook/](https://rust-lang-nursery.github.io/rust- cookbook/)

<comment><USER27> Thanks for posting the link. Precisely what I was talking about! They are very useful to play around with the language ecosystem.

If I learn something new, I'll try to add to their repo.

</comment></comment></comment></comment></comment><comment><USER29> Surprised no one mentioned the long compile times yet.

For me, while I'd really like to try Rust, these are a deal-breaker.

<comment><USER30> Looks like incremental compilation has been enabled in nightly: [https://github.com/rust-lang/cargo/pull/4817](https://github.com/rust- lang/cargo/pull/4817)

<comment><USER29> That's a welcome improvement from last time I looked at it.

Does anyone know a ballpack figure for how many LoC/s you can expect on a beefy workstation?

<comment><USER19> It really depends. That is, thanks to monormorphization, 1 LOC in your source doesn't necessarily mean 1 LOC compiled by the compiler.

Furthermore, this is the start of incremental: we have more stuff coming down the pipeline.

</comment></comment></comment></comment><comment><USER31> Anyone has suggestions on learning rust for a python programmer who is also not strong on systems concepts?

<comment><USER32> Depends what is your goal. Learning a language with decent type system? Learning a language with lower level access to operating system features? I would suggest to learn OCaml because it got really popular in 2017 thanks to Facebook & Bloomberg, it has an amazing type system and you can use it to build CLI tools and web pages (Reason/Bucklescript) with an insanely good tooling (utop, jbuilder, merlin) and the community is probably the best community of software engineers I have encountered recently. If you are interested in lower level coding there is Mirage as well.

[https://discuss.ocaml.org/](https://discuss.ocaml.org/)

<comment><USER33> I used OCaml a few years ago and I thought it was an excellent language. Despite being powerful it was really easy to learn.

One thing that put me off in the end was that it didn't support native OS threads (I have the same problem with Racket). Has threading support improved over the years?

<comment><USER32> I am not sure what exactly you are missing, isn't this a native OS thread either POSIX or Win32?

[http://caml.inria.fr/pub/docs/manual- ocaml/libref/Thread.htm...](http://caml.inria.fr/pub/docs/manual- ocaml/libref/Thread.html)

<comment><USER33> The documentation that you linked to is not describing native OS threads. I am sure that the OCaml implementation is good for a lot of applications.

However, because I am used to writing multithreaded code using pthread or std::thread, I find the standard OCaml model uncomfortable and limiting. Its mostly a matter of personal taste but this is the reason I stopped using OCaml.

</comment></comment></comment></comment></comment><comment><USER34> _> like – maybe Rust is not for people who are already C++ experts and who are happy with C++? I don't know!_

I think Rust is very good for C++ experts. Some key concepts like ownership / RAII and etc. are well known in C++, and they should be easy to understand.

<comment><USER35> Yeah, people with C++ experience have an advantage when learning Rust, since they're used to these concepts, and the Rust compiler enforces things they already know to be careful with (like not mutating a container while there's a live iterator to it). On the other hand, Rust lacks some things C++ has like being generic over values instead of just over types, so for instance implementing a trait for every fixed-size array of a type is currently AFAIK not possible (the usual solution is to use a macro to manually implement the trait for every size up to 32).

<comment><USER36> As someone who's extremely comfortable with C++, I've tried Rust multiple times but keep bouncing off. Ultimately my problem is just that it doesn't have enough exciting features to lure me away, especially with C++ improving every few years.

Compiler-enforced safety and a built-in package manager are really nice, but it doesn't quite make up for the loss of a lot of handy C++ features.

<comment><USER19> Which features do you miss the most?

</comment></comment></comment></comment><comment><USER37> I'm learning Rust by writing graphical / glitch art software. Not too much exposure to 'systems' programming although color spaces are more complex than you'd think. Performance is important when you shuffle thousands of pixels around, and some of it is easy to parallelize.

</comment><comment><USER38> Is there something like Helix (Rust) for Python?

<comment><USER19> My siblings have given good answers, but there's also [https://blog.sentry.io/2017/11/14/evolving-our-rust-with- mil...](https://blog.sentry.io/2017/11/14/evolving-our-rust-with-milksnake)

</comment></comment><comment><USER32> Well it is super easy to develop hello world in Rust. Yay! Last time I checked there was no decent HTTP client and the documentation is just non existent for that subpar library. There were lost of promises about the newer version of async io library yet it is still WIP as of today. The performance was 30 times less than the same code in Java and after consulting many Rust developers nobody could tell me why.

It is new, it is shiny but lets wait its 10th birthday before it can be taken seriously and pls provide a decent async io / http library before we even get started what else can be done in Rust.

<comment><USER39> So if a language can't do HTTP and async I/O (with state-of-the-art performance) then we shouldn't consider any other possible application for it? Rust is not Java, you have better languages to build webservers with.

<comment><USER40> Yes, if a language can't easily do async IO and HTTP in 2018, it is in deep shit with regard to long term adoption. The Rust devs realize this, otherwise they would be putting less effort into tokio.

</comment></comment></comment><comment><USER41> Each time I try to read an article by Julia, I get alienated by the chidlish style of writing (count the exclamation marks and caps).

Which is a shame, because the article is otherwise fine.

<comment><USER42> You can probably just ignore that right?

<comment><USER43> I feel the same as OP in regards to spelling mistakes. It just erks me so much that I find it really hard to continue reading.

If someone hasn't bothered to take the time to proof-read their work, what does it say about the topic they are writing about? I don't mind if the mistakes are because they are learning English, but I'm talking about really obvious spelling mistakes.

<comment><USER44> Irks.

(I checked - TIL an 'erk' is a male member of the RAF of the lowest rank.)

Or did I just miss the ironic joke?

</comment></comment></comment></comment><comment><USER45> A guy w/ 10 weeks Rust experiance and already gave a talk at RustConf?!

<comment><USER46> The closing keynote at RustConf is generally someone who is new to Rust or has never used Rust but can bring in an interesting perspective. Last year we had Joe Duffy, who I don't think has done much Rust aside from perhaps basic experimentation, but has a lot of relevant experience from running the Midori (Microsoft's safe systems language) project.

(also, the author isn't a "guy")

<comment><USER47> It's interesting because when I read about how Rust can rewrite iterators code into more performant direct loops I thought about Joe's blog posts that mentioned the same efforts for .NET. Also Span<T>. It seems .NET will have similar abstractions like Rust (of course not all can be migrated).

<comment><USER48> LuaJIT does the same, down to an absurd level.

From the luafun library readme (which uses iterators under the hood):

[https://github.com/luafun/luafun](https://github.com/luafun/luafun)

————

> Let's see an example:

        > -- Functional style
        > require "fun" ()
        > -- calculate sum(x for x^2 in 1..n)
        > n = 100
        > print(reduce(operator.add, 0, map(function(x) return x^2 end, range(n))))
        328350

        > -- Object-oriented style
        > local fun = require "fun"
        > -- calculate sum(x for x^2 in 1..n)
        > print(fun.range(n):map(function(x) return x^2 end):reduce(operator.add, 0))
        328350

> _Lua Fun_ takes full advantage of the innovative _tracing JIT compiler_ to > achieve transcendental performance on nested functional expressions. > Functional compositions and high-order functions can be translated into > _efficient machine code_. Can you believe it? Just try to run the example > above with `luajit -jdump` and see what happens:

        -- skip some initilization code --
        ->LOOP:
        0bcaffd0  movaps xmm5, xmm7
        0bcaffd3  movaps xmm7, xmm1
        0bcaffd6  addsd xmm7, xmm5
        0bcaffda  ucomisd xmm7, xmm0
        0bcaffde  jnb 0x0bca0024        ->5
        0bcaffe4  movaps xmm5, xmm7
        0bcaffe7  mulsd xmm5, xmm5
        0bcaffeb  addsd xmm6, xmm5
        0bcaffef  jmp 0x0bcaffd0        ->LOOP
        ---- TRACE 1 stop -> loop

> The functional chain above was translated by LuaJIT to (!) _one machine > loop_ containing just 10 CPU assembly instructions without CALL.

</comment></comment></comment></comment><comment><USER49> \- "I'm an intermediate programmer"

\- "I'm writing a profiler"

\- "I wrote a mini-OS"

\- "I had a talk at RustConf"

Other than that, it's really good to see Rust improving.

<comment><USER48> Intermediate _Rust_ user. Obviously she excels at coding.</comment></comment>


How Linux got to be Linux: Test driving 1993-2003 distros - <AUTHOR> https://opensource.com/article/16/12/yearbook-linux-test-driving-distros?sc_cid=701600000011jJVAAY <comment><USER2> Memories. I remember playing around with Slackware in 1995/96 and being amazed at how much computing you got - for free. I remember the consensus at the time being "this is too good to be true, there's no way this is going to last." Now here we are 20+ years later and odds are if it has a processor then it's running Linux. Amazing.</comment>


Self-Proclaimed Multitaskers Aren't That Good at Multitasking - <AUTHOR> http://lifehacker.com/5345091/self+proclaimed-multitaskers-arent-that-good-at-multitasking <comment><USER2> I don't know about "classic tests", but I've successfully written fully- functional scripts while having a phone conversation, browsing HN and chatting on IM. You just have to set priorities. You obviously can't read something in as much depth, but it's great for reading for filtering out good stuff to read in more depth later.

</comment><comment><USER3> The original article excerpted in the lifehacker post: <http://news.bbc.co.uk/2/hi/technology/8219212.stm>

</comment><comment><USER4> I wonder how much money is being lost by businesses who buy multiple monitors for their employees and "allow" or encourage them to multitask?

<comment><USER5> I'm not sure that multiple monitors is about multitasking - you can only physically focus your eyes on a limited amount of screen; peripheral vision allows for more I guess. Multiple monitors (I've only ever used 1 or 2) just make task switching easier but I didn't find 2 monitors any better (more productive, more convenient) than simply using multiple screens in KDE.

</comment></comment><comment><USER6> I would argue that most "self proclaimed" anything aren't as good at their trade as they think.</comment>


Scientists to present car for blind drivers next year - <AUTHOR> http://news.bbc.co.uk/2/hi/world/us_and_canada/10497032.stm <comment><USER2> where do these schools get this funding?</comment>


HMRC 'plans to share tax data with private firms' - <AUTHOR> http://www.bbc.co.uk/news/uk-27086401 <comment><USER2> Looks like the uk government has found an entirely novel angle on the concept of "transparency"!

Between that and the NHS data and their reaction to Snowden, the meaning of transparency in the uk is clearly "we'll release all your private individual data while keeping secret everything that we do"!

</comment><comment><USER3> No offence to HMRC staff but I'm not sure if I really trust the Civil Service to decide what "generates clear public benefits" and if there are "robust safeguards in place"!

<comment><USER4> Given what happened with the NHS data, neither do I.

</comment></comment><comment> UVB-76 I'd rather an all or nothing approach to these kind of information sharing arrangements.

If information is to be shared, it should be made freely available to all, not just to corporations that are able to shell out large sums for it.

<comment><USER5> I regularly buy data from government departments and it is extremely difficult. They are not commercially minded and regularly undercharge. You have to chase them for weeks to get anything done and the billing arrangements are complicated. In my experience UK government is terrible at selling anything.

An API for tax data would have lots of possible applications, as a way of checking income for example. But it is doubtful that the government would ever have the skills to pull it off. They should either sell the data through a competent third party or make it open.

<comment><USER2> Not true - there is one team in Government that could do this: the gov.uk team. [http://gov.uk](http://gov.uk) is hands down the best government site I've ever seen. I'd trust those guys to be able to deliver it.

<comment><USER4> I takes a lot more than a team of dedicated people to bring something in government into completion. First - there has to be a political consensus within the department to make things happen, then a business case needs to be written and approved. A budget needs to be assigned (where to get the money is another problem), and it needs to be decided that it will be built in-house. Only then, you can actually start building things - the process above takes anywhere from 6 months to a year, sometimes more.

<comment><USER2> I never said that was all it took (you seem to be replying to a straw man), but it is a necessary element.

</comment></comment></comment></comment></comment><comment><USER6> This story broke last night on the Guardian website:

[http://www.theguardian.com/politics/2014/apr/18/hmrc-to- sell...](http://www.theguardian.com/politics/2014/apr/18/hmrc-to-sell- taxpayers-data)

Although it's not clear that it has come from an official HMRC statement (I couldn't find anything on its website), the timing of this -- the Friday evening / Saturday morning of the Easter bank holiday weekend -- feels like someone finding a good time to bury controversial news.

</comment><comment><USER7> Conservative public sector policy is thoughtless Thatcherism: "Sell all the things!" (Forgive the meme)

<comment><USER8> Well, they're already selling medical records to private firms in England. Since they got away with that, they probably just want to sell as much other data as possible.

EDIT: England, not England and Wales.

<comment><USER9> No they aren't.

There's a point where hyperbole becomes sensationalising, and where sensationalising becomes deceptive.

<comment><USER10>
      The medical records of every NHS hospital
      patient in the country have been sold for
      insurance purposes, The Telegraph can reveal.
      [...]
      a report by a major society of actuaries
      discloses that it was able to obtain 13
      years of hospital data [...] covering all
      hospital in-patient stays between 1997 and
      2010 to track the medical histories of
      patients, identified by date of birth and
      postcode.

[http://www.telegraph.co.uk/health/healthnews/10656893/Hospit...](http://www.telegraph.co.uk/health/healthnews/10656893/Hospital- records-of-all-NHS-patients-sold-to-insurers.html)

And the best part? It only cost £2,200.

<comment><USER11> The actual report is here. [http://www.sias.org.uk/data/papers/SIASDec2013Paper/Download...](http://www.sias.org.uk/data/papers/SIASDec2013Paper/DownloadPDF) It's reasonably obvious that inferences can be made from this that will affect private sector insurance premiums, but highly unlikely that anything they've done with the data could be linked to specific individuals, even though the original anonymisation was unlikely to have been sufficient

In the interests of balance, it's worth pointing out the non-profit organization linked to the insurance sector in question specifically denies some of the claims made in the Telegraph article: [http://www.actuaries.org.uk/news/press- releases/articles/tel...](http://www.actuaries.org.uk/news/press- releases/articles/telegraph-article-rebuttal)

<comment> vertex-four > highly unlikely that anything they've done with the data could be linked to > specific individuals, even though the original anonymisation was unlikely to > have been sufficient

So even if we take a professional body which represents the interests of the insurance industry at their word, we still have to trust that private companies with little or no public oversight will somehow decide to do the right thing?

It's blatantly obvious that a postcode and age is enough to match a record to an individual. Why are we expected to trust private industry not to mess with our privacy?

<comment><USER11> We have no more _but also no less_ reason to trust individuals who are not NHS employees from breaching data protection law than individuals who are NHS employees, and have access to much more sensitive data.

On a pedantic note, the data was split by postcode _district_ and age, with the average postcode _district_ being 20,000 people. I still agree that's not data you'd want on a private insurers' database because they could de- anonymise outliers like the only 97 year old man, and others with partial knowledge of their hospital visit history, but it would be a lot of work making it usable for granting or denying insurance to particular individuals. Especially when it's probably easier to gain illicit access to the non- anonymised records than gain and make sense of illicit access to the anonymised records.

<comment> vertex-four As it stands, we have the NHS having access to our personal data. What the Government wants to do is expand the number of organisations that have access to that data to include private companies that we have no oversight over. At least if the NHS has shit policy, we can complain and have our complaints heard. If a private company that has nothing to do with you has shit policy? Tough luck.

Additionally, there's many things that an organisation can do with data that are not in breach of data protection law,, but which I do not want them doing anyway, especially without me explicitly opting in to giving them that data. Data protection law mostly just says that they can't share it with other companies without your permission, they must let you know what it is if you ask, and you have the right to have it corrected if it's wrong. And even then, there's plenty enough companies in the UK that don't even meet those rules all the time!

This is not about individuals. This is about organisations.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Here we go again.

Probably some greedy fuck of a civil servant (probably one of Cameron's ex- Eton buddies or friendly conservative slime like Guake) working out how to sell out our infrastructure to industry and make a larger bonus this year whilst doing fuck all.

Hopefully the last non-political unit (the ICO) will stamp on this quickly.

</comment><comment><USER13> It would be nice if UK.gov could make the public financial data of firms available in an open way.

You can buy a firms financials from the government for £1 a company, or buy a full dataset for several thousand pounds. For little people wanting to do statistical analysis, that is unaffordable.

An awesome startup here, duedil, somehow got the rights to the data, and makes it available for viewing through a lovely website. But giving some company monopoly on public data is really messed up. Good on duedil, but the government is really failing by putting them in that position.

<comment> UVB-76 I don't think there's anything special about what DueDil are doing.

Basic company information is public domain, and available to download in bulk [1] or via URI [2]

Companies House also offer a free app for iOS and Android [3] providing some additional info, e.g. details of directors and filing histories. If you delve into it, that is all served by a JSON API.

Accounts data has recently been opened up for free [4], providing info on about 60% of companies (all those that file accounts electronically, from what I gather) but the data is in (i)XBRL format, and I don't know how amenable it is to statistical analysis.

Documents are my biggest pain at the moment. I believe annual returns, etc. should be public domain, and I think it is wrong that Companies House have the authority to charge for access to them.

[1] [http://download.companieshouse.gov.uk/en_output.html](http://download.companieshouse.gov.uk/en_output.html)

[2] [http://www.companieshouse.gov.uk/about/miscellaneous/URI.sht...](http://www.companieshouse.gov.uk/about/miscellaneous/URI.shtml)

[3] [http://www.companieshouse.gov.uk/mobile- app/](http://www.companieshouse.gov.uk/mobile-app/)

[4] [http://download.companieshouse.gov.uk/en_accountsdata.html](http://download.companieshouse.gov.uk/en_accountsdata.html)

<comment><USER13> Thank's for the links. It was the annual returns that I was talking about. I was concerned that they might have sold the documents to Duedil cheap in a bulk deal that the public didn't have access to.

However, looking into how Duedil got its dataset, it appears they buy the digitised data from Experian and friends, who get it from who knows where.

<comment> UVB-76 The source of all the data will be Companies House. You can get (presumably unlimited) access to all annual returns for £17.5k pa [1]

I can't imagine the government make enormous sums of money through the sale of such data, and I think there is a significant public interest in this kind of company data being freely available.

[1] [http://www.companieshouse.gov.uk/toolsToHelp/ourPrices.shtml](http://www.companieshouse.gov.uk/toolsToHelp/ourPrices.shtml)

</comment></comment></comment></comment><comment><USER14> Wouldn't it be better to allow unfettered access to tax data for everyone, on everyone?

<comment><USER12> As someone who was under investigation a few years ago by the HMRC who thought I was doing something naughty, which I wasn't, absolutely no flipping way.

Tax is one of the few areas in which you are morally and legally guilty until proven innocent (asset freezes and Jimmy Carr for example).

<comment> UVB-76 How do you mean? To all intents and purposes Jimmy Carr was "guilty" of participating in a tax avoidance scheme, and admitted wrongdoing.

<comment><USER15> In what way is avoiding tax through a legal vehicle guilty of a crime?

Do you volunteer extra tax when you don't have to?

Tax avoidance/tax efficiency is not tax evasion.

<comment> UVB-76 I did not say Jimmy Carr admitted criminal wrongdoing.

I am well aware of the distinction between tax avoidance and tax evasion, but in many jurisdictions (including the UK) there is legislation that also renders tax avoidance schemes illegal if the arrangements are sufficiently artificial or abusive.

Since the Carr affair, HMRC have implemented the General Anti-Abuse Rule (GAAR). Although it has not, to my knowledge, been tested at a tax tribunal, I am fairly confident the arrangement Carr entered into would be deemed abusive under this new legislation.

<comment><USER15> Previous comment used the term legally guilty.

You then referenced Jimmy Carr as an example and used the words guilty inferring legal and moral guilt.

He was guilty of neither but he had a public persona to protect and admit wrongdoing where none existed.

If subsequent legislation attempts to limit TAS with the "fair admittance" rule of checking the box it has no retrospective bearing on the conduct of Jimmy Carr.

</comment></comment></comment></comment></comment></comment><comment><USER16> Off topic: Did anyone else notice that the bbc.co.uk website is asking for a certificate for identification?

<comment><USER17> Yep. I clicked cancel and decided not to worry about it for now. I'm interested to know what it's about though.

</comment></comment><comment><USER10> If you think this stuff is worth signing an online petition over: [https://www.openrightsgroup.org/campaigns/dont-sell-our- tax-...](https://www.openrightsgroup.org/campaigns/dont-sell-our-tax-data)</comment>


Show HN: Playlist for work – upvote, downvote songs - <AUTHOR> http://radio-music-player.herokuapp.com <comment><USER2> You might want to use a streaming api rather than have users upload their songs. Sounds illegal

</comment><comment><USER2> Bug: Unlimited up votes and down votes per person. Kinda ruins it

</comment><comment><AUTHOR> looking for feedback, feature recommendations, growth ideas, etc.

<comment><USER3> good playlist for dulling work on computer.</comment></comment>


Why the Mars Climate Orbiter went off course - <AUTHOR> http://spectrum.ieee.org/aerospace/robotic-exploration/why-the-mars-probe-went-off-course <comment><USER2> The failure of the Mars Climate Orbiter usually stars in hallway discussions on types or notation. This article shows a long chain of failures far more subtle than the punchline to which it's relegated. Design failures in the beginning led to untracked course translation during what was supposed to be rotation-only maneuvers. The infamous units of thrust issue between JPL (newtons) and Lockheed (pounds force) was certainly an issue, but from the article it doesn't seem to be the primary cause of failure. And finally management defaulting to an everything-is-ok attitude and ignoring the nervous input of the navigators meant that when evidence was building that something was wrong, it was ignored.</comment>


DragonflyBSD, 4.8-RC available - <AUTHOR> http://lists.dragonflybsd.org/pipermail/commits/2017-March/625576.html <comment><USER2> Not directly related, but has anyone here successfully gotten Gnome (3) to work on DragonflyBSD? I've tried several times over the past few years (dating back to 4.2, I think), and despite pretty much all other DE's working fine for me, I've never gotten Gnome to start up properly; GDM just hangs on a black screen instead of starting up, and when I try to manually start it with SLiM and the require .xinitrc, I just get a message saying "Oh no! Something went wrong" and then get sent back to the main login screen. I've never had trouble getting Gnome to start properly on FreeBSD on the same machines that I've tried this on, so I've never been able to figure out why it consistently fails for me.

</comment><comment><USER3> Where does DragonflyBSD win right now? I haven't looked into it and seen a place where it fits.

<comment><AUTHOR> I too would like to see someone more verse in the nuances of the various BSDs answer this question, but I'll give it a go.

DragonflyBSD is:

\- focused only on x64 architecture

\- has an extremely small but exceptionally talented team of developers

\- has it's own unique filesystem called Hammer (and work is being down on Hammer2 which is a complete rewrite)

\- Network performance is particularly good with Dragonfly [1]

[1] [https://leaf.dragonflybsd.org/~sephe/perf_cmp.pdf](https://leaf.dragonflybsd.org/~sephe/perf_cmp.pdf)

Edit: typo

<comment><USER4> The benchmark's accuracy is debatable, as it does not put all parties in even ground[1], nor it list in detail everything used for all systems beyond Dragonfly BSD.

[1] FreeBSD's nginx port does not have a functional 'reuseport' compilation flag, which greatly impacts its performance in the benchmark, whereas Linux and Dragonfly BSD do have it in a functional state.</comment></comment></comment>


The Overparked States of America - <AUTHOR> https://www.citylab.com/transportation/2018/07/parking-has-eaten-american-cities/565715/ <comment><USER2> I'm a bit confused by a lot of the metrics in this piece.

First, it tries to use city population as a metric to get per capita cost. It seems to suggest that households are on the hook for a significant portion of these spots. First, a city like Jackson Wyoming is mostly tourists and therefore the spots pay for themselves easily. Second, most spots are privately funded.

Second, the estimate of "cost of replacement" is pretty silly. It used 7100 as an estimate per spot. I doubt the large parking spots in a ski lodge base are going to cost anywhere close to 7100. And even if a spot in a city actually cost 7100 to pave, if it then lasted 20 years is the cost anywhere close to what the article suggests? Doubtful.

<comment><USER3> I'm somewhat confused by your criticism!

It's talking about cost mainly in terms of land value. If the parking spot was lost and had to be rebuilt in a similar location, what would that cost? In the centre of a city the cost of tarmac isn't going to be the dominant issue!

Using city population for a per capita calculation seems perfectly reasonable as long as that's understood, even in most tourism cases. For instance it'd be a perfectly reasonable economic calculation to look at the tourism income brought into a city per head of the resident population, it gives an idea of how valuable that is to an ordinary person, even if they don't work in the industry themselves. The calculation being made here is similar.

This only dramatically falls down where the land value is dominated by car- borne tourism value, for instance for a stop off on a long distance road route, reducing parking spaces by 50% might well reduce income by 50%. But that doesn't apply in the central areas of most cities.

<comment><USER2> As others have noted the number for Jackson seems wildly inflated. I suppose that figure and also the $7100 for cost of a spot lead me to believe this is either a poorly done study or a study done by someone with a vested interested in getting high numbers here.

Perhaps the largest issue is with the statistic in the study named "parking cost per household". This figure suggests strongly this cost is somehow a cost which is a burden to each family's taxes or own money. However, this study includes all parking spots. This leads me to believe the majority of these spots are in parking garages which in almost all cases are privately funded (and those public may still have fees which pay for themselves).

</comment></comment></comment><comment><USER4> The Jackson thing is cracking me up. It's like saying that there are 100 hotel rooms for every resident of Maui, what are they doing with all those hotel rooms?

Jackson is probably the _biggest_ tourist destination in our tiny little state, so yes, we leave extra room for visitors.

<comment><USER5> The report (not the summary from citylab) says:

> Jackson's plentiful parking supply was underutilized. Despite its small land > area and population, millions of visitors drive through the city every year > so it is plausible that Jackson needs a lot of parking. But a Jackson- > commissioned parking occupancy study of the residential core and midtown > areas during peak tourist season in 2017 by Kimberly-Horn found, on average, > 68 percent of parking stalls were empty in the residential core, and 61 > percent were vacant in the midtown area. Occupancy peaked at 43 percent for > the residential core and 51 percent for midtown. These low occupancy rates > could suggest that parking is overpriced in Jackson, but at the time of this > study, all parking in Jackson was provided at no cost. The conclusion must > be that Jackson has an oversupply of parking.

I am unable to find the original study, cited as "Town Of Jackson Parking Garage Challenges to Success" from [http://townofjackson.com/](http://townofjackson.com/) services/police/pr/parking-garage-challenges-success/ .

EDIT: in looking around, I found this Reddit comment - [https://www.reddit.com/r/JacksonHole/comments/6bpvhl/town_of...](https://www.reddit.com/r/JacksonHole/comments/6bpvhl/town_of_jackson_wy_is_officially_renting_parking/) \- that the town has such a housing crunch in summer that they will be renting out parking spaces as housing.

That fits in with the thesis that there is too much free parking in Jackson.

<comment><USER6> The unoccupied spaces optimize the system for _time_ efficiency. Surplus capacity makes finding a parking space reasonably close to the destination faster. That makes reaching the destination (and searching for parking spaces) faster by reducing traffic.

Parking is both spatial and temporal. That's why all those empty spaces in Jackson Wyoming don't alleviate parking woes in lower Manhattan. The spatial frequencies at which parking spaces are fungible are less than 400m. Often much less. When human preference comes into play 4m (one stall) can effect selection.

<comment><USER5> City planning should optimize for the needs of the city, and not only the time efficiency of people who want to find a parking spot.

Indeed, the point of many of these "there is too much (often free) parking" pieces is that the optimization efforts have historically only considered the needs of drivers and/or design principles that were more ideological than anything based on reality.

<comment><USER6> I agree. It's Richard Florida, not the people of Jackson Wyoming proclaiming too much parking in Jackson. To put it another way, it's an outsider (an internet personality) telling the locals they're doing it wrong. Jackson has a highly efficient mass transit system: the base of the ski lift is right smack dab downtown.

<comment><USER5> Umm, no? I mean, yes, Richard Florida wrote that CityLab piece, but the quote I gave at the start of this thread ("The conclusion must be that Jackson has an oversupply of parking.") is from the report that Florida cites, that is, "Quantified Parking: Comprehensive Parking Inventories for Five U.S. Cities", by Eric Scharnhorst, Principal Data Scientist Parkingmill.

As I pointed out, it seems that Jackson is willing to rent out parking spots for housing, which suggests that they think there is too much free parking at the height of the tourist season, and not enough housing.

I don't see the point of your seemingly ad hominem statements. Eg, "internet personality"? What does that mean? Wouldn't "urban studies theorist" or "best- selling author" be better descriptions?

Since it wasn't Florida making the statement I quoted - it was not made by an 'internet personality' \- does it make the statement more accurate?

If only we could find the "Town Of Jackson Parking Garage Challenges to Success" document.

<comment><USER6> Thanks for explaining. For what it's worth, back in 2002 I worked as an urban planner for the city of St. Petersburg. The one in Florida. Like every city in the US we were fooling round with parking and since I had a background in structured parking going back to 1991, I was tasked with looking at some options. Not options I chose but options that various people with various levels of political power but a pretty much uniform lack of parking expertise...beyond the non-professional kind that one gets from parking cars over the years.

So anyway, being a diligent design professional, I went to the planning department library and studied all the previous downtown parking studies I was able to find on the shelves. About a dozen going back to 1961...roughly forty years worth. Each of them was similar in that if parking was free in 1961, the 1961 study recommended charging for parking. The 1965 study would recommend making parking free. The 1970 study would recommend installing parking meters. The 1974 study would recommend taking parking meters out...and so on. In 2001, paid parking was prevelant. You can guess at the options under consideration.

To Richard Florida's credit, he doesn't have to vary his policy pitch. There's always a market for voices advocating exclusionary policies for urban neighborhoods...e.g The Mortgage Bankers Association that commissioned the study and Parkingmill that is in the business of managing scarce parking. Richard Florida doesn't actually do studies. Influencers don't _do_ studies.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Where did the author get their numbers for Jackson, WY? Looking at the aerials, there are no huge parking lots. No parking structures. The biggest mall has about 300 spaces. There's an RV park, but it's not huge. There is no way that town has 100,119 parking spaces. That's five times as much parking as Disney's entire Orlando operation.

<comment><USER8> Have to agree. Did some math; given 9'x18' spaces ('standard' outdoor slot size supposedly) the entire land area of Jackson WY can contain 172K parking spaces.

I don't know what the correct figure is, but it's also clear the majority of Jackson parking spaces belong to private residences, not part of some vast paved hellscape.

</comment></comment><comment><USER9> An earlier article/discussion about the same study:

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

</comment><comment><USER10> My company is working on self-delivering bikes so citylab always pops up in our network, they do some great work. Not quite sure why they are so prolific.

<comment><USER11> What's your company (if it's not stealth)?

<comment><USER12> This one it seems => [https://news.ycombinator.com/item?id=16972672](https://news.ycombinator.com/item?id=16972672)

Judging by the number of stripped shared bikes I see around town it'll certainly be interesting...</comment></comment></comment>


Stephen Elop Departs Australian Telco Telstra - <AUTHOR> https://www.itnews.com.au/news/telstras-head-of-technology-out-in-restructure-499249 <comment><USER2> Is it the first company that survives him?

<comment><AUTHOR> It's interesting that he kept a (very) low profile in his two years at the firm.

Was he persona non-grata in 'the Valley' after his Microsoft exit?

<comment><USER2> After Belluzzo and Elop, I'd think twice before picking an ex-Microsoft exec for a top job at a competitor. Some people may leave Microsoft, but it feels like Microsoft never completely leaves them.

</comment></comment></comment><comment><USER3> Oh my god. As someone who left Australia a decade ago for better opportunities in tech, it doesn't surprise me that Telstra (the famously awful ex-government monopoly Telco) is where Elop ended up.

Cool TPG (which used to be Total Peripherals, a white box computer company) is now taking them on.</comment>


Tell HN: Why Google+ will beat both Facebook and Twitter - <AUTHOR>

There are many reasons why you could think this, and they've been covered here before. But I realized that there's one fundamental reason why Google+ is better than both Facebook and Twitter. Here it is:
You joined Facebook and Twitter because you HAD to. You're joining Google+ because you WANT TO.
I think it's as simple as that. Just think of it this way: Which one would Steve Jobs join? [1]
[1] - regardless of what company he likes or dislikes, and thinks are his competitors. Just a pure product-based decision. <comment><USER2> The thing is people outside of the tech-community don't share that bias.

At it's current stage google+ has not much to offer to a typical user of Facebook. Sparks is a joke. Circles are nice, but not inherently better, just different and I can see many Facebook users not liking that idea. Hangouts is the only think that I remotely like, but it's not enough to build a social network around. I'd much rather just have hangouts implemented to Facebook.

Right now all Google+ is for me is simply a statement by Google that they want to move into social. They really need to start adding some functionality, because right now it has almost none.

<comment><USER3> So far plus is shaping up as a replacement for the gap left by FriendFeed. It's not looking very Facebook replacement yet.</comment></comment>


The career choice that delivers - <AUTHOR> http://www.ft.com/cms/s/0/41cf8cfa-6d6a-11de-8b19-00144feabdc0.html# <comment><USER2> This is pretty true. I spent 3 months a while back doing construction, and it was fantastic. I was exhausted, but I got into great shape and had a really good time.

</comment><comment><USER3> I like the notion of "downward mobility" and seeing it as desirable.</comment>


The hardest question on the Y Combinator application - <AUTHOR> http://recoding.blogspot.com/2013/02/the-hardest-question-on-ycombinator.html

<comment><USER2> If this is the hardest question for you, you are not ready to do a startup. This is a filtering question - If I'm YC, if even one of the founders is not able to commit, that's probably an immediate rejection right there.

<comment><USER3> There are plenty of successful founders who didn't quit their jobs immediately to work on their startup. Not everybody has that luxury. Maybe you meant to limit your comment specifically to YC startups?

<comment><USER4> I partially agree with Pytrin. While its true not everyone quits their job to dive into a startup immediately, its arguable whether or not those are even startups yet or just projects.

That said, if you aren't at the stage where you can commit to doing a startup, you probably shouldn't be applying to YC.

</comment></comment></comment><comment><USER5> You know, it's funny - before I quit to do my start-up full-time, I thought that 'quitting to do my start-up full-time' was what people talked about when they said "starting up is hard".

After a year of success (pilot customers converting, flirting with profitability, etc) I'm realizing that planning and executing growth is much harder.

When you start out, everything that isn't utter failure is a win. When you're doing well and have lots of different paths you can take, the stakes are a lot higher, and expectations (your own included) have risen. You have more to lose and more to win.

The up's get higher and the down's get lower and the decisions more complex. But creating something from nothing, from pure ingenuity and brow-sweat, is still the best job in the world.

</comment><comment><USER6> My hardest question was "Please tell us something surprising or amusing that one of you has discovered."

Since I like mostly stupid and flat humour, which would not be an appropriate answer on this question, it took me a while to write something more sophisticated lol</comment>


ARST ARSW: Star Wars sorted alphabetically - <AUTHOR> https://www.youtube.com/watch?v=5GFW-eEWXlc

<comment><AUTHOR> Where is "trap"?

<comment><USER2> Wrong movie -- you're thinking of The Empire Strikes Back.</comment></comment>


QGIS version 2.18.0 - <AUTHOR> http://changelog.qgis.org/en/qgis/version/2.18.0/ <comment><USER2> Is there any work being done to improve the installation experience on macs?

I love the software, but getting it up and running in OSX can be painful.</comment>


Here's to the PHP Misfits - <AUTHOR> http://melvinmt.com/80/heres-to-the-php-misfits

<comment><USER2> Disclaimer: I am a PHP programmer. I write PHP every day.

With that said, oh god _please_ shut up already! This dick-waving is getting out of control. It has gotten to the point that people are writing these articles just because they know they will get hits.

PHP is a good tool. It's not the best tool, but it's good enough. Over time it will get better. It is what it is.

<comment><USER3> Thank you for saying this. I also do a ton of PHP development and it's so fucking tiring. Just stop with the posts already and get some shit done.

</comment></comment><comment><USER4> When you have more pride in your _tools_ than in your _craft_ , you're not doing it right.

Anyone who's been using PHP long enough to be proficient in it should move to a more robust toolset simply to get more done. To sneer on Python and Ruby as being elitist is just the sort of thing a self-proclaimed "PHP programmer" would do.

You shouldn't aspire to be an "X programmer", but a programmer period. Learn more tools, more techniques, even those outside your immediate comfort zone, and you will be able to improve in ways that being locked into a single way of thinking will never offer.

<comment><AUTHOR> Here's the thing: I'm not interested in being a 'programmer', I just want to build out my product ideas. And right now I do it with the language I know best: PHP.

<comment><USER5> Then why even bother listening to what people who do want to be programmers write about your tools?

<comment><USER6> This is what I don't understand about "PHP" programmers.

Programmers, you are not in a position to defend a language if said language is all you know.

</comment></comment></comment></comment><comment><USER7> If you take this story, remove anything specific to PHP and then copy paste it a few times replacing PHP successively with Perl, Ruby, Python, and JavaScript then you have my trajectory as a coder.

Similarly, I wasn't interested in the computer science part at first either, but boy has the importance of the "managing complexity" part made itself obvious over the years.

Why is it that the people who take the time to blog defensively about PHP are typically monoglot coders? After my third or fourth language helped me understand what programming was at its core, I stopped using just one and ended up writing...a lot less code for any particular task.

<comment><AUTHOR> Obviously the complexity of my projects have also been increased since I started out 10 years ago. But thanks to frameworks like Kohana I've been able to manage it pretty well.

I'm not saying that I will never use another language (obj-c has caught my interest) but I will never use another language for the sake of using it - especially not when I can do more or less the same thing as with PHP.

</comment></comment><comment><USER8> Saying that PHP has value because it lets beginners get up and running quickly is like suggesting we outfit babies with jetpacks so they can get about quicker without all that crawling nonsense.

I'm being over dramatic of course, but I find it interesting that in a lot of these posts the author doesn't seem to consider if it's really a feature that you can just hack away and not have to think or work to much to get something running.

Hanging out on help forums and irc I see a lot of requests for help in dealing with the fallout from poorly coded PHP applications; whether it's been hacked, they need to update it but the design is poorly thought out, etc etc.

I think in reality like most things, it's shades of grey. It is nice that people can use it to just get up and running quickly but that also lands us tons of poorly coded, brittle, and insecure websites. This of course isn't a problem unique to PHP, but I think because it's considered a "good language for beginners" and the barrier is a little lower, more beginners or "Just hack and slash until I have something that works" types end up using it and the effect is more pronounced.

<comment><USER9> I think it's more like arguing that one can safely drive on the freeway with a tricycle, after all it has wheels and it moves quickly if you pedal fast and hard enough.

</comment></comment><comment><USER10> What I don't get about these "I get shit done with PHP so booya" posts is that people get shit done with better designed languages too. So where's the advantage?

IMO, PHP is only "magically productive" when you're starting out and banging out scripts over FTP on Shared Hosting with Apache/mod_php. Once you start running a "real app", with servers/deployment/nginx/php-fpm/frameworks, it requires the same amount of setup complexity as Rails/Django/etc.

Disclaimer: I write PHP for a living. Not a hater.

<comment><USER11> The advantage is that this guy, who otherwise wouldn't have been able to accomplish his goals, did. He did because PHP was accessible. And till other languages are as dead-simple to accomplish small-to-medium tasks, PHP will continue to have fans such as the OP.

<comment><USER12> imho ruby is simpler than php.

<comment><USER13> Easier on eyes, more powerful? Surely. But can you just drop .erb files into a directory and turn on mod_ruby? That's the allure of PHP for so many.

<comment><USER14> No, but you can just run `rails new` and `git push heroku`, which is about as easy as using shared hosting.

<comment><USER15> Shared hosting is all over the world, most of them provide PHP+20GB for 1/10 the cost of heroku+5MB.

<comment><USER14> Sure, but we aren't comparising pricing - we're looking at how easy it is to get started. You can go pretty far with Heroku free plans.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> <http://news.ycombinator.com/item?id=4247245>

Oh, and:

> I said: "give me 3 days" and I learned everything I needed to know about OOP > that weekend and showed off a OO-based numbers game on Monday.

Perhaps he learned all that he "needed" to know for that job, but I kind of doubt that he 'learned everything he needed to know about OOP'.

I get so tired of people tooting their own horns, but I guess I should get used to it in this new era of what I like to call conference-coders.

</comment><comment><USER17> Who gives points to an article like this. It's just a opinion, with nothing informative in it? On that note, does HN have an extension like the Reddit Enhancement Suite, to maybe setup or hide posts I'm not interested in?

</comment><comment><USER18> "Everything in the box is kind of weird and quirky, but maybe not enough to make it completely worthless. And there's no clear problem with the set as a whole; it still has all the tools.

Now imagine you meet millions of carpenters using this toolbox who tell you "well hey what's the problem with these tools? They're all I've ever used and they work fine!" And the carpenters show you the houses they've built, where every room is a pentagon and the roof is upside-down. And you knock on the front door and it just collapses inwards and they all yell at you for breaking their door. "

<comment><USER19> Stop blaming the tools for the stupidity and unoriginality of the carpenter. The tools don't make the house stable, look good, or even become something people want. How the carpenter uses those tools and puts his own vision into it does.

The same hammer, nails, screwdriver, whatever is used to build mansions... It's also the same tools used to build shitty houses that fall apart... Your point means exactly what the original author meant. Don't worry about the tools used to build your product, just build the damn thing.

<comment><USER5> Tools have a lot to do with setting the range of possible creations you can make. If I have better tools I can build much larger buildings than you on similar timescales. It's the difference between using wood and all the standard tools to build a skyscraper and using forklifts, cranes, and welded beams. No amount of skill is going to turn your toolbox into a forklift. Similar sorts of increases are possible with other programming languages and better toolsets, unfortunately you usually have to use them to see these things. You'll probably ask why everyone isn't using these tools if they're so good. The answer is for the same reason people write articles like this. New stuff is scary and weird and the old stuff works well enough, right?

<comment><USER19> Wrong. Just because you can build faster with a supposedly "better" tool, doesn't mean everyone else can. I know Python, I know Node.js, I know a bunch of other languages, but I don't know them better than PHP, and to be honest, my job doesn't pay me to learn a new language at the same scale as I know my current language, all because a group of people THINK that my language is crap, when in reality, to the end user, my language looks no different than theirs.

My mentality is to use whatever tool you feel comfortable with, and don't let someone else tell you to use something different because THEY can build faster.

Sure a nail gun is faster than a hammer, but if I have problems with an nail gun and can bang in nails faster with a hammer than a nail gun. I'm gonna use the hammer.

</comment></comment></comment></comment><comment><USER20> Another "Look I can build websites with PHP!" post.

The biggest draw of PHP seems to be that there is a large quantity of (often bad) copy paste-able code out there on the internet.

<comment><USER10> Agree. PHP is the only language where one looks for "snippets" instead of libraries. It's gross.

<comment><USER20> It wouldn't be so bad if standard practise was to put them in a separate files/folders with the original authors header left on with a link back to where it was downloaded.

Instead I tend to find the same POS code repeated 20 times in the codebase.

</comment></comment></comment><comment><USER21> Seems like the article vanished:

      This is the standard TransIP page for reserved domain names. No website
      has been published for this domain. Are you still seeing this after
      publishing your website? Please make sure you upload your website to
      the /www directory and clear your browser cache before reloading
      this page.

<comment><AUTHOR> No it's still up, guess Cloudflare decided to stop serving pages at one point :/.

<comment><USER21> You should consider switching to a better host. There is no excuse for this:

wget -4 output: <http://scrp.at/bAD>

wget -6 output: <http://scrp.at/bAE>

As an IPv6 advocate on the side, I'm disappointed by this.

<comment><AUTHOR> Ah thanks for letting me know, fixed it in the settings, let me know if it works now.

<comment><USER21> How long should it take?

</comment></comment></comment></comment></comment><comment><USER22> It's the same type of irresponsible behavior in any industry before it's regulated. If you can get away with building crap for cheap, why not.

Here's my longer response: [http://tumblr.crazydogsoftware.com/post/27412353720/when- the...](http://tumblr.crazydogsoftware.com/post/27412353720/when-the-house- falls-down)</comment>


This scary, dangerous part of self-driving cars is completely unknown to most - <AUTHOR> http://www.morningticker.com/2016/01/this-scary-dangerous-part-of-self-driving-cars-is-completely-unknown-to-most/ <comment><USER2> Ugh. This article is talking about the scary part of the semi-autonomous systems (like Tesla's) that are available today. I believe that the Google study they're talking about is referring to _entirely_ autonomous vehicles, which aren't on the market yet and are really ready yet.</comment>