Skip to content

Author: matthew

Ubuntu 8.10 magazine

I wrote several articles, and co-wrote one with a friend, Ryan Troy, for the Ubuntu 8.10 edition of Linux Identity. I even got to write the editorial at the beginning of the issue.

I received my copy today. The issue should be available on newsstands soon. It includes two installation DVDs, one 32 bit and one 64 bit. The issue will give a good introduction to Ubuntu for your friends and coworkers, even those with little technical skill, knowledge or experience.

Nowhere Else to Turn

My second book (written solo, not as a cowriter) appeared on Amazon this morning. The cover still hasn’t appeared on the site, but hopefully it will soon along with “search within this book” capability.

From the back cover: “There are things that happen in the world that are difficult and sometimes impossible to explain. At times, we are confronted with circumstances or situations over which we have no control. How we deal with those situations reveals much about our strongest beliefs, our dreams, and our fears. This collection of short stories explores specific instances of involvement with or belief in the supernatural in one North African country. The tales, all claiming to be true, were collected over several years while the author was living in Morocco.”

Readers will discover stories about fortune tellers, sorcery, jinn (genies) and more.

If you are interested, take a look here: http://www.amazon.com/Nowhere-Else-Turn-Matthew-Helmke/dp/0615264190/

Ubuntu and Open Office get shout outs in the acknowledgements, since I did all the writing and layout using them exclusively.

One url Apache-style 301 redirects in nginx

Note: this post is outdated. Use at your own risk.

In Apache, you can create an .htaccess file to house 301 Redirect statements, or you can do it in the main config file. It is easy, and common. To change the url that appears in a client browser, as well as tell it where to find something that is no longer located in an original place, you would write something like this for :

Redirect 301 /original_location/

where is where the client is looking for the file, but would not find it, and is what you want used when the original is requested as well as in the future.

Easy, right?

I searched and searched for good documentation on how to do this with nginx. I found great documentation for doing it with a regex, such as this sample code you could put in your site-specific vhost file at /etc/nginx/sites-available/mysampledomain.com for forcing browsers to use the domain name without www.

server {
listen 80;
server_name www.mysampledomain.com;
rewrite ^/(.*) permanent;
}

What I couldn’t find was a simple way to do static redirects, like in my sample above. So, tonight I did some experimenting and figured it out. I hope this helps someone else. Put something like this in your /etc/nginx/sites-available/mysampledomain.com file, in the main server section (see second example following this one).

location /original_location/ {
rewrite /original_location/ permanent;
}

That would fit in a file like the one I used in my previous post like this.

server {
listen 80;
server_name www.matthewhelmke.net;
rewrite ^/(.*) http://matthewhelmke.net/$1 permanent;
}

server {
listen 80;
server_name matthewhelmke.net;

access_log /home/myusername/public_html/matthewhelmke.net/log/access.log;
error_log /home/myusername/public_html/matthewhelmke.net/log/error.log;

location /original_location/ {
rewrite /original_location/ permanent;
}

location / {
root /home/myusername/public_html/matthewhelmke.net/public;
index index.html index.htm index.php;

# this serves static files that exist without running other rewrite tests
if (-f $request_filename) {
expires 30d;
break;
}

# this sends all non-existing file or directory requests to index.php
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?q=$1 last;
}

}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/myusername/public_html/matthewhelmke.net/public$fastcgi_script_name;
include fastcgi_params;
}
}

Have fun! You now have one less reason to give why a person shouldn’t use ngnix instead of Apache.

A short how-to for switching from Apache to nginx

Note: this post is outdated. Use at your own risk.

I am running my sites on a VPS from Slicehost and have had a very good experience. When I started, I set everything up using Apache 2, since that is what I am most familiar and adept with using. Apache works well, but likes more memory than I have in my server. This caused me to use my swap far too much.

I worked with the Apache configuration, finally coming up with the changes below for my /etc/apache2/apache2.conf file, which minimized the swapping, but wasn’t quite enough for me to be happy. Also, if more than one or two people were browsing the site at a time, it forced everything to go much more slowly, because it now got backed up in a queue instead of being served quickly (this was by design, to save memory and prevent swapping). That was not acceptable. Here you can see the changes I had made to get it to run without swapping all the time in a lean-memory environment. I have removed everything but the necessary changes I had made, just to save space here. Apache is so well documented, you should be able to figure the file out as needed using readily available info, if you need to.

