skysight-inc/HackerNews huggingface dataset:
> Can you expand on "shows its age"? Code entropy doesn't increase as a function of time alone. An ANSI C "Hello, World!" from 1990 doesn't show its age in the context of C today, for example.

I was referring to the particular C programming approaches of the 1990s, rather than any notion of bitrot.

If you were to explore a more complex ANSI C application from 1990, you would be more likely than not to find all state managed through globals, possibly significant use of goto, a slew of poorly documented and difficult to trace implementation functions, and an over reliance on exposed structure definitions and simplistic data models that would be exceedingly difficult to iterate on without breaking the code base.

Additionally, the code almost certainly wouldn't be re-entrant, much less thread-safe. You also wouldn't have found unit tests, although some people would include a commented out test () function in some of their sources.

> ... and is a little tickled by commentary elsewhere on this item about C programmers in the '80s and '90s that suggests everyone moved "up" from C to C++; very Microsoft!

My own position here is that we learned to write better C, not that we moved "up" to C++.

> An extension to the type system to do optional, minimalistic reference counting rather than having to use GC in a modern language or the STL's reference-counted containers (or something home-grown) in C++ would be a huge step forward for example. The locking annotations available with Clang and GCC have removed much of the value-add for using a language which does more hand-holding around synchronization

It is very difficult to maintain pure backwards compatibility with C while adding any significant functionality. This is what Apple discovered with GC, and when implementing ARC, they had to go the route of outright restricting certain previously supported usage, eg:

http://clang.llvm.org/docs/AutomaticReferenceCounting.html#o...

If we pick your idea apart in more detail, how would you represent reference-counted entities in this C environment? You couldn't do so without defining higher-level structures (such as objects, or glib gobjects), at which point you very quickly find yourself heading away from C.

This is effectively what Apple was forced to do to add blocks to C, and is also why it seems quite unlikely that blocks will ever see inclusion in the C specification.
I actually switched from Thunderbird to Evolution because the former couldn't handle some of my larger IMAP mailboxes. It also makes me happy because Calendar works nicely (in my case at least) with Google Calendars.
You should use Core Data
i know, insane! looking forward to that :)
How are we supposed to separate the responsible, safe 100mph drivers from the irresponsible and unsafe ones? In most part of the US, practically everyone has a car and has to drive on the highway, so the cheapest, simplest solution is to set a limit that applies to everyone. I'm not convinced it's a particularly burdensome requirement, either. The faster you're going, the more the dangers increase, and I know too many people who, unlike you, are not safe drivers at high speed to be in favor of making it more accepted for them to drive 100mph in most places (though I have no problem with the 80mph, or potentially higher in the future, speed limits in certain parts of middle-of-nowhere Texas).
Well at least this will solve the "employers asking for passwords" dilemma. Don't want to cough over your password? That's fine, just apply to our company on Facebook, we'll get what we need that way.

/only slight sarcasm
Beauty and Brains?
IME s/beyond a certain stage//
Specifically "complex runtime state inspection (say, to support breaking reference cycles)".

There's no safe way to walk the object graph to break reference cycles, despite Apple implementing both ivar indirection (to solve the fragile base class problem), and implementing what should be self-describable block structures.

Information such as whether a particular captured variable/ivar is a weak or strong reference would have been very simple and cheap to include in the runtime metadata, but was -- like many other things -- not included.

In another comment in this thread I described the difference between Apple's runtime/language design and everyone else's:

This sort of hackish minimalism is the polar opposite of the careful considered and long-term focused design that Microsoft (and even Sun) applied to the core of their platform. Compare the completeness (and longevity) of the JVM Virtual Machine specification to the ObjC runtime. Over roughly the same amount of time, Apple has had to introduce complete ABI-breaking fundamental changes of to their runtime to implement extremely basic language enhancements. In contract, the JVM specification has not, to my recollection, been broken once over the course of 20 years. Additions have always been forward-compatible.
Is this just for face detection or for face recognition as well?

Face detection is a pretty much solved problem IMO and running OpenCV locally is a simple enough solution.

What I will miss about face.com is the face recognition. It was state of the art, lightning fast, and free. The eigenfaces implementation in OpenCV doesn't even come close.
Oh, wow. OK. Tell you what: I can open a DynaDot account in your name, prepay your domain for a year and then hand it over to you. That should work. Also, DynaDot are cheap and they do offer a lot of different payment options you might be able to use next year when you have to renew. Does that sound like a plan?
> Maybe just selectively encrypt the audio?

The problem with that, is that you've still effectively recorded other people. That's okay in Australia, but not everywhere.

