L-W iPhone App on the way!

June 18th, 2009

Should be getting an iPhone App shortly for my school, Lick-Wilmerding. We are waiting on Apple to clear the application through its crazy approval process. This will be a great way for Lick-Wilmerding Students, Parents, Faculty and Alumni to stay connected to the school. It will be available in the App Store shortly and be free of charge.

Here are some screenshots.

My LWHS app iconMy LWHS iPhone App launch screen

My LWHS Login ScreenMy LWHS iPhone App Home Screen

Getting a Sugarized FBReader to Run on OLPC XO

June 5th, 2009

Kids and the XO

OLPC XOs are interesting devices. There are some neat aspects to them but there are also some glaring issues. One issue we found in working with them and trying to make them useful for a trip to Senegal was the real lack of a good book reading application (’Activity’ in OLPC-speak). After a lot of investigation and trial and error installs, I was able to get something working and wanted to share for any of you who also find this as a need. Another wrinkle was to do this all without the need for internet access so I really was focused on using a USB stick for all the installs.

1. Download the latest stable version of the OS from laptop.org. It will be a .img file and a fs.zip signature file. Get a USB stick of 1 or 2 gigs in size and put them on the root of that FAT formatted flash drive. When booting from a cold start, press all the ‘game’ keys right above the power button until you get a prompt to release them. This will start the flashing update of the internal storage. More info on how to do this here at the laptop.org wiki. When I was working on this, I was working with build 767-4.

2. Download the latest build of Sayamindu’s FBReader that he sugarized. This man should get a medal. His page on laptop.org provides all the links. When I was working on this I was using FBReader-4.xo.Using a sugarized version of FBReader is HUGE because it maps the file extensions for .epub, etc. and creates an activity in the Activities screen. You can install fbreader via terminal on the Fedora-based OLPC, but you do not get the goodies of sharing and easy application/document opening without this.

Thank you Sayamindu!!!!!!

3. Put the FBReader-4.xo (in my case) on the USB stick from a PC or Mac computer then plug it into the OLPC. The path for the USB stick will be

‘/media/<whateveryounamedtheusbstick>’

Mine usb flash is named USB for simplicity sake, so the path to the FBReader-4.xo install bundle is

/media/USB/FBReader-4.xo

Here is a screenshot of my df -h

terminal-usb-path

4. Go to the Terminal activity on the OLPC XO and type the following to install the bundle via sudo

sudo sugar-install-bundle /media/USB/FBReader-4.xo

sugar-install-bundle-from-usb1

This will kick-off the install.

5. Issue a reboot at the Terminal via

sudo reboot

reboot-after-install

This will restart the XO. When you come back on, you will have a square activity in the circle that is the FBReader.

fbreaderactivity

6. FBReader is then installed but you need to be able to dish books its way now. One way to do this is just to get online now via the Browse Activity and download .epub books. When you download them, the Browse Activity (Firefox-based web browser) will put them into the ‘Journal’ Activity from which you can double-click or ‘Start’ the files. Any .epub files you download that way will open in FBReader now.

7. The additional challenge on this project was to include books locally stored on the XO itself. The sugarized version of FBReader does not have an ‘Open File’ dialogue, so you really need to get local books into the Journal easily and once inside the Journal Activity, you can trigger a launch of the FBReader installed in step 4.

8. I created a directory on the usb drive while it was connected to my Mac/PC and put some epub books in that directory. The directory named ‘livres’ (your name is your choice of course) is on the root directory of the USB stick so I just copied it to the XO storage via Terminal.

9. In a fresh Terminal Activity, do a

cp -pr /media/USB/livres .

This will move the directory to the local storage on the XO. It should move it and the contents to the location

/home/olpc/livres

This is where we will point a bookmark in the Browse Activity to easily get the books.

10. Launch the Browse Activity and in the address bar type

file:///home/olpc/livres

browse-to-file-directory

Then press the ‘Star’ icon to bookmark it and then hit ‘Enter’. You should see an index of files that exist in the directory. Clicking on those will ‘download’ then or transfer them to the Journal for ‘Start’-ing into FBReader.

Next time a Browse activity is started, you can just type some characters of the folder name and it will try to auto-complete the file index for your directory with books. This makes a pretty easy way for people to get to the books locally on the drive and really mimics a Windows Explorer, Finder or Apache Index of files.

Here is a link to the laptop.org page on the Senegal XO project:
http://wiki.laptop.org/go/Senegal/KeurSadaro

