skysight-inc/HackerNews huggingface dataset:
For Openomy, one of the things that makes our project really exciting day-in and day-out is that we went to a service based architecture early. We don't have one single application for everything and we don't have one single database for everything.

For instance, we have a user service (which controls accounts, sessions, etc and has its own database), a metadata service (which controls what files we know about, what tags they have, etc and has its own database), a file service (which controls the actual binary data of the files and has its own database), etc (we have a few others, but that gets the point across). They talk to each other through REST -- though it could be anything, of course -- to get anything done they might need.

This allows us to scale each service independently, which is great. I'm always surprised at how long it takes folks to move to a SOA.

But, perhaps, the coolest part from an always-hungry-to-try-new-things development team is that having a service based architecture means that we are free from programming language constraints. As long as the language can speak HTTP, we can try it out for a new service or a new client. There's nothing like the feeling you get when mastering a new language. And there's no better way to master a language than write something tens of thousands of people will be using.

So, we have an old front-end built in C#/Mono, we have a couple Rails services, a Java service, our new APIv2.0 (http://api.openomy.com) is written in Haskell/HAppS (which I'm particularly proud of), and now we're writing a client in Scala. And, besides that, we use Perl for some offline scripting tasks.

I think it's pretty unconventional-- but it shouldn't be! I highly recommend going this route.
I do all my client-side prototyping in a technology that does not use a mouse, graphics, or a browser. Once the basic functionality works perfectly, then I port it over to javascript and add the rest of my interface.
SO TRUE.
This is true, it is quite expensive to stay in touch with fashion. However, it's not so hard to find things that look good on the cheap. I typically try and bargain hunt at stores such as H&M, tjmax, and the sale section of large department stores. If something is a season or two old - it's good enough to wear around without anybody chastising you for it. It's really not WHAT you wear, but HOW you wear it.
+1 for VMWare.

If you're on-the-cheap, you may also want to check out VMWare Player and the virtual appliances. I had a Workstation license, but it was from nearly 4 years ago and didn't work with many of the newer Linux distributions (notably Ubuntu). So I downloaded Player and an Ubuntu Gutsy virtual appliance, and was up-and-running in about 5 minutes.
Me too! I'm trying to school myself in VI (gvim), but until I reach that golden shore I'll be keeping a more intuitive editor handy.

edit:
Heavy IDE's haven't paid off for me yet. (I like to be familiar with every point of control in my environment. Hidden configurations have given me more headaches and stress than my personality can afford.)

Devil's advocates could certainly say I just haven't spent enough time learning IDEs.

I would respond with tangent rant about the virtue of owning ones means of production which includes knowledge. Knowledge ownership seems more obtainable when you must know how to do everything from the ground up.
Security guide to customs-proofing your laptop
An Open Letter to My Software
Coordinatr: Elegant Solution For Event Planning
Bad, difficult-to-debug programming is not moving against the herd, it's moving with it.

Are you implying poor programming makes one more likely to start a business? That will float like a lead balloon here.

Am I misunderstanding your post, or feeding a troll, perhaps?
I understand sound and video processing and even machine learning applications, but in what way is encryption probabilistic (other than trying to guess passwords)?
We use SVN, Rails, and Capistrano.

If you are using rails I highly recommend capistrano.

We each have our dev environment on our local machines including the DB.

We have a staging server which is at our place the staging server is the same OS (Debian), apache, ruby, rails, and updates as our production server. (We always perform system updates to this box and do test deployments before going to production).

We have our production servers off site.

deploying to either environment is fully automated with capistrano.

cap staging deploy
cap production deploy

We mostly develop on the trunk, but when working on really large features that might take a few days or break significant amounts of the code / test, we then work in a branch. We often want the trunk in good shape in case any large bugs show on production and we need to start to work on fixes right away.

This works well for us, I am sure there is similar tools for Python and I do think keeping a separate staging server around your place is worth the trouble.
I would go with either a troll or a jerk.

