skysight-inc/HackerNews huggingface dataset:
Absolutely. And they're afraid to try and explore because:

a) they've been burned before, and broken something or lost data

These people need to be untaught that you can break computers, which is much harder. As is writing fault-tolerant software and humane interfaces.

b) mental models are abstractions, and there seem to be a large number of people who just don't cope with abstraction very well.

I'm hopeful that touch-based computing will help some of these people by eliminating a layer of abstraction from systems that already have too many.
I would be a bit worried by anyone who has not heard of Einstein.

But you make a great point, and I think the article missed it. It is not that we know more, we know more about our particular areas of expertise, just as others know more about their areas of expertise. My Dad knows a lot more about airplanes than I do, because he worked on them for a number of years.
WikiLeaks Exposes Insurgent Tech
Offer HN: free design work.
Inspired by http://news.ycombinator.com/item?id=1826828 I decided to see if HN would be open to the idea of a weekly "giveaway" for around 5 or so design hours [1]. And the idea seemed to go over well, so I've decided to do it.

The first one is today. Just comment with a link to your project/company. After around 24 hours I'll pick the post with the most upvotes and send them an email.

In return for the design hours, I'd love to write a blogpost with a before/after and about the overall process.

I think it'll be fun. :)

[1] - http://news.ycombinator.com/item?id=1827654
I've already completely removed gnome-panel in favor of just Gnome-Do and Docky. Don't see the appeal in Unity. Looks like my gnome-panel setup used to: skinny left bar with Talika window list plugin. I don't see the need to have panels to go all the way across a screen dimension anymore.
I think he makes a good case for himself in the article, though I wonder how much effort it really costs to maintain an already written port. However, he is quite mistaken about the possible side effects of Apple licensing the code under the GPL:

> The company would want nothing less than an absolutely forensic code analysis to ensure there are no loopholes, stray imports or links, or anything else that a creative FSF lawyer could use to claim that Mac OS X links against the GPL’ed OpenJDK and must therefore itself be GPL’ed.

That is not how the GPL works. The GPL doesn't apply to the copyright holder (owner) of the code. The GPL applies to all the people who get the code from the owner. The owner can do what every they want.
Definitely. Many professions have some kind of portfolio of previous work to demonstrate to a potential employer. Since it's common in the development field to not be able to show any source code you have written from a prior company, any kind of visible open source code you might have should definitely be on a software developer's resume.
I'm not up on this case at all. Any other thoughts as to Cuban's motives here?
This is a clever story that's on the funny side but has an insightful moral. Sometimes you have to take a step back in order to see the quick, simple solution is right in front of you.
I think that's one of the best things about the iPad that goes relatively unheralded. It's most of a computer, but nearly impossible for a user to accidentally get into an unusable state.

I bought my Dad (74) one this year, as his first "computer", and the first thing I told him was not to worry because he couldn't break it by doing the wrong thing. Now he's sending email and playing Words with Friends. It's been transformative for him, and I believe his acclimation has been made possible mostly by the software's resilience to mistakes.
Hmm, how do you get to the special characters on the iPhone?
If you don't overallocate the vector then push_back() runs in linear time instead of amortized constant which is generally a worse tradeoff. You can avoid the whole issue by calling reserve() ahead of time, but if you don't know how many elements you're going to have then you're in trouble, but you won't be able to do much better by replacing vector with your own array either.
Yep. At the last D.C. meetup, a bunch of us HNers heard an environmental engineer express her fear of programming because she has always been "bad with languages", and couldn't master Spanish or German.

I really wish I called them "notations", instead I said they were "formalisms, just like in mathematics" .. and somehow I don't think she thought that conveyed neither simplicity nor ease of learning.
I'm a senior CS undergrad at UCSC.

C is used often here in upper divisions for Algorithms, Compilers, and Operating Systems at the very least. I suspect it's used anywhere that theory is deemed very important, because it forces you to understand the theory.

Personally, I don't like coding in it, though I think it's very important to learn in it - it forces you to learn how to do many things at the level of memory management. Learning how to make linked lists in C taught me a lot, for example, and ensuring that my program had no memory leaks also taught me a lot.

On the other hand, this is 2010 and there are programming languages that do memory management for you. Managing memory when you're doing relatively abstract stuff (in most cases) isn't fun OR elegant - it's just tedious. jdietrich talks about this some in another contemporary thread: http://news.ycombinator.com/item?id=1830120

Therefore, I prefer Python - I don't want to program embedded systems.

--

Right now, I'm of the opinion that I ought to be language agnostic. However, I'm also of the opinion that I should know at least two programming languages very well:

