Saturday, July 30, 2011

Git: In Theory and in Practice

I've just published a new course over at Udemy: Git In Theory and in Practice.

I've been using source control systems for 10 years or so, and Git for over three years now. It's amazing how some of the fundamental differences in how Git accomplishes the same goal as most other SCMs lead to a much better developer experience and open up unexpected, new, powerful ways of working. 

Take branching, for instance. Branching is a fairly straightforward idea, but the cognitive load placed on you by other SCM tools like Subversion, which make branching such a high ceremony process, make it almost certain that you won't use branches except in very important situations where branching is absolutely necessary. Git makes branching so easy because a branch is really nothing more than 40 characters written in a file that points to a commit. It's painless to make a new branch, merge a branch into another, and with a little more study you can learn how to re-parent a branch, change the commit order on a branch, and so on.

Git has at least two extra layers of "staging" - the Index, for staging commits, and the fact that it needs no remote server to commit changes to the repository. Consider commit order. Because Git is distributed, it makes it much easier to make your branches look the way you want before you share them with others. That power and safety allow you to work the way you want to work, and then take the time later to think about how to make the repository look the way you want.

I learned Git in large part thanks to Peepcode's screencast and Scott Chacon's awesome Git internals PDF, also from Peepcode. To a large extent, Git is a known technology. Lots of people use it. Why would I want to create a new screencast to teach people a fairly common technology? Well, I still think Git is not as prevalent as it could be, and I think even when it is, I've observed people that use it either only scratching the surface, or applying patterns learned from other SCMs. That's why I wanted to make a course that taught not only how Git works, but how it does what it does and to show examples of situations where developers can easily take advantage of some of the power Git affords them.




Posted via email from Tony Hillerson's Posterous

Monday, July 25, 2011

[Spoilers] Review: A Dance with Dragons

Luckily I didn't have to wait six years; only three. It was a long wait, though, with more waiting to come. Was it worth it? Be warned: Spoilers.

I think A Dance With Dragons is a mixed bag. Don't take that to mean that I didn't love it, devour it, and plan on reading it again soon. No, It's a great book, and a great addition to a great series - my favorite series, excepting The Lord of the Rings of course.

The reason it's a mixed bag for me is that even 1k+ pages isn't enough to provide enough payoff for all the threads that GRRM is spinning. A lot of people didn't like the previous A Feast For Crows because it didn't have favorite characters and didn't advance all the threads far enough. ADWD is the other side of the same coin. It goes further than AFFC and starts to tie together some of the threads from that novel, but there's still not a lot of resolution to too many of the threads. I don't want full resolution, of course. I just want some. Instead there's a lot of piece-moving. Martin has yet to open his full game. Far from it, in fact, he's still introducing new pieces!

I think ADWD will be great reading when part of the full series, but I can't be satisfied with it now. Of course it's good for Martin that I want more, but he still hasn't stopped raising the stakes. I think he can pull it off, but it will need to be a really big payout the way he's playing it, and we're not going to get it for at least another four or five years! Hurry up GRRM!

So, let me just break things down by region and then character:

Accross the Narrow Sea

Tyrion - Our favorite little guy is back. He has a lot of POVs in this book, so we get plenty of Tyrion. Tyrion is stuck wrestling with demons though, and I was (only slightly) a little dissapointed by that. He get to see him cleaning up a bit, going cold turkey, and maybe dealing a little bit with his issues, but he doesn't really progress that far in his personal journey. That's really fine, given that we'll see plenty more of him, I'm sure, but the Tyrion I liked best was the one that, dispite all that had been thrown at him, meant to serve the realm Justice. To be sure, this was sure to spite his sister, which is a win for him, but his talents were put to a good use for the most part.

Here, though, we see his talents wasted a bit on scheming and throwing a wrench into other people's plans instead of us getting a clear insight into Tyrion's own plans. We know he has them, it's just that here we see the wit wasted on being a gadfly. I think Tyrion has some big plans, to be sure, I'm just left wanting a lot more of what Tyrion is good at. Can't wait for the next one.

