skysight-inc/HackerNews huggingface dataset:
> Larger libraries save time, but they make the programmer's job more "searching for the right function" rather than "writing functions."

Yes, and: trying to figure out what the documentation means, etc.

Libary documentation tends to be not very good, and libraries themselves are not designed to be easy to learn. I'll illustrate this using Python's SimpleXMLRPCServer, not because it's particularly bad, but because I've been using it recently (It's at http://docs.python.org/library/simplexmlrpcserver.html )

1. Naming conventions.

The name of the module is SimpleXMLRPCServer not simplexmlrpcserver; most Python modules use the convention of the module name being in a lowercase, but this one differs -- Python should standardise.

Similarly the name of the class is SimpleXMLRPCServer, beginning with a capital -- but some python classes don't begin with a capital.

Similarly the naming conventions of methods and parameters should be standardised -- either use underline_separated or camelCase but choose one and stick to it. It's just irritating if there's a parameter called logRequests, and another called allow_none.

2. Documentation not complete

To quote the documentation: "If logRequests is true (the default), requests will be logged; setting this parameter to false will turn off logging."

Er, where are they logged? It doesn't say. Sure, I could read the fucking code and work it out but I SHOULDN'T HAVE TO. It probably puts it in a file somewhere, but for all the doumcnetation says it could build a factory of nanomachines on the surface of the moon and write the log file there in big 6 meter high letters.

3. interface of library too complicated

A library should be a black box that can be potentially big, exposing a small interface to the outside world. That way, by learning a small, simple interface, you get access to lots of functionality.

It's quite simple to register a function with the xmlrpc server:

def myFunction(aString):
return "x" + aString = "x"

server = SimpleXMLRPCServer(("localhost", 8000))
server.register_function(myFunction, "myFunction")

This is fine, and you can omit the 2nd argument to register_function() if you wish; also fine.

But there also a way of registering as functions all (or some) of the methods of an instance of a class, using the call register_instance(). This is more compex than it needs to be and figurung out how to use this function is impossible (for me at least) without extensive examples. However, this function is superfluous -- if I want to expose all the methods of an object as remotely-callable procedures, I can do it myself by making iterated calls to register_function().
I built a job listing site http://job2you.cn (in Chinese) days ago, I plan to charge RMB 1000 per job post in the future when possible.
Do you speak more than one language? The people I know who do, are usually very clear that they find themselves thinking in one or another language.
"I found writing to pay too little for too much effort".

What did you write and how much money (order of magnitude would do) did you make? I am thinking of taking up writing full time. Thanks in advance,
I'm more interested in why people insist on GUI Emacs.

Way back when I decided to first try out Linux (and then ended up using it for most of this millennium before taking a job which provided me with a Mac laptop), it took me a bit to get accustomed to doing most things from a terminal window (and I was fortunate in that the all-singing, all-dancing GUI automation stuff of modern Linux distros didn't exist yet), but once I was comfortable with it I couldn't imagine going back to anything else.

But then I also laughed when I saw the fad for "full-screen" text editing on the Mac a while back; when I want to hack or write I don't have to tune out, say, IRC or email because Emacs is running in one window of my screen session and IRC and email are running in others where I don't see them unless I'm actually using them :)
A percentage of Google traffic is stripped of identifying information. Why?
A programmer's dilemma II
That could be, but if everybody always stuck with what the current scientific dogma is, we would still think the earth were flat.
Startup Dinner / News.YC Meetup Berlin, December 10 (Wednesday)
We've done a few startup dinners at my place in the past, but this time I'm going to extend the invitation out a little further.

If you'd like to come by we'll be it'll be at Kiefholzstr. 9 (near Görlizer Park) at 20:00 on Wednesday, December 10.

Drop me a line via email or Twitter (both in my profile) if you're interested in coming by so that we'll know how much food / beer to sort out. There's a projector and wifi there if people feel moved to demo stuff.

If this catches on and we eventually outgrow my living room, we'll start doing the dinners on a more predictable schedule. :-)
"I had to learn the "complexities" of my environment, that the author bemoans, such as browser bugs"

And you're happy with it?
Hazoo fzeem! Wallenmacher bibble zark zark wachoon gra faZAMble!
"Simple things should be simple and complex things should be possible"

"Simple things should be simple" is the author's point. I agree.
Watch Rab Ne Bana Di Jodi Movie
Aditya Chopra directed by new movie Rab Ne Bana Di Jodi., "Rab Ne Bana Di Jodi" starring Shah Rukh Khan, will remind audiences of the magic touch that has made "Dilwale Dulhania Le Jayenge" the longest running motion picture in Indian cinema history. Indeed the jodi of Adi and SRK will once again be a treat for film audiences and the romantic confection of "Rab Ne Bana Di Jodi" looks set to capture hearts across the globe all over again.
Stop smoking with CigArrest...Guaranteed
Learn about natural remedies that may help people quit smoking, including herbs, supplements, alternative therapies, and much more.
Obama Sports White Earbuds, Doesn't Rock Zune
There's no such thing as lazy money.
wow, I'm exhausted after watching that. good video.
List of "Ask HN" posts?
Does anybody know where there's a list of "Ask HN" posts? I've seen it posted before on the site but my Google fu is weak.
That's a pessimistic and limiting attitude, sir. Software is a great business because it's easy to copy; analogously, so is the web because of its scale. Most of the work goes into developing, setting up the system. The rest of the work goes into watching and maintaining it while you either build the next thing or sit on a beach. If the latter can be monetized, that's arguably a valid way of generating passive income.
Nokia N80 No Lcd Display Problem
display, lcd, n80, n80 display problem, n80 lcd problem, n80 lcd ways, n80 no display, n80 white display, Nokia, nokia n80, problem, screen, white
I find View > Show Path better.
From his linked-in profile: "... recently aquiring permanent residence from the German Bureau ..."

Things must be going really bad in America.
Not a linguist, but I took some classes ;)

I think the Sapir-Whorf hypothesis is a pretty imperfect fit for the question. Even the weaker form doesn't really gel well. The question seems more do certain modes of thought make you tend to think of certain languages, and not so much "do certain languages impact behavior".

Basically, its generally formulated in the opposite manner, and like many things, cause and effect can not usually be reversed and still have the reasoning hold ;)

