Author Archive

Six impossible things before breakfast

Alice laughed: “There’s no use trying,” she said; “one can’t believe impossible things.”

“I daresay you haven’t had much practice,” said the Queen. “When I was younger, I always did it for half an hour a day. Why, sometimes I’ve believed as many as six impossible things before breakfast.”

Alice in Wonderland.

Creativity is a cornerstone of software development. Believe it or not, this is something one can exercise. A great way to train the creative part of your brain (right hemisphere) is to daydream or think about impossible things.

Why don’t you try it and follow the Queen’s advice ?

Suggestion:

Make this exercise part of your daily stand up when working on an Agile team. Ask your team members to come up with an impossible thing each. You’ll see how much fun this can be. Make sure they think about it before the stand up starts.

You can also do this exercise at home with your partner or kids. If you do this on a regular basis you will see your creative side improving.

We came across this idea in Tony Buzan’s book “Head First” and practiced for a couple of months. It can actually be challenging to come up with new impossible things every day.

By Barbara Mayerhofer and Marcos Tarruella

Comments (3) »

Linux Certification Study Group

Why

Since the day I joined Point2 I couldn’t stop noticing that we were a Microsoft solutions company in a period of migration towards more Open Source solutions and Linux.

One thing that was clear to me was that we would have to increase the level of Linux knowledge we had in the company.

What

I decided to start a Linux Certification Study Group with 6 people from three different departments. Why such a small number of participants, you will ask ? Shhh…. I had a hidden agenda. My intention when putting this group together wasn’t only to help them getting the Linux Certification, it was also a golden opportunity to make them collaborate, talk, learn from each other. After more than three months of studying as a group I can safely say that we do have a bond around Linux.

The Certification

For the study group we chose the Junior Level Linux Professional (LPIC-1) certification from the Linux Professional Institute. It is very well-structured and has three levels of expertise: junior, advanced and senior. It is as distribution agnostic as much as it can be. Linux Professional Institute - Lpi

The certification comprises 2 exams: 101 and 102, with 60 questions per exam.

A LPI certified Level 1 Linux professional (designated LPIC-1) should have the technical capability to maintain and use a Linux system at the entry level.

  • Has installed, maintained and configured a Linux system
  • Works at the Linux command line
  • Performs easy maintenance tasks such as:
    • help out users
    • manage data
    • add, manage and delete users
    • create basic shell scripts
    • shutdown, reboot and understand the components of a Linux system
  • Installs and configures a workstation (including X) and connects it to a LAN

Cost

Per student, Point2 pays for:

Per facilitator, Point2 covers the cost for:

How

We meet once a week during our time offered by the company for self development (Friday’s between 13:00-15:00). During each of the sessions we cover one or two objectives by going through the material as a group. Obviously as a facilitator I have to prepare some exercises that we try to solve during the session. Having a well structured set of topics helps us to keep the sessions pretty focused. At several occasions we got distracted with other interesting Linux topics. However we quickly realized we were getting side tracked and returned to the topics we are going to be tested on.

Usually on Wednesdays I circulate an email with 12 refresher exercises from previous weeks. That pushes us all to keep the study material fresh in our minds. We meet for 20 minutes during our lunch break every Wednesday and exchange the solutions of the previous week’s refresher exercises.

We deliberately started the 4 topics in the following order:

  • Topic 103: GNU and Unix Commands
  • Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard
  • Topic 102: Linux Installation and Package Management
  • Topic 101: System Architecture

so that our candidates got familiar with the Unix Commands quickly. I think it makes it more fun to be able to run commands from day one rather than going into the theory of the System Architecture.

As for computers, we’ve been using all sorts, PC’s with a connection to a Linux VM, a netbook with Linux (Ubuntu), laptops with Mac OSX (running a Fedora VM); we even built two cheap PC’s especially for the course. These are fun because you can do with them anything you like :-) This should not be an impediment for you to start your courses; anything will do to keep you going.

When

It has taken us four months to prepare for the first exam (101) and we are going to take four months “off” before we tackle the next exam (102) which we expect to take another four months to prepare, i.e. it takes a good year to get the certification.

We will interleave the groups, whilst the first group is relaxing we’ll take the next group to prepare for the exam 101. This will prevent us from having too many groups at the same time.

Where

We can take the certification exams in any Vue Pearson or Prometric center. Luckily there are TWO sites in Saskatoon:

Academy Of Learning
1202A Quebec Ave
Saskatoon, Saskatchewan S7K 1V2

and

Saskatoon Business College
Saskatoon, Saskatchewan S7K 2H7
Phone: 306-244-6333 Site Code: SS4

Who

Three months ago we organized a group of people – two System Admins (John and Andrew), two Technical Support Admins (Mike and Tyler), two members of our development team (Nathan and Logan) and I as a facilitator.

