Video software detect meteors, shooting stars – Open source software idea

What to see in the night sky?

I have been watching the sky frequently the last few years, and been lucky to experience some skies so clear there were stars everywhere even touching the sea (in islands in the pacific with no civilisations 2000km around)…  There I realized that we were one among billions of billions of planets in this amazingly infinite universe…

I have seen many shooting stars, satellites, meteors leaving beautiful trails, spent hours watching the moon… I have once seen a light flashing six times, at slightly different locations, one night with a friend… I have met a sailor who has seen some strange repeating light patterns at night in the sky, at some times his 40+ years travelling the sea using the stars…

The sky can be quite active at night with many different lights, the moon, stars, shooting stars, meteors, planes, UFOs…

Software to locate stars and planets

Stellarium is a software which gives a nice view of the night sky with stars, constellations and planets. This open source software is fun to use, and inspiring in terms of usability: I’m a big fan! It even draws the mythology artistic view of constellations.

Software to detect moving lights (shooting stars, meteors and UFO watch!)

I have been searching for a software that analyses the night sky. It would be interesting I thought to build a software that would analyse a video camera output filming the sky in real time. The video analysis software could run on a low-power mini computer where the camera is plugged in, and would run all night long. The program would automatically detect fast and slower moving objects such as shooting stars or planes. The software would then keep a video extract of all detected objects. It would send a daily or weekly email with all detected objects, and would upload them to youtube for viewing for example.

The software would be free open source sofware released under the GPL license. It would be written in Python or maybe Java, using an open source library to acquire the video output from the camera and be able to process it at least 30 frames per second or however the frame rate of the camera.

Video camera to film the night sky and film stars

For this project we would maybe at first optimize the algorithm for a particular camera output. Ideally the camera would cost less than 300 $.
It would be maybe monochrome as to have a better sensor to detect fast moving objects such as detecting shooting stars.

Video analysis algorithms

Armed with the camera and a low-power computer, we would execute the software which would connect to the camera, grab the video and analyse in real time.
The algorithms to detect moving objects is pretty easy to write. We would also look for flashing lights, slow moving objects.

An important part of the algorithm will be to detect clouds and not confuse clouds with moving objects.

The algorithm would ideally ignore all clouds and slight rain. It should however detect planes with lights, shooting stars, UFOs, satellites, etc.
It shouldn’t be very complex to implement but we shall document any interesting findings.

Conclusion

The project is a Free software that analyses the night sky and detect shooting stars and meteors. The sofware would run all night while we are sleeping. When interesting things are found (meteors, etc.) they can be tagged in youtube for example, and a community could start sharing interesting findings.

If many people start using around the world, such a project would help users connect with each other, and maybe also could help detect automatically moving phenomena in the sky.

For more information about moving lights see: spaceflare.com. List of Softwares and ressources, Guide: UFO Capture setup [fr] and camera setup [fr]. Also Meteor Hunter system architecture

How you can help? if you know good video camera to film at night the stars, if you know a good video library to get the video content and analyse it (in Python or Java for example), or if you are interested, please leave us a comment below…

opensourcehost.com review: Do Not Use

opensourcehost.com are the worst web hosting company I’ve ever had to deal with – and I’ve dealt with 5 web hosting companies in the last 4 years.

Over the last 2 years and a half, they have disabled my web hosting account THREE times, without any reason. When I noticed the problem (generally 24 to 72 hours after they disabled my account!) they would restore it within 2 days. The problem is that they just randomly disabled y account 3 times; each time they would not give any explanation, not offer any discount or anything. They are highly unprofessionnal, they just lease dedicated web servers to hundreds of their customers…

My last email, as a template that I’m sure will be useful to some of you :)

Hello, for the 3rd time in 3 years, my website on http://www.domain.us displays an ugly “This Account Has Been Suspended”.

Apart the fact that I don’t understand how you can offer such a bad hosting service, I am starting to really wonder how you manage your accounts and why you keep disabling my web accounts.
I pay all my bills in time and already told you 3 times by this support, over the last 3 years, that you randomly turn off my website.

Just before Christmas, that is a clever christmas gift to a loyal (and silly) customer. Please restore my website as soon as possible.

Best regards.

Opensourcehost.com : say NO!

Significance, passion and action – Slideshow and powerpoint Tips

  1. Significance creates passion
  2. Passion attracts attention
  3. Attention leads to action

This is simple yet powerful concept. This is from the great presentation “Fighting death by PowerPoint… How to make a presentation and not to bore your audience to death.”

It will teach you why it is important to review your powerpoint practises, why you are boring, why you should put less text in every slides and add more slides, be more dynamic. I’m trying it myself with success from the first try! And it is much more exciting to do it this way.

Web analytics API – Paid and Free Stats API

I’m currently investigating the available web analytics API, to see how they are designed, and what features they offer.