Deliberately not recording has a strong legal basis just about everywhere, though. Think of the example of an active microphone hooked up to an analog tape recorder on "pause." In that case, the signal exists in hardware, and is in fact being amplified. There would be no violation of the law, however. Now think of the same setup with a digital recorder that is on pause. There may be a DSP chip that is processing the input signal, but there is effectively no "recording" going on.
The real world is quite addictive for a lot of us.
My answer would be yes.

But thats for us, we do development on a framework we've built thats based on Backbone's elements (but thats just a part) one of the attractive things about Knockout has been its data-binding. So we'll look at this to see if we can add it to our stack.

One thing we really like about Backbone is you can rip out the component parts (Models, Views, Events etc) and add them to your own stack/framework, this seems like an extension of that model, which works well for us. Not that knockout does "too much" we could likely switch to using knockout, but that would likely be a big change to the stack we use. This is something smaller that we can add to our existing code without worrying too much.
As described, static or lighttpd for static and reverse proxy for the domain achieves more than one goal:

* you can serve page faster;
* you can mix on a same domain more than one app from different servers in the DMZ (for sharing domain based mechanism (flash, Cross site ajax) by rewriting the url;
* you can have one front (nginx) and several servers, which with heartbeat mechanism can handle failover.
* you could (when ssl certificate were only IP based) share one SSL certificate for more than one back (VIP)

It is a pretty low cost quite scalable architecture. I guess you could do it with apache, but I dropped apache since its licence is as understandable as its configurations.
the NAFTA really does a number on us (Canada) here in making it so easy to work in the States on TN status. I went to university a few years ago with a small group of 3 other pretty bright programmer friends.

It turns out it's hard to find an excellent job in Canada. Though I'm now working for Shopify, which appears to be the only really great option for me here, the other three of them have recently moved to New York, the Valley, and North Carolina.

The problem with the tech scene in Canada is a chicken and egg one. We need good companies to prevent skilled tech workers from moving to the States, but we need skilled workers to build good companies. Moving to a Canadian startup hub, if one is ever designated, is not significantly easier for most people than moving to the Valley.
When you got your driver's license, you agreed to obey traffic regulations. Not some of the rules, some of the time, not only when you agree with the rules about what's safe, not unless you're in a hurry.

I'm not trying to say all the rules are right. Some of them should be changed (and consistent enforcement is a great first step toward that). But this idea that you have some right to not have them enforced because you find them inconvenient is absurd.
most speeding occurs on highways. Several states already use planes to monitor speeding on highways. The only difference is these planes will be unmanned...
a thousand times yes, tv production needs that sort of disruption.
Why would you not want to use VPC?
The thing that has kept me with thunderbird are the AdBlockPlus and VirtualIdentity plugin. Does mail.app / opera mail / any other Linux client have something comparable?

(Virtual Identity is a godsend when you have a domain; it lets you set up identities on the fly while writing an email, and manages them beautifully and helpfully for you)
Your RIM questions answered: CEO Thorsten Heins responds
The interesting thing about this observation is that it could equally be applied to older tech companies.

Some notables have strayed far from their origins: Apple (was computers: now also phones), Microsoft (was operating systems: now also phones and search), Oracle (was databases: now also enterprise software and hardware), HP (was calculators: now computers, printers, and consulting), Google (was search: now also phones, social, etc.). These changes all happened post-IPO.

It seems that being desperate to find a business model is not a bad strategy for a tech company.
That'd be awesome. How do we go about this? Should I email you?
I've never been able to get behind defining data relationships in the DOM. I do like the idea of not having to re-render the entire view or explicitly update individual elements on data change events, but i wish there was a better way. Perhaps a view could contain a hash associating data change events with element selectors. Then the view knows which element to update. That way the html clean and ignorant of the underpinnings of the app.
agreed. been looking at this for a while. If you're Canada based you gotta reach out internationally (Europe, U.S., Asia) to acquire funds, projects, ideas. Thinking domestic is not optimal.
IME the remaining skilled engineers want to work remotely.

The last 8 years I've worked almost exclusively for US based businesses as a remote contractor. It's the best of both worlds, I can charge competitive rates but have a relatively overall lower cost of living and access to free healthcare. Taxes are higher in Canada, but it works out that I'm way ahead than if I lived in SF or NY.

The downside is that I occasionally do miss the one-on-one interaction I get with team. It helps that I've begin working for a co-op, and I'm often working as a team with the same devs on new client projects. I also do lots of oss work, which helps me keep my skills up by working on challenging projects as part of a community.
You use "agreed" in a very slippery way. Agreement implies consent, but few consented to be governed by the rule "accept the rule or be fined if you choose to drive. And by the way, you get to pay for the roads either way you choose."

I say "few" because I'm sure there are some people who like this setup. Like maybe you for example.
Is it possible that they're just following through on the US Dept Labor initiative and this is a PR play with the some good engagement drivers as much as it is a foray into anything else? Seems like it's being telegraphed that way.
Anti-discrimination laws are rooted in the federal government's Commerce power, aren't they? I don't think we know yet the implications of the ACA ruling there. If you can't force people to engage in commercial activity they don't want (buy health insurance they don't want to buy), how can you force them to engage in commercial activity they don't want (employ people they don't want to employ)?
My email address is on my HN profile page. You let me know what the domain name is and I'll open the account for you. When it's done, I send you the login credentials and from then on it's all yours. :-)
In my view, the importance of this article is this question: 'Who watches the watchers?'

