skysight-inc/HackerNews huggingface dataset:
Or if Facebook could find the can of Coke in the picture, brighten the pixels and turn the can so the logo is clearly visible. And add a link where you can gift your friend with a coupon for a free Coke.

Or change the can of Coke into a can of Pepsi.
Code Length Measured in 14 Languages
Even Apple TV is less annoying. Roku is far from perfect and I have my gripes with it, but in my mind it's the best.

About the only thing I haven't tried is Boxee.
Eh? The device was supported at one time.

Ubuntu doesn't say "too bad, we no longer own any six year old Thinkpad T60's" when they release a new version. They simply leave the drivers for such devices, make changes that aren't expected to break specific hardware models, and get some stablish prereleases so they can take the occasional bug report for the leaky abstractions that did break.

Contrast to Google who AFAIK throws globs of code over the wall with all of the support for older devices ripped out. And then CM presumably uses that tree as a starting point to make changes, instead of merging into a master CM tree.

CM might just be doing the best they can to cope with Google's broken process, but the whole philosophy of brittle trees tailored for specific devices is the philosophy of embedded development, not open source. So CM comes off as aiming to be the latest eye candy fluff mod for tinkerers, rather than a solid computing base for your phone.
cool. it looks like you've cleaned up the verbose syntax? what are you planning on adding that's new? do you support the whole module/interface hoohaa from sml? are you going to explore (given js target) prototype-based oo in some way? are you thinking of pulling in ideas from ocaml? or some cool new type hackery from haskell?
>But I wouldn't for the life of me take on as an employee someone who knows Haskell but not an OOPL (like C#, Java, or at least C++), that would indicate severe ideological bias on their part.

Ironically, it actually indicates a severe ideological bias on your part, not theirs.

The rest of your post seems like it is entirely platitudes intended to say nothing. No, people don't think in terms of objects, that is why the leaky metaphor used to teach OOP traditionally causes so much confusion, and makes OOP harder to learn than FP. Thinking in terms of FP is not thinking in terms of "formulas", and it appears you are basing all the rest of your assumptions on top of that one faulty assumption. People intuitively understand "I make a thing that transforms other things" much easier than they understand "I make my things know how to transform themselves, or maybe other things, or maybe both, but sometimes neither and I make different things to do the transforming instead, but those things are wrapped inside an "object" that doesn't represent anything for no discernable reason".
No one seems to live in that part of GNUland any more.
Ha. That's a good point. I don't really have much interest in spectator sports. Which brings another point to mind; I found following TdF on the web with all the interactive stats easily accessible very enjoyable. It's a shame there wasn't much live video coverage.

Then again, I'm not really the man to talk about sports.
Academic Recess: The Hacker News for Education Launches
Python is on almost every host out there now. Riak, Redis, and MongoDB are not, and on many hosts you won't be able to compile them from the source. So yes, that's relevant.
But it's not deceptive, it's what Linus said, and I think it gets at a good key idea in the interview - that Linus has transitioned from being primarily a code reviewer to primarily a manager of people. The part about moving to being a manager of people is just not included in the headline - you learn that by clicking the intriguing title.
Hijacking Google Search Results With Duplicate Content
Just a FYI, I had a SG3 for 3 weeks and I recently got the note 2 and I have no complaints. A lot of the tweaks they implemented are pretty f'in awesome and I find myself saying "that makes sense" quite often, so maybe hiring this guy helped.

Thanks for the answers and I'm happy to see that samsung did that. I know for a fact, that if I was a company and someone was making MY product better....for free, that I'd be offering them a job. That is the kind of employee I want in house, self motivated and creative.
Drudge Report. Even if you don't like the political "lean" of it (I, personally, don't), you have to appreciate a design that has (basically) stayed the same since it was founded in the mid 90s. The "minimalism" from Drudge had a big impact on a lot of modern web design.
3 Common Winter Roofing Problems | All Roofing Solutions, DE/PA Roofer
Sure, you can do pool allocations in, eg, Java too.
OKCupid: an exploration on how low some guys will go
We use Skype to call friends' mobile numbers in African countries, Ukraine, etc. Does Google+ allow that? (Note: not a Google+ user)
I find autotools thousand times easier than CMake. Autotools just work. I can always ask it to get the hell out of my way!

