skysight-inc/HackerNews huggingface dataset:
Programming is not like reading, it is more like solving puzzles.

Everybody can learn how to program at some level. But few really enjoy it and even fewer will feel satisfaction at squashing some obscure bug. It is closely related to having patience and to tinker with stuff.

I'd be more than happy to have the rest of the world program at some high level but I find it very hard to imagine a world where it is required to solve puzzles.

Just like you can't make the scientific method a requirement for life you can't do that with programming either. It works, and well, but not everybody will be able to even if you mandate it.

Compare it with mandating everybody to be able to play the violin tomorrow, and what effect that would have on the self-worth of the violinists today...
Ask HN: Do you use GnuPG?
Do you use GPG to encrypt or sign your stuff? E-mail, documents, or your entire hard drive (with TrueCrypt)?

I use 1Password and an encrypted disk image now and then, but haven't yet found a need to use GPG. Security precautions for me have revolved around making sure data is safe if my laptop gets stolen; I don't sign my e-mail or anything like that yet. These days we have things like FileVault and BitLocker for encryption... have you found a need to use GPG either in addition to or as a replacement for other security programs?
Ah, ok. Apologies then!
I tried to make an SVD algorithm run in parallel one time, but for the life of me I just couldn't figure out how to do it. Maybe I just needed a deeper understanding of the linear algebra.
We have a catch-all running on the domainthat routes all e-mail sent to unknown addresses to customer service.

We get e-mail sent to "no-reply" registration all the time. If we didn't do it, It's worth it not to have so many customers feel ignored the first time they try to contact us.
The grass is always greener on the other side of the continent.
I give it six months before he starts whining about how everyone in SF is a "douche" and fuck them because I'm the genius who wrote Lamson... whatever.
I think my girlfriend would disagree with you about the "great memory". In any case, patio11 said that the end goal was to make it possible to get work done better and faster, and I pointed out that, if that's the case, MS Windows failed -- because it really is an obstacle to getting work done better and faster. Whether it's an obstacle to getting work done at all for certain limited classes of people (even if they're numerous), how those classes of people differ meaningfully from others, and whether they're self-selecting doesn't change that, and is a separate argument (or perhaps several separate arguments).

> Compare hot keys and menus.

I agree with your entire point about hotkeys. On the other hand, compare systems that allow both (to any desired, configurable degree) with those that focus on menus (and other "user friendly" stuff) to the extent that good and/or configurable hotkey capabilities suffer (e.g., MS Windows or KDE 4).

> There are actually a lot of things you can do with Microsoft from the command prompt or power shell. Microsoft systems are quite flexible in this way, similar to *nix. You can do scripting and batch files and all that too. It's just not as popular to hack on microsoft like that.

It's also more of a pain in the fourth point of contact to do that kind of thing on MS Windows, though, and it really is recognizably less flexible than on Unix -- in part because so little of the software on a given system is reasonably scriptable in that manner.
How Web-Savvy Edupunks Are Transforming American Higher Education
I don't have any references for you, but my middle school and highschool required graphing calculators. And they very strongly pushed the ti-83+, claiming that students would be horribly lost if they couldn't follow along with the teacher's instructions. In reality the teachers were all incompetent with the calculators and the school wanted everyone to have an 83+ because that was the only platform on which the teachers knew the process for erasing the memory.
The PowerShell language is pretty good -- but it's a bit like "teats on a boarhound" in MS Windows.
I suppose it's quite hard to cross a border without some kind of ID.
But it does remove the need for a fake passport.
Shouldn't it be embarrassing for Dell to release a phone that looks like a poorly made iPhone? Have they no shame?
I haven't kept up with Python developments, but the fact that almost everything is a hash table (even stack frames for interpreted function calls, I believe) would seem to place a relatively low upper-bound on performance. And this is in addition to the usual overhead of a straightforward interpreter.
I just noticed a weird typo. s/other/open/
What is up with those crazy guys that took over Delicious at Yahoo!?

Not only do I not want Delicious to be a Tweetmeme clone, but the front page has a two column layout with an empty second column unless you switch away from the fresh tab... what?
As with the last post of Zed, it is in the front page because most people here know Zed and are probably interested in what he does. I suggest you to flag the link if you find it inappropriate, it is more effective.
echo $zeds_blog >> $hacker_news
Let's rename this site to Zed Shaw's Hacker News.
One problem (of many) is that there are so many laws that everyone probably breaks a few every day. Did you cross the street to talk to your neighbor? Jaywalking. $50 fine. So, a system of laws has been created that allows local governments to almost arbitrarily tax their citizens at will simply by choosing which laws to enforce.

I believe there are restrictions on the work that prisoners can be forced to do because there's a fine line between incarceration as punishment and enslavement. If the government has an incentive to incarcerate, it will seek to find ways to acquire more prisoners. I see this as a parallel to fine collection.

All of my comments in this thread are US-centric, obviously.
Even more worrying is that it's still at #2 even on news.ycombinator.com/classic which shows it's not just the new people messing it up... (though, conversely, that sorta legitimizes it being here)
Am I the only one who doesn't give a shit about Zed's migration?
It's also harder to blend in as a foreigner, and as an undocumented immigrant you'd have extra problems if you get into any trouble with the foreign authorities. In your home country you can blend in just by acting like everyone else.
That wasn't a snipe; it was genuine admiration, phrased with a touch of hyperbole. I've learned more from your history of hacks than from an average HN post.

A chronological CV would be great, though; to put all the anecdotes in an overarching framework.
What's changed since you submitted this a few weeks ago?

http://news.ycombinator.com/item?id=684017
The Android Opportunity
But isn't the end result the same? Joining an existing startup as an engineer is NOT financially beneficial. Just do the math:

An average post-series A startup has 10% chance of success and an average acquisition price is around $50M.

Now, when you're joining as an engineer how much do you get in equity? Much less than just 1%, yet you're losing a lot of potential earning power and, most importantly, you're investing 100% of your raw intellectual potential in it (good startups suck it all out of you). So... while at a startup you are: not working on your own projects, not making as much $$$ as you could have, and the payoff is what? 10% chance of making $50K in 3 years?
True.

And in particular, there are a few things I really like:

Hindley Milner-style type systems make life easier. You don't write out very many type annotations, but you get a type safety guarantee. People seem to underestimate just how strong this guarantee really is. It is equivalent to "Your program will not crash" for all intents and purposes. Similarly, I generally find that a program that passes type checking is about 7 trillion* times more likely to be functionally correct than a Java or C++ program that merely compiles.

(Specific to ML) The "Mostly functional" nature of SML means that you usually write pure functional programs. However, it's easy to drop down into something resembling a more imperative style of programming if you need to. I found this helped my learning curve a lot. I could write functional code as far as my limited experience would allow me, and then I could finish the program using my (considerably more extensive) imperative programming experience. I've found that I had done this less and less as I've become more experienced (to the point where I pretty much don't do it at all), but it was a nice option. Supplementary to this point, the presence of mutable arrays occasionally makes sense in terms of performance, and so these are available to you in the rare cases where it makes sense to use them. This certainly isn't knocking purely functional languages such as Haskell that use Monads to achieve much the same effect, I've just found that having a "mostly-functional" approach has suited my brain, and permitted me to write more efficient programs with less effort. Others would probably say exactly the opposite with regards to Haskell vs ML.

