skysight-inc/HackerNews huggingface dataset:
So what's the difference between having cloud-based accounts and documents that sync between phone, tablet, and desktop? Then you can go to work and without even taking your phone out of your pocket (or even if you forgot it on your bed stand) you can start working with all your same stuff.

I believe Apple looks at the problem this way. Rather than have one piece of hardware act as all devices, they have multiple pieces of hardware that share the needed parts. (Though they haven't finished making it quite as useful as I'd like it to be.)

One of my concerns has been privacy. In this case what I mean is that I don't want Apple or Dropbox or Google or Canonical to own my data in it's cloud. I would probably be satisfied with a solution that only stored encrypted data in the cloud so that those data storage providers could not possibly access my data (so they couldn't be allowed to have my encryption key). I would also be satisfied with a way of hosting a cloud storage platform on my own servers (which would likely be a VPS, so I'd have to encrypt it anyway or else Linode etc. would have my data).

If we go the route of using the phone as the center, then we also need to add the capability into the Linux kernel to connect to external computing resources, like CPUs and GPUs. Then we're not limited to just a "thin client" type of desktop, but could have a full powered one.
Since leap seconds are scheduled relatively close to the time that they happen, that's the only way to allow representing future times.
Same here! After missing three calls, I was wondering if I had turned this on by mistake. Glad to see it on front page of HN :)
Not at all - you just missed a few facts that need considering. Lets rip it to bits some more:

It's in system.windows.forms isn't it? Don't really want that dependency and associated resolution being dragged in to a web app otherwise the compiler has to load the entire assembly's metadata.

Also, it requires full trust.

Oh and finally it isn't serializable.

Which is why we end up with SerializableDictionary<K, V> which is even longer and is an adaptor for Dictionary<K,V> which implements serialization.

That's why it all sucks.

And I haven't even included ConcurrentDictionary thread safety yet.

The whole thing is a fucking mess.
In static languages this really isn't a big deal, since you can dispatch based on type. Things definitely get more awkward if you can do things like define new types at runtime, though.
IBM Z-series (mainframe) transactional memory [pdf]
Turning it on via the switch overrides the Schedule setting. It's not using the prior 11PM, it's using your expressed desire for it to be on.
Why I Moved From AdRoll to Perfect Audience
This week, I decided to move our ad retargeting business from AdRoll to Perfect Audience for a number of reasons, which I will explain:

1) Better Results
A few weeks ago, I wrote a post describing the differences between AdRoll and Perfect Audience in terms of performance. Both performed well, but PA performed better, and for less cost.

2) Clearer Billing Practices
One thing that frustrated me about AdRoll was their vague billing methods, especially when you are running multiple campaigns for multiple customers. AdRoll would build up a "reseve" in our account, even though the campaigns weren't exhausting it. Perfect Audience sends a very clear, detailed summary of the billing each week by campaign, showing what was used the prior week, and what they need to replenish the campaign to get it to the weekly amount.

3) Easier UI
Both systems have similar UI in terms of the setup, but PA is the winner here. I like their UTM tag builder, and the way I can differentiate between clients in what I would call "agency mode."

4) Receptive to Customers
I thought that PA did a fantastic job of reaching out to customers and getting feedback. I gave them a few ideas that seemed to get their interest, and I like dealing with companies who value my opinion.

As I said earlier, both systems are great platforms, but I prefer to use Perfect Audience for the reasons above.
> that there is a need for the liberal use of swearing in a mathematics book

You are right that there is no //need//, but I find that a little swearing goes a long way to make the student who is scared of the subject feel more comfortable. "This is not a math book", they will think -- this is informal narrative like a blog post.

A cleaned up version is in the works. ETA March because I have to finish Linear Algebra and E&M first.
UTC is cleaner than Unix time. Slewing the clock to deal with leap seconds isn't exactly clean.