What does that mean exactly? Well, it seems to me that there are some people (authorities) in the US who would like to use drones for domestic policing and surveillance. While that may not be a bad thing in and of itself, it could be abused by someone who has a desire to abuse others.

So my takeaway is that transparency into domestic drone programs is a good thing. And I, for one, will not trust any domestic agency that wants to use drones without being truly transparent about what they want to use drones for.
While you are at it, I'd like to point to some popular existing datasets for object recognition:

The labelme dataset: http://labelme.csail.mit.edu/instructions.html This is close to what you were thinking (and I liked) -- having annotation done by public.

A list: http://www.computervisiononline.com/datasets

PASCAL VOC: http://pascallin.ecs.soton.ac.uk/challenges/VOC/voc2011/

CALTECH 256, and several others. Many papers presented in CVPR 2012 (http://www.cvpr2012.org/) were indeed on very large datasets.

Do note that some of these datasets are fairly large (may or may not be as broad though).

The algorithms you use will depend on the complexity you can handle. OpenCV, IPP, and CCV (which was on hacker news few days back) could provide good options for algorithms with a training dataset you choose/create.
Tour with bootstrap
It's amazing how most of these articles just talk about the difficulties of raising money. As if that's the only important thing missing in Canada for startups. What about the difficulty of finding out what users want (when your customers are all in the US), the lack of a concentrated talent pool of people in your sector (hard to network let alone hire), lack of sector-specific mentors. All much harder to do in Canada at the moment.
This article is depressingly spot on.

What worries me most is an inability to set Nortel aside in the ongoing historical narrative of tech in this country. The seemingly inevitable decline of RIM may well put us over a tipping point in this regard, putting us in a situation where we're so paralyzed as a nation by what's happened in the past that we can't bring ourselves to look to the now, much less to the future. We can't get over Nortel in the same way that we continue to look back at the Summit Series year after year after increasingly annoying year; adding RIM onto the pile of failed Canadian tech stories is going to make a mountain that will take decades for us to come to terms with, all the while distracting us from getting shit done.

As a country, if we continue to look to the past for lessons about how to build success, we're going to be building a country that is cribbing off the skeletons of failure. Sadly, looking towards the lessons of the past and staying in the shallow waters that result are very much a part of the Canadian way. I worry that we'll be spending so much time wringing our hands over Nortel and RIM (especially outside the sector, which is where most of the money comes from) that we'll be unable to spot the next big thing.
Want to elaborate on "inauthentic" interaction? Because that sounds like something the post office would say to imply that physical letters are more "authentic" than emails.
I've been competing in the Facebook competition and submitting twice a day. I've managed to drag up into the 90th percentile of scores but I wonder how much the final leaderboard will resemble the daily leaderboard on Tuesday when the competition closes. I'm really looking forward to a post-mortem of this particular problem, since the data was basically featureless and the most successful approaches seem so similar.
Drone hijacked by UT hackers with $1,000 spoofer
Blogspot vs WordPress
They feel really substantial but at the same time simple. Basically a taste/style thing for myself. They're like the concrete and steel ibeam art installations of the desk universe.

Also with adjustable chairs I've never really felt the need for adjustable desks. We'll see how that works out for me in a few years though I guess. ;)
Anyone have any idea how noisy it is?
Credit goes to kmfrk who posted the link at http://news.ycombinator.com/item?id=4212085
I would use it but I worry about using programs that are not being actively maintained because of the risk of security vulnerabilities. Especially in email where you can have a lot of risky inputs (spam, phishing attempts etc) - even though I have great spam protection (thanks pobox) there is still a risk. I'm not sure what I'm going to do on Windows yet... I'm trying Postbox and it's nice.
I'm of the view that in general, it's better to code directly to the iOS APIs rather than trying to implement everything in a UIWebView. Having said that, I've just spent a substantial amount of time developing a word processing application (UX Write), which uses a UIWebView for all document layout, and a large amount of "backend" code in javascript for performing editing operations. All the UI code however is written in Objective C and the Cocoa Touch APIs.

