skysight-inc/HackerNews huggingface dataset:
Design and looks aside, I can read a PDF on my laptop, desktop, phone, and e-reader, on any OS. Why the hell would I want to use a format that only works on one device?
I have worked in the computer vision field, although never as a consultant, so I can't give you those details. It is used extensively in system automation and manufacturing. The most popular products I've used in that realm were from Cognex. They have some pretty amazing stuff.
100%. Automated tests are far superior to manual. The point, however, is that TDD is not the same thing as unit tests. Too many people add some unit tests to their code and then claim they are doing TDD. Too many people try to do TDD by having 100% unit test coverage. It's very important to get the two concepts straight.
If you take a look at the report that was linked you can see the following line:

" Persons supervised by the adult correctional systems include those in the community under the authority of probation or parole agencies that supervise adults and those in the custody of state or federal prisons or local jails."

It doesn't look like private prisons are included. Which means prisoners could be offloaded to the private sector making the public sector look much better. I dug around for a few minutes and couldn't find any statistics on the number of inmates in private prisons, so I don't know for sure if the number of incarcerated inmates in private prisons rose from 2010 (the last year of stats I could find) or not. But it is still some food for thought.
Most of my visits were to CSG. Granted the skillset in CSG is more sales & advertising as opposed to tech but still, it was quite funny to see.

Completely unrelated: I'm in love with the carpeting in the London CSG office. I've never felt more compelled to take my shoes off in my life.
I work for the New York Stock Exchange's technology wing at the moment. Our current thoughts on Field Programmable Gate Arrays are that they aren't worth switching to at (even though some people are seeing better latency results with them that with our current best solution). The reason for this is because our current solution is built to run on "standard" hardware. Although, in the world of finance, standard hardware can get very very complicated. FPGAs are fast being reigned in in terms of latency, and they aren't actually as robust in terms of deployment as people would like to think. For example, if you need a patch for software, often times you will need to reflash the machine. Are you latency sensitive? if so, how sensitive? is it imperative that you have the lowest latency possible?
You'd be surprised. I have dealt with a large number of specialized software vendors and very few have websites of any usefulness.

There are a lot of small shops out there selling one of a few packages that everyone in the industry (whatever industry it is) uses and they have been doing it for 20 years. It's a different world. They are frequently making millions selling desktop software that's not very effective and without any marketing budget.
> It's a good approach because it doesn't filter out grammatically correct e-mails while blocking the blatantly false.

Sorry, that's not a good reason to use this. If you use the correct approach you will NOT filter out syntactically correct emails and you WILL catch all invalid addresses that can be detected syntactically.

It just isn't a good idea to use this expression in place of the RFC822 expression. And, keep in mind, I am not a fan of the RFC822 expression.

With regards to your other scenarios, please read my reply to "rawb92" here:

http://news.ycombinator.com/item?id=5003032

In a nutshell, if someone enters a malformed email address by mistake and you don't catch it, it's game over. What are you going to do? Send them an email?

The spammers and tricksters will always exist. You'll have to decide how to deal with them yourself. In other words, stuff like someone attempting to sign-up their buddy to a porn site. That's got nothing to do with email validity, that's a matter of identification, and, yes, in that case the first line of defense is to send out a confirmation email.
There is a fundamental problem with viewports of unknown size: you as author cannot ensure that the way you want to represent your information is also rendered that way. For a novel or other basically sequential text that doesn't matter, but for a technical document with complex representations, it might be problematic. Long or wide tables are a common example, if headers aren't repeated they fast become a meaningless bunch of symbols. A graph whereby you cannot see essential features as the legend, axis, all typical points (like extrema), or the pattern described by the whole, probably makes it troublesome to support your argument you try to make in your text. And don't get me started on unique and more complex diagrams and infographics.

Zooming in and out just doesn't cut it.

Of course, you could write a different text with different diagrams for different viewport sizes, but besides spending more time writing your documents, it also becomes a referencing hell.
>Simply put, PDF is a format designed to allow me to give you a document where you can be sure (with certain well defined exceptions that I can work around anyway) that you see what I intended you to see.

Well put. When I buy technical books, I always look for a PDF format. I want a copy of the book that is the same as the printed one and that's exactly the reason why I like PDF. Plus, things like diagrams and graphs are in vector graphics, and not raster as they are in EPUB/MOBI.

I've made the mistake of buying a couple of technical EPUB eBooks that contained graphs, and in all cases it was a complete abomination. The publishers seem to want to produce the smallest files they can, so what used to be vector graphics, become highly compressed and low resolution raster images. Trying to zoom in on a graph on your tablet gives you a resized blurry image.

