Sunday, 22 February 2015

Noise cancelling headphones

Finally got some noise cancelling headphones, not the most expensive or the most effective but they really take the edge off the air compressor whine that I am near. They do not cancel voice well which actually has worked out so if people ask for me I can just hear them. 


For the record these are 7dayshop AERO 7 Active Noise Cancelling Headphones with Aeroplane Kit and Travel Case from amazon. Another benefit has been being able to use my training time watching pluralsight videos at work.

Not really tech, having a big mouse mat is actually nice, tracks well when using the surface calibration in the synapse software. 

Large mouse mat black with green central triple snake logo

Don't under estimate documentation, I've been updating lots of it, systems that have been around for ages at least worth documenting the basics and business rules. As I found a lot of time has been used to find who knows this thing and then how to use it.

Sunday, 1 February 2015

Shorty this week

Hanselman how to use word very handy as I had not been shown any of that, one of those things I just expected to be able to do. 

The path finding algorithm Dijkstra which is the father of A* and then A* epsilon. A* builds on Dijkstra algorithm by being greedy.

A greedy algorithm is an algorithm that follows the problem solving heuristic of making the locally optimal choice at each stage with the hope of finding a global optimum.
    en.wikipedia.org/wiki/Greedy_algorithm
 
From .net rocks about opening files in notepad, if the first line starts with PK this is a zip file. Tried this out and appears true.

Sunday, 25 January 2015

General stuff

Been doing quite a bit of reading for the testing istqb foundation, where I can get some exams going and see how I do. 

Started using a new plugin to test API's, which is another thing I need to learn and read about, http://www.getpostman.com/.

Completed a programming challenge of validating an ISBN10 which is challenge 197. Compact code so left as is

using System;

namespace Challenge197ISBN
{
  class Program
  {
      static void Main(string[] args)
      {
          var ISBN10 = "0-7475-3269-9";

          Console.WriteLine("Validating: {0}", ISBN10);
          int total = 0;
          int counter = 10;

          foreach (var letter in ISBN10)
          {
              if (letter != '-' && counter > 0)
              {
                  var current = int.Parse(letter.ToString());
                  total += current*counter;
                  counter--;
              }
          }

          Console.WriteLine("ISBN is valid: {0}", total % 11 == 0);
          Console.Read();
      }
  }
}


Ordered some noise cancelling headphones as the open plan office can get a little noisey. A good demo of them in action https://www.youtube.com/watch?v=1EwkaRvIduw

Came across a good video on hacker news about Erlang, quite interesting the idea of bike shedding and trolls.
https://www.youtube.com/watch?v=3MvKLOecT1I

Sunday, 18 January 2015

New desk!

With the new job money is a lot better, slowly getting myself sorted out.

The new desk is sturdy and nice to have some space, underestimated a little as I doubt a second monitor and 3d printer would fit, will have to see if I can move the modem and router underneath. Desk full name is Trexus Contract Plus Cantilever Desk Rectangular Silver Legs W1600xD800xH725mm Oak.

light wood coloured desk with keyboard mouse and single monitor

Audible is actually pretty good as an alternative to podcasts as some are a little heavy and can change topics quickly. Audible have a free trial then one audible book a month is £8 which is not bad, if bought singly they are expensive. A few do look good, the chimp paradox and here comes everybody. A shame pluralsight only really do videos which would not be worth while when driving.

Had to do some browser testing, not sure how reliable emulation is via the IE dev tools, either way a colleague mentioned modern.ie
where a virtual machine can be downloaded. I think something like virtual box is needed to make it all run.

Sunday, 4 January 2015

First post of the new year!

Was not going to bother this week, however imma tryin'. The new place I work for do a lot of java which conflicts with my c#, asp.net, visual studio experience. Making the most of it, it now looks like I will have to learn java and clojure. Seems a shame to throw all that work away.

Suggested to me that I can move from test to developer by taking the oracle certified developer exam.

