I
just finished the formal lecture-part of the course Projects in
non-commutative geometry (btw. I am completely exhausted after this
afternoon\’s session but hopeful that some students actually may do
something with my crazy ideas), springtime seems to have arrived and
next week the easter-vacation starts so it may be time to have some fun
like making a new webpage (yes, again…). At the moment the main
matrix.ua.ac.be page is not really up to standards
and Raf and Hans will be using it soon for the information about the
Liegrits-project (at the moment they just have a beautiful logo). My aim is to make the main page to be the
starting page of the geoMetry site
(guess what M stands for ?) on which I want
to collect as much information as possible on non-commutative geometry.
To get at that info I plan to set some spiders or bots or
scrapers loose on the web (this is just an excuse to force myself
to learn Perl). But it seems one has to follow strict ethical guidelines
in doing so. One of the first sites I want to spider is clearly the arXiv but they have
a scary Robots Beware page! I don\’t know whether their
robots.txt file will allow me to get at any of
their goodies. In a robots.txt file the webmaster can put the
directories on his/her site which are off limits to robots and as I
don\’t want to do anything that may cause that the arXiv is no longer
available to me (or even worse, to the whole department) I better follow
these guidelines. First site on my list to study tomorrow will be The
Web Robots Pages …
Category: web
If I
ever get our home automation system configured I’ll use my (partly
broken) old iBook as my Indigo-server (or my MisterHouse-server when I brush up my
Perl-knowledge). It should then run quietly put away somewhere and I
don’t want to take it out every time I want to add another routine to
the program.
Fortunately there is a way to do this by turning
the iBook into a VNC-server, where VNC stands for
Virtual Network Computer. Here is how RealVNC describes
it
VNC (Virtual Network Computing) software makes it
possible to view and fully-interact with one computer from any other
computer or mobile device anywhere on the Internet. VNC software is
cross-platform, allowing remote control between different types of
computer. For ultimate simplicity, there is even a Java viewer, so that
any desktop can be controlled remotely from within a browser without
having to install software.
But can all this be done under
Mac OS X without too much hassle? The first step is to download
OSXvnc and install it on the iBook. Some of the
sourceforge-sites do not seem to have this package, but fortunately some
still do. Installation is no problem and when you fire OSXvnc up
you have to fill in a password which you need later to connect to your
OSXvnc-server (the iBook). Most other options one can leave at their
default values but in the Startup-pane it is useful to click on
the Configure Startup Item button. When all this is done, press
the Start button to launch the VNC-server.
Next step is
to go to the computer you want to use to control the VNC-server (an iMac
in my case). On it one needs to install the Chicken of the VNC software which makes the iMac
into a VNC-client. Fire it up and fill out the Host (the name of
your OSXvnc-server, iBookLieven.local in my case) and the
Password (the one of the OSXvnc-server program), press the
Connect button and the screen of your VNC-server will appear
which you can control with your mouse as if you were actually working on
the thing. Very handy as I managed to break the touch-control on my
iBook when installing a new hard-drive and I need the only USB-port to
connect to the X10-network…
I
bought a couple of X10-building blocks : a tranceiver, an appliance- and
a lamp-module, a computer-interface and a motion detector and started
playing using the Indigo help-page. All modules worked immediately
and getting them under Indigo‘s control was also no problem.
Clearly it is fun to control a living room lamp and the coffee maker
from your computer but it gets even better when you program actions.
With Indigo you can let your home automation system react to
incoming emails. For example, if it is a rainy workday and I want to
have a cup of coffee when I bicycle home I can just send an email with
subject “Make coffee”. Indigo checks at home my email every
two-minutes and when it scans this subject-title it will send a signal
to the coffee maker to turn on (assuming I filled it with water and
coffee beforehand, otherwise it may result in a fire…). One can also
program it the other direction. For example, with Indigo I can
program things so that when the motion detector detects movement from
opening the front door, I can ask to send an email to work (or to a
mobile but as I am not using these things this is no option) with
message “Someone just walked in…”.
Getting the
motion-detector (MS13 for the experts) working was so far the second
hardest thing to do. I couldnt work out how to give it a home&unit
code but I found a readable manual page which made everything work. I have to
remember to change the other default options of the detector.
The hardest thing to solve was to get the Indigo Web Interface working. Following the
instructions on this page to the letter I thought that I could control
my X10-stuff from any other computer (assuming Indigo is running
on my iBook) by accessing the
URL
http://iBookLieven.local/cgi-bin/Indigo.acgi
but all I got
was a ‘Server Error’. I figured out that the mistake was caused by the
acgi
dispatcher program. The first time this is run, it asks for your
admin password to write some extra lines to the httpd.conf
Apache configuration file, but for some strange reason it didn’t want
to accept my password… Changing permissions on httpd.conf and
even creating a genuine root-account didn’t help so I was stuck
for a while. But then I found the Mac OS X
hack #91 which not only explains the use of the dispatcher tool but
also explains what it adds to the httpd.conf-file. So, I just
copied the following lines manually at the end of
httpd.conf
#BEGIN acgi dispatcher Include /Library/WebServer/CGI-Executables/dispatcher.app/Contents/acgi.conf\r\ nEND acgi dispatcher
did restart the Apache webserved by a
sudo apachectl graceful
after which the acgi dispatcher
tool started up without problems and I got a working Indigo Web
Interface. I must remember to put both Indigo and the
dispatcher into my StartUp items.
The Web Interface is
very basic compared to other house automation programs such as MisterHouse
which makes up for its sexist name by being open source! It is entirely
written in Perl
but as I am only halfway through the Learning Perl book at the moment, this will have
to wait a bit longer…