Zero inbox

It’s been five months, and my inbox is still zero. Yes, every day, by the end of the day, my inbox is zero. Jealous already? Alright, let’s dive into it.

I have organized my inbox, based on David Allen’s recommendations from his best-seller book, getting things done. I was also inspired by this article that a great colleague of mine, Kiki thought I might find it useful.

Inbox

I am using my incoming email folder for just reviewing the emails and placing them to the relevant folders.

Folders: Needs Action/Reply, Awaiting Reply, Scheduled, Delegated

The 3′ Rule

When an email includes an action that will take less than 3 minutes, I am going to do it. If the action needs to be delegated, I am going to place the email to the Delegated.

If the email requires a or multiple actions that will take more than 3′ I will put it into the folder called Needs Action/Reply.

When I delegate an action item to someone (not necessarily the specific email), I put it in the Delegated folder, to keep an eye and make sure that I am still on top of this, even after a month. Similarly, when I send/reply to an email, and I am expecting a response, I am putting it to the Awaiting Reply folder.

Since my inbox should not be a place to store files or information, in case there are emails that I need to keep somewhere handy, I put them into the Scheduled folder.

Checking your email

Checking your inbox all the time won’t give help you be more effective or efficient. I am trying to check and triage my inbox only 5-6 times per day, which is still a lot, but due to the nature of my work (my colleagues are distributed around the world), I need to send emails all day.

Deleting emails

Your inbox is not a place for storing information or tracking your tasks. If an email is not in any of the previously mentioned folders, it should be either archived or deleted.

Taking action

Around three times per day, I am reviewing the Needs Action/Reply folder, and I either move the action items to a relevant (to each project) project management tool, or I prioritize them. Every time an email is moved or tackled, I archive it or delete it. There is no need to keep it in my inbox or at least in a visible place that creates stress every time I open my email.

Conclusion

It sounds, and it’s indeed simple to stay on top of your email and remove the stress caused by thousand of unread emails. Give it a try and let me know if that works for you.

Unboxing Web Literacy

Maybe I am excited but I am also extremely inspired right now!

I just had a call with Ake Nygren, a librarian and fellow Mozilla Rep from Sweden. Ake is trying to raise the awareness of Web Literacy in his library by mainly organizing cryptoparties in libraries.

Swedish library system is a close digital environment which needs a lot and fundamental changes in it’s roots for Ake’s (and other fellows) efforts to start having impact.

The purpose of this blogpost though is to talk about his side project, putting Web literacy in a box. Oh yes, he wants to transform the digital world to a physical one.

He is building physical boxes equipped with remixable material and gamified recipes for mobile maker workshop activities anywhere, e.g. a library, a school, a youth center, an NGO etc. The idea is to build a mobile makerspace which can be run literally everywhere. The interaction with the boxes should spark discussions and reflections on maker culture, digital literacies and the world we’re living in.

You can read the complete description of his initiative here and check his activity in tumblr.

This is the kind of people we need, this is the kind of people we should be! Curious, who are never afraid to challenge themselves and people who never settle. And this is the way we need to start thinking, by having a broader vision, adapting the “hacking” culture and looking for opportunities which will help us implement our vision.

 

Starting a project – the open source way

You should start/build your project in a way where anyone can help you build it or evolve your work.

What’s the purpose of building something on your own when you can build it faster and in a more efficient way with others?

Nowadays we have all the tools and resources we need in order to start our own project. Stack overflow, github, instructables and hackaday are only a few of the available resources/tools which will help you build the most challenging hardware or software project.

But how we engage more people in our building process in order to achieve great things together?

Continue reading “Starting a project – the open source way”

Running multiple containers mapped in different domains – the discourse example

 

“Do you want to have multiple docker containers in one server running different services, all mapped in different domain names and discourse to be one of them?”

The idea

This is another blog post coming directly from TechMinistry, Thessaloniki’s local hackerspace.

It’s the time of the year where we are brainstorming about the redesign of our website. We want to add some visibility in our hackerspace’s activities and promote participation within the city’s online community.

So we decided to give Discourse a try to in order to explore all of its features and especially its API.

