skysight-inc/HackerNews huggingface dataset:
Congrats building a nice product in a niche space. There's quite a bit of competition out there (Nobletec[1], MaxSea[2]) in case you haven't researched them, but at significantly higher price points.

How much trip planning can one do with your app? (ie, departure at a certain time with tides, when current is expected to go foul on me, etc)?

[1]http://www.nobeltec.com/products
[2]http://www.maxsea.com/products

(edit for typos)
>If the amount of RAM available to the runtime is greater than the amount of memory required by a program, then a memory manager which employs the null garbage collector (which never collects anything) is a valid memory manager.

A bit of a tangent, but I wonder GC is one reason Android devices moved to larger RAM sizes faster than iOS did. (iPhone 5 == 1GB, GS3/N4/One == 2GB.)

Under manual memory management or refcounting, running with RAM 90% full isn't slower than 50% full. (Your app code isn't slower, at least; who knows it if has effects via OS having less for cache or whatever.) But under GC, if 90% of RAM is full of live objects, you'll be forced to GC several times as often as you would if only 50% of RAM were full. So that 1GB->2GB bump might actually _more_ than halve how often you have to collect.

There could be other reasons for the diff--maybe part of it is Android's more permissive multitasking model, maybe non-GC-related memory-use differences between Android/Java and iOS/ObjC, maybe greater focus on power consumption from Apple or greater focus on specs from Android handset makers.
I think there is a developing consensus that the emerging US police state (and that of its allies) aren't appropriate for constitutional democracies. Comparing them to Nazi experiments or nuclear weapons is still a bit premature. The potential is there for it to turn really ugly which is why the time for political action is now. But national security is important and worthwhile within constitutional limits and under democratic oversight and I suspect a scaled back NSA would be no more evil or less interesting than Bletchley Park or the development of Radar.
> A function should have one entry point and one exit point; that's the whole point of structured programming.

I think a reasonable primary source for "the whole point of structured programming" is Dijkstra's "Go To Statement Considered Harmful"[1]. It's a short article and once you get past his writing style, his point is simple and lucid.

In the first part he lays out a simple question: given a program text, how much information do you need to track of to correctly identify where the program is currently executing at some point in time and how it got there? Roughly, if you were paused in the debugger, how much state does the debugger have to hold in order to be able to resume where it left off?

He's asking this because the smaller amount of state required for this, the easier it is for a human to look at a program text and figure out what can happen while it's running dynamically.

If all your language had was assignment statements, it's simple: you basically just need a single line number. Adding "if" and "switch" for branching doesn't add any more complexity. And, of course, reading code like this is pretty trivial.

If you have procedure calls (and by implication, recursion), you need a stack of those numbers, which is exactly what the callstack in your debugger holds.

When you add "while" and "for" for looping, you need to keep track of how times you've gone around the loop.

Now, if you add "go to" everything goes to hell. If you're on line 10, did you get there because you were on line 9 before, or because you jumped to it, or some random combination of those? It's a total mess.

Then he says:

> I do not claim that the clauses mentioned are exhaustive in the sense that they will satisfy all needs, but whatever clauses are suggested (e.g. abortion clauses) they should satisfy the requirement that a programmer independent coordinate system can be maintained to describe the process in a helpful and manageable way.

Here he's saying you can add any other "clauses" (flow control constructs) to a language that you want as long as you don't add to the amount of state you need to store to keep track of how you got there.

For example, adding an "unless" statement that works like "if" but only has an "else" clause instead of a "then" clause is peachy. You don't need any additional data to keep track of where you are.

You know what else doesn't require adding any additional data? Early returns.

So as far as Dijkstra is concerned, no, avoiding early returns is not at all the point of structured programming.

[1]: http://www.u.arizona.edu/~rubinson/copyright_violations/Go_T...
Whoever owns autonomous vehicles will own us all.
github.com server?
You can panic inside Write() and recover at the top of the DumpBinary() function. This has been demonstrated by Rob Pike and Andrew Gerrand in a talk at Google IO.