If someone intentionally loudly told me my code was irresponsibly risky and stated my future ambitions for all to hear, I would not be impressed.
I simultaneously munge the language and the application written in it.
I've been using Crimson Editor for the same reason and have even kept using it via Wine on my ubuntu machine. That doesn't mean I haven't tried other text editors, Crimson just does some things that all the others I've tried don't do... but I haven't tried JEdit yet, it looks promising.
Start-up tips for those early days
Agreed. Blub can do everything I need anyway.
I'll bite. What's the technology? Are you going to say paper? :-)
I'm not sure whether any of these are anti-trendy or not, but here are a few things I found myself doing in a project I've been working on recently:

* It's an online bookmarking system, and I didn't add tagging. I found that the UI step to add tags was a bit of a usability burden, and that I never actually used them to find stuff again anyway.

* I wrote it in Perl. Definitely not trendy, but it's fast, dynamic and (with mod_perl) stupidly easy to deploy.

* I rolled my own JavaScript libraries and wrestled with cross-browser issues rather than using jQuery, prototype, or some such. Why? To learn the nitty-gritty details of DOM manipulation and browser compatibility.

* I de-normalised the database from the start. Why? Because it enabled me to build a simple, light and fast object-oriented table wrapper without the overhead of dealing with associations, joins, and so forth. For any structure that does require a table join, I use database views to make it look like it's a simple table to the application.
In addition to all those other things that people mentioned, write a JavaScript interpreter.

You can't truly master a language until you know it inside and out. Implementing the language is a great way to do that. That's how I learned ML and Haskell. That's how I'm learning Lisp.
A way around accessing websites crammed with ads and unnecessary features is to access its mobile pages even when you are using your computer. Just compare the followings:

http://bofa.com

https://www.bankofamerica.com/mobile Which one would you prefer accessing?

You can use Google to search for mobile pages or use http://tiltview.com to be redirected to a mobile version of a page.
Three weeks ago we posted Coordinatr.com to News.YC and got some great feedback: http://news.ycombinator.com/item?id=120550. Now we're launching and the reviews so far have been great!

Just wanted to again say thanks for everything!
Question is, are there any European ad systems that would provide enough relevant ads for your site? I'm not saying there aren't, and I would like to see some better competition against google in this area, but I know one of the benefits of Adsense is that they have such a large base of advertisers, they have relevant ads for nearly every topic:

http://basketweavingtips.blogspot.com/2007/09/underwater-bas...

Not to mention more advertisers creates competition.
None!

I have never seen the point why highly qualified developers work for free instead of turning their skills into real money.

