skysight-inc/HackerNews huggingface dataset:
Don't sweat it. Try to get involved in a project that is from scratch, that way it won't be an issue.

I'll share my own story, having gone thru just this recently.

First I went thru Michael Hartl's tutorial back in Dec:

http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

I believe it was in 3.0 at the time, now been updated to 3.2. No matter. I found a local business who needed something done but had never done more than Wordpress sites. I offerred my services pro-bono w/ a small equity share on the condition I could be mentored by a very sr. guy. At first they said "no, we want just one engineer solo on this". I said good luck with that and they got back to me two weeks later with a very sr. guy to give direction.

Beyond Hartl's excellent tutorial, which in printed form is probably 500 pages or so and will take maybe 40 hours of dedicated work, I highly recommend the Rails guides themselves. Just the getting started guide alone is chock full of info on getting a basic blogging platform together. In doing this project I have reviewed the majority of the Rails guides back and forth, read countless Stack Overflow threads, blog posts, rails casts, etc, and generally spend about 20-30 hours per week above and beyond my day job. The magic in this is that you will have to filter through a bunch of examples that may be several years old and are targeted at various versions of Rails, so you will sort of distill the differences in versions/idioms by osmosis in a way. If I had to take on a 2.3 code base at this point I doubt it would hinder me much.

Where do things stand now? Well, my current project is about to hit customer beta and my mentor has asked me to come along with him on another project for a client in NYC. Also I applied to a local early stage startup and despite having only 3 months under my belt they're considering bringing me on (they were looking for someone with 3+ years, but I learn quick and am very motivated :). If I get the job I'll likely take it (it's something I really believe in, potentially world changing stuff), say goodbye to the Windows enterprise world forever, and forgo doing further contract work for the time being as I won't likely have the time. My main interest now is getting good as quickly as possible. Long term, maybe this company will take off and I'll have the time of my life, maybe I'll strike out on my own startup, or maybe I too will pull $150/hr on contract. Who knows.
Generalized monad comprehensions in Python (warning: evil hack)
And then != than in his post as well. I think it struck me particularly because it was in the same paragraph that he was discussing his unaccepted correction of the corporate copy :/. Proper spelling and grammar are important even in casual writing.
I'm very much in favor of shorter copyright terms. 15 years is probably too short, but closing in on 100 is clearly too long.

However, we all know that that vast, vast majority of piracy is of newer works and isn't at all related to the fact that copyright lasts too long.
In this vein, there's actually still a Rails 2.3 version of the Rails Tutorial online:

http://railstutorial.org/book?version=2.3
We manage it for doctors, lawyers, accountants, airline pilots, architects...
I did check the reply on reddit and on my bloghttp://miemagazine.com/2011/09/06/how-i-got-some-cofoundersf... . I got some guys for my project www.ziliot.com
what're you working on at csail ?

do a year and then take a leave of absence..
Ardennen: op adventure in Durbuy
There are things about coffeescript that I just don't think are good ideas, like "unless" or "if" at the end. The person reading the code will think "Ok, now I'm doing x ... oh wait I'm not". the flow of it is just backwards.

The "myFunction(item) for item in array" syntax also seems wrong way around. You use "item" before you say what it is.

I'm not an expert. These are just initial impressions, but coffeescript seems to have some good ideas, but tries to do too much. It would be interesting to see what thought process went into deciding to include certain constructs. Was it just an experiment? Are there reasons that might persuade me?

Ultimately the better JavaScript is also going to be JavaScript.
As a developer who's been following (albeit not too fastidiously) the progress of Bitcoin since it's emergence, I still have no idea how to accept Bitcoin payments. Is there something like authorize.net (or better yet, Stripe) for this? Bitcoin API bindings for the languages du jour would help adoption I'm sure. Though, maybe there are libs out there already and I'm just not aware of them
In Javascript it wouldn't be an extension method though, but a function with a dynamically bound `this` (similar to current function behavior)
I'm a C fan as well but really like Scala for certain domains. There is complexity in Scala but it's layered in a way that I think is able to support that complexity long term.

I think a lot of this is addressed in the "Programming in Scala" book.
I think I've figured Scala out. It's a statically typed JVM language meant to be more powerful and at the same time easier to use than Java. It's a functional language. Though, it's also imperative. And object-oriented. It favors immutability, except that mutability is just as easy (or hard). It has adopted the actor model. But it has also adopted all of Java's concurrency constructs. It was designed as a very practical language. And it's also a research language with some experimental features. Oh, I almost forgot: it is meant to be a high-performance language. But it's also designed to build DSLs. It's a very opinionated language in the sense that it's opinion is that all opinions are valid.

So I must say that any difficulty you may have understanding what Scala is trying to be is due to no fault of Scala itself. It's very simple, really (well, to be precise, there are different tiers of simplicity in Scala, but I can assure you that each tier is quite simple once you've mastered all the design decisions, and category theory, that fully, consistently and self-sufficiently define the simplicity of the respective tier).
the big lesson here is that the problems with their business were forseeable, this is the type of thing i would want to get sorted before and during the interview process.
So if I understand Facebook privacy settings, and everyone I know well also understands and uses Facebook privacy correctly, and even the most non-technical person I know, my mother, also understands and uses Facebook privacy settings correctly...