I should know one high level language to Get Stuff Done quickly without worrying about tedious stuff like memory management - in these cases, performance is a secondary concern; modern computers are very powerful, and it's much more cost effective to simply write it quickly. Compilers are much better than I am at optimization, and they can do a lot, so why not leave it to them? For this, I've selected Python; I'm working on getting familiar with its many libraries.

I should also know one low-level language for things where performance is critically important, and it's worthwhile to take the extra time to calculate things like that. For this, I'm currently using C, but I plan on switching to Lisp.
Well to answer your question more directly, I'm 100% sure there are plenty of people who would enjoy you documenting it. Even if I didn't use it, I'd read it. Never underestimate our geekiness! I'm sure I'm not the only one who surfs Wikipedia several hours a day learning the most random shit.
My friend, I am going to have to let you go on this one. That's another, fine debate that has carried on since the invention of the first compiler, and continues today with people firmly on both sides of the fence.

I personally think that an abstraction is useful when it helps me to focus on the essentials of completing a task and allows me to ignore the irrelevant, but allowing me to ignore it today doesn't mean I need never understand it.

As an example, I was the development manager for a tool called JProbe. One of its fine tools was useful for identifying memory leaks in Java programs. We had a devil of a time explaining to people what a memory leak was and how a Java program could have a memory leak despite not having any of those complicated pointer thingummies.

To a great extend, Java's memory manager provided value by allowing a programmer to think about other things most of the time. You be the judge of whether Java programmers ought to know how memory works and what a reference is, and the difference between a strong and a weak reference, and how it is that a program with no pointers can have a memory leak.
Bad choice of name. X10 is a system for modulating mains electricity supply in order to send signals, for example to switch lights on or off. A simple Google search would have told them this. It's probably not a good idea to name your new language in such a way that it can be easily confused with other kinds of technology.
how in the world do you come up with those names? what was their appeal to you?
I have above average intelligence, compared to me most people ARE dumb.

Said in jest, obviously....

In all seriousness, this is a very common issue for "isolated" developers and designers. We all work in our little cubicles building what makes sense to us. We never think that we are our own most knowledgeable users. A feature that is obvious to us is most likely obvious because we put it there.

It's also why in any company, the people making the product (whatever it is) should spend some time on the front line dealing with customers. Even better, they should WATCH people use the product they built.
This is exactly what I was thinking about earlier. But you need to require less of people, at the moment I need to actually download, install and fiddle with it to know what it does and how well. Give me screenshots, show me features. Can I test an entirely new theme with it or just widget placement? Can I set up a series of timed tests so I can test out 10 new themes over 20 weeks? How easy is it to create, etc etc. These questions can be answered right on the homepage, why force users to do anything else before answering them?
Maybe the SEC should counter by saying that they will take his money to make their entire operation faster -- his case will be processed faster, along with everyone elses!
Ditto for my stepdad, electrical engineer, holds more patents than I own books, and has put something on fucking Mars.

Still can't get his webcam to work, and keeps every document on his desktop.

It's just a matter of different knowledge domains. If you tossed me into the woods with experienced naturalists, they'd probably laugh every time I wiped with poison oak, too.
You have just summarised the XKCD tech support cheat sheet:

http://xkcd.com/627/

I think the reason for this is that computers are too easy to stuff up. You see this when you go to fix someones computer, and you have no idea how they got it into that state. They can not describe how they did it.

This is why so many people love the iPad, you can not screw it up (at least, it is a lot harder).
hopefully the pot gets pretty dirty. :)
I've found a fairly useful analogy that helps most tech people. If you're into cars and the analogy doesn't work, just think of something you need to know about at some point, but probably don't know much about at all.

Mostly this helps when a customer feels guilty about needing help, or someone in IT thinks "me > all" because they can enter a command line. I think of my role like this:

Your average non-tech person probably feels about their computer the same way I feel about my car. I know nothing about cars. Usually I get my oil changed, but only because I have a repeating 3 month appointment based on 10 years of not getting it changed regularly. Bt even then, I sometimes forget. I now know I need to check tire pressure, but the place I buy my tires does that for me when I check in every two months. I know NOTHING about cars.

The reality is, your average person is no more stupid for not knowing "technology" than you are for not knowing automobiles, or how an airplane works, or the nuances of ASEAN trade relations. You've specialized, even if it doesn't feel like a specialization because YOU see technology all around you. Guess what: someone specializing in US/China trade relations sees the impact of RMB undervaluation all around, too. And a nutritionist sees daily health decisions all around. And so on.

So don't laugh because someone clicked a link to a pop-up ad when they thought they were closing the ad. Instead, help them fix their problem and, if appropriate, give them a pointer or two so they don't make the same mistake again. And absolutely have the patience with your customers that you'd want someone else to have with you, in your area of weakness. And if you don't think you have a weakness--if you think you're infinitely adaptable--I hope people around you have god-like patience, because you're probably wrong.

