skysight-inc/HackerNews huggingface dataset:
Drupal wouldn't be where it is today without webchick and it's community. She deserves recognition for her hard work with Drupal 7 and it's nice to see this community agrees.
Conversely, I think traditional programming seems really hard compared to RoR. I have to think about memory? I have to tell the computer what the variable type is? What are all these funny characters and symbols? I can actually crash the computer with this? What is this compiler thing and all these funny options?

I'm (slowly) trying to re-learn C/C++ after getting decent with Ruby and honestly it just hurts. Few things I do need speed or system access on this level. The verbosity is painful, and you need so much (ugly code) to do so little.
Hi Killian, we haven't forgotten about you!

You can search regardless of country by choosing 'Worldwide' on search results page.

By the way I liked your new guitar tab app.
Ask HN: Help Setting Up An Image Processing App
Hello, my name is Duncan Cumming and this is my maiden post.

I want to set up a web site which incorporates image processing software. The idea

is for the user to upload a picture of his face using a web cam, and the software

determies if he has one or both eyes closed. Obviously, this is a small part of a

much bigger app.

My question is what is the best language to use for this, and can it be developed on

an inexpensive, rented virtual web host such as ipower.com or had I best get my own

in-house server, develop the software on that, then rent an expensive, dedicated

server to run it once it is working?

The obvious language to use would be natve C / C++, but how do I compile this on a

server such as ipower? I understand that it has to be compiled on the web host

machine or it will not work with a client. It is possible that ipower does, in fact,

allow this, but I have just not figured out how to do it yet. If not, Can anybody

recommend an inexpensive web host that allows the compilation of native C / C++

code?

Is there some other, higher level language that would handle this kind of an app?

Any advice welcome!

Duncan
Thank you, these details provide a much clearer picture of what you're looking for. Makes me extremely curious as to what your product is though. Good luck!
I think this problem may be while I enjoy functional programming so much. I believe that the functional programming tends to build from the data up, from the actual instances it then adds definitions of behavior, instead of trying to group behaviors and fit the various arrangements of data in that hierarchy.

Usually you start with some data. It might be some loose tuple in a dynamic language like erlang, or an algebraic data type in a language like Haskell (not that there are many like it). It's like saying, I have a Cat or I have a Bat. You haven't said anything about the two yet other than that they are different. You could then add more information, such as the number of legs or color. You add behavior by defining functions that can act on that data and create changes from them. For example, two cats can reproduce, so you define a function that takes two Cats and makes a kitten (new Cat). Bats might also reproduce, so you can write the function more generally to take any two data objects that have the minimum prerequisites (such as identical internal representations) and produces a new one that's a combination.

When a new data type is needed, you simply add it and it automatically gains all this functionality based on its form.

Essentially, OOP seems to want to start from the behaviors and have that define the data. When writing functionally I tend to define the data, then build behavior on top of it which is driven more by the form of the data than any idealized class hierarchy.