Timeout 30
KeepAlive On
MaxMemFree 262144
MaxKeepAliveRequests 2
KeepAliveTimeout 1
<IfModule mpm_prefork_module>
StartServers 2
MinSpareServers 1
MaxSpareServers 3
MaxClients 4
MaxRequestsPerChild 5
</IfModule>
<IfModule mpm_worker_module>
StartServers 2
MaxClients 5
MinSpareThreads 2
MaxSpareThreads 5
ThreadsPerChild 2
MaxRequestsPerChild 3
</IfModule>
HostnameLookups Off

I did some reading and decided to try nginx as a replacement for httpd. The Slicehost folks also have some great how-tos (not only on nginx) and helpful people in their forums, and my friend, Ryan, has a helpful post as well.

There are lots of how-tos around for installing from scratch on a server. Most are good. I am focusing on migrating from Apache2 to nginx. For that, I will assume you have your site set up and running on Apache, your DNS is set properly and pointing to the server, etc.

First, make sure your system is up to date, especially with all security updates. Then, install nginx, either from source or from your Linux distribution’s package repositories. I chose the latter. You also want to install the cgi version of php5. On my Ubuntu 8.10 server, I did this:

sudo aptitude update && sudo aptitude safe-upgrade

followed by:

sudo aptitude install nginx php5-cgi

I made a couple of modifications to my /etc/nginx/nginx.conf file. Here is what I have. My server has two dual core processors, hence the 4 worker processes. I lowered the keep-alive timeout, added the gzip config, and made a couple more simple changes.

user www-data;
worker_processes 4;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
worker_connections 1024;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

access_log /var/log/nginx/access.log;

sendfile on;
tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 3;
tcp_nodelay off;

gzip on;
gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml
application/xml+rss text/javascript;

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

After that, I used the php-fastcgi script I found here and put it in /etc/init.d/php-fastcgi.

#! /bin/sh
### BEGIN INIT INFO
# Provides:          php-fastcgi
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start and stop php-cgi in external FASTCGI mode
# Description:       Start and stop php-cgi in external FASTCGI mode
### END INIT INFO

# Author: Kurt Zankl <kz@xon.uni.cc>

# Do NOT "set -e"

PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="php-cgi in external FASTCGI mode"
NAME=php-fastcgi
DAEMON=/usr/bin/php-cgi
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# If the daemon is not enabled, give the user a warning and then exit,
# unless we are stopping the daemon
if [ "$START" != "yes" -a "$1" != "stop" ]; then
log_warning_msg "To enable $NAME, edit /etc/default/$NAME and set START=yes"
exit 0
fi

# Process configuration
export PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS
DAEMON_ARGS="-q -b $FCGI_HOST:$FCGI_PORT"

do_start()
{
# Return
#   0 if daemon has been started
#   1 if daemon was already running
#   2 if daemon could not be started
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null || return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --background --make-pidfile --chuid $EXEC_AS_USER --startas $DAEMON -- $DAEMON_ARGS || return 2
}

do_stop()
{
# Return
#   0 if daemon has been stopped
#   1 if daemon was already stopped
#   2 if daemon could not be stopped
#   other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE > /dev/null # --name $DAEMON
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently.  A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}

case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac

Then, I set the ownership and permissions appropriately.

sudo chmod u+x /etc/init.d/php-fastcgi

and

sudo chown 0.0 /etc/init.d/php-fastcgi

and set it to run at boot

sudo update-rc.d php-fastcgi defaults 21 23

Most how-to articles tell you here to create the directories to hold your website(s). Since I am doing this on a site that was already running Apache, my sites already existed in /home/myusername/public_html/sitename/public. Note where yours is, because you will need that info.

Ngnix works similarly to Apache for multiple domains. With each you can set up more than one domain on an IP address using virtual domains. If you only have one domain, the setup is easier, but outside the scope of this article. Apache2 puts the sites in directories in /etc/apache2/sites-available for setup, with symbolic links to there for active sites from /etc/apache2/sites-enabled. Nginx can do the same, using /etc/nginx/sites-available and /etc/nginx/sites-enabled.

Make a virtual host (vhost) file for each domain/site you plan to use in /etc/nginx/sites-available. Here’s a sample, based on this domain, but with sensitive info changed:

/etc/nginx/sites-available/matthewhelmke.net

server {
listen  80;
server_name  www.matthewhelmke.net;
rewrite ^/(.*) http://matthewhelmke.net/$1 permanent;
}