Maybe someone can enlighten me (and others who read this and don't understand too).
I just transfered all of my GoDaddy domains to http://www.enomcentral.com/. A good friend of mine has had a merchant account with them for years with no problems. Their interface is is pretty good too.

Transferring out of GoDaddy is a challenge though (but it feels great once you finally rip your domains out of their cold, dead hands). They make the process convoluted and confusing, hoping you'll give up. But don't give up (never give up!). Here's what you have to do:

- log in to GD and go to the domain manager. Go to each domain individually and check to see if the domain privacy proxy is turned on. If it is, it means that your whois info is being proxied by http://domainsbyproxy.com/ (it seems to be a sister site to GD). You need to find your account number for DBP which they would have sent to you when you reg'd the domain. You need to login to DBP and disable the proxy for all of your domains.

- Go back to GD and you'll notice the proxy is now off (magic!). You now need to unlock each domain and get an Authorization Code for each one by clicking the send Auth Code By Email link on the domain screen. Most (all?) registrars will request this when you initiate the transfer.

- Go to your new registrar and initiate the transfer (this is where you'll need the auth code).

- The new registrar will send an email to the administrative contact for the domain(s) confirming the start of the transfer. You may have to wait up to a day or so to get this.

- GD will send an email confirming the transfer is started. You can also check GD periodically because eventually they will display your domains as Transfer/Pending. Go to the My Domains page, mouse over the Domains tab and click pending transfers. Select all of your domains and click the "Accept/Decline" icon (it's a very confusing icon) and choose accept (obviously) and be sure to click all the Okays.

And you're done! If you use GoDaddy's DNS servers you may have to reconfigure your DNS and mail settings (maybe someone else has experience with that?). If you already use a 3rd party for DNS and mail then the transfer shouldn't affect your site/email.
I wonder if and how much Europeans are bidding up prices in some categories.
Searching as a Team
He didn't blame it on Google

Google is the subject matter. If he hates the United States for whatever reason, then there's no reason to bring it up as a reason to not work at google per se. Just the typical airing out of grievances that he's been brainwashed into. I wouldn't particularily care for living in...oh, I don't know, Canada...but it wouldn't keep me from taking a job offer that I otherwise wanted. Jesus, there are people moving to UAE for jobs. UAE!

you ignore the squeeze on basic freedoms in the U.S. over the last eight years

Strawman. He said "the US Senate voted away the right of Habeas Corpus". This is false. I pointed out that it was false. I did not say that there has been no "squeeze" on basic freedoms blah blah blah.
Developers Copyright 
Ok I know about the GPL and open source. But I want to write a copyright to give a client that says I have rights to use the framework for other clients. Essentially giving me the right to reuse code. Anybody have something like this?

P
Could you come up with a more obvious straw man? What he said was that it made him not want to move to the US. He didn't say why. Since habeas corpus was hardly "voted away" for Canadian researcher emigrés who work at Google, it must have been on principled (or ostensibly principled) grounds. I could understand why someone might object to that, but if you're going to take issue with it, at least respond to what he said.
I think that is a general economics problem one cannot solve easily until consequences of sub-prime crisis pass by and US dollar gets stable. Here in russia we are suffering from low dollar too, since all the contracts we have with north american companies are executed in US dollars, and they don't want to switch to Euro or any other currency. The losses we had for last six months hit $80k which is I think too high for a small startup like ours :-(.
Have you tried PSPad? I've found it even more useful than Crimson.
Should you hire a convicted Hacker?
I use perl as pseudocode, especially when I have to target multiple languages/platforms.

Its stupidly easy to hack together prototypes of functions to test out data structures and algorithms just using perl and the command line. This helps me think more about the structure of the program and less about the syntax of a specific language, especially languages that I'm weaker in.

Once its working right and thought through, I'll use the perl "pseudocode" as a guide to code in the target language.
Install macports and you can add wget, as well as elinks and many others.

http://www.macports.org/
I think that being constantly bombarded with images of the Apple and Google UIs, with their unattainable zenlike simplicity, has given me the hacker equivalent of an eating disorder.

Complex GUI -> GUI Complex

Not that it's necessarily a bad thing. I suppose a little cognitive purging now and then never hurt anyone.
Yahoo has really been impressing me in the last couple weeks. First the Open Search Platform and now this. I guess all it takes is the threat of a hostile takeover to get your productivity going.

I really hope they can stave off Microsoft, because I don't see the big M$ attempting to innovate like this if they took control.
Yeah, the logic is quite simple: the more advertisers get into business the higher bids become, the harder it gets to advertise anything on Google and the more revenue to Google money-making machine :-(.

We quit advertising on Google a couple of months ago due to this same issue: it became virtually impossible to bid on any word that has a corelation to "voip".
My intention was not to imply that bad, difficult-to-debug programming makes someone more likely to start a business.

The issues with Flex in the past with viewing/editing attributes on a complex parent.child.subchild model are in the past (they fixed the issues). His code was not "bad, difficult to debug" it was "risky" in the sense that Flex didn't support it in a previous release.

When I told him that his code was risky, I said it with a half-serious tone (e.g. half joking). Rereading the post indicates that the tone of the post and the tone of the original comment never carried through. I apologize.
I noticed the same thing. Let's hope his setup is like mine and the bookcase is an arm's length behind him.
not the kernel! it was very strictly C-only, no C++ allowed. the application frameworks were in C++, but that's not really the "operating system."

and i'm in a position to know. i actually worked at Be for awhile.
> what [...] volume of reading is [diminishing returns] reached?

I think the volume is pretty damn low if you limit your intake to dense, high quality sources. The key word here is actionable. How often do you come across something that actually changes your plans or the way you're doing things? It's really very rare, in any field. It certainly doesn't require a daily investment, and probably not even a weekly investment.

A few time I've either been traveling or in crunch mode for a few weeks and been unable to waste time perusing the journals and feeds I usually do. When I finally had a chance to catch up, I found that I could rapidly skim the pile of stuff I would have wasted many hours reading and pick out all the salient information in under an hour.

It's also important to remember we live in the google age and finding information is easy. There's a tendency to suck down information thinking it might be handy later, but a JIT approach to reading and research is probably a lot more efficient. When what to do isn't obvious you can find what's been written fast. Remember that you probably have access through your library to lexis-nexis and other databases that allow you to search pretty much everything that gets published.

People like to procrastinate by reading blogs and "news items" and pretend they're actually doing useful research. In terms of real applicability they'd usually do just as well reading Seventeen Magazine. I'm as guilty as anyone, of course.
From what I've read. Capistrano is not Rails exclusive. You can use it to deploy other frameworks as well.
GUIrexia?
sure they do. But the default should be "I don't want to get spammed to death".
Also when I do login to my account these days it's just full with a gazillion invites to numerous applications which seem to have their primary function as "Inviting other people".

IDK. Maybe it's just not for me...
We did. It's worked out pretty well, but we're careful never to leave Robert alone in the room with any of our laptops.
I haven't been able to find an answer to the status quo question.
Context: http://en.wikipedia.org/wiki/Morris_worm
+1 on 2) and 3). In my case, unless the logic of the program is very simple, I always try make a sketch of what I am going to program before I start -- either on paper or text editor.

Of course, YMMV. Others will be more productive just plunging into the program head first.
Hi Paul, probably a bad translation as my mother tongue isn't English ;) About the 6 rules, the last one isn't really a rule but an additional point. Maybe I should separate it so it doesn't creates confusion.
http://www-306.ibm.com/software/data/u2/universe/
This is overstatement. A great photographer can take great pictures with any camera, but the camera still matters. A great pianist can make any piano sound good, but the piano still matters. A great programmer can push the envelope of any language, but given the choice will pick a bigger envelope.
I thought the second half of this title was meant as a joke, but apparently he's serious.
Ask YC: What do I, a graduating CS student, need to know to go into the real world as a programmer?
What do I, a new graduate, need to make sure I know to land a decent job in the 'real world' as a programmer? I am graduating in less than 2 months with a Bachelor of Science in Applied Computer Science (BSACS) and feel clueless about what is approaching rapidly - a.k.a THE REAL WORLD. I know this question has been asked and answered countless times (most of which I feel that I have read), but as is the case with all in the tech world, often this information becomes dated rapidly, is one sided or extremely biased. So again, what concepts, technologies, languages and various disciplines do I need to KNOW in order to be proficient, or at least to be good enough to land a job, as a professional programmer?

I find myself feeling as if I know all this 'programming stuff' but have no real clue of how to sit down and work in a development environment with other developers on a real project. Not only this, but I feel that I know a little about a lot - i.e. I am a jack of all trades, but a master of none. Clearly I have done problem solving and system design in my classes, but these projects are limited to core concepts based heavily on CS theory and are often very limited in size and complexity. I have been exposed to C++ (4 classes), Java (2 classes), VB.Net (1 Class), SQL (1 class), Discrete Mathematics (1 class), Project design and management (1 class), Advanced Algorithms and Design (1 class) as well as a sprinkling of various other 'CS-related' classes via my education. On the side I have played and dabbled with Ruby, Python, PHP, C, C# and a handful of other technologies that escape me now. I have a 3.6 GPA and have not made less than an A in my core CS classes since the beginning, but again, I still feel clueless.

Any tips, suggestions or criticisms are warmly welcomed (well, except criticism, which will be welcomed, just without the warm feelings attached). Please, where time and willingness permits, be specific - do I need to know how to design/write a compiler? do I need to know assembly (taking that class this term anyways)? If I want to make money first and worry about fun later, should I focus on corporate adopted technologies (Java, anything Microsoft, etc.)?

Thanks in advance!

-Matt
Just assert your copyright in the program code (if supplied) in the executable and in any documentation - assuming that you have not relinquished the copyright in the contract you have with your customer.

You do not need an special clauses - just a standard copyright notice.

If your customer wants a written license - then you might ensure that this includes the words "non exclusive".
I used eclipse in a corporate environment and I understand its value.

a) Everything in one tool. Your servers can be right there, you have your code, your repository is directly connected, etc.
b) It is actually is pretty good. If it wasn't so bloated I would use it.
c) It is easy to train people to use eclipse, debug in eclipse, its all visual.
d) Loads of plugins, again all in one tool.

