CV (EN)

Studies

  • Sept. 1995 - Sept. 1996, M.Sc. in Information Technology at UCL (University College London)
    Project Title: "An Object Oriented ftp Program".
    Lessons included Database Systems, Computer Graphics, Functional Programming and Project Management.
  • Sept. 1989 - Dec. 1994 B.Sc., Mathematics Department of University of Patras
    Last year project title: "The network of the Mathematics Department".
    Computer Science related lessons: Applications of CS, Operating Systems, Software Engineering, MicroComputers, Computational Theory, Compilers, Algorithms, Introduction to Computer Science.

Apart from studying individually, I have also attended the following seminars:

  • 27 September - 01 October 1999, SA 349 Sun enterprise Cluster HA Admin, Sun Hellas
  • 15 May - 19 May 2000, Enterprise DBA Part 1A, Architecture and Administration, Oracle Hellas
  • 12 June - 15 June 2000, Enterprise DBA Part 1B, Backup and Recovery, Oracle Hellas
  • 25 June - 26 June 2002, Implementing a Microsoft Windows 2000 Professional & Server, ITEC Consultancy

member of Apple Discussions.

Self-published a book called "Programming Dashboard Widgets". Based on standard HTML, CSS, and JavaScript, Dashboard Widgets are simple to build and easy to extend. The "Programming Dashboard Widgets" book contains all that your need to know in order to create and program your own Apple Dashboard Widgets. The book also contains techniques that help you fine-tune, extend and explore existing Widgets.

I am the Technical Editor of the MongoDB in Action, Second Edition book that is published by Manning Publications.

Developed the following web sites:

Publications

  • Linux Format magazine, issue 216, article titled "Cassandra: Processing data".
  • Linux Format magazine, issue 216, article titled "Phoenix: how to build a blog".
  • Linux Format magazine, issue 215, article titled "LTTng: Tracing apps in Linux".
  • Linux Format magazine, issue 215, article titled "Python: Using Threads".
  • Linux Format magazine, issue 215, article titled "Redis: NoSQL data stores".
  • Linux User & Developer magazine, issue 170, article titled "Learn Concurrent Programming in Go".
  • Linux User & Developer magazine, issue 169, article titled "Develop Go programs that read and write to files".
  • Linux Voice magazine, issue 30, article titled "Process and Visualise Apache Log Files".
  • Linux Format magazine, issue 214, article titled "ggplot2: Make stylish plots".
  • Linux Format magazine, issue 214, article titled "Rust: A guide to concurrency".
  • Linux User & Developer magazine, issue 168, article titled "Explore, create and use Go packages".
  • Linux User & Developer magazine, issue 167, article titled "Learn Go: Explore Go functions".
  • Linux User & Developer magazine, issue 167, article titled "Networking and traffic control with iproute2".
  • Linux Format magazine, issue 213, article titled "Python: Plotting and drawing".
  • Linux Format magazine, issue 213, article titled "Rust: Network Programming".
  • Linux Voice magazine, issue 29, article titled "Use Elixir to Develop a Web Application".
  • Linux Format magazine, issue 212, article titled "Rust: File I/O".
  • ;login magazine, Summer 2016, article titled "MongoDB Database Administration".
  • Linux User & Developer magazine, issue 166, article titled "Investigate network sockets with ss".
  • Linux User & Developer magazine, issue 166, article titled "Learn Go Data Types".
  • Linux Format magazine, issue 211, article titled "Rust: Functions and Modules".
  • Linux User & Developer magazine, issue 165, article titled "An Introduction to the Go Programming Language".
  • Linux User & Developer magazine, issue 165, article titled "Systems programming: Interprocess Communication".
  • Linux User & Developer magazine, issue 165, The Coding Column.
  • MacTech magazine, issue 353, article titled "An introduction to Julia".
  • MacTech magazine, issue 353, article titled "An Introduction to WebGL".
  • Linux Format magazine, issue 210, article titled "Rust: Modules and Cargo".
  • Linux User & Developer magazine, issue 164, article titled "Computer science: Create a programming language".
  • Linux User & Developer magazine, issue 164, article titled "Systems programming: Advanced File I/O".
  • Linux User & Developer magazine, issue 164, The Coding Column.
  • Linux Voice magazine, issue 25, article titled "GNU Make: Manage your Software Builds".
  • Linux Format magazine, issue 209, article titled "MongoDB: Build a blog".
  • Linux User & Developer magazine, issue 163, article titled "Systems programming: Developing server processes".
  • Linux User & Developer magazine, issue 163, article titled "Computer Science: Creating and using binary trees".
  • Linux User & Developer magazine, issue 163, The Coding Column.
  • Linux Format magazine, issue 208, article titled "Swift: An essential guide".
  • Linux Format magazine, issue 208, article titled "MongoDB Admin".
  • Linux User & Developer magazine, issue 162, article titled "Systems programming: Creating and Using Threads".
  • Linux User & Developer magazine, issue 162, article titled "Computer Science: Random Number Generation".
  • Linux User & Developer magazine, issue 162, The Coding Column.
  • Linux Format magazine, issue 207, article titled "MongoDB: Using native drivers".
  • Linux User & Developer magazine, issue 161, article titled "Computer Science: Dealing with linked lists".
  • Linux User & Developer magazine, issue 161, article titled "Systems programming: Dealing with processes".
  • Linux User & Developer magazine, issue 161, The Coding Column.
  • Linux User & Developer magazine, issue 160, article titled "Systems programming: Data files and information".
  • Linux User & Developer magazine, issue 160, The Coding Column.
  • Linux Format magazine, issue 206, article titled "Perl 6: Discover its new features".
  • Linux Format magazine, issue 205, article titled "Lua and Conky".
  • Linux User & Developer magazine, issue 159, article titled "Computer Science: Find strings with hash tables".
  • Linux User & Developer magazine, issue 159, article titled "Systems Programming: Files and directories".
  • Linux User & Developer magazine, issue 159, The Coding Column.
  • MacTech magazine, issue 352, article titled "Using the Go Programming Language.".
  • Linux User & Developer magazine, issue 158, article titled "Systems Programming: File I/O".
  • Linux User & Developer magazine, issue 158, article titled "Computer Science: Learn to use Regular Expressions".
  • Linux User & Developer magazine, issue 158, The Coding Column.
  • Linux User & Developer magazine, issue 158, article titled "Visualise your data using D3.js, part 2".
  • Linux User & Developer magazine, issue 157, article titled "Systems programming: Build your own system tools".
  • Linux User & Developer magazine, issue 157, article titled "Visualise your data using D3.js".
  • Linux User & Developer magazine, issue 157, article titled "Manipulate and convert data in R".
  • Linux User & Developer magazine, issue 157, The Coding Column.
  • Linux Format magazine, issue 203, article titled "Elixir: Take a functional swig".
  • Linux Format magazine, issue 203, article titled "Network troubleshooting using netstat, netcat and lsof".
  • Linux User & Developer magazine, issue 156, article titled "Intermediate AWK programming".
  • Linux User & Developer magazine, issue 156, The Coding Column.
  • Linux Format magazine, issue 202, article titled "Networking: The core Linux tools".
  • Linux Format magazine, issue 201, article titled "Haskell: Build a Yesod web app".
  • Linux Format magazine, issue 201, article titled "LaTeX: make text beautiful".
  • Linux User & Developer magazine, issue 155, article titled "Program your own shell", part 2.
  • Linux User & Developer magazine, issue 155, The Coding Column.
  • MacTech magazine, issue 351, article titled "Using Erlang.".
  • Linux Journal magazine, August 2015, article titled "Hash Tables: Theory and Practice".
  • Linux User & Developer magazine, issue 154, article titled "Program your own shell", part 1.
  • Linux User & Developer magazine, issue 154, The Coding Column.
  • Linux Format magazine, issue 199, article titled "Perf_events: Kernel traces".
  • Linux User & Developer magazine, issue 153, article titled "Draw and plot graphs using Julia".
  • Linux User & Developer magazine, issue 153, The Coding Column.
  • Linux Journal magazine, June 2015, article titled "Using tshark to Watch and Inspect Network Traffic".
  • Linux Format magazine, issue 198, article titled "SystemTap: Get monitoring".
  • Linux Format magazine, issue 198, article titled "Scala: Easing into functional".
  • Linux User & Developer magazine, issue 152, The Coding Column.
  • Linux User & Developer magazine, issue 152, article titled "Build network clients, servers and more with Netcat".
  • MacTech magazine, issue 350, article titled "Using Caching to improve performance.".
  • Linux Format magazine, issue 197, article titled "Haskell: The Functional Way".
  • Linux User & Developer magazine, issue 151, The Coding Column.
  • Linux User & Developer magazine, issue 151, article titled "Troubleshoot your network with Netstat".
  • Linux User & Developer magazine, issue 150, article titled "Write a book in LaTeX".
  • Linux User & Developer magazine, issue 150, article titled "Get your network information using lsof".
  • Linux Format magazine, issue 195, article titled "Riak and NoSQL".
  • Linux Format magazine, issue 195, article titled "Dynamic Programming using the Julia Programming Language".
  • Linux User & Developer magazine, issue 149, article titled "Build a Cacti plugin to display active TCP/UDP connections".
  • Linux User & Developer magazine, issue 149, article titled "Generate complex graphics with R and ggplot2".
  • MacTech magazine, issue 348, article titled "An introduction to Regular Expressions".
  • MacTech magazine, issue 348, article titled "Introduction to Swift - Part 3".
  • MacTech magazine, issue 348, article titled "The Xcodebuild command line tool".
  • Linux Format magazine, issue 194, article titled "DTrace: A hands-on guide".
  • Linux Format magazine, issue 194, article titled "Erlang: A hands-on guide".
  • Linux User & Developer magazine, issue 148, article titled "Monitor network traffic with Cacti".
  • Linux Format magazine, issue 193, article titled "Programming in R".
  • Linux User & Developer magazine, issue 147, article titled "Create a caching DNS server using BIND".
  • MacTech magazine, issue 347, article titled "Getting started with Open GL ES".
  • MacTech magazine, issue 347, article titled "An Introduction to Swift, part 2".
  • Linux Format magazine, issue 192, article titled "Linux Monitoring".
  • Linux User & Developer magazine, issue 146, article titled "How to Handle UNIX Signals".
  • Linux User & Developer magazine, issue 146, article titled "3D Rendering with WebGL".
  • Linux Format magazine, issue 191, article titled "WireShark: Analyse Traffic".
  • Linux User & Developer magazine, issue 145, article titled "Monitor a Cisco router using MRTG".
  • MacTech magazine, issue 346, article titled "An Introduction to Swift, part 1".
  • Linux User & Developer magazine, issue 144, article titled "Serve a Joomla! website using Nginx".
  • Linux User & Developer magazine, issue 144, article titled "Process text faster with AWK and Sed".
  • Linux User & Developer magazine, issue 143, article titled "Plot Scientific Data with NumPy".
  • MacTech magazine, issue 345, article titled "Exploiting the power of R".
  • Linux Journal magazine, August 2014, article titled "An Introduction to OpenGL Programming".
  • Linux User & Developer magazine, issue 142, article titled "Run Drupal sites with Drush".
  • Linux User & Developer magazine, issue 141, article titled "Programming in Rust".
  • MacTech magazine, issue 344, article titled "Using Nginx on Mac OS X".
  • Linux User & Developer magazine, issue 140, article titled "Program Octave".
  • Linux User & Developer magazine, issue 139, article titled "How to become a Linux System Administrator".
  • Linux User & Developer magazine, issue 138, article titled "Secure your network with Nmap".
  • Linux User & Developer magazine, issue 137, article titled "Program with Erlang".
  • ;login magazine, March 2014, article titled "Using the R Software for Log File Analysis".
  • MacTech magazine, issue 342, article titled "An Introduction to Routing".
  • Linux User & Developer magazine, issue 136, article titled "Build a blog with Django".
  • ;login magazine, February 2014, article titled "Using a Database to Store Data Captured with tcpdump".
  • Linux Journal magazine, February 2014, article titled "Using Django and MongoDB to Build a Blog".
  • Linux User & Developer magazine, issue 135, article titled "Monitor your network traffic with tshark".
  • Linux User & Developer magazine, issue 134, article titled "Draw with GNUplot".
  • MacTech magazine, December 2013, article titled "Programming a Drupal Module".
  • MacTech magazine, November 2013, article titled "Creating a Preference Pane for a Mac app".
  • MacTech magazine, October 2013, article titled "Using Drush".
  • Linux User & Developer magazine, issue 132, article titled "Visualise Data with Graphviz".
  • Linux User & Developer magazine, issue 131, article titled "Sync your files with Unison".
  • Linux User & Developer magazine, issue 130, article titled "Send Cisco logs to a remote PC".
  • MacTech magazine, August 2013, article titled "Creating a simple iOS chat client".
  • MacTech magazine, August 2013, article titled "An Introduction to TCP/IP".
  • Linux Journal magazine, August 2013, article titled "Using the R Advanced Statistical Package".
  • Linux User & Developer magazine, issue 129, article titled "Create and save data with a MongoDB database".
  • Open Source For You magazine, August 2013, article titled "Begin your Programming Journey with Go".
  • MacTech magazine, July 2013, article titled "Using telnet to troubleshoot TCP/IP services".
  • MacTech magazine, July 2013, article titled "An Introduction to Drupal".
  • MacTech magazine, July 2013, article titled "Using VirtueMart for Web Payments".
  • MacTech magazine, July 2013, article titled "The Mac OS X 10.8 Log Files".
  • Linux For You magazine, July 2013, article titled "Leverage Your Programming Skills with Erlang".
  • Linux For You magazine, June 2013, article titled "An Introduction to Graphviz".
  • MacTech magazine, May 2013, article titled "An introduction to sar".
  • MacTech magazine, May 2013, article titled "Using email to execute a command".
  • Linux For You magazine, May 2013, article titled "Graphing Network Performance with MRTG".
  • Linux For You magazine, May 2013, article titled "Monitoring and Graphing your Network with Cacti".
  • MacTech magazine, April 2013, article titled "Drawing in iOS".
  • MacTech magazine, April 2013, article titled "Programming iCloud Applications".
  • MacTech magazine, February 2013, article titled "An introduction to Cacti".
  • Linux For You magazine, February 2013, article titled "The Best Open Source Security Tools".
  • MacTech magazine, January 2013, article titled "An introduction to MRTG".
  • MacTech magazine, January 2013, article titled "Programming a Joomla! Extension" (co-author: Dimitris Tsoukalos).
  • Linux For You magazine, December 2012, article titled "Getting started with WireShark".
  • MacTech magazine, Fall 2012, article titled "An introduction to Squid".
  • Linux For You magazine, November 2012, article titled "Getting started with tcpdump".
  • MacTech magazine, August 2012, article titled "An introduction to gdb"
  • MacTech magazine, August 2012, article titled "The tcpdump network utility"
  • MacTech magazine, August 2012, article titled "Installing an SSD drive on an iMac"
  • MacTech magazine, July 2012, article titled "Running a cache DNS server on Lion"
  • MacTech magazine, July 2012, article titled "An introduction to Moodle"
  • MacTech magazine, June 2012, article titled "Selecting photos in iOS".
  • MacTech magazine, April 2012, article titled "The find UNIX command".
  • MacTech magazine, April 2012, article titled "An Introduction to WordPress".
  • MacTech magazine, March 2012, article titled "WireShark Display Filters".
  • MacTech magazine, December 2011, article titled "An Introduction to GNU Octave".
  • MacTech magazine, November 2011, article titled "Find Your Current iPhone Location".
  • MacTech magazine, November 2011, article titled "Typesetting a book on a Mac using LaTeX".
  • MacTech magazine, September 2011,article titled "WireShark and DHCP" (co-author: Dimitris Tsoukalos).
  • MacTech magazine, July 2011, article titled "Using AppleScript and Perl for Automation".
  • MacTech magazine, June 2011, article titled "Examining 3 Important Nmap Scans with WireShark" (co-author: Dimitris Tsoukalos).
  • MacTech magazine, May 2011, article titled "The SQLite DB and iOS".
  • MacTech magazine, April 2011, article titled "Sending Cisco logs to Syslog on your Mac".
  • MacTech magazine, March 2011, article titled "An Introduction to WireShark".
  • MacTech magazine, February 2011, article titled "An Introduction to Nmap".
  • MacTech magazine, September 2010, article titled "Installing Joomla! on a Mac".
  • MacTech magazine, August 2010, article titled "Creating a Dashboard Widget that Supports Localization".
  • MacTech magazine, July 2010, article titled "A Dashboard Widget that Supports Copy-and-Paste".
  • MacTech magazine, February 2010, article titled "An Introduction to Gnuplot".
  • MacTech magazine, November 2009, article titled "Advanced MySQL Administration".
  • MacTech magazine, January 2009, article titled "An introduction to GraphViz".
  • MacTech magazine, December 2008, article titled "A Dashboard Widget that Supports Drag-and-Drop".
  • MacTech magazine, October 2008, article titled "A Dashboard Widget that Reads and Saves its Preferences".
  • MacTech magazine, August 2008, article titled "Creating Widgets with Dashcode".
  • MacTech magazine, July 2008, article titled "Creating a Dashboard Widget that Processes an RSS Feed".
  • SysAdmin magazine, July 2007, article titled "Network Traffic Visualization".
  • SysAdmin magazine, June 2007, article titled "Using a MySQL Database to Store Network Data".
  • SysAdmin magazine, March 2007, article titled "Successfully Creating and Presenting Graphics".
  • MacTech magazine, January 2007, article titled "Using the R statistics package".
  • MacTech magazine, December 2006, article titled "Creating a Dashboard Widget that uses a plugin".
  • SysAdmin magazine, July 2006, article titled "Command Usage Analysis".
  • MacTech magazine, June 2006, article titled "Installing and Using a Wiki".
  • Macland magazine, February 2006, article titled "Port Forwarding".
  • SysAdmin magazine, February 2006, article titled "Unison: A File Synchronization Tool".
  • C/C++ Users Journal magazine, "Nikos Platis and Mihalis Tsoukalos", December 2005, article titled "GraphViz and C++".
  • Macland magazine, December 2005, article titled "Putting a DVD to an Apple iPod 5G".
  • SysAdmin magazine, December 2005, article titled "Making a Dashboard Widget for Systems Administration Purposes".
  • Macland magazine, November 2005, article titled "SSH".
  • SysAdmin magazine, November 2005, article titled "Net::Telnet::Cisco Perl Module".
  • SysAdmin magazine, July 2005, article titled "Using GraphViz for Database Schema Visualization".
  • Macland magazine, April 2005, article titled "iMovie HD".
  • Macland magazine, February 2005, article titled "Open Firmware".
  • SysAdmin magazine, January 2005, article titled "Using the R System for Systems Administration".
  • Macland magazine, December 2004, article titled "Basic UNIX commands".
  • On line article for Linux Journal titled "An Introduction to GraphViz".
  • Macland, September 2004, article titled "Google: Search, search and you will find it!".
  • Macland, September 2004, article titled "An introduction to Regular Expressions".
  • Macland, July 2004, technical article titled "When AirPort met Router".
  • Macland, May 2004, article titled "fink".
  • Macland magazine, March 2004, article presenting UNIX books.
  • SysAdmin magazine, March 2004, article titled "Web Polygraph".
  • Wrote the section for the GD Perl module for the "Elements of Perl Programming" book of Apostolos Syropoulos as well as reviewed the book.
  • Technical reviewer for the "The Linux Operating System" book. Publisher: Papasotiriou, ISBN 960-7510-98-4.
  • Translated in Greek the «Presenting C#» book for B. Giourdas publications.
  • D.i.Li.Ma. magazine, issue 5, article titled "/usr/doc/books".
  • Computer For Everyone magazine, February 2001, article titled "Solaris 8".
  • D.i.Li.Ma. magazine, issue 0, article titled "DNS & BIND".

