skysight-inc/HackerNews huggingface dataset:
I was watching the Discovery Channel this weekend about the efforts gone into plugging the Deep Horizon leak. They interviewed an oil rig engineer there who (for me) epitomized the difference between 'proper' engineering and software engineering. He said 'you have to remember, we're doing something here that we've never done before!' as if doing something that has not been done before is a grandiose, magical feat.

I'm not claiming that all software development is completely new or magically creative, god knows the despair of someone writing their 100th shopping cart or linked list. Still to me it reflected the cultural differences between 'proper' engineers who are strict and rigorous and like to stick to proven solutions and people in software who are, in general, more wild west and in favor of change for change's sake.
Yes, I would agree for first class data centers this is ground breaking but not all services are hosted in such facilities. How many DIY data centers have dedicated security?
I would certainly love to meet other HNers that are going this route, perhaps you could set me up. I've got two close and old friends of mine that are locals and are collaborating with me, so that's good.
Why 'noncompete' means 'don't thrive' (2007)
If you haven't seen it before, you should check out the personal MBA reading list:

http://personalmba.com/best-business-books/
Yes, I am suffering from burn-out. And I can tell you, it •is• suffering. You wouldn't want it happening to you.

It started to manifest itself in 2002. I worked too much, had too much responsibility. I went into a decline and 2005 it all went awry because of change in circumstances I didn't have the resources to cope with. I was wise enough to quit my job, but it was too late. Anything I tried after that wouldn't succeed.

It's a condition where it's hard to reflect on yourself. To see your personal condition. And accepting it, even less. I couldn't.

One day I stumbled upon a stress test and took it. Bang! Almost full score. Then I took notice of myself, started analyzing my condition, and realized, "I'm a burn-out. God dammit".

That was 2007. I've been laying low, really low, since then. Living off my pension. Recently I realized I was better off again. I could read book again. I even felt an urge to start some coding again. I took a stress test again. Much lower score, great!. But right there was also a test for depression ... I took it. Bang! Almost full score. "Now I'm depressed. God dammit".

That was shocking. But I have this strange feeling, that depression is much easier to deal with. I'm growing in my capabilities. I can learn again. I believe I'll become reasonably functioning again. Only time will tell. And time it will take. I can wait. I want my life back.

I could give you details quite similar to SMrF's comment. Read that, and take care.
Last I heard, there was significantly less caffeine in a shot of espresso than in a cup of drip coffee.

Besides, then you wind up in the Espresso queue, which takes longer. But hey, whatever floats your turnip.
One cannot gain access to the facility with a hand scan alone. Their are special badges and challenge requirements.
Tereza Nemessanyi on ‘XX Combinator’ & Women Entrepreneurs[video]
I find your post extremely pessimistic about the people involved. People of Cantrill, Gosling's caliber do great stuff no matter where they go.
In norway everyone can call themselves "engineer", but the specific titles are protected (for instance "civil engineer").
> But I've heard too many horror stories from entrepreneurs getting burned in China to want to put all my chips in that stack.

I had a girlfriend who was working at a Chinese media company five years ago, and her company said something unpleasant (true) things about an important company in the local province. The mayor called up the newspaper, and was pressuring them... it turned out alright in the end, but it was a minor headache.

If you're doing business somewhere where political influence plays in court, you should just factor that into the cost of doing business and take the mayor out to eat once in a while and do something nice for a local charity or university. The small time/money to be invested in that is still probably less than the costs of compliance in more regulated places (who also have corrupt laws, but the corruption is further upstream - see AirBNB... hotels don't pay off the judge, they pay off the governor).
I imagine much of the minification could be done using just a lexer rather than a full parser. I'm quite probably wrong though.
MeeGo becomes Infotainment OS for BMW, GM, Hyundai and more
There isn't any consistency in the industry and any attempts to find some are doomed to failure.