Cons would be it commonly eats up over a gig of ram. It is slow. An expert in emacs can probably do most tasks quicker than an expert in eclipse.
Hedge fund manager open-sources trading strategy
You and the article are talking about different things. Looking nice doesn't matter much for getting funded. But it does if you want a balanced life outside of your startup.

What are you going to do when your startup is successful and you're rolling in money? If you want to be out in the world, pursuing varied interests (or women), looking nice helps.

Appearance is continuous with reality. Imbalance in your intellectual life, for better or worse, tends to reflect in the way you appear. Looking nice is an indicator that you value social connection with others.
Crazedlist.org : search craigslist like a madman
Diversify. There are about 10 great UK/europe based ad networks. Sure you have to do a bit of work yourself picking good adverts, and you might get paid per lead/sale more often than per click, but the average revenue is comparable or even more than adsense.
He's also [donating the profits to charity](http://www.marketwatch.com/news/story/ackmans-winning-bets-a...).
The Magical Power of Focus
That's US visitors. They're based in the UK and that's where they've been most successful. Techcrunch says 22 million uniques.
i manage http://newskicks.com
DeMarco & Lister (yes, the Peopleware guys) - Waltzing With Bears: Managing Risk on Software Projects
Of course, you could just hire one who didn't get caught.

I know my employer did, but he doesn't :-)
So do you think something like this is appropriate;

"My Company grants the right to reuse the CSS styles, JavaScript, PHP scripts, XHTML markup techniques, Database design and other bits of “source code” for the non exclusive use of the Client. The Client may freely copy, paste, and modify any of this code for use in other web projects large or small, commercial or non-commercial. The client need not ask permission to do so. The client need not credit My Company or its employees."
I don't see the big M$ attempting to innovate like this

Yahoo's recent openness binge is so strategically opposite to Microsoft that I wonder if they aren't doing this in part to impede the takeover, or as a sort of post-takeover insurance.
I've used http://www.easyvmx.com to create new blank machines instead of downloading the appliances and installed my own system from scratch.
I mix tables and divs in my layout. I use whichever is easiest and works best on the most browsers. In general, I regard HTML/CSS as bytecode for browsers, not a programming language that I should write readable code in, and web standards as something I hope browsers will comply with, not web sites. Sometimes I even abandon templates in favor of graphics-library-style HTML generation.
You know what, it's high time I give emacs a fair shot, before I become to indoctrinated.
Oh boy, people will be producing shitty microformat-riddled markup instead of plain old markup.

Like remember how after web standards became a hot topic, no one produced websites that only worked in Internet Explorer anymore? That was awesome.