I don't like this trend where some technical ebook publishers offer a PDF version of the book in addition to an EPUB, and the PDF ends up being a mere conversion from the EPUB version, having all the cons I mentioned above. This happened to me on InformIT when I bought "The Mythical Man-Month", and they ended up giving me a refund.
To be even more nitpicky about it, a JIT compiler can replace an interpreter. There are compile-only JIT's, like Jikes RVM. But good point in this case, especially since Dalvik is a tracing JIT and relies on the interpreter more than a method JIT usually would.
Haha, yeah, I worked with some ex-Googlers and experienced a similar review system. I often had multiple unrelated sections to work on while something was being approved, not to mention multiple iterations of the branch stuck in the approval bottleneck too. I guess other companies like Pivotal Labs get around this by pair programming, which I never thought of as an alternative to code review until now. Hmm.
John McAfee: Social engineering Belize government officials
Free Harvard class teaches non-lawyers about copyright
Mail’ette – Helps designers to showcase their mockups and save time
en.m.wikipedia.org/wiki/Persistence_hunting

It is rare for humans to actually be physically capable of it these days, but chasing animals until they collapse from exhaustion is something hairless sweating bipedal are built for. The very best horses could still do it, but attempting persistence hunting on horseback with most horses would probably injure the horse.

Of course horses have been selectively bread for endurance for thousands of years so arguably their achievements are human achievements, but that's beside the point. ;)
Looks like Spring/Hibernate is losing it's shiny new gloss. I wonder what the next round of 'hammer to fit all nails' that 'we need to rewrite everything in!'

Writing code using annotations?
Dynamic languages on top of the JVM like Scala? ;)
Burn the heretic. Kill the mutant. Purge the unclean.
As an Android developer who's required to learn iOS just to port one of my projects, I do find Objective-C's syntax to be strange--quite sloppy, in fact. I tried to list down the things I don't like about the language while going through my reference, and here are some of them so far:

- Defining the method signatures in a header file or an @interface section, then repeating the same method signatures just to implement them in @implementation. I just think it's an awful waste of effort.

- The idea of categories. The way I see it, there doesn't seem to be a reason not to subclass since categories won't make sense anyway if you don't include the original class in #import.

- @optional directive in protocols. I think of protocols as Java interfaces, and I assume that's the intended purpose for having them, so having an @optional directive seems quite pointless to me.

- Obscure variable scoping. I find myself having to memorize too many visibility rules--ones that apply to the objects themselves (what attributes they inherited, local/block scoping, etc.), ones that apply to files themselves (defining instance variables within @interface, global BUT in-file variables within @implementation, the extern keyword, etc.). This is much simpler and elegantly done in Java where you don't need to switch between thinking of your program as a bunch of interacting objects and as a bunch of files.

- Which makes me think that Objective-C just doesn't have good OOP in the first place.

- Conditional compilation. When is this ever useful? I just can't visualize having to write this (maybe for games?), but again, I never had to do this in Java.
Sadly, I expect many people did, rather than just going to the page of the people who actually made the software. With a "modern" app-store there's no choice, but using that kind of redistributor was just bloody silly.
I'm in agreement it's unlikely, but I think it's important to acknowledge that it's conceivable.
Done is better than perfec.
Speed Up Web Testing with a Caching Proxy
E-Commerce SEO Best Practice Guide
I would have expected privately-operated prisons to still be classified as "state or federal prisons", but I'm no expert.
You've now got people wondering why their page just reloaded after half a second and a slug of unnecessary javascript in your page all for the sake of simplicity.

A simple solution would be to just link to a self-hosted version of the lib.
This article is one of the worst I read. He gives no solutions just complains with no justification.
Seed Round Financing: Why Crowdfunding Could Be Challenging
the ones you see are good because those are the ones that get passed around. For every good closed question there are a thousand redundant or non-constructive questions that get closed.
Gérard Depardieu Russinan citizen (13% flat income tax)
75% income tax in France and 13% income tax in Russia.
dhh did a typo, HN automatically picked up the old title. Maybe some mod around here can change it.
And STILL be prosecuted for 2nd and 4th degree money laundering, and STILL need to extract dirt on all your clients (which your other clients would possibly find out and help you accidentally die in a plane crash).
N.o
Code for the code gods, scrum for the scrum throne.

Seriously, this is some Imperium of Man PL research.
There is a logic to this madness, at least in my experience with SO. One of the big rules seems to be "don't start flame wars", and this question could definitely start bickering. The value brought by these sorts of questions seem to be overshadowed by the risk of everyone just getting bad vibes from each other due to endless arguing
Make sure to check out this great post mortem of Elite from GDC 2011:

http://www.gdcvault.com/play/1014628/Classic-Game-Postmortem
I've been excited about this ever since they announced it a year ago, the thought of having "just a phone" instead of a phone, laptop and tablet is so awesome it's going to outclass everything.

