Category Archives: Computers

Memory Lapse

Setting up your own Git server with Gitlab

During my hands on lab teaching Git I mentioned that I have instructions on how to set up your own Git server using Gitlab. This is an awesome tool that gives you some of the best features of Github along with the ability to privately host it on a server in your own private network.

You get a git server accessible via git:// ssh and http/https, a slick web interface where you can manage projects, your team, create tasks (i.e. bug reports and etc), do pull requests and run a wiki for project documentation. I particularly like the ability to manage user’s SSH keys via the web interface. I’d like to explore it’s ability to authenticate against Active Directory, Google or other providers as well. Continue reading

My Storm Trooper taskmasters keep me honest

Wrap up of Test Driving Javascript by Industrial Logic and @bengrue

Today was the third and final day of the Javascript test driving training. As before, I’ve made some notes, but I thought I could add a little extra here as well, to highlight some of the most interesting and discussion worthy parts from the previous two days’ notes (see part 1 and part 2).

Before I highlight those, here are my notes from day 3, my comments are italicized: Continue reading

2378867408_4cc90791d6

Test driving Javascript training by Industrial Logic and @bengrue – Day two review

On the heels of yesterday’s post I am publishing my notes from day two of the training my work has sent me to. The training is to help our team improve the way we use automated testing to verify the behavior of our JavasScript

I’m actually a bit surprised at how un-standard JS testing is. The barrier to entry is high due to immature tools and a lack of good documentation. I’ve picked up and read a few books on the subject, which I’ll go into in a later post, and I’ve tried out a few different tools that are each popular but very different from each other. I feel there needs to be a bit of a revolution in this industry for it to take off. (by the way, the tools I’ve explored are JSTestDriver, which is what my team uses, QUnit, used by the jQuery framework, Jasmine, which is a BDD testing tool, and Buster.js which has my favorite set of assertion suite and mock/spy features, but least favorite regarding documentation and integration tools) I intend to bring the information I’m learning back to DSM and help build a community around solid JS test practices there.

Here are my notes from Ben McGraw’s training. There is a lot unsaid here, since much of the day was doing hands-on labs. However his presentation was filled with useful nuggets of information that I felt would be great to share. As before, my editorializing is italicized. Continue reading

return undefined;

Test driving Javascript training by Industrial Logic and @bengrue – Day one review

My company has sent me and two colleagues (Matt Travi and Adam Brunner) to Mountain View, California for a few days to take some training. We’re meeting at the brand spanking new Hacker Dojo location and being taught by Ben McGraw of Industrial Logic.

Day one started out with getting everyone up to speed on common, modern Javascript. This part was not very useful for me because I’ve been writing JS since ’99 and invested a fair amount of effort last year to update myself to ECMAscript 5 standards. I’m very comfortable with the global name space, closures and “hoisting” which are all pretty important concepts to grasp if you want to write serious Javascript.

The second half of the day was formalizing and learning about code smells. This was definitely educational, not because I learned something I didn’t know, but the process of formalizing and naming these anti-patterns helped me to better understand them.

Here are a few notes and choice quotes I snagged during the training: (Italicized parts are me editorializing) Continue reading

espejo

Every UI from now on needs to be touch friendly

For a little over a month I’ve been experimenting with Windows 8. The first thing you see once the OS is installed is a guide explaining how to use the new interface. As someone who has not used Windows much in recent years, I personally found it easy to learn and adjust to. However, from the very first moment the guide begins, it is clear that touch is an important part of the operating system.

As the Christmas buying season has begun I’ve seen in the advertisements that many Windows 8 computers, both laptops and desktops, have touch screens. There is a bit of a price premium for this feature so a small majority don’t have it. However I expect this to become an extremely common feature on Windows computers in the coming months and I predict Apple will be announcing touch screens on it’s computers soon, too. Continue reading

Sprinkly

For my work at Canonical, glory to God

After 6½ years I have left Canonical. From the initial release of Ubuntu 4.10 I have been a huge fan. When the Ubuntu Art Team started I was one of the first members. When there was a web re-design contest, I entered and won! I loved being part of the community and contributing to make Ubuntu better.

In 2006 when I had an opportunity to join Canonical as the Ubuntu.com webmaster it was like a dream come true. I jumped at the opportunity and I’m glad I did. There were about 40 people working at Canonical at the time and I loved the startup atmosphere. It would have been hard for me to imagine at that time ever wanting to leave, but alas, the time came. Continue reading

Learning Mock with Michael Foord

Mocking is a technique to help you test your code by replacing the pieces that don’t need to be tested with “mock” objects that behave in a similar way. For example, if you want to test a module that returns the weather from a web service, you can “mock” the web service so that it returns predictable results. Here is a three part video I’ve created with Michael Foord, author of the Python Mock library which will be included in Python 3.3.

A Gentle Introduction to Mock for Python (part 1 of 3 – 13min)

Why use Mock? (part 2 of 3 – 3.5min)

Mock and Django (part 3 of 3 – 38min)

Using Selenium Simple Test

Unit tests are a great way to test your code but some interactions are hard to verify unless you open a browser and click around. Selenium is a great tool for automating a web browser but the learning curve is a bit steep. Selenium Simple Test is an easy to learn tool that allows you to harness the power of Selenium for your own projects.

Here is a two-part video series that I recorded to help you understand SST and begin using it for your projects.