Also, I grew up effectively trilingual as well. I simply associate the different languages with different areas of thought. Math/science is English, food/home-y things is Chinese (and er, well, Taiwanese+Japanese also food/home), and I really don't think in terms of imagery. So I think you're definitely in anecdote territory. (BTW: I actually count in Chinese, because its a tad more uniform and the words are shorter, but operators I use English.)

I wonder if language learning methods will vary from person to person, because most of your advice totally disagrees with my experiences learning Spanish later in life. I learnt through rote memorization, but followed up with a conversation partner, so, to continue the lookup table analogy, I simply used the lookup table until it became so commonly used that it stayed in cache and not memory. Then over time, segments were pulled out and their structure transformed (length of cache value increased, keys switched to a general emotion), until more and more of it was "fluid".

(The other possibility, which I'm very inclined to believe, is that describing your own learning process is a crap shoot. You find analogies you're pleased with, and selection bias takes over.)
The Noise
Well, I've been in Germany since 2002, but I wasn't eligible for permanent residence in 2008.
http://ask.searchyc.com/
What do you mean selling a database? Do you means the contents of a database (list of data)? Curious.
Well, but the way that people proved that the world was round was with evidence, not anecdotes. I'm willing to admit that current theories could be wrong, but not based on a thought experiment.

All snarkiness aside, I see you're in Berlin, so you're welcome to drop in for dinner on Wednesday. I'm slightly less bull-headed in person. :-)

http://news.ycombinator.com/item?id=388042
The first post resonated with me - spot on I thought and emailed the link to anyone I thought would feel the same.

I don't think we should be surprised that some folks did not understand the point being made - 'twas ever thus.

I also feel that the "meme" captured here resonated nicely with Dave Winer's post http://www.scripting.com/stories/2008/12/04/soonItWillBeTime... and with John Resig's http://ejohn.org/blog/javascript-language-abstractions/ . The abstractions are so leaky that they become the problem - no longer helping us get things done but actively (? passively) conspiring to stop us.
Getting Started With Google Friend Connect
Wow that's terrible.
Hate to see ignorance growing.
I wrote this: http://www.amazon.com/Book-Webmin-Learned-Stop-Worrying/dp/1...