The advantage of using native controls it it provides a much greater integration with the rest of the operating system, and makes it easier to make your app work in the same manner as other apps. For example, there are many features of iOS that are not exposed through javascript APIs, and for that you have no option but to use native code. Nonetheless, I like what Microsoft is doing with providing javascript APIs for metro development, and though I haven't tried it myself, it looks like a good approach.

There are a number of serious problems with the current UIWebView which are also holding it back as development tool:

- You have very limited control over touch events. In my case, I completely disabled all default event handling on the web view, and implemented my own touch event handlers in Objective C, which pass the events through to javascript.

- Selection is broken. You can access the selection, but not modify it. I spent several weeks completely reimplementing the selection & cursor mechanism because of this. One positive outcome though was it gives me much more fine-grained control over user interaction issues.

- contentEditable is also broken. I spent probably 3-4 months reimplementing this functionality myself in javascript to make it usable

- Interfacing between Objective C and Javascript is tricky. Going from ObjC -> JS is fast, but going in the other direction using the technique from the article is painfully slow. There a ways to work around this but it's inelegant and doesn't allow return values from callback functions.

- Lack of Nitro support, as discussed elsewhere. It turns out that for my particular needs performance is quite acceptable, but for more compute-intensive apps like games it's a must. I can understand Apple's desire to prevent W+X permission on memory, but this could be solved by running JS code in a separate process and communicating with the host process via shared memory.

Apple have done some amazing things with WebKit, but the iOS port leaves a lot to be desired. I would really like to see them improve these apps so people can better integrate web content & backend functionality. But I still think you should be using Cocoa Touch for your UI.
A Manifesto for Me (time to get things done)
These Applications Work in the Cloud
What's a good fit for cloud computing?
> What he missed is that if you're putting labor into making something nobody wants (the classic example being toothless combs for bald men), you are not only failing to producing any value, you're arguably reducing the overall wealth present in the market. The labor theory is no longer a part of mainstream economics, replaced by marginal theory [2], but I suppose many people still imagine value of things as equal to the labor put into them.

Uh, what? Why do people that have never read Marx think they can get away with this kind of thing? You only have to read the same wiki page you have linked to to see that what you claim Marx never thought about is in fact very much so part of the theory. According to Marx commodities under capitalism have different kinds of "values"; one of them is their "use-value", which measures whether the item is in fact useful for a given purpose for anyone. In a market economy a commodity only realizes its value (usually seen in the monetary expression of its exchange-value, or price) when it is actually sold: ie, value is realized at the point of sale, not production. Thus no matter how much labor you put into something, if nobody actually wants it for anything it has no value at all. This kind of misunderstanding or misrepresentation of the LTV is so popular it has its own nickname: the mud pie fallacy, see for example http://kapitalism101.wordpress.com/2010/05/13/law-of-value-3...

This whole thing is explained, plain as day, in all of Marx's works on this topic, including the most famous one, Capital. Why people that have never bothered to even read one paragraph of it like to pretend it says things it does not say? Beats me.
The problem with people complaining that hybrid iOS apps don't "feel right" is that the defining characteristic of a well-made hybrid app is that you don't notice it's a hybrid app, meaning the only apps people tend to consciously associate with being 'hybrid apps' are the mediocre ones.

For every web-based iOS app that's clunky and slow like Facebook, there's another one like Quora or OKCupid or even the iOS App Store that is almost indistinguishable from a native app, save for a few minor telltale giveaways (one of the most common ones is showing a loading icon while you load in an entire view instead of rendering a view's components piecemeal as they're ready).

The problem is that many developers who go with a hybrid app solution do so because they think it'll be easier or quicker than an all-native app, especially if they need multiplatform support. Doing a hybrid app correctly can in many cases require much more work than simply doing a native app, both technically (there are a lot of very tricky caching issues, since UIWebViews don't properly handle cache manifests) and design-wise in terms of nailing the behavior and feel of a native app. Hybrid apps are neither a complete usability disaster nor a silver bullet that gives you a 'write once, run anywhere' utopia.
Awesome initiative, Udo.
When I saw this, the first thing I immediately thought was: why don't webcomic authors use this to fix the problem of people linking directly to their images instead of the pages their images are on? This could revolutionize how webcomics and social aggregators interact.
Even within EA, Bioware's not doing too hot as a division, isn't it?
You can get a laminated 8' folding table nicely finished with a steel frame for $80 new that will hold at least 1000 lbs and doesn't have to be taken apart. i actually got one for $50 new a few years ago. I tried lots of lumber yard solutions, too until I realized there is a superior engineered solution.