Details
Bitte wählen Sie einen von den Punkten links um Details, Beispiele und Referenzen einzusehen.
PHP
Ich habe ca. 5 Jahre Erfahrung mit PHP. Seit 2008 bin ich der alleinige Programmierer des Internet-Shops http://www.sevenply.de und sowohl für die Administration als auch die Weiterentwicklung verantwortlich. In den letzten drei Jahren ist so ein eigenständiger Shop entstanden, der nur noch hier und dort auf Bestandteilen der originalen Software aufsetzt.
Der Onlineshop von sevenply.de basiert auf Linux/PHP/Apache/MySQL und der Open Source E-Commerce Software: XT-Commerce.
Eine continuierliche Überwachung mit monit und stündliche cronjobs mit SimpleTest Unit Testing for PHP gewährleisten das die Webseite stets korrekt funktioniert und erreichbar ist.
Ruby on Rails
Seit 2009 entwickle ich Webanwendungen mit Ruby on Rails.
Entstanden ist bisher eine Kundenverwaltungs-Software für die Firma EnviroMed OHG, programmiert mit Rails 2.3 und ein individuelles Content-Management-System für die Firma SmartKomm GmbH mit Rails 3.
Kurzentschlossen war ich dann auch 2010 auf der Ruby and Rails Konferenz in Amsterdam und auf einem Workshop zu Test Driven Development namens Codecraft von Corey Hayes. Aufgrund meiner Vorerfahrungen in der Webentwicklung mit Java, Perl und PHP habe ich Ruby und Rails sehr schnell begriffen und war innerhalb weniger Wochen produktiv und effektiv in der Entwicklung.
Java
In einem aktuellen Ruby on Rails Projekte habe ich 2010 für die Firma EnviroMed OHG einen kleinen TCP/IP Druckserver mit Java programmiert, um aus der Firmen Internen Kundenverwaltung automatisch generierte Dokumente aus jeweils bestimmten Fächern des Mehrschachtdruckers HP LaserJet 5000 D drucken zu können. Zum Einsatz kommen dabei JODConverter zur Konvertierung von OpenDocument Dateien in PDF sowie JODReports als Template Engine.
In meiner Diplomarbeit 2007 entwickle ich als Proof-of-Concept Lösung einen kleinen Compiler mit JavaCC, der als Ausgabe dynamisches Perl, HTML und CSS erzeugt.
Seit 2001 entwickle ich Java Anwendungen. Meine Bachelor Arbeit im Jahre 2002 bestand zu einem großen Teil aus der Entwicklung einer Java Enterprise Anwendung mit dem Application Server JBoss. Ich hatte dabei die Verantwortung für den Serverseitigen Teil (SessionBeans und EntityBeans) sowie für die verwendeten Tools und Techniken. Ebenfalls mit JBoss habe ich leitend an dem Projekt Komponentenprogrammierung und Middleware an der Universität Potsdam mitentwickelt.
Ein weiteres erwähnenswertes Java-Projekt von mir ist: MediSnap - medical photo system.
Javascript
Mit Javascript direkt habe ich mich nie wirklich viel beschäftigt. Die vielen Browser-Inkompatibilitäten haben für meine Projekte nie den Aufwand gerechtfertig.
Seit der verfügbarkeit Browserübergreifender Javascript Bibliotheken setze ich diese jedoch rege ein. Ausprobiert und evaluiert habe ich MooTools, jQuery, script.aculo und Google GWT. Am meisten benutze ich jQuery und jQuery UI sowie je nach Bedarf entsprechende jQuery Erweiterungen wie jqZoom oder jCarousel.
Verschiedene dieser Effekte habe ich zum Beispiel auf der Sevenply Startseite sowie auf den Sevenply Produktseiten eingebaut.
XT-Commerce
Seit 2008 bin ich der Software-Entwickler für den Webshop http://www.sevenply.de, der auf XT-Commerce basiert. Ich kenne mich inzwischen hervorragend mit den PHP Modulen und Klassen von XT-Commerce aus und erweitere den Shop mit spielender Leichtigkeit in meiner täglichen Arbeit.
Gerne beschäftige ich mich bei Bedarf auch mit anderen E-Commerce Lösungen oder Frameworks.
Smarty Template Engine
Als Entwickler für den auf XT-Commerce basierenden Webshop http://www.sevenply.de, welches wiederum die Smarty Template Engine verwendet, bin ich mit diesem Template-System gut vertraut.
Andere Template Engines die ich in Projekten verwendet habe sind XDoclet und JODReport in Java-Projekten.
Dokumentation & Automatisiertes Testen
Test Driven Development
Ich bin starker verfechter von automatisierten Tests, aber (noch?) kein überzeugter Test-First Tester. Ich bin stehts bemüht effektiv und umfassend zu testen, und dazu verwende ich auch alle möglichen Test-Frameworks, je nach Anforderung und Nutzen.
Im Oktober 2010 habe ich den Workshop Code Retreat von Corey Haines zu Test-Driven-Development in Amsterdam besucht.
Dokumentation
Bewährt hat sich grundsätzlich ein beliebiges Wiki zur Dokumentation erledigter Tasks in Verbindung mit einem Bug-Tracker zur Priorisierung und Verwaltung anstehender Aufgaben. Meistens setze ich MediaWiki in Verbindung mit Bugzilla oder Trac als kombinierte Lösung ein.
Zusätzlich habe ich mir angewöhnt stets immer in einer einfachen Textdatei die Uhrzeiten und an was ich gerade Arbeite mitzuschreiben. So kann ich korrekte Arbeitszeiten errechnen und jederzeit später wieder meine Gedankengänge und Umstände, die mich ggf. zu einer bestimmten Entscheidung geführt hatten, nachschlagen und nachvollziehen.
Darstellung von Zusammenhängen
Ich kann Zusammenhänge gut verständlich in Form von Diagrammen darstellen. Es folgen ein paar Beispiele vergangener Projekte:
Beispiel Netzerk-Verkabelung
Beispiel Datenfluss
Beispiel Speicher-Management
HTML / CSS
Seit 1997 entwickle ich Webseiten aller Couleur. Derzeit bin ich erfreut über die schönen Neuerungen die HTML 5 bringen wird.
Mit Hilfe von Virtualisierung teste ich alle meine Webseiten sowohl unter Windows als auch Linux mit den jeweils üblichen Browser-Versionen. 2010 habe ich somit meine Webseiten getestet mit: Firefox 3.0, Firefox 3.6, am Ende des Jahres noch Firefox 4.0 Beta, IE 7, IE 8 (auf Wunsch noch immer IE 6), Opera 9, Opera 10, Safari und Google's Chrome 10.
Beispiele:
- schlicht: http://kechel.de
- statisch und aktuell: http://www.enviromed.de
- dynamisch und komplex: http://www.sevenply.de
- selten (perl und xslt): http://www.publictimestamp.de
Design-Vorgaben setze ich vollständig eigenständig um
Mir wurde z.B. folgende mit Photoshop erstellte Vorlage für ein neues Shop-Layout angeliefert:
Vergleichen Sie selbst mit der fertigen Seite im neuen Layout.
SEO / Suchmaschienen Optimierung
Nach etwa einem Jahr regelmäßiger Optimierungen an der Webseite http://www.sevenply.de sind dort geschätzte 90% aller Vorgaben aus dem Google Search Engine Optimization Starter Guide erfüllt.
Desweiteren erreichen die meisten Seiten bei der Google Erweiterung Page Speed 95 von 100 Punkten für die Geschwindigkeits und Lade Optimierung. Für eine derart komplexe Seite ist dies ein hervorragendes Ergebnis und alle Beteilligten sind mit dem Ergebnis sehr zufrieden.
Erfolg zeigt diese Arbeit natürlich auch in den guten Positionen bei der organischen Suche (Stand Januar 2011):
- Google Suche nach: nike sb - Sevenply auf Position 4 mit Nike SB Online Shop | Nike SB online bestellen | Sevenply Skateshop
- Google Suche nach: reell jeans - Sevenply auf Position 4 mit REELL Online Shop | REELL online bestellen | Sevenply Skateshop
- Google Suche nach: schimmeltest - EnviroMed auf Position 2 mit EnviroMed | 4 x AeroMyc Exklusiv Raumluft Schimmeltest
Produktfeeds (google base, Amazon, etc.)
Produkte verkauft man nicht nur über seine eigene Seite.
Selber habe ich inzwischen viele verschiedene Feed-Formate für Sevenply implementiert. Am aufwändigsten war dabei sicherlich Amazon DE, Amazon FR und Amazon UK. Ein viel einfacheres Format hat zum Beispiel google base.
Server Administration & Tools
Seit über 10 Jahren benutze ich vornehmlich Linux als Arbeitswerkzeug. 1999 habe ich bereits eine Artztpraxis mit Linux-Servern ausgestattet (damals mit Samba als Ersatz für einen alten Novell NetWare Server mit IPX/SPX). Bis heute wird diese Arztpraxis mit Linux-Servern von mir administriert.
Ich verwalte und administriere nebenbei auch Server für Webseiten, und habe folgende Tools und Programme kennen und schätzen gelernt:
- Linux
- Debian, vim, Perl, cron, Bash Skripte
- Backup
- mit rsync, scp, ftp, mysqldump, pg_dump, sowie Redundanz durch Verteilung auf mehrere Server, ..
- Web
- Apache, SSL-Zertifikate, seo mit mod_rewrite, optimierungen mit mod_expire und mod_deflate, load-balancing mit mod_proxy, nginx..
- Rails
- Phusion Passenger, mongrel
- Datenbank
- MySQL, PostgreSQL, früher auch Oracle und Informix DB
- Netzwerk
- gateways, router, vpn zugänge / virtual private networks, verkabelung, patch-feld planung, firewalls, iptables, ..
- E-Mail Server
- postfix, courier, dovecot, roundcube, clamav, spamassassin, pop3, imap, smtp, webinterface, ..
- Virtualisierung
- mit XEN, KVM, VMWare und Hyper-V
- Cloud-Computing
- mit Amazon
aber auch (zuletzt 2010) installiert und eingerichtet habe ich:
- Microsoft Server 2008 R2
- Exchange 2010 incl. OWA
- Hyper-V 2008
- Symantec Backup Exec 2010
- Trend Micro Antivirus
Projektverwaltung & Kommunikation
Für die Source-Code Verwaltung, Koordination von Aufgaben und zur Besprechung mit Team-Kollegen verwende ich meist:
- Textdateien und OpenDocument Dateien
- Skype
- MediaWiki und Bugzilla oder Trac
- GIT, SVN oder CVS
- Google Docs zum gemeinsamen bearbeiten von Dokumenten
- Visio für Diagramme und Visualisierungen von komplexen Zusammenhängen
Eigenverantwortlich und Selbständig
- Ich arbeite seit 1999 als selbständiger Computerfuzzy und seit 2008 als diplomierter Informatiker.
- Für alle meine Projekte fühle ich mich persönlich verantwortlich und arbeite wenn nötig auch zu entsprechend nächtlichen Uhrzeiten (manchmal notwendig für administrative Arbeiten auf Produktions-Servern).
- Ich arbeite von meinem Arbeitsplatz zu Hause aus. Meistens bin ich wohnhaft in Deutschland, aber auch 8 Monate Holland (2005) und 14 Monate Spanien (2008/2009) waren schon dabei.
- Meine tägliche Arbeitszeit und Fortbildung organisiere ich in Eigenregie und nach Absprache mit Kollegen je nach aktuellem Bedarf eines Projektes.
- Für von mir betreute Webseiten und Server bin ich im Notfall 24/7/365 erreichbar und kann auch jederzeit via UMTS-Handy und SSH kurzfristig reagieren.
- Durch mein sehr breit gefächertes Wissen und die Erfahrung rund um den gesamten Web-Stack behalte ich auch in großen Projekten immer den Gesamtüberblick. Vermutlich hierdurch wird mir in kleinen Teams oft automatisch die Rolle des Koordinators und Beraters zugesprochen.
- Meine häufigste Antwort bei Besprechungen ist: "Kein Problem, wird gemacht. Dauert ca. xy Stunden. Ich melde mich sobald es fertig ist."
- Ich bin stehts bemüht und interessiert aktuelle Trends und sinnvolle Software-Entwicklungsmethoden / Werkzeuge / Techniken / Tools kennenzulernen, auszuprobieren und zu verstehen.
Ausbildung & Weiterbildung
Akademische Abschlüsse
- Diplom Informatik, TU-Berlin
- Bachelor of Science Software Engineering, Hasso-Plattner-Institut Potsdam
Veröffentlichungen
- 2011: Datenschutz und Usertracking - eine technische Analyse
- 2009: Datenschutz für Online-Shops auch ohne Sicherheitsupdates
Meine Anfänge in den 90ern
- Im Alter von 16 Jahren habe ich meinen ersten Compiler gekauft und Programmieren gelernt (Borland C++ 4.0, OWL & Windows API).
- Mit 17 Jahren durfte ich die Computer meiner Schule (Nellenburg Gymnasium Stockach) administrieren.
- Mit 18 Jahren habe ich meine erste Datenbankanwendung (Auftrags- & Kundenverwaltung) programmiert. Die Software ist noch heute (2011) im Einsatz und wurde von mir immer wieder aktualisiert (z.B. Umstellung DM -> EUR, Umstellung 16% -> 19% MwSt.).
Regelmäßige Besuche von Fachkonferenzen
Um ab und zu auf neue Ideen und Technologien hingewiesen zu werden finde ich Fachkonferenzen sehr praktisch. Besucht habe ich in den letzten beiden Jahren:
- Linux Tag Berlin 2011 (nur zu 2 ausgewählten Veranstaltungen!)
- FOSDEM in Brüssel Februar 2011
- Corey Haines Code Retreat Workshop 2010 in Amsterdam
- Ruby and Rails European Conference 2010 in Amsterdam
- Linux Tag 2010 in Berlin
- Free and Open Source Software Developers European Meeting 2010 in Brüssel
- Linux Tag 2009 in Berlin
- Free and Open Source Software Developers European Meeting 2009 in Brüssel
Fortwährende autodidaktische Weiterbildung durch Fachliteratur
2011 las ich oder lese derzeit:
- Web
- Developing Large Web Applications, Web 2.0 Architectures, JavaScript The Good Parts, jQuery Cookbook
- Database
- High Performance MySQL Second Edition
- Cloud
- Cloud Application Architectures
- UI
- Designing Interfaces Second Edition
- Microsoft
- Active Directory 4th Edition
2010 las ich:
- Rails
- Advanced Rails, Enterprise Rails, Rails Cookbook, Ruby Best Practices, Ruby Programming Language
- Software Development
- Art of Agile Development, Beautiful Architecture
- UI
- Designing Web Interfaces, Effective UI
- Administration
- Book of Xen, Network Warrior, und VMware Cookbook
- Web
- Even Faster Web Sites, HTML and CSS The Good Parts
- Microsoft
- Microsoft Exchange Server 2010 Inside Out, Windows Server 2008 Hyper V Resource Kit, Windows Server 2008 Inside Out, Windows Server 2008 Terminal Services Resource Kit
2009, noch vor der Zeit der E-Books und Rails, las ich verschiedene Bücher zu Design-Patterns, PHP, jQuery und Smarty.
Als hoch interessant und als zeitlos wertvoll kann ich die Büchern von Martin Fowler, Kent Beck und Eric Evans empfehlen.
Es folgt eine Liste meiner Projekte aus dem Studium
- Diplomarbeit: Ein Strukturmodell für die vertikale Gliederung datenorientierter Anwendungen (DE)
- 04-DEZ-2007: Download: diplomarbeit_jan-kechel.pdf (1.5MB)
- Paper: Architektur Distributions-Management am Beispiel Debian (DE)
- 17-OCT-2006: Eine Architekturanalyse des Debian Distributionsmanagements: distributionsmanagement_kechel_klink.pdf (226k) / .ps (669k)
- Kleines Software-Tool: apt-findremovable (EN)
- 03-OCT-2006: Simple tool to find out which packages might be installed only because of a specified one on a Debian GNU/Linux system. (I learned later that this is obsolete, try 'debfoster' or 'aptitude' instead :) http://developer.berlios.de/projects/apt-findremovab/
- Kleines Software-Tool: Morse - learn morse code while browsing the net (EN)
- 16-APR-2006: This extension plays random letters using your soundcard, while trying to display the appropriate latin letter as background of you current website.
FireFox Extension http://morse.berlios.de - Kleines Software-Tool: AutoBrowse - the most creative screensaver in the world. (EN)
- 08-APR-2006: Enter any search-word and any search-engine (default is google.de) and AutoBrowse will surf the net for you. Enioy!
FireFox Extension http://autobrowse.berlios.de - Projekt & Software-Tool: TeamFound - share your search results (DE, EN)
- 19-NOV-2005: TeamFound gives a team the capability to share search results without any usage-overhead. The toolbar (firefox and ie) can be used to mark interesting pages and full-text-search those while also showing normal search-engine results for the same keywords. Homepage: http://teamfound.berlios.de (EN) Entwicklung: http://teamfound.berlios.de/teamfound-wiki-snapshot-070508/wiki.jonasheese.de/index.php/Interface-Spezifikation.html (DE)
- Kleines Software-Projekt: MicroOpal (DE)
- 9-NOV-2005: MicroOpal ist ein kleiner MicroOpal-Compiler geschrieben mit Opal http://developer.berlios.de/projects/microopal
- Paper: The plug-in technology of Apache mod_so (DE)
- 3-JUN-2003: Ausarbeitung: plugins+mod_so-ausarbeitung.pdf (350 KB), Folien: plugins+mod_so.pdf (1.2 MB)
- Projekt & Software: Komponentenprogrammierung und Middleware Forum und Quoting (DE)
- 4-JUL-2003: Softwareprojekt mit JBoss middleware/index.html - online ansehen / middleware_ausarbeitung.ps.bz2 (3.6 MB) / .pdf (2.3 MB), vollständig inkl. source: middleware.tar.gz (14 MB)
- Bachelorarbeit: Elektronischer Einkauf im Hochschulbereich (DE)
- 1-OCT-2002: Softwareprojekt mit JBoss bachelorarbeit/index.html - online ansehen, bachelorarbeit.ps.bz2 (1.9 MB) / .pdf (3 MB), vollständig inkl. source: projekth.tar.bz2 (14 MB)
- Vortrag & Paper: Linux Kernel 2.4.x Prozeßadreßräume und Swapping (DE)
- 6-FEB-2002: Einführung in Speichermanagement auf i386ern mit Linux prozessadressraeume_zusammenfassung/index.html - online ansehen, prozessadressraeume_zusammenfassung.ps (0.5 MB)
Aktuelles
Konferenzbeitrag: Unternehmerkonferenz diskutiert Missstände im Patentwesen (DE)
16-NOV-2007
Vortrag über Patenteinsprüche
Pressemitteilung: http://patentfrei.de/download/resources/pm_2007_11_21.pdf
Konferenzbericht mit einer Zusammenfassung der Beiträge: http://patentfrei.de/download/resources/konferenz2007.pdf
Paper: Softwarepatent oder technische Erfindung (DE)
15-JUN-2007
Vorschlag für ein definiertes Prüfungs-Verfahren
Download: softwarepatent-oder-technische-erfindung_jan-kechel_070615.pdf
Wiki: http://wiki.prevalent.de/index.php?title=Softwarepatent_oder_technische_Erfindung
Paper: Patent Quality - How to examine patents qualitatively and effectively (EN)
21-APR-2007
The Strategic Framework of the USPTO 2007 (http://uspto.gov/web/offices/com/strat2007/) states as objective #1:
Provide high quality examination of patent applications.
This work tries to identify quality hindering aspects in patent examination and presents some suggestions for possible improvements.
patent-quality_kechel_070421.pdf (108 KB)
Projekt & Webseite: Public Timestamp (EN)
04-APR-2007
PublicTimestamp offers the free service to timestamp any publicly available digital document.
http://publictimestamp.org
Konferenzbeitrag & Paper: Tagging Workshop (EN)
14-SEP-2006
Zwei Tage lang diskutierten wir über technische Verbesserungsmöglichkeiten in der Patentrecherche.
- OSSTag presentation (http://osapa.org/wiki/images/Osstag.pdf) und die Demo: http://prevalent-digest.de/osstag/current/
- Software placed into USPTO categories (http://osapa.org/wiki/index.php/Publication_Categorization)
http://www.linuxfoundation.org/en/Osapa:Tagging_Workshop_2006_Sep
Aktion & Webseite: Help Red Hat (EN)
30-JUN-2006
This page is dedicated to collect any prior art to void the U.S. Patent 6,101,502 and to prevent the same patent in Europe, Canada, Australia and Japan.
http://helpredhat.prevalent.de
Projekt & Webseite: OSSTag (EN)
7-JUN-2006
Software Social Tagging Engine for easy integration into your own website.
http://osstag.sourceforge.net
Projekt, Paper & Webseite: Open Source as Prior Art (EN)
17-JAN-2006
HowTo search for Prior Art in the Internet (http://developer.osdl.org/dev/priorart/wiki/index.php/HowTo_search_for_Prior_Art_in_the_Internet) auch als PS (http://prevalent.de/priorart/howto-search-for-prior-art-in-the-internet-060331.ps und PDF http://prevalent.de/priorart/howto-search-for-prior-art-in-the-internet-060331.pdf)
Example Prior Art search (http://developer.osdl.org/dev/priorart/wiki/index.php/Example_Prior_Art_search) auch als PS (http://prevalent.de/priorart/example-prior-art-search-060331.ps) und PDF (http://prevalent.de/priorart/example-prior-art-search-060331.pdf)
Im Rahmen des Projekts: Open Source as Prior Art (http://osapa.org)
Aktion: Informationelle Selbstbestimmung (DE)
19-DEZ-2005
Auskunftsbegehren nach Bundesdatenschutzgesetz bei verschiedenen Fimren/Institutionen.
Informationelle Selbstbestimmung - Das Resultat (http://blog.prevalent.de/?p=13")
Alle Schreiben online: http://wiki.prevalent.de/index.php?title=ISB
Projekt, Gerichtsverfahren & Webseite: prevalent.de - Softwarepatente (DE, EN)
13-APR-2005
http://prevalent.de (DE) (or in english at http://prevalent.de?lang=en)
- Patentrecherche - http://prevalent.de/index.pl?lang=de&site=1
Diese Rubrik ermöglicht eine Suche nach deutschen und europäischen Patenten und Patent-Anmeldungen. Es können auch eigene Listen interessanter Patente zusammengestellt sowie Bewertungen und Quellenangaben zu Patenten abgegeben werden. - Stand der Technik - http://prevalent.de/index.pl?lang=de&site=2
Der Nachweis, ob eine Erfindung schon vor der Anmeldung eines entsprechenden Patents im Internet existierte, ist meist schwierig. Prevalent bietet den kostenlosen Service öffentliche elektronische Daten in ihrer Existenz zu einem bestimmten Datum durch einen gesetzlich gültigen Zeitstempel nachzuweisen. - Einsprüche - http://prevalent.de/index.pl?lang=de&site=4
Hier können gemeinsam Einsprüche gegen aktuelle Patente formuliert werden.
Source: http://prevalent.sourceforge.net
Alle News zu den Gerichtsverfahren gibts hier: http://blog.prevalent.de