But regardless, don't get superior: our skills are valuable, but so are other ones. The sooner you learn that, the better off you'll be.
Honestly I think this change in 4.2 for the iPad makes sense. Not only for consistency sake, but I think more people will want to quickly mute audio rather than have to do it in software.
http://itunes.apple.com/us/app/park-in-the-shade/id391296993...

It's a simple fun iphone app.
I have no reason to believe your dad is dumb, and I'm not someone who thinks you're dumb if you're not computer savvy (such as your Dad).

That said, I've known and employed electricians whom I would call dumb, despite the fact that they can do their jobs. I'm not having a go at electricians, I can't do what they do, and I'm certainly not trying to make any point along the lines of "electricians are dumb except when it comes to their own area". Hell, I've known more intelligent electricians than dumb ones.

What I am saying, though, is that I don't think "dealing with megawatts of electricity" proves that someone is/isn't dumb. (And again, that's not me saying you're wrong in saying your dad isn't dumb.)
I've had similar problems before, where a focus on fixing things was derided because it wasn't "Friendly". I've actually noticed a correlation between how much people value superficial interactions, and how valuable that person is compared to others in their field.

That is, if a manager is more concerned with "Hi, how are you"'s then "The server is literally on fire, I need to get into the server room to put it out", they are much more likely to be incompetant then the average manager, and know it, which is why they're trying to buff their 'soft' skills.

This only applies to superficial reactions, not stuff like "When you attack people as your opening sentence, it makes them defensive" style stuff. If it actually matters, it's not what I'm talking about.
It depends on how good your code is ;)
Any contributions to Open Source Projects, your own projects that you've released, and notable contributions should be shared. Similar to how a designer has a portfolio. If you have a tech-related blog you might want to include that as well (but not your personal ranting and raving blog about how sad you are and that your kitty is ignoring you again.) That's just creepy.
Heroku is awesome, but one of the drawbacks (to my knowledge) is that you can't set up nginx redirects. So with that setup each user incurs an extra rails request once per session.
For sure, I did : www.metalcat.net

Even though I've just opened an account and there is nothing on there yet, though I link to all things that are me
I wouldn't call myself an expert on vertex buffers, but IIRC the OpenGL API to load data into a buffer just takes a pointer to the data and a size, so requires that your data is contiguous in memory beforehand - so deque may not have been an option.
> That would have left me with mod_perl, but looking at where we are today, that would have been an even worse decision it seems.

What would have been so bad with mod_perl?

According to its documentation, this appears to be the most advanced language module for Apache, providing integration of Perl at all levels: http://perl.apache.org/docs/2.0/user/config/config.html

Also, Perl has a huge standard library. So what's the issue with Perl, compared to PHP?
Credibility, for one...

Personally, I find it hard to take someone seriously if they have problems with basic spelling or grammar.

This is definitely a cognitive bias I possess. However, it has served as a very good heuristic, so I haven't worked on getting rid of this bias. I suspect many other people possess this cognitive bias.
I think "Accepting blame for their mistakes and tries to learn from them" is the connsumate core of professionality. I've also further noticed that it really is a poor craftsman who always blames their tools.
How Long Does a Flash Drive Last?
Hold down a letter and an extended menu pops up.
Great writeup! Couple questions:

- I'm curious why querying before a write makes such a big difference. I would have guessed that updating a document that's not in RAM would first load it into RAM, then perform the update. Does the write get applied to disk without loading the page into RAM first? If you do an update to a document that is not in RAM, is it in RAM following the update?

- Can you elaborate on the corruption that occurred to both the master & the slave during a DAS failure? We have seen something similar in our deployment (high write volume leading to corruption in both master & slave. required repair to recover. ran on a partially functioning slave during the repair), but were unable to identify the root cause.
Dollars are the ultimate fungible good, and he didn't obtain all of his money from this alleged offense, so as long (total_net_worth - alleged_offense_gains) > expeditionary_payment, I don't see how this would be an issue.
Not too shabby. Was pretty trivial to do with Safari's developer tools, actually.

I submitted this as my resume: http://www.russellheimlich.com/blog/wp-content/uploads/2007/...
This is phenomenal. Makes the application process way more interesting. Hope your quality of applicants goes through the roof.
This isn't at all what I'm finding in the job market, although I'm in the UK not in the US. From here both recruitment agents and employers themselves have indicated that they're getting many applications for each role advertised.
> comparison to languages like English and Japanese That was my point.

Just like a speaking language, you can only learn them by practicing them.

Just like a speaking language, the pedagogy has to be geared towards forcing yourself in awkward situations or problems to master the language rather than lecture.

Just like a speaking language, they have different version dialects or syntax that change over time. This is a collaborative process.

