Monthly Columns
 

Time

Copyright © 1998 Sue Blake

Mary hasn't seen her son for six weeks. She knows he still lives there and he's still alive because the pile of pizza boxes outside the computer room gets slightly higher each day then magically disappears on garbage night. Sometimes the phone rings briefly and stops, as if someone quietly answered it... or was that a dream? She got an email a month ago, saying "Hi Mum, just letting you know I'm OK" but never heard more. Maybe she should have replied. If only she could hear his voice or see his smiling face occasionally!

Mary considers the problem and realises she cannot do this alone. In that pained frenzy that only a mother could know, she searches through her documents and finally joins yet another mailing list to find out how to put his picture on the root window and attach sound grabs to window commands. Two days later, Mary and her son are reunited. He looks so cute with that first tooth coming through!

By now she is three days behind with "Perl in 21 days", her unsorted Netscape bookmarks list is too long for the screen, she keeps forgetting to dodge the bugs in her .bashrc that have sat "almost perfect" for a fortnight, and the mysterious messages to root will fill the disk if she doesn't work out what they mean real soon.

Eventually Mary admits that she has a problem with time. Drawing on her wide general knowledge and newly acquired sixth sense for The UNIX Way, she knows what to do:

$ man chron
No manual entry for chron

Damn! What else could it be?

$ man time

No, timing each command wouldn't help.

$ apropos time

Whoah there, so many! Hey, this one looks like fun:

uptime(1) - show how long system has been running

Wow, 42 days already. The world's gotta see that! There must be some way to get that output onto the bottom of each email. Would it be in the man page for the mail program or the shell? No problem, three man pages will fit on the screen at once...

"Hello! Pizza delivery! Hello? Anyone home?"


Mary has the luxury of no work and a quiet sympathetic son. She can get away with being a bit disorganised for a while so long as there is nothing in particular she needs to achieve.

Most of us who use *BSD at home have other realities to fit in between bouts of computing. We can't cover the dual task of learning and enjoying properly without a clear plan.

If you're working or studying full time and interact with other humans occasionally, your available *BSD time might look something like one of these:

1 hour per weekday evening
8 hours during the weekend
13 hours total per week

2 hours each of two evenings a week
4 hours during the weekend
8 hours total per week

3 hours each of two evenings a week
10 hours during weekend
16 hours total per week

How do you actually spend that time? Do you know? Do you plan ahead then write down what you've done? Do you just follow your nose like Mary does? Can you afford to do that? What's the main thing you're trying to achieve, and how much time to you allocate specifically to that task? Are you getting there as fast as you'd hoped? Are you expecting too much of yourself too quickly? Do you get bogged down in study and forget to stop and enjoy a game occasionally? Or is it the other way round?

All beginners will need to spend time doing pretty much the same things, but their priorities will be as different as their reasons for having a computer.

Here's some of the tasks we all engage in, and must prioritise to fit them into a week's *BSD time. Your list might differ slightly, but this'll do us for now:

reading
books, magazines, ezines
man pages and similar
*BSD docs (e.g. Handbook, FAQ)
on line tutorials etc
support mailing lists, newsgroups
configuring/maintaining
setting up and tweaking the system
getting your shell and X desktop "just right"
setting options, macros, etc in favourite editor
keeping records and backing up
automating tasks
learning/experimenting
trying out examples from tutorials, etc
guessing "what happens if I...?"
recovering from and fixing mistakes
trying different window managers and configurations
using a program to become familiar with it
learning advanced efficiency tricks, e.g. for editor
working out why someone's instructions worked
setting out to learn a skill, like shell scripts
asking for help on a mailing list or newsgroup
keeping a diary of what you've tried and what happened
web searching for newbie guides and info
using
running system utilities
Internet use
reading mail
playing games
drawing, writing, web pages, etc
listening to music
trying out different software
boasting about what you've done
telling others it's easy and fun

No wonder there's never enough time to do everything! Now that it's clear that it's not possible to cover all of these activities adequately within a normal person's week, there's no reason to feel guilty or too slow.

If you like working to a plan, here's the raw materials to devise one that suits you. Work out which is your main area of interest now, but be ready to adjust priorities as you gain skills and broaden interests.

Try to cover some activites from each group every week and you won't be doing too badly, even if you do adopt Mary's approach.


Mary's Pick

crontab(1) - maintain crontab files for individual users
crontab(5) - tables for driving cron
cron(8) - daemon to execute scheduled commands

at(1), batch(1), atq(1), atrm(1) - queue, examine or delete jobs for later execution

sleep(1) - suspend execution for an interval of time

time(1) - time command execution

uptime(1) - show how long system has been running
ruptime(1) - show host status of local machines

date(1) - display or set date and time

touch(1) - change file access and modification times

cal(1) - display a calendar
calendar(1) - reminder service

From ports:
xtimer, an enhanced cal, ical, xcalendar, plan, ...

Sue Blake, sue@welearn.com.au