Just exactly WHO are these mythical people who don't?
they already have a mobile SIM card that acts as a credit card..this is why Smartphones will take longer to uptake there due to the different SIM card not necessarily the phone device price.
Can't you assign the function to a var and invoke that in the function body, like in Coffeescript? Otherwise I'm missing something.
Free Premium Files For April 2012
It does depend somewhat on where you are now. Second year of grad school? Fresh out of college? Fresh out of high school?

Some people go for that Ph.D. to get a good-paying job in a big institution, typically bumping along a professor's pet project for a few years before they publish a lengthy, painstaking, and never-read-again dissertation. You don't have to go at it that way.

Consider doing both at the same time. A tiny minority of Ph.D. students will drive at something that is both their passion and capable of supporting a great business model. If you have a decent professor (the kind that wants to change the world as opposed to the one that wants slaves) it is possible to go that way.

Alternatively, you could do both at the same time and leave with a Master's or no degree once your startup requires more of your time. I believe the founders of Google followed this approach.

My first startup I did in parallel with graduate school. The two subject matters had zero overlap, and that had its benefits too.
>"Today is World Backup Day "

Oops, looks like I forgot

\slow grin\
An opportunity for aggregators?
The same comment, from two different accounts. Both related to Google products. Is this the 2012 version of "Netcraft confirms that BSD is dying"?

solsenNet 32 minutes ago | link
This looks... erm ... neat. A "sophomore OpenGL term project" kind of neat. Baidu on the other hand does the maps right [0], which hardly surprising given their 20 years of head start. On a more general note, this reminds me of old Microsoft's tactics. Google should really stick to the search, but instead they throw together something that mimics competitor's feature. Something that looks more featureful and which is free, but upon closer inspection is effectively a half-ass effort, because it's an entirely different domain that's not their specialty.
[0] http://map.baidu.com/?newmap=1&l=15&tn=B_DIMENSIONAL....

huhtenberg 23 hours ago | link | parent | flag
This looks... erm ... neat. A "sophomore OpenGL term project" kind of neat. Wolfram on the other hand does the graphs right [0], which hardly surprising given their 20 years of head start.
On a more general note, this reminds me of old Microsoft's tactics. Google should really stick to the search, but instead they throw together something that mimics competitor's feature. Something that looks more featureful and which is free, but upon closer inspection is effectively a half-ass effort, because it's an entirely different domain that's not their specialty.
[0] http://www.wolframalpha.com/input/?i=sqrt%28x*x%2By*y%29%2B3....
SynBio Startup Launchpad
Richard Branson launches Virgin Volcanic, journeys to the center of the Earth
It's important to be social (people want to work with social and nice* people) but it's probably not important to be a socialite--you know what I mean. Just remember that life is a social event; you're going to meet people all the time. And like with anything in life, you get out, what you put in. So don't be afraid to put in a little work in all avenues of your upcoming venture.

Be nice to everyone you meet; niceness should not be underestimated. Even if it's not important to your company, it's important to you.

I remember stepping outside of a tech 'mixer' packed head to toe with millionaires, and seeing a bottle picker, he asked me what was going on and I told him, and we chatted about our 'entrepreneurial spirit' and he gave me some wisdom on the art of hustle--he was by far the most influential person I'd meet that night. You never know, who'll help you on your way, or who you can help--so always be social, and always be nice.
I'm an introvert, and I've done a lot of pair programming. I've done a lot of solo programming, too. The InfoQ essay makes a fundamental mistake:

Being an introvert isn't the same as needing to work alone.

Introverts gain energy from focusing on the "internal world" of thoughts and ideas. Extroverts gain energy from focusing on the "external world" of socializing and interactions.

So, as an introvert, I can do just fine as a public speaker, consultant, and yes, pair programmer and Agile team member, because those activities are focused on thoughts and ideas. (I don't do so well at parties or conference ice-breakers, and that's fine.)

The other error I see in the InfoQ essay is that it conflates "Agile" with "decision by committee." It's true that Agile teams work in, well, teams, but that's not the same as everybody being involved in every decision. Team members on a high-functioning team know who on the team is best at what, and they automatically delegate everyday decisions to the people most qualified to make those decisions.

