skysight-inc/HackerNews huggingface dataset:
Microsoft is their own worst enemy. They stymie themselves with the bizarre pricing schemes and naming, confusing consumers (and IT buyers). Much of their problems seem to come from inertia.

When Microsoft does wipe the slate clean, it can perform very well: Xbox, Windows Phone 8, SkyDrive/Azure. However, they need to find greater courage and start sacrificing the current cash cows for future growth. The crazy pricing scheme for Windows 8 is proof positive that they need better ideas. Apple has been selling new OSs for $40 every time. MS should have had one price: $40. That's it. For everything. $40.

I was chided for suggesting that Microsoft leave Windows Desktop behind a couple of days ago, but I can't see any long-term future for it with consumers. Microsoft would do better by spinning off Entertainment & Devices into a new company, and having Microsoft solely focus on the enterprise customer where crazy pricing and naming and options for everything is commonplace.

That these two were so entwined in the first place was the idea that consumers want to use what they use at work, and vice versa. This worked, until consumers said "Actually, we all want iPads" and Microsoft is far too late to that game. Consumers aren't in a symbiotic relationship with what they use at work anymore.
Chrome for Android does the same (you can change tabs by swiping left-right), and it's very unreliable - I manage to change tabs by accident by swiping, but can never do that on purpose...
For me the news here was actually that there were countries where facebook is not number one.
That's called coverage, son.
Can we find some term that does cover all of the things that don't need patents. It's somewhere between software patents, and all patents except medical/drug patents. Much of what is inbetween those two should (or could if the abuse is lesser there and we want to move it over) be covered by copyright, trademarks, etc. Reasons not to include new loopholes, probably deliberately written, new international treaties to at least make it sensibly easy to cover all markets, many more.
It could also be done without a sub-table either

select concat("*4\r\n$4\r\nHSET\r\n$15\r\nevents_all_time\r\n$", length(action), "\r\n", action, "\r\n$", length(`count`), "\r\n", `count`, "\r") from events_all_time
May I suggest:

* Read your primary shell's manpage.

* Read alternative shell's manpages. Most particularly zsh, if you're not already using it.

* Look at your bash history and most frequently used commands. Read those manpages.

* Read manpages of language(s) you're looking to develop in.

* Read manpages for tools that are supplanting existing tools. E.g.: ip(8) vs. ifconfig(8).

* Read manpages for not just commands (1 & 8) but file formats (section 5), special files (4), and system and library calls (2 & 3).