The IEEE takes a fairly hard-line approach to the difference between "software engineers" and "software developers" or "programmers". (Here is one characteristic article: http://www.computer.org/portal/web/buildyourcareer/careerwat... ) They are one of the few groups that actually feel that way, though. I sympathize with the concept, but, in reality, our field is still so new that I think everyone is still trying to figure out what it is. I personally feel that it currently falls squarely in the "craftsman" domain, but that may change to "engineer" as our field and techniques become more refined -- but it may not. Having a brief exposure to formal methods in software development, I feel that we are a long way from the sort of rigorous analytical design that accompanies traditional engineering.

That said, we may not even need it except for in very specific domains (aircraft control, health systems, etc).

So, in answer to your question, there are bigger differences between what you do at one company to the next in the industry than there is between titles. One "software engineer" may do the same thing as a "web developer" at another company. Some companies have well defined roles, some are more jack-of-all-trades-style roles.
I really applaud your bold move and wish you the best of luck. But there is a lot of "the grass is always greener on the other side" mentality in this post, especially regarding personal freedoms and the bureaucracy/legal-system. I wonder how the example of your friend (getting sued for defamation) would have played out in China. How hard is it to hire good programmers in China? Does anyone have experience about what to expect for 600$ a month?
I once toured a similar facility, complete with hand scanners and airlock-style double doors throughout the facility. After going through countless layers of security we reached the deepest, most secure section of the data center where the most sensitive servers were housed. On the opposite side of the room there was a fire escape door propped wide open, leading straight outside into the sunlight.

Our tour guide, who was an investor in the facility, explained that the employees really hated going through all of those scanners and double doors, so in the morning they just prop the back door open. If a customer or potential customer comes for a tour, they make sure to close the door.

The other highlight of that visit was the generator room, complete with some truly massive diesel storage tanks. Our guide (the investor) proudly explained that they could run the facility for several days in the event of a natural disaster which knocked out power to the facility. Out of curiosity, I knocked on the side of one of the tanks, only to be greeted with a hollow echo sound. The investor then explained that the tanks are mostly empty, but they'd fill them up if they thought a natural disaster could occur.
That's so true. Especially for debugging, that's something I can't ever fully quit until it is done and the bug is squashed. I might as well stay awake until a bug is taken care of once I know about it because I'll just keep on fretting about it and mentally reviewing the code trying to figure out what is going wrong.

That sort of mental occupation does not happen with physical work at all.
Monetization Platform for Web Users
Hackers with good ideas: Contact Yahoo
I agree with the author, but he definitely could have gone about his argument a bit more civilly.

As an example of the type of people that would/will abuse AirBnB and similar services I submit this article describing my last landlord: http://www.tenant.net/Other_Areas/Massachusetts/jaffe.html . It is dated 1994, but they are still up to the same tricks 16 years later (I lived in one of their houses for the last year). I can't imagine the field day they would have if they knew about AirBnB and the like.
Why fragmentation is a good sign for Android
The quiet threat: Cyber spies are already in your systems
- try (erroneously) adding or inserting latin1-data into a UTF-8
table. You'd expect an error message, but instead your data gets
truncated at the first byte with the high bit set.

False.

http://www.gnegg.ch/2008/02/failing-silently-is-bad/

- "alter table sometable add somcolumn integer not null"
will gladly add the column and place null values in each
row. Null values that should absolutely not be there. No
error. No warning.

False.

ok. it inserts them as 0 - that's in improvement from last I checked. Still. It silently does stuff. It should not let me do it in the first place.

Same goes for the date. And please don't tell me the error message you get back there is quite correct. That alter table statement tries to silently add a default and later fails due to the default not being valid.

Also, see this:

mysql> alter table foo add dob date not null;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> describe foo;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| value | varchar(10) | NO | | | |
| intvalue | int(11) | NO | | NULL | |
| dob | date | NO | | NULL | |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)

mysql>

this table now contains two columns that can't be null and yet the default is null. Thanks.

Concerning corrupted tables. I have around 1.5 TB of data spread over ~10 databases and over the last 10 years, I never had a corrupt table that I could not trace back to hardware failure (harddrives, raid controllers, RAM).

Over the same period, I had around 200 MB of data spread over ~10 databases in MySQL and I had three cases of corrupt tables that I could not trace back to defective hardware as various diagnostic tools yielded no error and the machines still run without problems with PostgreSQL.

Maybe I'm just unlucky.
creating and enforcing arbitrary policies

It's actually not an arbitrary policy to limit vacation time. The Sarbanes-Oxley Act requires companies to report accrued but untaken vacation time as a liability on their balance sheets.

Since companies are required to pay out vacation time upon termination, and some states don't allow caps on accrued vacation, bumping you from 2 weeks to 4 weeks now could be risky. What if you never use the 2 extra weeks? Fast forward 20 years to your retirement, and they could be forced to pay you 40 weeks pay in a lump sum.
I live in HK and have lived, studied and now spend time working in China. If you are ever in HK and fancy a beer, drop me an email... first round is on me.
How to Speed Up Your PC
http://www.mytechsupportstore.com/blog/how-to-optimize-mac-os-x-performance.html
Absolutely what Jacques said. Don't even think about getting there without a local hand.
Cities see homesteads as source of income
Please do make sure you are getting help.

My personal path to recovery involved a complete redo of my entire life. I quit my job, moved to a new city. I took an entire month off and did nothing but stuff that was fun, (mainly programming :-) My new job is a boring corporate coder type job that requires very little of my attention. I also started dieting, quit smoking and took up running.

You can get better! It just takes time. Please be patient with yourself.