Here is a listing of the Web statistics APIs I found, along with their documentation page:

  1. Piwik web analytics API tutorial and full API reference (more than 50 methods)
  2. W3Counter – Web Stats API
  3. Help with Clicky | Clicky
  4. Chapter 3. The phpOpenTracker API
  5. FeedBurner – Awareness API Reference
  6. PHP API – TraceWatch Web Stats
  7. ClickTracks Professional Client
  8. ecommstats Web Services API Documentation
  9. Using the AquaLogic Interaction Analytics 2.0 OpenUsage API
    Not really an API but it can still be an interesting read

If you know others web analytics API on the market, please post a comment :-)

I am also gathering interesting links on “how to design & build an API” that I will post here soon.

How to install a cool PHP development environment on Linux

Cool means “official java version + eclipse + svn plugin + debugging + firefox extension for debugging”

In this article I use Linux Redhat and explain how to install
- Java version 6 update 1
- Eclipse 3.2.2 Build id: M20070212-1330
- PHPEclipse 1.1.9 CVS
- DBG 2.15.5
- SVN plugin Subclipse 1.2.2

on PHP 5.2.2 (but would work from PHP 4.3 to PHP 5.2)

1) Official Java version provided by sun

- Download Java on java.com

- Then some basic commands to install java
su
chmod +x jre-6u1-linux-i586-rpm.bin
./jre-6u1-linux-i586-rpm.bin

- once it’s installed you need to change the default GIV slow java virtual machine provided by linux so that the system uses the sun java. To do that I create a symlink to the sun java.
ln -s /usr/java/jre1.6.0_01/bin/java /usr/bin/java

- at this point executing “java” should give you the help from the official JAVA version. You shouldn’t see any “GIV” stuff.
java

2) Eclipse

- Download Eclipse 3.2
http://www.eclipse.org/downloads/

- Unpack the archive

- Execute eclipse by clicking on the eclipse/eclipse executable

3) PHPEclipse

- Download the latest CVS Version (the only one compatible with eclipse 3.2)
http://sourceforge.net/project/showfiles.php?group_id=57621
the release is phpeclipse-1.1.9-cvs-20060920

- To install a plugin in eclipse, it’s very easy: unpack the archive (plugins and features directory) in your eclipse directory

- Now you can create a PHP project in Eclipse

4) Install the PHP extension that allows debugging

- Download the extension on http://dd.cron.ru/dbg/downloads.php
In our case “DBG 2.15.5 dbg modules [152Kb] – May 1, 2007 gzip’d archieve contains pre-compiled dbg modules for php 4.3 up to 5.2.”

- unpack the archive and copy the good extension in your PHP modules directory, in my case “/usr/lib/php/modules/”
you can rename this extension to the more simple “dbg.so” so you now have the file “/usr/lib/php/modules/dbg.so”

- edit php.ini
vi /etc/php.ini

- add the following lines in the “Dynamic Extensions” section

extension=dbg.so
[debugger]
debugger.enabled=on
debugger.profiler_enabled=on
debugger.hosts_allow=localhost
debugger.hosts_deny=ALL
debugger.ports=10001

- restart apache
/etc/init.d/httpd restart # on redhat or /etc/init.d/apache2 restart on ubuntu

- check that DBG is installed
A <? phpinfo(); ?> gives you somewhere some DBG information : “Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies with DBG v2.15.5, (C) 2000,2007, by Dmitri Dmitrienko”

5) Setup the debugger in Eclipse

- Once the DBG php extension works, read that valuable page
http://www.plog4u.org/index.php/Using_PHPEclipse_:_Installation_:_Installing_the_DBG_Debugger

- at the end you should be able to debug a script as explained in the page. If your debugger doesn’t stop at breakpoint, but if it breaks at the function DebugBreak(); then check carefully the debug path settings

For the example my settings are:
I want to debug the page http://localhost/dev/openadssvn/trunk/tests/run.php
Here are some informations in the Debug options for my Test configuration
Debug > File > File, I have “trunk/lib/OA/Upgrade/DB_UpgradeAuditor.php” the name of the file currently opened and being debugged (but the debugger can of course switch to other files while debugging)

Debug > Arguments > Working Directory, I have “/home/matt/dev/openadssvn/trunk/tests/”

Debug > Environment > Remote Debug, I have Remote debug checked and the others unchecked ; the “Remote Sourcepath” is “/home/matt/dev/openadssvn/”

NB: final slashes after the Working Directory & Remote Debug seem to be very important.

NB2: Very important, “Remote Sourcepath” and the “File” should give you the absolute path to your php file that you want to debug. If this is not the case, then the debugger may not break on the breakpoints you have set. But it can still break if you add the function call DebugBreak(); when you want the debugger to break into your PHP code.
6) Firefox extension to make debug easy

- Install PHP Debugger 0.3 for Firefox : A php debugger for GDB
https://addons.mozilla.org/en-US/firefox/addon/3227