As long as you don't leak panics outside of your package, it's OK to use them for non-local error returns.
I've used Vim for years and recently switched to Sublime for Rails because of the fuzzy search. When working with so many different files, it significantly increases your productivity, such that it is a net gain despite losing Vim's editing paradigm. I tried Vim plug-ins that emulate fuzzy search, but they didn't work very well.
How well would it turn out for people to conduct in civil disobedience against a group that has clearly shown to have little respect for due process and civil rights?
This sounds very similar to the description the NYtimes gave on their piece about NYs local court system:

http://www.nytimes.com/2006/09/25/nyregion/25courts.html?pag...
Agreed, and some controls that allow you to specify the radius of a gear instead of drawing it would help, too. I spent a long time trying to draw two gears with the same number of teeth on my ^#$(@#! trackpad. :)

Also, there's a UI limitation with snapping concentric gears together: you can snap a small gear onto a larger one, but not the other way around. This seems to make it impossible to add a pair of concentric gears whose smaller gear is meshed with the edge of an existing gear.

But overall, great project with very pleasant casual interaction. Would be interesting to see what you plan to do with it.
A couple people I know have had good experiences with http://www.thewritingcodesystem.com. They actually finished writing the novels they were writing for 10+ years.

I personally haven't tried it so I can't vouch for it.
You have to be proud of yourself for not abusing it no mater how they responded. You did right thing here. Hope Bitorrent Inc will fix this misunderstanding.
Looks like he acquired login information, he didn't exploit some sort of major vulnerability that needed to be fixed which is generally what bug bounties seem to be for. He's insulted he didn't get paid for not being an asshole, what a strange world we live in. Facebook (or any other company) wouldn't pay out if one of their support staff accidentally made a random user an admin, why should this be any different.
I thought you were doing well until you started in on teachers, you should have left that out because it's actually a more complex problem than you make it out to be.

I like where you were going on programming though.
Anyone out there who still want to use Vim but with Sublime features. I've created back then the project Subvim: https://github.com/fatih/subvim

It's Vim combined with SublimeText features. It has even SublimeText like shortcuts. If you are curious give it a try and see if it fits you :)
> They generally make the function smaller, that's what guard clauses are for.

My point is: frequently, one wants to extract a part from the middle of a function to make a new function. This is very easy (and can usually be done automatically) unless said part contains a return.
There certainly is an overlap. But for me, the difference between a Data Scientist and an Analyst is that the Data Scientist uses the data to build stuff (eg a recommendation engine, or a forecasting system). They can also use more technical skills to aid analysis (nlp, scripting, etc).
true - I might be whistling a different tune if the money runs out
Well, I would posit that the majority of data science positions are in advertising and marketing optimization. I would believe that 'global food security' may be more important than social media analysis, as the original posted speculated.

Not to belittle the meaningful point, but becoming a "data scientist" at a startup or large corporation that makes their money by advertising is analogous to becoming a 'quant' on wall-street in the 80's. You have to be in it to make money, rather than caring about the types of data the developed algorithms are applied on.
I find it amusing that here in Germany, we have that for years:

http://www.gesetze-im-internet.de/

All laws are available in XML, HTML, PDF, etc. The site also provides an RSS feed.

In addition, some enthusiasts regularily download stuff from there and apply those to a Git repository:

https://github.com/bundestag/gesetze

That way, this repository contains not only the current laws, but also the history of how the laws developed!

For the Git repository, the XML version is not used directly, but converted to markdown. This produces very readable diffs:

https://github.com/bundestag/gesetze/commit/f90e8fc8eb20f081...

Wouldn't it be cool if we could finally manage our laws of filing pull requests?
There's a sub-area of AI, since about the 1970s, that does try to do that, but it's very much at the research level. Modeling even simple "common sense" things is notoriously hard for computers (commonsense reasoning seems to require a large amount of implicit background information), so it's not clear that easy to unit-test coincides well with a human notion of simplicity and predictability.