Here is a link to the Drew/Lick-Wilmerding Blog:
http://senegaltrip09.blogspot.com/

BAWHUG Created For Bay Area Whipple Hill Users

April 6th, 2009

bawhug-border300x150

We just created BAWHUG or Bay Area Whipple Hill Users Group to better organize the San Francisco Bay Area independent schools who are using the Whipple Hill Podium technology for their daily school functions. The initial idea with Ed Chen from Bay School and I relates to try and get some more communication between the various schools at the faculty-level so we can better help each other take advantage of the investment our schools have made and share innovative ways we can leverage the technology. We will see what happens.We also decided to go with an old-school bulletin board system to better groups questions and responses than a general maillist.

The URL for BAWHUG is

http://bawhug.org

Users can register and be approved for posting access. We also have a LinkedIn group here.

Open Directory Replica doesn’t connect to Open Directory Master in Leopard 10.5 server

February 14th, 2009

leopardserver

Had a major issue with one of our Open Directory replicas.

It had always been somewhat problematic even though it was getting updates from the Open Directory master server. After a reboot, the server came back and the kerberos service was not running and I was unable to access Workgroup Manager users and unable to connect to the kerberos realm at all. This was only an issue for a specfic replica server. Another Open Directory replica server was fine. Unfortunately, this server was the one that acted as a password server to a major network service, so we were offline until I fixed it.

Typical fix for Open Directory replicas seems to be that when you have something happen, you should demote the Open Directory replica to being a standalone which should break the bad stuff happening. After you do this, you should then promote the server back into its Open Directory replica role. But, Apple’s Server Admin GUI seems to be pretty fickle on this. When you do this via Server Admin, unless there is a connection happening between the replica and master, it really doesn’t do the switch. Just like in the Active Directory world, when you want to demote or remove a server, you need to basically check it out of the network BUT you need a viable connection to do so. If you do not have that, you are SOL.

I was pretty sure that a nuke of the replica database was in order but the demotion through the Server Admin application and switch to Standalone was NOT happening. I even disabled the service entirely, but when I turned it back on through Server Admin, it still was unchanged. I have seen issues with Apple’s Server Admin as it relates to the status of the Open Directory settings from server to server. Server Admin often, from what I have seen, provides incorrect or incomplete information on what is happening with the Open Directory / LDAP server. In this emergency situation where I had a server that was dishing passwords to critical network services, something had to happen quickly.

Apple Support when you contact them, will try to walk you down a road that focuses on DNS issues. Each time I have talked with them they seem to really focus on hostname resolution issues. I suppose they get a lot of people calling them with issues after they screw something up with DNS or something but that was NOT my issue. Of course, you need to make sure your DNS / hostname resolution is happening and your network is viable. We were way past that. After a little round and round, we finally got to the main issue - something freaked-out with kerberos and we could either try to fix that or rebuild the replica. I opted for the latter and since Server Admin on the replica wasn’t helping me, we had to do something else. Here is what we did.

1. Quit Server Admin on the damaged replica server
2. Run an Archive backup of the Open Directory Master just in case through Server Admin on the Master Open Directory server and confirm backup just in case.
3. Open a terminal on the replica server
4. In the terminal on the messed-up replica server enter

$ sudo slapconfig -destroyldapserver

This does exactly what it says. Nothing nice about it. After a few seconds it nukes the LDAP server on the server.

5. Reboot the replica server.
6. After reboot, go into Server Admin on the replica and my Open Directory service was not active (grey icon rather than green) and was defaulting to ‘Standalone’ mode. This was clear that the destroy had worked.
7. From the Server Admin, go through the promotion to Open Directory Replica back to the Master again.
8. This put us back in business.

Again, your experience may differ but I opted to destroy the server replica since there was nothing of value and just rebuild it from scratch off the Master that was operating fine. Since another replica was doing fine as well, it was clear something was up with this specific server and not the overall architecture or permissions. Since Server Admin was not helping at all on that damaged replica, it was time, in my estimation to go ‘terminal’ with it.

After promotion back to replica, I got my password server back and users were authenticating again. This sort of thing may not work for you and don’t try it unless you are SOL like I was. Go through Apple Support and there might be an easier fix there for you.

Link to Apple KB Article on TCP Ports Usage

January 24th, 2009

Extremely helpful when dealing with Open Directory, VPN, and other Apple services on 10.5 Leopard Servers.

http://support.apple.com/kb/TS1629

Reasonably Priced Wireless Speaker System

