RTMP library for Python

October 27, 2010

Updated 2012/06/11: The project is available on GitHub: rtmp-python
Updated 2012/03/25: Updated to work with newer version of PyAMF.
Updated 2010/10/30: Added an RTMPClient class that simplifies client applications. Also updated the assertions.

Recently I started investigating the RTMP, which is a protocol used by Adobe Flash for communication between the player and the server. The communication could involve either video, audio or plain data. Typically Abode Flash applications communicate with Adobe Flash Media Server.

Read the rest of this entry »

WinPcap network packet logger in Python

October 26, 2010

Updated 2011/05/28: Added snippets in general time log. Fixed missing incoming data that arrived inside a FIN TCP packet.
Updated 2010/10/30: Added the general time log.
Updated 2020/04/10: Uploaded source code on GitHub.

Often somebody needs to analyse network traffic. Fortunately Wireshark does a great job. But sometimes you need to separate traffic generated on multiple concurrent TCP connections.

Read the rest of this entry »

Τηλεφωνικός χάρτης Αθήνας

October 7, 2010

Είναι γνωστό ότι τα πρώτα δύο ψηφία ενός τηλεφωνικού αριθμού που ανήκει στο λεκανοπέδιο της Αττικής δηλώνουν τη γεωγραφική τοποθεσία του, π.χ. οι τηλεφωνικοί αριθμοί 21050xxxxx βρίσκονται στο δήμο Πετρούπολης. Παρακάτω παρουσιάζεται μία σειρά από χάρτες της Αθήνας όπου σημειώνεται η γεωγραφική κατανομή των τηλεφωνικών αριθμών.

Read the rest of this entry »

Υπηρεσία ΟΤΕ e-bill – παρακολούθηση

October 7, 2010

Η παρούσα εφαρμογή αποσκοπεί στην παρουσίαση και ανάλυση των εξερχόμενων τηλεφωνικών κλήσεων, όπως αυτές καταγράφονται από την υπηρεσία ΟΤΕ e-bill. Είναι σχεδιασμένη ώστε να συνδυάζεται με την εφαρμογή ανάκτησης και αποθήκευσης των τηλεφωνικών κλήσεων από την υπηρεσία ΟΤΕ e-bill.

Read the rest of this entry »

Shuffle files in a directory

June 3, 2010

Updated 2020/05/09: Uploaded source code on GitHub.

Sometimes you may need to shuffle your files in a directory (e.g. when you want to randomly play music stored in this directory from an MP3 player that doesn’t support random playback). I’ve written a small utility in Python that accomplishes this task by prefixing every file’s name with a sequence value (01, 02, etc.).
Read the rest of this entry »

Message TCP channel for .NET

February 2, 2010

Updated 2020/04/22: Uploaded source code on GitHub.

Recently, I had the task to develop a simple server / client application that should work over the Internet. The communication needs were very simple and I had to use as much as possible lightweight components. So, I had to develop a simple TCP server / client that would handle the communication. For simplicity’s sake I decided to serialize the messages transmitted to XML, although this could easily change to something less verbose and more efficient. A better alternative would be to use Google’s Protocol Buffers.

Read the rest of this entry »

Επισκόπηση Αισθητήρων για την Πρόληψη Δασικών Πυρκαγιών

February 2, 2010

Στο πλαίσιο του φοιτητικού διαγωνισμού xirafia.gr ανέπτυξα μία δικτυακή εφαρμογή για την παρουσίαση δεδομένων πάνω σε διαδραστικό χάρτη, μέσω αισθητήρων (θερμόμετρα, ανεμόμετρα, κλπ) που τοποθετούνται σε επιλεγμένα σημεία. Στόχος της εφαρμογής είναι η πρόληψη και η έγκαιρη αντιμετώπιση των δασικών πυρκαγιών.

Μπορείτε να δείτε μία παρουσίαση της εφαρμογής εδώ:

http://docs.google.com/present/view?id=dfrqz4pd_51g7bssjg3

Μπορείτε να δείτε επίδειξη της λειτουργίας της εφαρμογής εδώ:

http://labpower.teipir.gr:1234/

Urban transportation systems and Voronoi diagrams

February 2, 2010

One crucial factor for most urban transportation systems (suburban railway, etc) is the positioning of the stations. It is desirable to cover an area as efficiently as possible. One way to measure the efficiency of the positioning of existing or new stations is to use a Voronoi diagram. The Voronoi diagram decomposes the city map into polygonal areas each one “served” by a specific station.

You can take a look at a live demonstration of the application featuring the railway system of Athens:

http://labpower.teipir.gr/prekageo/metro_map/

Reverse Server – A utility to bypass firewalls

February 2, 2010

Updated 2020/04/21: Uploaded source code on GitHub.

You may find yourself in a situation that you want to access an SSH server which is located behind a firewall. The usual case would be to open port 22 so that you can connect to your server remotelly with your SSH client. There is, though, the possibility that you do not have access to the firewall rules or you are not allowed to change them. There is a workaround for this problem.

Read the rest of this entry »

Google’s bouncing apple for Newton anniversary

January 30, 2010

On the 4th of January 2010 Google used in place of its logo an animation depicting an apple that falls off a tree and bounces on the ground, in order to celebrate the 366th birthday of Sir Isaac Newton. Below, we analyze the algorithm used and display two relevant plots.

Read the rest of this entry »


Design a site like this with WordPress.com
Get started