JustAGeek
The MAO Model: Research for Behavior Change
The Case for Tinkering
What I've found the most value in, is that you get to pair with 6-7 different programmers you've probably never met before - and thus you get to learn how other people approach the problem, you'll learn how your skills compare to those of others and you'll also learn a lot of little things, e.g. IDE shortcuts you didn't know of.
And you usually get to program in a language you might not be familiar with.
I've already attended two code retreats and it was very, very well worth it!
Learning Ruby: Gotchas and Pitfalls for PHP Programmers
You should not. As soon as a feature has got released to all users of a software, you won't be able to disable it without some users becoming really dissatisfied.
The solution is not to release a new feature to all users.
Before even thinking about releasing a new feature, first ask yourself:
What is the goal of this new feature?
The answer to that question is your hypothesis, you need to try to answer by experimenting. That is, perform an A/B-test:
Launch the feature to a subset of your users and check if it achieves its goal. This goal must of course be measurable and ideally there are KPIs that you can use to check the success or failure of your experiment.
When the experiment is successful you deploy the feature for all users. If the experiment fails, you remove it for the subset of users and the rest will never know about it.
This also helps the codebase to stay clean, features not making it into the product, is code not making it into your codebase, which means less code to maintain, less complexity.
Book Review: Eloquent Ruby by Russ Olsen
1. Edit some files
2. start git gui and commit
3. repeat 1+2 as many times as you want
4. git svn dcommit
5. all local commits will now be committed to the SVN repo
I've been doing this for almost three years now and haven't had any major problems yet.
Except for: Merging. Since SVN 1.5 (or so) merging in SVN got less painful because from then on when merging, SVN tracks which revisions have already merged from one branch to the other.
AFAIK it does so by saving the merged revision ranges into the svn:externals as meta data which can then be used for the next merge operation to prevent changesets to be merged twice into the same branch.
However, when you merge with git-svn this information will not be recorded, so the next person merging with SVN will probably run into problems.
Solutions:
a. you don't merge with git-svn
b. anyone merging with SVN explicitly tells SVN which exact revisions to merge
You can still use local branches of course and as long as you only merge from one local branch to the other with Git, there won't be any problems.
At my work place we luckily pretty much only have trunk and very, very short-lived branches, so this isn't an issue for me.
A correction, while the fact that SVN creates a copy of the entire code, when you create a branch, it isn't as horrible as it sounds, from the SVN documentation:
"When you copy a directory, you don't need to worry about the repository growing huge—Subversion doesn't actually duplicate any data. Instead, it creates a new directory entry that points to an existing tree. If you're an experienced Unix user, you'll recognize this as the same concept behind a hard link. As further changes are made to files and directories beneath the copied directory, Subversion continues to employ this hard link concept where it can. It duplicates data only when it is necessary to disambiguate different versions of objects."
( http://svnbook.red-bean.com/en/1.5/svn.branchmerge.using.htm... )
That being said, the day my company will finally switch to Git will by a happy day... :D
The others can be found here: http://peepcode.com/screencasts
Furthermore, there's http://www.cleancoders.com/ by Bob Martin. For several of the available episodes there are screencasts available in which he TDDs on some task, e.g. here: http://www.cleancoders.com/codecast/clean-code-episode-3/sho... Those screencasts are bonus material, so to speak, the actual episodes are well worth the watch, too.
All those screencasts cost money - but imho they're very well worth it!
I'm not the guy you replied to but I didn't know what to expect when I followed the link, I had no idea what "Nyan Cat" even means.
But it's on Hacker News, so it would be something interesting and valuable, right? ;)
He wondered how to get around this and his solution is IncludeJS which allows to write the business logic in Javascript and use this code in BOTH Javascript and Ruby. He gave a talk about this during the Railsconf 2011, here's the URL where you can find the abstract and slides which provide some more details about this:
http://en.oreilly.com/rails2011/public/schedule/detail/19412
IncludeJS - Use CommonJS modules inside Ruby/Rails
https://github.com/walski/include_js
A friend of mine found himself in the situation of having to implement the same business logic in both Javascript and Ruby.So he wondered how to get rid of that duplication. The solution he came up with is IncludeJS which allows you to implement something in Javascript and use that code _both_ in Javascript and in Ruby.He gave a talk on this topic during RailsConf2011, which provides some more...
Happening with FF 3.6.12 and Ubuntu.
Example right on the homepage, clear communication what it does, great list of examples on the other pages - way to go! :)
To override this simply use --no-rebase.
So it's not totally worthless.
My personal switch from SVN to Git was rather painless but that's probably because I "only" used git-svn and at first used Git pretty much like I used SVN and then step by step explored the possibilities offered by Git like local branches etc. pp.
That's what I'd recommend to anyone making the switch, first try it out with git-svn, don't use every new feature at once.
DVCS is a completely different paradigm, it requires some time to wrap your head around. :)
That's the minimum, most people I know have 28-30 days. On top of that you can get up to 5 days of paid educational leave.
The article as a whole is quite superficial, imho.
Not sure if those working in big companies like Deutsche Telekom or Daimler would agree to the claim that Germans don't have many meetings, for example... ;)
I'm tend to read more tech books than other genres, so if code becomes hard to read, then the Kindle would not be for me...
Good (and as so often, kinda obvious ;) advice.