server {
listen  80;
server_name  matthewhelmke.net;

access_log  /home/myusername/public_html/matthewhelmke.net/log/access.log;
error_log   /home/myusername/public_html/matthewhelmke.net/log/error.log;

location / {
root   /home/myusername/public_html/matthewhelmke.net/public;
index  index.html index.htm index.php;

# this serves static files that exist without running other rewrite tests
if (-f $request_filename) {
expires 30d;
break;
}

# this sends all non-existing file or directory requests to index.php
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?q=$1 last;
}

}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /home/myusername/public_html/matthewhelmke.net/public$fastcgi_script_name;
include fastcgi_params;
}
}

The first server section rewrites all requests for the domain that use www in front to the same url without the www. The second server section is where all the fun happens. Both are listening on port 80, the standard for http. The second tells nginx where to put the log files (in a special log directory I created for each domain, in each domain’s directory in my /home directory).

The location section is especially important. It tells where to find the root directory for my site, in my case, in a special directory called public. Then, I have two special rewrites. These allow you to use permalinks aka clean urls aka pretty urls aka SEO urls with your site. Once these lines are in the vhost file, you will discover that both WordPress and Drupal allow you to adjust the settings in their admin panels to use them as you would like. I haven’t tried it with other types of content management systems, but I think it would probably work. Without these lines, you have to use the standard url formats.

The other incredibly important bit is that last section. It tells nginx to send all php files to the fastcgi script to be interpreted. Without this, you won’t get php to work.

Once you get your vhost file set up, create a link to it from the sites-enabled directory so that nginx will know to use it.

cd /etc/nginx/sites-enabled/ && sudo ln -s ../sites-available/yourdomain.com

Then, to test it out, start the fast-cgi script, turn off Apache, and start nginx.

/etc/init.d/php-fastcgi start

/etc/init.d/apache2 stop

/etc/init.d/nginx start

If everything is set correctly, you should now be able to view your site using nginx. If it isn’t, you can always stop nginx and start apache2 again to keep your site up while you try to figure out the problem. Once it is up, tested thoroughly, and you are happy, you can remove Apache if you like.

Note: I had some trouble with the fast-cgi script at first, having copied one that had special characters put in it. That happens sometimes when you post code with WordPress. I’m trying to prevent it here by using code tags, but they reset any time there is a blank line, so you may need to cut/paste in sections. If you have problems, and all you did was cut & paste, look at this first as the likely cause.

My experience with System76

I recently bought a new computer from System76 with Ubuntu pre-installed, because I want to support companies who are supportive of Free and Open Source Software. This was my experience.

Before I ordered the machine, I spent some time reading several pages of questions and answers from their support forum, housed at the official Ubuntu Forums. A quick disclaimer: I am an administrator for the Ubuntu Forums.

Later, I emailed their support team with several questions. They responded quickly and answered every one to my satisfaction.

I also compared configurations and prices with several other Linux pre-installed retailers such as Dell, ZaReason, Los Alamos, and R Cubed, each of whom offer products I think look good. In the end, I liked the price and performance specs of System76’s Pangolin Performance best, and decided to order it.

Of course, I was not content with the default configuration, even though it looked quite nice, so I bumped up the specs a bit. Here are the details, including the price paid.

System76 Pangolin Performance (PAN-P4) = $1,049.00
Bluetooth
Display Resolution 15.4″ WSXGA+ Super Clear Glossy LCD (1680 x 1050)
Video Card nVidia GeForce 9300M GS 256MB DDR2
Hard Drive 320 GB 7200 RPM SATA II
Hardware Warranty 1 Yr. Ltd. Warranty and Technical Support
Memory 4 GB – DDR2 800 MHz – 2 DIMMs
Operating System Ubuntu 8.10 (Intrepid Ibex) 64 Bit Linux
Optical Drive CD-RW / DVD-RW
Processor Core 2 Duo T5800 2.0 GHz 800 MHz FSB 2 MB L2 (35 Watt)
Gigabit LAN (10/100/1000)
Wireless Intel Wi-Fi Link 5100 – 802.11A/B/G/N Up to 300 Mbps
Built-In Webcam

The computer was delayed a little. I emailed to ask what was going on and was answered within the hour with details. After a few days, I was given an apology for further delay and a free shipping upgrade to the next quicker option. That was nice, and the communication was very well appreciated.

When the system arrived, it was well packaged and everything arrived in perfect condition. All the cables and such were there. In all, the shipment included the laptop itself, with battery, an AC adapter, a telephone/modem cord, a Windows-focused manual that came from the whitebox manufacturer (Clevo, I believe), two nicely produced documentation sheets from System76 for getting things up and running and learning how to use the laptop’s features within Ubuntu, and a nifty polishing cloth for cleaning the glossy screen and shell.