It does take a while for a team to reach this level of capability, and the early stages of team growth can be uncomfortable and difficult, often with too many meetings, but that doesn't mean that "Agile" == "decision by committee." It just means that smooth-running work takes time and practice. No surprise there.
The last few winners of the world record for fastest text messaging used Swype[1]. The fastest thumb-text record holder was 45 seconds[2], the fastest Swype record holder was 25 seconds.

Anecdotally, I used a phone with a keyboard and two-handed typing for 3 years, and my speed went from about 18 WPM to about 40 WPM after a month on Swype.

[1]: http://www.guinnessworldrecords.com/world-records/8000/faste...

[2]: http://www.msnbc.msn.com/id/5319376/ns/technology_and_scienc...
Thanks for comment. I think this is really not so rare nowadays.
As promised:
Security was an important part of the design of Fabric. What security means depends on whether Fabric is running standalone from the command-line or as a browser plugin.

When Fabric is run from the command line, we are in general unconcerned with security. This is because Fabric is run like any other program on a computer where the software is deliberately installed by the user. Fabric runs as a module for Node.js or for Python, and runs with the same security credentials as Node.js and Python. Like Node.js and Python, Fabric will only do what you explicitly tell it to. Let us be clear: this is the context in which you might use Fabric for server-side work, much as one does with Node.js, Python or Ruby.

When Fabric is run as a browser plugin, security is a major concern because a Fabric application (or, more precisely, an in-broswer application that wants to use the computer the browser is running on to run code) specifies code that is compiled and executed on the machine running the browser. To prevent the usual types of exploits, the language KL in which the Fabric operator code is written is both pointer-free (like Ruby, Javascript and Python) and provides bounds checks for all array accesses, throwing an exception for any out-of-bounds accesses (like Ruby and Python). Access to third-party code, which does not adhere to the same pointer-free and bounds-checked rules, is done through our extension mechanism, and extensions, besides the default extensions provided with Fabric (that are just wrappers for common open-source libraries), must be explicitly installed by the user -- it is not possible to make the user's browser automatically "download" an extension.

Of course, you are wise to question whether you can "trust" our security model. Fortunately, if you're really in doubt, you can simply look at our code, which is open-source; we believe this already places us ahead of common browser plugins, such as Flash, to which could be posed the same questions but for which one cannot audit the code.
Agreed! I am happy to have such smart people helping us develop the system
It's funny how when someone on HN says, "My method works well, but there are some pathological cases, like X" someone else on HN will invariably reply with, "Yeah, but I don't see why X would be an improvement."

This is a bad practice not only because it misrepresents the original thought (the person was not claiming that X was an improvement, they clearly called it pathological), but more perniciously it subtly erodes the (altogether sensible and honorable) habit of good people to give full disclosure of their ideas and methods. To put it simply: attacking someone on the weaknesses that they themselves have revealed about their own process or idea is neither fair nor useful, and does not contribute to the discussion.
I don't think you'll find any arguments that the US government doesn't have insane double standards and sexist laws. But I doubt you can make that kind of claim for any government, really, since they're constructed by people - to get rid of it, you'd have to get rid of it in people, and I'm not aware of that ever having happened.
Couldn't agree more. Intense can be due to working on really hard problems (or even the extra time/energy to learn something new). Just as easily, it can be due to poor planning or improper communication within the company. Unfortunately, if one is passionate about doing a good job and enjoying what you are doing, you might not be able to realize when your extra efforts are really the expectation than what should be the norm.

The fact that the OP was able to grasp this particular issue so early on shows a maturity and insight that even senior engineers who go to work at startups might miss.

I know I've had my moments.
Why was this voted down? This doesn't make sense because the kid wrote the blog post to get noticed by YC and he succeeded. If Paul Buchheit of the YC team says "looking forward to meeting you :)"

Then the crafty bugger succeeded in his goal of raising awareness.

Figured I'd point this out incase the guy doesn't realize he succeeded lol. People on HN have been much more aggressive with the downvote button lately :(
and now my osx is like my emacs - nobody can use it except me, and i can't even keep my configuration straight across all my machines.
Will be awesome to see more of what we get from pypy. Eventlet will probably gain a lot too, for those with a taste for the implicit eventloop.
My point was that there is not one perfect solution that fits for everything, this approach is negative as a whole. This video is just from another industry where they tried it in another area. It shows the corporate mentality in tackling problems.

The reality is much more complex especially when it comes to people with different needs. This makes it probably more difficult for companies, but when they produce software they have to invest in finding the best "solutions".
I'd like to make one small plug for http://www.Backblaze.com

We're an online backup service that provides completely unlimited storage, external drive backup, versioning, etc. for $5/month. (And we're the Presenting Sponsor of World Backup Day.) We also open sourced our 135 TB Storage Pod for anyone to use.

