Book review - Version Control with Git - 2nd edition

by Ryan Thu, January 03 2013 08:43

This is a review of the 2nd edition. It's a good book but could be improved by including more detail on OSX and Windows with some links to graphical tools.

An easy read and makes a lot of sense for someone with existing version control knowledge (Subversion, CVS etc.).

If you are starting from scratch and have not used source control before then you’ll find all the new concepts too overwhelming. That’s not an issue with the book, it’s just not pitched at the beginner level.

The content is primarily focussed on the Linux tools but that’s not a problem as these have all been ported to the other platforms (client installation is covered early on). Because of this Linux focus the graphical tools are not shown which would be an easier way in for non-command line oriented developers. To get a decent understanding of Git I’m going to be using the command line for a month anyway.

My (minor) gripes over with, I would really recommend this book is used as a training aid, working through a chapter every day perhaps (some chapters are heavy or can be skimmed, you can always come back to them later). New concepts and terminology are covered well which is really useful as I’d no idea what Stash, Rebase and Reflog were about.

If I could have a wishlist for the 3rd edition it would be to include chapters on both Windows and OSX, plus a chapter on the top rated graphical clients.

In summary, buy this book. If you are new to source control or just don’t like the command line, supplement it with a decent graphical toolset such as TortoiseGit (you can find tons of them for most platforms at http://git-scm.com/downloads/guis and http://delicious.com/matthew.mccullough/git+gui).

Tags:

Blog | Book review

Get yourself trained (and fed) – for free

by Ryan Tue, August 14 2012 17:41

 

So there is a recession on and jobs are scarce but I regularly get job offers and I’ve got a stack of fun work piled up extending into next year. What’s that, you want to know my secret? Turns out I can be bothered and most people can’t. I’m not a ‘rock star’ programmer, just a general .Net, C#, VB, JavaScript, SQL developer. I know my stuff, but I’m not Alan Turing.

Before I tell you my secret, it’s not all dull boring work either. I have a Windows 8 project for controlling a three story tall robotic arm via a touch screen with some computer vision thrown in for fun. There is a high end e-commerce web site, warehouse administration system and some cool integration with a Raspberry Pi. Yes, I do have some boring grunt work too (don’t mention VAT rounding errors) but I’m using all of the latest acronyms and have access to all of the best tools.

So what do I mean by ‘I can bothered’? Simple really, I turn up to a user group once a month and learn something. That simple fact makes me more desirable to employers than most of my contemporaries. I train myself at little or no cost and I also go along to one or two of the yearly geek fests (Developer Developer Developer or one of the many days run by Microsoft).

Most of the groups are free or very low cost (to cover pizza and speaker expenses) and the paid ones are very sympathetic if you can’t afford the fee, just ask. I’m in the enviable position of being one of the coordinators for a group in Hereford. We have a small yearly charge (£89), but lest you think I’m just here to drum up business, you can come along for any number of sessions before you decide if you want to join.

What might you learn? The following is just from my group going back over a year; NodeJS, MVC, MVVM, SilverLight, WPF, NHibernate, Entity Framework, Windows 8, CQRS, Continuous Integration, Web Performance & Caching, IIS8 and WinRT. The presenters are top notch too, we’ve had Marc Gravell (Stack Overlfow), Jon Skeet (Google) and sometimes even a big Microsoft personality.

Although obviously not guaranteed, jobs do get offered at groups and I’ve had paid projects as well as finding capable people who can help me with my backlog.

The social aspect is pretty good too, most meetings provide geek friendly food halfway through (pizza and coke) and many of us adjourn to the local pub afterwards for a quick chat.

Oh yes, the swag. Most groups are sponsored too so each month we tend to give away in excess of $2000 of licences, t-shirts and books from software vendors.

Remember, 90% of success is just turning up, so take the time one evening a month and you’ll put yourself ahead of the majority of coders and have some fun at the same time.

Lastly; if I may abuse my position, a quick plug for my user group (NxtGenUG Hereford), we’ve got four great sessions coming up; Designing for mobile, CUDA (coding for parallel processing on graphics cards), oAuth and Simple.Web. You can find us at http://nxtgenug.net/Hereford.

 

Tags: , ,

Blog | nxtgenug | Rant

Fitness for Geeks - review

by Ryan Tue, June 19 2012 18:31

I found it hard to start this book because it meant I'd have to do something about my pot belly which is exactly the reason why I needed to read it. Not wanting to give up my beer or actually do anything approaching physical work I finally got to opening it up and was surprised that I enjoyed it.

 

First thing, it's for geeks as the title says. The blurb says any kind of geek (someone obsessive about a subject) but it tends towards software speak which might go over a lot of non computer geeks heads. Having said that, there is a lot of good advice that is understandable to all. Widgets and gadgets used to be the domain of proper geeks, now everyone uses them and there is a good chapter on these and how they can aid your progress tracking.

 

The content ranges from evolutionary fitness (is sitting in front of a screen really what we are evolved for) to a comprehensive discussion on food science (what are carbohydrates, High Fructose Corn Syrup etc) with plenty of other content (interviews, food choices, gadget guides, exercises). 

 

It can be very heavy going if you read it cover to cover but used as a reference manual or to help you plan your diet, activity or sloth a bit at a time then it works well.

 

In summary, if you want to track, report and manage your exercise regime in detail then this book has plenty of advice on what to look for and possibly what to buy. It's not a page turner, but then is any exercise book? Although it says it is for nerds of all sorts, you'll need to skip the computer bits if you are not a software developer.

 

So, have I lost my pot belly? Nope, I'm already following a lot of the advice anyway and for me personally, it just boils down to eat less and exercise more (more than walking the dog anyway).

Tags:

Book review

Quick hacks vs doing it right with MVC3 dropdowns

by Ryan Fri, July 08 2011 18:24

An obscure issue popped up today and it was a bit of a pain to track down. A user with IE6 (this is going to go on for YEARS) could not post a form back on a website because even though they selected a number from a dropdown list, it failed validation and told them that they 'must select a number'.

All the fancy javascript jQuery and unobtrusive data annotation validation was working, except for this glitch.

 

Now you can't just tell these people to upgrade their browsers (well, you can, but good luck with that) as they still represent a LOT of money in the marketplace, I'm talking about thousands of pounds a week for one site owner.

Luckily I keep a few virtual machines of XP with IE6 on them for just this and could see the same behaviour myself. The dropdown looks like this (in MVC3 Razor markup);

   @Html.DropDownListFor(i => i.Quantity, new System.Web.Mvc.SelectList(new[] { 1, 2, 3, 4, 5 }, "Value", "Text", Model.Quantity), string.Empty, new { @class = "dish" })

This is a quick way to generate a dropdown list and populate it with a range of values. It outputs the following HTML;

<select class="dish valid" data-val="true" data-val-number="The field Quantity must be a number." id="SideDishes_1__Quantity" name="SideDishes[1].Quantity"><option value=""></option>
<option selected="selected">1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>

This looks OK to me and works in every other browser I've tried, but it seems that IE6 INSISTS on the 'value=1' field for each option. I would have expected the DropDownListFor method to output this anyway but if you bind to a simple list of native types (integers in this case) then you can't set the data field and the value field for the option element (an integer does not have properties, it just 'is'). To fix it, you need to go verbose in the code and do something similar to the following;

   @{
      var values = new[] { 1, 2, 3, 4, 5 }.Select(x => new System.Web.Mvc.SelectListItem
      {
         Value = x.ToString(),
         Text = x.ToString()
      });
      values = new System.Web.Mvc.SelectList(values, "Value", "Text", Model.Quantity);
   }
   @Html.DropDownListFor(i => i.Quantity, values, string.Empty, new { @class = "dish" })

Yes, it's ugly and I could make it a LOT better but it works. The option HTML output is now what IE6 expects;

 

<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>

 

I'm impressed by how compatible the jQuery team has made the validation so that it even works in IE and the only thing that broke was a false expectation of the dropdownlistfor method.

This bug took me a good hour to sort out with the Virtual Machines and testing, hope this post helps you sort it quicker. The workaround is from the following StackOverflow blog post on binding to integers

Tags:

Blog | MVC3

Micro Framework, jQuery, dynamic .Net & swag for xmas

by Ryan Fri, October 29 2010 14:13

Next Generation user group have a lot of goodies coming up to Christmas followed immediately by the tech equivalent of some cracking January sales.

First up, in November we’ll be demonstrating the really cool .Net Micro Framework running on real hardware. If you don’t know what Micro Framework is (MF for short) then it’s pretty much .Net on a chip. Why the fuss you may ask? Well, you can do some pretty cool things with it, from building remote control planes and cars to automating your home.

Ryan will be building a caller ID unit in C# and giving away some sponsored MF hardware (courtesy of Gus @ tinyclr.com). Richard will be doing a ten minute ‘nugget’ on Atomiq and Nitriq, two productivity tools for .Net (they’ve sponsored us for some licences too).

The FEZ Domino Micro Framework board (right) with an Arduino Ethernet board (shield)

George Adamson is coming along in December to do his jQuery thing. George is VERY entertaining and has been rated as the top speaker at previous events. We’ll also be giving away an Xbox 360 in a raffle although you must be a paid up member to win.

January sees the return of the globe-trotting, ex- standup comedian Mark Rendle (don’t worry, he’s still funny) who will be doing his highly rated ‘Dynamic Alchemy: Real-world uses for dynamic C#’. Mark’s a favourite of ours as his talks are engaging, funny and very informative.

Now, swag! We are very lucky in Hereford because not only do we get swag from DevExpress, Telerik and JetBrains (over 1.5k of licences each month) but also occasional top-ups from Microsoft and other community oriented people such as Red-Gate and TinyClr.com.

You can come along twice without joining and see if you like it, then we ask you to join so we can cover speaker expenses, food and venue costs (we don’t make a profit, very dot com like). We provide the pizza and drinks, you just turn up (don’t forget to register on the website first, or no pizza for you!).

You can find us @ http://nxtgenug.net/Hereford, we meet once a month in Hereford Shire Hall (plus Birmingham, Coventry, Cambridge, Southampton, Oxford and Manchester too).

Tags:

nxtgenug

Visual Studio 2010 - buggier than 2008?

by Ryan Sun, June 13 2010 14:05

Buggy, definitely. Worth the hassle, yes.

The following occurs when trying to compare two schemas using the Data->Schema Compare->New Schema Comparison menu option and selecting two existing connections. Clicking 'Edit Connection' when the connections are selected you can't edit them either (the dialog just disappears) and after a few attempts, VS goes bang! To work around this error, go to Server Explorer and delete any old connections (you may need to delete them all to get it working).

You might get this a few times;

You'll need to quit VS and start again once that error starts popping up then the dodgy connections should have gone. If they are still there, keep hacking through them trying to delete (ignoring the errors) and restart again. If you still can't get rid of the dodgy connection, try expanding the node for it in server explorer. I got the following error which gave me a GUID I could hunt through the registry for to delete the data provider. Turned out my issue was caused by the VistaDb uninstaller removing the required files for a connection (which is what I wanted) but Studio fell over when it saw the headless connection.

I found some references to the dodgy connection under; HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\DataSources\{GUID-OF-PROVIDER-HERE}. After deleting all the references in the registry to it and the .suo file for the solution I found it was held elsewhere. So on with the hunt.

So far, one hour spent on this and no joy. Searching the C drive for all .udcx files (seems these hold connections) yielded nothing either, but very slowly. Reset the development environment (/resetskippkgs and /resetsettings as command line options to msdev), nowt.

Finally I fired up SysInternals Process Monitor and waded through the torrent of data it vomited when VS starts up. I happened across the directory; C:\Users\Ryan\AppData\Roaming\Microsoft\VisualStudio\10.0\ServerExplorer In there is a file ending in .SEView, this is where this junk is held.

I copied the file to a backup in the same directory (mistake) and tried again after editing the file, but the duff connection reappeared! Looking in Process Monitor, VS loads ALL files in that directory ending in SEView, so I moved them out completely and all started up well. Success, I can now compare two databases, two hours later!

The time technology saves me!

Tags:

Blog

Windows Mobile 7 by Paul Foster from Microsoft

by Ryan Mon, May 10 2010 22:25

Just a quick post to keep this thing up to date (and attract blog spam, I love it). We had an excellent speaker tonight at our user group in Hereford; Paul Foster from Microsoft presented on a ton of stuff in Windows Mobile and how to develop for it. He made it look easy but the designer tools scared me somewhat with their black turtle neck style UI and 'layers'. 'tis worth getting a look at Win Mo 7 before things pick up as devices are due to launch in the late Autumn and getting code working now on the emulator will place you in a good position for launch.

I recommend checking Paul's blog, the Windows Phone dev site and the XNA site to get up to speed on Win Phone.

Also, we had a good swag giveaway with decent T-Shirts, loads of MS Visual 2010 stuff (silly putty, screwdrivers, mice of the non-rodent variety) and a Windows 7 licence that MS gave us months ago and I found in the bottom of the swag cupboard. Everyone got something (I nabbed some silly putty). Thanks again Paul, I recommend you to get him at your user group (what, you don't have one!).

Tags: ,

Blog | nxtgenug

Book review: Web startup success guide

by Ryan Fri, January 22 2010 20:41

I've been taking my time reading this book as I've got so much out of it, I keep pausing to try out the ideas. It is not a typical computer book, it's for people who have plenty of ideas and are looking to put them into practice in starting up a new web based business. Targeted at software developers turned entrepreneur it also works well for anyone servicing customers over the web and trying to create a decent online presence.

The book is very motivating and well written. The author Bob Walsh also publishes a free podcast on the subject of startups (The Startup Success Podcast) so you can see if what he has to say is of interest before shelling out for the book.

I would definitely recommend this book as it is very useful in helping plan your startup and hopefully will save you a bundle of mistakes.

The obligatory link to Amazon:

Tags: ,

Book review | Business

Book review: iPhone Application Sketch Book

by Ryan Thu, November 19 2009 15:20

150 pages of identical iPhone outlines with room to sketch and label your designs. Not a great read, but handy nonetheless!

There's not a lot to say about this book, it's pretty basic but very useful for scribbling down ideas if you don't have Balsamiq Mockups to hand, are on the move or going into a meeting. I'm going to give copies to clients in the hope that they'll think about their app a bit more before asking for a thousand buttons on screen.

You can get it at Amazon and I imagine B & N (but I can't find it).

Tags:

Book review

Book review: iPhone for work

by Ryan Sun, November 01 2009 11:20

iPhone for Work: Increasing Productivity for Busy Professionals or 'The missing iPhone manual'

I thought I knew pretty much all there was to know about the iPhone but I'm happy to say that I've found out a few more tricks thanks to this book. For example, did you know that you can take a screenshot by using an obscure (almost Windows like) button combination? Or that you can set up a WiFi network between your iPhone and Mac without a wireless router? You might have known how to, but I didn't and judging by the lack of Apple documentation I guess a lot of other people are missing out a fair chunk of detail too.


It starts simple (too simple for me, but great for people who don't spend all day playing with computers) by walking the user through activating the phone, sending text and making basic calls. I skimmed these bits and got straight to the WiFi, Exchange, Calendar and LDAP sections which you'll need to know if you want to sync the iPhone with a corporate network.

Although the book is targeted more at the general iPhone user than IT professionals I think alpha geeks will learn a thing or two from it as well and afterwards they can give it to their relatives to lessen the support load. Apple should have shipped this book with the iPhone but I suppose it won't fit into a trendy little black box in a non-shredded form!

The best tip I got from the book means I can now control my laptop slideshows from the iPhone without worrying about needing a router (something that not all venues have). You can pick up a copy of the book at Amazon (in theory I get a referral fee, in practice it goes on swag and pop for the Hereford nxtgen user group).

Tags:

Book review