Archive for the ‘Work Practices’ Category
Posted by Alec on 19 October 2009
I have just installed Ubuntu Netbook Remix 9.10 beta on my EEEPC 100H and so far it’s been a great experience. Things that work better out of the box
- Synaptic touch pad
- LCD Fonts
- Remix user interface
- Network printing
- Performance
- Suspend/Resume
- Bluetooth device setup
- I also have reason to believe that the sound works better in Skype, but I’m still kicking the tyres on that
Improved Applications:
- GNOME Evolution now works well on the smaller screen
- Gwibber is much more useful for microblogging but it needs some work on reliability and performance
- Eclipse 3.5 now installs out of the box
- BOUML is now up to date
A few odd things that it would be nice to see fixed
- Evolution sometimes looses it Window border. Something to do with the Remix window manager I think
- Some things I had to try a second time before they settled down. E.g. 3G network management, bluetooth mouse setup (but that was probably finger trouble on my part), Skype sound
All in all a great release. I love it!
(20/Oct/09 — added comment about Gwibber reliability)
Posted in EEE PC, LinkedIn, Linux | Leave a Comment »
Posted by Alec on 2 October 2009
I’ve been using my ASUS EEPC 1000H for 10 months now and there are some obvious changes that could improve the form factor which no one seems to be implementing. So here is my $200 worth
- Remove the speakers — it’s hard to get decent sound anyway. I’m mobile so I don’t want disturb others and I always use headphones. Use the space for something else
- Use a trackpoint instead of a trackpad. Takes up a lot less space and is harder to accidentally hit when typing
- Try and make the screen a little taller so that it can display 1024×768. There are just enough applications that don’t work at 1024×600 to make this important
- Improve video playback — the form factor makes a great mini-TV but sometimes… Would this be a simple matter of improving the graphics card?
- Ship with 2Gb already!
- Oh .. and don’t bother with fingerprint scanners, there are more important things.
I’m happy enough with my EEEPC that it’s my main computer (but I have a big screen and keyboard to use with it, and I don’t use tools like Eclipse)
Posted in EEE PC, Personal Opinion | 1 Comment »
Posted by Alec on 4 September 2009
I’ve just had an article published by Sitepoint that aims to introduce Git to people who may not have programming experience and are more comfortable using a GUI rather the command Line. “Git: Your New Best Friend“
Posted in Cygwin, Git, Open Source Software, Software Development, Web, Windows, Work Practices | Leave a Comment »
Posted by Alec on 9 July 2009
After Perl Mongers last night there was a short discussion over tools. Here is my preferred list
- Vim editor
- Git version control (and GitHub to host my remote repos)
- Linux operating system
- Perl and CPAN for programming. Not a prefect language, but has wide applicability to the the types of problems I solve
- Google search engine
- Email (gmail)
- Bash and the UNIX command line tools (sort, find, grep etc etc)
- OpenOffice
- Paper journal/notebook (currently using a Moleskine, but I prefer a Miquelrius)
Posted in LinkedIn, Linux, Open Source Software, Work Practices, ego | Leave a Comment »
Posted by Alec on 15 January 2009
BBC NEWS | Health | Surgical checklist ’saves lives’
Using a simple surgical checklist during major operations can cut deaths by more than 40% and complications by more than a third, research has shown.
Does ANYONE need persuading on the value of a process when performing technically complex work? Including software development and service management…
Posted in Project Management, Software Development, Work Practices | 2 Comments »
Posted by Alec on 2 January 2009
I’ve has my EEEPC 1000H for over a week now and I’m so totally enamoured of the small device that it’s become my sole platform for all my computing. Obviously this has involved some adjustments.
- The keyboard requires considerable patience — at least for someone with my large fingers
- My fingers are having to learn new positions to try and stop keep brushing the trackpad and moving the cursor to somewhere completely different. This is currently the most frustrating aspect of using the machine.
Some things to try.
- Get a bluetooth mouse
- Try the LXDE desktop and the Xfce4 desktop. They are both tuned for low resource use
- Consider using DevilsPie to reduce the amount of screen space used by removing the title bar and forcing all screens to be full maxiumum, partucurly of your screen is smaller than 10″
- Configure Skype to use the hda sound devices
- Carry a short USB cable for thumb drives etc. Thy can’t always fit in space you have at the side of the netbook
- Get used to using keyboard shortcuts — it mush easier than using the trackpad
- Try using Vim and it’s plugins rather than a large IDE
- Try using an alternative email and PIM program to Evolution. Thunderbird for instance works better on the smaller screen and is faster
- Use multiple desktops and flip between them using <ctrl><alt><arrow> (Gnome default), for instance when referring to other material in the middle of witing an email. It’s an easier way of switching back and forth between two applications that using something like <alt><tab>
- Use the <F11> in Firefox to move into full screen mode (many other applications have a similar feature)
- Do as much as possible by typing at the terminal
Posted in EEE PC, Linux, Open Source Software, Software Development | 2 Comments »
Posted by Alec on 1 January 2009
This week I at last did something I’d wanted to do for a long time and release some of Voga’s intellectual property to the wider world.
I have already made material available either through this blog or via Slideshare. However for a geek it’s obviously better to publish complete projects in an Open Source manner so they can be freely copied, modified and shared.
For historical reasons this had been inconvenient to do as I used to hold everything in a single Subversion repository. Not only did this contain my potentially open material, but also my customers private data and my business records (yes, I keep my accounts database in a version control repository!). A few months I migrated my Subversion repo to git, but I still had a single large repo and no time or skill to fix it.
However today I bit the bullet
- Removed all my possibly public data to another directory structure
- Tidy up my current repo by removing all the old ‘trunk’ directories — as a solo consultant I was lucky and had never had to branch my projects. Commit my new streamlined repo
Now to work on the the public projects
- Identify a complete project and make sure it had no proprietary data. This is potentially time consuming
- Tidy up some of the names
- Create a new git repo; add the project files; and commit
- Create a new repo on Github for my project
- Follow the simple instructions to upload my project to github
To Do
- Update existing references to my projects I can find and update to point to the repo
- Add the correct license files
- Start again for as many projects as possible, please be patient
I’ll still keep presentation copies on Slideshare because that is much more convient for most people.
A big thank you to the git developers and github for making this so easy
Posted in Git, LinkedIn, Open Source Software, Software Development, Work Practices | Leave a Comment »
Posted by Alec on 29 December 2008
When programming it’s always a good idea to check return status to make that no error has occured. In Perl we often write
somethingWeWantToDo or die "we failed because .....";
However when running in a test environment we may not have all our infrastructure in place to make our operation pass when needed (ideally we should use mock objects or some other testing framework). A hack is to pass a flag into the program telling it that we are running in a test jig and we don’t care if our operation fails. The solution is simple, but a pain to work out after lunch…
somethingWeWantToDo or $testJig or die "we failed because .....";
If we fail and we are not using our test jig then we will exit with the appropriate diagnostics. i.e. failure is optional in a test jig
This is much easier than cluttering the code with conditonal if statements.
Posted in Perl, Software Development, Work Practices | 2 Comments »
Posted by Alec on 21 December 2008
The 10″ EEE PC 1000H makes a good choice for people looking for a notebook with a little more storage and bigger keyboard than Asus’ previous model. Unfortunately, whilst the local Harvey Norman had a good price, I was still forced to pay the Microsoft tax. So the third job after I got home (after upgrading the BIOS and checking the hardware worked ) was to install Ubuntu 8.10. The process was pretty straight forward because I had a current Ubuntu system to create the USB boot disk and a wired network connection so that I could install the wireless tweaks. However it took a fair mount of Googling to hopefully this should save some folks a bit of time.
- Get a copy of the 32-bit Ubuntu 8.10 ISO image. I used the Desktop version, alternative should work fine as well
- Use the Ubuntu System->Administration -> Create Startup USB tool to copy Ubuntu to a USB stick
- Shutdown Windows on the EEE. I had to do this via Windows shutdown to get the correct prompts on power up
- Power up the EEE with the ESC key pressed. You should be prompted for a boot device
- Boot from USB
- Install Ubuntu in the normal fashion
- Connect to wired Internet connection
- Get latest updates
- Follow these instructions
- You should now have a working EEE PC with wireless
To configure Evolution email use ALT-f at the end of each configuration screen (the buttons can’t be seen)
Try setting the panels to autohide this will give you a little more screen room
The EEE PC trackpad buttons are pushed from the front by the way, not the top.
Posted in EEE PC, LinkedIn, Linux | 3 Comments »
Posted by Alec on 20 December 2008
When you work from home there are various things you need to do to look after yourself:
- Identify what you need to stay sane and make sure work out how to find or do it
- Set up networks of friends on services such as twitter or facebook. Spend a limited of time each catching up with them — but be careful not to let it affect productivity too much.
- Make sure you get out off the ‘office’ for coffee breakfast or lunch. I like to go to a local coffee shop
- Join various groups relevant to your professional or personal interests and consider attending group meetings. IT people based in Melbourne can find a list at Perl Net
- Set boundaries to help you switch off from work and do something else. Having an private office and defined office hours can help
- Make sure that the people you live with understand when you are work and can’t be usually expected to join in other activities
- Be flexible and break the schedule and work practices sometimes. After all flexibility is the main reason to telecommute
He also helps to create a decent working environment (space, light, furniture, storage, IT systems). I made some notes on this
Posted in LinkedIn, Personal Opinion, Work Practices | Leave a Comment »
Posted by Alec on 11 December 2008
The Ultimate Social Media Etiquette Handbook: The Most Egregious Sins on Social Media Sites, Exposed » techipedia | tamar weinberg
Forgetting that some individuals won’t network with you on a “personal” space like Facebook without knowing who you are, even with the proper introduction. If you’re looking to establish a professional relationship with someone, consider LinkedIn. Otherwise, consider building up a rapport with an individual before randomly adding them as your friend. Some people require face-to-face meetings before they invite you into their private lives. After all, Facebook was a tool that college students were using before it was open to the public, and some still use it as a purely personal and not a professional tool. LinkedIn is still seen as the more professional of the two.
I am one of these strange people, so please don’t try and initiate a business relationship with me on facebook. However I’d be delighted to consider a professional connection on LinkedIn
Posted in Business, LinkedIn, Personal Life, Web, Work Practices | 3 Comments »
Posted by Alec on 3 November 2008
(Updated 5/Oct/08 and 11/Nov/08)
I occasionally ponder on what skills and knowledge a novice who wants to become a skilled developer should acquire. In no particular order here is a suggested list of things to consider:
- Basic accounting: This is useful from both an IT perspective — a lot of IT systems are used for financial management; and from a general work perspective because it helps with your future in business
- Version control concepts and tools
- Waterfall Software Development Lifecycle (SDLC): Requirements, design, building, testing, release
- Agile SDLC such as XP and/or Scrum
- How to use a command line
- Basic compiler architecture — the 7 phases of compiling
- Data representation: Number bases (binary, Hex, BCD); character sets; XML markup
- Basic algorithms: Sorting, Linked lists etc, recursion,…
- Important design patterns
- Testing and quality as a substantial stand alone topic
- Programming in at least three languages: C (or Java, C++, Ada etc), Perl (or Python, Ruby etc) plus one other (e.g. Lisp, Haskell). At least one needs to be an OO language and OO programming should be a familiar habit. Perl does not count as OO for this discussion.
- How to use a word processor and spreadsheet
- Basic SQL, RDBMS architectures, 1st, 2nd & 3rd Normal forms and basic DB schema design
- TCP/IP networking and basics of http, email, ftp, etc. Needs to include conceptual understanding of DNS and related security issues
- Basic IT security concepts
- Basic IT System Management
- Personal task and work management (e.g. GTD or GSD, suggested by Sinewalker)
- Maintaining personal work records in a log book
Further topics
- More advanced RDBMS use and schema design
- Embedded systems
- How to use LaTeX or Docbook
- Application engineering for quality (maintenance, extensibility, performance etc)
- OS design
- Requirements engineering
- UML
Further suggestions anyone?
Posted in LinkedIn, Personal Opinion, Software Development, Work Practices | 5 Comments »
Posted by Alec on 30 October 2008
Updated 6/Oct/08
When you travel any distance with a laptop it helps to have some good habits for packing, carrying and using your computer
What to pack:
- If you travel abroad then a universal mains socket adaptor is required. I quite like this one, make sure it’s as robust as possible because sometimes they can be a little fragile.
- USB Charging cables for phones, iPods etc. Saves taking the mains based charger and having to share the mains adaptor when abroad. Some laptop BIOS settings allow you to configure the USB ports to supply power even when the laptop is off or on battery, which is useful for overnight charging but you can flatten your laptop battery so be careful
- Security cable for laptop. I prefer a combination lock to avoid having a key to lose. Get one with as long a cable as possible as anchor points sometimes need a stretch
- If you use a mouse then get a smaller laptop model to pack — it could save you get getting RSI using the built in trackpad or trackpoint all the time. The really small laptop mice may be too small for prolonged use or larger hands so check before buying.
- A small mouse matt. Hotel room desks etc. are often covered with glass (or worse dirt) and will not work with laser mice so get a small mouse mat. Pack it so it stays flat
- I have always carried a spare LAN cable, however I am using it less and less as wireless becomes more common. Depending on the places you go it can be useful, especially in hotel rooms, but beware buying retractable cables (sight unseen) as some are bulky.
- Have small bags to place cables and mice in. It makes finding things a lot easier. Ziplocks plastic bags will do when you can’t get nylon or cloth
- Headphones can be useful for music and VoIP calls (needs a mike as well). I don’t recommend USB headphones as they may be bulky and take up a sometimes precious USB connection. You need to experiment to see if a bluetooth headset works for you. If you can spring for headphones that work on the plane as well that’s a bonus but I have not bothered for a number of years as airlines now provide reasonable quality headsets (ignoring issues of noise cancelling headphones). It seems to be hard to protect expensive headsets without bulky cases so I get cheaper headsets and save the space.
- Consider the use and packing of a 3G modem. In Australian hotels broadband access can be very expensive (A$20-30/night) and with the added convenience of 3G it can make a lot of sense. Shop around for the best deals. In the US free wireless access seems to be included as part of the hotel package — but check before leaving. And check how much 3G access costs when using global roaming, it can be VERY expensive.
Avoid wrapping the power leads tightly around your power brick — it stresses the cables and causes failures (I had a colleague who did it all the time)
Have a specified order and placement for all your items in your luggage. Do it enough and you won’t have to think about it and you’ll know were everything is.
Invest in a good quality laptop backpack. It will save your spine from being pulled to the side and leave the hands free for other things. Business travelers can get smart, black, bags now. It should have a padded laptop compartment, or use a laptop sleeve. In addition make sure that the bag has enough additional packing for your other travel needs. e.g.
- Paper notebook/journal/Filofax
- Pens
- Paperwork (use file folders to protect loose paper sheets), magazines and books
- On longer trips passports, toiletries and spare plastic bags. I wrote some additional notes on trans-Pacific travel earlier
- Anything else that supports your travel flow and work flow.
N.B. When travelling, even with carry on luggage only, assume you will loose access to your suitcase for 24 hours and need to work/live as best you can from your backpack
Lastly make sure that you have the correct work processes and tools on hand to make the best use of your time away
Posted in LinkedIn, Work Practices | 2 Comments »
Posted by Alec on 27 October 2008
For the benefit of all you young developers out there who are being steered into a life of developing useful and valuable software I’d though offer a few hints and tips on slowing thing down a bit for your customers to increase support revenue:
- Make error messages cryptic or generic e.g. “Error writing file”
- Do not document the underlying architecture, diagnostic features or data formats
- Make sure that products require significant setup after installation or, better still, each time they used in a new project (excellent way to increase consulting revenue)
- Make the product appear flexible and powerful by doing the same thing different ways in various places
Posted in Personal Opinion, Work Practices | 2 Comments »
Posted by Alec on 24 October 2008
I recently decided, despite using nothing but Linux on my laptop, that I had become a suite using purely graphical Office tools (Evolution for calendar, email etc, OpenOffice to write documents and presentations and so on). I was becoming a very rusty geek!
Time for Plan A. Migrate email, task management etc to emacs, start using Docbook for presentations and document creation (in Emacs of course) with git to protect my precious work.
However so far it all feels a bit hard… There is no consensus on the best way to configure Emacs for laptop email using IMAP services (mix and match any of Dovecot, fetchmail, Gnus, RM, procmail, etc etc); and getting a decent fop processor working is harder than it should be (I got going instead with dblatex in the end) — now writing Docbook documents seems hard as well — all that XML *sigh*. I’m not even feeling at home with git yet
.
Update 29/Aug/08: Sacha Chua has some great advice to share on using Gnus for email
Anyone have some tips or encouragement to share?
Posted in Linux, Open Source Software, Work Practices, ego | Leave a Comment »
Posted by Alec on 9 October 2008
UPDATED 30/Jan/09. With apologies for any confusion, previous example was completely wrong
For reasons I cant quite remember running the Windows gvim.exe binary directly from bash can lead to problems parsing path names. So I created an function as follows:
function gvim() { (
unset a
for i in "$@"; do
case $i in
-*)a=" $i $a";;
*) if [[ -f $i ]] ; then
a=" $a $(cygpath --absolute --dos "$i" )"
else
touch "$i" &&
a=" $a $(cygpath --absolute "$i" )" &&
rm -f "$i"|| echo "failed"
fi
esac
done
/progra~1/vim/vim72/gvim.exe $a&)}
Posted in Cygwin, Work Practices | Leave a Comment »
Posted by Alec on 2 September 2008
Updated Nov/08 — added link to Twitter Tips and Silk Charm post
Some of the problems of Social Networking « Alec the Geek
issues with this type of online social networking
It’s actually more than a year since I first blogged about social networking and the world of web 2.0. The web, and the practices that surround it, have moved on so I thought I update my thoughts as well. By a strange coincidence, just as I was starting this post I came across crazeegeekchick’s thoughts on how to use social networking — well worth reading before you carry on.
Generally social networking has been a huge consumer of my attention and time; and to be honest I don’t think the medium given me a very good return on my investment, except as a learning exercise.
- LinkedIn has become an online list of business contacts. But of limited use because I can’t add my own notes to profiles. I have had some networking activity — but to be honest it has not made a huge amount of difference to my working life. I think now the number of people on the service is becoming so large anyway that it’s becoming less useful, but I hope I’m wrong
Updated 13/Nov/08 — You can now add notes to your LinkedIn contacts
- Facebook has become pretty pointless. I don’t have time to become a zombie and most of the other stuff I do use is not terribly useful. e.g. I just became a facebook fan of Gordon Ramsay — but so what? Nothing happens much.
- Blogging gives me a certain amount of satisfaction and I often refer back to my old blog posts for information. I also know that a few people have found help from ramblings so I count the blog as a success. However it’s rare for me to get over 100 readers a day so it’s not a huge success
- Lifestream (twitter, jaiku,identi.ca). This is very distracting and I need to find some way to stop keep looking at my friendfeed stream. However on the positive side it does provide me some of the support that I miss being a solo worker. It’s probably a good idea to whittle down my ‘posse’ to as few as 10 people to reduce the noise; question is which 10 — I’m generally pretty choosy who I “friend”. Problogger has a site introducing Twitter, and by extension most of the other micro blogging site, and Silkcharm also posted some suggestions
- Geo Location (e.g. brightkite, dopplr). I am just so over that. In Australia it’s hard to use anyway because we have limited network coverage and I don’t have an iPhone. I keep thinking they a potentially huge personal security issue as well
- I have accounts on delicious and flickr which I find useful. Delicious in particular has proved very useful professionally and personally.
As I mentioned earlier the major upside is that I now think know a lot more than the general population about this stuff — perhaps I can become a media pundit? Easier than doing real work, talking of which…
Posted in Business, LinkedIn, Personal Opinion, Web, Work Practices | 3 Comments »
Posted by Alec on 26 August 2008
A increasingly amount of words, and now money, is being expended on Enterprise 2.0 (E2)
E2 is an extension of some of the ideas from Web 2.0 (W2)— the concept of a network of connected people making a self sustaining community that generates ideas, information and value. In addition the ever present threat of Gen Y and Gen C employees unable to contribute to the business except in a connected web of goodness that provides inclusion, exploits the power of the group, … and all the other nice warm fuzzy words
However at the end of the day organisations need to survive by fulfilling customers needs and wants effectively. It’s often hard to see how the totally immersive nature of the W2 experience translates into value for E2.
Let’s look on the positive side first:
- An E2 enabled organisation may be able to attract and retain better quality individuals in the gen Y workforce
- E2 may provide better mechanisms for a team generating new ideas and hence business improvement
- Team work may become faster and more effective because of improved communication
However reality could be a little different:
- All that high quality talent spends all day communicating in a E2 connected world they actually don’t get much work done. Capable people are only as valuable as their deliverables and at some point rubber has to hit the road, so can they please stop twittering and do some work?
- Everyone, both as individuals and as a team, can spend so much time navel gazing that no improvement of any value can be implemented.
- Communication paralysis can stop decisions being made. Everyone is so busy communicating it becomes unclear what needs to be done and no one is able to cut through the chaff. It’s a great way of avoiding responsibility.
- In certain organisations the tools of W2 may present a significant security risk.
So what is the bottom line on E2? I suspect it’s probably just a big waste of time… Remember that business value comes from three things:
- Doing it better and faster
- Managing the business more effectively
- Saving costs
If you cannot see E2 helping your organisation directly with those basic things then why bother?
Posted in Business, Personal Opinion, Web, Work Practices | 1 Comment »
Posted by Alec on 20 August 2008
Speed Launch
Community prototypes are projects Microsoft employees work on in their spare time
I hate to be mean, but it looks like Microsoft have decided to follow Google’s lead and provide an avenue for employees to work on personal projects. Not sure if MS provide just the website or also encourage employees to have time as well.
Posted in Work Practices | Leave a Comment »
Posted by Alec on 15 August 2008
Agile software development – Wikipedia, the free encyclopedia
Some commentators propose a model of post-Agilism that is effectively constructive anarchy, in that teams should be self-organising to the point where even the core values of the Agile movement are considered too presciptive, and that teams should simply “do whatever works for them”.
Does this seem a little scary to you? Gives me the heebie jeebies.
For those folks who are not familiar with Agile methods I have to say that I am firmly of the opinion that professional Agile developers are in fact some of the most process centric individuals on the planet. It’s one of the reasons I like the approach. This process (and we are talking about process in the small) leads to a) greater predictability and b) a mind more able to concentrate on the creative aspects of the job.
Post-agilsm seems to the antithiis of this. However a brief paragraph in WikiPedia does not a methodology make so I’m open to discussion.
Posted in Software Development, Work Practices | 4 Comments »