Home

Welcome to

www.phk.name

Deutsche Version

About me

My name is Philipp Keck. I am 25 years old, live in Zurich, Switzerland, and work as a Software Engineer at .
Since I was twelve years old I have been interested in software and how it is developed. During my software engineering degree at the University of Stuttgart, I was a member of the , a working student at and an intern at Google Munich. In my spare time, I take photos and play the piano/keys — formerly in the .

Skills

    • Java
    • JEE
    • Android
    • JavaFX
    • JSF
    • C# + .NET
    • C++
    • Rust
    • R
    • HTML
    • CSS
    • JS
    • jQuery
    • React
    • PHP
    • MySQL
    • Photoshop
    • Illustrator
    • Inkscape

Projects

X10Receiver.NET v2

History

Everything began with a Medion® computer, my first computer, which shipped with this remote control. The only application that could be controlled with this remote was PowerCinema 2.0 and in no way I could imagine using a fullscreen application to listen to my music, just to make the remote work.
Hence, I learned Visual Basic 6 to write an application that allowed me to control Winamp with my remote. This project became soon the first version of X10Receiver. Since all plugins were hard-coded into the application (so they weren't actual plugins), I decided to entirely rewrite it, based on VB.NET and with a proper plugin architecture - and the result was called X10Receiver.NET. In order to improve efficiency and usability, I seperated the signal processing background unit from the user interface, which could therefore be a lot more extensive. To my knowledge, today's X10Receiver.NET v2 (written in C#) is the only remote control software to provide setup wizards that are so highly simplified and automated, that the average user can just click through it without the need to change anything. However, this does not limit the wide range of possibilities the program offers due to the ability to work with complex, user defined definitions, which do not require coding skills.

Status

All planned and favored features have been implemented and have been stable for several years. Another remake (v3) is not being planned, only bugfixes and and new plugin or feature requests will be implemented. Based on user feedback, the usability improves continiously.

X10AndroidApp

Idea

Home cinema computers are typically controlled with dedicated remote controls. But most recently, there are new apps coming up that do not only replace the remote by simulating its buttons, but can also display specific information on the device's display. There is already a couple of those apps available. Some only interact with certain TVs and not with computers, some only work with a specific player software. Most are not easy to set up. X10AndroidApp tries to do better:
Without any additional setup, all X10Receiver.NET instances on the local (wireless) network are automatically found and listed, after the plugin has been activated (three clicks). By the use of Wake-On-LAN, computers that have been added to the list are even available when they are suspended. X10AndroidApp is compatible to Windows Media Center, Winamp, AIMP, iTunes and Windows Media Player. Of course I'm always up for making more plugins, if technically possible. Through the virtual remote in the app, it is of course possible to control any application that can be controlled by X10Receiver.NET.
A special feature is the ability to control Grooveshark running in Firefox or Chrome using the X10Extension.

SchulScheduler

SchulScheduler is a timetabling software for small and medium-size schools developed during a one-year student project. It is available in German only and targets German schools. Please refer to the German page or the SchulScheduler homepage for further information.

Tools

In this section I would like to present some of the little utilities that I wrote to make life easier. Some tools have not (yet) been released, but I would appreciate if you expressed your interest in them. If a sufficiently large number of potential users can be found, I will develop a stable version of the tool and release it. The tools that are already available are available for download at no charge, of course (although you might consider making a donation ;-)) and work without installation.


WakeFolder

Windows shares allow accessing directories that are located on other computers - but they only work if the other computer is running. In this way, I am to watch TV shows for example, that have been recorded by another computer in the network. WakeFolder helps waking the computer up through Wake-On-LAN, if necessary. For more detailed information/instructions please view the screenshot.


Picture sorting

After every holiday trip you see yourself confronted with an overwhelmingly large amount of pictures (thanks to the new digitial cameras) that have to be sorted. To simplify and speed up the sorting process, I developed this tool, which allows the user to configure his keyboard keys to perform certain actions on the picture being displayed. This way, it is for example possible to flip through the pictures from a directory in fullscreen mode and directly delete failed shots, copy the best ones to a sub-folder and move panorama-parts to a third folder.
During the development, I put great effort in improving the speed of the tool: Pictures are preloaded to a cache and can therefore be viewed with no delay - even over LAN. The tool is freely configurable (see the screenshot) and non-destructive (pictures are never deleted, only moved to the recycle bin). In combination with X10Receiver.NET it can be conveniently be controlled from the couch.

Note: This tool has not yet been translated into English. Please tell me if you'd like to see an English version of it.


MapDroyd/NavDroyd Pin Editor

There are two great android (navigation) apps called MapDroyd and NavDroyd that allow saving places as "pins". Since this is very tricky on the phone, I wrote a tool that enabled you to directly import pins from .kml files (from GoogleEarth) to the MapDroyd/NavDroyd database using drag-drop, while the phone is connected to the computer in storage mode.
Features: Drag-Drop, Create folders/categories, Re-order, edit labels/notes

Warning: The tool only processes the coordinates, the title and the description of the pins. All further information will be lost. Therefore, please backup your data before testing!


Klingeling

This app helps calling everyone who is in the same house (more precisely the same wi-fi network) to lunch or dinner. Every smartphone that has the app installed will notify its user, who can then reply with "OK", "Later" or "Won't come". Available in German only (so far).


Todo list with Android synchronisation

There are many todo list apps for Android, many of them allow syncing with miscellaneous cloud services, often Google Tasks. Desktop clients are rather rare, but they also exist. But all the apps I tested had a disadvantage: They were to slow. If it takes more than 10 seconds to get the phone from your pocket, turn it on, unlock it, find the app, wait for it to start, press some buttons to add a new entry and then start entering it, you will use the app clearly less frequently, because it is supposed to save your time and not steal it. Besides, most of the apps provide features, that are absolutely needless to me and only impact performance (like adding pictures, speech recognition, sub-lists, etc.).

Hency, my app is reduced to the basics (Reorder and prioritize, maybe tagging and filtering in a future version) and tries to provide this functionality as simple as possible: Prioritizing an item for example can be done by hovering it with the mouse cursor and then turning the scroll wheel. The item then fades to gray (lower priority) or turns more and more red (higher priority). Completed items stay on the server, so you can always recover them. The Android app syncs periodically, but also immediately when the Wifi connection has just been established.
The design as well is as lightweight as possible. The app starts in less than a second and the textbox for adding new items is immediately focused. The desktop application is displayed semi-transparent over other applications and can be launched and closed with a shortcut.

This tool has not yet been published.


LogikBerechner

A small tool to find all solutions to a set of boolean propositions, made up of atomic formulas A-Z, constants (0 and 1) and operators like AND, OR, XOR, NAND, negation, biconditionals, implications, satisfiability operators. It supports nested bracketing and variables for partial formulas. Results can be displayed or exported in CSV format.
The source code is public and free to use for all purposes.


Photography

I love taking pictures and experimenting with different subjects, illuminations, etc. but I don't do it professionally. Nevertheless, some results have originated from this hobby that I want to present here.

Contact

Philipp Keck
Zentralstrasse 153
8003 Z├╝rich
Switzerland

+41 (0)77 9649607
philipp@philippkeck.de

Email to Philipp Keck




Credits

Terms of Use

Using this website ("site") indicates that you have read and accept these terms of use ("terms"). If you don't accept these terms, you are not authorized to use this site as well as my software (collectively "products").

Disclaimer

My products are provided "as is" and "with all faults". In no event will Philipp Keck or anyone else mentioned on this website or in the products be liable for any damages caused by the products, their contents or any linked contents respectively by using it.

Trademarks

All trademarks and registered trademarks are the property of their respective owners.

Privacy

I (the operator of this website, Philipp Keck) respect your privacy. In no way will I sell, rent or lease your personal information or give it to a third person in any other way. Collection of personal data is limited to the technically required minimum or is performed anonymously.
You are entitled at any time to request information about all data (beloning to you) stored on my server, it's origin and purpose. Further information on how to contact me can be found above this privacy statement.