Tuesday, 26 February 2013

Arduino ethernet shield

20130226_084023

My ethernet shield arrived this morning from Hong Kong. Looking forward to making a little Arduino based Web server!

The price for the shield was only ?5 on ebay including delivery :-) super cheap considering how much they cost a couple of years ago.

Monday, 18 February 2013

Reset SQL Server Management Studios intellisense after a schema change

Capture

For some reason it's taken me a while to cotton on to doing this. In fact I currently have intellisense in management studio switched off as it's main hobbies seem to be trolling me typing.?

My main annoyance is the sea of red every time you add a table or column and the lack of red if you delete a column.?

Anyway, I worked out over the weekend that you can reset the intellisense with ctrl+shit+r

In case you weren't sure how to toggle the intellisense on and off, see the picture. It's under Tools -> Options -> Text Editor -> Transact-SQL -> Intellisense.

:-)

Thursday, 14 February 2013

Network Spoofer for Android

http://digitalsquid.co.uk/netspoof/

This is a highly amusing app. Who doesn't want to redirect YouTube traffic on your network through your phone so you can Rick roll all watching video attempts?

Sunday, 10 February 2013

How PhoneLocator Pro deals with Bad Comments on Google Play

http://phonelocatorpro.com/comments/bad-ratings-explained/

No matter how well you make your app, I guarantee you'll be trolled with reviews like...

App iz shit. Don't use. Didn't work on my android watch phone.

You can't reply to the reviews as a developer, only mark them as spam. The only good thing is that the good reviews normally drown the idiots out and it's easy to spot a fool by the review itself.

Still if you wish to feed the Trolls, you can always respond to them on your website...

Friday, 8 February 2013

Creating Sparklines in Excel






Sparklines have been around since Excel 2010 I believe but I have seldom used them.?

They're a great way of showing data that is on more than one dimension like values over time and days.?

Wednesday, 6 February 2013

Curl for Windows

?
You can get Curl from Windows here. I think it?s pretty cool how you can easily append the method of the request you want to send onto the end of the command...
?
?
This will send a delete request to the site. You can do this with Fiddler already but I thought it was just a nice little thing to have anyway.

Microsoft ASP.Net System.Web.Optimization

I'm watching a Pluralsight video on this at the moment. I really like the nice way you can explicitly bundle assets together. The optimization libraries then join the files and minimise them. When you render them, they also attach a query string onto the end to help prevent stale results being cached.
?
No pictures sadly as I am just quickly recording this before I go back to watching the rest.
?
Sent from Windows Mail
?

5 Tips For Refactoring In Brownfield Land

1. Don't try and refactor on the branch / clone you are working on

Whilst doing some of the everyday work, I couldn't help breaking into a refactor mission the problem is that refactor missions always take you down deeper than expected. You still need to get the other jobs done and other bugs may come up too. This has caught me out so many times when I just think I will do a little fix here or there. Be patient, you don't need to do the re-factor straight away.

2. Plan the refactor with clear objectives

Ugh, another of my favourites. When starting my current refactoring mission, I was like an ape in the produce section of Asda. My code was highlighted in blue Resharper squiggles and I could see duplication everywhere. Now I have calmed down and grown a little wiser. I have begun making a list of objectives and sections that I plan to refactor. Make a list of what each section of code does, if you have an appropriate tool that you can tag it with then do that. You can then approach sections together like "Front end refactoring" you could also make estimates on how long it could take. For example the list could be like:

  • Making a note of functionality so it can be rearranged and grouped together.
  • Removing in-line CSS from elements.
  • Refactoring JavaScript on pages.
  • Extracting interfaces on service or task classes then implementing an IoC Container.

 

3. Write tests around the functionality. Make sure you aren't breaking things.

This can be hard unless you do some of the refactoring first. Once you have extracted some of the external classes to interfaces and you can squirt test cases in, you can start testing the real behaviour of the class and how it should react. Document this correctly and give the test behavioural names like;

Namespace: GivenAnApartmentsRentIsDue

Class: WhenTheReminderIsSent

Method: ThenTheCorrectReminderDateIsSet

Method: TheCorrectAddressIsSet

When you have a lot of behaviour tests, providing you have grouped your tests together well, you really get a feel for the functionality of the system.

4. Don't moan about the code that's there. It will annoy the people you are working with.

Yes the code is crap, yes you are busy because every job takes 10 times longer than it should and only Ming the Merciless himself would devise such a cruel way retrieve users from the database. But you have been that person before; normally things get muddy because of a mixture of uncertainty, lack of details, and lack of time, no training and money. There are all sorts of reasons, but if you moan all the time about them you will just annoy / alienate people and it creates a crappy negative feeling in the team.

5. Create a baseline of functionality and performance before you refactor.

Users get really angry if you make things worse. It only takes one or two users to notice poor performance and the word will spread. It can really shake confidence in your software. If needs be and the changes are big enough (especially if there are front end usability changes), create an acceptance site for users to try out and ensure that the interactions on it are logged (anonymously perhaps) so that you can get an idea if people really have tried it out.

Summary

Hope that helps / confirms what you already know :-)

Entity Framework 5 Enable Migrations

Just taking another look at Entity Framework 5. It is nice to configure. I quite like the feature (which I think is borrowed from Rails) where you can enable migrations. This takes the pain out of updating your database. The seed method gives you a nice place to control the insertion of data into your site.?

The?AutomaticMigrationsEnabled = false; if set to true can automatically update your tables based on the entities. It's good for a small project but I suspect on any non trivial site you want to manage the database changes yourself.?

This is really just a reminder to myself as I often forget the package manager commands.?


Image001


Sunday, 3 February 2013

Toshiba Libretto

20130203_183927

Just managed to get my hands on a Toshiba Libretto. This is a mid 90s laptop that makes a net book look big. The laptop next to it is the Dell Mini 9.

I love this laptop. It's crazy, the keys are ludicrously small but it's irrelevant. I don't think many people would have bought this for an actual task. I remember seeing this in Computer Shopper and dreaming of having one. And now I need dream no more.

Comments System

Disqus Shortname