Tag: Geek

Ubuntu 12.04 Fix Screen Brightness For Lenovo G580 Laptop

I’m posting this to help anyone that has the same problem I did.  The problem was that my Lenovo G580 screen stayed at max brightness after installing Ubuntu 12.04 LTS (32bit).  The brightness up / down buttons did nothing.  During the day it wasn’t much of a problem but in the evening the screen was too bright.  The fix was pretty simple:

Edit the grub file:
sudo vi /etc/default/grub

Change this line:

So that it says:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"

Save and exit the file.

Now update grub:
sudo update-grub


Ubuntu 12.04 All Around

I recently switched to Ubuntu 12.04 for three of my computers (my lenovo g580, my son’s hp desktop and my other son’s dell laptop).  I had a very hard time making the switch because I ran into troubles with 13.04 not working for wifi on my Lenovo g580 or the 12.10 nvidia drivers not working on my son’s HP Pavilion a1540n desktop.  Then I accidentally installed a 32bit version of 12.04 that I had on CD.  I thought it was a 64bit version but it was a 32bit version.  It worked like a charm all around.  It solved my nvidia problems on the desktop and my wifi problems on my g580 laptop as well.  So nice.  Now I run RHEL 6.4 on my work laptop and Ubuntu 12.04 on my personal laptop, my son’s HP desktop and my other son’s Dell laptop.  My wife’s netbook is the only one left in the house running Windows (Windows 7) – Yay!

Python and Django

I’ve been doing some Python work for my day job so I started investigating the language and popular web frameworks.  I got python installed and read the python tutorial at python.org.  I build some simple Python classes and unit test cases using eclipse and the PyDev plugin.   The thing I like about Python is that the language is clean and there seems to be only one way to do most things.  Unlike Perl or Ruby where there are many ways to do anything, Python seems much less messy.  Working heavily in Python with good Python developers should be efficient and peaceful.

Then I  worked my way though the django tutorial which was pretty easy to follow.  Django generates most things for you and requires writing very little code for doing most common web tasks.  My impression was that seriously working with django would be pretty easy and efficient.

Like I said, I’ve been working with Python at work so I plan to post more about my impressions of Python as time goes on.  Stay tuned..

6 Tips For Adding Remote Workers

Your company has wisely decided to add remote technical staff members because of the current local talent shortage. Instead of hiring available local talent your team is going to hire stronger candidates who will work remotely full-time as I discussed in my previous article. Here are 6 tips that should help you smoothly add remote technical talent to the team.

1) Stay connected with text chat during the work day. Everyone on the team should have a text chat client installed. Persistent chat rooms are also useful so people can review information they missed while not logged on. Here are some tips and tools to get you started:

  • Use text chat for quick interactions. Tools like jabber, IRC or Skype work well.
  • Use persistent chat rooms so that team members can join to see what they missed while they were offline. Tools like jabber and Skype work well.
  • Expect all team members to login to the team chat room for most of their workday. This makes it possible to have ad-hoc conversations without scheduling meetings

2) Use a conference bridge for meetings. Change how you collaborate so that both remote and local workers collaborate in similar ways. You want to keep remote team members in the loop while local workers have face to face meetings. Follow these tips to make remote conference calls more effective:

  • Have all meetings on conference bridges so local workers can attend
  • Make sure at least one or two key local people call in to the meeting from their offices instead of the conference room. This will ensure that there are always several people on the phone who can call attention to poor audio quality, an inability to see a whiteboard, etc
  • Use a webcam during meetings to share whiteboards with remote people. Tools like Google Hangouts or Skype screen sharing can help.
  • Announce who you are before you speak so remote people can learn to associate voices with names or profile pictures.

3) Write things down. This is a good idea even if you only have local workers because sometimes people are out sick or on vacation. Writing down steps to complete common tasks, tools you use to collaborate, how to setup a development system and other things is just a good practice in general. Use these tools to write down useful information so that everyone on the team can all locate it easily or direct others to it when needed:

  • Create a wiki where you can document useful project information
  • Create a sharable document library for more static information like technical documents or product manuals
  • Use a threaded discussion system to collect feedback on a document or design idea
  • Use a defect tracking system to document all information about system bugs instead of using emails or text chat