I'm not sure I'm explaining this terribly lucidly, but hopefully this can start a discussion among the more articulate posters.
A quick search of the United States with the artist filter off, shows 116 pages with 9 pictures each, so it seems to have about 1044 females. Not bad for starting out, if it catches on it can be a good business.Congrats! Great idea and amazing design.
I'm curious if they'll ever supplement machine learning data with structured data, e.g. something like dct:educationLevel expressed in rdfa.
I've since been able to flip over into developer mode (you have to toggle a physical switch to enable it). It gives you a proper shell (which allows you to install an SSH key) but beyond that there doesn't seem to be much else that you can do (it's not obvious to me how you would install a package or compile code).
Still waiting for mine. I knew I should have used John Resig as my alias!

Too bad about the terminal and *nix tools. I guess I'll have to use something like Cloud9 IDE to code. I'm really looking forward to the free 3g, though. That and the old black macbook feel.
Better yet - tunnel it underground.
SF start-up Skyara aims to be the Etsy, Airbnb, Meetup & Groupon of experiences
It would be awesome if they could integrate that with a translation feature, such that content in high reading level (perhaps dense with technical jargon, etc.) could be translated into a simpler, yet semantically correct version.
Very interesting. I've held off on showing HN my recent projects for a different reason: I'm just not that proud of them. Lately my projects have all been very quick, niche money-makers that almost leave me with a bad taste in my mouth - I'm working for myself but I'm still not really working for my self. None of the projects represent a non-trivial solution to a problem, none of them are a new fresh take on anything, they are all just plain old CRUD apps for very specific clientele (even the public facing ones). My challenge to myself in the new year will be to set aside some time to create something that excites me, and when I do I will happily show HN without a thought about "handing [my] idea on a silver platter to other capable would-be entrepreneurs to work on". Partly, it's because I like to think that this community is made up of people who respect intellectual property a great deal, but mostly it's because I don't give a damn if someone wants to compete with me. The fact is, we work in an industry with extremely low barriers to entry and I think it's a good thing. That's what the "only execution matters" folks mean - it means that to make it you need to be the best. It needs to be hard to compete with you.

There have been many times where I've jumped into direct competition with other sites (and I haven't been at this terribly long) because I thought I could do better. Sometimes it worked, sometimes it didn't. But I don't think it was wrong or unfair, and I don't think I was stealing any ideas.

It seems to me a lot of "Show HN" is a cheap excuse for claiming you've done your part to drive traffic to your site, even if that traffic is less than pertinent to your site's demographic.

That, I can get on board with. Show HN because you want critique, show HN because you want employees, show HN because you want l337 hax0r cred, but unless HN is your target market, please, for god's sake, find your target market and show them, too.
Would you hire somebody who can't compute 2+4? For the same reason you wouldn't hire somebody who can't reverse a linked list, even if the actual reversing of the linked list doesn't come up in the job.
Man, I really shouldn't be getting paid for this. Any idiot could [do X].

I definitely think that periodically about technical translation. Any idiot could read some text and type the exact same text. Then I remember that not everybody can read German, French, Spanish, Italian, and Hungarian, and still stay focused on being able to write readable English.
Awesome entertainment. It felt like watching a scene from a dark movie, à la Tarantino. I'm sorta ashame to say that I'm even tempted to give some of those advices a try (not the killing and blowjob parts), even though I know this is probably pure fiction.
Until you want to do something new that Cappuccino developers didn't think of... now your ecosystem has expanded by 1 to HTML + CSS + JS + IE6 + Cappuccino :)
This is actually a reasonably good search. It does highlight the clashes decently well.

I would like it if Google expanded this to allow you to prioritize. Prioritizing advanced reading level documents seems like it would be of value to me.

It's worth nothing that, yes, effective communication means that the document should be readable by anyone, but it doesn't seem that Google is tagging pompous, impenetrable documents as "advanced". For example, the [donkey] search comes up with "All About DONKEYS!" [1] as an "advanced" text. It doesn't seem to be difficult to read, it is just information-rich.

The search for [cheese], however, doesn't sort the wheat from the chaff like [donkey]. Gnome's Cheese project, for example, is classified as "Basic reading level", and so is filtered out from the "advanced" search.

[1] http://www.lovelongears.com/about_donkeys2.html
London Tuition Protest in Pictures
Take a 13″ Macbook Pro, replace the HD with an SSD, replace the DVD drive with more battery, add 3G. I would use that laptop until the end of time.

I just replaced the HD on my 13" Macbook with an SSD, but I haven't seen anything about replacing the DVD with a battery. I do have an external laptop battery with a home made magsafe connector and a portable 4G hotspot. I suspect that this setup is only going to last about a year or so longer, though.
Good to know, SSH keys are essential to a lot of people. Seems strange that the "normal" terminal doesn't support them, though...

Thanks for the write-up! I found it useful :)