Unfortunately we didn’t have a spare server to host it so we had to install it in a new docker container since our website already exist in another one.

 

The problem

Our problem was how to test discourse while there was another docker container listening to the same port, 80.

Hint: “nginx reverse proxy”.

After a lot of “ducking” we found that you can set up an nginx reverse proxy server outside the 2 containers in order to handle the requests.

Configuring NGINX

In your server (NOT in any of the containers) you need to create a configuration file and put it inside /etc/nginx/conf.d .

sudo nano /etc/nginx/conf.d/default.conf

The file name doesn’t really matter but inside the it you need to paste the contents of this file.

As you can see in the configuration file, there are two different “apps” (you can change their names if you like) which each one is pointing to a different port in the localhost.

upstream app-a {
server 127.0.0.1:2121;
}

upstream app-b {
server 127.0.0.1:2020;
}

Nginx will forward traffic to these ports, depending on which app you are trying to access.

server {
server_name techministry.gr www.techministry.gr;

location / {
proxy_pass         http://app-a;
proxy_redirect     off;
proxy_set_header   Host $host;
proxy_set_header   X-Real-IP $remote_addr;
proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header   X-Forwarded-Host $server_name;

}
}

At this part we are making clear to nginx that the requests for the techministry.gr URL belong to the app-a and should be forwarded to the relevant port. The same for the other app.

Now we only need to update the nginx process and start the containers. In order for these changes to take affect without restarting nginx you can use the following command:

sudo nginx -s reload

 

Configuring a simple docker container

Let’s run the website container:

docker run –name website -p 2121:80 -t -i -d techministry

Now the website container will forward the traffic that receives from external port 2121 to internal port 80.

Configuring Discourse for the nginx reverse proxy

For making a similar configuration for the discourse container we will need to edit it’s configuration file. We are assuming that you have already followed the Discourse installation guide and you are ready to launch it. Before launching it you need to go back to the app.yml file and change the EXPOSE port to 2020.

nano containers/app.yml

and change the “## which TCP/IP ports should this container expose?” line to:

expose:
– “2020:80″   # fwd host port 80   to container port 80 (http)
– “2222:22″ # fwd host port 2222 to container port 22 (ssh)

Then you follow the discourse installation guide for building the image and running it.

When the installation is complete and the container is up and running you can visit your fresh discourse installation by simply accessing the domain name you reserved in the nginx configuration file which in that case is http://betatechministry.gr.

You can also access the container using your server’s IP followed by the container port – in that case 78.155.69.90:2020.

Conclusion

Following this technique you can have multiple docker containers running different services, all mapped in different domain names.
Pretty awesome, right?

I want to give a special credit  to my friend and TechMinistry’s member Alexandros who dedicated a lot of his free time for this.

You should start a hackerspace, TODAY! – part 1

Six months ago, along with some crazy friends we started discussing the idea of creating a hackerspace in my hometown, Thessaloniki.

After a lot of planning where more people joined, we managed to build from SCRATCH, the Tech Ministry – Thessaloniki’s Hackerspace. “The how” I am going to describe it with details in another post.

Since day 1, a lot of people were mocking us because we were dedicating a lot of money and effort in transforming an empty basement into a hackerspace. These people believed that we should – somehow – get our money back instead of “wasting” them for an empty space. Today – after 2 months and after a lot of effort, the space is almost complete and fully equipped so I would like to share with you how I am planning to get the earnings of my investment.

Today I had the opportunity to spend more than 14 hours in the space with some brilliant people working on a variety of projects.

  • We worked and managed to transform our outdoor into an RFID featured door (had to hack the door’s metal case in order to install the electric strike).
  • Brainstormed on techniques for transforming solar energy into electric energy and aquaponics.
  • Brainstormed on upcoming events and planned 2 new ones.
  • Had a short docker hands-on session.
  • Learned more about apache’s configuration.
  • Worked on installing, configuring and using owncloud’s API.

It’s 1:55am (woke up at 7:30am) and after this exhausting day I am still FULL of energy, writing this blogpost and ready to continue working on my favorite projects!

Can you now understand why I am so passionate and thrilled about this place? Because anyone can do amazing things without any previous experience, by simply spending his time with some brilliant people. This is the earning of my investment, gaining experience on doing amazing stuff with amazing people!

