n800 Getting started (n00b) Guide… Part One.

I’ve had my n800 a little over two weeks, and the length of this post will propably explain why I haven’t posted about it before. I love the box, it looks sooo good, and the linux inside means that the scope of potential is just unimaginable… but… the experience isn’t perfect. I guess the experiece is very much like the windows / linux thing as a whole, what works is great, but sometimes getting linux “just so” can be more of an effort than in windows.

I’ve decided to write up all my notes, and bookmarks to make things easier for any other n800 n00bies :) Before we get started the compulsary screen shot !

Screenshot of my n800 Desktop

Adding Software.
You’ll notice that there’s not a great deal installed, and what’s there very much resembles a phone ( *shock* ) and very quickly you’re going to want something extra. Now you’re in a bit of a chicken and an egg senarior, some software requires root access (more on that later) and some have a neat “single click install”.

First place to look for “single click installs” is maemo.org/downloads but you’ll notice, that some of the icons are greyed out, so I’d recomend going though the pain (lots of typing / hand writing with a stylus is) of setting up all the application repositries. To do so, open up the application manager, click (menu) Tools -> Application Catalogue -> New and simply fill in the fields for each repo one at a time. After completeing this you’ll be asked to refresh the catalogue, if you get errors you”l have to go through each one singley disabling it, doing a refresh until it works, and then check that you’ve made no mistakes; on the other hand if it works you’ll notice loads of new cool things you can install.

Got root?
If you’re new to linux, and don’t know about root, it’s basically the same as the “Administrator” account on windows… but with on exception root has NO RESTRICTIONS.. windows can (and does sometimes) stop the administrator from doing things (like deleting locked files) Unix / Linux will let the root account do anything, including wipe the file system, so use the root account with care.

You’re going to need root to do certain things, to use root you need to install “xterm” and “becomeroot” from you’re list of newly setup applications. Running xterm will give you a shell (like a windows dos prompt) where by you can directly type commands into the underlying linux, buy typing sudo gainroot you’ll notice the prompt will change from $ to # you now have god like access to your box… at this point I recomend you change the root password from “rootme” to something more secure, type passwd and follow the instructions. :)

(If that doesn’t work, read below, install ssh and see this)

Remote Access.
You can get remote access onto your n800 via a couple of ways. If you like a GUI try x11vnc from here you can get a vncviewer (for windows or linux) download the .deb file and open it with the application manager. I had no problems getting this working, but I did find using the mouse and keyboard on my pc a little slow and un-responsive so ymmv :)

The otherway, and what I use is an SSH sesion, much quicker very usable, and like running the xterm from your pc. From the list of installable applications choose “dropbear server” and using a client (try putty for windows).

To connect to your Internet Tablet you will need to know its IP address. To find this open the Connection manager and select Internet connection > IP address from the menu. Tip – you may find it easier to use a fixed IP address.

you can ssh root@ipaddress (using the password you set before, see why I said to change it) of course to be safe you can ssh user@ipaddress, but you’ll have to change the password for user like you did before but in a $ shell.

You’ll also want to disable ssh from starting automatically, you don’t want some script-kiddy trying to hack your box whilst you’re connected to a wifi network, as root type update-rc.d -f dropbear remove , then when you need it you can do /etc/init.d/dropbear start :cool:

Battery Life.
The 1st thing I noticed when I got my new toy was that I hammered the battery and only got about 1 -> 2 hours wireless useage. I can confirm that using adhoc wireless connections eat the battery, out in the world with proper AP’s battery life seems fine (3hrs+ online perhaps), but at home it really doesn’t last that long.

There are lots of things you can do, to improve battery life. 1st up enable “soft power off” , this will allow you to hold down the power button to but n800 into standby mode, really usefull for hitting before you put it back in your pocket. See this post here for a full set of instructions. Next up, tweak your wireless settings.. what you set here will depend on what you brought the n800 for, I would have thought most people would disable the “search for wifi” functionality as you probably don’t need it to automagically connect to a network whilst your driving or walking, so under the control panel -> connectivity set the search interval to “Never”. I’ve also screwed my Idle times right down so that it disconnets if I’m not doing anything …I haven’t yet been disconnected when I was doing something, but I do usually have to hit “connect to network” before opening a brower etc.