edit: a thought: mind trying `compgen -abc` at the terminal? Idea came from: http://stackoverflow.com/questions/948008/linux-command-to-l...
From the screenshot of the form you got after solving the equation, it looks like you need to have a U.S. address to receive the Cr-48, and it would appears poor you're located in Paris/Luxembourg. You need someone to forward it on to you? ;)
First it was BASIC for me (Apple ][), then Turbo Pascal 3.00, 4.00, 5.00 for DOS and at that point I was writing a File Manager (like Norton Commander, but single page).

I got stuck due to missing move file (move(), RenameFile()) function in the Turbo Pascal Library. I was not familiar at that time with Interrupt List, or how I can call assemnly from Pascal (it was rather easy).

Someone also told me that all games and serious things were written in "C/C++". A friend of mine moved to "C" and he made his first mistake of putting all code in the header files (in Turbo Pascal, you only code in the .pas files, they become binary objects - called units .tpu).

So I spent a year just reading the "green C book" that was released in Bulgaria. After spending rereading, rereading, without touching (and no internet, not newsgroups, that was 1992 - only few people had modems, and my first experience with the internet was ... 1998 :)).

Then after switching to Borland C/C++ I felt a little more advanced than my other programming folks (we all went to a computer club in my city of Burgas).

But then, some things strike me - the executables were bigger, the compile time was bigger - more memory, but yet I was on the right language.

So I moved back to Pascal, and it was not until I started real job in a company that I moved to C/C++.

Borland (Inprise now, or whatever their name is) kind of lost it - Delphi was good - but nothing was better than TurboVision and the BGI libraries at their time.

Now, more than 10 years later - I can barely read Pascal code - and I use to write this extensively. I can't even remmember how you open files (and I did couple of small antivirus programs back in the day for DOS in it).
I'm glad I didn't upvote before I read that.
"Somebody should have stopped me before I voted on something I knew nothing about."

Yes: yourself. Is that really so hard?

I'd like to think that we can manage at least that much responsibility on our own without it being forced on us through technical restraints.
What would be more useful IMHO would be a way to flag spam on the New page without needing to hit the 'discuss' link first. Most spam is glaringly obvious, but discuss-flag-back/close is a 3 step operation. I don't think this will be a problem for actual content except for the occasional big news events where everyone races to post 20 links to the same story.
funny personal timing: i woke up to an email trying to recruit me for Goldman Sachs, then come here and see this story.
For the Best Chance of Getting Funded, Move Your Startup to Colorado
Ask HN: Why are there no tech startups in Australia?
I grew up in Aus - then went to the US for college and haven't really been back since (5ish years) until now - for a short holiday. I've been trying to sniff out a startup scene in Sydney and Melbourne and cannot find one. In fact there's a general dearth of creative ambition: why would you want to do anything other than be a Doctor, Lawyer or Banker is the attitude of the most ambitious people I've encountered...
Lets get bunch of rails into the low polar orbit. Once a 1000 or so is deployed, there will be an almost-instant (20 minutes) strike capability for any location on the earth. The good part is that kinetic energy of re-entering rail will be unmatched by any railgun.

On the serious note, they didn't specify the weight of the projectile, and this is quite important factor. Comparison of the energy delivered at the target range to the energy delivered by the conventional winged missile would be useful as well.

Blog of the guy who build portable supersonic railgun at home (in Russian): http://railgun.org.ua/
Check out his video page: http://railgun.org.ua/video/
Embedded is very challenging. But the tools don't change much through the years. With the web, stuff keeps a changin'- like minute by minute.
I have seen this argument before, and I still do not understand. If the leaks have no concrete consequences, if the public does not react, doesn't that teach governments that they have nothing to fear from exposure and that they may go ahead with business as usual?
>Helps to come up on Unix instead of DOS.