* Follow references in manpages (the "SEE ALSO" section(s).

* Try reversing the process. Use apropos to find tools which accomplish a given task.

* On Debian or Ubuntu, install the dwww package and surf manpages locally at http://localhost/dwww/man/ within your web browser.
I'll do my best to grok the type class versus multimethod thing. That seems to be within reach.

Thanks, actually. My brain one-tracks itself too often to handle everything.

In the meanwhile, I'm taking a look at the paper below, "Integrating Nominal and Structural Subtyping". If its type-system works the way I intuit it does, I might be able to tear out both existential types and sum types from Deca and replace them with something more familiarly object-oriented-looking. The bit-level implementation would work a lot like Deca's current existentials and extensible sum types, but the syntax would transform to become more Scala-like (I really like Scala) and I could substitute class extension for existential packaging.

http://dl.acm.org/citation.cfm?id=1428525

EDIT: Confirmed. I can tear out existential types, sum types, and recursive types for a single, intuitive, object-oriented-style type construct.
In my experience, these places don't actually make any money, so fear not. I did some database consulting work for a company that was in a similar business a few years back. They wound up shutting down after about six weeks because no one bothered paying them. Out of more than $12 million in demands, they received less than $4,000 after sending their first batch. That was when they decided to shut down. I suspect something similar will happen with these guys and anyone that follows them.
The standard way to find a post in Rails would be:

Post.find(params[:id])

That method is unaffected.

The methods that are affected by this are the dynamic finder methods `find_by_*` such as:

Post.find_by_id(params[:id])

This would most commonly occur when looking up users by a token or some other piece of data other than the id.

User.find_by_token(params[:token])

I'm not sure why they chose to use find_by_id in the example. This is a serious bug, but it's not as serious as one might be lead to believe if one thought it was the standard way to find objects in Rails.
Hi, thanks for this useful tool.

A question though: a lot of people seem to encounter issues/50x errors with the server-side calculation of the regexp. Why not have a client-side script to interpret the regexp?

Would save server ressources and wouldn't limit the user to server capacity to interpret more complex regexps.
Mentally ill or "crazy" people may still be able to think logically. Having experienced psychotic episodes that included planning "bad" things, I can assure you it did not interfere with logical planning. Recounting it later, the clarity of thought was quite clear, disturbingly. The Unabomber is a well-known example.

Someone's goals, utility functions, and even certainty values for some beliefs may be very different than "normal", but it doesn't mean they aren't able to reason logically within those constraints.
Unfortunately for Windows Phone 8, I don't think most people "come around" on things they are never forced to use. People will come around on Windows 8 because, despite the market presence of OSX, PCs are going to continue to be sold and people are going to start being "thrown into" it.

Windows Phone 8 isn't going to be forced on anybody though. I expect people to "come around" to it like people "came around" to BeOS. Argued to be superior by its fans, but ignored by the majority because ignoring things is easy.
"It's not like Obama had control over the budget for 4 years now"

Because he's a dictator?

"and did nothing to reign in spending. "

Slowest increase in spending since Eisenhower?

"Here I was naively hoping there's some point where blaming Bush has to stop. Of course it will never stop."

Because it will never stop being true that he's responsible for the current fiscal mess? I'm sorry it's an 'inconvenient truth" for you that Bush sucked and got us in this mess.

"The rest is spending increases and tax revenue falling short of previous expectations"

This is actually what I meant by decreased revenues. My full quote as you can see is:

"decreased tax revenues -> deficit) and the continued unfunded wars, tax cuts and Medicare D program."

So perhaps that could have been punctuated better but it's not hard to see that I was making the distinction between the tax cuts and the decreased revenues due to recession/depression.
Fantastic, I'll send you an email. Thanks!
Serious question: What is the use of "running Windows 8" per se? Traditionally, computing platforms are for applications and operating systems are a means to that end.

What class of applications (from 5 years ago) would have inherent performance issues with Nexus4-class hardware (assuming a real external display and hard drive were added)?

Also, it occurs to me that Surface RT is largely Windows 8 and Office running on very comparable hardware. I have a Surface RT, it runs this stuff quite well.
I can't help but notice you don't mention what "real computer", "real work" and "great bargain" mean to you.
Just to expand on what others have already said...Rails converts params to http://api.rubyonrails.org/classes/ActiveSupport/HashWithInd... which means that `params[:foo]` and `params["foo"]` will both return the same thing. The function [`assert_valid_keys`](http://api.rubyonrails.org/classes/Hash.html#method-i-assert...), which is called in [`apply_finder_options`](http://api.rubyonrails.org/classes/ActiveRecord/SpawnMethods...) does not, however, treat symbol and string keys as the same, even if given a `HashWithIndifferentAccess`.
C# is a dominant language for indie games: Unity, and almost all games using the Unity engine; Magicka, Terraria, Breath of Death, Weapon of Choice, and Sol Survivor, which use the XNA framework; Eufloria, which was originally written in C# prior to the cross-platform release, AI War, which uses C# and Mono, and Bastion, which uses MonoGame.
A more nuanced approach would be to stop software patents and lawsuits brought on by non-practicing entities.

That way you don't have to pull the carpet from under drug companies and suchlike, or 'burn down the entire house'. Just the rotten parts of it.
>You are going to have problems with this whenever you are composing SQL statement with any type of user-provided data as part of the raw SQL string passed to the server.

This is still, mathematically-speaking, a bug. The function is supposed to find a post by ID. If its implementation causes side effects or returns unexpected results for a certain subset of possible input data, then it doesn't conform to spec.

This becomes a question of trust. Do you trust ActiveRecord/ORM of choice to be bug-free, or do you treat it as untrusted code and basically have to worry about the implementation of data persistence in your non-DB code even though that's what ORMs are supposed to abstract away? Why is that shit running around in your codebase anyway and not part of the ORM?
one more bug:
In JS, /[\12]/ only matches \x0a, however /[\92]/ matches '9' and '2'. regexper doesn't handle this correctly. The spec is a little ambiguious iirc.
Tell me about it. I run into this a lot. Companies spend these vast fortunes on ERP and Data warehouses only to have the final output be PDF Crystal Report documents or 500,000 line item exports into Excel.
Paypal payflow integration. There is a zoo of paypal products, and outdated paypal integration docs that obfuscate the process.
Magpie is so lovely, i want to give it flowers. Do you think it'll ever reach something near production equality, or will it "always" be a "toy"?
TL;DR version: Steve Ballmer should leave, its all his fault, waaaaaaaaaaaaaah.

Ok, so that may be a bit harsh but that is the gist of it. I would prefer it if the author said why he cared. By that statement I mean Microsoft mail fail, they may not. Steve may leave, he may not. Technology will change. But unless you're long on Microsoft in the market I'm not sure why you would invest so much time disparaging Ballmer.

Microsoft is a big place, it may land in the toilet it may not. I watched Sun fall from being the #1 server company in the world to an acquistion for a software product. Does it matter that they didn't make the right moves once the server market shifted? Wasn't it even possible?

"Confronting Reality" [1] is a good, although somewhat depressing, book about how organizations resist seeing things they don't want to see. As a companion to "Execution" (also by Bossidy) I think folks who want to manage companies should read both.

The key point in Confronting Reality is that even when "you" see things clearly, you are but one pixel of an image sensor of potentially damaged pixels. As a leader you have to understand how people become afraid of seeing an unpleasant reality and then just simply do not see it, like your eye doesn't see the big opaque circle in the middle of your vision.

Microsoft's world changed, the successful people got promoted but the stuff they were successful at became irrelevant. If they started again on their same project from the same place they would not be successful now. But that doesn't change the fact that they were successful and now they are calling the shots at some elevated place in the organization. There are so many things that shape an organization, some can be changed, some cannot.

I don't know if Microsoft will survive. I know they are not having the impact in the market they would like, but I'm not sure they know what market they are in. They need a mission, which is something Google, Amazon, Facebook, and Apple have but Microsoft does not. At least not obviously. No mission, no market, no way to measure your effectiveness. That is a sad place to be.

[1] www.amazon.com/Confronting-Reality-Doing-Matters-Things/dp/B001T0I7KA/
Not everything that gets passed to the find_by_ methods has to come from the params hash. The sessions hash is another source of data that gets fed to such methods. See this PR https://github.com/binarylogic/authlogic/pull/341
Since I do mostly back-end stuff, I'm quite bad at Javascript regexes off the top of my head :)
Awesome Dave,

I've reread your blog post a few times to make sure I've got a real sense of the pains you're talking about. You've got one of our early favorites in there too, I'll tell you how alpha testing went with it.

Pinged you with @fourmojo.
I think the trick is to distribute power generation and other services and goods manufacturing as widely as possible. Ideally, each individual home or building could provide for its own basic needs, or at least a significant portion or backup. I think that new technologies (nanotech, biotech, greentech, etc.) and popular dissemination of older technologies could make this possible.
Have you read a p&l from msft?
This is not the problem. Please stop spreading misinformation.

ActiveRecord does escape user input.

The exploit here is that under certain obscure circumstances it is possible trick ActiveRecord into thinking the user input is an options hash passed by the caller.

From my understanding this is non-trivial to exploit on most applications, and requires passing in a Hash with symbol keys.

This is still a vulnerability that needs to be (and has been) fixed, but it is nowhere near as stupidly obvious as you are claiming.
These comparisons always forget about packaging and deploying.
How I signed up for spam
Weighs as much as an iPhone 4 with a case :) Not a deal breaker. The iPhone 5 feels way too plastic to me.

As I always point out to my friends iOS and Android needed ~3 years to become competitive. It's getting there. The App argument is also kind of flaky... Other than Mint app, everything I use is there.
I can't believe people ever thought stack-ranking was a good idea. A 5-year-old can see that it will fail.

By the way, Google has the same shit in its "calibration scores".

Who hires the idiots who think Enron-style review systems are a good idea? Where do all these fucking weak links in management come from?
This is an ActiveRecord issue...MongoDB uses its own ORM (Mongoid/Mongomapper)
We're building something similar to what you're looking for and we're getting ready to launch soon. It's a Rule Engine as a Service (basically a Rule Engine API that connects to Web APIs). I'd love to get your feedback. Let me know if we can connect to chat you can reach me at davejonathangoldberg at gmail.
6 Things You Won't Believe That Are In The Fiscal Cliff Bill
Copenhagen, Denmark - Podio (Citrix) - Senior Backend Developer

We are looking for a full-time backend developer to join the small but amazing Podio team in beautiful Copenhagen.

Podio, now part of Citrix, is a collaborative work platform that is already empowering hundreds of thousands of people to work the way they want to by building their own apps, without any technical skills. See https://company.podio.com/ for more info.

The Role: You’ll be working on extending and scaling the Podio API, on top of which the whole Podio web app, the iOS and Android clients and the thousands of 3rd party clients are built. The challenges are many, both in terms of complexity (data model, business rules, 3rd party integrations, security, ...) and scalability (thousands requests per second, hundreds of thousands users, many millions of apps, tasks, items, ...).

The stack: Python, MySQL, SQLAlchemy, Cherrypy, Celery, RabbitMQ, Memcache, ElasticSearch, Nginx, Chef, Jenkins and a whole lot more for the frontend and mobile clients.

Our ideal teammate:

- Has many years of relevant industry experience in building and deploying large systems; start-up experience is a plus.

- Has hands-on experience with at least some of the technologies we use. Still we recognise that the best candidates will be able to learn quickly, so if you have scaled big platforms before, we’d love to talk to you.

- Enjoys working in a lean, agile, test-driven environment.

- Understands and is passionate about technology and keeps on top of trends.

If you're interested feel free to get in touch (email at profile) or apply directly at https://company.podio.com/seniorbackenddeveloper.
Isn't this kind of what Do Not Disturb was hoping to do, with the whitelisting?
Problem with MVP is the loss aversion bias + limited resources that entrepreneurs have - often 'lean' founders choose idea that is close to existing business process \ customer habits or investment trends (this decreases risk to lose) and then 'pivot' changing small things - one thing at a time trying to get the new service. It works well for theatretical improvisation and business improvements, but will not put product away from existing trends. For the same reason, Silicon Valley is sometimes too trendy and short-sighted. Many big ideas emerged outside of the Valley and then came here to 'pivot'
That's quite a laundry list, but it's cherry picked. Microsoft has done some great work over the past decade despite the missteps. They've cleaned up their security act (no small task) and Windows 8 and WP8 are solid efforts. Xbox is is a success, and Office is still essential business software for the foreseeable future. They're in much better shape than Apple was in the 90s.

All that said, I think the conclusion is correct: Ballmer is an anchor on the organization. I'm not sure if he's as stupid as he sounds, or whether he just feels obligated to pander to Wall Street with misplaced sales-manager bravado, but when you put him up next to Jobs, Ellison, Page or even Zuckerberg he just comes off as a buffoon.
Stepping aside from ShopIgniter day-to-day operations
Thanks @flexxaeon, we definitely don't want to go the app route because... most guests won't have any phone capable of running an app. The hashtag route is a good idea, but 50% of the guests don't share photos any way at present (save attaching the occasional one or two to email).

I'll keep thinking!
It is probably acceptable in most cases to just use a trivial regex to match the most likely 99.9% of addresses. 'something@something.something', maybe checking that last something for some sanity.

I mean, obviously unless you are writing an MTA or whatever.
Well, the Django ORM also allows you to write SQL by hand and if you make a mistake you can fall pray to SQL injection, so I'm assuming that there's something different about this exploit. From what I understand the current issue appears because the person who implemented the faulty method uses SQL directly and doesn't pass the parameters separately.

In Python, you would do something like this:

execute('select name, age from employees where id=?', (params['id'],))

This passes the id as the second argument to the execute function. If you do this, on the other hand, you open yourself to SQL injection, because %s is replaced with params[id] and no escaping is done:

execute('select name, age from employees where id=%s' % params['id'])
I am some how not very comfortable with ubuntu. Its bloating with so much code that its much slower than my arch linux.

But the good thing about this project is that with ubuntu, the other disributions will also try their hands on smartphones, which will certainly bring new ideas on the table. Like with current desktops there will be 2 kinds of smartphones, one which run "linux" and the rest.

P.S: Android only shares a common kernel with ubuntu, with rest being entirely different
There's also an implementation of Counter for 2.5+ on ActiveState: http://code.activestate.com/recipes/576611-counter-class/
Unpakt Is A Kayak-Style Marketplace For Moving Companies
And don't use the bathroom?
"not key in dct", or "not (key in dct)", is never slower than "key not in dct" because when key is found in dct, the expression is immediately true.
The trouble is, it requires Dropbox to be installed on their computer (unless I'm mistaken?), the shared folder joined, etc? I hate to say it but this will be too complicated for most - I've had to set up Dropbox for my parents as they couldn't, and they're more computer savvy than half the guests.

Wish I could though, as it would be a nice easy approach!
Get any snapchat user's email (privacy leak)
Snapchat has a terrible privacy leak: If you know anyone's username, you can get their email address very easily.

I reported this to snapchat on Dec. 14th via their support email, and tweeted at them as well with no response. I sent a follow-up yesterday and still haven't heard back at all (not even an acknowledgement that they got the message).

I'm posting this in the hope that they fix the issue quickly.

How to get any snapchat user's email:

Start by logging out of the app (via settings)

1) Try to log in using the username whose email you would like to see. (use any password or no password)

2) After login fails, hit "reset password"

3) View the user's full email in the "password reset" dialog.

[edit: formatting]

Update: They just fixed it. Thanks, snapchat!
"Medicare is much worse - it is projected to grow to almost 20% GDP next 70 years"

Besides the fact that 70 year projections are basically exercises in futility, this statement is not accurate.

http://www.ssa.gov/oact/trsum/index.html

Under current law, projected Medicare cost rises to 5.7 percent of GDP by 2035, largely due to the growth in the number of beneficiaries, and then to 6.7 percent in 2086
Depending on your ODM, similar vulnerabilities may exist. For example, if you have a user finder that expects an ID parameter

id=1
User.where(:id => params[:id]).first
User.where(:id => 1).first

Then I could construct a hash in the param:

id[$gt]=0

This would perform the following find:

User.where(:id => params[:id]).first
User.where(:id => {"$gt" => 0}).first

Which will return the first user record (probably).

You should be performing casts (usually to strings) before you pass your data to your ODM.

id[$gt]=0
User.where(:id => params[:id].to_s).first
User.where(:id => "{:$gt=>0}").first

This will correctly fail to a find a document.
Assuming you have no ruby knowledge:

ActiveRecord (rails' default ORM) has a feature called "dynamic finders". When you call a method like `Forum.find_by_url('news.ycombinator.org')` it gets a first forum with such url. This is a sugar over `Forum.where(:url => 'news.ycombinator.org').first`.

Normally, you use it like that `Forum.find_by_url(params[:url])` where `params` is a hash of parameters (that is auto-generated from http get/post params). What happens if instead of "normal" value like "news.ycombinator.org" you pass a hash?

1.9.3p327 :018 > Forum.find_by_id({:select => 'id FROM forums --'})
Forum Load (0.5ms) SELECT id FROM forums -- FROM `forums` WHERE `forums`.`id` IS NULL LIMIT 1

Uh-oh.

However, not everything is lost. Rails params are converted to a special hash class. It's called HashWithIndifferentAccess, because you can access its values by string keys and symbol keys likewise. So that

h = {:a => 1, "b" => 2}.with_indifferent_access
h["a"] # => 1
h[:a] # => 1
h["b"] # => 2
h[:b] # => 2

What happens if we pass user-generated params? It seems like not much:

1.9.3p327 :024 > Forum.find_by_id({:select => 'id FROM forums --'}.with_indifferent_access)
ArgumentError: Unknown key: select

So I guess they are erring on a safe side here.