Pattern matching. Oh, how I love thee, especially when combined with recursive data types. I don't like to get sentimental about programming languages, but seriously, sometimes it is pure poetry.

Functors give you most of the nice properties of templates in C++ without the warts (at least with respect to the way I use each).

The performance of compiled OCaml and SML code is very similar to that of C++ by some benchmarks. In practice, I've found this to mean "plenty fast enough", even in scientific and numerical computing applications.

Polymorphism and higher-order functions make code re-use a practical reality, as in, you usually write things in a reusable way purely by accident rather than needing to think about how you will make things reusable.

Sorry, this is turning into a love letter, so I'll stop.

* May or may not be the exact figure. I mean "a lot".
MSNBC.com acquires EveryBlock
I don't know Zed, and I'm not interested in the minutiae of his life.

Ah, I see from Wikipedia, that he wrote a web server in Ruby. Wow.
Tweetmeme clone is exactly what it has become!
Users will reply to your "no-reply" e-mail, especially if it's a registration e-mail.

One way or another, it's worth trying to get these e-mails into your support channel.
He never said he was looking for an exit, he's looking to immerse himself in the culture.
Harder to visit your family from across the world.
What I want is an ex-girlfriend tracker that will tell me when she updates her Facebook photo so I can see what the new guy looks like.
Also at http://www.holovaty.com/writing/everyblock-acquisition/ with some more personal details from Adrian
hehe, I remember trying to convince my teacher for letting me use the nintendo DS on exams. You have to try, it's funny to see their faces.

Now you can use:
1.Nintendo DS. You can make or port(from linux) whatever you want in c, import Lapack libraries, use eigenmath homebrew for everything else.
2.Iphone.Good support for c too.
3. netbooks...
If you expand programming to its most basic definition, "customizing the behavior of a computer", then we are nearly there already. People can make computers do much of what they want (view TV shows, find interesting things to read, play music, write journals, buy things, etc.) without using an actual programming language.