January 18th, 2009

In looking at replacement for fully-wired speakers in classrooms, I ws finally able to find some speakers that are under $200, wireless and have good sound quality. These speakers are from Cables Unlimited / Audio Unlimited and seem to be a great little solution. The speakers can use batteries or be plugged-in and wall-mounting is simple (no extra brackets, etc.). There are screw holes on the back of the speakers to rest on the wall. Range is good, quality is fine for a classroom to watch a DVD, listen to language lessons and other activities.

In my tests, the speakers have performed great. I would not say these are top of the line audio for audiophiles, but if the goal is to remove cables and have decent quality, these are fine and much better than tethering a teacher to a specific area of the room to hook up their laptop. The other nice aspect is you can add more speakers to the mix. They sell additional speakers w/o senders for just this purpose.

The ONLY drawback is they only provide 2 channels for communication. Which means, if you had systems in rooms next to each other, you really have to watch which channels you are using so you will not have speakers jumping to the wrong source. This could be an issue when you have multiple classrooms side-by-side. I do wish they would allow more than just the 2 channels, but for $150 is a great deal and they operate as expected with great range.

http://www.cablesunlimited.com/products/Prod_Individual3.aspx?groupcode=I3593

New Life for Linksys WRT300N with DD-WRT

January 1st, 2009

DD-WRT Logo

My Linksys WRT300N has been a good router for home but now that I needed a some more routing options, I really needed to decide what to do. I don’t need a full-blown router since I am not dishing a routable class C or anything, just a couple of IPs to for servers.

I have known about dd-wrt and openwrt for quite a while, but thought those only supported the ubiquitus Linksys WRT54G models. Linksys has really left the device for dead and not provided an updated firmware version since 2007. So, I gave DD-WRT another look and turns out someone had incorporated a build for the model I had (a Linksys WRT300N version 1.1).

Here is the link to the files needed. I was able to easily upgrade the firmware to the ‘mega’ build and I am off to the races doing some great stuff recycling the hardware that is more than capable of handling vlans, etc with the right feature-base in the firmware. This is a realy great way to give old Linksys hardware new life. If I didn’t go down this road, I would have had to plug in more hardware like ethernet switches and take up more power and make even more of a mess in my garage. Have to thank BrainSlayer and all the others who contribute to DD-WRT. I hope I can help now as well.

DISCLAIMER: You are totally on your own if you want to mess with non-Linksys firmware on your devices. If you hose or brick your router it is ***NOT*** DD-WRT.com’s fault (or mine for that matter). If you are great with the way your WRT300N or other Linksys WRT* router works and/or you are not comfortable with messing with the internals of these devices, then don’t.

ISTN: Independent School Technology Network

November 15th, 2008

Just created the ISTN @ LinkedIn. If you use LinkedIn, please go a group search for ISTN and join if you are a associated with technology at an independent school!

ISTN

Zabbix 1.6.1 on Ubuntu Hardy Heron 8.04

November 9th, 2008

After working with other Open Source monitoring systems over the years, I decided to give Zabbix a try. Net-Saint then Nagios was always good, but getting it going initially and then adding the trending graphing was always a pain. Big Brother was another good one, but now that Quest Software owns it, the BTF version gets less and less appealing. Zenoss is another that I have used recently, but not super-impressed with the ability to create a nice services dashboard that I want to monitor a bunch of hosts and services on one screen. So, Zabbix, I thought, was worth a shot. Also, just getting the monitoring then having to do some hokey, non-documented grapher for Nagios was not going to be fun again so time to try something new.

Good news is the manual is pretty good. My recommendation is to go with Ubuntu for the host OS if possible. I was always a RedHat/Centos guy, but just not really into hunting for dependencies and RPMs anymore. Apt-get is just too great to handle and when you want to get something done quickly, it is just really nice.

Some of the following has been lifted from other places on the net but here goes what worked for me…

1. Hit the basics that need to be in-place. When you do your Heron install, you can hit them then or after with apt-get. Of course, you need;

Apache
PHP5
MySQL-Server

and a few other ones you probably don’t have

php5-gd
snmp
libsnmp9-dev   (this is important for NET-SNMP support for Zabbix at config time)
snmpd

You can issue this to get the ones that are not so standard:

$ sudo apt-get install php5-gd snmp libsnmp9-dev snmpd

(wait for a while)

2. Create zabbix user/group

$ sudo adduser zabbix

