Tag Archives: Online

Inbox Zero

This is an apology to all the people who have sent me an e-mail over the course of the past 5 months and have not received the response they expected in time. I was swamped at work, with my PhD project, IEEE activities and other challenges in my private life. But now I am on top of things again. I’ve reached “Inbox Zero”.

inbox
With it comes the “Mind like Water” state and I am now ready again for your e-mails. Let’s see how long it lasts ;)

j d o t x t

jdotxt is an open source, cross-platform Desktop tool for managing your todo list. It’s geared towards Gina Trapani’s todo.txt file format and stores all of your stuff in two human readable text files. Having these files on your owncloud, dropbox or any other cloud storage makes it easy as pie to keep your todos in sync across multiple devices.

Download and Installation

  • Windows (Installer)

    Download installer. When you launch jdotxt, you may be asked to download and install Java, which you should do in that case.

  • Mac OS X

    1. Make sure you have Java JRE >= 7 installed. E.g., by downloading and installing it from http://www.java.com
    2. As always: download, mount, drag&drop this file
  • Ubuntu >= 12.10 (Repository)

    Open a terminal and execute the following three commands (line by line):

    sudo add-apt-repository ppa:chms/jdotxt
    sudo apt-get update
    sudo apt-get install jdotxt
  • Ubuntu 12.04 LTS

    First you must get JRE >= 7 by executing the following two commands (line by line):

    sudo apt-get install openjdk-7-jre
    sudo update-alternatives --config java

    After executing the second line you will be asked, which version of Java you would like to use by default. Select the one that has version number 7 or higher in its path name.

    Now continue with the instructions for Ubuntu >= 12.10 (see above)

  • Debian GNU/Linux

    Download and install the jdotxt Debian file. Of course this works on Ubuntu too, but it is highly recommended to use the repository, for automatic updates.

  • Generic (Works on Windows, GNU/Linux and Mac OS X)

    Download the jar file and execute it using Java JRE >= 7 (http://www.java.com)

Mastering jdotxt in 110 Seconds

Get Involved!

You are more than welcome to drop me a line via one of the online platforms I use, or to contribute by reporting bug reports or feature requests via github. The source code is also hosted on github.com so feel free to contribute!

Contributors

Christian M. Schmid
Mikhail Kalkov

License

jdotxt is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Microblogging for 30 Days

Since blogging apparently doesn’t work for me lately I’ll try microblogging for 30 days. Here’s my twitter feed.


Spotlight: Public-Key Cryptography

Public-Key Cryptography is a truly magical thing and I often wonder why we don’t use it more often. We go on and complain about how it is too easy for government agencies to look into our digital lives, while we do have all the tools to prevent it. Only we don’t use them and we don’t seem to ask facebook, gmail and so on to use them – not that they would. The funny part is that it would not require a lot of effort, because computers could automatically do all of that stuff in the background. All that would be needed is that we were able to securely store one, long password (the private key).

In a nutshell public-key cryptography is a mathematical concept that allows us to encrypt a message that is intended to be read by just one person and to sign something to guarantee that it really came from you.

Let’s take a closer look: public-key cryptography is based on a pair of keys, lets call them #1 and #2. When one uses key #1 to encrypt a message one can only decrypt it again using key #2. The same is true for a message encrypted with key #2 – it can only be decrypted using key #1. In other words the two keys are kind of reversible operations that work in both directions. For instance

  • Plain text -> Apply Key #1 -> Cypher Text -> Apply Key #2 -> Original Plain Text
  • Plain text -> Apply Key #2 -> Cypher Text -> Apply Key #1 -> Original Plain Text

but

  • Plain text -> Apply Key #2 -> Cypher Text -> Apply Key #2 -> Nonsense
  • Plain text -> Apply Key #2 -> Cypher Text -> Try something -> Nonsense

In addition to that it is important to know that it is (almost) impossible to find the keys from the Plain text and/or the Cypher Text.

Usually a person or entity (lets call this entity Alice) creates a pair of keys, where one is made public (the public key) and where the other key is kept secret. There are two typical use cases:

  1. Anyone can encrypt a message using the public key and send it to Alice. Only Alice and nobody else (e.g., someone who intercepts the cypher text) will be able to read the plain text when only Alice knows her secret key. – This use case is also called “Public-key encryption”.
  2. Alice can encrypt a message using her private key and send it to anyone. If it can be decrypted using the Alice’s public key, one has a guarantee that the original message really came from Alice. – This use case is also called “Digital signing”.

The secret key is Alice’s crown jewel that she must not lose or share with anyone, because anyone in possession of the secret key can do what Alice can do. Well that is why it’s called the secret key.

Again, all of this can stay in the background and as it can be done for you by software on your computer/phone/…, that has access to your locally stored secret key. If you are interested in implementing some of this stuff in your life, you might want to take a look at

Just by reading this article and by understanding it, you should have a pretty good idea about what level of protection encryption can give you and where potential problems may lie. Again, never forget: your secret key is your crown jewel that you must never share and that your software must never leak. By the way, this is something that is especially hard to check with closed source software and also something that the heartbleed bug may have caused.

Harald Baumgarter @ Herz von Österreich

About two years ago I blogged about setting up the website of Austrian singer Harald Baumgartner. In an attempt to make his work more well known to the public he’s now part of a reality television-music competition series called “Herz von Österreich” (“Heart of Austria”). It’s only airing in Austria, so you might not have heard of it, it’s similar to the Idols TV series. – As I don’t watch television, I didn’t know about it either until he called me last week.

The show in which he’s going to appear is going to air this week on Friday and so some updates to his website became inevitable. I guess that’s the kind of stuff you’re supposed to do on an idle Sunday afternoon. Helping an old friend.

hbSee for yourself http://www.haraldbaumgartner.com – and please don’t forget to vote for him on Friday.

Keeping on Top of Mail

I did some statistics a while ago. Today I can give you an updated version. My term as IEEE Region 8 Student Representative lasts for 388 days now and on average I have received about 18 e-mails per day and I have sent out about 3.5 e-mails per day. – My work and private e-mails go through different accounts, so that is just the IEEE stuff.

The way I try to deal with my mail is simple. – Nothing is allowed to stay in my e-mail Inbox, unless it is unfinished buissness. If I receive some invitiation to some conference that I don’t care about -> it goes into my Ads folder. If I receive some ads -> again Ads folder.

Other mail goes into project related folders unless it requires some action that I am for some reason not willing to put on my todo list. In that sense my Inbox is also a kind of todo list, which should be as empty as possible. From time to time I fall a little behind, so it was time to do some serious housekeeping today.

email_before_after

IEEE Chat Session

We had the very first IEEE Region 8 SAC online chat session this year. About 40-50 participants from all over Region 8 (Africa, Europe, Middle East, Russia) dialed in. We (Piotr, Femia, Maciej, Rui Costa) tried to give them an update on

I guess there are a lot of exciting things coming up in 2014. Some people started sharing screenshots from the online session on facebook. I can’t resist to share with you the screenshot of this pink desktop by Christine Avdikou.

1522935_10203021811289754_507451353_o

The Making of me.chschmid.com, Part 6: Connection to the World

So far the server was in a protected environment, but it’s time to let it see the world! This involves three things:

  • Setting up the server firewall
  • Configuring the dyndns stuff
  • Setting up the router

Server Firewall

You only want those ports to be open that you really need. I’d recommend using ufw for configuring your firewall. In my case

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw deny proto udp to any port 137 from 192.168.22.1
sudo ufw deny proto udp to any port 138 from 192.168.22.1
sudo ufw deny proto tcp to any port 139 from 192.168.22.1
sudo ufw deny proto tcp to any port 445 from 192.168.22.1
sudo ufw deny proto tcp to any port 9000 from 192.168.22.1
sudo ufw deny proto tcp to any port 5901 from 192.168.22.1
sudo ufw deny to any port 3483 from 192.168.22.1
sudo ufw allow proto udp to any port 137 from 192.168.22.0/24
sudo ufw allow proto udp to any port 138 from 192.168.22.0/24
sudo ufw allow proto tcp to any port 139 from 192.168.22.0/24
sudo ufw allow proto tcp to any port 445 from 192.168.22.0/24
sudo ufw allow proto tcp to any port 9000 from 192.168.22.0/24
sudo ufw allow proto tcp to any port 5901 from 192.168.22.0/24
sudo ufw allow to any port 3483 from 192.168.22.0/24

which means allowing access to SSH, HTTP and HTTPS from anywhere in the world and to the squeezebox server and the Samba server only from the local network but not from the router.

Dyndns Stuff

My provider gives my router a new IP (= unique address on the web) from time to time. To be able to find my router/computer from the outside world, I have to report my IP to someone who can help me find it any time.

Here is how it works: me.chschmid.com points to chschmid.mooo.com and chschmid.mooo.com I have tell what my current IP is when it has changed. It’s less complicated than it sounds

  1. Get an account at http://freedns.afraid.org/
  2. Download the latest IPdetect from http://ipdetect.sourceforge.net/
  3. and set it up as described in the readme file ;)

By the way if your router is running on a modified firmware such as DD-WRT, this task can also be handled by your router and configured via its web interface. Just search for Dynamic Domain Name Service (DDNS). Sadly DD-WRT is not an option for me as the 5 GHz support is broken for my router :(

The Router

First I had to tell my router that my server should always get the same local IP 192.168.1.200 based on its MAC address.

static_ip

And secondly ports 22, 80 and 443 have to be forwarded to that local IP. Here’s a screenshot what this looks like in my case.

port_forwardingNow this calls for some champaign! The server is set up and online! You can take a look at some server stats at https://me.chschmid.com.