It's a book about UNIX system administration with Webmin. I made about $10k in the first year or so after it was published, and then I've made $100-$400 per quarter ever since. I haven't done the math on what those ongoing royalties added up to. I just consider it "mad money". I buy myself somethin' pretty with it whenever it comes in, like a Nintendo DS, a BMX bike, or something similarly goofy.

Oh, and I received a one-time payment of $3000 for the Japanese translation. I really take great satisfaction in that one...it also looks awesome on the shelf. The American version is cute, but the Japanese version is simply amazing.

It is obviously a niche book, and a more general topic would have probably sold more (the best I ever saw it ranked at Amazon was in the 3000s, I think). But, it had ancillary value to me, so I had already written about half of the content before I ever had a book deal for it. It was also free online from the very beginning, so my website was probably competing with book sales. I guess, to be fair, I've gotten probably tens of thousands of dollars worth of marketing value out of that content over the past 8 years or so (I was working on it in one form or another from 2000, or so, onward, and it has been responsible for a large portion of the organic web traffic my two businesses have received). The book (and the wiki that replaced it) has consistently received 30,000 monthly visitors, or more, for as long as I can remember...that's an awful lot of free ad impressions (we have links to our products in strategic locations within the wiki content, and I had banner ads for my previous business' products on every page in the old non-wiki version). It's really high quality traffic, and I'd pay over a buck a click for that kind of traffic from Google AdWords.

Actually, now that I'm thinking of it in those terms, it was probably a great investment of my time. I should probably write another one. But, I spent a lot of time writing it. I'd probably go faster today, for a number of reasons.
Knowing what I'm doing, understanding all factors in my envoironment? Yep.

The existence of browser bugs? It's a necessary evil derived from consumer choice in browsers. No different from different desktop platforms. Unless all browsers standardize over one rendering engine (rather than a list of standards), we'll be dealing with cross-browser compatibility for a long time.
You don't think he resembles a frantic sleazeball marketoid at all?

Compare: http://www.youtube.com/watch?v=tGvHNNOLnCk
Ask HN: Any entrepreneur/programmer here in China?
I guess it would be nice to have a meetup.
what we really need is a list of "steps to get your startup noticed by the mainstream ready to spend crowd"
Those numbers actually seem a bit low. Even mediocre programmers bill out at $100+/hr ($800+/day). It isn't unusual for someone great to charge 5x that amount ...
Ask YC: Your ugliest hacks.
Can be whatever you like.

At the moment I'm working on something that parses eBay URLs and let's just say this isn't shaping up to be pretty. The following is a prototype which extracts search keywords from URLs:

def getKW(url):
kw = ''
if getDomain(url) == 'motors.shop.ebay.com':
#url = "http://motors.shop.ebay.com/Parts-Accessories_Car-Truck-Parts-Accessories__f350-wheels-20_W0QQ_fxdZ1QQ_osacatZPartsQ2dAccessoriesQQ_trksidZm270Q2el1313&caz.html"
#f350-wheels-20
kw = urlparse(url)[2].split('__')[1].split('_W0QQ')[0]
if getDomain(url) == 'cgi.ebay.com':
#'http://cgi.ebay.com/ebaymotors/FACTORY-15-Mercedes-E320-300E-OEM-Chrome-Wheels-Rims_W0QQitemZ290277158739QQihZ019QQcategoryZ43955QQssPageNameZWDVWQQrdZ1QQcmdZViewItem&caz.html'
#FACTORY-15-Mercedes-E320-300E-OEM-Chrome-Wheels-Rims
kw = urlparse(url)[2].split('/ebaymotors/')[1].split('_W0QQ')[0]
if getDomain(url) == 'shop.ebay.com':
#url = 'http://shop.ebay.com/items/__mini-cooper-rims?_trkparms=72%3A543%7C66%3A2%7C65%3A12%7C39%3A1&caz.html'
#mini-cooper-rims
kw = urlparse(url)[2].split('/items/__')[1]

return kw if kw else False
Oh, and I'll add that I liked working with No Starch and Bill Pollock. They're all really easy going folks, and are very flexible about contract terms, schedules, etc. I can recommend them, if you do decide to write a book. I was crazy late delivering on the last few chapters, and they didn't chop my percentage, even though the contract said they could. And, the percentage they offered me (15%) was quite generous.

Also, when I moved to the valley, they went to some lengths to track me down again, so they could send me my royalty checks. I forgot to let them know I'd moved, and my old email address is one that I pretty much never check. So, I think I can say that, all around, they're good people.
Why Good Cooks in Restaurants are Not Getting 10 times the Pay...
Business? It's quite simple. It's other people's money. -- Alexandre Dumas
IDE = Code re-use
@SwellJoe

Very useful Information.
Thanks !
I'm a little late to the party, but here's the formula:

Scalable revenue-generating assets.

Let's work backwards on that:

Asset: We're going to call an asset as something that can generate value or appreciate in value. So your 2005 Honda Civic is not an asset, but a 1969 Corvette Stingray might be. Websites can be assets, so can intellectual property, contracts, royalties, real estate, stocks, etc. So step 1 - you need asset. Things that can go up in value, or generate value.

Revenue-generating: You can buy for appreciation, but that takes a lot more money and skill. So you want revenue-generating assets to get passive income: That means things that kick out money regularly. That would be real estate where the rents are higher than the PITI (principle, interest, taxes, and insurance) + maintenance. That could be a website that you can make money from - ad revenues, product sales, etc. It could be something you've written that you get royalties from.

Scalable: And here's the magic that puts it all together - scalable means you can build it bigger without it demanding more of your time/resources (like a job does). Real estate with positive cashflow tends to be scalable, because if the property appreciates even 10%, traditionally you can mortgage a new property. If you don't mind doing repairs/adding value, you can mortgage a new place, repair/upgrade it to get higher rents, do so, have it appreciate, use the new equity to get a new place with cashflow, etc. Some high percentage of self-made millionaires in the USA are from real estate due to this fact.

There's other ways to get scalability. Obviously a useful website, or something with automated fulfillment or marketing. But scalability is key: All the time, if you want passive income, you need to spend money out of your profits to remove time and automate more. So pay a fulfillment company $2.50 per package (on top of the postage) to mail your thingy for you. Get into automated marketing with Adwords or Adsense. Look to ink deals that'll keep paying you without you putting in more effort.

The formula's Scalable Revenue-generating Assets. That's how to build gradual increasing passive income. It's harder than it sounds (like everything worthwhile is), but completely doable if that's what your goals are. Just don't forget that active income is pretty cool if you love what you do.
Just practice more Spanish.

I am a Spanish native speaker who later learned English, French and Italian for work. In my case, I don't have the feeling of translating sentences/ideas/concepts to English in my mind. They just come naturally, or don't come at all. When they don't come naturally, it's normally because of a lack of vocabulary, so I switch to Spanish and lookup that word/expression in a dictionary.
For the time being it doesn't use the BeautifulSoup parser so it may not work on very bad html, but I'll add an option an option to use it.
If you didn't mind, I had a couple of questions for you on duplexes vs. four-plexes. My email is contractdesign@gmail.com. Regards -- JP
It could be used to skin an application ala deliverance. Or as a templating language: you would only write html and then put stuff into it with python and pyquery (but I think the jquery API may not be good enough for that).
Then how can you claim that passive income doesn't exist, when it clearly does?
Hi,

I just blogged about the issue of choosing the right software stack to build your web app a few days ago. You can read it here : http://thibauld.com/2008/11/web-application-implementation-s...

And I'm currently writing the next post about code architecture... I'll probably post it today.
Cheers,

Thibauld
translated from the PR: We noticed something funny about some web requests from Google. Obviously this is evidence of a super secret stealth project that will cause Steve Ballmer to throw chairs. Buy our Data.
The rates I gave were for GBP not USD.
u may want to use regex to reduce / eliminate if checkings

i use newlisp, this is the code:

(set 'urls '(

"http://motors.shop.ebay.com/Parts-Accessories_Car-Truck-Part..."

"http://cgi.ebay.com/ebaymotors/FACTORY-15-Mercedes-E320-300E..."

"http://shop.ebay.com/items/__mini-cooper-rims?_trkparms=72%3..."))

(define (getKW url)

(find {([^/|^_]*)(_W0QQ|\?)} url 1) ;find using regex

$1) ;return the first matched string inside (bla*)

(map println (map getKW urls))

;f350-wheels-20

;FACTORY-15-Mercedes-E320-300E-OEM-Chrome-Wheels-Rims

;mini-cooper-rims
I came up with a quite an ugly hack in Python for the EventScripts plugin (http://python.eventscripts.com).

It was designed to allow you to thread a request for a web page in pure python and also timeout after a while (because threading is stupidly slow via ESP on game servers)..

Code: http://errant.pastebin.com/f3d492f2d

That is older code but all I can find atm. It has a tendency to crash things :P

The final code had a lot of time.sleep(0) code in it too to force the threads to try and grab the GIL. Ugh :P

(also for the record the hacked "kill" extension to threading.Thread I picked up from elsewhere :))
Likewise, if people ignored scientific evidence in favor of their intuition we would still think the earth was flat.

It turns out we're all better off if we first understand the "current scientific dogma" and then challenge it with scientific evidence.
Actually, I think its supply and demand.

Programming skills is not something that is rare like sports skills. For e.g. An extremely good basketball player is a combination of athletic ability, height, work ethic, ball handling skills and so on.

Sports executives have less alternatives than Tech executives. The market determines the salaries.

Also, sports players and anchors more directly contribute to the revenue.

Its really capitalism and is fair.
Someone we knew had a few of these stores. It looked easy from the outside ;)