That can't be emphasized enough. I know my own understanding of how computers and computing work was strongly stunted by having been constrained to Windows for years. I've learned so much more using Linux and FOSS, especially the nix commandline, for a quarter of the time I've used Windows.

And of course that's the way it's supposed to be. Windows is specifically designed to abstract and hide the details so non-tech users don't have to figure it out. But for a tech-oriented person trying to grok it, that's just no good.
Anatomy of the Goodreads.com Friend Spam Dark Pattern
Sorry, it was a lot of text and I did not see that part. Yes, that puts it in perspective, though I guess my comment was mainly to indicate that I don't believe anyone would stick with that as the status quo moving forward, that this would just be the beginning.
Google Street View Captures One Of The Few Original GM Electric Cars Produced
I think the site is great!
One minor annoyance: the volume gets reset to about 75% when I close the player completely and re-open it (but not when I switch to a new album with the player still open). The problem with that is that it is too loud for my setup, and I end up having to lower it each time. It would be great if it could remember its last value.
I like the way the C++ FAQ explains the problems of "is a" inheritance, especially the examples of Circle-is-an-Ellipse.

http://www.parashift.com/c++-faq-lite/proper-inheritance.htm...
But if you look at the video, it's clear they're a long way from making any kind of agile turret out of this. It's HUGE.
http://www.w3.org/Protocols/rfc2616/rfc2616.html
we manufacture more now than ever before

I don't understand how you can expect this statement to carry your thesis in isolation.

Let's say you earn more money in your job than you ever have before.

Does that mean you're running "in the black"? No, because you might have also increased your expenditures out of proportion with your increase in income.

It's not enough to observe that manufacturing has increased, for imagine a country with ever-increasing manufacturing but declining exports of manufactured goods. Clearly it's possible for your observation to be true whilst not indicating a strong economy.

Again, I'm no economist, but I know enough to distrust one Pollyanna graph when I see one.
Web programming is hard but not necessarily intuitive. That's what I dislike about it. Its a heap of different technologies put together in unstructured fashion. This applies to individual technologies as well, take CSS and see how unintuitive a syntax it has.

Web programming is popular because it drives the web. I don't necessarily find it an intuitive programming experience. This way of thinking is the biggest obstacle ahead of the likes of me (hackers for pleasure) for business success, i.e. primarily focusing on what's interesting from an engineering perspective. This approach is sure to fail in business because people always care about the end result. Technology is just a tool to get there.

I guess part of the problem is when you study computer science or engineering in university, you try to learn the best engineering approaches out there and improve on your engineering skills. Then you face real life where the result matters. I cannot really say CSS or javascript is the best technology out there, but they play a crucial part driving the web.
I write the CRUD statements but only as I need them. For a lot of my tables I never intend on deleting records so a delete method never gets written.

If I need to do a SELECT on a specific field(s) then I write that statement. It's usually a 4 line function in a class that deals primarily with that table (but not necessarily as it may make sense in a different class).

I use static functions for that as well.

class User {
public static function getByEmail($email) {
return getDatabase()->one('SELECT * FROM user WHERE email=:email',
array(':email' => $email));
}
}

I don't typically end up with so many of those that it's unmanageable and writing it takes about 30 seconds.

That's my approach. What's your thought on that coming from the mindset that a lot of that is taken care of by the framework? I'm curious since that's not a mindset I've had yet.
Yes, this would be very challenging. Making games cross-platform is not the typical GUI app out there, and is not the sort of app I was thinking about on my blogpost.
Many of the languages I use already in an object oriented style use message passing/signatures not compiled in mandatory type hierarchies.

Python, Objective-C, Smalltalk and even C++ in some ways all do this.