I’d also suggest using offline mode when you’re watching a video or something, that ways “stuff” isn’t happening in the background when you’re not using it.

End of Part One
I think that’s long enough, those few tips should be enough to make most users 1st experience better, in part two I’m going to talk about Apps, what I’ve installed and what didn’t get uninstalled :)

Intel 3945ABG Wireless / WiFi Card on CentOS 5

I’ve taken to using CentOS on my servers, and fedora on my Laptop. New job, means new laptop, and to avoid fedora update hell, I thought I’d try CentOS on my laptop.

All seems good other than my wifi card not being detected, and for some reason googling for “centos 5 intel 3945” didn’t provide a working anserwer, actually I found the answer by googling for “supplementary disk centos 5” which finds this thread that says…

Install dag’s repo (this rpm), and then install dkms-ipw3945 (yum will pick up the dependancies)

yum install dkms-ipw3945

Next enable network manager…

chkconfig --level 345 NetworkManager on
chkconfig --level 345 NetworkManagerDispatcher on

reboot (seriously) and when you next log in you’ll get a little icon in you system tray where you can manage your WiFi :)

Process Scheduling is Nice !

The holy grail of computing is security and performance, it’s all well and good having the most secure system in the world, but if it’s rubbish at doing the job it’s supposed to do then you’ve kinda missed the point. Tools like psad and denyhosts provide excellent security, but to do so actively use resource. Let’s take the example of a mail server, if some unsociable person starts heavily scanning your machine, and the above two applications slow down the delivery of mail, your users won’t be happy. That’s where “nice” comes into effect; nice allows you to add priorities to the applications that are important to you. Now I hear what you’re saying, psad and denyhosts are so light how could they possibly consume resource ? So let’s look at a real world example….

I like many, run open source applications on, how to put it politely, not exactly top end kit ;) I run, Nagios, Cacti, and Splunk all on a Pentium III with 256Mb RAM, so here’s the deal, the main purpose of this box is to monitor kit ( with nagios ), cacti & splunk are useful extras, and the box also has to support my basic security stuff (monit, psad, tripwire, denyhosts, etc) . As you can see my box is quite heavily loaded, the real world impact was that splunk’s indexing, and nightly tripwire checks staved nagios of resources, which in turn cause checks to fail, sending me false alerts … *cry* … Enter “nice” to save the day! By Adding a nice priority to nagios, I was able to give nagios what it needed to function correctly; the impact on the other applications wasn’t that they couldn’t run, they just had to run a little slower.

If you’ve read the man page I linked to above you’ll see that processes priorities range from -20 to 20 (-20 being the very best), if you watch top for a little while you’ll see that generally processes have no nice setting (they are all zero), so by simply setting nagios to -1 it’ll instantly jump to the top of the cue !