Doing complex dependencies in CMake is a pain where as with Autmake, I can just go back to Make in the same file.
I'll be the lonely voice here who says this: Google TV is the least worst option in a sea of mediocrity. I still use a Logitech Revue (conspicuously absent from the updated products list, once again) and I've yet to find any better platform. There's one simple reason for this: It goes in between a content feed (such as cable or antenna) and your tv. In that way, it can control content on my network, the streaming services, AND live tv or DVR shows. No other product that I'm aware of does that. I want one interface to control all those things. Roku doesn't do that. Apple TV doesn't do that. Hell, my Samsung "smart" tv doesn't do that either. Tivo? A pile of laggy shit, and it can't stream on my network without jumping through 1000 hoops. Also, $15 bucks a month for a program guide is highway robbery.

I'd love to not have to have a cable source for shows, but until the content producers get their heads out of their asses, I still can't watch what I want from the Netflix/Hulu combination. I also hate having to switch apps to use those, but such is life it seems.

It's FAR from ideal, but it's the most polished turd I can find. It's the only thing I know of that (barely) passes the wife test and does the things I need.
I wish all this "call by x" terminology would just disappear. It's fine if you're discussing ALGOL-60 dialects, which by modern standards were all horribly confused about parameter passing (call by name, anyone?). It's just not helpful at all when discussing modern languages.

If we have to keep it, I vote for Kent Pitman's suggestion of "call by identity". (I can't find the reference right now.)
Ask HN: working with a "bad" programmer
I'm working at a startup with another programmer, the founders are business guys and they don't even look at the code.

The problem is that the other programmer have bad communication(we both work at home) and programming practices: a lot of files without comments, hard to understand/read code, buggy code, un-pythonic code... It's getting difficult to be productive in this environment.

What would you do in this situation?
I'm a bit interested in the legal situation here. I think at least in Sweden, if you asked Google to delete a private document including images (maybe personal etc.) they'd be legally obligated / forced to do so. Anyone know if there are any privacy laws regarding this?
The size difference between an iPad and iPad mini is nowhere near 1920x1200 vs 1280x800 on a 15" screen, it's only 20% smaller (44px vs 36px).

http://jsbin.com/inuxah/1
Wow this article seems deliberately offensive, even provocative. I was first angered, then frustrated and now amused by it. It certainly was emotionally entertaining for me at least. Surprised to run across this sort of thing on Hacker News though.
"Google has worked more on the kernel side, they've done their own filesystems."

What custom filesystem is he referring to? Does anyone know?
Google is notorious for shitty customer service. Avoid them at all costs.

I'd recommend switching to Stripe if your customers are in the US. They are fantastic and their support is amazingly fast to respond.
I forked the documentation this morning. I'll edit it and submit a pull request tonight.
I think that it pays to implement the code yourself. Even though you think you understand a concept, you haven't tested it till you write the code. IMO, there is no better way to learn algorithms than implementing, tweaking, profiling and trying to visualize them.
Various publications tout low intensity, medium/low-contrast as a tool to reduce eyestrain. IMHO, default font size, line spacing and column width are more important than high contrast (somewhat of a problem on this site too)

Thought: should we aim to vary contrast by device?

On my mobile phone I prefer sites with higher contrast, especially when out and about, on my retina iPad however, sites with white backgrounds and lots of text are much more tiring/difficult to process (plus bright screens, incl. tablets and phones are shown to result in insomnia [1]).

At the risk of going completely O/T here, f.lux [2] has helped me a lot in this respect.

[1] http://gizmodo.com/5524005/experts-kindle-helps-you-sleep-ip...

