skysight-inc/HackerNews huggingface dataset:
Well, there is a pretty big incentive. Who wouldn't want their SERP real estate to have more attractive, more valuable information? Seems like a new kind of SEO opportunity for companies and freelance developers.
How to Recruit a Developer Entrepreneur for Your Startup
If you are talking about the license I suppose your draft might well cover the ground. Is this a circumstance where a license is necessary - perhaps the customer is asking for one as otherwise they would not be able to re-use you copyrighted code without permission? Still it is important to assert and then retain the copyright if you want to use the code elsewhere - and fortunately that is so very simple to do.
HOWTO recover deleted files on an ext3 file system
It seems to me that for most corporate entry-level programming jobs, the knowledge of computer science required is really minimal. You probably won't be building any compilers or using assembly language.

There are exceptions, of course. Microsoft is infamous for being demanding of their new hires. You'll likely find that the more a company's core business is software, the more computer science skill they will demand of you. But there are lots and lots of companies hiring programmers who have core businesses other than software.

Which languages to be proficient in varies depending on the sort of work you are doing. Browse current job openings; for the ones you find interesting, look at what languages they are using, and then focus on those.

Contributing to some open-source software project is a good way to develop some practical skills. Two months of part-time effort isn't a lot, but perhaps better than nothing. If not that, then you yourself should learn how to use some sort of version management tool, like Subversion. Go through a tutorial, start storing your homework projects in it, etc. You won't get to see all of the ins and outs of version management using it alone, but it'll be a start.
Ask YC: Geolocation by IP Address API/Service?
Does anyone have any experience with good geolocation by ip address services (payfor or free) with solid APIs?
Carlyle Fund's Assets Seized
Your simple solution has a chicken and egg problem. Or at least according to the article linked to. The whole point of dressing fashionably is to get a girlfriend.
Expensive Hypervisors - a bad idea even if you can afford them
The World's Most Dangerous Geek
Defending the Problem
Of course, common sense says - do not cross borders carrying commercial secrets on your laptop and as for anything else - don't carry anything you would not like your mother to see.
Ask YC: I need a world-friendly bank
This is only tangentially hacker related, but this is the best place on the internet I can think of asking.

I need a bank that works well with international purchases, both virtual and real. I currently use Wells Fargo for my bank and while they're fine for my purchases around town, they are TERRIBLE any time I need to make a purchase outside of the US.

I regularly have to make purchases over the internet in the EU as well as China. Unfortunately, Wells Fargo locks my account more often than not when doing this. They are happy to 'unlock' my account and 'let' the transactions go through after that, but it's an enormous inconvenience.

The secondary problem is that this has extended to travels I've had as well, and frankly there is nothing worse than discovering your credit card doesn't work when you're in some town outside of Cairo and you've found the one place in miles that accepts plastic.

So, I need a bank that I can use locally and internationally, and will give me a minimum of hassle when I need to spend my money.

Any ideas?
Harvard Says Hacker Broke Into System
Thanks for the feedback tjr; especially so in regards to the 'version management' suggestion. I have felt that this is likely someplace I need additional knowledge and experience. I have accessed Subversion repositories, but in truth, have never maintained my own nor would I know what to do in a instance where it was actually required.

Learning version management is on the list to learn now :)

Thanks again,
-Matt
Electronic Arts in Vice City ready to carjack Take-Two's rides
I should say that /any/ framework is not intended for performance-critical code. A framework is designed to be an abstraction - abstractions implicitly remove you from what you're trying to do, causing a performance hit of some sort. If performance is your #1 priority then you should be writing everything from scratch.

Now if development time is a greater priority over performance then I think the choice is pretty obvious.
In search of the killer iPhone app
page one is here: http://www.businessweek.com/technology/content/mar2008/tc20080311_060174.htm
Yeah, but when you're not a product company, your UI is driven entirely by business requirements. I'd love to see if Google's internal apps (e.g. HR) are as clean as their homepage? I know that Gmail and Greader are not "simple" or "minimal".

