Uranium Contaminates Water Across California's Central Valley (2015) - <AUTHOR> https://www.kqed.org/stateofhealth/120396/uranium-contaminates-water-california-central-valley <comment><USER2> From 2015, scare mongering with little content other than vague statements like

"Before treatment, Westport's water tested up to four times state and federal limits. After treatment, it's safe for the children, teachers and staff to drink."

This does not point to a specific limit such as Maxiumum Contanminant Level (MCL) or Maximum Contaminant Limit Goal (MCLG). MCLG is a non-legally binding limit, which is as it states is a goal. MCLG for urainum contaminants is 0 ug/L. Any measurement of any drinking water will always have more uranium than this limit. The MCL is 30ug/L for uranium.

Additionally, the EPA has changed the way in which they have approached limits, previously they quoted something like the World Health Organization limits [3], which are average daily consumption limits. Average implies that some measurements could be high or low. WHO estimates natural concentration of uranium in drinking water is 0.08 ug/L (0.001 Bq/L), which is obviously above the EPAs MCLG.

WHO is a much better resource for information on these limits, and the EPA appears to just take their limits and do a divide by ten.

[1] [https://en.wikipedia.org/wiki/Maximum_Contaminant_Level](https://en.wikipedia.org/wiki/Maximum_Contaminant_Level) [2] [https://nepis.epa.gov/Exe/ZyPDF.cgi?Dockey=30006644.txt](https://nepis.epa.gov/Exe/ZyPDF.cgi?Dockey=30006644.txt) [3] [https://apps.who.int/iris/bitstream/handle/10665/272995/9789...](https://apps.who.int/iris/bitstream/handle/10665/272995/9789241513746-eng.pdf)

</comment><comment><USER3> Ah scare mongering. The safety limits are put in place such that the exposure causes no measurable effects, plus a buffer for safety. The precision of our instruments is very, very high.

Naturally occurring uranium has a very long half life. Which means it radiates very small amounts in comparison to other radioactive elements like certain isotopses of cesium and iodine. By many orders of magnitude.

You could drink 10x the "safe" levels of uranium your whole life and have no ill effects. Holding a kg rod of pure uranium gives you exposure between normal background and a plane flight.

The outrage you're looking for isn't here. It's not another Flint.

<comment> mark-r Lead has an infinite half-life, since it's not radioactive. How much would you be willing to accept in your water?

<comment><USER4> I feel your comment isn't very constructive and is a little demeaning.

<comment> mark-r You assume that radioactivity is the only danger emanating from Uranium in the water. I was merely pointing out that it is not the only thing to be worried about. Elements can be poisonous without being radioactive.

Was that a little more constructive?

</comment></comment></comment></comment><comment><USER5> This has always been the case, at least in the Bakersfield area, unless a well actively filters these out. Our well water in the 90's would usually be 2-3x the EPA limits.

</comment><comment><USER6> >> Other Central California farm schools opt to buy bottled water in place of drinking fountains, which are off limits because of uranium and other contaminants

Has anyone tested the bottled water? Most of it comes from domestic water supplies anyway. Since uranium doesn't have any impact on taste, I doubt the bottling companies are looking for it.

Also see: Recovery of uranium from seawater using amidoxime hollow fibers

"The fixed‐bed adsorption column, 30 cm in length and charged with the bundle of AO‐H fibers, was found to adsorb uranium from natural seawater at a sufficiently high rate: 0.66 mg uranium per g of adsorbent in 25 days."

[https://aiche.onlinelibrary.wiley.com/doi/abs/10.1002/aic.69...](https://aiche.onlinelibrary.wiley.com/doi/abs/10.1002/aic.690340308)

That sort of tech could not just clean uranium from water, but at a commercial scale could produce very interesting amounts of uranium relatively quickly.

<comment><USER7> could uranium powered boats and submarines use this in full cycle somehow, extracting their own uranium as they travel?

</comment></comment><comment><USER8> Galen Winsor, who worked on the Manhattan Project and at GE, eating uranium on camera

[https://www.youtube.com/watch?v=bqwYHmgB3Xc](https://www.youtube.com/watch?v=bqwYHmgB3Xc)

<comment><USER2> Is he alive or dead? Cause of death? There are of course the radiothor incidents (where people actually died from eating uranium and thorium products, note this is selectively consumed for many years at concentrated levels, much higher than in rocks)[1]. Also the Baltimore Radium girls, who ingested concentrated radium to make glow in the dark watches.

[1] [https://de.wikipedia.org/wiki/Radithor](https://de.wikipedia.org/wiki/Radithor)

<comment><USER9> Radium is ~500000x as radioactive as uranium.

<comment><USER2> Half-life is longer for uranium, but I would say they are just as radioactive, as they are in secular equilibrium and apart of the same decay chain [1]. They are just as "radioactive" in this configuration, as they go through the same number of decays. Their concentrations can change.

[1] [https://en.wikipedia.org/wiki/Decay_chain#/media/File:Decay_...](https://en.wikipedia.org/wiki/Decay_chain#/media/File:Decay_chain\(4n+2,_Uranium_series\).svg)

<comment><USER10> SI measures radiation in decay events _per second_. The rate is important because we mostly worry about decay product exposure during our lifetimes, or maybe how long a mass must be contained until it stops being an acute risk to our species, rather than the grand total of decay over astronomical time scales.

</comment></comment></comment></comment></comment><comment><USER11> Well water was used to produce many crops throughout the California Central Valley during the recent long drought, vegetables and fruits that are then shipped for consumption throughout the States.

<comment> your-nanny That California's farmers were watering crops (almonds, for petes sake) with ever deeper wells is a scandal.

<comment> your-nanny apparently somebody feels compelled to defend abuses by California farmers of a critical resource held in common, for personal profit. It _is_ a scandal.

</comment></comment></comment><comment><USER12> (2015)

</comment><comment><USER13> So apparently it's not very radioactive but does have toxicity. Should we not be concerned about the food supply? Is produce tested?

<comment><AUTHOR> I don't think produce is tested. The article states:

 _... uranium also sticks to potatoes, radishes and other root vegetables if they 're not properly washed. (While studies have confirmed livestock and people can ingest high levels of uranium by eating contaminated vegetation, scientists have yet to fully research the dangers involved.)_</comment></comment>


Sentiment analysis for Twitter rumors - <AUTHOR> http://twittertrails.com/

<comment><USER2> Probably one of the better Twitter analyses tools I've seen. I'd like to know more about how they work out the level of scepticism.

Seems to have more info here: [http://cs.wellesley.edu/~trails/](http://cs.wellesley.edu/~trails/)</comment>


The easiest way to add recommendations to your Rails app: acts_as_edgy - <AUTHOR> http://blog.directededge.com/2011/03/15/the-easiest-way-to-add-recommendations-to-your-rails-app-announcing-acts_as_edgy/

<comment><USER2> They really need to port this to Rails 3. At this point, any new app I'm building is Rails 3, and any old app I have, I'm reluctant to add something that will make upgrading harder.

<comment><AUTHOR> Assuming there's some uptake on this version we'll almost certainly produce a Rails 3 port. New apps aren't actually a great target for recommendations since they don't have much data around and since there are still far more Rails 2 deployed than Rails 3 apps around it seemed like a better target for the first version.

<comment><USER2> Understood, but arguably a lot of those Rails2 apps are not being actively updated, or they would have been rolled over to Rails3 by now.

Anyhow, add me to the list of those who would be very interested in a Rail3 version.

<comment><AUTHOR> It's interesting that you say that -- and I don't mean this to be contentious -- I've genuinely had the opposite impression. Unfortunately HN's a bad place to get a sense for such things since it tends to be way ahead of the curve. (i.e. things like Node and Scala appear far more mainstream reading HN than they are in practice.)

Most of the folks I know working on Rails 2 sites have only started taking Rails 3 seriously in the last month or two and don't seem to be in a hurry to upgrade.

It'd be interesting to see a curve of when major rails deployment cut over (if they do). I wonder if there's a tell-tale Rails 3 signature that could be used combined with e.g. an 80legs crawl?

<comment><USER3> Not major, but just anecdotally, all of my Rails apps are 2.x and I have no plans to migrate within 6 months.

</comment></comment></comment></comment></comment><comment><USER4> I just finished implementing this (albeit way more crudely (runs on CRONs & Rake tasks) and most likely less accurately) for a client. After I was done I was like "hey, this could totally be its own app." One day later...

</comment><comment><USER5> Services like this significantly reduce the barrier to entry for complicated web apps. I've been mulling over an idea for a while now but it would tricky to implement. With the discovery of Directed Edge and a few other services it's now a minor technical hurdle. I can shift my thinking away from how to build the technology and onto how to execute the idea well, something that hasn't had nearly enough thought yet. I think services like this making innovation much easier.

</comment><comment><USER6> Has anyone used the underlying recommendation service (or another similar service)? This definitely seems like it could be a huge time saver for a number of sites, but it's hard to tell from the site what people's impressions of the recommendation quality is.

<comment><AUTHOR> A few links that might be useful:

Shopify add-on, using the same engine (with a different face):

<http://apps.shopify.com/directed-edge-expressrex>

Write-up by one of our customers:

[http://www.jonathanbriggs.com/ecommerce/33-of-revenue- expres...](http://www.jonathanbriggs.com/ecommerce/33-of-revenue-expressrex- recommendation-engine-recommended,814,AR.html)

Quora answer by an API user (at that time had already integrated, wasn't live yet):

<http://www.quora.com/How-good-is-Directed-Edge>

</comment></comment><comment><USER7> Althought interesting product, it just makes me believe that many people are using ORMs simply because they don't have SQL under their belt.

The query they describe as 'monstrosity' is actually easy, understandable & typical stuff to do on the relational db. When I was taught CS stuff, you consciously chose relational db just because you could do things like that. If you didn't plan it, you wouldn't use such db in the first place.

My point is, why to popularize the approach that you should run away from SQL as much as possible and not tune it to your needs? Because that's what authors propose. SQL is not XX-century obsolescence and is not hard to learn. I always thought people, as me, are using ORMs to utilize some convenient coding pattern, not to be hopefully in a safe distance from all that SQL thingy. Am I so naive?

<comment><USER8> >My point is, why to popularize the approach that you should run away from SQL as much as possible and not tune it to your needs?

It's a business decision. More developers will use their product if it's easier to integrate. ActiveRecord acts_as_blank plugins are fairly simple to write and even easier to use.

Angry VC: Well why aren't more people using Directed Edge?

DE CEO: We could have built this plugin but we want more people to be fluent in raw SQL. It's better for the craft of CS.

I understand where you're coming from, but the benefit of using an ORM should be quite obvious in this case.

Also, I found that the more I understood about SQL, the more pleasant it was to use ActiveRecord. Sometimes its "magic" can be a pain, but when it works, it really works well. I can't help but smile when I think of all the time it's saved me.

<comment><USER7> OK I can see a business plan in it and I can't blame people for choosing one way of earning money over another.

Still this is quite sign of the times we live in. If someone's putting most of his service from the pieces hosted elsewhere, what it will be? I can say that it'll be probably sloooow ;)

Anyway I share your sentiment towards ORMs, with a little difference that I prefer data mapper (as a pattern) over active record (as a pattern). Active record locks you in the ghetto where the only primary source of the schema information are your artificially crafted ORM-dependent tables, where in data mapper the database itself can give this information to you via reflection of the "real" tables. This is priceless when dealing not only with legacy databases but also with effects of ad-hoc operational fixes, which in turn can save your production sometimes. Data mapper has got also object identities right.

</comment></comment></comment><comment><USER9> I really would love to have this work with my new RoR3 app!

<comment><USER10> Ditto!

</comment></comment><comment><USER11> Holy crap, recommendation as a service. I had this idea 3 months ago, any chance of me getting a royalty? I was going to suggest having a free 'developer' account, but then I saw it in small writing at the bottom of the page. I'm in - this is freaking awesome!

<comment><USER12> <http://news.ycombinator.com/item?id=2318849>

<comment><USER11> Thanks, it was a joke.</comment></comment></comment>


Clever tactic for generating buzz. - <AUTHOR> http://forrst.com This site is using an interesting invite strategy. It opens its signup window once a day at a random time and for only 15 minutes. <comment><USER2> I don't really know how successful a tactic like this would be, long term. It's certainly "unique" and fun, but (to paraphrase a presentation I listened to a while back), their greatest enemy is the "back button" anyway, and I think they're losing the battle. I clicked on the website, but there was no clear value expressed in it for me... "Forrst is a place for designers and developers to share inspiring code, screenshots, and links with their peers"... Don't tell me, show me! I like cute ideas, but I think their target audience won't have time (unless they're procrastinating) to pursue things like this...

I clicked back, opened a tab, and went to reddit :\

Still, fun idea.

</comment><comment><USER3> Clever tactics failure: I'm pretty sure I won't visit Forrst again; I don't know why would I want to.

All I got was a notice of some time window when you actually might see what it is for real. You obviously need a good reason to see what's in there before you land on their front page, in order to let this sample of exclusivity grab you along.

<comment><USER4> Yeah. Every time I visit it gets +1 waste of my time because I always hit it outside the window. Just a matter of time before I tune it out.

<comment><USER5> But you come back and try again, don't you?

</comment></comment></comment><comment><AUTHOR> This site is using an interesting signup strategy. It opens the signup window at a random time once a day and for only 15 minutes.

Anyone have any other examples that are like this?

<comment><USER6> LittleGreenFootballs (a semi-political blog) has used random account creation windows for the last several years, to my understanding. It seems to heighten urgency, create a sense of exclusivity in the blog commenting community, and achieved the original goal of putting a big barrier in front of trolling the site. (You have to keep an eye on it for weeks, snag an account, THEN troll.)

I don't think I'd ever implement this myself, though.

</comment></comment><comment><USER7> Something like this works for existing sites rolling out new features/products...but for a new site? it's more or less suicide.

The one thing that might help them, is if some blogger finds it interesting enough to post it. But I don't see that happening unless there is something special about the founders.(i.e. Blah Blah's(invented Gmail at Google) new site)

</comment><comment><USER8> I saw an email form and clicked back.

</comment><comment><USER9> I must say I don't see anything going for this approach except novelty, and even then, I am unlikely to tell other people about the site.

<comment><USER10> I think "buzz" was a bad word choice on the submitter's part. In terms of using psychology to get your e-mail address to expose you to the site, though, I think it could be quite effective.

</comment></comment><comment><USER11> 3 points in 4 minutes; it seems to be working.

<comment><USER12> No, that's the HN title post on creating buzz. When I saw the bait-n-switch I clicked back. I have better things to do with my time than wait on sign-ups for yet-another-stack-overflow.

Now, if that link had gone to a well-written blog post discussing their process and some data to back it up, they would have gotten a viewer, not a misclick.

</comment></comment><comment><USER13> Do software trial periods generate much buzz? Because that's what this is, only it's a website, it's free and I have to wait on average 12 hours to actually see it without registering. I fail to see any logic, sorry.

</comment><comment><USER14> very weird and useless

</comment><comment><USER15> Clever: "Marked by wit or ingenuity." I personally wouldn't consider it witty or ingenious, but perhaps I'm missing some insight into what problem this solves in an ingenious way. Lacking that insight, I would propose the word "novel," as in "new and unusual."

<comment><USER10> I think it's more of a psychological hack, like when you add a more expensive option to a menu and people start ordering the second most expensive thing more than they would otherwise.

In this case, they're promising more than they're actually delivering right now but present you with a way to potentially get better access. It's not as strong as it could be, but I felt more of an impulse to fill in the box than I usually would with pages like this.

Vaguely related, I have a "coming soon" page at <http://coder.io/> where I tried to integrate a couple of psychological tricks, but it's not as good as this one, for sure :-)

<comment><USER16> I happily signed up on coder.io because I knew enough about the site to sign up.

 _In this case, they're promising more than they're actually delivering right now but present you with a way to potentially get better access._

That is it. I need to know a little more to sign up. I don't mind participating in their registration game if I can look forward to getting access.

</comment></comment></comment><comment><USER17> wget, diff, cronjob, done.

</comment><comment><USER18> Very crafty signup strategy! Exclusivity creates desire and demand

</comment><comment><USER19> or just use google buzz</comment>


Remote managers find employee retention 6x harder than on-site managers - <AUTHOR> https://soapboxhq.com/state-of-one-on-ones-report <comment><USER2> Requires an email address to see details in the report, including the info from the HN title.</comment>


Accurate Navigation Without GPS - <AUTHOR> https://spectrum.ieee.org/tech-talk/transportation/sensors/accurate-navigation-without-gps <comment><USER2> What's novel here is that it is a compact, pretty accurate solid-state inertial navigation unit.

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

[edit] Here's a paper from 2017 to give some context to the problem of inertial navigation using the solid-state gyros and accelerometers you find in smartphones:

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

> Abstract— Building a complete inertial navigation system using the limited > quality data provided by current smartphones has been regarded challenging, > if not impossible. We present a probabilistic approach for orientation and > use-case free inertial odometry, which is based on double-integrating > rotated accelerations. Our approach uses a probabilistic approach in fusing > the noisy sensor data and learning the model parameters online. It is able > to track the phone position, velocity, and pose in real-time and in a > computationally lightweight fashion. The information fusion is completed > with altitude correction from barometric pressure readings (if available), > zero-velocity updates (if the phone remains stationary), and pseudo-updates > limiting the momentary speed. We demonstrate our approach using a standard > iPad and iPhone in several indoor deadreckoning applications and in a > measurement tool setup.

Also: Apple is reportedly working on a full inertial navigation solution, probably for indoor use.

<comment><USER3> No, it's that a cheap compact unit can be used accurately by using an understanding of the foot-planting gait of a human to remove low frequency drift in that cheap unit.

The whole concept is that, using a foot, which is only moving quickly or still, you can filter out the the low frequency component of all of the signals. These sensors are relatively accurate under movement and large signals, just not so much when stil, since their signal strengths become relatively low to the offsets and noise in the system.

<comment><USER4> So it measures the difference from zero in the accelerometer signals when the foot is planted and then accounts for that when the foot is moving?

<comment><USER5> Yes, but that technique isn't new either. Here's a 2014 paper that cites a 2009 paper about it (I didn't follow the trail):

[https://www.omicsonline.org/open-access/understanding-the- pe...](https://www.omicsonline.org/open-access/understanding-the-performance- of-zero-velocity-updates-in-memsbased-pedestrian- navigation-0976-4860-5-53-60.pdf)

<comment><USER4> But there is still going to be cumulative error and drift, right? Has this system reduced the cumulative error so that in some pedestrian use cases it is accurate enough?

<comment><USER6> Both. Long term drift will be extra challenging to correct as the cumulative error is staircase. (Beta distribution)

What this is is actually a step counter, combined with step length and heading estimate from an accelerometer w/ gyroscope plus compass. When the counter makes a mistake, the effects will be catastrophic.

</comment></comment></comment></comment></comment></comment><comment><USER7> Strange that they don't use the age-old term for this sort of position- tracking: dead reckoning.

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

<comment><USER8> True but drift is inherent in dead reckoning due to cumulative errors and evidently the trick this guy used eliminates the drifting or limits it (the prototype was accurate to 5 meters).

<comment><USER7> Well, Wikipedia defines dead reckoning as:

> _the process of calculating one 's current position by using a previously > determined position, or fix, and advancing that position based upon known or > estimated speeds over elapsed time and course._

It still seems applicable, even if the hardware has advanced sufficiently that errors are minimized.

<comment><USER9> Dead reckoning is exactly as described in that pull quote, but the problem is that when you integrate, e.g., accelerometer readings to get velocity, you also integrate its bias, which varies over time, and in the case of MEMS sensors will cause very significant errors.

The solution described in this article significantly improves on that by using the pressure data on foot strike as an observation to estimate the IMU's biases and correct the IMU-only position and attitude.

EDITED TO ADD: In many inertial navigation systems - presumably including this one - dead reckoning will still be used as a fallback in the case where corrections fail (i.e., no GPS or insufficient pressure data)

</comment></comment></comment></comment><comment><USER10> And then there was this solution before GPS...

[https://www.fastcompany.com/3047828/who-needs-gps-the- forgot...](https://www.fastcompany.com/3047828/who-needs-gps-the-forgotten- story-of-etaks-amazing-1985-car-navigation-system)

</comment><comment><USER11> Funny that all it took was to re-compensate for the noise of the accelerometer on every step. Sometimes, simplest is best.

</comment><comment><USER12> One would think that this could be used with GPS to protect against GPS jammers trying to fool the device's view of where it is -- useful for avionics!

<comment><USER13> It is pity that Loran-C is being shutdown. It could have made use of all those old Long Wave broadcast transmitters.

[https://en.wikipedia.org/wiki/Loran-C](https://en.wikipedia.org/wiki/Loran-C)

<comment><USER12> But all systems using radio frequencies would be susceptible to jamming. There are alternative GPS systems from Russia, China, and the EU now, no? I suppose the more such systems, the harder for an adversary to jam them all. Of course, some of those are run by potential adversaries, so there's that.

You really need inertial guidance and/or terrain recognition (as the Tomahawks used to do back in 1990) as a fallback.

<comment><USER13> Not all RF based systems are equal.

GPS received signal strength at the Earths surface is around -130 dBm, barely above the thermal noise floor even in a good receiver.

Around 1000km (most populated areas) from a Loran-C transmitter putting out 1000kW the signal strength is around -50 dBm. That is 9 orders of magnitude harder to jam. All bets are off if your opponent can wheel out 1000kW jammers.

</comment></comment></comment></comment><comment><USER14> Last I knew, the US military was working hard on this problem. Against 'near- peer' adversaries (e.g., China as opposed to ISIL), they need to function when communication networks are shut down.

</comment><comment><USER15> I wonder how long before this shows up in foot pods for runners. I would expect companies like Stryd and Garmin to be all over this.

<comment><USER16> That was my first thought as well. Accurate navigation from footpod data that could eliminate or at least drastically reduce gps usage would be a gamechanger for watch battery life.

<comment><USER17> The sampling rate you need from the inertial sensors is such that I'm not sure it's likely to use much less power than the GPS for similar accuracy.

<comment><USER15> Interestingly, both my Stryd foot pod and Garmin 935 watch (with GPS active) last about 24 hours. The Stryd generally provides more accurate distance/pace measurements. At least in one person's testing, the Stryd is the most accurate device currently available for distance/pace:

[http://fellrnr.com/wiki/GPS_Accuracy](http://fellrnr.com/wiki/GPS_Accuracy)

<comment><USER17> Distance travelled is quite a bit easier than actual position.

Granted, I haven't touched the tech in almost a decade :-P

</comment></comment></comment></comment></comment><comment><USER18> [http://ieeexplore.ieee.org/document/6851424/?reload=true](http://ieeexplore.ieee.org/document/6851424/?reload=true)

<comment><USER19> This is not the paper corresponding to the research described in the article.

A paper that describes a similar system by the same researchers from 2015 is here: [http://ieeexplore.ieee.org/document/7181113/](http://ieeexplore.ieee.org/document/7181113/)

Its not clear if the system presented at ISSCC differs at all.

</comment></comment><comment><USER20> I have a small Android app that uses steps sensor to track location:

[https://github.com/tananaev/steps- navigation](https://github.com/tananaev/steps-navigation)

It's not very accurate and there are some improvements that can be done, but it was an interesting experiment.

</comment><comment><USER21> Pretty neat, but you would still need to give it a starting location since this only tells relative position.

<comment><USER8> The example they gave about inside building navigation does kinda make sense. Imagine firefighters with this device in their boots. They all get to the fire and press a snyc button (or click their heels three times) and their device gets the current position from the GPS in their fire truck.

Now they can be accurately (well sort of) tracked inside the building without requiring sky access for GPS.

<comment><USER22> There will need to be an adjustment made to account for running vs walking, since the foot does not necessarily rest for the same 100ms period while running. Granted, if the sensors are simply measuring the "stillness" of the foot planting, then calculation adjustments should only be limited by the reset period/accuracy of the sensors.

<comment><USER23> The time period of stillness isn't important for this technique.

<comment><USER24> It is, for a few reasons. For one, you need to be able to detect the period of stillness, and so how certainly you can detect that time window is a function of how long it is.

Second, you need to be able to make a number of measurements from your IMU during the downtime. If you have an IMU that works at 20Hz and your period if stillness is 100ms, then you know you can get a measurement in. If your period of stillness is 10ms, then you can't.

</comment></comment></comment></comment></comment><comment><USER25> And here I clicked expecting Bowditch's.

[https://en.m.wikipedia.org/wiki/Bowditch%27s_American_Practi...](https://en.m.wikipedia.org/wiki/Bowditch%27s_American_Practical_Navigator)

</comment><comment><USER17> Looks a lot like something I worked on at Michigan, years back - [https://lojeda.engin.umich.edu/pps/](https://lojeda.engin.umich.edu/pps/)

Cool stuff!</comment>


Intel finally lost Apple because Skylake QA 'was abnormally bad' - <AUTHOR> https://www.pcgamer.com/intel-skylake-why-apple-left/ <comment><USER2> "The quality assurance of Skylake was more than a problem," says Piednoël during a casual Xplane chat and stream session. "It was abnormally bad. We were getting way too much citing for little things inside Skylake. Basically our buddies at Apple became the number one filer of problems in the architecture. And that went really, really bad.

"When your customer starts finding almost as much bugs as you found yourself, you're not leading into the right place."

</comment><comment><USER3> Okay, but this doesn't explain why they didn't move to amd instead. Changing architecture like this is not cheap.

Besides, Apple just pissed off the entire software industry. Assume you are Adobe or Abelton and now have to spend serious money to very quickly port your software to arm64 without getting any new sales.

<comment><USER4> Apple can do whatever they want. They are big enough.

<comment><USER5> That's just true with their platform aka iPhone/iPad/iWatch but not with Software producers like Adobe etc...but maybe that's what they want.

<comment><USER6> Apple builds hardware for Adobe for free.

Adobe's job is to do their part and make software. With this switch, Apple is giving Adobe higher quality hardware to work with. And Apple is providing emulation layer for free.

<comment><USER5> >With this switch, Apple is giving Adobe higher quality hardware to work with

Yeah must be an absolutely a great deal for Adobe...you know Adobe is not just the CreativeSuite.

>higher quality hardware

Lets see about that...

</comment></comment></comment></comment></comment><comment><USER7> I guess they could rename it into SkyFall now.

On a more seriously note, I dont see it has anything to do with the QA. Intel were still quick to response and fix whatever problem they discovered.

But they are now 4 years behind their own schedule and still charging for the same price. 4 years is a very long time in tech industry. And if there are any company that had pricing power against Apple, it was Intel ( and may be Qualcomm. ) And Apple dont like that.

<comment><USER5> No Lake is perfect (data flows out)

EDIT: Sorry rinses out ;)

</comment></comment><comment><USER8> First, they are Apple and given the opportunity to have one Arm for it all, there is always an attraction to rule them all with one Arm. (Microsoft trying decades.)

It is not a matter if but when.

But I think if Intel is ok, ... still the pic of two bridges to sanfranc is not come out today.</comment>


Apple's Genius Ads Are Designed for Noisy Environments - <AUTHOR> http://blog.teaapp.com/post/28487337172/advertising-geniuses-blowing-it-apples-genius-ads-are

<comment><USER2> Good one! Didn't think of it that way and I MUTE everything that's a commercial. It's the button I use most.</comment>


Alphabet's Waymo Cuts Cost of Key Self-Driving Sensor by 90% - <AUTHOR> https://www.bloomberg.com/news/articles/2017-01-08/alphabet-s-waymo-cuts-cost-of-key-self-driving-sensor-by-90 <comment><USER3> Ok, that was a fairly odd press release. I thought that Waymo might be going to sell a LIDAR sensor that anyone could use in their projects, but that isn't the case.

They mention that they have stuck in Chrysler's Pacifica minivan (but this from a previous partnership agreement) and there isn't anyone else participating. And Krafcik says again and again things like "potential", "some day", and "we can imagine". He mentions their LIDAR tech can tell which way a pedestrian is facing.

But since there are no prices, there are no products, there are no actual announcements, it seems to boil down to Google feeling the heat as the company that used to be associated with the notion of bring Self Driving cars to the market. I wonder if they have been doing consumer surveys on what people think about Self Driving cars and finding out that Google is rapidly dropping from the radar of most people.

They don't make cars, they can't get people to partner with them, and they haven't been successful at showing meaningful progress. Meanwhile in the bay area you can't drive down any freeway and not see some chortling Tesla owner talking to their friends while the car moves them along in rush hour traffic.

Additionally:

For me the interesting thing is that Tesla has spent perhaps 5B$ on developing a self driving Model S between 2011 and 2016. And in that same time period Google went from $45B of cash on hand to $83B by Q3 of 2016, so they picked up and literally sat on nearly $40B over the last 5 years. Guess what? Cash sitting in the bank doesn't invent things, it doesn't build things, it doesn't "change the world" and it doesn't make you a leader. Can you imagine where they would be if they had used $10B of that to build a competitive electric car company?

<comment><USER4> I notice that this news piece is headlined "Alphabet's Waymo" thus avoiding mention of Google. I wonder whether this is good or bad for Waymo. I assume they're intentionally distancing themselves from Google and this is what it looks like.

<comment><USER5> Probably neutral in the short term: like when the awful Pacific Bell renamed itself "Cingular," it might confuse a few people. In the long term, it's the same jalopy with a new coat of paint.

<comment><USER6> Admittedly I could be told I'm nitpicking, but Pacific Bell never renamed itself Cingular (not directly anyway). PacBell was bought by Southwestern Bell in 1997 and became SBC. In 2000, SBC Wireless partnered with BellSouth's mobile division to create Cingular. Cingular then bought AT&T Wireless in 2004. SBC later bought AT&T and renamed itself to the company it just bought, aka AT&T. In 2007, AT&T nee SBC bought BellSouth and thus finally owned all rights to the Cingular name, which promptly was dumped and instead renamed to AT&T.

The phone company space is the most incestual circle jerk mess imaginable. Judge Greene has to be rolling over in his grave!

<comment><USER5> Thanks for the history! It almost makes me long for good old Ma Bell, who at least had the good sense not to change her name...

<comment><USER6> It's kinda hard to find these days (gotta love Viacom's legal team!), but Stephen Colbert did a hilarious segment [0] on the Colbert Report about the history of AT&T/Cingular back in 2007. Terminator 2 indeed!

Jump ahead to 2:20 to see the segment: [0] [http://www.cc.com/video- clips/eamlaf/the-colbert-report-bear...](http://www.cc.com/video- clips/eamlaf/the-colbert-report-bears---balls---gas)

<comment><USER7> For those not in USA: [http://imgur.com/a/4lIWw](http://imgur.com/a/4lIWw)

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Waymo isn't the first to announce a low-cost LIDAR. Quantergy announced one last year.[1] They even demoed it. It never shipped. Continental, the big European auto parts company acquired ASC's excellent but expensive technology last year, and promised a low-cost version. Hasn't shipped yet.[2]

These things will get cheap as soon as they're being built in quantity 100,000, instead of quantity 100. Really cheap if they can be made with standard CMOS processes, which has been done experimentally. Most are GaInAs technology, which is expensive.

[1] [http://quanergy.com/s3/](http://quanergy.com/s3/) [2] [http://www.continental- corporation.com/www/pressportal_com_e...](http://www.continental- corporation.com/www/pressportal_com_en/themes/press_releases/3_automotive_group/chassis_safety/press_releases/pr_2016_03_03_3dlidar_en.html)

<comment><USER9> The best cheap lidar for indoor robots, and limited outdoor is built by microsoft, called "kinect". Beats the pants of any lidar that existed in 2005 that cost less than $100k, except on range.

Comes with open source libraries and is a pretty great piece of equipment for indoor navigation.

<comment><USER10> Minus the part where it isn't a lidar. Sure its a great sensor, but if you need a _lidar_ , then you can't use a kinect. And alternatively, if you need 360 degree fov, etc. an actual lider is often better.

</comment></comment></comment><comment><USER11> What happens when every car on the road has lidar and your sensor is bombarded by oncoming traffic?

<comment><USER12> Thankfully the large physical size of the car means that the amount of sensor data is going to be at a maximum when you're on a busy highway and fairly minimal. Something that is constantly modelled today.

It's a very interesting question especially if self driving motorcycles take off which have the ability to move in highly unpredictable ways.

<comment><USER8> With flash LIDAR, the duty cycle is very low. A ranging cycle is about 1μs, while you might cycle at 60FPS. The chance of interference is only about 1/10000 for each ranging cycle. If you put a bit of random jitter in the flash timing, you can avoid accidental repeated interference. You'll get a bad frame once in a while, but if the frames on both sides of the bad one look similar, you're OK.

You can tell if someone is aiming a big light source at you; all the pixels show the same range, probably zero.

Those rotating machinery Velodyne things may not be as immune, but that technology isn't going to be high-volume.

<comment><USER13> Doesnt this limit you to at least a 50 ms response time, before your CPU can "trust" the data? (before/current/next required to smooth before handing off to processing?)

<comment><USER14> In the odd case that the data is clearly garbage, you'll just drop it and keep going as before (so you add a frame to the response time at that specific moment).

In the general case of data affected by noise, it shouldn't be a problem: These things run a simulation of the external world, and every new input frame is never fully trusted, just used probabilistically to update the simulation. It is expected to carry noise, so if your sensors would tell you something like "a pedestrian in the sidewalk just jumped 10m in the air", you'd deduce "the guy most probably has kept walking as he was doing before, he possibly jumped instead, or he might have changed directions instead".

</comment></comment></comment></comment></comment><comment><USER15> Lots of Detroit based news coming from Waymo. I wonder how long it will be until Waymo has a larger base of operations in the area and makes a significant hiring push?

<comment><USER16> May already be happening. Anecdote: A real estate agent in Ann Arbor told me this week that most of her recent customers are coming in to work for Waymo.

<comment><USER17> Why MI and not CA?

<comment><USER18> Far better to develop a self driving car in shitty road conditions, potholes, black ice, fog, drifting snow...

<comment><USER19> As someone living in an area with shitty road conditions, if they can conquer those that is the point at which I start becoming a believer.

</comment></comment></comment></comment></comment><comment><USER20> The press release is light on actual numbers. If they can build LIDARs much cheaper than the competition, and use Google's TPUs for the AI, they might have a genuine differentiator for a few years

</comment><comment><USER21> If it's $7500 for a 3D LIDAR (that is, a cheaper version of the Velodyne LIDAR system) - then that puts in range of SICK and Hokuyo 2D LIDAR sensors, although both of those only have around 180 degree FOV - but they both have a similar price tag (IIRC, around $3-4K per unit).

Still - that's a large fraction of the cost of vehicle, so I don't see it as that great of a breakthrough on price.

Honestly, I personally think that we'll see flash LIDAR or some other non- mechanical scanning tech (along with machine vision cameras - or maybe only such cameras) being used. Indeed, if machine vision cameras could be made to see in a wider range of wavelengths (maybe into near IR and UV?), and also have quick adjustable focus, and some way to deal with dirt and debris - <USER2> cameras would probably be the best way to implement sensing.

Ultimately, the issue isn't so much with the sensors, but with the software; integration of the sensor data into a cohesive whole and then interpreting it properly is far from a solved task (deep learning seems to work well?).

/I'm probably rambling out of my nether regions, tho

</comment><comment><USER22> Beside LIDAR, A/Google adds a radar now too.

I wonder if more and more vehicles have now a radar, isn't it unhealthy to be exposed to so many radar on the road? I mean it's well known that military grade radar can be very unhealthy. I would have assumed that LIDAR plus cameras plus ultrasonic would be enough.

<comment><USER23> Military grade radars can run at peak power output of over 1MW; airport ATC radars at around 100kW. Given the power limitation of cars, car radars will be under a kW for sure, probably more in the single-watt range.

And health effects start happening if you absorb more than 1kW on a small area of your skin (burns, eye damage etc) - unlikely to happen if the total emission is sub-kilowatt.

(I presume there are regulatory limits for this sort of emission anyway, by FCC or otherwise, but I don't know for sure...)

</comment></comment><comment><USER24> This is great but its still LIDAR. Which doesn't do to well when it rains, snows or its foggy out.

</comment><comment><USER25> Earnings date must be approaching, try to distract that they're still just only an online ad company?

<comment><USER26> It's going to be alright. I didn't get a job at Google either.

<comment><USER27> But there were positive notes in your interviews! They'll be sure to call again next summer!... They say 3rd time's the charm.</comment></comment></comment>


Show HN: crowdscore.io Tracking customers journey - SaaS - <AUTHOR> http://crowdscore.io

<comment><AUTHOR> Any feedback much appreciated, we have got 1 client on board in the first week so hoping that not just beginners luck :-)

[http://crowdscore.io](http://crowdscore.io)</comment>


Comcast hedges with new unlimited internet pricing and streamed TV - <AUTHOR> http://www.networkworld.com/article/2980145/network-management/comcast-cord-cutters-stream-unlimited-data.html

<comment><AUTHOR> Comcast aims to hedge against cord cutters by enticing millennials to connect and levying higher access charges on heavy internet users.</comment>


How do you even know this crap? - <AUTHOR> https://www.hanselman.com/blog/HowDoYouEvenKnowThisCrap.aspx <comment><USER2> > I think it's exposure. It's exposure to a diverse set of technical problems > that all build on a solid base of fundamentals.

I agree with this - all the best devs I know have wide ranging experience, and all know quite a bit about networking, Windows and Linux, which gives them a solid base on which everything else is built.

Conversely, all the worst devs I know are intensely focused on very specific areas and call themselves things like "an ASP.NET MVC guy" or "a PHP guy". By limiting their exposure to other areas, some things that are trivial for others cause them _big_ issues - they'll just stop work until someone else comes up with a solution, or they'll bodge together some ludicrously complex way to workaround what should have been very simple to resolve. The bigger problem is that without that base knowledge, not only can they not _solve_ these problem, but they also don't know how to _find out_ how to solve them!</comment>


Pkgr.io: Easy way to get a Debian package out of any app - <AUTHOR> https://pkgr.io/

<comment><USER2> I recently discovered the OpenSUSE build service, an automated build service for RPM and DEB packages: [https://build.opensuse.org/](https://build.opensuse.org/)

It builds the packages on virtual machines for many different distributions and 32+64 bit CPUs.

<comment><USER3> The number one under used service on the planet. It is amazing and should have revolutionized packaging years ago!!!

Hope people will just "get it" soon!

<comment><USER4> I took a look on the website as it does sound promising, but couldn't figure out what's going on (even with the precursor info on this HN thread).

I could totally "get" why it's the number one under used service. I wish I could just as easily grasp how to use this service.

pkgr.io does a way better job explaining what the service provide, why it's a good idea to use it, and even a quick overview of how to use it.

</comment></comment></comment><comment><USER5> Packaging is a real pain, kind of a schlep. One project, which solved a lot of problems for me was [https://github.com/jordansissel/fpm](https://github.com/jordansissel/fpm).

One edge-case, where fpm cannot help by itself, occurs in the python (w/ C-bindings) world, when your dev and prod environments use different libc versions. I got around that issue by running fpm inside a VM, which matches the libc version of the target system.

But it's still not as easy as it can be - so pkgr.io looks promising.

<comment><AUTHOR> OP here, thanks for the comment. fpm is a great tool: PKGR is based on [https://github.com/crohr/pkgr](https://github.com/crohr/pkgr), which itself uses fpm. That being said, you indeed need to make sure your build system is close to your target system, and it is not that easy to package complex apps with specific dependencies. Generally, (Web) Application packaging does not have the same needs as OS packaging.

</comment></comment><comment><USER6> Gist of the thing:

        As a Rails developer, I've become tired of messing with
        ruby versions, gem dependencies, bundle installations,
        deploy-time asset precompilation on my servers,
        etc. ... Basically, what I wanted was a Heroku-like
        workflow that generates and hosts debian packages,
        which is what  exactly what PKGR provides.

As a customer of Heroku's excellent but rather expensive services, and a fan of deployment via package management, I'm certainly intrigued.

<comment><USER7> I use Dokku (self hosted Heroku) for this purpose:

[https://github.com/progrium/dokku](https://github.com/progrium/dokku)

</comment></comment><comment><USER8> To offer an alternative, I've personally found checkinstall to be useful for putting together ad-hoc .deb packages for deployment.

[http://manpages.ubuntu.com/manpages/trusty/man8/checkinstall...](http://manpages.ubuntu.com/manpages/trusty/man8/checkinstall.8.html)

<comment><USER9> Unfortunately checkinstall has an inconvenient bug on (at least) Debian Wheezy which makes sudo required for package building under some circumstances.

<comment><USER10> How so? What goes wrong with `make && sudo checkinstall make install`?

<comment><USER9> Filesystem translation has a bug: [https://bugs.debian.org/cgi- bin/bugreport.cgi?bug=717778](https://bugs.debian.org/cgi- bin/bugreport.cgi?bug=717778) [https://bugs.launchpad.net/ubuntu/+source/checkinstall/+bug/...](https://bugs.launchpad.net/ubuntu/+source/checkinstall/+bug/78455)

This manifests itself by any "mkdir -p" which requires root in the `make install` phase failing.

</comment></comment></comment></comment><comment><USER11> My first thought was that there was no way I'd want to make my deploys dependent on yet another random webservice. But it looks like there's a standalone version, too. [https://github.com/crohr/pkgr](https://github.com/crohr/pkgr)

</comment><comment><USER12> "Uses Heroku buildpacks to embed all your dependencies within the debian package. That way, no need to mess with stale system dependencies"

That does mean, however, that it's now your job to rebuild your package whenever a library gets a security fix. Possibly worth the sacrifice, but an important one I think people need to understand.

<comment><AUTHOR> OP here. Totally right, the final goal being that a new version of the package gets automatically rebuilt whenever a buildpack gets updated with a security fix.

</comment></comment><comment><USER13> Not sure whenever this is a good service or not ( _proper_ Debian packaging is 10% writing scripts 90% reading and conforming to policies), but I believe it would be really better if it'd be able to produce and maintain "debian" branch and tags for pbuilder/git-buildpackage, so standard package building practices would apply.

<comment><USER14> Pkgr (and fpm, the program it uses) is not for shipping a package that people can install and depend upon as part of their own OS distribution. It's for using apt-get as your orchestration system, instead of puppet/chef/etc.

You package your application and its dependencies as .debs, create an apt- mirror containing those debs, add that apt repo to your deploy-targets' sources.list.d's, "apt-get install yourcorp-system-release", and relax.

<comment><USER10> They should add a disclaimer that they are not a replacement for _proper Debian packaging_ then. Lots of whiny people complain about the complexity of Debian packaging when really they don't understand the requirements for integrating nicely with every other installed program or potentially- installable program.

</comment></comment></comment><comment><USER15> Well done. All of my questions were answered by browsing the site. +1 for using SSL everywhere.

</comment><comment><USER16> How does this work with assets that need to be served externally, e.g. uploaded to S3?

<comment><AUTHOR> You have the possibility to add custom before/after hooks, and thus upload freshly precompiled assets from them, however there is currently no secure way to encrypt secrets (in your case, S3 credentials). This may come later on (a la Travis-CI, [http://docs.travis-ci.com/user/encryption- keys/](http://docs.travis-ci.com/user/encryption-keys/)), but is not a priority right now.

<comment><USER16> Are the hooks not run on each instance the package is being deployed to?

<comment><AUTHOR> No, the hooks currently supported are scripts that are run before and after the slug compilation phase. I don't think you would want to make your package installation dependent on pre/post install scripts that access the network.

</comment></comment></comment></comment><comment><USER17> Since a .deb, shouldn't this be installed into /usr rather than /opt?

<comment><USER18> No, why? It should be installed in /usr and so on if it conforms to debians packaging guidelines, otherwise it should stay in /opt.

<comment><USER19> Good point. I guess random apps might, for example, put their binaries outside bin, or their docs outside of share/docs/myapp

</comment></comment></comment><comment><USER12> Somewhat related is gem2deb: [https://github.com/lnussbaum/gem2deb](https://github.com/lnussbaum/gem2deb)

Missing the neat config interface of pkgr (and the build service obviously!) but it's fully supported by Debian/Ubuntu now (used to build almost all of their ruby app and library packages).

</comment><comment><USER20> Any plans to do the same for RPM packages? Most enterprises are running a RHEL variant, not Debian/Ubuntu.

</comment><comment><USER21> Does this only work for Ruby projects?

<comment><AUTHOR> At launch, only Ruby and Node.js projects are officially supported. But you can always specify another buildpack in your app's configuration to test with other runtimes ([https://pkgr.io/doc#buildpack](https://pkgr.io/doc#buildpack)).

</comment></comment><comment><USER22> Installing dependencies for web apps at the system level is usually the wrong thing. You may have a deb but now you are prone to conflicts between that deb and the distro's debs.

<comment><USER23> There are no conflicts, because the application debs put everything in e.g. /opt/discourse

</comment></comment><comment><USER24> How does it compare to Docker for example?

<comment><AUTHOR> OP here. For all the goodness offered by Docker to deploy apps, sometimes a good old debian package is all that's needed. The format is widely supported and battle-tested, while Docker requires specificities under the form of kernel version, additional software to install, and additional operational knowledge.

In short, if you already have a working Docker installation, you probably don't need PKGR, though nothing prevents you from building your containers by simply apt-get install'ing the app instead of having 10's of RUN commands to install the dependencies.

<comment><USER23> I could see pkgr being useful for creating an on-premises "enterprise" version of a web app, in situations where the target customers would like to deploy it on their own Debian or Ubuntu machines. Docker is a bit too cutting edge for that scenario.

<comment><USER25> This is exactly the same scenario I had in mind. This would allow projects to have an easier way to distribute some kind of Enterprise version of a web app. Will definitely take a look.

</comment></comment></comment></comment><comment><USER26> This solves a real problem. Nicely done. Can't wait to try it out.

</comment><comment><USER27> Do the generated packages pass lintian?

</comment><comment><USER28> This looks very useful for .deb systems.

Does anyone have any suggestions for other platforms? Perhaps Windows, OSX, etc?

</comment><comment><USER3> Not interested because it only works for deb.</comment>


Wearable to relieve Chronic Pain - <AUTHOR> https://www.indiegogo.com/projects/quell-the-world-s-first-pain-relief-wearable#/story

<comment><USER2> Fundraisers can't be Show HNs. Please read the rules:

[https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

</comment><comment><USER3> There is a related article at [https://www.bostonglobe.com/business/2015/01/16/pushbutton-p...](https://www.bostonglobe.com/business/2015/01/16/pushbutton- painkiller-offers-drug-free-relief/qbFqkuGn2Nsrp9KY6UhBeN/story.html)</comment>


UFC files trademark for 'UFSEA' following satirical suggestion from John Oliver - <AUTHOR> https://www.cbssports.com/mma/news/ufc-files-trademark-for-ufsea-following-satirical-suggestion-from-john-oliver/ <comment><USER2> Thought it was an anti-typosquatting type of maneuver at first.

<comment><USER3> Trademarks normally work under a "use it or lose it" policy, so it's slightly different to avoiding typosquatting like you could with a domain, in that you actually have to demonstrate usage of it to maintain the registration.

</comment></comment><comment><USER4> I wonder what the international (or national) law would be if UFC did take over an island somewhere. They could pretty much do whatever they wanted, unless the jurisdiction interceded.

<comment><USER5> I'm not sure there are any islands in existence today that are outside of some sovereign state's territorial jurisdiction.

<comment><USER6> How about just about to make your own island in international water?

<comment><USER5> UNCLOS says that any artificial islands within the exclusive economic zone of a country are subject to that country. This means in practice that you'd have to build an island that's not on a continental shelf... good luck with that.

<comment><USER7> What about a really, really big oil rig?

<comment><USER8> I don't know if you would even need a big one. There are definitely shipping container ships that have huge decks that are more than enough space. I think if you have a decent margin around a helicopter pad you might even be able fit the octagon, cameras, corners and judges.

</comment></comment></comment></comment></comment></comment><comment><USER9> Can they enforce any trademark if it was used before publicly?

<comment><USER10> You can trademark a lot of stuff, but John Oliver isn't going to challenge this, except perhaps to make a joke of it.

There's plenty of evidence on Last Week Tonight that he's a generous guy in general. If he manages to hold onto his money I expect him to become a sort of comedy-philanthropist a couple gigs from now.

<comment><AUTHOR> Indeed, John Oliver tends to say what charity the comedy piece would go to.

</comment></comment></comment><comment><USER11> John should follow up with UFCEE, UFSEE, YOU-FC, etc.

<comment><USER12> The suggestion is related to the naming of Fight Island, not typos.

</comment></comment><comment><USER13> I guess UFC is worried that someone could file it and do damage to the UFC brand.

<comment><USER14> Or Dana White wanted to get some publicity. I dunno.

I feel for the fighters trying to stay healthy as well as the business which employs them all.</comment></comment>


Ask HN: Facebook status updates and sharing down - <AUTHOR>

Anyone else also facing issues with updating, or sharing facebook status messages? <comment><USER2> Yes. I thought maybe it was an interaction problem with Social Fixer, but I don't think that's the only issue. I have nothing else to report at the moment.

<comment><AUTHOR> I can't even change my password!</comment></comment>


Qubes OS – Security by Compartmentalization - <AUTHOR> https://www.qubes-os.org/

<comment><USER2> I've been using this and really like it!

The experience is very dependant on the hardware, so it's much more usable with 8G ram, quad core and ssd than otherwise, but it can work on more basic specs too.

It's really nice being able to pass a VM's traffic through a VPN VM, or to completely sandbox it from the network. Also having a convenient interface for opening a PDF or web browser in a disposable VM is pretty neat.

Some things become more fiddly like attaching devices or moving files between VMs, but it depends on the use-case how much that matters.</comment>


Hitsteps Ultimate Web Analytics - <AUTHOR> http://www.hitsteps.com

<comment><AUTHOR> Hitsteps Analytics is a powerful real time website visitor manager, it allow you to view and interact with your visitors in real time.</comment>


An Introduction to Scientific Python (and a Bit of the Maths Behind It) - <AUTHOR> http://www.jamalmoir.com/2016/05/scientific-python-numpy.html <comment><USER2> What would be more interesting is the internals of numpy. What is it that makes numpy 'blazing fast'?

Instead, there is only high school level math in the article, with dot products and matrices and so on.

<comment><AUTHOR> That is true, the maths is very basic and it doesn't go into why it's blazingly fast. The reason for this is that it doesn't fit the idea of this series at all.

However that would be an interesting post, it will be a good one to write, but not part of this series.

Thanks!</comment></comment>


Dramatically Simplify Full-Stack Development with a Unified Architecture - <AUTHOR> https://www.freecodecamp.org/news/full-stack-unified-architecture/ <comment><USER2> As someone who is relatively new to software development and the purported "6 layer paradigm" is all I've known, what are the downsides to an approach like this? Any other real world/historical examples of this kind of architecture?</comment>


Swift and the Legacy of Functional Programming - <AUTHOR> https://realm.io/news/tryswift-rob-napier-swift-legacy-functional-programming/ <comment><USER2> I'm curious, does every else find this

        let persons = names
            .map(Person.init)
            .filter { $0.isValid }

easier to read than this?

        var persons: [Person] = []
        for name in names {
            let person = Person(name: name)
            if person.isValid {
                persons.append(person)
            }
        }

I understand and appreciate the value of compact code, but I find the first one harder to read. A lot of inferred/token based coding is harder for me to mentally parse.

<comment><USER3> I think if the second one is easier, you've more or less been taught to think like a microprocessor. That happens to most of us after a few years of writing imperative code. The more abstract functional approach is, however, conceptually simpler and more powerful at the same time. (For example, the first one is completely open to being performed in parallel.)

With a little experience, functional programming is quite straightforward. Practically everything comes down to map, filter, and fold, or whatever they're called in a given language.

<comment><USER4> > For example, the first one is completely open to being performed in parallel

So what do you actually have to do to make this actually run in parallel? Or do you truly get it automatically?

<comment><USER3> I don't think that will happen in Swift, but conceptually there's nothing that stops the compiler from doing it since you're not specifying the order that anything happens. Some Haskell compilers can automate parallelization of the equivalent code. But pragmatically speaking, you can convert code in this style to parallel code without changing the algorithm; for example various "map-reduce" servers are built around the idea of mapping and reducing, which are fundamental concepts of functional programming.

In contrast, in the imperative form, you are specifying how items are appended to a list, which means that any attempt to do it in parallel could change the order of the operations and therefore the order of the result. Sure, a sufficiently smart compiler could in theory figure out what "should" happen and see how to optimize it, but in practice today's smartest compilers can barely handle the functional case.

</comment></comment></comment></comment><comment><USER5> Yo, would be nice to have some functional programming language with decent syntax to program apple machines. Let's call it Dylan to honor the most recent winner of the Nobel prize for literature.

Just kidding. The bottomline of this page and talk is that _Swift is still not functional._ But you can do cool things with it.

<comment><USER6> I dunno; I think the bottom line of this page is that functional programming is a set of approaches for solving problems, and some of those approaches can be done in Swift.

<comment><USER7> Haven't read the article yet, but the problem I find with this attitude generally is that the constraints found in FP are what I find valuable, and what are usually missing from languages which support functional approaches.

<comment><USER8> Well said. I can write exceedingly low defect code without folds. I can't do so with implicit IO everywhere, ad hoc polymorphism, and dynamic typing.

</comment></comment></comment></comment><comment><USER9> Ask five programmers to define functional programming, get fifteen different answers.

<comment><USER10> The term "functional programming" is overloaded, but I think there's a sensible way to split the term into two halves.

"Purely functional programming" is writing programs to resemble mathematical functions, with referential transparency and absence of side-effects and so forth. Also know as "what Haskell does."

"Function-oriented programming" is writing programs using functions as your main tool for abstraction, encapsulation, defining interfaces, unit of code division, etc. This part of functional programming is more typified by the Lisp family.

Most languages that are considered functional generally encourage both of these aspects, partly because they work well together. The confusion over definition comes from these two halves getting tangled, and some languages or programmers emphasizing one half over the other.

Non-functional languages that are becoming "more functional" are generally importing features from the "function-oriented" side of things, and adopting the "purely functional" aspect as a best practice convention, if at all. It's probably more accurate to say that they _enable_ a functional style of programming, rather than that the _are_ functional.

<comment><USER11> Actually, both of those families come from lambda calculus, except in different way. Lisp comes from untyped lambda calculus (and adds things like car, cdr and eq on top of it), while Haskell (and ML) comes primarily from typed lambda calculus.

I offer a definition of "functional programming" as "based on semantics of lambda calculus".

<comment><USER12> Lisp does not come from lambda calculus. Anonymous functions in Lisp get their LAMBDA name from lambda calculus, that's all. MacCarthy admitted that he didn't even understand lambda calculus properly, which is why early Lisp was dynamically scoped: lambdas didn't capture lexical variables. Whereas lambda calculus is lexical. Lexical scoping was adopted in later Lisp dialects and into Common Lisp, making those dialects retroactively related to lambda calculus. (Emacs Lisp shows the traditional behavior of dynamic scoping; therefore it couldn't be said to be related to lambda calculus.)

Lambda calculus is a formalization of number theory which builds up numbers from functions. An important result is that lambda calculus is Turing complete. It shows that we can boostrap numbers and number theory from almost out of nothing, using Church numerals.

Lisp has never built numbers out of Church numerals; it had ordinary integers.

Also, lambda calculus, typed or not, does not have its own syntax as a data type. It doesn't have symbols. You don't quote a symbol and pass it to a function and so on.

So that's basically it; there is a link between Lisp and lambda calculus due to the use of the _word_ lambda in a related way, and a somewhat stronger link between lexically scoped Lisps (which came later) and lambda calculus.

<comment><USER11> I guess you're right, it doesn't come so much from lambda calculus as I claimed, it was more inspired by it. Although to be fair, in the time the Lisp appeared, it was the closest thing (by a wide margin) to lambda calculus. I think it was a valiant effort to bridge the gap in that direction (and the design choices were influenced by the trade off that he also wanted a practical programming language).

Also, even languages like Haskell are not based only on theoretical lambda calculus, but they also have primitives for data types, which could be, in theory, represented by lambda expressions.

</comment></comment></comment></comment></comment><comment><USER13> The talk discusses how you can incorporate a few functional techniques (map, filter) but the speaker's main goal seems that he wants Swift to be changed to allow for a couple of other functional ideas to be brought into the language.

Where's the Swift proposal for the enhancements? Product and Sum support? Algebraic data types?

</comment><comment><USER14> I enjoyed the talk, thank you.

The part about "lifting" a type was an 'aha' moment for me and now I understand!*.

I mean, I did this intuitively, but now I know the name of the technique, which is really good.

Thank you, I've learned something new today!

</comment><comment><USER15> There seem to be a lot of "pretend" functional languages around these days. I have recently been engaging with Scala. Having heard and read so much about how it embraces functional style I was kind of shocked to find the number of limitations and practical impediments to actually using it that way. I am starting to wonder if functional programming has finally fallen victim to the same problem that has afflicted all other methodologies - becoming too popular, part of the hype cycle and getting misinterpreted and misapplied everywhere as a consequence.

<comment><USER16> Scala is about as functional as it gets - the only remotely mainstream language that's more so is Haskell, IME. What kind of issues did you have?

<comment><USER17> This sounds pretty misinformed. There are plenty of choices in between Scala and Haskell; Clojure and Elixir are two other relatively popular languages that come to mind.

<comment><USER18> You might have fallen victim to misinformation yourself.

In general, functional programming in Scala tends to be more FP, with code tending to be more pure than in Clojure and I have no experience with Elixir, but I have some experience with Erlang and FP code in Scala tends to be held at a higher standard than in Erlang.

Of course, you've picked 2 dynamic languages as examples and FP in dynamic languages is different than that practiced in static languages like Haskell or Scala. LISP developers for example don't think so much about monads or other abstractions with mathematical foundations, because LISP developers tend to work around such needs by doing macros (which then have composability problems) or by bending the rules a little, or in other words I've seen no LISP to make a serious attempt at reasoning about I/O in a pure way.

And IMO code in static languages tends to be more pure because of the types, because by having an expressive type system, the developers then want that type system to explain everything. Or in other words, dynamic languages are cool for your day job, but if you want to actually feel what FP is all about, you're better off going for a static languages like Haskell, or even Scala or OCaml.

PS: [http://typelevel.org/](http://typelevel.org/)

<comment><USER17> Thanks for your reply, I think this is a matter of interpretation of what functional actually means. I personally consider the fact that Scala allows you to get away with immutability so easily (as evidenced with the implementation of all the immutable collections) a very bad thing. It might be just a matter of taste, though; Scala was my gateway drug to functional programming, and I considered implicit parameters and all these immutable containers something very un-functional.

You cannot get away with these things as easily in the Erlang VM (and thus Elixir). I agree with your assessment that Clojure with its macros is an ugly hack, and requires discipline to get right.

Having said that, Haskell also takes a lot of discipline to get right (no lazy I/O, for example), and allows you to get away with ugly things as well (unsafePerformIO). The type system makes it a lot easier to get right though (or in other words, more difficult to do the wrong thing).</comment></comment></comment></comment></comment>


Ask HN: Good resources for learning astrophysics and like? - <AUTHOR>

Though HN is full of Computer Science  angels, I am looking for a pointer on resources like Astronomy (And how to computationally work with it, Using ML to solve tough scientific problems etc.) computational biology, robotics, pure math etc <comment><USER2> I like Dover's Science and Mathematics series. I know they have a lot on astronomy, celestial mechanics, orbital mechanics and the like. They also have very good books on pure math. I'm not sure about ML, they don't always have the most up to date computational books.</comment>


Structure and Interpretation of Classical Mechanics - <AUTHOR> http://groups.csail.mit.edu/mac/users/gjs/6946/sicm-html/book.html <comment><USER2> I found this one of the most useful books I've read, but less so for the physics (which was mostly an intellectual curiosity), and more so for understanding how to write good code.

In it, Sussman shows you how to:

* Write a Lagrangian

* Symbolically convert it into Lagrange's Equations

* Compile those into native code

* Numerically integrate the with an optimized numerical algorithm to get a path of motion.

And all of this, with beautiful, clean, concise, simple code.

A-fing-mazing.

</comment><comment><USER3> previous submissions with discussions:

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

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

</comment><comment><USER4> I love love _love_ this book. Its explanations are wonderful and for someone deeply entrenched in CS like me it is a great approach to learning modern classical mechanics.

<comment><USER5> I've read somewhere that the Lagrangian approach was too computationally intensive; leading to explosion of possible paths and dimensions. Anyone can confirm ?

<comment><USER6> Too computationally intensive for what?

The Lagrangian approach is kinda great. If you can describe the potential energy and the kinetic energy of a system as two functions of whatever variables, Lagrangian mechanics allows you to derive the differential equations that govern the evolution of that system for free.

There's absolutely zero fucking around with forces, torques, etc. to get yourself a set of equations with which to model system behavior. You do have to add one constraint equation for every constraint on the system, but this is way easier than trying to formulate a set of differential equations that just happens to satisfy an arbitrary set of constraints.

I don't know of a reason why Lagrangian mechanics would tie one to a particular algorithm or class of algorithm; pretty much no matter how you do it, if you're modeling a mechanical system, you're solving some differential equations in one way or another.

TL:DR; can't confirm at this time

<comment><USER7> But doesn't it have a hard time with coulomb friction, since you can only work with conservative fields/forces? A quick search confirms you have to use a bolted-on "dissipation function".

<comment><USER2> Correct. In contrast to Newtonian mechanics, Lagrangians and Hamiltonians completely describe essentially all fundamental laws of physics -- including things like quantum and relativity.

However, they are cumbersome to work with for some complex, compound phenomena, such as friction.

</comment></comment></comment></comment></comment><comment><USER8> Is there a solutions manual available for this book? I couldn't find any mention of one on the MIT Press website, and a quick Google search wasn't helpful.

</comment><comment><USER9> It looks like the result of combining the first volume of [http://en.wikipedia.org/wiki/Course_of_Theoretical_Physics](http://en.wikipedia.org/wiki/Course_of_Theoretical_Physics) with SICP.

</comment><comment><USER10> Is anybody familiar with any Scheme notebooks preferably with math.js or something similar?

</comment><comment><USER11> Frankly I find it uninteresting because it doesn't talk much about chaos, which is the normal condition of classical mechanics. You certainly can model aspects of resonance with classical perturbation theory, but the most remarkable think about classical perturbation theory is that it doesn't work very well.

<comment><USER2> Yes it does. I'm confused why you believe it doesn't....

</comment></comment><comment><USER12> Any pdf downloadable version?

<comment><USER13> Link on Wikipedia: [https://drive.google.com/file/d/0BxVCLS4f8Sg5MDIzMzJmZDQtZGE...](https://drive.google.com/file/d/0BxVCLS4f8Sg5MDIzMzJmZDQtZGEzMS00NjgxLWE0MjYtMmNlMDA5ZGNmMjg2/view)</comment></comment>


Ask HN: Software development tools - <AUTHOR>

What software development tools, mostly in terms of engineering your apps, do you use? Most UML tools for linux, seem to be outdated and very light on features (please correct me). What do you use to plan your apps before writing the code? <comment><USER2> A whiteboard.

Seriously. A whiteboard, post-it notes, and lots of pencils and paper.

I'm a firm believer in UML-as-sketch (vs UML-as-blueprint), and for sketching, nothing I've seen beats the old school.

 _EDIT: fixed punctuation_

<comment><USER3> Post-it notes are more powerful tool than most people realize because they:

\- Rearrange easily (no copying)

\- Support text and diagrams

\- Are concurrently editable (as a group)

\- Convert virtually useless walls into huge work surfaces

The idea that really hit it home for me is The KJ Method (aka Affinity Diagramming aka Snow Carding). Here's one description: <http://www.mindtools.com/pages/article/newTMC_86.htm>

There's a lot of way of organizing ideas and meetings using them that are really non-obvious. This (short, sweet) book covers some: <http://www.amazon.com/dp/1555611427> Coders will get the ideas after the first chapter, but others should find the rest of the book educational as well (plus give some insight into basic data structures).

<comment><USER4> Diagrams on post-its, are you kidding?

<comment><USER2> No, diagrams made out of post-its on a white board. So you can move the various parts around.

</comment></comment></comment></comment><comment><USER5> OneNote. Probably the best wiki in the world. Runs only on windows though...

</comment><comment><USER6> PivotalTracker is good for managing user stories: <http://www.pivotaltracker.com/>

</comment><comment><USER7> I used Adobe's Ideas app for the iPad to sketch UI ideas & DB schemas last weekend. I also downloaded 37signals' Draft app but it sucked major monkey balls & I will be hitting them for a refund if they don't fix the bug they have managed to sneak into an app that has a grand total of 4 features.

<comment><USER8> Didn't you know that 37Signal's philosophy is about keeping the feature count to an absolute minimum?

</comment></comment><comment><USER9> UML tools seem to lack substance on any platform. Use pencil, eraser, and paper for design. And know that most diagrams are not as useful as everyone says they are.

</comment><comment><USER10> Paper and the text editor.

</comment><comment><USER11> Jira + Confluence + whiteboard

</comment><comment><USER12> emacs</comment>


Facebook Like button [operator] a controller jointly with Facebook (GDPR ruling) [pdf] - <AUTHOR> https://curia.europa.eu/jcms/upload/docs/application/pdf/2019-07/cp190099en.pdf <comment><AUTHOR> Mods - sorry for editorialising the title, I know it's against HN rules, but the full ruling title is too long to fit into the heading field. "The operator of a website that features a Facebook 'Like' button can be a controller jointly with Facebook in respect of the collection and transmission to Facebook of the personal data of visitors to its website"

Related analysis: [https://www.theregister.co.uk/2019/07/29/eu_gdpr_facebook_li...](https://www.theregister.co.uk/2019/07/29/eu_gdpr_facebook_like_button/)</comment>


Court Overturns Conviction of Ex-Goldman Programmer - <AUTHOR> http://dealbook.nytimes.com/2012/02/17/court-overturns-conviction-of-ex-goldman-programmer/

<comment><USER2> It appears his acquittal was based on a technicality (language within the Economic Espionage Act) and he has pretty much admitted that he did something wrong (uploaded it to a server in Germany to bypass Goldman's security):

      At trial, Mr. Marino, the lawyer for Mr. Aleynikov,
      acknowledge that his client breached Goldman's
      confidentiality agreements, but insisted that he did not
      commit a crime.

So, it would seem that Goldman should rightly be rather upset about this, as much as I dislike Goldman, they seem to be in the right here?

<comment><USER3> I used to work at Goldman's and I can tell you that they will be absolutely furious about this. I have never worked at a company so paranoid about having work stolen. Once - a friend of mine sent me an email with a tag-line with a bit of code in it. When I replied the email filters picked it up and I had to explain to my boss why I was trying to "export" Goldman's code. They are nuts about it.

Goldman put a lot of time and energy into making an example out of this guy. He blatantly "did it" - they had recorded phone conversations of him talking to his new boss and uploading code immediately after. I know the details because we received almost weekly reports on the case via the corporate intranet (in the "news" section). Goldman wants their people scared so nobody else tries this.

I always found it a bit odd because the court sentenced this guy to 8 years. Ummm... ok. But why is Fabrice Tourre still walking around? Justice indeed.

<comment><USER4> Forget Fabrice Tourre, how about John Corzine? The government isn't even going to use the law _that he created_ to go after him for stealing client money.

<comment><USER5> What bothers me more about this particular case is that Goldman's attorneys claimed that this code could be used to manipulate the market, and yet the SEC did nothing to investigate.

You have documented court testimony of a market participant (Goldman) claiming they have the ability to manipulate the market. This should be a slam dunk if we had regulators with anything remotely resembling balls.

<comment><USER6> You misunderstand, knowing how someone else is going to trade allows you to do market manipulation, knowinf how you are going to trade yourself obviously doesn't help you do market manipulation

</comment></comment></comment></comment></comment><comment><USER7> GOOD. Fuck Goldman for being able to sic the FBI on an ex-employee who went to a competitor. If he copied code that's obviously a civil matter. How many tech companies have had the same thing happened to them? How many did the FBI get involved in? Close to zero I'd guess over 40 years.

They get special treatment from law enforcement because they're rich, powerful, and connected. It was a total travesty that the FBI even became involved in the first place.

Not that I'm justifying his actions. He did wrong and there should be consequences -- but Goldman _shouldn't_ get to use the FBI as their enforcers.

</comment><comment><USER8> Even if he violated confidentiality agreements, wouldn't that be a civil violation instead of a criminal one? Why is the federal government prosecuting what should be a civil case?

<comment><USER9> GS wanted an example made, so they got the FBI to prosecute. 8 years inside makes for a really big stick to wave in front of the rest of their programmer base.

Unfortunately for them, the court has ruled that the statute in question didn't apply, so the ruling has been reversed. Assuming double jeopardy applies, he can't be prosecuted (by the government) again for the same acts. I _think_ that GS could still sue for breach of contract, but their damages would presumably be limited to actual harm done wouldn't they?

<comment><USER10> They could be but they could seek punitive damages and/or treble damages. Honestly, in the case of getting sued by GS costs are probably the biggest factor.

</comment></comment></comment><comment><USER11> How would you go about stealing code from Goldman without being detected?

<comment><USER12> understand it and replicate it

<comment><USER13> Cannot be emphasized enough. They can get you for copying code but not for reimplementing functionality if you understood how it was implemented.

</comment></comment></comment><comment><USER14> It seems like they can trivially retry him under criminal copyright infringement laws. Is there some technicality preventing the justice department from pursuing that course?

Does anyone know if Goldman is simultaneously pursuing civil resource for copyright violation?

<comment><USER9> Double jeopardy applies here doesn't it? You don't get to keep prosecuting people for one act until one of the cases sticks: You have to pick one breach of the law, or bundle a bunch of them into a single prosecution, and go to court on that basis don't you?

<comment><USER15> IIRC, double jeopardy doesn't stop both criminal and civil charges from being filed for the same offense (it only applies to being criminally charged multiple times)?

<comment><USER9> You're right (I think), so GS could go after him for breach of contract and/or copyright infringement but not any of the criminal offences that were originally available to them (including the copyright related ones).

Given that their return might be limited to their provable losses & that they'd have to demonstrate those in court I suspect that they'll probably decide it's not worth the effort. The guy has already spent a year in prison after all & they've successfully demonstrated to all their other employees that GS will go for the maximum possible sentence if any of them transgress in the future, which was probably the main point of the whole exercise in the first place.

</comment></comment></comment></comment><comment><USER16> Well I can't see how any "resonable" operson would not say that a trading platform used in an international and across state boundarys is not a "product produced for interstate commerce"

This is one of those bonkers decisions by judges a bit like the famous Prince Philip Prestel Hack back in the 70's

Basicaly the judgement was that an electronic key is compeltly diferent to a physical one - WTF!

I used to work for the guy who had been in charge of that system

<comment><USER17> The disagreement, from what I can tell in this brief summary with no opinion out yet, doesn't seem to be over the "interstate" part so much as the "product" part. The federal government's Constitutional commerce-clause power almost certainly includes the ability to regulate platforms like this Goldman platform, since it's heavily tied up in interstate (and international) commerce. But the wording of this _particular_ criminal law, the Economic Espionage Act, arguably applies only to "products" sold in interstate commerce, not internal software that isn't for sale anywhere, even if used internally for purposes closely tied up with interstate commerce. At least, that's what his lawyers appear to have successfully argued.

<comment><USER18> I haven't read the court's decision to see exactly what part of the statute the guy was charged under and the court said did not apply, but the wording of the part that looks like it would be the right part says:

       Whoever, with intent to convert a trade secret, that is related
       to or included in a product that is produced for or placed in
       interstate or foreign commerce

I'd expect the internal software to qualify under the "related to" part, as it is related to their trading product which is heavily involved in interstate commerce.

<comment><USER17> I read it as saying that the _trade secret_ has to be "related to" a "product that is produced for or placed in interstate or foreign commerce". So if their trading platform isn't "a product", and isn't itself "produced for or placed in" interstate or foreign commerce (but only used internally), it may not apply. Depending on what exactly "placed in" means; it seems the court interpreted it to mean that the product had to actually be put into commercial channels for sale, not merely used internally for commercial purposes.</comment></comment></comment></comment>


How 2 SpaceX Alums Are Using Encryption for Good - <AUTHOR> http://dcinno.streetwise.co/2016/01/07/spacex-alums-are-offering-encrypted-messaging/ <comment><USER2> I'm not sure if it's possible to truly call it secure unless the source code is publicly available.

<comment><AUTHOR> Absolutely agreed! We haven't gone as far as to make Cyph truly FLOSS, but our source code is publicly available under the Ms-RSL: [https://github.com/cyph/cyph](https://github.com/cyph/cyph)

In the near future, we plan to go further than that by releasing a script that builds the source code locally and computes its hash, then compares that to the hash of the current production signed package and alerts you if they don't match. The intention is to make it easily detectable if we ever sign and deploy code that differs from what's in GitHub, such that any hypothetical "secret" backdoor would need to be hidden in plain sight right in the revision control commit log (which we would expect to eventually be caught by an independent security analyst).

<comment><USER2> So, essentially, a reproducible build.

<comment><AUTHOR> Yep, exactly. We may need to pin things like TypeScript and minifiers to specific versions in our local environment's Dockerfile, but otherwise there should be no issues with other people's machines computing the same packages and hashes byte-for-byte.</comment></comment></comment></comment>


Application Performance Monitoring in Node.js - <AUTHOR> https://medium.com/@nodereaction/application-performance-monitoring-in-node-js-4554bfe36a74 <comment><AUTHOR> Today, I'm pleased to announce the launch of NodeReaction, an open source performance monitoring framework in Node.js. Please "clap" our Medium article (50 claps!), and "star" our GitHub profile. Happy hacking friends!</comment>


Name a Theorem - <AUTHOR> http://theorymine.co.uk/?go=overview <comment><USER2> Would be much, much more interesting if they provided a couple of sample theorems.

On the other hand, I'm guessing that in that case even fewer people would buy the product.

<comment><USER3> The author of the New Scientist article posted a link to his: [http://www.newscientist.com/articleimages/dn19809/1-you- too-...](http://www.newscientist.com/articleimages/dn19809/1-you-too-can-get- that-pythagoras-feeling.html)

</comment></comment><comment><USER4> New Scientist seems to have two items about this:

<http://news.ycombinator.com/item?id=1966519>

<http://news.ycombinator.com/item?id=1974409>

<comment><USER4> Ah, despite the different URLs they end up in the same place.

</comment></comment><comment><USER5> There is no (Paul) Graham's Lemma, but there is Graham's Number.</comment>


EFF wants software patents to include working code - <AUTHOR> http://www.theverge.com/2013/2/15/3992486/eff-wants-software-patents-to-include-working-code <comment><USER3> The problem with the linked article is that "working code" isn't defined. Does this mean an executable embodiment of the code, or a compilable source? The difference is obviously very significant.

<comment><USER4> What if a company programs directly in assembly? Should that make them ineligible for patents? And if assembly is only allowed when it's the original language, how would you go about proving that?

What about code that's been compiled, then decompiled back to the original language? Or just put through an obfuscator?

Basically, I think the nature of code makes it impossible to set up useful standards.

<comment><USER3> > What if a company programs directly in assembly? Should that make them > ineligible for patents?

Not at all. If source code is required, they would simply provide it. I think the idea is to be as transparent as possible, so any assemblable or compilable source should qualify.

I should add that I wrote a lot of assembly code years ago -- Apple Writer (<http://en.wikipedia.org/wiki/Apple_Writer>) was entirely assembly code -- so I don't think of it as unreadable or even vague.

But this might not be very important -- the intent of requiring "working code" may only be to prevent software patents that are too broad (and that's discussed in the article). So this talk about source versus executable may miss the point.

<comment><USER4> Sounds like this is a moot point, but I'm still curious: How would you legally distinguish between programmer-written assembly, and assembly disassembled from compiled machine code? Without doing that, it's pointless to require source code, since disassembler-generated assembly is no more useful than the machine code it was generated from. And it seems like no matter what rules you set for how the assembly should look, someone could change it just enough to comply with those rules, while still not being very useful.

<comment><USER3> > How would you legally distinguish between programmer-written assembly, and > assembly disassembled from compiled machine code?

The same question could be asked about certain languages that possess this "de-compilation" property, including Java. And the answer is, if someone understands the code well enough, (s)he can sprinkle comments and plausible- sounding function and variable names and pass the result of as the original.

> Without doing that, it's pointless to require source code, since > disassembler-generated assembly is no more useful than the machine code it > was generated from.

Yes, to a programmer, but to a lawyer it makes a world of difference. An invented source code file would have two traits of use as evidence -- it would be byte-for-byte identical with the real source, but it would have gaps in the reasoning expressed in the comments, and it might show implausible function and variable names.

Also, apart from providing a basis for a fraud allegation, requiring a source file takes more effort than simply providing an executable.

> And it seems like no matter what rules you set for how the assembly should > look, someone could change it just enough to comply with those rules, while > still not being very useful.

When all is said and done, I agree. Although such a requirement places obstacles in the path of cheating, it's not any real barrier to someone who intends to produce what at first glance seems to be the original source code.

Also, we don't know if this requirement even exists, which was the reason for my original question. Requiring source might not even be in the minds of those making this proposal.

</comment></comment></comment></comment></comment><comment><AUTHOR> Here is a proposal from an EFF site: [https://defendinnovation.org/proposal/open-patent- granting-p...](https://defendinnovation.org/proposal/open-patent-granting- process) and here is an EFF article from Feb 14 called "Talking Software Patents with the Patent Office: A Sign of Reform to Come?"

[https://www.eff.org/deeplinks/2013/02/talking-software- paten...](https://www.eff.org/deeplinks/2013/02/talking-software-patents- patent-office-sign-reform-come)

</comment><comment><AUTHOR> Here is the salient point as theverge sees it. I'm not sure how well it would work.

"This would help alleviate the problem known as "functional claiming" — this currently allows patent applicants to submit extremely broad and vague patent applications that lay claim to all possible approaches to solving a particular problem rather than a specific solution proposed by the inventor."

</comment><comment><USER5> I, for one, applaud the EFF. If we cannot get rid of software patents, then at least make them easy to improve upon by publishing executable source code. Improvements to patented things are themselves often worthy patents - <USER2> fostering innovation.

Yay for the EFF.</comment>