[2] http://stereopsis.com/flux/
I would like to have set the foundation of programming fundamentals via C/C++ one month from now. Any help is very appreciated!
You haven't provided enough information to provide any useful advice. Care to elaborate?
The Apple Haters' 7 Stages of Grief
Feel free. Look forward to seeing how this language progresses. Seems to have elements of all my faves.
Ever since unbuntu ruined their desktop with the same brand name, I flinch a little everytime I hear the word
I called up TWC to complain as I figure that after 2 years of service they've more than covered the cheap RCA modem they gave me. I was told that some customers were paying $2.50 and some were paying $0 so they were going to charge $3.95 to make it fair. They also pointed out that sometimes the modems break so they are on the hook to give you a new one, which is why the fee is reasonable.

The list of approved modems is here:
http://www.timewarnercable.com/en/residential-home/support/t...

Checking today the list is a lot more reasonable, when they first released the news they would only support the SBG6580 (~$135) and SB6141, which nobody seems to carry. The SB6121 is around $80.

I'm still confused why they'll lease me a cheap DOCSIS 2 modem but expect me to buy an expensive DOCSIS 3.
This is exactly how I feel also.

This simple logic of fitting smaller things together to make bigger things has always delivered superior results for me regardless of the language in use.

OOP seems ass backwards to me but everyone I talk to generally doesn't have a clue how FP is different to OOP!
Show HN: We're faking a marathon using Twitter, instagram, and Facebook.
RCN, on the other hand, simply raised my rate without even apologizing. They pretended to give me a promotion of "increased speed" and then the promotion "expired" and my rate went up. And oops, the old speed and old rate was no longer being offered.
Making The Case For Kotlin
Boxee gave up on the Boxee Box (quite literally abandoned it and their customers) and is now doing a regular TV DVR box.
C++ supports call-by-reference (and also call-by-value), here's an example of call-by-reference:

#include <iostream>
void swap(int &x, int &y) {
int temp = x;
x = y;
y = temp;
}
int main() {
int a = 3;
int b = 4;
std::cout << a; // 3
std::cout << b; // 4
swap(a, b);
std::cout << a; // 4
std::cout << b; // 3
}
Is everyone forgetting that you can easily zoom on any iOS device?
Super Cheap Backups Archiving Amazon S3 Data to Amazon Glacier
I like it: sign off on commits with SHAs of bitcoin transactions to the original developer. "Linus Torvalds gave SirClueless $10.00 for fixing issue #12073"
fork() only leaves the one thread running in the child, and at that point the fd tables are no longer shared, so trying to detect and close unwanted descriptors in the child after fork is not racy by itself as a way of mitigating the possibility of uncontrollable non-CLOEXEC opens elsewhere in the process (though this doesn't preclude it being a bad idea for other reasons).
I've been using Linode for almost two years now and can't fault them; they're the best hosting company I've dealt with. You create and bootup “Linodes”, which are VPS's (Xen based) running your choice of Linux.

Other recommendations if you have a bit more slack in your budget: Amazon's AWS or Hetzner (not UK based, but it's hard to notice – ping their servers).
http://www.coursebuffet.com
we put it up for indexing but it is not officially launched yet.
Samsung planning mass production of flexible screens for mobile devices
For those who don't know:
"CLRS" is "Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein.
http://en.wikipedia.org/wiki/Introduction_to_Algorithms
But then, it would miss the joke... All caca labs projects are of the same kind: libcaca, libpipi, toilet, etc...
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">

I rest my case.
We're working on database developments tools that work in the web browser.

Of course, we'd love your feedback, questions and comments. If you're interested, sign up or email me at: saro [at] jackdb [dot] com.
Learn To Program: An Accessible and Fantastic Introduction To Computer Science
The usual phrase I've seen to describe this is "passes references by value". And it's the norm in almost all popular OOP languages since the mid-90s.
Web App Mistakes: Condemned to repeat
I'm sorry, I had a problem with the submission.
A brief note on pipelines for Firefox
There is something wrong with Evbn. He's being trying to get at me since I corrected him once a few weeks ago. The guy keeps grudges like a loser.
Facebook stock up 10% after biggest lockup expires
MPL-2.0 is not (L)GPL incompatible. See http://www.mozilla.org/MPL/2.0/FAQ.html#mpl-and-lgpl