(it will walk you through the user info q&a) then when done and he user to the ‘admin’ group as well

$ sudo adduser zabbix admin

3. Create the mysql db for the backend (make sure mysqld is running prior of course). There is no password for the default root user for new mysqld installs, so no need to enter a password. You should change that and secure mysql of course later…

$ mysql -uroot

mysql> create database zabbix;
mysql> quit;

4. Download zabbix from their site. The version I am dealing with now is 1.6.1 http://www.zabbix.com/download.php and place it somewhere on the server and unzip/untar it so you have a directory with the release contents.You probably would be served best to place it into the home directory of the zabbix user (i.e - /home/zabbix/zabbix-1.6.1). By this time, I am just staying as root user throughout after getting sick of sudo.

5. Setting up the mysql db with the sql files from the release -

cd into the zabbix release directory (I will use /home/zabbix/zabbix-1.6.1 from now on) and run

$ cat create/schema/mysql.sql | mysql -uroot zabbix
$ cd create/data
$ cat data.sql | mysql -uroot zabbix
$ cat images_mysql.sql | mysql -uroot zabbix

That should get the db populated. To check mysql later and manage other mysql dbs with a nice GUI, phpmyadmin is what I would recommend. But onward!

6. While sitting in the release directory (/home/zabbix/zabbix-1.6.1) run the configure as root or sudo:

#./configure –enable-proxy –with-mysql –with-net-snmp –with-libcurl –enable-server –enable-agent

If this fails, stop and make sure you have everything installed from step #1. I missed a few things initially but if you have everything installed, it should go. Then

# make

# make install

7. Create config directory and copy the defaults over;

$ sudo mkdir /etc/zabbix
$ sudo chown -R zabbix.zabbix /etc/zabbix/
$ cp misc/conf/zabbix_* /etc/zabbix/

I would not mess with the configs just yet. I always over think settings so I tend to see if it can run then tweak after. These ran fine on Hardy Heron without modification initially.

8. Get the web interface files placed:

mkdir /home/zabbix/web
cp -R /home/zabbix/zabbix-1.6.1/frontends/php/* /home/zabbix/web

You should chown and chmod the directory for the initial config to go smoothly later:

$ sudo chown -R zabbix /home/zabbix/web
$ sudo chgrp -R <your webserver user> /home/zabbix/web
$ sudo chmod -R 775 /home/zabbix/web

and add the alias to the apache default site

$ sudo vi /etc/apache2/sites-enabled/000-default

When in vi, paste something like this prior to the termination of the virtualhost:

Alias /zabbix/ /home/zabbix/web/
<Directory /home/zabbix/web>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

9. Start zabbix server and the agent:

$ sudo zabbix_server
$ sudo zabbix_agentd &

10. Check the php.ini and change these (the max_execution_time for me was 30 seconds initially)

max_execution_time = 300 ; Maximum execution time of each script, in seconds
date.timezone = <your timezone>

Timezone reference for php @

http://us3.php.net/manual/en/timezones.php

Mine is —->      date.timezone = America/Los_Angeles
11. Restart apache to kick-in the site changes alias and the php.ini changes if they were needed.

12. Go to http://<hostname / ip>/zabbix/

13. The initial login should be

Admin
zabbix

14. Walk through the install and because of what you did in step 8 above, you should be able to have it save the config to the directory. If not, you can save it and scp or sftp it up to the /home/zabbix/web/conf directory.

15. Add hosts and play with graphs now. You shoudl go add yourself as a separate user and change the main admin password, etc.

I am sure I missed something or could have done things in a better order, but this is what I was able to piece together from older version install guides on the web and what worked for me. There are addition setups that should be done so you HAVE to check the install guide, but this is the basic way to get operational at least on Ubuntu Hardy Heron.

Hope this helps,

Jonathan

UPDATE: For Ubuntu 8.10 I needed to also install

libcurl4-gnutls-dev
and I just installed all libmysql

$ sudo apt-get install libmysql*
$ sudo apt-get install libcurl4-gnutls-dev

Seagate Momentus ST96812AS = Nightmare

October 17th, 2008
bunch of dead Seagate Momentus ST96812ASbunch of dead Seagate Momentus ST96812AS

Wow - these drives are frying themselves at my work like crazy. The Seagate Momentus 60gb ST96812AS are a complete disaster. We have lost 8 in the last 3 months not to mention the ones that were lost prior to my arrival. These drives were installed on the first generation MacBooks and when they crash, they crash hard.

Stay away from these drives.