Complex requirements -> complex UI.

That said, if your UI is intuitive, and matches the users' mental model of the requirements, those complex UIs can still be very usable (e.g. gmail).
Flash crowds, and similar doomsday scenario's were predicted during the mid-to-late 90's as well. Back then it was html, today it's you tube videos, and tomorrow it will be HD videos.

Most of this is taken care of by CDN's (Content delivery networks) so this is not as big of deal as its made out to be.
I don't believe this, at all. A JavaScript library abstracts away frustrating details that aren't related to the JavaScript language: like insane browser bugs.

Instead choosing a good library can give you free range to explore the advanced programming concepts in JavaScript, instead. jQuery, for example, is highly functional. It makes heavy use of lambdas and closures - even encouraging newbie programmers to use them.

If you want to get better at programming, through programming JavaScript, then a library is the only way that you'll be able to keep your sanity and make that a reality.
W3C's Semantic Web FAQ: http://www.w3.org/RDF/FAQ
No worries, a lot is lost in typed communication.
Of course there is: http://www.joelonsoftware.com/articles/FogCreekMBACurriculum...
The article would be more convincing if the "well dressed" examples were well dressed. Well, and also if it was well written. There has been no era in which a cheap white blazer over an olive drab t-shirt looked good.

Unfortunately, reading fashion magazines doesn't really improve a person's style unless you already look like a fashion model. San Francisco is filled with programmers who wear expensive, trendy gear and they don't look much better than the hacker slobs because it doesn't really suit their body shape or personality. In fact, they look like posers who spent $50 on a too-small t-shirt and $200 on sneakers that look like aerobic trainers from a B-movie about the future.

Simple, clean clothes that suit your body shape are a better bet. Most guys would be doing themselves a favor by donating their wardrobe to goodwill and spending a few hundred dollars buying some fresh basics.
I interviewed a bunch of Stanford CS students recently, and was amazed when I asked them about how much they had worked with databases. The answer I got back repeatedly was "I've used them in class." Not good enough.

One person, who had worked at Google, used a database there. "What kind of database was it?" I asked. "I don't know," was the answer, much to my horror.

Perhaps it's just me, but it seems like no matter which language you love most, or what you're doing, your data will need to be structured, and it will probably find its way into a database at some point in time. I don't care which database it is--just learn databases!

Then at least people like me can think about hiring you.
Apple patents reveal Apple TV DVR plan?
Ask HN: Does anyone know of am open source flash mp3 player?
I'm thinking of something like flowplayer, but for mp3s. I want to be able to stream mp3 files to a client in a browser. Has anyone used anything like this?
Ricardo Semler and agile/lean principles - (37signals)
I read this article yesterday. It's completely ridiculous.