Griff (Jon Connington) - A suprise blast from the past. We hear a few things about Jon Connington, but never really enough to prepare us for his arrival on the scene. He's a late arrival, and shows GRRM opening up a new front in the battle for the Iron Throne, even at this late date.

I tend to like honorable characters, and Jon is one. He's got some demons in his past, and some rough times in his future too, with the Greyscale moving up his arm. He's cool, and I hope we get to know him better because of his late introduction.

Young Griff (Aegon Targaryen) - Whoa. Suprises. Aegon wasn't killed when The Mountain smashed his head against a wall, that infant turns out to be a peasant's son. At least as far as we know. He sounds like good people, but it's hard to say. It's also hard to say how he's going to play things re: Daenarys. I think I like him so far, though. Varys definitely has some good words to say about him, once we find out the double game he and Illyrio seem to be playing. Wheels within wheels. Again, not enough to be satisfying, just enough to set the stage for things to come.

Jorah Mormont - I still like Jorah. He's a little pissy these days though. He's gone through being a slave now, though, so he's had a little karmic payback during his exile. We don't really get a lot out of him during this book, though. He's a piece that's now moved into place for an important part of the game still to come.

Quentyn Martell - Well, Quentyn wasn't quite what I was suspecting, but he turned out to be a good character. Good in that he wasn't some heroic 007 guy on a secret mission, he's a kid forced into a situation well beyond what he can handle, due to Dorne's great need. True to GRRM's style, reality is served by Quentyn making bad choices and ultimately failing and getting his ass good and burned. I felt a great sense of loss and sorrow at his passing. Quentyn's story was a classic GRRM move. I wonder what Quentyn's death and Aegon appearance mean for Dorne now. Hurry up GRRM!


Daenarys - Dany, just like Tyrion, feel lik they're in a holding pattern in ADWD. Mostly by design, I'm sure, but it just makes it worse that we waited so long to get as little forward movement as we got. Dany is conflicted now between trying to do right by her adopted people and trying to please herself with Daario. And the WHOLE TIME the dragons sit there brooding. GAH!

I will say, however, that Dany has the biggest payoff in this book. When she tames Drogon and shoots off into the sky (who but GRRM would write a dragon ride like an orgasm?) it was like FINALLY! Of course, then she's gone for almost the rest of the book. SO FRUSTRATING!

I feel confident that she's finally going to get her head on straight, though. Tame Drogon, use Drogon to get herself an army, get a handle on the other dragons and whomever's going to ride them, .... profit. I wonder how tough of a time she's going to have with Victarion though. AND WHO/WHAT ARE THE OTHER HEADS OF THE DRAGON??? HURRY UP GRRM!

Ser Barristan - I love this guy. I do get the sense that he's outgrown his epithet though, but that's fine, it doesn't make me like him less. He's got his own demons in his past, and age is against him, but he's in the right place and he's going to make some stuff happen, one way or another. He does more heavy lifting his this book than most of the other characters. Thanks, Barry.

Kings Landing

Cersei - Interesting changes to Cersei. Did the walk of shame unseat her mind? Has she lost her nerve? Now that she's about to get thrown back into the thick of the game, can she handle it? She's a grudgingly more sympathetic character for me. Not a lot, not as much as Jaime, and I still hate her and her style, but at least she's gotten a little of what she's had coming. Robert Strong, though - what's going to happen there?

The West

