About Menelaos Bakopoulos

Mr. Menelaos Bakopoulos is currently pursuing his PhD both at Center for TeleInFrastruktur (CTiF) at Aalborg University (AAU) in Denmark and Athens Information Technology (AIT) in Athens, Greece. He received a Master in Information Technology and Telecommunications Systems from Athens Information Technology and a B.Sc. in Computer Science & Management Information Systems from the American College of Thessaloniki. Since April 2008 he has been a member of the Multimedia, Knowledge, and Web Technologies Group.

Posts by Menelaos Bakopoulos:

X11a Netbook Drivers

I’ve noticed many posts on forums from users asking for X11a drivers.

Below are the drivers I have been able to find using the hardware IDs displayed in the device manager.



Graphics card:

Mobile Intel(R) 945 Express Chipset Family

 Audio Driver:


Dealing with: pci system error on bus/device/funtion 000h

Dealing with

pci system error on bus/device/funtion 000h

Possible Solution

1.to reset the bios 
2.remove the battery 
3.add the battery again. 

It is likely there is a hardware issue or shortcircuit on the motherboard.


I relieved this error on a net book both on Windows XP, and with Lubuntu USB disks. Unofrtunately, the netbook died after a few months.

Benchmarking Javascript Engine on Kindle 4 Touch

I had read an article about solving complicated problems with the use of distributed javascript applications. This is very interesting as all devices run javascript including our old 2G and 3G mobile, and ofcourse some e-book readers.

I really would like at some point to work on a project related to this.
In relation to that, I did a benchmark using my Kindle 4 Touch that has an experimental web browser and a 800 mhz cpu.
This was using the SunSpider 1.0.2 JavaScript Benchmark


Super Backup : Transfering contacts from Android to Iphone painlessly

Super BackupA friend  wanted to transfer their contacts from Android to their Iphone.
Unfortunately, the synchronization with google was broken.

Enter Super Backup, available @ the google play store.

I found this quite by accident, by searching for “backup” within the app store. It turned out with this app, that I could backup  the contacts to VCF format, and subsequently e-mail them to the iphone which supports importing VCF files.

So, with this app and without a computer I was able to transfer the contacts over with a minimum of pain!

I recommend this app since it solved the problem and looked to be solidly built!

Optimized Character Escaper for Java

I wanted to write my own character escaper for requests going to Apache Lucent.
After writing my own, I also received feedback from programmers-stackexchange which resulted in the fastest implementation, also posted here. (Thanks to MrSmit42)

Below is my application that tests 6 different slightly different implementations over 30,000,000 executions each and outputs the time in MS.

The results in MS (on my computer) were the following:

Method 1 (Boolean Array)->    7574
Method 0 (Switch Stmt)->    9778
Method 4 (Switch Stmt Ugly – BreakPoints after evert case)->    12451
Method 6 (HashSet)->    17273
Method 5 (EnumMap)->    39516
Method 3 (Pattern/Regex)->    98229

This proves that for production systems that have many requests, jumping directly on the RegEx bandwagon for even trivial problems is not always the solution.
Even a 0,5 MS reduction per request leads to 50MS saved over 100 requests (per second) and 500MS over 1000 requests.

[polldaddy poll=7418939]


Greesemonkey Script for filtering Stackoverflow Bounty Page

I’m a big fan of stackoverflow and many times surf the featured page that has many questions that have an additional bounty attached.
One of the things though that I want to do is quickly find the questions with zero answers that have not received attention due to one reason or another (e.g. very difficult).

For the specific URL: http://stackoverflow.com/questions?sort=featured , Below a greesemonkey script just for that!


SO:Removing duplicate rows from data pulled from db in java

I’ve become an active member of stack overflow, both answering and making questions.
It’s amazing, there’s a whole community there that I hadn’t noticed before.
As I have not had time to post new items, I will be borrowing my answers to stackoverflow questions and re posting them here.

User Question:

So here’s my question. I have a giant text file of data and I need to input all of this data into a mySQL database fast through obviously using a java program. My only problem is that, the data is identified by a certain ID. Some of these ID’s have duplicates and contain all the same info as eachother. I would like to remove all of these for sorting purposes and clarity sake.

What would be the best way to go about this? If anyone could help I’d appreciate it




While reading the data have a hashmap or hashset. check if the id exists in the hasmap/hashset and if so continue. otherwise enter in set/map and insert.

An aside: The difference between hashmap and hashset is hashset only takes values while hashmap takes key values. However, Hashset itself uses a hashmap within memory and just inserts a dummy object for values. See: Differences between HashMap and Hashtable?


Bring Misplaced Off-Screen Windows Back to Your Desktop (if all else fails)

Move Off screen Windows Easily

Move Off screen Windows Easily

I use a dual monitor setup with my laptop, but the annoyance is when I switch to using only the laptop screen and certain windows are stuck out of the screen. I read various posts about this and most deal with right clicking the taskbar and trying out “move” or “cascade”.

I noticed the “Move” method is not available on windows 7 when you are using the classic theme, and various other methods failed so I’m posting my “IF all else fails” alternative.

Download the WinLister application from here

Run WinLister as Administrator and select the window you wish to More

Opening multiple VLC windows for different RTSP Streams from AXIS camera

Today I wanted to open asap 4 RTSP streams using VLC.
I ended up copying and pasting the following in the command prompt caused 4 background instances of VLC to appear and read from 4 different AXIS cameras.

"C:Program Files (x86)VideoLANVLCvlc.exe" -vvv "rtsp://username:password@IP_ADDRESS:PORT/axis-media/media.amp?videocodec=h264&resolution=768x576&compression=30&fps=10&textstring=cam1&text=1&textpos=1"&

"C:Program Files (x86)VideoLANVLCvlc.exe" -vvv "rtsp://username:password@IP_ADDRESS:PORT/axis-media/media.amp?videocodec=h264&resolution=768x576&compression=30&fps=10&textstring=cam2&text=2&textpos=1"&

"C:Program Files (x86)VideoLANVLCvlc.exe" -vvv "rtsp://username:password@IP_ADDRESS:PORT/axis-media/media.amp?videocodec=h264&resolution=768x576&compression=30&fps=10&textstring=cam3&text=3&textpos=1"&

"C:Program Files (x86)VideoLANVLCvlc.exe" -vvv "rtsp://username:password@IP_ADDRESS:PORT/axis-media/media.amp?videocodec=h264&resolution=768x576&compression=30&fps=10&textstring=cam4&text=4&textpos=1"&

echo done


Calculating required upload bandwidth for Axis IP Camera

SVGA_10FPS_StationWhat must someone consider for calculating required bandwidth for IP cameras?

It is not only resolution, but also FPS, the amount of activity (motion), and the compression level which determine the bandwidth required.

Obviously, when the frame doesn’t have so much traffic there is less data to transfer (due to the compression in H.264).
There is a very nice Axis Design tool which estimates bandwidth based on various scenario videos located at:
Within the tool you can select from various videos (“Scenario Combobox”) and view how the bandwidth requirements change based on the activity.
The train station is the extreme example with movement everywhere.The amount of activity within the video makes a tremendous difference as well as the compression, so you need to test reading at multiple compression to see what is acceptable 
in order to not undermine results especially if you are using video analytics software

Also, instead of viewing using RTSP over HTTP it is optimal to view through VLC and RTSP using the axis rtsp api.
The API is available at:  ( http://www.axis.com/files/manuals/RTSP_API_2_01.pdf – page  PDF 14 – parameter specification ) and specifies options to build URLs such as: