skysight-inc/HackerNews huggingface dataset:
Background/disclaimer: I learned Ruby first (largely thanks to _why's guide), but have been using Python at my job and in my personal projects for about a year and a half now, and have grown to prefer Python.

The main gripe that I have with using Ruby as a teaching language is that the whole magic thing. You address this really well, and I really like your passage on abstractions, but I don't agree that the magic is just limited to advanced usage of the language.

Here's my gripe in its most pure form: in Python, in order to figure out all of my capabilities right now (short of what things I can import), I can use dir(object_i_want_to_know_about) and see everything that object can do. I've got a friend who's learning Ruby, and we wanted to find a built-in String method to see if a string starts with a prefix. We found it after Googling, but I wanted to find out about it in the context of the REPL. I figured that Ruby must have similar functionality to Python's dir(), but as far as I can tell, the only way to achieve that is to hack the REPL in a very minor way (you can add a few lines to your .irbc that will achieve this). There doesn't seem to be anything like dir() built into the language, and so it's a lot harder to figure out what you can do at any given point in time without Googling.

I think that this difference speaks volumes about the difference in philosophies between the two languages, and is in large part why when I introduce friends to programming these days, I tend to do it via Python, in particular via Zed's book.

I haven't used Ruby much in the past year or two, though, so if I'm completely mistaken about my assertions here, I'd love to find out about ways in which I can reason about the options available to me when I'm hacking around in irb.

PS: I really liked the code example near the end of the article.
What to improve information consumption effectiveness by 10X?
"Physics shows that cell phones cannot cause cancer"
The comment I was replying to was even more poorly reasoned. And I actually written a larger post regarding this.
Ask HN: What would your dream REST social API look like?
I'm in the prototyping stages of building an API for external apps (ie, mobile devices) for the Appleseed social framework, and I'd like to get some feedback, suggestions, etc. on what your dream REST API would look like. There have been plenty of criticisms of Facebook's API, what are some of the frustrations you've had? What were the best API's you've used? Do you prefer API's which are simple, but do a lot behind-the-scenes, or complicated, but very flexible? Do you prefer JSON or XML (I admit, XML will be a hard sell, but definitely try and win me over). Is consistency a must, or can the API evolve rapidly? Do you prefer username+password authentication, or is token-based authentication (ie, OAuth) acceptable?

Anything I forgot to ask, let me know. I'm most interested in things from a mobile app developer perspective, because that's an arena I have little experience with.

Thanks!
If you want to not worry, can spend a week cooking it up and testing it, using a service like braintree (or the like, I have enjoyed only braintree), is the only way to go.
Usually if you call your carrier and whine for an extended period they will cancel your first "offense."
Java Generics FAQ
I'm not too sure about the visualization they're using; I see red in the heatmap for San Francisco, but Austin and Englewood on my Chicago map are yellow/green --- nothing is red. There is no neighborhood in San Francisco that has, for instance, a recurrant problem with dog fighting, as these Chicago neighborhoods do.

I wonder if they're averaging something out over the city and diluting the scores that way.
Ask HN: How to extract text from popular document formats
I guess this is probably the best place on teh interwebz to get this kind of information.

I'm looking for a library, tool, whatever widget that would enable me to extract raw text from popular document formats (pdf, Word 97/2003/2007, OpenOffice, rtf - any others would be a bonus).

The tool does not need to be OpenSource - commercial tools are also welcome, as long as they are not prohibitively expensive.

The use case is extracting text for full-text indexing via Apache Solr. I am aware that Solr can handle indexing whole documents - however I would rather not have it juggle loads of raw documents. And I simply haven't enough time/motivation to roll my own parsers.

Update: Too lazy to google it for myself? Apache Tika: http://tika.apache.org/

Thank you a lot.
Perhaps smart women are less likely to use the site than smart men. I have heard that more men than women use dating sites, so the intelligence distributions are also probably different.
Don't get angry. Get even.

Software patents are a political problem. They are a very live political problem. Lobby. You can change things. But not by getting mad here, but by lobbying your representatives in whatever parliaments, senates, councils, etc. that your representatives attend.

The experts in the field of software patents -- that's us -- know that they are an appalling bad way to attempt to manage IP claims in our industry. We know that they should not exist. They require nothing in their place. They are a completely inappropriate device in this industry.

We all need to communicate this fact to those that determine and influence the law in our respective countries -- although I suspect this will be determined in the US and the EU.

Start acting to kill software patents.
Use an Essay Outline
An essay outline is an essential tool to a well structured and well organized essay. With the use of an outline you will also be able to have a direction in writing as well as have an idea as to how your essay will be presented to the reader. Therefore, knowing how to outline your essay is useful.
Yi an editor written in Haskell
It pretty much has to be in the app store (of course some other methods, if you treat the phone as a dev phone, but clearly that's not scalable).

The web browser is actually quite good for a mobile browser. It is true that its missing HTML5 capability, but that's coming over time.

With that said, could you port over a browser? Not likely, you'd have to rewrite from scratch, as it has to be in managed code.

I've never written a web-browser, but if it makes use of sockets (which I assume they do), you'll also be stuck, as this version doesn't have 3rd party support to access sockets.

You'll probably need to wait until a future rev of the SDK, at which point IE9 will probably be just around the corner.
No it's not portable C. We replicate code for different architectures. There are portable sections, true, but the entire kernel isn't portable. Look in the source directory to find the amd64/x86/ARM specific code.

If you know how to make

__asm__ __volatile__(...)

portable I'd love to hear it.
I agree about the problems with the specs. For the most part, the best way to find out how a lot of the stuff worked was just to telnet a few IRC servers. For example, the thing about some servers needing a ping after user? Not mentioned in any spec, discovered while using a specific IRC network via telnet.
"a phone so simple a 3-year old can use it"

Really, you don't need to say more than that. You don't want to get into the details of what touch is and how it works The point is that it's the first phone that anyone can pick up and just have fun with.
Interesting quote from that comment: "A long, legal way to say this patent is public domain on 10/5/2010 and these guys are probably trying to snag a nickel before it goes out."

Meaning the patent troll is trying to turn a last minute buck on something that should have gone public domain last week. At least it sounds like there isn't much to fear from this particular troll in the future
Sure. Job post here: http://www.photoshelter.com/about/index/jobs/engineer-php
How To Make Any 3rd Grader Love Math
You should always be going after gigs that are just above your current skill level. This is how you get better and how you can constantly progress. The most important skill you can have is the ability to quickly learn on-the-fly, to solve new problems.

If you only attempt projects that are well below your skill level you'll just stagnate and get bored. Eventually your skills will deteriorate as a result.

Go for bigger fish, even if you're not sure you can reel them in.
#2 suggests you may be underpaid. I'd go to your boss privately and tell him you've thinking about leaving to do a startup because you don't feel challenged at work, and this is hurting your productivity and interest in the job. All of this is true, you're just afraid to say it because of an innate desire for conflict avoidance.

Be honest with the people around you about what you want (part of this means thinking it through yourself...). In a worst case scenario you lose your job. But if you're really ambivalent about leaving, giving notice like this should alleviate any guilt over quitting and being honest should keep you on better terms with people than the alternative. And you never know. Perhaps your boss will give you a raise or otherwise help solve your motivation problems.
I'm not saying his success was due purely to luck, but that luck was a major factor.

Being the right place and right time is a huge part of it. He was the right age, in the right environment, when the right technology reached the right tipping point and critical mass.

I'm not disparaging Zuckerberg's ability or hard work. However many with greater ability and who have worked harder have failed because of circumstances beyond their control.
Yeah, they're not directly comparable, unfortunately, because the police departments in the different areas have different reporting habits, and this is all based on frequency of police reports.

EDIT: Within single police jurisdictions one area should be comparable to another, though.
What is a good developer win7 phone to test with?
I feel compelled to disagree with people who insult C++ for the fun of it. In response to what you said, the STL is optimized and fast. You shouldn't be using that many smart pointers because allocating memory on the heap is usually not the best solution. If all you want is perl regex then you're right, perl would be the better choice.
There's a reason Aristotle is known primarily as a philosopher and only secondarily as a scientist.
I've recently taken an interest in this editor after reaching various levels of dissatisfaction with both vim and emacs.

I can get almost an perfect clone of the modal editing of vim with the hackability of emacs. It still needs some love but I've already submitted two patches and the developers were really supportive. If your looking for an excuse to do some haskell coding this might be a good option for you.
It's similar to Apple's model, but the restrictions are much more clear-cut and reasonable (no hate speech, app should do what it says it does, etc).

As to the Chrome/Opera port, afaik it's possible but it would be pretty tricky.
What is Cloud Hosting - 4 Benefits and 5 Checks for businesses
I felt this way before taking my current job, but I took it anyway. It turns out that you can learn way more way faster when you're working in a team on a real project.

There's _a lot_ of stuff that your teammates can teach you in five minutes that would take a day of Googling and experimentation to learn yourself, especially when you're a beginner.
I just forgot the cast. It was really late (5am my time) when I wrote this post.
I should also mention that while scraping is an option, though possibly not a legal one, some of the stats sites (I've heard) routinely put some false data in their to catch scrapers. You could probably get around this by scraping multiple sites and throwing out any data that isn't identical.
Another thing: that thing with comparing yourself to others never stops. I still compare myself to other programmers and think "wow, I'll never reach their level", and I just graduated from Oxford with a masters in computer science. I'm not bragging, just saying that whatever level you're at, there'll always be other developers to look up to and aspire to. You should never let that discourage you.
Actually, MonoDevelop runs on your OS (and supports Silverlight), so you could do a majority of the code work on OS X / Linux, then only have to use Windows OS for the last 15% or so. WP7 is just Silverlight with phone-specific libraries on it (like accessing contacts, accelerometer, etc)
Typical grade school teachers spend their days on their feet, rushing from one crisis to another, trying to help mainstreamed kids with serious disabilities, kids with chaotic home-lives and resulting learning and behavior problems, political mandates to teach to a standardized test regardless of what they think the kids really need, and so on. They don't feel they have time to figure out simple user interface problems like where did all these IE windows and tabs come from, let alone learn a new software suite.
> is there any chance that someone could port Chrome or Opera to WP7?

Unlikely. It would imply a full rewrite - WinMo 7 runs only managed code.
Sorry, this post wasn't meant to be about the cast. You can cast it -- it's not that line itself that matters. It's that pointers and integers can take arbitrary values in C. After you do the cast is what really matters. In C you have to be aware of the semantics of your code at all times because the weak typing will not save you.
Here's my advice regarding sorting out #1 vs #2. The question in my mind is how much each factor is. When I quit my day job, the social pressures/burning bridges aspect of it was a part of my reluctance. But, of course, more financial instability was another.

In the end, I asked myself "if I could snap my fingers, and tomorrow be out of my day job, without having to go through the social awkwardness of quitting, etc.... Would I do it?" My answer was an instant "yes". That showed me that any threat of the financial instability was not a real concern, but just an excuse for me not wanting to burn bridges.

After that, I was entirely confident in my decision to quit.
I love the idea of personalized education.

My daughters, who LOVE Harry Potter, would kill to have that app too! :)
I didn't say they can't. I just say they won't. Ever ;-)
IT's Last Hope - a Job In the Boonies?
Holding Nokia Responsible for Surveilling Dissidents in Iran
I don't want to go into too many details but there are 2 patents–and both involve (now) very obvious ecommerce features but specific to our industry. One relates to searching and another relates to automatic fulfillment of orders.
There are various kinds of web-dev. OSX might be perfect for front-end development (Photoshop, HTML, CSS) while sucking for back-end development (3rd-party Python libraries with random C/C++/Fortran--NumPy, if I'm not mistaken--extensions).
I'm not in the habit of using my real name online, but I did give HN an email address containing my real name and a few people here know who I am. So I'm not exactly hiding, either.

The reasons for not using my real name go back to when I first went online, where I met too many weirdos. Maybe other people feel its only a small chance, but I have met enough of them to switch to using handles right away and never seriously consider switching back.

Also, I've helped out as a moderator or admin at a number of places, so I have dealt with griefers and trolls of all types. I wouldn't want a work email address to get spammed with a pornographic mailbomb, nor would I want that guy whose tirade taught me several dozen racial ephitets to be able to do that IRL, and both of those are examples of things that actually happened to me. Those two are just the tip of the iceburg. You ban enough people for being cheaters or jerks and they go around harassing any admin they can find.

Incidentally, the guy who sent the mailbomb got disconnected after I talked with his ISP. Another good reason why I wouldn't want him to know who I am.
You need stuff like patent numbers in question, the companies involved, industries, categories, links to relevant news stories and blog posts, etc. People should be able to submit what they know (you don't want to gather all this info yourself, apart from some initial pile so that the site does not look empty). The website should be easy to use for

1) bloggers/journalists finding out about stories about blatant trolling

2) victims to report their case and find other victims affected by it (automatic search by patent number, trolling company name, etc)

Note that victims will not look for your website in particular unless you're really popular. You have to create a lot of pages for each patent number, each company name, so that google picks them up and they come up on the first page when searching for patent number for example.

This is unfortunately too much for simply a weekend project. The technology is trivial but getting traction with such a website, bringing it to the attention of major blogs and news outlets is the main work to be done.
Error in statistical tests of error in statistical tests
This is really neat! I've been trying to implement a visual search for my startup. Would you be up for chatting sometime about what you learned?
Top Ten Best Blackberry Apps | Technorox
You don't really want a job you're fully qualified for. You won't be stretched.
Agreed... what's your point?
> Why don't we just abolish patents?

"Intellectual property" is one way of increasing the provisioning of "public goods":

http://en.wikipedia.org/wiki/Public_good

Which, in theory, are under-provisioned in a system where they can be easily copied once someone has invested the effort to produce them, leaving the creator under-compensated for their time and effort.

IP is inherently a compromise between producers and consumers. In the case of software patents, the balance has tipped too far towards the "producers", I think.

However, in the case of something like innovative pharmaceuticals, maybe the compromise isn't that bad right now. It takes years of work, and millions of dollars to bring a drug to market, and once it's on the market, you have to say exactly what's in it! No trade secrets, no obfuscated binaries, but the exact substance, which makes it relatively easy to go copy. You could make a case that there would be less invested in finding new drugs if they could immediately be copied the moment they were released.

In any case, there are no absolutes - it's a compromise, and one that needs to be carefully considered for different fields of endeavor, rather than apply blanket solutions like "eliminate patents".
I'd suggest putting something letting the user know what it does (beyond the little label beside the search box). It's a pretty handy tool, but it doesn't make it clear what it does - which is going to make sharing it a lot harder.
This is highly anecdotal, but I have a few gay friends who served in the military, and they all said that the straight guys had more gay sex than them.

The explanation isn't that weird though. If you're straight you can always dismiss it, it's not "real", it's just because of this weird situation living with only guys for some time, and out in real life you're as straight as they come. But for gay guys, it is real, so you're a lot more careful about something that might develop into a relationship.
Sweet! I was feeling lonely out here on the east coast. I'll do my best to get there!
I'd get one with a keyboard, like the Dell Venue Pro, so you can test both with and w/o the physical keyboard. Besides that, they all have to have min specs, so it shouldn't matter too much which phone you get.
I voted yes even though this is a pseudonym. I have used the same one for so long across so many sites that anyone looking for information on me would inevitably come across this account and link it to me.
how in hell such patent got issued? Were the patent authors the first to invent menus? Less than 20 years ago? Obviously not.

There is pretty easy solution - don't issue patents when there is previous art.

In addition - lets have the technical patent protection period to be shorter than 20 years. Say 5 or 10 years. That would allow the real inventor of menus ~40 years ago to enjoy the meaningful patent protection when it was making sense.
Yes and No.
Yes, -Wall -Werror are mandatory for kernel development.
This lack of standards compliance in regards to browsers/ms is getting extremely old. For that reason alone I'm not going to write apps for this phone and I'm a c# guy. It's time we stopped supporting things that break the web intentionally or otherwise.
Money really isn't the issue nor is it the lack of a challenging project. I have two start ups that are up and running and have paying customers. I started the two start ups because the opportunity to do so was too good to pass up. It wasn't because I was unfulfilled at my day job. The reason I'm not giving 100% is because I'm just more interested in my start ups now and running them takes more time and cognitive capacity than I can commit in a 24 hour period.
Is dogfighting the kind of crime people are worried about though? I suppose it's an indicator that a neighborhood is home to undesirable residents, but I'd imagine most people are more worried about theft, vandalism, and violent crime.

It's not integrated with Craigslist but this site is pretty good at showing details: http://www.crimemapping.com/map/ca/sanfrancisco

Funny story, the first time I looked up my address on there I was horrified by the number of "public urination" citations - it was ridiculously high even by San Francisco standards. Then I remembered that Bay to Breakers had gone by my apartment 3 days previously.
Django: Active merchant like pluggable payment backends
reign
Yes, I'm using it as a synecdoche for "intense gang violence".
Just about anything I might post under a pseudonym, or otherwise shielded, could be connected with my real-world identity if enough people try hard enough. So I’d rather make everything open, and think before I say something I might regret, than rely on the sense of security that a pseudonym would bring.

Every once in a while I suspect this attitude marks me as an old fogey; I feel like people who have grown up with the Internet are more sophisticated about online identity management.
The volume of communication is FAR higher than twitter though, and the number of engaged people is likewise higher.
In action: http://merchant.agiliq.com/

(Slightly old code checkout.)
Agreed 100%. I spend a lot of time on the Google Help Forums, and I feel terrible for the people who need immediate access to something stored in Google, and have no way of getting help.

Imagine a customer of your company experiencing a billing problem that can only be solved by Google. Their lack of responsiveness could be interpreted as YOU being unresponsive. Until Google offers you dedicated support, I would be wary of selecting them.

Disclaimer: I work for a recurring billing provider today, but I've had a lot of experience dealing with different billing solutions.
Definitely. If you want to grow, make sure you're thinking "I don't know what the hell I'm doing" on a regular basis. When you're comfortable with everything you do, get new stuff to do or get a new job.
Oh, easy, there's a standard screencast on this.

http://www.youtube.com/watch?v=-DIETlxquzY

And it works, the man went on to become a United States Senator.
the first time a glitch makes someone's searches get posted to their wall will be the last time anyone wants to see this
I know I'm late to the party, :)
I used Ruby 1.9.2. It's funny that it's the first time I used the combination generation method built in Ruby Array. The whole three questions took me about a bit more than 20 minutes, a bit longer than I thought tho.
Same with many of the protocols that have taken off. Look at HTTP - it's an abysmal wasteful stupid protocol, but it kinda works well enough.