System76 Pangolin Performance

The colorful sheet to the right of the picture includes a simple three step process for getting started. First, you plug the system in and turn it on. Second, once the computer boots into an OEM install of Ubuntu, you create your main user account. Third, you enjoy your system. The back side of the sheet includes instructions for installing a special driver package that System76 provides to ensure that you get the full hardware capability of your laptop. The process was quick and painless.

Here we are, up and running. I like to put clear adhesive backed plastic (that’s shelf paper, for you Americans) on either side of the touchpad on my laptops, as I have been known to wear through the finish on them in the past. This also gives me a place to put my Ubuntu business card with my contact info.

Keyboard and screen view of System76 Pangolin Performance

I am pleased to report that following these instructions results in a computer that “just works.” The 3D graphics, including Ubuntu’s fun Compiz visual effects, the video camera, Bluetooth, wireless internet, suspend, hibernate… In fact, everything I have tested works with no configuration needed, other than to personalize the experience! Now, I haven’t used the fingerprint reader, and have no plan to do so, so I should caution readers that I don’t know whether it works or not.

*EDIT: I just discovered that the System76 driver bundle includes everything necessary for the fingerprint reader to work, tested it, and can confirm it works beautifully. Wow!

I was concerned at first since the computer came with the 64-bit version of Ubuntu, and I have only used the 32-bit version in the past after having trouble with the 64-bit version in a much earlier release a couple years ago. I have had no problems doing anything with it that I wanted to do.

In short, I have built my own computers in the past, bought Windows computers pre-built and installed Ubuntu over or alongside that OS, and bought an Ubuntu pre-installed computer from Dell for my wife. Each method has its benefits. However, I have to say that this was the easiest and most enjoyable experience I have had.

Drupal 6 Themes

I have used Drupal to administer sites for years. It is flexible, powerful, and relatively easy to use. The one area of Drupal where I have been weak is theming. Generally, I have used contributed themes, maybe modifying colors, logos, and other simple things.

The one or two times I felt ambitious and tried to read through the documentation in order to learn how to create my own theme from scratch, I either got distracted by life, or found myself getting tired of the search and wishing I had all of the information I needed in one place to learn how to create a theme.

This week, I have been reading a book on precisely this topic called Drupal 6 Themes.

The book has impressed me. It is well-written, using clear language, useful diagrams and figures, and a logical progression of ideas. It starts with the basics, talking about what a theme is and defining its components. Then, it moves into the details of modifying the default themes. Up to this point, I didn’t encounter anything new to me, but I was only up to chapter two.

Starting with chapter three, the book reveals and clearly describes each of the files and elements that make up a theme, using both the default PHPTemplate engine as well as other options. Later, the book teaches how to use and master this template engine to create your own custom theme, including how to create custom looks for specific pages, modules, and more.

In between the two, you learn how to download ready-made themes, contributed by the Drupal user and developer community, and modify them for personal use, knowing how and where to look for usage restrictions to avoid problems.

Finally, the book ends with some very useful appendices that show where to find every css file and what it affects, and other useful tooks and kits for developers.

This book has saved me a lot of time, and is well done. If you are responsible for a site powered by Drupal, you may find it useful as well.

An interview with vor

Shawn Dennie, known as vor on the Ubuntu Forums, is one of our moderating staff. He is a programmer with a long technical history and being hired at 18 years old did wonders for his already-strong geek credibility. He is a world traveler, and an all-around interesting and good guy, and the subject of our latest in the community interview series.

1. Tell as much as you’re willing about your “real” life – name, age, gender, location, family, religion, profession, education, hobbies, etc.

My name is Shaun Dennie, I’m inching closer to 30 every day and can generally be found in Buenos Aires, Argentina (though, sometimes in Denver, Colorado or London, England).  I’m a self-proclaimed Techno-Hippie Semi-Buddhist and so don’t own anything that I can’t fit in my backpack.

I began attending (and almost graduated from) the South Dakota School of Mines and Technology at the age of 16 and was hired by Sun Microsystems at the age of 18 to work in their High Performance Libraries and Tools Group. Over the last 10 years I’ve worked various other software engineering jobs but, have spent a lot of time travelling in Europe, South America and Asia.

