I wanted to have my own weather station and output the weather on a web page on my VPS server. There are plenty of weather stations available that will output data to a PC and several applications that will display that data on a web page. Most weather stations come with software but it is Windoze based and not Linux. Looking around for weather display software that will run on Linux I found Weather Display this supports a large range of stations , has lots of nice features , runs on Linux ( as well as Mac OSX and Windoze ) but costs around $70.
Looking for free software I found open2300 , this will get data from a La crosse WS2300/WS2305/WS2310/WS2315 Weather Station as well as sending data to Weather Underground and Citizen Weather. There are some very nice web sites using this software as a base for some extra coding. It will also run on a Linksys NSLU2.
Next I found wview , this supports a number of weather stations :-
Davis Vantage Pro/Pro2
La Crosse WS-2300/2308/2310/2315
Oregon Scientific WMR918/968
This produces a nice web page as on my server. The software will also run on a Linksys NSLU2 which has been modified to run a full version of Linux which means I don’t have to leave my main PC on all the time to collect the data. I happen to have a NSLU2 which I modifed to run a full version of Linux which I was using as a media streamer ( Firefly ) to stream audio to a Roku Soundbridge and as a backup server – I have now bought a SqueezeBox Duet and the NSLU2 is a bit too weedy for the SqueezeCenter software so I decided to run wview on this and send the generated HTML over to my VPS server on the net.
Weather Station choice
Having decided on wview the supported weather stations currently available in the UK are the La Crosse WS2300 series and the Davis Vantage Pro, as the Davis Vantage Pro with a PC cable is around four times the price of the La Crosse I decided to buy a La Crosse WS2308. This weather station will also work with the open2300 and WeatherDisplay software mentioned above. It measures indoor/outdoor temperature and humidity ,dew point, wind chill, wind speed and direction, atmospheric pressure and has a rain gauge to measure rain fall. It has a large LCD display unit that can either receive the data from the instruments via cable or wireless – I chose the wireless option as It is the most convenient although it can be less reliable and if you do lose contact with the sensors the PC output will show the outside temperature as 80 degrees C which buggers up your graphs !
The outside instruments are housed in three units connected together by cable. I mounted the wind anemometer on a TV aerial mast and the rain gauge on a simple L bracket. See the picture below. The TV mast and the bracket to mount it on the wall came from Maplin Electronics.
Prepare the NSLU2 for the Wview software
As noted above I wanted to install wview on my Linksys NSLU2, the version of Linux I had on there was too old to install wview and so I had to install a new version. To do this the instructions are on the NSLU2 Wiki site. Initially I installed the latest SlugOS ( 5.3 Beta ) but the wview packages ( I decided against compiling the latest version from source as I wanted to get something up and running quickly ) had dependency problems so I installed SlugOS 4.8 Beta as suggested in the manual. As I already had a version of Linux on the NSLU2 ( Unslung ) it was easy to do and it even kept all my data on the USB disk attached. I used sudo upslug2 –image=”slugosbe-4.8-beta-nslu2.bin” from by Ubuntu desktop to flash the new image onto the NSLU2 and once rebooted df showed :-
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 30379 244019286 83 Linux
/dev/sda2 30380 30394 120487+ 83 Linux
/dev/sda3 30395 30401 56227+ 82 Linux swap
/media/sda2 was the Unslung root partition so I made it the SlugOS one :-
root@nslug:~$ umount /media/sda2
root@nslug:~$ mkfs.ext3 /dev/sda2
root@nslug:~$ turnup disk -i /dev/sda2 -t ext3
Rebooted the NSLU2
I already had swap on sda3 but it was the wrong version so I remade it :-
root@nslug:~# mkswap /dev/sda3
Setting up swapspace version 1, size = 57572864 bytes
/dev/sda3 swap swap defaults 0 0
root@nslug:~# swapon -a
The NSLU2 does not have an accessible serial port to connect to the weather station. To use a serial connection to the NSLU2 see the Linux NSLU2 Wiki page here.
I choose the easy option to use a serial to USB converter cable ( from Maplin Electronics code ZP43 ).
root@nslug:~$ ipkg update
Updated list of available packages in /var/lib/ipkg/cross
Updated list of available packages in /var/lib/ipkg/native
<6>usbcore: registered new interface driver usbserial
<6>drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
<6>usbcore: registered new interface driver usbserial_generic
<6>drivers/usb/serial/usb-serial.c: USB Serial Driver core
<6>drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303
<6>pl2303 2-1:1.0: pl2303 converter detected
<6>usb 2-1: pl2303 converter now attached to ttyUSB0
<6>usbcore: registered new interface driver pl2303
Set the timezone and date :-
root@nslug:~$ ipkg install tzdata
Installing tzdata (2007e-r1) to root…
root@nslug:~$ ln -s /usr/share/zoneinfo/Europe/London /etc/localtime
logout and back in again
Set the date MMDDHHMM
Installing Wview on the NSLU2
root@nslug:~$ cd /etc/ipkg
root@nslug:/etc/ipkg$ wget http://www.wviewweather.com/ipkg/wview.conf
Connecting to www.wviewweather.com[220.127.116.11]:80
wview.conf 100% |*****************************| 59 –:–:– ETA
root@nslug:/etc/ipkg$ ipkg update
Updated list of available packages in /var/lib/ipkg/cross
Updated list of available packages in /var/lib/ipkg/native
Updated list of available packages in /var/lib/ipkg/_wview
root@nslug:/etc/ipkg$ ipkg list | grep wview
Look for your weather station model – in my case ws2300 :-
wview-ws2300-mysql – 4.0.1-r0 – wview is a weather site generator and more for a variety of weather stations
root@nslug:/etc/ipkg$ ipkg install wview-ws2300-mysql
Installing wview-ws2300-mysql (4.0.1-r0) to root…
downloads lots of dependent libraries etc.
Make the archive directory go to disk rather than in /var ( which is memory on the NSLU2 )
Next run the setup script wviewconfig. In most cases I accepted the defaults except as below
Serial port device – check with dmesg what in is – in my case it is /dev/ttyUSB0
Use metric measures
Weather station elevation (feet above sea level ) you can get this information from various sites on the Internet – I used http://www.earthtools.org/
This site will also give you latitude and longitude
Local Radar use Google to find a site that you can link to for a radar display or look at other weather sites to see what other people have used.
Ditto for local forcast
Run the rsync/ssh daemon wviewsshd?
As I wanted to use my VPS server on the Internet I use the wviewsshd daemon which does rsync over ssh to get the data to the external server – more about this below.
After wviewconfig has finished run the script wviewhtmlconfig – I accepted defaults.
You can always change settings getnerated by the above two scripts at a later date by editing /etc/wview/wview.conf or /etc/wview/htmlgen.conf and restarting wview.
Setting up rsync to send the data to an external web server
On the NSLU2
root@nslug:/etc/ipkg$ ipkg install rsync
ssh-keygen -t rsa don’t set a passphrase and accept the defaults
On your external server
-bash-3.2# useradd -m -d /home/wview -c “Wview weather” wview
-bash-3.2# cd ~wview
-bash-3.2# mkdir .ssh
-bash-3.2# vi .ssh/authorized_keys
paste in the output of the cat /root/id_rsa.pub command you ran on the NSLU2 above
-bash-3.2# chown -R wview:wview /home/wview/.ssh
-bash-3.2# chmod 700 /home/wview/.ssh
-bash-3.2# mkdir /var/www/html/weather (replace /var/www/html with your web server’s document root )
AIX making the identification light flash on a PCI card
When you need to check a cable on a PCI card or even replace a PCI card on an IBM Pseries running AIX it is helpful to identify the card by flashing the identification light on the card to distinguish it from the others.
First find the slot with the card in :-
enter to continue
Scroll down to Identify and attention Indicators
Scroll down until you get to the slot of the PCi card then hit enter and you get
a + besides the slot, hit F7 and then you get an I , this means the
indicator light on the card is flashing, use F7 enter to toggle it on and off.
I have a customer who uses pptp as a VPN for support logins.
After upgrading my Ubuntu server to 9.10 I found my PPTP tunnel would not start. Looking in /var/log/messages I got :-
Jun 4 18:10:20 master2 pppd: pppd 2.4.5 started by root, uid 0
Jun 4 18:10:20 master2 pppd: Using interface ppp0
Jun 4 18:10:20 master2 pppd: Connect: ppp0 <–> /dev/pts/2
Jun 4 18:10:22 master2 pppd: CHAP authentication succeeded
Jun 4 18:10:22 master2 pppd: LCP terminated by peer (MPPE required but peer refused)
Jun 4 18:10:25 master2 pppd: Connection terminated.
Jun 4 18:10:26 master2 pppd: Modem hangup
Jun 4 18:10:26 master2 pppd: Exit.
Now I know MPPE has been included in theUbuntu kernel for ages so I checked man pppd and it suggested I need to put something about mppe in /etc/ppp/options.pptp
I unhashed require-mppe-128 in /etc/ppp/options.pptp and it now works fine :-
Jun 4 18:23:09 master2 pppd: pppd 2.4.5 started by root, uid 0
Jun 4 18:23:09 master2 pppd: Using interface ppp0
Jun 4 18:23:09 master2 pppd: Connect: ppp0 <–> /dev/pts/2
Jun 4 18:23:11 master2 pppd: CHAP authentication succeeded
Jun 4 18:23:12 master2 kernel: [ 897.391871] padlock: VIA PadLock Hash Engine not detected.
Jun 4 18:23:12 master2 kernel: [ 897.393782] PPP MPPE Compression module registered
Jun 4 18:23:12 master2 pppd: MPPE 128-bit stateless compression enabled
Jun 4 18:23:12 master2 pppd: local IP address 192.168.XXX.XXX
Jun 4 18:23:12 master2 pppd: remote IP address 192.168.XXX.XXX
After rebooting a server sshd did not start. I tried starting using startsrc -s sshd , it came back with a PID but did not start. Looking in the errorlog with errpt -a showed src had a problem starting sshd.
OK, I thought no problem I will just start sshd from the command line to see why it fails to start so I did /usr/sbin/sshd
It came back with bad argument line 53 /etc/ssh/sshd_config
I checked the config file and sure enough at line 53 was :q!
Obviously some one had attempted to quit out of vi without saving and managed to mangle the file instead!
If you want to check your TSM client passwords are expiring and generating a new password you can use the mailprog stanza in the dsm.sys file on the client and it will email you with the newly generated password when it expires.
When ( not if ! ) you decide you need a To Do list / Task List then I suggest you head over to the Lifehacker web site. This is an excellent site for productivity ideas ( also some fun non productive ones ! ). It covers both computer based and non computer based ( e.g. paper notebooks etc. ) tools. If you decide on a paper based approach then head over to Cultpens to select you required pen or pencil from their very interesting collection.
If you decide that a computer based To Do list / Task List manager is the way to go then check out a comparison of software .
I wanted a tool that was web based , that could be installed on my own web server and is easy to add and “cross off” tasks.
I tried a few different ones and found Taskfreak to be just want I needed. It features amongst other things :-
Display tasks by project
Display tasks by deadline
Display completed tasks
Add comments to tasks
Simple progress bar for tasks
Pop up calender when adding deadlines
See the screen shots below for an idea of how it looks
It was also by far the easiest software I tested to create a new task. It is also multi user with several levels of users ( don’t worry if you just want to use it for one person – it is fine to do so ). There is a single user version on the site but it does not have as many features so I suggest you install the multi user version even if it is going to be used by only one person.
The license is GPL and it requires PHP 4.3.1+ or PHP 5 plus MySql . It also works with PHP 7 if you use the fork on Github :-
Although TaskFreak looks like it is no longer maintained I found a fork on Github that allows TaskFreak to work with PHP 7 so I suggest you use this.
If you are using PHP 5.3 or greater you need to edit /etc/php.ini and set your timezone :-
date.timezone = ‘Europe/London’
Otherwise you will see messages complaining about the timezone in the Apache logs :-
PHP Warning: strtotime(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Europe/London’ for ‘BST/1.0/DST’ instead in /var/www/html/taskfreak/include/classes/pkg_project.php on line 28, referer: https://tuqix.org/taskfreak/index.php?PHPSESSID=59b7orgmpe4sj64a9b7rpjal40
This assumes you already have MySql and PHP setup. These instructions are for Centos but will be similar for various Linux distributions.
Create the database
mysql -u root -p
mysql> create database taskfreak;
mysql> grant all privileges on taskfreak.* to taskfreak@localhost identified by ‘Password’ ;
I suggest restricting access to the Taskfreak directory for security in Apache. There is a good guide to do this here.
Clone the Git repo
git clone git://github.com/wnoisephx/TaskFreak
rename the directory to taskfreak
chmod -R 755 taskfreak
Change the value of TZN_DB_USER to be taskfreak
Change the value of TZN_DB_PASS to the password you set above
Point your browser at the taskfreak/install/index.php script and click on Check install
If everything is OK it will ask you if you want to create the missing tables – click on yes install missing tables for me.
If all is OK then click on Launch Taskfreak
Login as admin ( no password ) and you will be in the application.
You will see a warning about removing the install directory – this should be done so no one can overwrite you install.
cd to the directory you installed Taskfreak in and rm -r install
Set the Admin password and profile
Go to Manage – My Profile
Set your details including a password
Click on return to list
To create another user click on the new user icon :-
Fill in the details and click on Account is enabled – this will then let you setup the user as an Administaror , Manager, Intern or Guest.
From the README file explains the privileges :-General permissions:
– guests, interns and managers can view only tasks that belong to the
projects they are associated with
– interns, managers and administrator can create tasks (guests can not)
– interns, managers and administrator can see internal tasks (guests can not)
– managers and administrator can create projects
– managers and administrator can create users
– administrator can edit everything (tasks, projects, users)
Then we can give a specific position to a user when linking him to a project:
– extern: can only see tasks, can not do anything
– official: can add comments (later)
– member: can create tasks
– moderator: can add, edit, delete tasks and comments, manage users and change
– leader: can do everything
Associating a task to a user is only for you to organize yourself.
Someone who has access to the system and is associated to a project can see
all (public) tasks of the project.
Taskfreak is easy to use, one of the reason why I chose it was becuase it is so easy to add a task.
There are various password managers around. I wanted one that was web based so I could access it from anywhere , I also wanted to install it on my own web server. I would never use it for anything financial , just for the numerous web sites that require a user name and password.
After searching around I found Clipperz . This seemed to do everything I wanted and the community edition is licensed with an open source AGPL license . If you don’t want to install it on your own web server then Clipperz offers a hosted service for users. The Clipperz site explains how the data is encrypted and why it is secure.
Clipperz has some very nice features :
You can copy the password into the clipboard without it showing in clear text.
You can create a read only copy on your local desktop in a single HTML file than can be read with a browser , keeping the same encryption method – very cool!
You can import passwords from CSV, Excel , KeePass, Password Plus.
You can export the passwords and import them into another Clipperz account.
It can be run it a Firefox Sidebar or Opera panel
Installation on Centos 5
This assumes you already have Apache, PHP and Mysql already installed and working.
For my Centos server I needed to install json and the bcmath PHP extensions.
Installing PHP json on Centos 5
I had to do the following :-
yum install php-devel
yum install php-pear ( this will also install pecl )
pear install pecl/json ( if you try to just use pecl to install json you will get an error about a 8MB limit the solution is to use pear – I found this thanks to this page )
vi /etc/php.d/json.ini and add a line :-
yum install php-bcmath
If you don’t install bcmath you will get the following in the Apache error log when you try to register a user :-
PHP Fatal error: Call to undefined function bcscale() in /var/www/html/mytools/clipperz/php/index.php on line 72
service httpd restart
Creating the database for Clipperz
mysql -u root -p
You will be prompted for the Mysql root password you first set when you setup Mysql
create database clipperz ;
grant all privileges on clipperz.* to “clipperzadmin”@”localhost” identified by “passwd” ;
flush privileges ;
passwd is the password you want for the clipperzadmin DB user
Goto the HTML directory of your Apache installation – /var/www/html on Centos and if ncessary create a subdirectory where you want to install Clipperz. You probably want this directory protected by Apache authorisation. Unzip the Clipperz zip file you downloaded and rename the directory extracted to something like clipperz. Goto the directory and look at the INSTALL.txt file.
Set the database name , database user and database password you set when creating the database.
Point you browser to the location of Clipperz /php/setup/index.php
e.g. If you installed Clipperz in /var/www/html/mytools/clipperz you would go to yourdomain/mytools/cliperz/php/setup/index.php
You will now be in a page with POG ( PHP Object Generator ). Hit the POG ME UP button and if all goes well you will have a proceed button. Hit that and you will go onto another page where you can examine the database. On the plugins tab make sure you do not install base64 if you do Clipperz will not work on Centos – if the tab says it is installed then click on uninstall.
You are now ready to use Clipperz. Point your browser at the Clipperz location yourdomain/mytools/cliperz if you used the setting above. Click on the Create One button to create an account.
There are links on the pages for help and the main Clipperz site is very helpful.
You may want to donate some money to the project – there are links on the Clipperz site.
Once installed it is recommended you remove the php/setup directory to prevent someone deleting database records .
You can backup your settings by exporting the data to json format ( Data – Export – Export to json format ), this will keep all your settings and can be restored into another Clipperz account.
Another useful thing is to create an offline copy – this will create a single HTML file that can be loaded in a browser , keeping the same encryption protection.
Problems with json
On another server I had a problem with json . If I tried to create an account it failed. Looking at the ssl error log I got :-
[Wed Dec 28 16:57:45 2011] [error] [client 18.104.22.168] PHP Fatal error: Call to undefined function json_decode() in /var/www/html/tools/clipperz/php/index.php on line 227, referer: https://myserver.mydomain/tools/clipperz/
And in the error_log :-
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib64/php/module
s/json.so’ – /usr/lib64/php/modules/json.so: undefined symbol: ZVAL_DELREF in Un
known on line 0
The solution was found here ( note that is not for PHP53 if you followed my advise to use the IUS reposity to upgrade PHP – use php53-common – see below)
yum install yum-utils.noarch
rpm -Uvh –force php53-common-5.3.3-1.el5_7.3.x86_64.rpm
service httpd restart
Once you have signed up and logged in you are ready to go.
Although SiteBar works with any browser it looks and works best with a browser that can have a site displayed in a sidebar such as Firefox , Opera and later versions of IE.
Setting up Firefox to display SiteBar in a sidebar
Go to the start link of your SiteBar web site , highlight the web address including the http:// part and then Edit – Copy.
Next select Bookmarks from the Firefox tool bar , then Organise Bookmarks. A new window appears, expand Bookmarks Menu and select the folder you want the SiteBar bookmark to go to.
Select Organise – Add Bookmark from the toolbar. A new window appears as below. Fill in the Name , right click- paste in the Location field so the web address of your Sitebar site you copied to the clipboard above inserts. Fill in the Keyword and Description fields. Click the box Load this bookmark in the sidebar , then click Add.
Close the organise bookmarks window. Now when you go to bookmarks and select the bookmark you created above a sidebar will be opened with the SiteBar in it.
Having Sitebar in a sidebar really makes SiteBar brilliant to use.
Sign into SiteBar. If you want to import your current bookmarks into SiteBar this is easy to do and it can handle various formats. First you have to export you browser bookmarks into a file. For Firefox go to Bookmark – Organise Bookmarks – Import and Backup – Export HTML , save the file and remember the filename and location.
For Internet Explorer follow the instructions here.
On your SiteBar menu right click on your user name just below public bookmarks and select Import Bookmarks
The Import Bookmarks screen will display, use the Browse button to select the export file you saved above with your browsers bookmarks in it. The rest of the options can normally be left as default. Then click on Submit.
Once done , if you click on you username all of your imported bookmarks will display. You can delete bookmarks and folders by right clicking on the entry.
To go to a web site using a SiteBar bookmark just click on the bookmark and the website will appear in a new tab, the SiteBar sidebar will still be available.
Adding Bookmarks in SiteBar
To add a new folder just right click where you want the new folder to be and fill in the form to give it a name.
To add a link go to the web site in a browser tab . In SiteBar right click on the folder you want the bookmark to appear in and Add Link. Highlight the web address of the web site you want to bookmark in the browser tab and holding down the left mouse button drag the URL into the URL field in the SiteBar menu.
Next click on the Retrieve Link Information button – and here is the really nifty bit – SiteBar will go and get the link information from the web site you want to bookmark including the Favicon if available. What information it brings back is dependent on the target web site – some sites seem very good and SiteBar will even fill in the description field. Edit the fields as you wish and click Submit.
Searching your bookmarks
Type a keyword in the SiteBar dialogue box and then click on the backend bookmark icon
This will display in a tab your SiteBar bookmarks matching the keyword in the top half of the screen ordered by how often you have clicked on them together with links from the SiteBar community and a Google search ( you can change your default search engine ) in the bottom half . See below as example of a search for the keyword news. It has picked up two bookmarks in my SiteBar – Freshmeat and BBC news.
There are lots of other features in SiteBar that I need to explore. I highly recommend SiteBar as a web based bookmark manager.