Believe it or not, even after everything that happened to me, I very nearly did it again! I began spending all of my spare time working on my side project, (my goal here is to eventually own my own company/startup). But at least this time when I started getting anxiety I realized, "wait a minute, I think I know why this is happening..." :-)
This is HN. Writing stuff here is like writing it in two-foot high letters on a prominent wall in NYC, except more public, more accountable, and far more permanent.

So, rather than beg for more, I thank jacquesm for being willing to share as much as he already has.

Yes, his sharing is mostly in the form of ambiguous subtext. That's okay. I can read hints and I enjoy ambiguity.

Here's a general piece of valuable advice: If you want people to tell you what their life lessons really are, meet them offline, perhaps in a bar or coffeeshop. Keep all recording devices off. Promise not to blog what they tell you without permission, and/or until one or both of you are dead. Keep that promise.

Meta-advice: Make a habit of meeting people in coffeeshops. Though it has many advantages, the Google-enabled internet is a lousy medium for heart-to-heart honesty.
Where in China are you setting up?
The reason for this all-encompassing effort, I believe, is that it gives the Developer everything they need to get started and get rolling .. while at the same time giving the Artist everything they need to get started as well. It doesn't matter what engine you use, if you've got Art assets that don't jive with what your engine expects, then you've got a massive, extraordinary headache, as a Developer.

Also, the point of having yet another accelerometer/input suite is platform compatability .. these engines aren't very useful if they restrict you to a single platform, so they go for as many platforms as possible .. well all of these platforms have to have a common input method, and thats why the engines have to account for it - so that a developer can target the Engine, not the Platform, and benefit from having all these other target architectures available to them ..

Disclaimer: I've built my own 3D engine for use on Android/iPhone/Plaszma/Linux-AngstromOE environments ..
Maybe you just don't know what you are doing.
What I don't like in the article is the accent that is put on the advantages of the entrepreneur and little accent on the employee.

It's great that you can fire people when you want, but it sucks if you're the one getting fired.
He's kind of tilting at windmills, here. It's true that there's a lot of hype about concurrency, etc.

But take Clojure, which AFAIK is the only real system people are actually using that places STM front and center (except maybe something in Haskell land). Rich Hickey is the furthest thing possible from a shyster.

For example, he never claimed that STM is faster than manual locks, just that it's an order of magnitude easier to write correct programs - which seems to be borne out in actual experience. Yes, there's a not-insignificant overhead. But for most programs it's still probably worth it.

Similarly, the claim that STM isn't any good because most computational resources aren't memory is a complete red herring - STM is quite useful for memory management, and for other resources, well, find a different strategy. It doesn't stop STM from being quite useful in its domain.

All in all, this sounds more of a luddite rant than a reasoned opinion. It reminds me of what I've read of the initial objections to managed memory or even high-level languages themselves. Of course a lot of the technology isn't there yet. Of course a lot of it is going to be rabbit trails that ultimately don't deliver. It still doesn't mean it's not the future.
My last job had a pretty good vacation policy:

20 PTO days, 13 holidays, office closed between Christmas and New Years
They're also havens for disease like fish lice, viruses, and bacteria that infect themselves and the surrounding communities of fish.
Remember that word spacing was invented only in the 12th century. Ifyoutrytoreadseverallinesoftextwrittenlikethis, you'll quickly find that you lose track of where you are in the text fairly often. That's why Boustrophedon was invented and used, and that's why it became definitely obsolete after word spacing was invented.

You can read more about this in Paul Saenger's and Frances Yates' books.
Software engineer is a programmer and a developer, since he applies ideas and knowledge to develop software using programming as a tool.
Wow, I've seen funny stuff in datacenters, but that's quite hilarious. Even the shoddiest datacenters I've been to had door alarms, i.e. an alarm would go off when a door stays open for longer than 30 secs. I was told that opening an emergency door normally also triggers an alarm immediately. But surely all those alarms can be disabled by trained personnel... ;-)
I think they're more or less interchangeable at that level.

One might think of an engineer as someone who designs an application / product, but offhand I cannot think of any methodologies that explicitly have someone "design" a system without building at least some of it with the exception of business owners / analysts.

On the flipside, my current job title is "programmer," yet often I am involved in fully designing AND developing the piece of the program I am currently working on - that literally covers from business rules to support, including relevant documentation.

I would consider developers to be in the same bucket as a programmer, as (in my head at least) there are far more similarities between the two than from developer to engineer.

Ideally I would expect the following assignments:
Engineer: High level of expertise, designs system at a very granular / technical level for:

Developer: The person(s) who builds the specified system, but whose role is mostly overseeing the build process. Also high level of expertise, something of a managerial role, but also knowledge library for use by:

Programmer: Person(s) who build the system. Relevant documentation can be delegated to the developer possibly, depending on actual involvement.

The feedback channel would just reverse this order. Programmer -> Developer -> Engineer.