It is nice to work with developers regularly now as we get to talk about different computing topics rather than strictly on topic working remotely. Talking of different architectures Endianness
came up.
I am now on twitter, there seems to be a high noise to signal ratio for some developers I am following. Some good has come from it already, the Not Just Code Monkeys presentation, quite fun and interesting about the use of dark patterns by certain companies. 

Researching clojure, good youtube video by Tim Ewald Clojure: Programming with hand tools which contained very little clojure and a lot of craftsmanship. I did find it quite funny with the oh it is not in visual studio so does not exist.

Sunday, 28 December 2014

Not a computing book this week

This week I have read the Roadcraft the police drivers handbook, I had read the previous edition and the update has a few good common sense approaches. I did like the idea of constant improvement through reflection and asking questions about performance to gain insight. 

book cover, road with police car, green background and bold white text

A couple of the take aways apart from reminding me of bad habits I need to correct. 

  • It is pull push, I always push pulled. It is smoother to steer their way.
  • Do not wrap your thumbs around the steering wheel, due to possibility of hitting potholes high kerbs and breaking a thumb. I did this as I was always told if you wrapped your thumbs around the steering wheel you could lose them if the airbag deployed.
I liked Knuth's presentation,2014 Kailath Lecture: Stanford Professor Donald Knuth. 

Old half broken blog from hacker news, found the article interesting. The Bipolar Lisp Programmer.

Visual studio short cut, you can repeatedly press ctrl +  v and cycle through visual studio clipboard. Handy working on other machines where a clipboard manager such as ditto is not installed.

Saturday, 20 December 2014

Design of everyday things and challenges

Keeping up with reading, this time I read The Design of Everyday Things. There are a lot products in the book that I have encountered, a sink I couldn't empty or a tap that looked weird and took a few seconds to work out rather than just being obvious. Apparently it is all poor design, most I agree with especially hob control layout. 

A5 sized book with green cover, yellow title, with image of teapot having handle and spout on same side

Take aways for me are,
  • Affordances, a chair affords sitting.
  • Anti-affordances, put a slope on a control panel so people don't put coffee on it.
  • Signifiers, a clue of what should happen or what to do.
  • The 5 whys.
  • Poke yoke, idiot proofing.
People make errors, slips and mistakes, in fact this is not always our fault, humans can live with the situation being a bit fuzzy, machines often need precision. Asking humans to be very precise is not a good idea. 

For all of this I bought some new shoe polish, cherry blossom, it is actually made in England and cheap. The point is the tin, instead of the wedge which has to be twisted all you do on these is press and the tin pops open. Simple effective design. 

Small tin of shoe polish with press here to open displayed at the bottom

Still been going at the coding challenges, the grey-scale image one, simple yet nice to see something other than console output for a challenge 

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

namespace Challenge179
{
    class Program
    {
        static void Main(string[] args)
        {
            var path = @"C:\Users\R\Desktop\bikers.bmp";
            var pictureStream = new FileStream(path, FileMode.Open);
            var rawImage = new Bitmap(pictureStream);
           
            for (int i = 0; i < rawImage.Width /2; i++)
            {
                for (int j = 0; j < rawImage.Height; j++)
                {
                    Color pixelColor = rawImage.GetPixel(i, j);
                    var newColor = (int)Math.Round((pixelColor.R * 0.21) + (pixelColor.G * 0.72) + (pixelColor.B * 0.07));
                    rawImage.SetPixel(i, j, Color.FromArgb(newColor, newColor, newColor));
                }
            }
            rawImage.Save(pictureStream, ImageFormat.Bmp);
            pictureStream.Close();
        }
    }
}




Also properly tackling an intermediate challenge without asking for help or browsing the already prepared solutions, I am pleased. Challenge 181. 181 iterates over speed average speed camera logs to check for the limit and car registrations. 

Little bits, blog has now been up for six months, behind with my own website and should get on with the MVC book. Looked at a lot of algorithm and Maths books, how much this will help I don't know. Going to re-read the pragmatic programmer. Hopefully this will give some insight into how far or how little I have come.