skysight-inc/HackerNews huggingface dataset:
As someone who is trying to learn those sorts of things, thanks for the explanation.

In my experience in trying to learn this stuff, I have to say, I can't say the young people around me are trying to do the same. I think they're of the mindset where they just want to solve their problem, and whatever gets it done with the least hassle is 'good enough.' The truth of the matter is that they're generally right. Computing resources are so expansive that for a lot of problems are of small enough n, that people ignorant of data structures and algorithms get by just fine. Just using decent DS & algorithms will get people the speed boost they need most of the time in the higher level languages. If you're really in a pickle, you break into C.

When I was working as a web developer, I never saw someone other than myself actually get down to the C level. They just bought more machines and scaled that way. This stuff is fast becoming something of a lost art, but there will always be domains where it is necessary. I happen to think that's an interesting place, but the trend in development is well away from it in most other domains as it climbs up the abstraction ladder.

EDIT: I'll just add that I've seen the ignorance of these things (just at the algo level even) leave money on the table. I think people worship at the table of 'cycles are cheap' a bit too much sometimes and discount hardware and maintenance costs a little too readily. It's a balancing act.
The ribbon took a while to get used to when using Word 2007 for the first time. It involved a lot of Googling in finding most of the functionality that I wanted (I still do right now). I learned to appreciate the ribbon especially in reducing the number of clicks I need to do to accomplish the task, as opposed to having to dive into a bunch of menus (You could argue that I could have memorized the hotkeys, but my brain has only enough RAM to hold my Eclipse and Windows hotkeys =()
I am interested in starting a web business, and so could potentially apply to YC some day. However, I didn't know about this policy (used HN for ~4 months). I've read the rules for the site and most of pg's essays, so it's possible that I'm not the only one who didn't know this policy existed.

It's good to know though, I've just been reading my old comments, must try harder in future...
> So there's some nature vs nurture there.

Not necessarily. Particularly if there was a couple years between them, there might have been an element of, "I'd better study hard - I want to accomplish stuff, not just goof off like my brother". I've seen the reverse a couple times, where a younger sibling grows up in the shadow of an older sibling widely considered to be really smart, so they try to compete by being really artistic or something instead.
Tagged - Browse
Yep, Disqus can be added to a website by putting a Div that Disqus will fill from a piece of javascript.
OCaml is a well designed, well implemented language.

Unfortunately, it sits at an unstable point in language design space. If you like it because it's practical, there are other languages (C++ and Java) that are even more practical. If you like it because it's functional, there are other languages (Haskell, Erlang) that are even more functional. If you like it for being ML with objects, then you would probably like F# even better. And so forth.

The result is that there just aren't that many people who like Ocaml more than another language.
I'm sure his educational background is useful. His experience in running Novel and fighting Microsoft is most likely what helps most.

I've seen tech companies run by very smart PHD's and not run well. I'm not sure there's a correlation.
Trusting the broken behavior of a broken random-number generator is hardly the best approach to encrypting data. Anyone who writes a test that depends on the predictability of a random number generator is in for a huge disappointment when the data is to be decrypted.

Why not do it using a proper crypto library?
This contains some good points concerning development in dangerous areas: aviation, extreme sports, mountain climbing etc. In order to push the field forward, you have to do stuff where the risks are not known beforehand. So choosing to push in a given direction can cause great improvements in the entire field, or kill you. This is one of the reasons I will never try to become a world-class glider pilot.
And sometimes it feels like: "Hacker News - Go away", and I'm just fine with that, too. :)
How to get the best of social bookmarking sites
Submitting your story to social bookmarking sites willnot fetch you much until its rightly submitted. Here are the tips to get the best out of the social bookmarking sites. I hope the above 8 tips would help you to get most of the social bookmarking sites and would help you out in driving the traffic to your blog. To get the best social bookmarking sites which drives traffic – Visit my blog
I read this article as a series of thinly veiled reasons that should discourage people from open sourcing anything corporate.

Here is the abstract:

- it will take some effort to release an in house package to the community

- you may have to get approval from legal and that is no fun way to spend an afternoon

If that hasn't discouraged you from this path of folly then:

- you may have to do some cleanup work before a release

- If you should decide against all odds that 'Yes' you do want to release your in house code you must be a bit of 'arrogant', after all who are you to think that others will value your code.

Really, I find the tone of this article hard to stomach.

Not a single positive aspect of releasing your code as open source is high-lit, not even for contrast purposes.

Let's have some balance here:

Releasing corporate open source is great because:

- you will potentially have a lot more eyes looking through your source code, fixing bugs and cleaning things

- you may find that some of the contributions parallel your own in house needs effectively reducing your own development cost

- if you should decide you want to 'clean up' your code before releasing it you are likely to end up with better abstraction, in fact, you should probably have worked along those lines all the time.

- if you take from the open source community (the example is in house extensions to a framework) and you think there might be a general use case for that code then it won't cost you a lot to put it out there, not compared to the time you originally saved by basing your code on open source development in the first place. Take a lot, give back a little seems to be a pretty good deal.
It was two examples, one for 'test' data, one for the passwords example.

The first showed a series of cases that have been saved to check if code has been inadvertently broken.

The second example was about data stored in a database that depends on the functioning of the PRNG in a predictable way for its use.

Both examples are 'contrived', just theoretical situations to show you that it is possible to break stuff by changing the function of a piece of code that implements a language feature.

The general message was: if you can remain backwards compatible then that is probably a good thing because there are bound to be use cases for your code that you can't think of that will have huge consequences.

So I think the PHP team did the right thing here in making a better random number generator available besides the old one.

Legacy data and software is always a pain, as soon as you have an installed base of '1' you have a problem. Designers of languages break existing code at their peril.

That said, they should have probably implemented a better one right from day 1.
Backwards-compatibility should not be an issue here either. Is there any way to actually be dependent on the regularity of rand()?
Chris Hoff (almost) Takes Down the Internet
New technology closer to harnessing mind power
I think the single best thing you can do with wordpress is to run an SVN install. They're usually pretty good about tagging updates, so for example the update to 2.8.4 consisted of this:

svn sw http://svn.automattic.com/wordpress/tags/2.8.4

Which is about the acceptable level of hassle IMO. Much more and I'd be outta there.
You seem to think that other people are obliged to accept your premises and rules. You're wrong.

It's easy to distinguish knowledge from ditches. The question is whether and when distinguishing various aspects makes sense.

Your latest rant boils down to "here's a set of rules and definitions that leads to the conclusion that I like, so prove me wrong with them or I'll declare victory". Whatever floats your boat.

The fact remains you "have" Joe's knowledge because it was disclosed under certain terms. You seem to think that you're not bound by those terms. That's like agreeing to pay Sam the ditch digger over time and then stiffing him after a couple of payments.
Why not use another blogging platform then? It's not a Windows case of near-monopoly. There are plenty of blogging platforms. If WP is crap, why not switch to another one?
I talk about this in the last two paragraphs. You need more discipline in a startup, because you have to work on what other people need rather than what you want.
As far as I see these examples are all scandalous abuses of undocumented implementation details. While I can't be bothered to look up the actual documentation, I'm almost 100% sure that it's not guaranteed that PHP's rand() will always yield the same results for the same seed. But if it is, well, that would be a peculiar example of shortsighted language framework design.
'Computer science' is a blanket term for parts of mathematics, engineering, and physics. To the extent that computer science falls under the realm of physics (eg, information theory and its relationship to thermodynamics), yes, it is a real science.
There is an element of habit from an early age, but I would argue that it is not the biggest factor. We only fast for one month out of 12 a year, the habit is broken for the other 11. If it was fasting day in day out from a young age then yes habit would be a big influence.
That's what I love about WP. Joomla 1.6 (about to go into Beta) also has this feature as a built in component (which is also installable to Joomla 1.5.

When I read the article right at the first paragraph I was appalled. Quote: "...devote half your life to learning and understanding WordPress administration..." Really? Half your life to learn how to click ONE link? I don't get it, has the author here never even upgraded Wordpress?
Snow Leopard Ruby Development Environment Checklist/Gotchas
The Rise of SYDNI or YAGNI is Only About Problems, not Solutions
My personal opinion: no.

Ideas like this (voice control as well) have been floating around for years, but I think they mainly appeal to the 'sci-fi movie' version of the future, and are not things that will achieve mass traction.

Flailing around with gestures would get tiring very fast - you could keep it up for 10 minutes, but try it for a few hours and see how you feel.

Maybe you wouldn't need to make such big gestures, waving your arms around and so - maybe just small motions of your hands and fingers would work. OK, but you might as well have some kind of a rest for your hands. Congratulations, you've just invented the mouse.

Really, outside of specialised applications (handicapped peoplem etc) I don't see this one taking off.

Although I do think that there are better alternatives to the keyboard and mouse out there in the sample space of all possible input devices, my honest opinion is that his kind of thing isn't really that innovative. I think projects like Dasher give a better sense of future directions in this area.
> I'm almost 100% sure that it's not guaranteed that PHP's rand() will always yield the same results for the same seed.

That's the whole point of having a seed, isn't it ?

see the Periodicity entry:

http://en.wikipedia.org/wiki/Pseudorandom_number_generator

and

http://www.php.net/manual/en/function.srand.php

Does not make any mention of the behavior you cite, if you can't be bothered to look it up why bring it up in the first place ?
Now that is an amazing invention. The concept is so simple, but to make a catheter like that must have been such a difficult engineering job. I wonder how they get that wire all the way through blood vessels without puncturing anything. - Now that would be a good invention - a guide wire that automatically finds it way through blood vessels.
Bother - forgot that asterisks have a special meaning. Sorry about the formatting.
True - what we need is 500 years of experience of university knowledge available for free on some sort of free, static display, random access information retrieval system. Where anyone can sit down and just read the data directly.

Not sure what to call the volumes but you could store them in a modified tape library - without the tapes
Yeah, like I said, terrible idea for the pension funds to buy these. I should have been more specific- hedge funds are better off buying the raw policies.
The difference when using mt_rand is astonishing.

PHP 5.3 graph using rand: http://twitpic.com/gq81b

PHP 5.3 graph using mt_rand: http://twitpic.com/gq827
"Free software" is probably one of the worst terms they could have chosen, even if it's technically applicable. It is just far more common to think of "free" as "costs nothing". As a result, for decades, it seems any article on the subject must always have the same preamble reminding people what "free" really means.

There may be no term that is completely accurate (if there were, you wouldn't need the words of a license, I suppose). But these days, "GPL-compatible software" might be a reasonable replacement term; at least that doesn't imply anything about the cost.
I think when 3D printing takes off it will be the intellectual property where the money is at. Industrial infrastructure (ie. factories, logistics, etc) will become just another commodity like computing hardware is now. China will be the industrial giant no more if it continues to rely on its manufacturing industries and doesn't adapt.

What about when 3D printers are printing buildings, bridges and other structures? Wow that would be amazing.
Same way as any other skill, by pushing your limits until they expand.
Hosting Survey
A question to the community, do you host your small projects / personal sites yourself or do you use a hosting company, if the latter - who do you use? What kind of things draw you to a certain hosting company?
Joe
I've been very happy with dreamhost. Their control panel handles wordpress backups and upgrades seamlessly. I just backed up and upgraded three wp sites, it took less than 5 minutes.
How would one go about learning machine language for, say, x86? I already know a fair bit of assembly.
Yeah, me too.... He tries to make like an "entertainment" show. However, sometimes there are good insights.
Or just think of keyword searches in firefox. Or bookmarklets etc.
Here's a version that automatically DTRT for git, hg, and svn (hg last in implementation so my home doesn't override other repositories):
http://bitbucket.org/durin42/dotfiles/src/tip/.shell.d/50.vc...

Here's the code for the zsh prompt that uses it:
http://bitbucket.org/durin42/dotfiles/src/tip/.shell.d/99.pr...
Thats already the reason for China - injection moulding is very cheap (once you have made the mould) and commodotized.
It's assembling and packaging the parts that takes a lot of time/labor. It's the low labor cost of assembly that is the reason for China - a million 3d fab machines replacing a few injection moulders isn't going to change the time it takes to put the bits in boxes.
Zalewski's "Silence On The Wire" (which is totally fantastic in its own right) graphs a few PRNGs and discusses their issues.

http://www.amazon.com/exec/obidos/tg/detail/-/1593270461
Sometimes You Do Need It vs. You Ain't Gonna Need It. I suppose he is arguing Einstein's make it as simple as possible but no simpler. I look at YAGNI as a filter not a hard and fast design principle. When starting a non trivial project, I sketch out the design and requirements. Then I apply YAGNI to eliminate the cruft and those features that are nice to have but would delay the first release.
At the same time it's not random, meaning your brain knows very clearly from the get go that this is something that will be done 1) every year 2) for 30 days 3) based on moon sighting.

IMO this aids as opposed to random unpredictable nature where I pick up something, drop it then try to come back to it one day.

Additionally, I'd argue that every time I pray I am somewhat reaffirming my faith and thus fasting that is to come later in the year. Premise here that fasting becomes easy because your body is mentally prepared from years of programming and the constant reenforcing of my religious values when I'm not fasting. Remove those two elements(faith + practice) and fasting will be very difficult.
"Free" screencasts? Is anyone actually straight-facedly trying to charge for screencasts?
"You might have to cleanup your code," sounds like sufficient reason to release to open source. Your company will benefit even if no one else picks it up.
I use Dreamhost, cos all my stuff is non-mission-critical (that said, I think I've had maybe 2 long-term outages with them)
Hmmm - that's interesting. I think one of the best pieces of advice that I've read about being a manager is to treat each your employees as if they're volunteers. I realize that this is going a bit off the reservation now as far as our discussion goes, but it's something that I've been trying to strive for (often unsuccessfully) - but I think it's useful for building the type of culture that maximizes productivity (and, as an afterthought, is enjoyable to work in).

re: No Spec - yes, it's a position I sympathize with but at the same time, I don't believe any of these markets operate in a vacuum. Given the tensions in the spec market (or any service that seeks to be sold based on price/free), over time it seems almost inevitable that it attracts the bottom end of the market. It's the same reason why I try to make sure I don't underpay employees or service providers as the cost can be far greater in the long run if you do.

re: large amounts of data entry. Having had to do it at one time for a professor, though I was paid, being paid did make me feel as if I had an obligation to do it as right as possible without allowing bad data to fall through the cracks. I'd like to think I was better than that but frankly if I wasn't paid I suspect I would not nearly have been as careful. But that's the thing - sometimes you get what you pay for - and especially for the more menial tasks if you don't value the output that's fine but there was still a cost for the professor to manage the project and there was indeed value to the underlying data that he needed to be accurate. Indeed - often the cost of the overhead is a significant cost of the underlying wages - even more so I suspect for entry level positions.

Such is the case for managing volunteers or unpaid interns for which I don't really see too much of a differentiation. The way I see it is that unpaid work is essentially producing a sample of your work for sale. Sure you don't want to keep on doing it, but at least in a market these things tend to work themselves out. As for spec work (or any industry that provides free samples) - are also of the view that this should be made illegal?
There is a cost to managing any project. Presumably even if for PR, one wants the PR to result in a good impression of your company? So yes, lose a week or two, does that seem so bad at the individual level? It would probably end up costing the company even more in time to filter the work. It's also not frictionless to find new staff - whether paid or unpaid.
1 - dreamhost for blogs and random stuff to help out friends.

2 - dedicated server managed by a small hosting company in a solid IDC for my money focused projects. Since I bought the server 4 years ago, I'll stick with it until it dies. Then maybe rent from a linode or slicehost, etc...
I'm not entirely sure the author himself understands the difference between data and metadata. It has nothing to do with importance; rather metadata is "data about data". The author seems to think it's got something to do with a distinction between system and user data, which isn't the case. It's an important logical abstraction to make, as "data" is a noun, whereas metadata can be thought of as a collection of adjectives.

Now if you want to start discussing why "data about data" should be considered part of the data itself, that's an argument we can have... but that doesn't appear to be the goal of this article (at least if it is, he doesn't make much of an argument on that level).
I would think that this would be more useful for someone searching a large database. But first we need better ways to visualize the data, only then does it make sense to use gestures (or so I would think).

No ideas on how to do that either though...
I'd have to rely on zsh being available everywhere:

[rupert] ~$ uname -a
SunOS rupert 5.11 NexentaOS_20081207 i86pc i386 i86pc Solaris
[rupert] ~$ sudo apt-get install zsh
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package zsh is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package zsh has no installation candidate
I heard that an online casino used optical sensors and lava lamps to generate random numbers.
I've found http://pixlr.com/app/ to start faster that my Corel Paint Shop Pro and be more useful for quick touch ups etc. Only problem for me is the somewhat clunky interaction with my local files.
EDIT: so now I've actually read the article. The point about legal vetting is valid. Rather than having each piece of code approved, there should be a policy some thing like, improvements to existing open source are OK, general interest utilities are OK. Core business functionality or software with significant money making potential for your company need approval.
Call me crazy if you like, but I'd never use a webapp that has that feature. It just opens you up to more potential security problems. For example, it appears to operate over in-the-clear HTTP. Poisoning someone's DNS cache and then somehow triggering an "upgrade" = changing their software to whatever I want.

Also, "Note that your files all need to be owned by the user under which your Apache server executes, or you will receive a dialog box asking for "connection information," and you will find that no matter what you enter, it won't work." That's a security no-no if I've ever seen one.
You should check out Bloxsom.
Before we can auto-upgrade people we need to figure out how to do so in a way that's fool-proof. Can you imagine the outrage if everyone woke up one morning to broken sites because of an auto-applied update?
I think this idea of "unstable points in the design space" is quite insightful. Hmm. Have to think about this some more.
This advice is just silly. In other words throw out all of the advances of using php, python, ruby, etc. server side because software has bugs. Or rely on a centralized managed blog host that is also susceptible to bugs, except that when they are exploited there they can effect many more people at once.

My advice? If you host your own web apps at least take the responsibility to administer them. Wordpress has made huge improvements in their update process.

My upgrade process is this:
* dump a copy of the database
* disable plugins
* copy the current public_html directory to a backup (just in case)
* untar new release over the top of the old
* run /wp-admin/upgrade.php
* reenable plugins
"You are absolutely deluded, if not stupid, if you think that a worldwide collection of software engineers who can't write operating systems or applications without security holes, can then turn around and suddenly write virtualization layers without security holes." - Theo De Raadt

But yes, you are right for the most part. However, just throwing apps in VPS doesn't automatically solve your security issues.