Also before anyone gets all crazy about it, this is completely off-the-cuff based on my experience in school / the industry.
In MongoDB this is not possible:

> db.test.insert({"foo.bar": 1});
Mon Jul 26 14:24:39 JS Error: uncaught exception: can't have . in field names [foo.bar]

After all that's only natural, because the dot notation is supported in queries.

For example, consider storing an e-mail in MongoDB:

{
content: "<p>HTML mail. <img src="cid:1234.0" alt="from attachment"/></p>",
attachments: {
"1234.0": { some details about the attachment }
}
}

This is not legal, but in this case it's of course easy to work around (have attachments in an array and have the CID as a value instead of a key).
Doesnt extend to channels because that wasn't part of the original joke which resulted in the issue. Basically in the course of the joke ( which was only good if you really followed it ), it became something that actually bothered me - ie volume on 63 instead of 62 or 64 etc.
To me it seems that the post almost solely focuses on Europe's negatives and China's positives as well.
This just isn't true.

The YUI minifier, for example, works perfectly fine without semicolons in the original. Equally, the Google Closure Compiler does also.

If you're using a minifier that just removes new lines and suffers without semicolons, I think you should rethink your minifcation process.
C is more flexible on the performance and memory usage side.

That's my point. Abstractions are great, I love Lisp and Haskell. The problem of more complexity isn't completely solved by using better abstractions, because you still need to look at the performance and memory usage, as long we have a limit there.
Sovereignty and the Citizen Ship: Gaian Earth Systems
Me either, seems to go from one extreme ("Can't touch the employee") to another ("Yeah you can dump them if they dress badly"). I'm hoping to attribute it to just the way it's written though but it does come across like you said.
Sovereignty and the Citizen Ship: Universal Declaration of the Rights of Peoples
Thank you. I'm reasonably confident in my progress. The hardest part is realising, that you may never be able do again, what you once did. I think I'm there now.
F.lux adjusts the color of your computer's monitor to match the time of day. It's warm at night and like sunlight during the day.

I've been using F.lux for a couple of months on OS X. The orange color at night looked a odd to me at first, but now I don't notice it.

F.lux can help you sleep better: http://www.stereopsis.com/flux/research.html
i find it hard to take this angry rant seriously.

if it were much more calm, with rational arguments and justifications, i might actually agree, or at least agree to disagree.
Well; yes and no. If it's really difficult to fire people, like it is in many places in Europe, hiring is also less likely to happen. People tend to cling to jobs once they have attained 'unfireable' status.

An alternative solution: make firing people easy, but provide some support to those who get fired. That has costs and benefits too, and is a discussion probably best left to another site. Its main benefit is that it moves the provisioning of "social assistance" from companies, who are no longer forced to hold on to unproductive/unneeded workers, to the government.
SEO Infographics:elliance rocks
Continuous Deployment at kaChing
I disagree. I think the author is unjustifiably extrapolating conclusions from a C/kernel development world to the rest of software development. For example, a bunch of systems use the "green threads" model. Erlang SMP is one. Erlang SMP is unarguably successful. The referenced article on STM confuses parallelism with concurrency[1]. They test on a bunch of benchmarks that are mostly 1) not concurrent and 2) for performance rely on fast numeric operations that have a vastly different level of granularity to typical business ops.

[1] Parallelism = speeding things up by using multiple cores. Concurrency = modelling a system that naturally has different activities going on at once. These are not the same thing.
Absolutely. Also, always use "var" in your variable declarations. I can't count how many times a scope issue bit me in the ass b/c of a missing "var"
> It could be applied only for an odd number of lines, if they even happened to know in advance how many lines it'd take.

I think when you are working in stone, you have your text prepared in advance.

(But what do I know? Just the other day, I took a week and dashed down my grocery list on some granite. Turned out to be an even number of lines.)
Shenzhen, beside Hong Kong.
I've been using it for a month or two on Windows and am quite surprised how much I like it.
"The scholar seeketh daily increase of knowing; the sage of Tao daily decrease of doing. He decreaseth it, again and again, until he doth no act with the lust of result. Having attained this Inertia all accomplisheth itself. He who attracteth to himself all that is under Heaven doth so without effort. He who maketh effort is not able to attract it." - Tao Teh King, Chapter XLVIII (Crowley's translation)
I have noticed a disturbing trend used in the defense of many NoSQL products --> When faced with criticism point out that there is version n+1 now available and they should have used that, it would have fixed everything, etc.

We've seen this, ironically, in reference to many MongoDB horror stories, so it's interesting that in this case it's the case where someone is moving to MongoDB.
I think anyone who is taking the ballsy step of moving from Europe to China is likely to focus on things that way round.

I wish him well in his new venture, even though I'm quite content to stay here in boring old Europe.