Have I also told you that a hackerspace is not only a space but it is actually a community? Yes! More on part 2. 😉

So what’s your excuse for not joining a hackerspace or starting one?

 

Mozilla Greece

Εδώ και μερικές μέρες και έπειτα από ένα πρόβλημα που εντοπίσαμε στη υποδομή, βρισκόμαστε στο στάδιο της επίλυσης και ανασχεδιασμού της κεντρικής ιστοσελίδας μας.

Για αυτόν ακρίβως το λόγο μέσα από αυτό το blogpost θέλω να αναφέρω όλους τους τρόπους επικοινωνίας και συμμετοχής στην ομάδα μας.

Μπορείτε να επικοινωνήσετε μαζί μας κάνoντας εγγραφή στην κεντρική mailing list μέσο της οποίας οργανωνόμαστε, να μας στείλετε ένα tweet ή και να μας μιλήσετε στο Facebook. Για εσάς που ενδιαφέρεστε περισσότερο για το Firefox OS, υπάρχει μία ξεχωριστή σελίδα στο Facebook για τη διάδοση αυτού.

Τέλος μπορείτε να δείτε όλα τα επερχόμενα event τα οποία oργανώνει ή συμμετέχει η ελληνική κοινότητα στην εξής σελίδα.

Αν θέλετε να βοηθήσετε ή να συμμετέχετε ενεργά δεν έχετε πάρα να μας στείλετε ένα email ή να συμπληρώσετε την αντίστοιχη φόρμα ενδιαφέροντος στην κεντρική σελίδα του Mozilla.

Και μην ξεχνάτε,

Blaze your own path.

TOGETHER event

Θεσσαλονίκη 2014,

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

Τις περισσότερες φορές όμως όλοι αυτοί οι άνθρωποι ενεργούν αυτόνομα ή σε μικρές ομάδες/κοινότητες. So lets GET TOGHETHER.

Όλοι αυτοί οι άνθρωποι λοιπόν βρισκόμαστε την ερχόμενη Τετάρτη 30/4 στο Νέο Δημαρχιακό μέγαρο προκειμένου να γνωριστούμε, να ανταλλάξουμε γνώσεις, απόψεις, ιδέες και να δημιουργήσουμε συνέργειες.

Μαζευόμαστε λοιπόν στις 18:30 όπου 13 ενεργές κοινότητες της πόλης θα μας παρουσιάσουν την ταυτότητα και τις δράσεις τους. Έπειτα θα ακολουθήσει το καθιερωμένο networking όπου καλούμαστε όλοι να αλληλεπιδράσουμε με τις κοινότητες που μας ενδιαφέρουν ή και να δημιουργήσουμε τη δική μας!

Οι κοινότητες που θα παρουσιάσουν είναι οι εξής: SKGTech, MAKE DIY, Arduino, Ruby, Java, iOS, Mozilla, Google Developers Group, Behance, Agile, Social Media, Open Thessaloniki, Open Coffee.

Σας περιμένουμε όλους.

Περισσότερες πληροφορίες στο http://skgtech.io/together/

Introduction to Firefox OS – Create your first Open Web App Workshop

This workshop will walk you through  the most exciting new platform in mobile, Firefox OS.

You will have the opportunity to take a look under the hood of Firefox OS, the web technologies adopted and how open web applications work. In addition we are going to build our own first open web application using HTML5, Javascript and CSS using Firefox’s innovative developer tools.

Join us the upcoming Tuesday 29/4 at 13:00 at the International Hellenic University.

Registrations at: http://bit.ly/1epbDJ5

Location directions

Do you want to learn Python and Django?

A couple of weeks ago someone asked me on facebook for guides and tutorials on how to learn Python.

When I was looking for resources for my self some years ago I ended up buying the Learning Python from O’Really which I found really poor. I spend some hours reading the first 100 pages and learning only for variables in Python.

I wanted something more advanced, more fast learning, so I bought the Python Cookbook from O’Really as well. Yes (!) that was the book that I was looking for but still.