The one thing I'm afraid of is how resource-intensive certain classes of software are. I tried a netbook over a year ago and wouldn't want that kind of performance except in emergencies, even today every single IDE I run is a slow piece of crap on last year's maxed out macbook air.
Google has a similar situation for other languages, but rather than for merge issues, it is more a way to deal with the huge reams of libraries and software components and things like that available. GYP may do something similar. E.g. All code is in one codebase, but pulled out into a specific project by tooling, basically.
Page Info JSON API
I'm working on an API that provides information any webpage you specify: useful if your users are trying to share the link, or to check if your site shares well socially. Also good for research or page indexing.

http://radar.runway7.net/?url=http://blog.phusion.nl/2013/01/03/rails-sql-injection-vulnerability-hold-your-horses-here-are-the-facts/

http://radar.runway7.net/?url=http://tech.fortune.cnn.com/2013/01/03/google-larry-page/?section=money_technology&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+rss%2Fmoney_technology+%28Technology%29

http://radar.runway7.net/?url=http://www.wired.com/gadgetlab/2013/01/leap-motion-asus/

I'm planning to provide API keys and monetize the service. Any feedback?
Planets Abound
My answer to the parent comment is more or less exactly this. If you're just trying to ship a mediocre quality product, that's fine. I know there's a place for that and let's face it, sometimes it ends up happening at work because of contraints. But that is never, ever my goal.
Old style properties vs. auto synthesized properties vs. ivars are good for some entertainment as well.
False; because (if the script is inside the head of the page) the loading of Javascript is synchronous so the user will not notice any refresh at all.
I set up a VPN server at home on an old laptop, it works well for me in these scenarios (also for location-blocked services like Netflix while travelling out of country).
Again, all problems that are pretty easy to solve with existing server-side build tools.
thanks for this, phusion.

I have no idea why THIS vulnerability is getting so much attention. There have actually been OTHER Raisl vulnerabilities in the past 6-8 months which were _more dangerous_, but did not really get attention.

The Rails team did NOT help by being very vague about the nature of the problem in their announcement. I imagine they were trying to not reveal the method of exploitation; but it has just led to the current hysteria instead. They would have been better off being taking the extra time to be fully transparent about the nature of the vulnerability -- developers need to know to assess their own risk, as well as to judge the quality of Rails (how stupid was the problem exactly, what does it say about Rails etc?), etc. By being vague about it, Rails core team has just led to everyone assuming the worst, and the current weird hysteria.

Yes, it's a vulnerability which COULD be dangerous, and it's hard to tell FOR SURE if your app is vulnerable (perhaps due to code in gem dependencies), the only safe thing to do is update to a patched version. But the chances that your app is vulnerable are pretty small (if you aren't using AuthLogic; if you are, you can update auth_logic and fix it whether or not you update rails). And past recent vulnerabilities which were actually MORE dangerous have not received this level of attention.
I don't see why the typical shrunken-image with link to larger size doesn't work? You can only put so much on a small screen, and if zooming + panning doesn't work, and the author's / publishers don't want to make multiple representations for different sized devices (really just one for small and one for large) - what else would work?
I was thinking that it would remove the offending source code from history -- a revisionist source control system, if you will, to show that we have always been at war with Eastasia.
The 8 ingredients of great mobile apps or how to get featured by Apple
Indeed. I stopped playing EVE when the web of obligation felt too much like an uncompensated and slightly boring job.
You are correct. After a little more digging, I found this:

"BJS’s official measure of the prison population is the count
of prisoners under the jurisdiction or legal authority of state
and federal adult correctional officials (1,598,780 in 2011). The
jurisdiction population count is reported in Prisoners in 2011,
BJS website, NCJ 239808, December 2012. These prisoners may
be held in prison or jail facilities located outside of the state
or federal prison systems. The prison population reported in
table 2 in this report is the number held in custody or physically
housed in state (1,289,376 in 2011) and federal (214,774 in 2011)
adult correctional facilities, regardless of which entity has legal
authority over the prisoners (appendix table 1). This includes
state and federal prisoners held in privately operated facilities.
The difference between the number of prisoners in custody and
the number under jurisdiction is the number of state and federal
prisoners held in the custody of local jails, inmates out to court,
and those in transit from the jurisdiction of legal authority to
the custody of a confinement facility outside that jurisdiction."

from http://bjs.ojp.usdoj.gov/content/pub/pdf/cpus11.pdf
I guess it makes a big difference that quite a few of us are actually on the Android team specifically. I know exactly what you mean about the carpets - a bunch of us went over a couple of times for beers, and we thought exactly the same :)
What prevents generics to do cost analysis, market research, prototype production facilities, scale production and distribution processes, and market building? Isn't those step normal procedures for any commercial venture.
To make the car an analogy, when producing a new car, a company need to do cost analysis to weighing materials, product facilities, prototype building. They also need to do market building to push their product in a market already buzzing with competition. They need to care about the distribution processes. They can't patent this, and even if they could, I doubt the car industry would be helped by it.

