About

Hello and welcome,

nice that you stopped by. This is my webpage, a playground for some experiments and so on...

I am interested in topics concerning computer science (algorithms, data structures), math and eventually other things.

One of my big hobbies (probably my biggest) is programming and related stuff. I like learning/trying out different programming languages.

Python is getting more and more my weapon of choice if I just want to hack something. But i also like C(++) and sometimes Java. I have written some small experiments in Erlang and Ruby, two nice languages. I also did some experiments using PHP and Javascript (you see them here).

Until the beginning of 2010, I was really a windows guy (not a fan, but I used and programmed for it very much), but I switched to Ubuntu and I'm quite happy with it.'

Together with this switch, i went away from Visual Studio to Eclipse. My favourite editor is the great Emacs, allthough I'm using vim from time to time.

I enjoy listening to music very much. I like especially (contemporary) jazz and music that is new (at least new to me).

Email:

contact[at]phimuemue[dot]com

(Note: remplace [at] by @ and [dot] by .)

GPG stuff

GPG-Fingerprint: BA1F 4F5D 5783 66D1 A3BC 0423 2C36 0FC7 C60D 0D83

		
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (MingW32)

mQGiBEoQdH0RBAC5zn+QV52kttU/pfieHTZMjbe5zQ9K1O00X81S7t8trUXoCaR0
DKrckJLq7hLEeYptpBU7ReC9U4kIELZ6D/Jcksuvqfca+lkeax9fAmPCxy8Avs2Y
AF2nALQhRuFgH7rdg+zBBmy/2ZMoFbA8OhePzccdZwSo6Ct6Ea8WDpcN6wCg3i+U
D7rOUyUGuEvUySyAv3klSY8D/R/T4j3Gz1c+xbEpvdCP7cKQGP42ld87ZfqYOKY3
9jzLZy1smZzNFCxA1/itla+XW6szCFO+58MugTMCzyhp5h4oRF/sSbt0c9B6CEI2
QVT+jgEQMjMgG1kOgtAwonvsveYCl3axbb3ybhI98AnPqmSN9DmAlTRyZyIXCCpi
RZynA/95IOFaJJsll+0ywOK4enZd+sdLPuR+I7tKaw26k5PxiXPECGossoY9hU/C
SHHw/fv0ln2C8lkNF0mpkPJAkgKVGaaoGh/sYZQiR2rXrxY6i28zBf0a4AnPyLoq
oGazlxe6En7ZXYipNriTHZfxHWToyqTHGerpDoizgbZo/GJK7LQhUGhpbGlwcCBN
w7xsbGVyIDxkZXNjcGxAeWFob28uZGU+iGAEExECACAFAkoQdH0CGwMGCwkIBwMC
BBUCCAMEFgIDAQIeAQIXgAAKCRAsNg/Hxg0Ng3mRAJ96FNfEhzRGYVnZFrEw0hvz
RTbk4wCbBREwnAcbH8a5DtOgEWH7GxAkIh+5Ag0EShB0fRAIAKn3CRFKAuhp82Gf
8vv9GxSmA6oDK/CC5FKtYoKJ1QszivOA7iLMIc91ne6QF4z56xrnqswMG3OSnebP
5kiL5yZF0FujRDsWNDSs+aKcz03RJCZ7nSt5e7QBRCEnnhHdUhK0PlfruTHbPIl5
fx2ibMtckYA2wHDxJh7uWS0MPhasVu1HzMCKHxkw3yQn9gqQIsxGLn0EdfZR0fMc
stDDoMmpavWKyEOPn7lpPpje/7Cz4ioVw198QTj439zTVzqx/WT3AsX3Pj3kb1PA
yszqjSMNNGYqslH4FT3ZXg27lz0vteX0oRVrOXPWh1S5GOTkKdqKmeouq9vX3qJn
X727E1cAAwUIAIwxDaJLCIUNyM4/lYZpy5sUTTBKbAFz5XtJChTwUiZWYJrzIFhp
AgMdEJY3m9uMwE8VFqA3mkbkc0NJWG2mOlcbRXrDarVsBzEL9n4PI1djGtru40Vj
Ufci1QMxISGtl3qBj8JRHI2IFxlPvBTHeWuydTicmsfUa4g2o9qZzT9uC44FrJoM
UZT+tcp738DdOgrSvNGLLN3ovCO9bKafgRXZR0v4qQcRmyZnl087GA0SLtu9cgcG
2aR6CSI3NUuekUvHl4g3vpk+MYLIrOaCPwpjCYZyYmr18+Tja+x4L1WAoQiejePM
Q2wu7P9xWTLPKNx8cEXrPSvpYX0npSQIbzuISQQYEQIACQUCShB0fQIbDAAKCRAs
Ng/Hxg0Ng8PbAJ4nVgEtbPmhdu20vZ+U+dLuah857gCfVFut3k6VXOmbKU6GpP4i
hMcntgo=
=G3mr
-----END PGP PUBLIC KEY BLOCK-----
					

My .emacs (for all those who want to share my genius emacs configuration)

