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
Before I highlight those, here are my notes from day 3, my comments are italicized: Continue reading
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
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.
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
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
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
When I use Mac OS I miss Ubuntu. I spend a lot of time in the terminal (in either OS) and find it frustrating how Mac is brain-dead when it comes to tab completion. Fortunately, some helpful souls have worked to fix the issue. There are only three steps: Continue reading
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)
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.
As an experimental work project, my team is evaluating the yubikey as a 2 factor authentication device for login.ubuntu.com. The user interface suggested by Yubico leaves me wishing for something better. Here is an idea I have, please let me know your thoughts.