Over the last few years I’ve been moving away from writing proprietary software and now work in a hostel while dedicating most of my time to helping people with Ubuntu.  My hobbies include Ubuntu, going to watch my fúbol team (Club Atletico San Lorenzo de Almagro), relaxing with my friends and pretending to be a bartender at my favorite bar in Argentina (The Spot).

2. When and how did you become interested in computers? in Linux? in Ubuntu?

Like many people my age, I got interested in computers after watching movies like War Games and Weird Science.  My mother is an author so we had an 8086 machine fairly early (2 5.25 floppies and no hard drive). I learned how to use it and then one day a friend told me about this cool thing called a “BBS”.  I got a modem for Christmas and then figured out how to do ASCII art in exchange for membership for the for-pay BBSs because at the age of 12, I had no income to pay for them.

I started programming at 13 when a friend said, “It would be great to have the Dungeons and Dragons Monster Compendium on the computer and have it auto-generate loot”.  I figured out how to do just such a thing using GW-BASIC and then sold it to my friends for US$10 a copy and thus began my software engineering career.  Before starting at Sun, this career would also consist of taking bribes to ensure proper matches in a match-making program I wrote for a high-school Valentines Day fundraiser and writing a full casino software suite for the TI-85 calculator (and selling it for US$15 an install).

I got interested in Linux in 1997 when I built my first computer and, following in True Nerd Tradition, installed a copy of Slackware that I got out of the back of a Unix book.  I went on to learn more about Unix at Sun and found Ubuntu in 2005 when I wanted a Linux distro that worked on my new laptop without much hassle (and Ubuntu did!).

3. When did you become involved in the forums (or the Ubuntu community)? What’s your role there?

I started reading the forums in 2005 but I’d always been a lurker. I got brave one day in 2007 and started answering questions.  I enjoyed it and so just kept doing it.  I eventually joined the beginners team and was later invited to become a moderator for the forums.

4. Are you an Ubuntu member? If so, how do you contribute? If not, do you plan on becoming one?

I’m not currently an Ubuntu member, no. I plan to apply in the near future but, until recently my contributions have only been via the forums and I wanted to get involved more with the community here in Buenos Aires before applying.

5. What distros do you regularly use? What software? What’s your favorite application? Your least favorite?

I only run Ubuntu 8.04 on my laptop.  I have virtual machines setup for many popular distros and even Windows but, I run Ubuntu as the primary OS.

My favorite tools are vim and perl.  I once wrote a full featured mp3 player in vim (using mpg123) and generally get confused when using something that doesn’t have vi key bindings.

6. What’s your fondest memory from the forums, or from Ubuntu overall? What’s your worst?

Every time I’m able to help someone on the forums, I enjoy it.

My worst memory (though, now it’s funny to me) is when I hesitantly joined the IRC channel #ubuntu-meeting before a membership meeting to see how some friends did and the first thing I saw was, ” * vorian peers at vor-ubuntu”.  Since then, vorian has been peering/scowling/growling at me on a regular basis but, I find it less disconcerting now.

7. What luck have you had introducing new computer users to Ubuntu?

Most of my friends and family use Ubuntu now.  The key seems to be configuring it properly for them and then teaching them a few basic things.  The ones that are computer savvy to begin with quickly take the initiative to become Ubuntu experts and the ones who didn’t know much about computers in the first place have a very low barrier to entry and so quickly acclimate themselves to the new OS and sometimes even get excited about how easy it is to use.

I’m always surprised at how easily people figure out how to use Ubuntu. My mother knows nothing about computers but, she showed *me* how to sync an ipod on Ubuntu.  I installed Ubuntu on my fathers laptop and 10 minutes later he’d downloaded some games from the repos and was thoroughly enjoying himself.  I think when you give someone a non-mainstream OS, it challenges them prove their intelligence and they go out of their way figure out how things work.  I always find it funny when non-technical people say, “Well, I just use Ubuntu.” in sort of a bragging way.

8. What would you like to see happen with Linux in the future? with Ubuntu?

I’d like to see launchpad bug #1 fixed.

9. If there was one thing you could tell all new Ubuntu users, what would it be?

“Don’t Panic.”

The forums are a very friendly place and, if google isn’t giving you the answer you need, the forums probably will.

Trolling, rudeness, and a lack of manners

What is it about the internet that causes some people to act like it is suddenly okay to be rude, demeaning, or to speak/write/act in a way that would otherwise be obviously unacceptable in any human society?

I don’t actually expect an answer. I just needed to vent.

CUPS Administrative Guide