It was much harder than it looked and at times it felt like we were going bankrupt. But now it is great.
How to Buy Microsoft Hosted Exchange Mailbox Account
Your organization’s needs for Microsoft exchange mailbox accounts with changes in workforce. An easy alternative is to buy Microsoft Hosted Exchange mailbox accounts as and when needed. How to buy hosted exchange or what factors should be considered while selecting the appropriate hosted exchange mailbox plan is important.
Look for a hosted exchange provider with the latest version of MS Exchange 2007 mailbox accounts and expect the following features:
	Round the clock monitoring of Exchange Server Infrastructure
	24/7 customer and technical support
	Reliable Data Center
	Easy-to-use web based control panel
	Mailbox facility scalable from 1 – 100,000 Exchange mailbox accounts
	Unlimited distribution and email aliases list
	Easy mail access via Outlook, OWA, Https, POP3, MAPI, IMAP4
While buying hosted MS Exchange Account mailbox account, look for a web based control panel to manage your mailboxes. Also note that the price per Exchange mailbox may vary depending on the mail access protocol, that is, POP3 (Post Office Protocol V3), IMAP (Internet Message Access Protocol), or MAPI.
Microsoft hosted exchange 2007 mailbox accounts support IMAP, MAPI, and POP3. POP3 is the Post Office Protocol V3, whereas IMAP is the Internet Message Access Protocol. POP3 functionality is known to all mail users as it is the most commonly used protocol. If you do not need the advanced mobile push sync features, you can pick a POP3 account that will be less expensive. However, if you are using a smart phone such as iPhone, BlackBerry, or Windows Mobile phone, you will be better off using the IMAP or MAPI protocols that allow for better synchronization of email files and folders on the mobile and desktop clients and the mail server.
Does this provide a significant revenue stream?

BTW, thanks for telling us about your site. I have been wanting one of those.
That's cool, we're a startup located right on Görlitzer Str., across from the Edelweiß. I'll be sure to drop by on Wednesday and maybe we can do one of the next meetups in our office...
replication story?
Windows 7 Adds TaskBar Preview Feature
Government policy triggered the financial meltdown and will almost certainly extend it.
Stack The Memory [Music Video]
Got this song stuck in my head.
"Windows 7 promises to provide many aesthetically pleasing features and a potentially smaller, less bloated, footprint than Vista."

I guess they're not quite ready to commit to a smaller, less bloated footprint.
It's a mistake to view political barriers as insurmountable. It's practically impossible to repeal the legislation, but maybe someone will open another liquid market for equities through some weird loophole. And remember that we are talking about social change in a timeframe of decades here. There is no telling what could happen.

Efficiency and reason tend to win in the end. There is much to be gained by having less bureaucracy and red tape for public companies, assuming that they are public companies of a different type than what they are today.
The guts of all application design and redesign (which is what refactoring really is) is always done in your head. That's true no matter what tools you use or don't.
The interview was basic, but I enjoyed it. CouchDB is one of my favorite projects, and we've been using it on a few different things.