Just like different speaking languages, programming languages some differences in grammar rules as well as similarities. As learning Latin will help you learn other Romance languages, learning C helps you learn C++ and C#.

Just like speaking languages, programming languages are developed to facilitate communication. Between programmer<->programmer and programmer<->computer. They are the vocabulary for defining situations.

Just like speaking languages, programming languages influence how we think when using other languages and leave us with accents.

Just like linguistics, there is an underlying core set of operations in computer science that languages are built over as an abstraction. The languages themselves are abitrary inventions and not derivable, mathematics seems a particularly bad analogy.
I don't argue that punctuality is unimportant, but I think it's lauded as a virtue far more often then it deserves. It's only a virtue if being late has a negative impact beyond "The department looks empty and the boss' boss judges".

Being late to a scheduled meeting is unprofessional. Turning up at 9 instead of 8 because there's really no impact if you do so? Not unprofessional. Expecting someone to turn up at 8 because "I said so"? TOTALLY unprofessional, and a jerky thing to do.
People bring up the Google stat, but you have to remember they have incredible engineering resources so they probably optimize in many features every day without adding additional machines. That doesn't mean every dude with a LAMP stack out there can turn on SSL and expect the same performance, just that it's possible with mongo manpower and talent to make it work. (Google doesn't even release the details of their web stack so comparing their stat is apples and oranges.)
The ammount of paperwork is astounding. Make simpler, better rules instead of just more regulations!
Unity is just a window manager - not a new toolkit (you still use GTK, Qt or whatever else).

But you're right to think web technologies could work elsewhere. Gnome Shell is being developed in JavaScript amd CSS. See also the Palm Pre.

http://live.gnome.org/GnomeShell
So then, build your own supercomputer for making rainbow tables?

I fail to see how you liking the author affects him in any way. He made some rainbow tables. Click to download. Or don't.
Let's be straight: Jono Bacon, while a nice guy, is employed by Canonical. That does give him the insider credibility, but he's also obviously "we're the nice guys" biased. He's the "Ubuntu Community Manager" (last I checked that was the title?) after all and his job is to promote the use of Ubuntu and to keep the community alive and favorable.

Let's bring Dave Neary[1] to the table for readers that might want to understand why the title of the article _might_ (you judge - but probably only time will tell) be perfectly valid. I'd suggest reading both links to understand the corporate message and statement of intention on the one side and a (note: Not _the_, obviously there's not a single Gnome hive mind) representative opinion for the disappointment about these latest decisions on the other side.

1: http://blogs.gnome.org/bolsh/2010/10/25/ubuntu-to-move-to-un...
I just completed it, it shouldn't take more than 15 minutes or so. There's no real hacking involved, it's mostly just using a tool like firebug.
>> Maybe someone who has developed a FF extension can lay my worries to rest -- could this have, say, a built in key logger which sends that data to the author?

If it could sniff packets on network interfaces why couldn't it send data to a website? ;)

This kind of FF plugin requires extensive C++ coding. But even simple plugins that are only JS could easily send your username and password (if entered within them) to any web server.
"...there are thousands of kids from these terrible situations, (many of whom I work with weekly), who do not deal drugs, who stay in school, who pursue scholarship, who do not idolize Jay-z..."

My argument stems from my assumption that there are also thousands of kids from terrible situations, who don't deal drugs, who stay in school, and do idolize Jay-Z.

If I'm wrong in the above assumption, then you're entirely right; my argument has no ground. Perhaps my optimism is blinding. If my assumption is correct, then is it not safe to say that there are other more compelling forces than Jay-Z leading youth into drugs or crime? The italicized is the point that I am trying to make entirely.

I don't think we're disagreeing on facts here. By situational empathy I'm not suggesting Jay-Z has no other choices. It's just my personal opinion that I would rather be inspired by Jay-Z's ambition to overcome such an unfortunate situation, rather than to condemn him for his past.
On the other hand, I sometimes wonder if I see dumb when all I talk about is my little startups and whatever jazz I'm into today.
99th percentile?
I'd say HN audience is in 99.9 percentile of the world when it comes to computer knowledge.
(0.1% of the world is still 6.6 million people).
I'm interested in seeing applications that submit themselves :)
GM-NASA Robotic Astronaut Undertakes First Space Mission
IORef is exactly equivalent to any other mutable variable.

If you want to write C in Haskell:

import Foreign
foo = mallocBytes 42 $ \p -> do
whatever <- peek p
poke p $ f whatever
...
Automatic Halloween Candy Dispenser (Arduino, X10, Twilio)
ours was about 2K. although, they overbilled us at nearly 3K so make sure you get estimates in writing.
I'm building an HTML5 Video Player. I would be interested in a nice and custom carcass for it. (That is the buttons, progress bar, volume...)