Jaime - I like Jaime now. Most of us do, of course, but he's proving to have as good a weapon in his mind as he used to have in his sword, and that's fun to watch. GRRM's just teasing us by putting him in ADWD, though. WTH, all of a sudden Brienne rides up? Not even any mention of rope marks on her neck? What's her game now? Is she selling Jamie out to The Silent Sister (my favorite of undead Catelyn's names)? GRRM, you're a tease and no doubt.


Doran Martell - The ever-cautious Doran is finally opening his game. He's managing to weasel out of the problems that Arriene and the Queenmakers caused for him, getting the Sandsnakes on his side, and even sitting one of them on the Small Council. Little does he know, though, that the board is set differently than he expected, and one of the pieces he was counting on ended up on the wrong end of a Dragonmaw. Again, Doran is just being moved into place by GRRM here. HURRY UP GRRM!


Arya - I wasn't expecting much from Arya this time around, but I was pleasantly suprised. We all probably guessed that the blindness was just part of her training, and it was great to read about that process. Especially the payoff when Arya smacks the master on the fingers and says "Come at me bro!".

It remains to be seen how her underdeveloped and only half ackowledged skinchanger abilities are going to affect her time at the temple, and how she's going to use them, and whether she'll start to realize what she has. I'm always hoping that she doesn't end up morally ambiguous. She hides it better and better, but she's still driven by hate and revenge. Still, even though she's really just being moved into place a bit more, it was one of the more satisfying parts of the story to watch it happen. Maybe just because it was unsuspected.

The North

Theon - Theon's a selfish punk, and caused a lot of trouble for people we really care about, but GRRM has succeeded in making us feel like he's gotten the worst of the deal. The Boltons are classic GRRM villains, but The Bastard of Bolton makes Roose look like kind of a stand up guy. Shudders. Theon's story had some treading water in it, but finally opened up and he got a chance to finally make the right choice. His redemption arc may end up being at the apex, but at least he's been part of moving some things forward in an interesting way. 

Asha - Asha's just along for the ride for most of the book. The only thing we really get from her is a POV. That's ok, because we see first hand how brutal Autumn is. How bad must Winter be? Winter is almost a character in ASOIAF, so Asha's POVs start to introduce us to that character. 

Stannis - Stannis is stuck in the snow. We're not sure how much to believe of Ramsey's letter to Jon Snow. I bet Ramsey got Mance, but I'm not sure if he's really killed Stannis. HURRY UP GRRM.

Beyond The Wall

Bran - We just get a little bit of a glimpse of Bran, but at least he makes it to the Greenseer. WHO TURNS OUT TO BE FREAKING BLOODRAVEN. Now we need more from the Dunk and Egg novels. How did Rivers get to the Wall? Why was he sent there? What happened to bring him north of the wall when he was the Lord Commander? What are his real powers?

Now I'm wondering about Mormont's ravens. Are they some of Bloodraven's 1000 eyes? Maybe even more Ravens than that? How much of a hand does Bloodraven have in all of the events in the Seven Kingdoms? What does he have in store for Bran? Will Bran end up part of a tree, but plugged into the Westeros Matrix?

The Wall

Jon Snow - The big one, at least for this book. Jon's story was frustrating because there was so much treading water here too. We get it - he sees the greater threat, and it's not the Wildlings. He has to convince the rest of the Watch, and it's an uphill battle. 

He's on a mission to save and harness as many of the Wildlings as he can, and he does a fairly good job, but makes, slowly but surely, enemies in the Watch because of it. The best thing that happens to Jon is lopping off Janos Slynt's head. That was a nice payoff. But after that his story was kind of boring.

Until the end of course. I'm not sure if GRRM expected us to take Jon's apparent death as a Red Wedding moment, but I'm more confused than distraught. Confused at why all of a sudden Jon decides to break his Vows and get involved, confused at what he thought he could gain, and confused at Bowen Marsh et al deciding that stabbing Jon was the right move. I wonder if Allister Thorne has a hand in this.

In any case, I don't buy the fact of Jon's death. There's too much else that can happen. For instance, since he's a latent skinchanger, will he end up in Ghost the way Varmyr Sixskins ends up in the wolf in the Prologue? What else was the Prologue for, unless to hint at a protagonist within the Wildlings still in the north that we won't see till The Winds of Winter? Will we have a Ghost POV to look forward to? Also, Mellisandre could raise him up Barric Dondarrion style, right? Also, maybe he just doesn't die - we're not sure. Or maybe he's dead. 

There's too many questions surrounding Jon's stabbing for it to be a classic GRRM beloved character killing - it feels more like a season finale cliffhanger death.

Wrapping up - I love the series. I want more, soon. ADWD is a great part of the series, but it's got more questions than answers, more gamepieces moving around than decisive moves, and ultimately just makes it very hard to be alive during the writing of this series. Hurry up GRRM! At least I didn't have to go through this with The Lord Of The Rings.

Posted via email from Tony Hillerson's Posterous

Wednesday, July 13, 2011