That's one reason that, in addition to being an interesting challenge domain for AI researchers, it's interesting to logicians, who aim to come up with logics and decision procedures that can capture what a decision procedure in law looks like (classical first-order logic and theorem-proving don't seem to model it well). The main short-term application is to reasoning-support systems that can suggest potentially winning arguments, point out obvious holes in draft arguments you were going to make, etc., sort of the legal analogue of medical diagnostic systems.

A classic paper from 1977: http://www.cs.rutgers.edu/~mccarty/research/hlr77.pdf

A more recent system aimed at interactive use: http://www.ai.rug.nl/~verheij/publications/pdf/ai2004.pdf

A book, albeit priced at the usual Springer price-point that assumes no non-library human will buy it: http://www.amazon.com/gp/product/3642064329/ref=as_li_ss_tl?...
This may be too forward, but could you put me in touch? Going the data science route is an option I've been seriously considering for awhile, and this might be the chance I've been looking for.

If you're not comfortable with putting me in touch, that's fine.

Thanks much!
There is a route editor in the app, but it does not account for tides and current, unless you makes notes for each waypoint. It just lets you plot a point-to-point route, and get basic guidance. More intelligent routing seems like a good avenue to explore though.

I saw the Nobeltec products came out recently, but haven't fared all that well on iPad. The apps to beat are probably still Navionics, Garmin, and iNavX. Everyone else is tier 2 in terms of earnings.
> You make a valid point, but for something as fundamental as nullability, I think that's baked into the core language spec.

Well, its certainly out for 1.x; I wouldn't presume to assume how much or little flexibility there will be for 2.x if/when it happens.

> It's possible that we could see an Option type in the future, but the fact that it's not an integral part of the language now means it would be unreliable and defeats the purpose of eliminating NPEs.

Assuming that its not part of a breaking change, sure; but the no-breaking-changes pledge only applies to 1.x. If there is a 2.x, it will be because a need is seen for breaking changes.

I think that beyond a handful of core features, keeping Go 1.x small was a key goal, and getting real production usage experience with the small 1.x to decide on future directions.
I'm guessing it's just to avoid something like this ...
http://arstechnica.com/information-technology/2013/05/fios-c...
Google Authenticator doesn't see much love on iOS, and anyone using it while testing iOS7 will struggle to actually use it properly.
I remember when I was moving off of Apache, I gave Cherokee a try. It was harder to configure than writing an Nginx conf.
Great resource - thanks!
NSA Chief Heckled At Hacker Conference
YAML is okay when used in a simple manner such as for a basic configuration file, but it has a seriously fucked up spec with all kinds of landmines waiting to blow your legs off. If you aren't generating your YAML with @ruby_object.to_yaml then sooner or later something bad will happen to you.

That's why I prefer TOML. I wish more projects would pick it up for config. https://github.com/mojombo/toml
Max Levchin Wants Us To Mine Hurricanes For Energy
Why are you using the raster charts instead of the S57 vector charts? eg. http://www.charts.noaa.gov/ENCs/ENCs.shtml

Also, if you're interested in AIS support take a look at https://www.github.com/bcl/aisparser/
This isn't politeness on Welch's part. This is how every member of the upper tiers of the MIC should be treated by the entire country:

"Until this moment, Senator, I think I have never really gauged your cruelty or your recklessness...Little did I dream you could be so reckless and so cruel as to do an injury to that lad...It is, I regret to say, equally true that I fear he shall always bear a scar needlessly inflicted by you. If it were in my power to forgive you for your reckless cruelty I would do so. I like to think I am a gentle man but your forgiveness will have to come from someone other than me."

When McCarthy tried to renew his attack, Welch interrupted him:

"Senator, may we not drop this? We know he belonged to the Lawyers Guild. Let us not assassinate this lad further, Senator. You've done enough. Have you no sense of decency, sir? At long last, have you left no sense of decency?"

McCarthy tried to ask Welch another question about Fisher, and Welch cut him off:

"Mr. McCarthy, I will not discuss this further with you. You have sat within six feet of me and could have asked me about Fred Fisher. You have seen fit to bring it out. And if there is a God in Heaven it will do neither you nor your cause any good. I will not discuss it further. I will not ask Mr. Cohn any more questions. You, Mr. Chairman, may, if you will, call the next witness."

> http://en.wikipedia.org/wiki/Joseph_N._Welch#Army.E2.80.93Mc...
"Well, in my case, my writing is bad. Would you happen to have any recommendations for how I could improve?"

Write more. Criticize yourself, but temper that with feedback from people you trust. There's a very high chance that while your writing is not perfect, it's probably not as bad as you think it is. (Note, this also works the other way, if you think this is the most wonderful piece of writing ever committed to bytes, it's probably not as good as you think it is either.)
Awesome to see. The docs have been pretty good even prior to this update, but it's nice to know they get some love in an open-source project.

(I'm preparing to launch a Go application w/ RethinkDB up back using the [community] Go driver: https://github.com/christopherhesse/rethinkgo — couldn't be an easier DB to use without an ORM)
> With Uber close to a new $150 Million+ financing round at a stunning $3.5 Billion valuation, Travis Kalanick has the funds necessary to dominate the transportation market in cities around the world and at a stunning pricing (less than 5% of his company for that $150Mn).

$3.5 billion is peanuts in the world of transportation infrastructure. You couldn't "dominate" the transportation market in even a single major city with $100 billion.
Like he says on the forum thread, he did not acquire any login information. Just the opposite, in fact. They neglected to set a username/password to their admin panel. That's a gaping security hole if I've ever seen one.
> An alternative could be to have a language construct that takes a sequence of lambda's, executes them in sequence until the first one that fails (if any) and returns the index and the result code of the failing lambda.

You could write a function in Go as it is that takes a sequence of lambdas and does that, so why would you need a language construct?
You might want to look at something like Prose (http://prose.io/#about). It aims to provide the convenience of CMS/blogging platforms like Wordpress for static site generators.
Technical skills aside, the best piece of advice in the article is "show them that you want it."

I've conducted countless interviews / hires where it basically went: candidates P & Q are the best on paper and in person, but candidate P said x, y, z or did a, b, c, and seems to really want this job and work in our company

x, y, z was sometimes as simple as enthusiasm, and other times was in describing what he/she did in their spare time. a, b, c was usually a project for work, school or fun that was highly relevant.

Intellectually, I think I know that "enthusiasm" is a poor / weak predictor of success. But, emotionally, it's a go-to tie-breaker.
Ira sees quantum random number sites and says "It's a trick."

God says...
1:19 And unto Eber were born two sons: the name of the one was Peleg;
because in his days the earth was divided: and his brother's name was
Joktan.

1:20 And Joktan begat Almodad, and Sheleph, and Hazarmaveth, and
Jerah, 1:21 Hadoram also, and Uzal, and Diklah, 1:22 And Ebal, and
Abimael, and Sheba, 1:23 And Ophir, and Havilah, and Jobab. All these
were the sons of Joktan.

1:24 Shem, Arphaxad, Shelah, 1:25 Eber, Peleg, Reu, 1:26 Serug, Nahor,
Terah, 1:27 Abram; the same is Abraham.

1:28 The sons of Abraham; Isaac, and Ishmael.

1:29 These are their generations: The firstborn of Ishmael, Nebaioth;
then Kedar, and Adbeel, and Mibsam, 1:30 Mishma, and Dumah, Massa,
Hadad, and Tema, 1:31 Jetur, Naphish, and Kedemah. These are the sons
of Ishmael.

1:32 Now the sons of Keturah, Abraham's concubine: she bare Zimran,
and Jokshan, and Medan, and Midian, and Ishbak, and Shuah. And the
sons of Jokshan; Sheba, and Dedan.

----

joke tan and peg leg, etc.
As someone who sails, seeing "Correct and reliable homing" scares the daylights out of me, particularly when just referencing GPS on the iPad.

You have no way to know how accurate your location is on the iPad, and when it comes to marine use, the outcome can be fairly tragic [1].

[1] http://www.cyca.com.au/sysfile/downloads/CYCA_Flinders_Islet...
Welcome to /r/conspiracy - come on in!
To be honest, I don't remember the technical specifics...too much time has passed. It wasn't so much that a breaking feature change required rewriting code as it was that a single failure propagated. One component written in Scala on which my project depended was upgraded to 2.10, and a backwards-incompatible change in case classes broke the ability to serialize/deserialize objects between my project and the other component.

Upgrading my project to 2.10, several of the dependencies no longer compiled. I don't remember which ones specifically, but I believe one of them was a JSON library. We had to find libraries that fulfilled the same roles, then rewrite the code that used those libraries against the new APIs. It wasn't horrible in the sense of there being a nasty, hard-to-detect runtime bug, rather that it required basically redoing all of the "glue code" with respect to libraries.

This wasn't painful enough to scare me away from Scala in the future, though it does make me leery of using Scala libraries from anything but top-tier vendors. That is, I'd use a library from Twitter, FourSquare, TypeSafe, Akka, etc. but never again from anything not widely known.
I don't think its so much "an embarrassment to the profession of journalism" in terms of incompetency but rather willful ignorance.
It's a very interesting read. A couple of points.

1) The discussion on reasonable sentencing Some have argued that criminal prosecution was inappropriate ... did not mention that MIT, as well as JSTOR, did not want a jail sentence imposed. The recent MIT report states that MIT made this known to the prosecutor. That MIT suffered loss was a major reason given to justify jail time. The writer can be excused for not knowing that, at the time, confidential information but it makes moot his arguement of jail time being reasonable.

2) Pointing fingers at media outlets for exaggerating possible jail time is a non-sequitur when, as stated in the link, prosecutor PR releases purposefully seek the exaggeration.

3) No where in the link is it argued that the prosecution took long jail time off the table. Quite the opposite, they left the possibility there on the edges to bully the defendant into accepting a plea that included jail time. This even when JSTOR and MIT both wanted to avoid it.