I was recently given a copy of a new book, CUPS Administrative Guide, to read and review. My initial thought was, “There is an entire book about the Common UNIX Printing System? Why?” You see, I have never had a problem configuring or using a printer with Linux, but my needs are simple, and I have always done my research first to see if the hardware is supported before purchase.

I received the book this week. Not only is CUPS much more powerful and configurable than I previously knew, but the book’s author does a very good job of discussing the system and its options clearly. Anyone working in a business or computer lab setting would find the book useful and probably more enjoyable and easier to parse than using man pages and Google searches. I think this is especially true in a place with multiple workstations, several shared printers, and users set up with individual accounts and in specific user groups.

My favorite feature in the book is that for most configuration options, multiple methods of making the changes are discussed. There is information on using the command line, using the CUPS web interface. Also wonderful is the detailed description of the major options for configuration file settings, and a useful comparison between the language used for configuring the Apache and CUPS daemons.

An interview with Nicolas Valcárcel

Today’s interviewee volunteered to participate in the Ubuntu Community Interviews series some time ago. He is involved in some of the more technical aspects of the community, helping maintain and place packages in the repositories, working to keep Ubuntu up to date with security, and lots more. Enjoy!

1. Tell as much as you’re willing about your “real” life – name, age, gender, location, family, religion, profession, education, hobbies, etc.

I’m Nicolas Valcárcel Scerpella. I am a 24 years old male Peruvian student living in Lima – Perú with my parents, 2 sisters and a rotweiler. I’m coursing the 7th-8th period of systems engineering at the University “de lima”, working as Security Engineer in the OEM Solutions Group for Canonical. Before that i was Senior consultant in Aureal Systems, doing mainly sysadmin work on the client’s server (primary in Linux, but here was some other *nix like ones). I love adventure sports and outsides, i used to surf, skate and also played rugby at the university. While i was still at school i also used to row at the “Club de Regatas Lima” from 1998 until 2001.

2. When and how did you become interested in computers? in Linux? in Ubuntu? In computers?

Since i remember. When i was really young (4 years or so) my mother used to bring me to her work and sit me on a computer to play games all day long, i can’t remember any time of my life without a computer (well, only when i travel to outsides). With Linux i started late, in summer 2004 IIRC when read about this “OS for hackers” while i
was on the underground world of internet :P, then i tested a lot of distros until i found debian, after using it for a while Warty Warthog showed and i started using Ubuntu since then.

3. When did you become involved in the forums (or the Ubuntu community)? What’s your role there?

I’m not involved in the forums, but i started involving myself in the Ubuntu community on May 2007 when i sent my first patch ). Then it was a non stop road, slow at the beginning, until now that i’m a MOTU. Also i am part of the Peruvian LoCo team council, where we do a lot of advocacy. Now i’m focusing myself on bringing more people to the packaging world.

4. Are you an Ubuntu member? If so, how do you contribute? If not, do you plan on becoming one?

Yes i am! I contribute in the Server Team primarily.

5. What distros do you regularly use? What software? What’s your favorite application? Your least favorite? Distros?

Now only ubuntu, but on my previous work i use CentOS on servers for the clients due a company policy which i couldn’t change. For software i mostly use Firefox as a web browser, Evolution as mail client, Terminator as terminal emulator, Pidgin as msn messenger, Empathy as jabber client, python as programming language and a LOT of console tools.

6. What’s your fondest memory from the forums, or from Ubuntu overall? What’s your worst?

Well that would be my lovely mentors and sponsors. I have so much to thank them. When i give a talk i always remark how wonderful developers the ubuntu community have and how norsetto, persia and ScottK help me at
the very beginning. Also some people i admire (and always talk about them) are TheMuso and heno, who having real problems are so good at what they do, it’s just amazing, i really admire them. The worst? I don’t have any bad moment in mind (i haven’t had one or i have just forget them).

7. What luck have you had introducing new computer users to Ubuntu?

Really good, with the LoCo team we do a lot of advocacy and we have a lot of happy new ubuntu users.

8. What would you like to see happen with Linux in the future? with Ubuntu?

I really want to see more companies stop seeing linux as a hippies thing (or insignificant OS). I want to see more Hw manufacturers writing drivers for Linux, and more software being developed for it (as in propietary software migrating to linux [To think on them open his source is just craziness]).

9. If there was one thing you could tell all new Ubuntu users, what would it be?

Don’t quit, there is a wonderful world of amazing people and communities working behind the scenes for you to have this amazing product on hands. It’s hard at the beginning but really wonderful once you catch it.