If you're not backing up - please start! (Using us or something.) If you are, please help your family and friends who almost certainly are not.
Yeah, but not totally. For instance, you can always guess what a GET does. There are properties of the established verbs that you can expect.
I would have loved to see what these guys have to say about Scala critically, but that's not what they are doing, this is a half baked unfunny joke that does not inspire any debate, only flaming and bashing. Is good that you talk about fanboyism because that's what this article is about, clojure fanboyism to be precise
Yeah, I'd chalk this up to poor management. Any manager who doesn't listen to "hey, you have a serious problem here" isn't doing their job.
For me, it depends on the cubicle and the layout. I didn't mind working in a cube environment where our team was "clustered" together. We all had our private work areas, our personal space, but the entire team was a stones-throw away if we needed to collaborate or hold an impromptu meeting.

Prior to this reorganizations however, it was miserable. My cube was between a sales guy and a customer support manager who would take support calls on speaker phone, in his cube, with members of his team all crammed in.
My first instinct was to look under the hood for some sprites I could use for a map based game. No luck, all the cool building/characters seem embedded in the the actual tiles.

Is there any way Google would try to make an actual game out of this? I know there are other successful online 8-bit-ish RPGs that use the Google Maps as a base...
But it is related to a fact that copyright holders prevent people from convenient access to content in order to squeeze more short-term profits.

For example, tomorrow I'm going to pirate Game Of Thrones S02E01 because there is no way to obtain it where I live: legally, in English, with subtitles, tomorrow. Mind you, many people would still pirate it anyway, but I'm ready to pay, let's say, 5$ if it was possible. And I might even reconsider my position on piracy.
It's not so I'm going to pirate it and I feel no guilt because they've violated the contract: they provide content, I pay money.

The only way to fix the situation is legally force them to deliver. This way they lose some short term money, but they gain loyalty, crush piracy and win in the long term.

Same with music. Streaming services already eat at piracy; but not every musician is available on those. Same with books.
>> "especially if you visited the dealership at the end of the month."

surprised no one else has mentioned that tidbit. If the dealership closes out metrics at month-end, they'll be in a deal making frame of mind at that point. ++ if you can snag a salesperson that hasn't been doing well.
If it came across that way, I'm sorry - I'm genuinely curious why such machines don't convert what was typed into English. In the past it was almost certainly a lack of computational power (or zero) - what about now? I was only asking about the reading portion, the writing is pretty clearly faster.

I'm not in any claiming that they should be typing on QWERTY. I'm wondering why the pathological case exists at all when it seems it doesn't have to, and if there's a reason for it that I'm not aware of. Maybe there's a market for machines like this to spit out English, maybe there isn't, but I'm not in the field so I really don't know.
ShiftIt is a great open source alternative for window managing in OSX as well.

https://github.com/fikovnik/ShiftIt
From wikipedia: A prime number (or a prime) is a natural number greater than 1...

Edit: apologies, didn't read the "PM" after one. Of course 1300 is a prime of the same pattern, however unlucky it may be.
> It would be interesting to see what thought process
> went into deciding to include certain constructs.

Happy to oblige. There's plenty of reading material and conversations about most language decisions available here:

https://github.com/jashkenas/coffee-script/issues?direction=...

As to the existence of (optional) postfix "unless" and "if" -- does it also sound backwards to you when someone says:

"Call your mother if it's her birthday."

... in English? If that doesn't sound so crazy, then consider the CoffeeScript:

call mom if mom.birthday.isToday()

It's a little thing, that hopefully you can take advantage of to make short conditionals more readable then the JSLint-style JavaScript:

if (mom.birthday.isToday()) { call(mom); }
Scientists have proven that, up close, your brain is plaid
Broken record:

Remember that attr_accessible does NOT mean attributes that the application can change. It does NOT mean attributes that have automatic setters and getters. Even if an attribute isn't listed in attr_accessible, you can still write controller code to work with the attribute!

What attr_accessible means is "attributes that can be changed via mass-assignment, through #update_attributes or #create". These are the attributes that you are allowing users to change without supervision.

Keep attr_accessible minimal. Avoid the temptation to list every attribute your application will allow users to change. You can always write line-by-line setters, like:

u.role = params[:role] if role_safe?(params[:role])

If you don't keep your attr_accessible statements minimal, you can end up with mass-assignment problems even when you have whitelisting enabled.
Backblaze looks like a great service, but like other cloud-based backup services, it does not store "your operating system, applications, and temporary files."

Out of curiosity, why is this? Are there copyright issues involved?
This is quite possibly the case. OS X doesn't normally ask for your password once you're logged in except when you're doing something that will affect multiple users (e.g. updating the system). The big exception is when it has somehow lost your keychain password, in which case it will ask for your password every time it needs to look at the keychain.