So how to set the nagios nice, infact this applies to any service being called from /etc/init.d. To get started vi /etc/inid.d/nagios and add the following line near the top (below #!/bin/bash – obviously)

NICE="/bin/nice -n -1"

Now look for the start() function, for nagios there’s a line called $NagiosBin which starts nagios, but other services have deamon $prog or similar, simply insert $NICE infront of $NagiosBin (or deamon $NICE $prog), and restart your service. Now open top, and do something to use the application, so I opened the nagios web page, you’ll see your serice shoot straight to the top !

Now perhaps that was not very clear, so let’s look at doing the same of httpd, again, edit /etc/init.d/httpd (near the top), make yours look like…

# Path to the apachectl script, server binary, and short-form for messages.
apachectl=/usr/sbin/apachectl
NICE="/bin/nice -n -3"
httpd=${HTTPD-/usr/sbin/httpd}

Now fix “start”…

start() {
        echo -n $"Starting $prog: "
        check13 || exit 1
        LANG=$HTTPD_LANG daemon $NICE $httpd $OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch ${lockfile}
        return $RETVAL
}

Making sense, now ?

One of the problems to point out is that /etc/init.d files with redhat based systems get over-written when updates happen, so you may have to change this every time :( fortunately some services, like mysql for example support “nice” settings in there config files, so my /etc/my.cnf looks like…

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
nice = -1

On “top end” equipment, to be honest, you probably won’t even notice the difference, but on older kit the impact is dramatic ! :D

links for 2007-05-09

Link

[ # ]

A Linux / Command line: how to upload to wordpress wp-plugins.org via subversion ( SVN )

Could that title get any longer !

Hopefully you get the point, sometimes you need different tools for different jobs, if you want a full development platform with SVN support I suggest you take a look at eclipse (with subclipse ) but what if you already have done the development and you just want to do a quick upload.

My phpbb_recent_topics plugin is hosted here, and when the nice guys at wordpress gave me an svn account, I just wanted a quick way to upload what I’ve done. Now I must stress this may not be the “proper” way to use svn (there’s a book for that) but it is enough to achieve what we want, a straight forward upload.

I’m using redhat, so the 1st step was to install dag’s subversion rpm , I also needed to setup an “editor” variable for commenting.

SVN_EDITOR=vi
export SVN_EDITOR

Then, I went into a directory onto my server, and downloaded a copy of the existing subversion directory structure.

[nick@SERVER wp_plugins]$ svn checkout https://svn.wp-plugins.org/phpbb-recent-topics/
A    phpbb-recent-topics/trunk
A    phpbb-recent-topics/branches
A    phpbb-recent-topics/tags
Checked out revision 9232.
[nick@SERVER wp_plugins]$

My plugin (at the time) was on version 1, so my 1st steps were to create a version 1 tag, add it to svn, get the stable copy of my plugin, add that to svn.

[nick@SERVER wp_plugins]$ cd phpbb-recent-topics/
[nick@SERVER phpbb-recent-topics]$ ls
branches  tags  trunk
[nick@SERVER phpbb-recent-topics]$ cd tags/
[nick@SERVER tags]$ mkdir 0.1
[nick@SERVER tags]$ cd ..
[nick@SERVER wp_plugins]$ svn add phpbb-recent-topics/tags/*
A         phpbb-recent-topics/tags/0.1
[nick@SERVER wp_plugins]$ cd phpbb-recent-topics/tags/0.1/
[nick@SERVER 0.1]$ wget http://www.linickx.com/files/php/phpbb_recent_topics.txt
[nick@SERVER 0.1]$ mv phpbb_recent_topics.txt phpbb_recent_topics.php
[nick@SERVER 0.1]$ svn add phpbb_recent_topics.php
A         phpbb_recent_topics.php
[nick@SERVER 0.1]$

Finally I updated everything, and uploaded (committed) my files.

[nick@SERVER 0.1]$ cd ../../../
[nick@SERVER wp_plugins]$ svn update phpbb-recent-topics/
At revision 9232.
[nick@SERVER wp_plugins]$ svn --username linickx commit phpbb-recent-topics/
Adding         phpbb-recent-topics/tags/0.1
Adding         phpbb-recent-topics/tags/0.1/phpbb_recent_topics.php
Transmitting file data .......
Committed revision 9233.
[nick@SERVER wp_plugins]$

Remember this doesn’t publish your plugin on wordpress.org, to do that you need a valid readme.txt in the trunk directory, but as you can see once you’ve created all the files on your local box, it’s just a few commands to get your work uploaded.

Did you notice that the wordpress svn supports SSL ?

links for 2007-05-01

Link

  • Project Honey Pot is the first and only distributed system for identifying spammers and the spambots they use to scrape addresses from your website. Using the Project Honey Pot system you can install addresses that are custom-tagged to the time and IP add
  • Bad Behavior complements other link spam solutions by acting as a gatekeeper, preventing spammers from ever delivering their junk, and in many cases, from ever reading your site in the first place. This keeps your site’s load down, makes your site logs
[ # ]

More WordPress Exploits on Milw0rm

I’ve posted about the popularity or wordpress having a negative effect before. Here I pointed out only days after a security bug being patched by the WP Team, an exploit was freely available….. the up-shot being that we’ve only days to respond and patch our blogs (this could be a real problem should we dare to take a holiday ! )

The thing is, the problem appears to be getting worse, now plug-in exploits [1] [2] [3] are being posted, this is worse because many of us use a lot of plug-ins and without some kind of updating mechanism it’s difficult to stay onto of patching.

There is a plug-in that may help here, I say may, since I didn’t get a lot of joy, it couldn’t detect a load of my plug-ins, and I know the idea has been floated so others obviously share my concern, let’s hope for a main-stream solution soon :D