Reading isn't as universal as you'd think. Arguably, the ability to read in one language is a different skill than reading in another, just as reading at a 1st grade level is different than being able to read the engineering manuals of the space shuttle. At some point, there are limitations to what a person can do, but within their limits they can do many great things. I think the same will remain true of computer use.
I think you're "almost" right. The world is not quite sequential - the world is composed of a vast quantity of concurrently running agents which communicate through a message passing system. Not unlike a many core system running sequential tasks and using a message passing system. Or a dataflow system where the data stream could be seen as messages being passed between concurrently executing operations.

You are right, though: we work and think in a very sequential manner. Once you introduce concurrency to any everyday life aspect, it becomes more difficult for us to grasp. Even cooking is difficult when you prepare multiple things at once and must remember the timing for each of these things and schedule your time or the work between multiple cooks.. with practice, its not so bad - programming is the same, it gets complicated when you stop using a sequential paradigm, but with practice other paradigms can become natural too.

It is also for this reason why I think the "ultimate language" (tm) would be a mixture between something like dataflow and sequential programming, offering the programmer the choice to use whichever style is most natural to the task at hand, without having to put much effort into splitting the program into components of either category. I have started to see languages moving that way, slowly, though I think it'll be another while still before they're usable enough to replace currently popular languages.
I'm reminded about something I read regarding human interaction in general: "It's not who has the most interesting to say that's most popular, it's who's the loudest."
It is very, very interesting to see someone in a position to essentially A/B test sales of the same app online and on the desktop. Thanks for the data.

I am a bit less surprised when I checked the site and noticed that you don't seem to have a subscription model, but rather a one time fee. Am I missing something, and if not--are your worried about the lifetime cost of a customer being higher than the one-time sale revenue?

I don't usually see webapps for a fixed fee, so I was curious.
Smartphones have already been outselling laptops for a while now. Not at all surprised to see PC manufacturers jump in.
> In windows, it looks like the state of an application's GUI is separate from the state of the rendering system.

It only looks that way because of the fact MS Windows Vista has two whole window managers integrated with the base OS itself, and it appears to run them both at the same time so that when one fails the other's there to pick up the slack. In fact, I'm not entirely sure Aero is a windowing system -- it may be an effects feature package layered on top of the one and only windowing system. If that's the case, the described behavior actually has nothing to do with applications being able to survive the crash of the windowing system, because that's not what actually happened.