With some software (Go code that is always statically linked by the official toolchain comes to mind) you are shooting yourself in the foot with GPL and even LGPL.
Ubuntu is a commercial venture. It pays people salaries. You do the same to someone working on a CM ROM for your phone and I'm sure your request will be granted.
NY Times Labs Project Cascade
Mongodb-async-driver is a high performance alternative to the 10gen java driver
Oh, my bad. I thought rdio only had radio like features like pandora.
Python is strictly a call-by-ref language. The author of the blog and many commenter here seem confused. There are two causes:

1. Some objects are immutable.

This makes some calls seem to be call-by-value, but they are not. A simple look at the generated code makes this obvious. Integers, strings, tuples, ... are passed by reference. It's just that you can't mutate the object being passed.

2. The behaviour of the assignment operator is different from most non-functional language.

In Python, assignment never mutate values. It assign a new reference to the 'variable' (i.e. the scoped name). This explains clearly why in functions, you can't mutate an immutable object even though it is passed by reference: assignment merely rebind the argument name to a new value.

That is why when you want to mutate something in a function in Python, your only recourse is to call a function on that object:

i = 4
s = 'George'
l = [ 'me', 'you']
foo (i, s, l)

def foo(a, b, c):
a = 3
b = 'Mark'
c.append( 42 )
c = [ 2, 1 ]

print(i, s, l)
# prints 4, 'George', ['me', 'you', 42]
Bluebrain: Year three of ten year documentary
Yes, this is the only way the handle it. Git subrepos make this a hassle though, in our experience. It's the one thing that SVN would do much better.
I agree if you're starting with a blank slate. If someone asks "How does Python handle arguments", then you can just omit any mention of call-by-value until they understand the concept, and have total accuracy the whole time.

But if they come to you with "Is Python call-by-value or -reference?", then for the sake of getting them to break away from those contexts, I think your best bet is to say "neither", which is technically-but-not-practically slightly inaccurate.