;;recentf
(require 'recentf)
(recentf-mode 1)
(setq recentf-max-saved-items 500)
(setq recentf-max-menu-items 60)
(global-set-key [(meta f12)] 'recentf-open-files)

; window size
(if (window-system)
    (set-frame-height (selected-frame) 54))
(if (window-system)
    (set-frame-width (selected-frame) 110))

; "default" directory for custom .el files
(load "~/elisp/autoloads" 'install)
(add-to-list 'load-path "~/elisp")

; parentheses highlightning
(add-to-list 'load-path "~/elisp/highlight-parentheses.el")
(require 'highlight-parentheses)
(defun turn-on-highlight-parentheses-mode ()
  (highlight-parentheses-mode t))
(define-global-minor-mode global-highlight-parentheses-mode
  highlight-parentheses-mode
  turn-on-highlight-parentheses-mode)
(global-highlight-parentheses-mode)

; Haskell stuff
(require 'inf-haskell)

; cscope for c(++) programming (finding symbols, etc.)
(require 'xcscope)

(defun load-c++-stuff ()
  (load-file "/usr/share/emacs/site-lisp/cedet-common/cedet.el")
  (global-ede-mode 1) ; enable project management system
  (semantic-load-enable-code-helpers) ; prototype help+smart completion
  (require 'auto-complete-config)
  (add-to-list 'ac-dictionary-directories "~/elisp/ac-dict")
  (add-to-list 'ac-sources 'ac-source-semantic)
  (ac-config-default)
  )

(load-c++-stuff)

; C stuff
(add-hook 'c-mode-hook
    (lambda ()
      (local-set-key (kbd "C-:") 'semantic-ia-complete-symbol-menu)
      (local-set-key (kbd "C-.") 'ac-complete-semantic)
      (local-set-key (kbd "C-c C-c") 'compile)
      (local-set-key (kbd "C-c C-/") 'comment-region)
      )
    )

; C++ stuff
(add-hook 'c++-mode-hook
    (lambda ()
      (local-set-key (kbd "C-:") 'semantic-ia-complete-symbol-menu)
      (local-set-key (kbd "C-.") 'ac-complete-semantic)
      (local-set-key (kbd "C-c C-c") 'compile)
      (local-set-key (kbd "C-c C-/") 'comment-region)
      )
    )

; loading my own stuff - not much useful here up to now
(load "~/elisp/mymacros.el")

; enabling visible selection
(transient-mark-mode 1)

; disable scroll bar
(toggle-scroll-bar -1)

; add "install" command for easy installing new .el files
(require 'install)

;(require 'bison-mode)

;(require 'make-regexp)

; template stuff
(setq load-path
      (cons (expand-file-name "~/.emacs.d/lisp")
      load-path)
      )
(require 'template)
(template-initialize)

;disable toolbar
(tool-bar-mode -1) 

(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(inhibit-startup-screen t)
 '(safe-local-variable-values (quote ((things-to-highlight . "todo") (things-to-highlight . "\\todo{.*}"))))
 '(truncate-partial-width-windows nil))
(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(default ((t (:inherit nil :stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 100 :width normal :foundry "unknown" :family "DejaVu Sans Mono")))))

(setq-default TeX-master nil) ; Query for master file (AUCTeX).

(add-hook 'LaTeX-mode-hook 'turn-on-reftex)   ; automatically start REFTeX with AUCTeX LaTeX mode
(add-hook 'latex-mode-hook 'turn-on-reftex)   ; automatically start REFTeX with Emacs latex mode
(add-hook 'LaTeX-mode-hook 'TeX-PDF-mode) ; automatically set PDF-Latex

;; autohighlightning stuff not working yet
;; (defun highlight-stuff-after-opening ()
;;   (message "Shall I highlight?")
;;   (message things-to-highlight)
;;   (when (boundp 'things-to-highlight)
;;     (message "Highlightning things")
;;     (highlight-regexp 'things-to-highlight) )
;;   )

;; (add-hook 'LaTeX-mode-hook 'highlight-stuff-after-opening)

(defun highlight-stuff-after-opening ()
  (highlight-regexp "\\todo{.*}" "hi-yellow")
  )

(add-hook 'LaTeX-mode-hook 'highlight-stuff-after-opening)

; --------------------------------------
; simpler bracketing for latex-math-mode
; --------------------------------------
; prototype function for all enclosing things
(defun insert-latex-brackets (opening closing)
  (interactive)
  (insert opening)
  (insert "  ")
  (insert closing)
  (backward-char (+ 1 (length closing )))
  )

(defun check-char-and-insert (char opening closing)
  (interactive)
  (if (equal char (char-to-string (char-before (point))))
      (progn (delete-backward-char 1)
       (insert-latex-brackets opening closing))
    (insert char)
  )
)

; define shortcuts
(add-hook 'reftex-mode-hook
    (lambda ()
      (define-key reftex-mode-map (kbd "(")
        (lambda ()
          (interactive)
          (check-char-and-insert "(" "\\left(" "\\right)")
        )
        )
      (define-key reftex-mode-map (kbd "[")
        (lambda ()
          (interactive)
          (check-char-and-insert "(" "\\left[" "\\right]")
        )
        )
      (define-key reftex-mode-map (kbd "{")
        (lambda ()
          (interactive)
          (check-char-and-insert "(" "\\left\{" "\\right\}")
        )
        )
      (define-key reftex-mode-map (kbd "C-( (")
        (lambda ()
          (interactive)
          (insert-latex-brackets "\\left(" "\\right)")
        )
        )
      (define-key reftex-mode-map (kbd "C-( [")
        (lambda ()
          (interactive)
          (insert-latex-brackets "\\left[" "\\right]")
        )
        )
      (define-key reftex-mode-map (kbd "C-( {")
        (lambda ()
          (interactive)
          (insert-latex-brackets "\\left\\{" "\\right\\}")
        )
        )
      )
    )
					

Hacker key (the must useful invention of all times (almost))

-----BEGIN HACKERKEY BLOCK-----
v4sw6+9CY+AFLln6pr4OFma6+9u5w5l5i8Ce6+7b7e5aN
-----END HACKERKEY BLOCK-----