TAI is even better, though. A steady stream of seconds after an epoch without leap seconds causing complications.
Since the benefits are capped, Social Security can be fixed by raising taxes, of course. This would mean abandoning all pretense that Social Security is some kind of self-paying insurance/pension program but it is pretty much done by now anyway. Medicare is much worse - it is projected to grow to almost 20% GDP next 70 years, which means to pay for it you'd need to double the taxes - which is what I mean by confiscatory taxation levels.
I think that's effectively how this is handled at the moment.
I wonder if the code behind this uses regexes on the entered regexes...
Or wireless tesla-coil charging. Or just inductive charging, but put the inductive chargers in desktop and office chairs so that it's a fairly automatic and invisible process.
Awesome, so you didn't even try using such a device - all your criticism is based on hearsay and reviews. I do appreciate a more elaborated reply though - I think you should've written all that from the beginning.
The stupid answer is that it's easier to add 1/2 and 1/4 than it is 32/64 and 16/64. Keep in mind this is the kind of measurement system that might evolve in the time before most people had a formal education.
On the contrary, due it being the same base, it will actually make the apps faster and more memory performant on the desktop, because it has to run in a constrained environment on mobile. I think it'll make for a more performant desktop OS.
Toronto - PagerDuty - Senior Software Engineer

We power the panic buttons in server rooms across the world, we're how IT teams get notified when something breaks, and we're opening our first office outside of San Francisco in Toronto.

http://www.pagerduty.com/jobs/engineering/software-engineer-...

We also have jobs open in our San Francisco office, naturally: http://www.pagerduty.com/jobs
Overview of Open Source Licensing
Whoops! Thanks :) That really would have been Transhuman...
The span of Common Lisp types
People Freak Out About Privacy On Facebook, But Ignore Government Surveillance
I did not build this site. I came across it and I thought it was a novel idea. There are many blog sites covering this startup so I think that adds some legitimacy to it.
Show HN: Choose your own adventure game (Art Hack Day SF)
From what you're writing in this thread it sounds like you were born in the wrong millenium.
Eigen Man: Using principal componant analysis to visualize mega man sprites
Nope. Having '1' as the condition in the ternary operator, causes 'var' to never be evaluated (to avoid accidental operations with getters and such), but the compiler allows the 'var' to affect if the '1' is treated as a float or an int. Here's a breakdown:

if var is a float...

(1?1:var)/2

...becomes...

(1.0/2)

...which equals 0.5 and is considered true when evaluated. But if var is an int...

(1?1:var)/2

...becomes...

(1/2)

...which equals 0 and is considered false when evaluated
I am mostly a Django programmer so excuse my ignorance of rails. How does this keep happening?

In Django you would do:

Post.objects.get(pk=request.GET['id'])

There really is no way to do SQL injection this way.

This line in rails looks almost exactly like how you would do it in Django:

Post.find_by_id(params[:id])

Also this seems really serious. It's not like a edge case where you need to grab a post by id. This is probably a very common use case of that method find_by_id.
You can get sensitized to Chlorine. (and to lots of other stuff as well).
I don't link this as an example of anything you'd really be interested in doing as a coder of idiomatic CL, but I thought it was an interesting read from the perspective of someone coming from more of a Haskell/Scala/etc. background trying to see to what extent Lisp's programmable/extensible type system can produce something approximating the types seen in those languages.
YouTube Access and Windows Phone: Microsoft throws down the gauntlet
Bonus is one-time and usually contingent, salary raise is increasing each paycheck and unconditional. But you can, of course, have a bonus which is unconditional, in which case it's just a pay raise.

>>>> There's also a difference between a one year contract and getting laid off unexpectedly after one year.

There is, but not in money. You could, for example, look in advance for the next gig if you knew. Since there's no way to prepare in advance for higher taxes that would make any difference (not for salarymen - for investors, they already did - tons of companies paid early dividends in 2012, sometimes borrowing to finance it), so it makes no practical difference at all.
Some charts.