Of course, this is all speculation (since I don't have access to the source code for the windowing system on Vista, for instance), but it's speculation based on what I've observed and what was claimed in this extended complaint about how X Windows on Ubuntu is too primitive.

> As for a rewrite, I'm not really sure how much of old XFree is still around.

Starting from XFree probably wouldn't do much good. The whole thing is a mess, from what I've seen, and needs "rearchitecting" (to buzzwordize the discussion). Then again, I'm not an X Window system expert, so maybe I'm missing something important.

> Things really are looking up for X, and I think your rewrite might actually be happening as we speak. It's just incremental, and with constant releases

As long as things get better rather than worse, I guess that's a good sign. I'm just not sure that the changes I've seen are indications that it's moving in a better direction; it kinda looks like it's just moving in a different direction, with some of the changes (but not all) being improvements.
Did you custom code that with the API?

I did a bit of searching but haven't come across a way to add a "save with delicious" type link that shows how many people already have.

Not from delicious nor from anyone else, except as part of one of those big "add a grid of 100 social networks in a big popup when someone clicks share" buttons.
I use GPG to sign the hashes on tarsnap source code tarballs -- without that, tarsnap users would have to trust that my SSL server was feeding them the right bits.

I also sign security advisories and patches while wearing my FreeBSD Security Officer hat.
Ask YC: having trouble making apps fast worldwide (in India now)
Technical question. I know how to make an app scale (use EC2, smart coding), I know how to make it fairly responsive (cache stuff, etc).<p>But I'm in India now and my sites are really quite slow. They're not slow when accessed from Europe/US. Google is not slow. My sites are though. Why is that? The server is not loaded. The database is not loaded.<p>And how can you make your apps fast worldwide? How do you measure it? What are the cheap ways of doing it?<p>Tnx!!
Everytime Backus's Turing award lecture comes up I feel obliged to point to Dijkstra's take on it: (http://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD692....) Reading both at once is just so much better.
Has anyone heard the price?
Alan Kay: "We're running on fumes technologically today."
For example, Facebook is damn crazy fast here in India. My sites just load reaaal slow (lots of seconds more than usual, the normal is like half a second). It's not just the slow connections here, it's not server load. It must be distance to the server. But how can I fix that, on a budget?
We won’t get great startups by always being nice
>Do we care? The non-materialists would argue that there's no possible way to simulate the brain completely, because of Teh Magic that surrounds it.

Right, so you are begging the question by assuming materialism in the first place. The simulation shows nothing if you do this -- it's a red herring, to disguise the fact that you are merely asserting your position without argument.

>Since a simulation of the brain is only tasked with correctly producing the mapping from inputs to the outputs that we can actually measure...

Again, isn't it obvious to you that you're begging the question here? If you irrationally deny that we can "measure" (i.e. establish) the existence of our own conscious experiences, and then refuse to incorporate any notion of experience into your simulation, you are clearly rigging the game in favor of materialism at the outset, not providing any argument for it. It is an interesting intellectual exercise, but it is not an argument for materialism.

>Well, the difference here is that the philosophical types are not clamoring for new physical effects to be considered or anything like that, they are suggesting that the whole notion that we should be able to observe something and test it in order to theorize about it is wrong.

Maybe some people are suggesting this, but you can certainly be opposed to materialism without believing this (I am, for example). It has to be said, though, that the idea that any straightforward notion of "observability" plays a role in science has been known to be highly problematic since the 20s, for basically the reasons that Quine and Duhem identified. It is in any case obvious that we can observe the existence of our own conscious experience more reliably than we can observe anything else, as Descartes pointed out.

>If anyone has any ideas about how to investigate something that you can't measure, test, or find any concrete evidence of other than people saying "Gee whiz, it sure feels like I experience something", I'd sure like to hear them.

I am observing my own conscious experience right now. We have as yet no hint of a physical explanation for why I should be having such an experience. These days, materialism seems to consist of a bunch of rhetorical tricks for denying this obvious fact (mostly centered on slandering opponents as "unscientific" because they are unwilling to jump through logical hoops to deny the obvious).
Samsung C3050 
Stylish and sleek compact modern size mobile phone with ergonomic grip. Samsung C3050's large 2 inch LCD offers a vivid viewing of the mobile’s contents. It has a built in Mp3 music player, Video, & FM radio for around the clock entertainment. It supports up to 8 GB microSD memory card.
Yeah, that sounds about right. There's apparently also something called "pre-registered card". So, no business idea here :)

EDIT: http://www.braintreepaymentsolutions.com/credit-card-storage...
Yea those big popups are annoying! The only good one is AddToAny.com, which looks at the user's history to only show the ones that the user has visited. :)

For the details of an individual bookmark, see the API http://delicious.com/help/api and look for this headline: https://api.del.icio.us/v1/posts/get?
Blending in isn't really an issue when you're on the other side of the world, hence the attraction. Documents can be easily obtained. And as long as you don't have to work or do business, you rarely have to deal with the authorities.

If the problem is money however, then that's a valid issue. Because all of the above cost significant amounts of money.
Scenic Ribbon UI framework to be backported to Vista
That's the first time I've ever run across something Compiz does that would actually be useful to me over a non-compositing window manager.
>Like I said, I believe the "problem" itself is ill-defined.

You keep saying that, but you neither specify which problem you are referring to, or in which respect you believe it to be ill-defined. So it's kind of hard to respond to a vague assertion of that sort. It's ironic that you of all people should be accusing philosophers of using language imprecisely.

>But I'll go a step further and say that I believe consciousness obeys the laws of physics as we currently understand them.

Again: what is your reason for believing this? It is not enough just to assert it. Also, you are forgetting the logical possibility that consciousness is compatible with the laws of current physics but not actually explained by them. (In the same way that, for example, the truth of the equation "2 + 2 = 4" is compatible with the truth of Newton's second law, but not explained by it because they are statements in different domains.)
Good engineers don't see problems or solutions, only trade-offs.
Stack frames in modern JIT VMs are just normal machine stack frames. When running in debugger mode, VisualWorks reifies the Object stack frames and runs the interpreter for that process as a program in the image. This way, you get speed for normal runtime, and access to everything as an object. This might seem like a bit of a stunt, but remember, the basic assumption for a JIT is that the JIT is a perfect simulation of bytecode interpretation. So if you have a valid JIT, you have a valid Debugger. This also means that anyone can extend the debugger, write tools based on it, or even write their own, as it's mostly an ordinary Smalltalk program.

Then again, there's a few bad side effects from this. You have to copy the Debugger and its infrastructure to debug anything used by the Debugger. So, for example, you can't debug ListViews in the debugger, because the debugger application uses them! (But copying that stuff, and renaming is not a big deal in Smalltalk. Plus, it makes you feel like an uber-hacker.)
I would discourage the use of amphetamines without a real mental need, they do have some very serious side effects. However I have found due to a combination of mental disorders - mostly depression related - I am unable to function without amphetamines during certain times of the month.

As an alternative to stronger amphetamines I have found provigil - http://en.wikipedia.org/wiki/Modafinil - to be a wonder drug. It doesn't stay in the body as long, yet gives you enough umph to get going on those real tough days.
Optimizing like this in python is clearly the wrong approach. Python will never be fast in the traditional sense.

The only optimization you should be worrying about is avoiding quadratic behaviour and such, which usually accounts for 99% of all inefficiencies.

If you really need speed, move the code to C and call it from python.