If I understand correctly, the limiting factor that we're up against is the speed of light. Granted, not everyone has fiber-optic connections at home yet, but I'm pretty confident that the telcos will take advantage of the opportunity to upsell customers if and when it becomes necessary.
Learn to write concisely and clearly. (eg, don't use "feel" as a catchall for "believe", "think", "be", etc. Cut out useless and passive phrases: "Clearly", "where time and willingness permits".) Writing clearly is necessary for thinking clearly.

The reason your question has been asked & answered so many times is that it is too broad. Do you really think the people writing simulators at JPL have anything in common with a cubicle drone at a bank? Would Java help a games programmer, or a modeler at ILM? No -- no more than compiler design is relevant to a cubicle drone.

I suspect you have not yet found anything you love to do. Figure that out first and the rest becomes easier. I advise you (you, not everybody) to take a "money job" at a reasonably tech-oriented company and learn as much as you can. Do projects on the side, etc.
Here's my theory:

Standardization and openness do not benefit the dominant player (or players, in close competition) in a market.

Standardization and openness tend to benefit all players that are not dominant in a market, by comoditizing the market and forcing value based competition.

If the majority of a market is locked up by the dominant player(s), standardization tends to not happen.

If the majority of the market is not locked up by the dominant player(s), things tends towards standardization.

As it pertains to Yahoo they're still an internet powerhouse, but their markets are eroding at a pace that they are probably falling out of the dominant category into the leader-of-the-non-dominant-pack category. Yahoo does some stuff very well, and I suspect commoditization of parts of web-space would be in their favor. The question is if they'll be able to push hard enough fast enough to make some of this stuff catch on while people still care.
Federal Reserve sends out new $5 bills
Google is now a great place to go if you have a communications or marketing degree from a 2nd tier school. Every other woman I meet in the Bay Area is a Google account PM with a master's in marketing from some place like Maryland State university. I would say if you aren't an engineer google is AWESOME: free food, gym, haircuts, massage, shuttle buses, personal laptop, off-site retreats to disneyland every other month, etc. The other employment options for people in those positions usually resemble "the office." If you are an engineer you will be working 3 people to a cube on maintenance tools that maintain the tools for maintaining another tool.

I also turned down Google's offer. And as others have mentioned, various Google recruiters still send me email at least three times a month.
I wonder how much this has to do with how databases are taught to students.

While I started programming when I was 12, I didn't really do much with databases until I took a db class in college. Databases seemed boring to me, compared to nifty stuff like AI and Lisp.

The class only reinforced that notion. The textbook (and the class) focused mostly on some kinda funky little projects that didn't strike me as useful or fun to build. It wasn't until I started experimenting with web applications that I began to realize the power and intrigue of databases.

Databases truly are cool and powerful. But I don't think they look that way on the surface.
Much of the examples on Stroustrup's page qualify as systems code: http://www.research.att.com/~bs/applications.html.

A high profile, recent example is Google's MapReduce: http://labs.google.com/papers/mapreduce.html.
"For God's sake, don't try sorting a linked list during the interview."

Could someone explain that one to me? It's probably a sign I need to hit the books.
Sorry, I understand what you meant now.
Great! Even the greatest trading strategy, once made available to the very general public (FT readers), is worthless, because you can't make abnormal returns by doing what everyone is doing.

It's a good learning tool, though. Strategies like this have been "opensourced" by academia for decades.
Slicehost has a articles about configuring a server http://articles.slicehost.com/.

I use git, Rails and Capistrano. Git is nice because everybody has a copy of the repository and in case the server is down or you are offline you can still work.
When I was in Brazil, HSBC was everywhere. Huge international banks like them might be a good place to start looking!
Writing C++ code that's as functional as I think is reasonable; lots of recursive function objects operating on containers, but with mutable data.
The semantic web is going to require a heap of structured data where there isn't any right now.

That level of effort needs to be grassroots, but I don't see how it is going to be motivated.
I've used http://www.maxmind.com/
They have a free older database of IPs you can download (usually a month out of date - -but good enough for stuff I've needed)
Wireless neckband allows first voiceless phone call
I'll have to second not using an IDE; I use (g)vi(m) instead.

It forces me to understand each step of the development process, reduces the overhead of any machine I work on, and allows me to work on pretty much any server, anywhere, using just Putty/Terminal.

Interestingly, I also try to minimize the amount of customization I do, sticking instead with the defaults so I can easily work in new environments. I'm not sure if that's unconventional though.
I have found a few Canadian banks to be great internationally.

Specifically TD, CIBC and RBC.

I will be using a CIBC bank and credit card in asia leaving this weekedn, maybe I will use the iPhone app to post how it went.
Please correct link to point at page one of article
None of them are very good, at least partly because things are so aggregated through ISPs. For instance, ALL AOL users appear to be in Herndon (?), VA

However:

http://www.hostip.info/

is a free service that relies on its users putting their own data in. A wiki like mechanism, if you will.

http://www.geody.com/geoip.php

appears to work, but I'd worry about their TOS.

http://www.maxmind.com/app/locate_ip

is one that I used (at least in demo mode), and it is much better than most. But it isn't cheap.

There are more folks out there -- they end up being used by fraud-prevention outfits by filtering out IPs from places with known credit card abuse issues.
Akamai has an amazing one, but it's not cheap
HSBC is one of the banks I've been looking at, actually. They've started showing up quite a bit more in the states as well, so that's kind of useful.
I believe the free version doesn't go 'inside' ISPs' subnets like the pay version does. That's pretty limiting.
Depends. Quite often you just need the country and that's enough.
Maxmind has a free javascript one to detect cities and states...the cities are a little off but the state is always dead on.

I can provide it later if you'd like?
I'd recommend getting familiar with Windows, Mac, and UNIX/Linux environments. A lot more opportunities open up to you when you're competent in each of the Big Three operating systems; you don't have to be a guru, just be experienced enough to work comfortably in any of them.

It also gives you a chance to personally evaluate their strengths and weaknesses and to see the design tradeoffs.
I didn't know it was possible to bite without being angry... or maybe I don't quite grasp this idiom?
Silicon Valley Star Starts Up New Kind of Social Network
"The reason your question has been asked & answered so many times is that it is too broad. "

I believe this to be an inherent byproduct of the asker's current phase in their own personal development. When we ask, we are curious and unsure of where to go next. I know the question is broad, as too are the answers, but again, this comes from the fact that we are asking the 'seasoned' members of a community for insight - insight gained from experience that we simply do not yet have ourselves. Although I know there is no definitive 'ANSWER' for this question, I do believe there to be beneficial and constructive input on the topic that may still be made - hence, why I asked.

As to your suspicions pertaining to my lack of finding a passion in all of this, I think you may possibly be correct. Don't get me wrong; I love computers, languages, semantics and technology in general. One of my favorite pass-times when playing with a new language is to implement some of the algorithms and concepts from my advanced algorithm design and discrete mathematics classes - its just fun to me. Despite the entertainment found from doing exercises such as these, I have yet to find 'that special thing' that drives me to working until 3 a.m.

I think that (for me) you might be correct; I was discussing this very same "money job" topic with my wife before reading your response. It just seems logical, considering my current knowledge (or lack thereof), to find a tech oriented company to work from, hopefully encounter some mentor-types along the way and learn what to do from there.

Thanks aristus7,

-Matt
Depends what you want to do with the money. Personally, I set up a Dollars currency account just to host my AdSense cheques. Kindly, Google does not do electronic funds transfer to a currency account so I have to stick with long waits and delays.

With the Dollars not being exchanged, I'm building up a travel fund and not losing value (apart from US inflation). I go to the USA once in a while, and the earnings pay for pretty much everything I do there. World-wide, there are a few currencies pegged to the US$, so the money can be used for traveling to those countries too.

In short, you'll only have a problem if you want to use the earnings in Europe. Otherwise, you can be very creative with it.

A related note: I sometimes wish Paypal would let me link my US$ account to my Paypal account. That would make life so much easier.

Pierre
I agree with you. Databases seem boring. I've avoided database classes for exactly that reason, but there's no way to avoid databases themselves. Many applications have database requirements. I've started using ORMs a bit to avoid ugly SQL, but they don't actually simplify things much. They mostly just take care of some caching, transactions, and portability. You still need to understand what's happening below to use them effectively.

If you want to learn how to use databases, look into writing a program backed by SQLite. It's a great little database for desktop applications and it requires almost no setup to use, which is perfect for when you want to learn how to use a database but don't want to mess with actually getting one set up.
I'd say the old standby of "it depends."

There are a couple things that my college degree never taught me:

- source control. If you're going to be in the MSFT stack, learn how to use VSS. If you'll be in the LAMP stack, then learn svn. You don't have to know how to administer them, just how to use them on a day to day basis.

- databases. Learn to write queries (select, update, insert, join, create, alter, etc.). Learn SQL Server and mysql and oracle syntax (probably not in an out, but enough to know that there is a difference).

- use cases and UML. Large companies and consultant shops will tend to produce a lot of documents. If you know some UML and are able to make use case documents, then you'll be ahead of the game.

- build and deployment. Learn (n)ant, build, make, shell script, whatever. Be able to build a piece of software and deploy it. It amazes me how many pieces of software have no automated build or deploy scripts.

The question is how do you get this knowledge. It's too late now, but you should have tried to either get an internship or a job while you were in school. Now, I would pick something that you think would make a good project and actually build it. Not just start hacking, but think about the problem and really build it. If you are going to get a corporate or consulting job, this is what you'll have to do, so get used to it :)

Pick something you're reasonably knowledgeable about and that you think that you'd want to use or someone else would.

Here's a couple good ideas:
- student/employee/company directory application (I've written at least 3 employee directory apps for clients. If you could write a good one, this would be a definite way in to some places).
- movie/bar/store/music/concert review webapp
- twitter clone
- facebook clone
- cms tool (think lightweight cms)
- carpool creation site

All of these can be shelled out in a couple days with RoR/Django and would give you a HUGE confidence boost and would be a great addition to a portfolio. Of course, using a framework with obscure the sql details so maybe you'll want to do it in ASP.NET with C# (VB.NET is not what you want to know if you want to be "in demand") and then do it in RoR/Django to get a feel for one vs. the other. In fact, you could make a business out of them (if they didn't suck too bad!).

I would use them as a learning tool, writing some rudimentary use cases for what you want the app to do, diagramming a bit of your preliminary design (and it will change, it always does), building a db schema, running queries, writing code and integrating with a source control system. Treat it like a job too and dedicate at least 3-4 hours a day 5 days a week to it.

I think the biggest change for full time students that don't work to handle is going from 12-15 hours a week in school to 40+ hours a week at a job. At school you have 5 times more free time than you do at a job.
Checked it out and it seems like they took a (very) small subset of what emacs can do and re-implemented it.

In order:
Edit multiple documents: Multiple buffers with buffer menus, buffer-name completion, etc.
Syntax highlighting: See font-lock-mode
Multi-level undo/redo: See emacs undo. Emacs does lack in the redo area though...
Directory tree view window: See dired
Find and replacs: C-M-$ or if you like regular expressions, M-x query-replace-regexp
column mode editing: See rectangle manipulation commands in emacs.
Natural word wrapping: See auto-fill-mode
Spell checker: See flyspell-mode and flyspell-prog-mode which only spell shecks inside comments and program strings.
User tools and macros: See elisp: One of the most advanced programming languages, integrated right into the editor. Furthermore, comint can be used to call any other program and manipulate output.
Etc...: See emacs packages.

Etra: A complete programming language instead of the restricted macros in Crimson. Since elisp is turing complete, practically anything is doable, programs like GNUS, etc...

So... try emacs and see if you like it.
Very nice advice from Feynman. It is always something I also try to live by. If you enjoy working on something, then it's worthwhile. But for me, a lot of times this may mean working beyond my field, as my interests are varied. I also enjoy problems that cross the boundaries of different disciplines.
Being a webdeveloper I found everytime I open my browser with igoogle I would get sidetracked by some story.

For what it's worth, iGoogle has a link in the upper right that lets you toggle between the "Classic Home" and "iGoogle". You could use Classic Home mode to do any necessary Google searches quickly without having distracting news articles on the page (and without having to move the keyboard focus to a toolbar search box).
It's sort of a bootstrapping process. You build yourself the most basic girlfriend possible, and use her to compile one that's more complete.
How Google Earth Ate Our Town
There might be a real English speaking person who can be reached.
Shady.