Working Experience
Companies and Organizations I have worked with include the following:

Software Experience
I can efficiently use many software packages including the following:

  • Microsoft Word, Microsoft Excel, MS Project, Microsoft IIS 5
  • CorelDraw! 12
  • Mathematica 5.1
  • Apple Final Cut Pro 5, Apple Aperture 3
  • Adobe Acrobat X Professional, Adobe Pagemaker 6.5, Adobe FrameMaker 7, Adobe InDesign CS5, Adobe Illustrator CS5, Adobe Photoshop CS5
  • SGML/XML DTD development and SGML parsing
  • vi, vim, gcc, g++, gdb, GNU make
  • Sendmail (mail server), bind (DNS server), security tools (snort, tcpdump, nmap, WireShark), CGI Progamming, apache (HTTP server), squid (Proxy Server), Web Polygraph, Samba
  • mrtg, rrdtool, MySQL, AT&T GraphViz, R, Joomla!, WordPress, Drupal, Django
  • Good knowledge of LaTeX/TeX
  • Excellent knowledge of TCP/IP and its protocols
  • Theory and Applications of Computer Graphics
  • Operating Systems: Mac OS X (all versions), Sun Solaris 7,8,9 (SPARC & x86), HP/UXAIX, Linux (DebianSuSE), Microsoft Windows 2000 (Pro & Server), Microsoft Windows XP, CISCO IOS, Apple iOS
  • Programming Languages: C/C++, Perl, PL/SQL, SQL, PHP, Objective-C, HTML, CSS, Tcl/Tk, Erlang, Go