(http://imgur.com/a/EfzHB)
Same thing here. I gave up and decided to go through D&B's website and filled out their forms last night. Got a call this morning. For $295 they can expedite the process and get you your number in 3 days or wait 30 - 45 days. This is completely ridiculous. If I get my number in 6 weeks and wait 2 weeks for Apple to update their database I'm looking at a 2 month delay in releasing my app. Nice job Apple.
Put Down the iPad, Lace Up the Hiking Boots
How to buy it free of contract outside US is a good one ... it has very limited availability.
Instead of telling you about the worst one I've seen in an API implementation, I might as well just show you the code it took to turn it into a correct timestamp:

https://gist.github.com/4438567

(Yes, they gave TWO separate UNIX timestamps, neither of which corresponded to the actual time of interest).
Having a full_name and a usual_referent_name would seem to work.

full_name - Matt S. Trout
usual_referent_name - Matt

(for "normal" stuff)

full_name - Matt S. Trout
usual_referent_name - mst

(for "geek" stuff)

and, yes, if I'm registering with a site for both, I have to pick one. But at least no matter what my full name is that way I can enter it.
Hyperpolyglot has some of this stuff. It doesn't provide particularly rich and deep examples, but it is an easily scannable list of small code snippets. If you haven't seen it already, you should take a look.

http://hyperpolyglot.org/scripting
Marx was pushing for a utopia somewhat opposite of Galt. Namely, communism.

Voluntary communist utopias are referred to as anarcho-communism.

Anarcho-libertarianism assumes a free market is involved.

Communism assumes all resources are pooled.
Computational research in the era of open access
Nice. I might use it on my blog when the number of posts cross 10 :).
Oh, then that seems like a pretty pedantic worry. You can't divide by zero in any context; even children know that. It's such an obvious exception that it didn't even occur to me that's what you thought was wrong with the statement.
I'm not very familiar with them but check out

https://www.mashape.com/
This is ... wait for it.. Legendary. :)
See SPARQL and the semantic web, though I think the xkcd cartoon is the better response.
For someone just learning RoR and having installed it via http://railsinstaller.org/, how should I upgrade?
Rather than close these sorts of "not constructive" but clearly useful questions, it would be a lot better if they created a place for them. Something like knowledge.stackexchange.com, where the utility of public questions and upvoted answers could be applied to more subjective, as well as more advanced topics.

They really limit their own usefulness by throwing out the baby with the bathwater.
> There are documented instances of metric/imperial mixups crashing space probes and forcing airliners to land after running out of fuel in midair and such things.

As I recall, the Gimli glider came about because they were trying to switch to include metric units and had to change their procedure to do it, but didn't make the change in all places where it was necessary. This resulted in pilots using an Imperial conversion factor to try to calculate a metric fuel loadout, with disastrous results. http://en.wikipedia.org/wiki/Gimli_Glider#Refueling

... this isn't exactly selling me on the idea that switching up all the units used in the U.S. is actually a good idea.
Sadly true. In my last set of interviews for a web developer position at Google, I aced the questions from fellow web developers, questions relevant to my experience and to web development. Then they sent in a "software engineer" (who probably couldn't code a rich web app to save his life) who asked a disjoint set theory merging question that I struggled with. He grimaced at my "incompetence" and at that moment I hated backend engineers and their superiority complex. Naturally I didn't get the job, but they had the nerve to tell me they gave it to a "stronger" candidate.
There is a book called 'Algorithms for Interviews' by Aziz & Prakash. It is much more CS centric than CareerCup & does not provide explicit solutions to all problems- which is good.

It also has more difficult questions, on average, and many are not the kind that one would expect in an under hour interview. Nevertheless I find it more easy to read than something like say CareerCup, mainly because it is not so mundane and hence more fun.
@fortawesome just email me jdorfman at netdna dot com
No, it is possible to convert between some time formats. For example, if I invented a new time format that actually was "number of seconds since midnight 1/1/1970" then you could actually convert 1:1 between it and UTC.

It's just that you can't do it with some formats, like UTC - Unix time or UTC - (only include the last 2 digits of the year like in Y2K)
Thanks for the tip, but it's not what I aim for. You say you use Inferno over Linux. It's my daily linux apps I would want to tweak: Firefox, mutt, vim, eog, etc.

I don't want to learn about operating systems... I just want to hack my daily apps.

Thanks again, I might try to hack Inferno itself. I ran it on a VM some months ago and it seemed nice.
What's that supposed to do, exactly? Worst case is you buy $1 gallons of water at the grocery store for a while and don't shower.
Very nice. Small request: make the two panels fill the screen. On m 16:9 monitor there's quite a bit of whitespace to the side that could be used up.

And a fairly far fetched request: Turn it into a Chrome plugin ( similar to: http://goo.gl/7lR5a )
In most areas, if the power is off for more than a few weeks, the water goes off to because the pumps stop running.
I thought that was an hilarious example when you posted it a while back lol.
tl;d watch:
slow and laggy
Well looks like the market is wide open for anybody wanting to create a computer programming opinions website.
This is how Ziff Davis spams HN  (geek.com / extremetech.com / pcmag.com)
Run "bundle update rails" in your project's root directory (where your Gemfile is).
My favorite part of Ubuntu Phone and Firefox OS is that they treat HTML5 as a first class citizen. Native development would be so much simpler if all platforms did the same.
Great post. As for consulting, I have had some really awful experiences and some really good ones....
Here are some tips that might help you with your 2013 goal to consult more..
1. Unless its an established client, take at least a 10-20% fee up-front once you and the client AGREE ( as in, they agree in writing by email or on paper ) on the requirements.
2. Then take 50% of the balance upon demo when the client agrees that the app is up to their liking followed by the remaning 50% on app launch.

Of course, you can vary the percentages to you liking but this has worked great for me so far...

Where I went wrong was being too eager to get the business and getting started on a project without getting any money upfront.

If they are serious about the project and generally a professional entity ( person/business ) they will pay upfront..otherwise run like hell.

You will obviously make a few mistakes along the way but you will get the idea of filtering clients the more you consult.

Some clients can be more demanding than the others, but in general as long as they are paying, you will be alright!

Good luck and thanks for the great post!
Sure, there are over 8,000 web APIs, but how many will be reasonably be within the scope of your project? How many times do we need a weather app that also takes photos, tweets, and gives stock prices?

Even though this seems to try to solve that problem, I think it obfuscates whats usable more than the internet does in simply just searching for the API.
That is true if the content of the article contains a truth that is not time dependent, or if the article is posted for historical purpose. But this article is comparing one new language against a more established one, so in two years you should expect the new language to evolve significantly. Especially, the problems mentioned in the article about Go may be now fixed. Talking about the Go from 2010 is just not relevant in 2013!
Btw, this applies for my (Python) Flask apps using MongoDB ORMs. They escape the inputs.

What the hell is going on with ActiveRecord?
Right. If you ask me every day for my chainsaw and I give it to you, and one day I decide that I need it and you cannot use it, it's your issue that you can't get your project done. Your projection was wrong.

Now, if you had reason to believe (say, a contract) that my chainsaw will be available to you every day for three years, yes you can count on it. Otherwise you cannot.

Perhaps we shouldn't have "temporary" tax cuts at all. Why is it that something that was good 10 years ago is all of a sudden not good now? It's not like the "permanent" tax cuts or hikes are really permanent: the government can revise the tax code fairly frequently.
It should be as easy as 'gem update rails' at your command line (Terminal window).

If you're just learning and creating an app for your own edification, this is not really an issue that will affect you. That is, it doesn't affect how you construct the app, so if for some reason the gem update process doesn't work, you won't be hindered from using RoR.
Right, sorry about that, I interpreted your post as being more snarky than it actually was in retrospect. I just love how quickly I get work done with C#, so apologies for getting defensive :)

As for the var feature, you're absolutely right that I'm confusing two things there, because as another commenter pointed out, I use it mainly as a "save myself typing when it doesn't matter" feature.
Don't agree at all of what is said about Windows Phone 8. It's something new and fresh, and I feel people will get around to it. Have a Lumia920 and couldn't be happier. Win8 on the other hand... Different story :D
If you want to avoid double taxation, you are certainly free to choose a pass-through form of entity.

If you choose to create/invest in a corporation, you accept double-taxation as the cost of the benefits afforded by the corporate form.
Im not a RoR developer, so forgive my ignorance. But how does this keep happening? I thought ActiveRecord is a mature product by now. I hear about these types of bugs happening with RoR pretty often, is the "magic" of ActiveRecord and hiding SQL from the developer really worth it? I wonder how many RoR developers even understand what SQL injection actually means.
Welcome to the Internet!

It has increased the speed and frequency at which we share ideas, almost all of them unoriginal.

Ironically, you came to Hacker News to get ideas, which is in itself a giant arena for everyone to discover things that others have already discovered.

If you're looking for newness and originality, you should probably unplug.
Buddy is hiring a VP of Engineering
I fixed the same bug today, it happens when using YYYY instead of yyyy as a dateformat. YYYY is the year of the week the day falls in.
I've always found Rails to be easy to secure compared to most other frameworks.

I think the defaults are all pretty secure.

I'd prefer having constant security patches. It shows people are still constantly testing it for vulnerabilities.
Best way to monetize Instagram: Don’t
Yeah, as I replied above, I'm a fan and I got overly defensive, so apologies again :)
1.5 million 311 requests heatmapped.  Support Open Data
Apple may buy social navigation app Waze to bolster Maps
So does the fact that "Rails is Omakase" (http://david.heinemeierhansson.com/2012/rails-is-omakase.htm...) mean that the chef tried to serve Fugu (http://en.wikipedia.org/wiki/Fugu) but cut it wrong?
Of course Bush is to blame for everything. It's not like Obama had control over the budget for 4 years now and did nothing to reign in spending. Here I was naively hoping there's some point where blaming Bush has to stop. Of course it will never stop.

>>>> decreased tax revenues -> deficit

This is only partially true - IIRC, CBO estimates are about 24% of the Bush-era deficits were caused by tax cuts. The rest is spending increases and tax revenue falling short of previous expectations (i.e. would happen with or without tax cuts, and without tax cuts would probably be more severe as tax cuts were observed to decrease tax avoidance). The difference between 400bn and 1trln can not be explained by tax cuts.
The main issue stems from Ruby using the last positional parameter to pass a hash representing keyword arguments.

This means if there's only one parameter, and someone can sneak a Hash in there where you weren't expecting it (params parsing, request body parsing, etc) then they can end up passing dodgy 'keyword arguments' into your method call.
3. So you like ARC? Do you prefer it over endless retain/release calls?

a. because it reduces the chances of memory leaks in your code? Because in this case you negate your "every programmer worth his salt" point in #5 which we've all seen thousands of times when people explain why c++ is really the best language to be writing all software.

b. because it greatly reduces the repeated boilerplate code? Which is pretty much how I define objective c in a single word: tedium. It's been a few years but all I remember from my brief foray is comparing every tutorial to how much shorter everything would be if it were written in another language. Pretty much any language other than c++ not just c#.

If you think ARC is a great step forward then maybe you are honest enough to admit that objective c could make several giant other leaps and it might even end up looking a lot more like c#.
You need the contents of secret_token.rb to exploit this (via a forged session). This makes it much more of a danger to OSS projects than to those in the closed source space.

It's not just a SQL Injection vulnerability. With that secret token, you can set any session value you like.
Ruby may be slow but my apps still spend more time waiting on complex database queries than anything else (unless I'm using the Jbuilder gem to build JSON outputs, in which case I might as well make a cup of tea waiting for a call to return)
You are right. It has been years since I have been there. However, for some reason I remember spending a good amount of time in the Montana portion. Don't know why.
And yet whenever any one of your "friends" sees or references your identity, it's displayed and interacted with as simply "John McDowall" or, more likely, "John".

Is that situation, in which merely a URL doesn't precisely map to your stated identity, somehow broken in a way that an "FM-2030" mass-name-changing cultural solution would fix?

Particularly when we consider that, to date, username preferences are for decidedly not unique options. They tend toward things like, HaloFan1 and JohnSmith73 and MrMcDowall.

Further, in almost all modern cases, these are just getting translated back to non-unique names and nicknames for display.