I suggest if you feel like the OP does, you use one of them instead of java or C# or whatever that dude is using.
So what's your measure of Germany's economic health ?
And then run it across Wikipedia and add the subsequent results as edits/additions to http://simple.wikipedia.org/
Well known iPhone devs locked out of dev accounts
Edmodo's Business Model
yandex.ru(russia's google) offices for comparison http://englishrussia.com/index.php/2010/10/23/an-incredible-...
Indeed, duck typing and structural typing are what immediately came to mind as a solution for the brittleness of inheritance hierarchies that the OP describes.
You're probably right. I took 500ms for 1B iterations and saw that you're looking at ~0.25ns a call, and that seemed a bit low.
However, based on your code, you ran it 100M times, not 1B (1e8 vs 1e9). That changes it to 2.5ns per call. I ran the code on my machine (similar to yours, Macbook Pro 2.66ghz) with Clojure 1.2.0, and I got just over 2500ms for 1e8 iterations, which is about 12.5ns per call.

For comparison, looping 1e8 times with two calls to empty functions in a static language takes ~639ms, gives me ~3ns per call.
So, you can see why my first suspicion was that the JVM was doing something like just inlining the methods and avoiding the call altogether. Considering the differences in our reported numbers, you may have a newer JVM than me, and if it is beating simple CALL instructions, it must be inlining them or avoiding some of the looping.
Having participated in a few different DIY CNC/3D printer projects with various groups of people, I've concluded that the limiting factor at the moment is software. The machines are out there, but the tools for designing objects and generating g-code are all hacked together, poorly maintained, and don't exploit the full potential of the machine.

I think it's a cultural thing. Hardware people are not conscious about UX the way software people are and at the intersection, the hardware approach presently dominates. Legacy baggage is also a problem. CNC still uses data formats that pre-date computers.

Of course, maybe the best way to encourage more software is to get more machines out there, but my personal efforts are already going entirely into code.
An appeal from Peter Brown
Many Americans also appear to find the U.S. government's attacks on WikiLeaks puzzling.
I use voting as a way to mark a story to be read later, so I'm guilty of upvoting before reading. I don't think there should be a mechanism to require a click-through, but I think a way to save a story to a "to be read" later queue would be nice.

Otherwise, upvoting is the quick way that I mark an article with an interesting headline for reading. Most articles with a well-written headline do deserve the upvote.

Although I wish there was a way to revoke an upvote if the headline misrepresented the article... maybe I don't have enough karma to revoke an upvote?
I just went through this exact same process reading your comment. "Well, DSA was a couple years ago... I don't know if I could answer that right off the bat." "Come to think of it, how would I answer that?" "Oh, it's completely obvious."

Not that I expect to be in a position to make hiring decisions, but if someone can't answer that intuitively with a few moments' thought I know they're probably a couple of years' experience from being able to keep up with me.
Girls Dressed As Video Game Characters
I think you'll find the derivation for this usage is actually hacher (to chop or hack; hatchet comes from the same root borrowing), and means one who works in an inelegant manner (hacks away at a problem until it is solved). The British usage of bodger (outside of the realm of making greenwood chairs) would be more-or-less equivalent.
I love the way they (2600) make an attempt to disconnect themselves from the DDOS attacks in the first part of the letter, but then admit to hosting the material in dispute at the end of the letter. The web is so informative and nonsensical at the same time. Makes for great cinema...

Thank goodness for Open Source software though, or we'd never hear about any of this, because it would all be shut down even before anyone could notice. :P
Ah, that makes a big difference. Thanks for the correction.
This guys sells Groupon so well, he must be a great sales guy.
Writing a web crawler 5-6 years ago (in PHP no less) was what really turned me into a programmer ... Up to that point I had just been a html/css dude who would hack at PHP as needed, but kept trying to do more and more with it.

I learned so much about the interwebs ... http, urls (their construction), html markup and why things work the way they do ... learned about threading, using queues, and finally ... really grokked OOP.

Best of all I gained a newfound respect and understanding of Googlebot and web browsers in General ... dealing with people's crazy ass html code is not. easy.

If I ever teach a class on programming ... its something I'd love to have my students attempt as a semester long (background) project.

Good times.