4) Generally speaking I found the link was predisposed to favor the prosecutors. I say that because in all cases where Aaron Swartz's actions are discussed there is the assumption that his actions were part of a larger pattern of behavior. To me it smacked of justifying prosecutorial overreach based on "future-crimes". On the other hand it easily accepts overreaching prosecutorial actions as just the way the system works.

5) The link, I thought, worked hard to dismiss outrage over the Swartz case by saying it was misplaced. The outrage, it was argued, should instead be at the system. While it is obvious that it is the laws that must be changed, it is instances like the Swartz case that moves public opinion snd enables change.
Why we cheat
DEADLINE TONIGHT: Code for America Fellowship
Unless you want something more power efficient. http://www.minnowboard.org/static/pdfs/Getting%20Started%20w... says this runs from 5V, 2.5A. That's 12.5W. Quite a lot for mobile, but a Pentium 4 CPU alone will use at least four times that (http://en.wikipedia.org/wiki/List_of_CPU_power_dissipation_f...), for a < 2GHz variant.
Actually, I don't think you can fork it, since it's a paid plugin and I don't think the source is published.
I doubt that. Firstly because most people don't hate anything in academia, and secondly because you know very little about me.

Perhaps my short comment sounded more arrogant than I am... I'm motivated by wanting to help people. If given the choice between trying to help alleviate starvation for little money and trying to optimise advertising on some website for a shitload of money, I'll take the former.

Interesting that you think moral judgements are an indicator of self importance.
im right here.

sites.google.com/site/verticalwindfarm/

im done sticking my neck out
Show HN: Blog Idea Generator
You're right, but it puts them further out in front of any competition they're facing. I expect they'll be raising more rounds but at similar friendly terms as well as being able to self-fund continued expansion from profits in other cities. Remember, they're still seeing double digit growth every month (I think Travis said 18% M.o.M.)...that's a lot of cash to reinvest in even more growth.
There is no magical set of qualifications to become a data scientist. Just learn enough linear algebra, probability. Show people you can code. Maybe setup some github projects. It is not like people in tech are doing something magical with all these fancy data scientists. A little bit of math, a slap and dash of code.
Your tokens are only backed-up if you choose to (it's completely optional) and only the encrypted version is backed-up. It's also off by default.
"Focusing on literally dead-horse issues like Anwar Al-Awlaki will hamper progress."

The "literally" there - and the stressing of it - is rhetoric not argument. If Obama started assassinating anyone who disagreed, they'd be literally dead too, but addressing it would be a priority...