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-----