4) Select similar work for remote team members. Selecting independent work that requires less collaboration might seem like a good idea at first, but doing so will isolate remote team members and limit their productivity. Selecting similar work for remote workers keeps productivity expectations high for everyone. Use these tools to make remote collaboration on high interaction tasks like programming or document writing:

  • Have voice calls while working on tasks together. Get a good headset so you don’t have to hold the phone while on a call.
  • Use VNC or other screen sharing tools to pair program or edit a slide deck together
  • Use google docs to actively co-author documents

5) Allow local workers to work remotely sometimes. This seems obvious but sometimes local workers get upset that remote workers can work from the comforts of their own home. Here are some of the benefits of having local workers work remotely occasionally:

  • Local workers won’t feel resentful of remote workers who get to work from home. Local workers will see remote workers as trailblazers who have helped make it possible for them to work from home some of the time
  • Having local workers work remotely will also ensure that your collaboration tools (conference bridges, text chats, screen sharing, etc) work well
  • Allowing local workers to work from home will help them appreciate both the challenges and benefits of working remotely

6) Have occasional face to face meetings. Remote workers will appreciate getting to meet local workers and visa versa. Having occasional face to face meetings has these benefits:

  • Associating names and faces with voices is essential when you have remote workers who dial into conferences. Instead of having each person announce their name before speaking on a conference call, people will be able to associate names with voices because of the occasional face to face meetings
  • Employees will view this occasional face to face travel as a perk. Companies like Mozilla have ‘work weeks’ where everyone travels to some city to work for a week. Employees get to meet each other face to face and collaborate on work in the same location for a week.

Big Idea 2013: Tech Shortage Solved By Remote Workers

In 2013, top technology companies will aggressively expand their hiring by seeking out remote technical talent.  Instead of relocating new hires, these companies will hire resources where they currently live and integrate them into the workforce remotely.  Top talent across the country will will help fill the shortage of  technical talent on the coasts.

Many technology companies on the coasts are running out of top technical talent to hire locally.  Companies like LinkedIn, Salesforce, Google and Amazon are starting to seek out talent in such remote locations as Kansas City and Cleveland because talent is increasingly hard to find locally.

Take, for example, LinkedIn.  LinkedIn is located in Mountain View, California which means it has to compete with companies like Google, Intuit, Mozilla, Symantec, and many smaller start-up companies.  The local talent pool is starting to run dry.

Traditional Solutions Are Not Working

Traditionally this sort of problem has been solved in two ways:

  1. Companies searched for talent in other markets and paid them to relocate
  2. Companies opened offices in other markets so that they could tap into talent in that new market

These traditional solutions come with their own problems.  Paying to relocate talent is expensive.  It is often very expensive given the fact that an unusually high number of home owners are upside down on their mortgages.  The down housing market makes people less likely to move and more expensive to relocate.  Also, top talent in mid-western or southern locations may have their own reasons for not already living on the coasts.

At the same time, opening offices in other markets to acquire talent local to that market still limits companies to local talent – now in two markets instead of just one.  Talent is still hard to find because people must live close to one of the two offices.

Hiring Remote Workers Has Big Advantages

Hiring remote workers solves the obvious problem of finding top talent when the local talent pool has run dry but it also has other big advantages.  Remote technology workers are more happy, more productive, better team players, and less likely to quit which reduces the cost of  employee turnover.

Hiring remote workers reduces the cost of office space because remote workers work from their own homes.  The company saves the cost of space, electricity, heat, networking, maintenance, property tax, etc.

Many big companies have already figured this out.  As companies add more remote offices, workers are becoming more accustomed to working with each other remotely and across time zones.  Workers collaborating together from two different offices in two different geographies is much the same as collaborating together from two different home offices.  Big companies such as IBM and smaller companies such as WordPress have figured out how to leverage the power of remote workers and reap the rewards of lower cost, higher productivity and a more satisfied workforce.

In 2013, smart technology companies will recognize the benefits of hiring top talent to work from home in remote markets and expand their workforce with top technical talent from other markets instead of scraping the bottom of the local talent pool.

Notes Worthy Android App

Lately, in my free time I’ve been working on learning how to build Android apps.   This is mainly for my entertainment and so I can learn the Android SDK better.  I want to be able to build real apps that I can monetize either through ads or purchase.  To get there, I decided I should build some simple apps first.  My first app is called Notes Worthy.  It is a simple notepad-like app that lets you save a list of text notes.   There are hundreds of these types of notepad apps in the Google Play Store but my version is very stable, pretty small, does just what I want and no more.  It is very fast to add a note and not filled with useless features that complicate it.  Feel free to try it.  You can download it from my personal site or on the Google Play Store.