 	     try-expand-line
 	     try-expand-line-all-buffers
 	     try-expand-whole-kill) t))
-    (bind-keys ("<tab>" . hippie-expand)
-	       ;; sometimes tab gets shadowed
-	       ("<M-tab>" . hippie-expand)
+    (bind-keys ("<C-tab>" . hippie-expand)
 	       ("M-/" . crazy-hippie-expand))))
 
 (use-package yasnippet
-  ;; I use <C-tab> for yas and <tab> for hippie-expand
-  ;; cuz I use the later more often
-  ;; defer loading until <C-tab> is calld
+  ;; I use <M-tab> for yas and <C-tab> for hippie-expand
+  ;; <tab> sometimes gets shadowed
+  ;; defer loading until <M-tab> is calld
   :init (setq yas-snippet-dirs '(yas-installed-snippets-dir))
-  :bind ("<C-tab>" . yas-global-mode)
-  :config (diminish 'yas-minor-mode " Y")
-  (unbind-key "<C-tab>" global-map)
-  (bind-key "<C-tab>" 'yas-expand yas-minor-mode-map))
+  :bind ("<M-tab>" . yas-global-mode)
+  :config
+  (diminish 'yas-minor-mode " Y")
+  (unbind-key "<M-tab>" global-map)
+  (bind-key "<M-tab>" 'yas-expand yas-minor-mode-map))
 
 (use-package auto-complete-config
   ;; de/activate ac mode with <S-tab>
-  ;; when ac pops up, use <S-tab> for selection
   ;; defer loading until <S-tab> is called
   ;; :ensure auto-complete
   :bind ("<S-tab>" . global-auto-complete-mode)
-  :config (ac-config-default)
-  (bind-key "<S-tab>" 'ac-next ac-mode-map))
+  :config (ac-config-default))
 
 (use-package rainbow-delimiters
   ;; lightweight and fun, why not
   :config (add-hook 'prog-mode-hook #'rainbow-delimiters-mode-enable))
-
-
 
 ;;;;;;;;;;;;;;;;;;;;;;
 ;; custom functions ;;

(require 'cl)
(defvar *emacs-load-time* (cdr (current-time)))

(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.
 '(ansi-color-names-vector
   ["#2d3743" "#ff4242" "#74af68" "#dbdb95" "#34cae2" "#008b8b" "#00ede1" "#e1e1e0"])
 '(auto-save-default nil)
 '(backup-directory-alist (quote (("." . "~/.emacs.d/backups"))))
 '(blink-cursor-mode nil)
 '(column-number-mode t)
 '(create-lockfiles nil)
 '(custom-enabled-themes (quote (misterioso)))
 '(custom-safe-themes
   (quote
    ("f641bdb1b534a06baa5e05ffdb5039fb265fde2764fbfd9a90b0d23b75f3936b" default)))
 '(default-frame-alist (quote ((width . 150) (height . 45))))
 '(electric-indent-mode nil)
 '(inhibit-startup-screen t)
 '(initial-frame-alist (quote ((top . 0) (left . 0) (width . 140) (height . 45))))
 '(package-enable-at-startup nil)
 '(save-interprogram-paste-before-kill t)
 '(scroll-bar-mode nil)
 '(sp-highlight-pair-overlay nil)
 '(split-height-threshold 60)
 '(split-width-threshold 90)
 '(tool-bar-mode nil)
 '(x-select-enable-clipboard t))

(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 "#181A26" :foreground "gray" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 140 :width normal :foundry "nil" :family "Menlo"))))
 '(cursor ((t (:background "goldenrod"))))
 '(region ((t (:background "pale goldenrod" :foreground "black" :weight black))))
 '(sp-show-pair-match-face ((t (:background "pale goldenrod" :foreground "black" :weight black))))
 '(sp-show-pair-mismatch-face ((t (:background "#AA381E" :foreground "black" :weight black)))))

;;;;;;;;;;;;;;;;;;;;
;; customizations ;;
;;;;;;;;;;;;;;;;;;;;

(setq-default
 frame-title-format "%b (%f)" ;; full path in title bar
 cursor-type '(bar . 3) ;; I don't like my cursor fat
 cursor-in-non-selected-windows 'hollow)

(setq ring-bell-function 'ignore) ;; no bell

(windmove-default-keybindings 'meta) ;; keys for switching windows

;;;;;;;;;;;;;;
;; packages ;;




(destructuring-bind (HIGH LOW USEC PSEC) (current-time)
  (setq *emacs-load-time*
	(+ (- LOW (car *emacs-load-time*))