So then after a conversation we had with my good friend Diego he proposed me to read a tutorial regarding Django.

That was it! The Django Book was the best resource so far for learning Django and Python. The book is diving you in to Python and Django from the first 5′ minutes but with a great explanatory way. As a result you can set up your own Django instance in the first hour understanding every step on the way.

Other really helpful resources regarding Python for beginners as proposed from the Greek Python community can be found in the following links:

And for my Greek friends there an awesome guide for developing games in Python written by my friend Manolis.

Other resources proposed from readers, comments, social media.

So don’t be afraid and DIVE in to Python or Django!

If you are aware of more Python and Django resources for beginners don’t hesitate to leave a comment in order to update the blogpost.

 

 

Mozilla Webmaker and Webvistas community go to public libraries

Photo by Thalia Papoutsaki

I am really happy to announce you a series of workshops regarding the web in our lives.

Mozilla’s and Webvistas‘ communities are co-organizing along with the municipality of Thessaloniki a series of workshops in the central public library of the city.

Our meeting is around every second Wednesday at 6pm in the first floor of Thessaloniki’s central public library. You can check the map here for directions.

Below you can find a detailed schedule of our workshops:

  • 1.    16/10 2013 – Christos Bacharakis, Mozilla – Create your own videos simple, easy and fast using the popcorn tool.
  • 2.     30/10 2013 – Giannis Kaskamanidis, Psychologist – The web and the children. Pros and cos of the usage of the internet
  • 3.     13/11 2013 – Maria Filipopoulou, Mathematician  – Scratch 2.0: Programming while playing or playing while programming?
  • 4.     4/12 2013 – Christos Bacharakis, Mozilla – Create your own web page in HTML using thimble. First part.
  • 5.     11/12 2013 – Christos Bacharakis, Mozilla – Create your own web page in HTML using thimble. Second part.
  • 6.     18/12 2013 – Dimitris Alvanos, lawyer – Online transactions
  • 7.     8/1 2014 – Despoina Drivakou, Psychologist – Social interaction on the web
  • 8.     22/1 2014 – Christos Bacharakis, Mozilla – Create your first  Open Web Application.

 

Ανακοίνωση και στα Ελληνικά από την κοινότητα των Webvistas.

Το πρόγραμμα και στα ελληνικά – the schedule in Greek

  • 1.    Τετάρτη16 Οκτωβρίου 2013 – Χρήστος Μπαχαράκης Mozilla – Δημιουργώντας βίντεο εύκολα, γρήγορα και απλά.
  • 2.    Τετάρτη 30 Οκτωβρίου 2013 – Γιάννης Κασκαμανίδης Ψυχολόγος – Διαδίκτυο και ανήλικοι: θετικές και αρνητικές συνέπειες της χρήσης του.
  • 3.    Τετάρτη 13 Νοεμβρίου 2013 – Μαρία Φιλιπποπούλου  Μαθηματικός – Scratch 2.0: Προγραμματίζω παίζοντας ή παίζω προγραμματίζοντας;
  • 4.    Τετάρτη 4 Δεκεμβρίου 2013 – Χρήστος Μπαχαράκης Mozilla – Μαθαίνοντας να φτιάχνουμε ιστοσελίδες σε HTML μέρος 1ο.
  • 5.    Τετάρτη 11 Δεκεμβρίου 2013 – Χρήστος Μπαχαράκης Mozilla – Μαθαίνοντας να φτιάχνουμε ιστοσελίδες σε HTML και CSS μέρος 2ο.
  • 6.    Τετάρτη 18 Δεκεμβρίου 2013 – Δημήτρης Αλβανός  Δικηγόρος – Διαδικτυακές τραπεζικές συναλλαγές.
  • 7.    Τετάρτη 8 Ιανουαρίου 2014 – Δέσποινα Δριβάκου  Ψυχολόγος – Κοινωνική διάδραση στο διαδίκτυο
  • 8.    Τετάρτη 22 Ιανουαρίου 2014 – Χρήστος Μπαχαράκης Mozilla – Μαθαίνοντας να γράφουμε ανοιχτές διαδικτυακές εφαρμογές – Open Web Applications.

Τα λέμε εκεί! – See you there!