From these six people, we’ve chosen 2 volunteers (Logan and John) to run the next groups.

There will be 3 groups next time, two slow (meeting fortnightly) and another one fast (meeting once a week).

Lessons learned

  • high motivation – keep groups small
  • constant – allocate the same 2 hours every week
  • feed the hungry – don’t stop with the bare minimum asked in each topic, e.g. we asked Kevin B. to run an advanced vim workshop
  • stay focused – don’t get too sidetracked by interesting stuff you will come across, more likely you will touch that topic again in other parts of the certification
  • show progress
  • measure progress using an assessment test

LPIC-1 Detailed objectives

Objectives: Exam 101 (First part of the Level 1 certification exams)

  • Topic 101: System Architecture
    • 101.1 Determine and configure hardware settings
    • 101.2 Boot the system
    • 101.3 Change runlevels and shutdown or reboot system
  • Topic 102: Linux Installation and Package Management
    • 102.1 Design hard disk layout
    • 102.2 Install a boot manager
    • 102.3 Manage shared libraries
    • 102.4 Use Debian package management
    • 102.5 Use RPM and YUM package management
  • Topic 103: GNU and Unix Commands
    • 103.1 Work on the command line
    • 103.2 Process text streams using filters
    • 103.3 Perform basic file management
    • 103.4 Use streams, pipes and redirects
    • 103.5 Create, monitor and kill processes
    • 103.6 Modify process execution priorities
    • 103.7 Search text files using regular expressions
    • 103.8 Perform basic file editing operations using vi
  • Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard
    • 104.1 Create partitions and filesystems
    • 104.2 Maintain the integrity of filesystems
    • 104.3 Control mounting and unmounting of filesystems
    • 104.4 Manage disk quotas
    • 104.5 Manage file permissions and ownership
    • 104.6 Create and change hard and symbolic links
    • 104.7 Find system files and place files in the correct location

Objectives: Exam 102 (Second part of the Level 1 certification exams)

  • Topic 105: Shells, Scripting and Data Management
    • 105.1 Customize and use the shell environment
    • 105.2 Customize or write simple scripts
    • 105.3 SQL data management
  • Topic 106: User Interfaces and Desktops
    • 106.1 Install and configure X11
    • 106.2 Setup a display manager
    • 106.3 Accessibility
  • Topic 107: Administrative Tasks
    • 107.1 Manage user and group accounts and related system files
    • 107.2 Automate system administration tasks by scheduling jobs
    • 107.3 Localisation and internationalisation
  • Topic 108: Essential System Services
    • 108.1 Maintain system time
    • 108.2 System logging
    • 108.3 Mail Tranfer Agent (MTA) basics
    • 108.4 Manage printers and printing
  • Topic 109: Networking Fundamentals
    • 109.1 Fundamentals of internet protocols
    • 109.2 Basic network configuration
    • 109.3 Basic network troubleshooting
    • 109.4 Configure client side DNS
  • Topic 110: Security
    • 110.1 Perform security administration tasks
    • 110.2 Setup host security
    • 110.3 Securing data with encryption

About the LPI:

“The Linux Professional Institute is globally supported by the IT industry, enterprise customers, community professionals, government entities and the educational community. LPI’s certification program is supported by an affiliate network spanning five continents and is distributed worldwide in multiple languages in more than 7,000 testing locations. Since 1999, LPI has delivered more than 195,000 exams and 62,000 LPIC certifications around the world.”

Happy Linux!

By: Marcos Tarruella

Comments (1) »

Diving into Python

Our company is currently ‘diving into Python‘ which as a developer makes me extremely happy. I can see diversity is emerging in our development arena.

But this post is not so much about Python as it is about disseminating knowledge across our company, i.e. how do we make sure that our organization learns technology X or methodology Y ? If you have been in this industry for a while you must have heard this sort of answer from your boss quite often: “Make them learn that stuff at home!” or “Buy them a few books so that they can read about it at their own pace!” or the classic: “Let’s get a Knowledge Base” or “Let’s get an expert on the topic”.

Although these approaches may work for you, they have never worked for me as well as what my new company has in place. At Point2, one way to disseminate knowledge and make sure that everyone is on the same boat, is using a workshop schema whereby every Friday we run two or three workshops in parallel that last for 1 or 2 hours depending onĀ  presenter and topic. Most of them are so good that presenters have to repeat them the following week for the audience who could not attend some workshops. To give you a taste of what these are, this month we are running the Python series. The following four workshops are aligned:

  • Python 101
  • Django 101
  • Django to interface REST services
  • PyGame

Hopefully out of this series we’ll get some more Pythonistas in our company ;-)

It would be interesting to know what other things worked for our readers, besides workshops.

By: Marcos Tarruella

Leave a comment »