Generics, like any other form of commercial entities do prefer a pre-built market. This is same for everyone else too, as everyone is currently making the same pads, laptops, phones and mp3 players as last "hit product". This however doesn't mean that there aren't any new companies trying new things. Same goes for generics. The "putting a product into the market" is't someting patents are needed or even suggested to cover. Its the cost of the invention that is covered by the patents.

Patents cover the cost of inventing. The FDA granted monopoly covers the testing. Everything else rest onto the commercial entity to resolve. This is the order of things, through patents are so far not covering the cost of the invention, as that is taken care by tax dollars distributed to research by NIH.

Thus the logical thing to do is to either cut the budget of NIH and let "patents" take care of the inventing (as intended), or reconsider patents as funding for inventions.
Say you have a simple application and the only possible use case is to increment an account by $100.

Should you write the function as

account.credit_100_dollars()
account.credit_dollars(100)
account.process_transaction(new credit_transaction(100))

I have to say I prefer option 3 to option 1 even considering YAGNI. It's better OO, it's more testable, there's more potential for reuse in other parts of your application etc.

Interestingly, when I started as a developer I might have written something closer to the first option. After a few years I would have gone for something closer to the third option. Nowadays, I'd probably go for the second option as I've hopefully learnt to strike a balance in the abstractions I create.
I'm very very interested on following the progress, but please don't let me down like: http://bootstrapchallenge.com/

The guy was on the front page of HN, started nicely and then just stopped updating. For me it was a huge let down, of course I did not pay for his work but I was really excited to have someone opening up all the aspect of such challenge: financial, time, social life .... Anyway I will follow and contribute in any way I can !
I believe .NET allows for compile-time contracts.
My point is that there's no one format that's going to have seamless conversion with everything that various applications need, but the UNIX timestamp still makes for the best intermediary by far.
> *"A design can be wrong. The entire thing can be wrong, parts can be
> wrong, or even a tiny, 10x10 pixel area can be wrong. Not, "I think it's
> good but it needs improvement" but flat-out wrong. 1 + 1 = 3 wrong. A
> spelling mistake in a book wrong. A syntax error in a code file wrong.
> It's not an opinion, it's not a matter of subjectivity, it's a fact: a
> design can be wrong."*

http://flyosity.com/application-design/your-design-is-wrong-...

The buttons with numbers in his example are such.

There's still the question of whether fixing it is worth it or not though...
This is the only reason I don't own an ebook reader yet. All the books I've read over the past few years are technical books. If I'm going to read rather tough material, I at least want the design/formatting to assist me in taking in the content.

Ebooks eliminate any typographical support (good) books can deliver.
I've had to use conditional compilation quite a few times. Often due to strange things like target architecture and things like that. I noticed my native iOS stuff runs lightning fast, though. So think like you are writing souped up C code. You have to put up with header files and macros and conditional compilation sometimes for different versions of the app or to run on simulator architecture vs. real, etc. but it is very efficient building and running.

Categories can be nice to avoid subclassing. Subclassing can become a nightmare when one controller extends another which extends another which extends the Google Analytics one. There's so much hidden behavior and you can't even easily disable the log spamming Google Analytics one easily. Not compiling in the init code gives you errors in the log all over.
None taken!

As I pointed out, I was using this idiom out of superstition, I didn't fully understand what it did and why I was doing it. Now that I read The Fine Book, I'm in a better position to evaluate whether it is necessary and why other approaches may be superior.

I see that the review could be improved by explaining that the idiom is not something the book recommends pr se, but rather something I understood once I read the book.
To make this actually useful, instead of deleting bad functions, it's probably better to make the offending functions throw a special exception when they are called, signaling the calling of a function known to be bad. This way, you can still inspect the code for the offending functions and fix the bugs.

Otherwise, the original code could just totally disappear after multiple runs. What good is non-buggy code if it does nothing? Failure to perform the user's requirement at all is also a bug. Not having the original code that you can at least edit to fix is rather pointless, especially when vigil doesn't indicate the callers of the offending functions, because next time you run vigil, those will get deleted. Besides, if foo()'s failure is completely due to bar()'s failure to fulfill its 'swear', it's foo()'s failure is not really its bug.
Conditional compilation is pretty widely used in C, so I guess Obj-C inherits it from there. The most obvious case is when your code is running on different architectures - consider #ifdef OSX / #ifdef iOS or similar. In Java you're theoretically writing for only one architecture, so I guess it'd be less useful.

I don't know Obj-C well at all, but no arguments on the rest :)