You could try saying "It's technically call-by-value but you seriously need to forget everything about call-by-value in this context until I explain it to you," but depending on how their mind works, they may be looking for the connection to call-by-value the whole time you explain it (certainly that's what my mind would do if it were explained that way). And that's just a distraction.

So as long as you tell them at the end, "OK, so technically I lied earlier; this is call-by-value, but that's not how it's understood conceptually", I think the marginally inaccurate route is better.
Do we really need to reinvent these complex datatypes each time, thought? How many classes there exists in Java or C++ just to keep x,y and z coordinates of a point in 3d space? With custom types we gain the ability to distinguish color (r, g, b) from position (x, y, z), but is it worth the cost? How often do you catch errors like assigning point coordinates to a color?

If you want to use library A that has Vector3d type defined with library B that uses library C that has Point3f class, and with graphic library that use its own Vertex class - isn't it stupid that we need to convert the data all the time?

I've seen application in C++ that uses 4 types of string: QString, std::string, char* and custom type to pass data to database. 3 of them just because of used libraries.

I think OOP mindest makes people whip their own datatypes too easily, and it hurts when you need to integrate libraries developed independently. Most of the time tuples, lists and hashmaps suffice, and in better languages you get many operations on you composite datatypes for free - for example serialization, deep copying and deep equality checking.
Looks like it handles all important topics for sequential algorithms quite well. It even discusses quantum algorithms in the last chapter.

What I really could need though is a reference book for parallel algorithms. Especially shared memory PRAM algorithms for OpenCL, OpenMP & co. Most current books only assign a chapter at most to this. I guess the main problem here is that parallel algorithms are still very much in their infancy compared to their sequential counterparts.
This thread symbolizes everything that is wrong with our industry.

70% pop culture, 30% strong opinions, 0% facts. There is no science in computer science outside of algorithms, there is especially no science or engineering or anything substantial in the love child of this industry: programming languages.

I have still some hope this changes someday, with

https://leanpub.com/leprechauns and the older

http://www.codinghorror.com/blog/2008/03/revisiting-the-fact...

e.g. when to use FP (the tool to solve a problem, not the religion), or OOP (the tool to solve a problem, not the religion) and what is the probability that this works in that environment etc. Like when to use steel or wood. But man, we're decades away from that.
Show HN: We just shipped Hammer, our new Mac app for HTML.
There is rather a big difference between a board and a consumer product. Most people are not keen on building their own system from scratch - and so far there isn't another 99$ game console out which is pretty much what OUYA seems to be about. Not to mention a console specific software stack. The fact that there is really hardware already around for that price makes me rather optimistic that OUYA isn't just the dream that never can come true which was my biggest fear for it so far (although I worry more about it's software stack).

Maybe there will be Asia clones ones it's out and a success, but so far there aren't. Someone has to be first...

And if it can get even cheaper in the long run with that hardware - that's also not exactly something speaking against it.

You got maybe a point with the games, but even there I'm not too worried. I don't need lots of good titles for a console - give me a handful of fun titles and I'm fine. Even playing supertuxracer on TV would already be enough fun for me to consider getting it :-)
This is an interesting conundrum. How do you accommodate both people who have small fingers and bought the mini precisely because everything is smaller and more convenient on it, thus expecting that everything is scaled down; as well as people who expect the mini to act as a smaller viewport to applications and websites that retain the same physical size?

If only you could ask the user if he has big hands or something...
I don't always read pop science, but when I do, I read thehindubusinessline.com. Also, the illustration paired with the article screams Melancholia.
Can you gauge how cooperative the other programmer will be in having a discussion about best practices? Hopefully he/she is at least decent with versioning. How about testing? Do you think the other programmer would be open to doing TDD? I know TDD isn't everyone's cup of tea, but it's certainly easier to get into than it is to teach someone how to write comments or change their style of coding.
Here's a blog post on the upcoming GUI-system revamp, from earlier in the year: http://blogs.unity3d.com/2012/06/29/the-new-gui/
All great feedback. Thanks for the honesty.

Yeah I definitely should've said where I was located.
'Memory' board game trademark threatens several iOS games
> OOP can be verbose and contrived, yet there's often an aesthetic insistence on objects for everything all the way down.

It depends on the language you're using. In languages like Smalltalk, it's quite natural to have a Color object and not be passing around a tulle of RGB values. Then adding something like a "beta" value to Color (in addition to RGBA) involves no change to most of the code base.
That image slider is really cool. A glance at the source suggests it's something custom built, does anyone know of a plugin/library that does something similar?
Ask HN: Can't find a specific date/time discussion
I am trying to find a discussion thread and related blog post that was on HN a while ago about the mistakes programmers make when dealing with dates and times. Searching HN gives too many results, and when I go through them (sorted by date ironically enough) it goes past the time I remember seeing the post.

I want to read the post and discussions again as I am writing a web based scheduling matching app, and I was fascinated by how much I don't know about dealing with times and dates, so any other related links would also be appreciated.

P.S. leap second, WTF?
About two years ago I signed up for UVerse. There was no modem fee. 6 months later, there was a $2 fee. Six months again, $4. And then 6 months later it was $6.

At that point I actually noticed the fee (I hadn't really looked before that) and so I went in to complain. Here was basically my conversation:

Why did you raise the modem fee in January?

Because we hadn't raised it in a while?

Did you give me better service?

No.

How do you justify raising the fee on old equipment?

Because we hadn't raised it in a while.

But my equipment is getting older and less valuable

Oh, is your modem broken? Do you want a new one?

No! I just want to know how you justify raising the rates on equipment that is unchanged on service that is unchanged. You raised your rate and provided no additional benefit to me and your costs actually went down.

Because we hadn't raised it in a while.

That's when I left.
Not humility, for sure
These are easy to circumvent almost without exception. I have a cable modem that disables bridged mode unless you "ask nicely" and get a firmware update to enabled it. The solution was simply to modify the form being submitted, since the change in the firmware was purely adding an <option/> to the template!