- Use it; launch the debugger on eclipse (port 10001 for example). While the debugger client in eclipse is waiting for a connection, in firefox click on PHPDebugger. That will create a cookie which I guess is read by the PHP GDB extension, which launches the connection. It is the same as if you visit your URL adding the parameter &DBGSESSID= 1@clienthost:10001

- When the debug is finished, click on the toolbar PHPDebugger > Kill debug session ; it will destroy the cookie and you can now execute your pages without triggering the debugger. Otherwise you will get the message “DBG – Failed to start debug session reason: failed to establish connection to client host on localhost:10001″.
Killing the debug session is the same as if you visit your URL adding the parameter &DBGSESSID=1

7) Installing the SVN Plugin in Eclipse

Installing a plugin is very easy in Eclipse. We will install Subclipse http://subclipse.tigris.org/.

To do that simply go to Help > Software and install > Find and install
Click Search for new features to Install > New remote site > and paste this URL http://subclipse.tigris.org/update_1.2.x

Then it’s very straightforward. At the end of the process, you can try the right click onto your project > Team > lots of SVN options.

It’s very easy to use and very timesaving for conflicts resolving, in my opinion. I have never been a fan of the command line version when it comes to conflicts, or to compare the current version with a previous release, etc. Here it’s very easy! It’s good if your SVN server is fast though.

8) Tips & tricks

  • Increase Eclipse Performance

You can edit your eclipse/eclipse.ini settings.
For example on my 2GB ram machine, I have the following eclipse.ini:
-vmargs
-Xms512m
-Xmx512m
-XX:PermSize=256m
-XX:MaxPermSize=256m
See also http://www.eclipsezone.com/eclipse/forums/t61618.html

  • Custom fonts in eclipse

Some fonts are not editable in the eclipse configuration. And by default fonts are quite big so you may need to change them. Eclipse uses the default environment fonts. You can execute “gnome-font-properties” to edit the global gnome fonts settings that eclipse uses.

  • Key shortcuts

It’s important to use keyboard shortcut that make life easier, maybe I changed them so check your keys shortcut in Windows > Preferences > General > Keys
- ALT+LEFT to go to the last code seen (like a previous in firefox)
- CTRL+Q to go to the last edit location
- CTRL+SPACE for the code assistant / suggestion
Do you have some more to suggest?

  • Eclipse feature: Local History of a file

You can compare your current file to its any of its local history. Eclipse keeps all changes to your files in its database. Don’t be scared to change and delete some code, you could always find it back :-) It is VERY VERY useful. And of course you could always compare with the SVN version.

  • Remote debugging

Want to debug a test server which is different from your development machine? It should be quite easy using the eclipse Remote Debugging in the Debug panel options. See also http://www.nth-design.com/developerresources/php/SettingUpRemoteDebugging.php (not tested)

Tutorial Eclipse

I highly advise to check the animated tutorials proposed by the opensource gallery2 project on their developer wiki : http://codex.gallery2.org/Gallery2:Animated_Eclipse_Tutorial

Conclusion

It took me around 3 days to find all the good settings + versions to be able to debug php in eclipse :-( This is quite painful to get to work without some clear explanations. But it’s worth it, the eclipse environment is really good :-)

Share with me your experience with eclipse; is this tutorial easy to follow? Did you have problems?

Do you have some interesting tips on improving eclipse usage, to share with us?

Please post comments :-)

How to install DBDesigner on Linux

DBdesigner is a great tool for designing Database schema, generating the SQL associated, and editing beautiful database schema images so that you’re proud and happy to show your design to your fellow developer friends.
We will use WINE which is a windows emulator, and we will run the windows version of DBDesigner.
We do that instead of using the linux version, simply because it works MUCH better than using the Linux version :-)

- Install Wine
yum install wine #under debian for example
apt-get install wine #under ubuntu kubuntu for example

- Download DBDesigner on http://fabforce.net/dbdesigner4/downloads.php

- install DBDesigner
wine DBDesigner4.0.5.6_Setup.exe

- execute DBDesigner (create a shortcut to it on the desktop for example)
wine ~/.wine/drive_c/Program\ Files/fabFORCE/DBDesigner4.exe

- Have fun designing beautifully engineered databases :-)

How to install Filezilla on Linux

In my opinion, Filezilla is the best FTP client.

Unfortunately Filezilla is not available on Linux. To use it under linux we use the windows emulator WINE and the windows version of Filezilla.

- Install Wine
yum install wine #under debian for example
apt-get install wine #under ubuntu / kubuntu for example

- download filezilla on http://sourceforge.net/project/showfiles.php?group_id=21558

- install Filezilla
wine FileZilla_2_2_32_setup.exe

- execute Filezilla (create a shortcut to it on the desktop for example)
wine /home/matt/.wine/drive_c/Program\ Files/FileZilla/FileZilla.exe