Monday, April 21, 2014

Business to Buttons


Videos och presentationer från den UX-konferensen Business to Buttons i Stockholm den 4 april finns publicerade på http://frombusinesstobuttons.com

"From Business to Buttons is the meeting place in Scandinavia for everyone who wants hands-on advice on how to generate business value by creating great user experiences."

Sunday, April 13, 2014

From Windows to Mac Part 1

or... How to be happy as a (java/scala) developer on your new fresh  Mac

Parts (one, two, three)

Although I have been using Apple Macintosh since 1994 (and NEXT) I have been mainly using Windows for developing and Mac for some home development and entertainment systems.

This is the tools I have started to use during my first months.

Terminal 

The most important thing first - the terminal. For a terminal I use ITerm 2, a terminal replacement that has some great features. Most importently a good fullscreen mode with tmux like split-panes  Split panes is a great thing when you are compiling/checking logs in different windows at the same time. This is great for development and operations work. 


Usually I have a full screen with three or so panes so I can se build status, logs at the same time.


ITerm shortcuts from Cheatsheet

It is also simple to move focus between the windows with the keyboard or mouse. I show some of these commands in the video below, for example:  Shift-⌘-Enter⏎. enlarges the current windows to maxsize,   

Fonts

The fonts I mainly use (for coding and console applications) are:

Keyboard setup

To modify the default keyboard you can use Ukelele. Ukelele is a Unicode Keyboard Layout Editor for Mac OS X versions 10.2 and later.

I have a Swedish keyboard and I hava remapped some of the keys and removed the dead-key sequences for ^ and ~. I started with this keymap from Martin Wernestål  and I have remapped the caps-lock key as per A useful Caps Lock key

Mouse acceleration

Standard mouse acceleration on OS X is not great, SmoothMouse for OS X solves that problem. 

The Package manager

I use Homebrew and Appstore as package managers

Note that Homebrew Cask extends Homebrew and brings its elegance, simplicity, and speed to OS X applications and large binaries alike.

Installed brews 

These are my installed brews, I wont go into detail about them but have a look at the bold linked ones, you should have a look at if you don't know about hem already. Install with:
$ brew install <brew>

The following is a gist with my current "brews"



% brew list | while read cask; do echo -n "$cask"; awk '{printf("brew install %s\n ", $0)}'; echo ""; done
% brew list | while read cask; do echo -n $fg[blue] $cask $fg[white]; brew deps $cask | awk '{printf(" %s ", $0)}'; echo ";done
brew install apache-spark
brew install argtable
brew install arpack
brew install autoconf
brew install autojump
brew install automake
brew install awscli
brew install bash-completion
brew install boost
brew install c-ares
brew install cairo
brew install cask
brew install checkstyle
brew install cloc
brew install cmake
brew install coreutils
brew install cpp-ethereum
brew install cryptopp
brew install cscope
brew install curl
brew install d-bus
brew install dbus
brew install dnsrend
brew install dos2unix
brew install emacs
brew install epstool
brew install ethereum
brew install faac
brew install fail2ban
brew install ffmpeg
brew install fftw
brew install fltk
brew install fontconfig
brew install freetype
brew install gawk
brew install gcc
brew install gd
brew install gdbm
brew install geoip
brew install gettext
brew install ghostscript
brew install gist
brew install git-lfs
brew install git-open
brew install gl2ps
brew install glib
brew install glpk
brew install gmp
brew install gnuplot
brew install gnutls
brew install go
brew install gradle
brew install graphicsmagick
brew install graphviz
brew install grc
brew install gsl
brew install gx
brew install gx-go
brew install hdf5
brew install htop-osx
brew install hub
brew install hunspell
brew install icu4c
brew install imagemagick
brew install influxdb
brew install ipfs
brew install isl
brew install jboss-as
brew install jp2a
brew install jpeg
brew install jq
brew install jsoncpp
brew install kafka
brew install keybase
brew install lame
brew install leveldb
brew install libevent
brew install libextractor
brew install libffi
brew install libgcrypt
brew install libgpg-error
brew install libjson-rpc-cpp
brew install libmicrohttpd
brew install libmpc
brew install libpng
brew install libscrypt
brew install libssh2
brew install libtasn1
brew install libtiff
brew install libtool
brew install libunistring
brew install libvo-aacenc
brew install libxml2
brew install libyaml
brew install little-cms2
brew install llvm37
brew install llvm38
brew install logstash
brew install lrzsz
brew install lua
brew install luajit
brew install lzlib
brew install macvim
brew install maven
brew install metis
brew install miniupnpc
brew install mpfr
brew install nethogs
brew install nettle
brew install nifi
brew install node
brew install noti
brew install octave
brew install oniguruma
brew install openssl
brew install p7zip
brew install pcre
brew install php70
brew install pigz
brew install pixman
brew install pkg-config
brew install plotutils
brew install pstoedit
brew install pyenv
brew install pyenv-virtualenv
brew install pyqt
brew install python
brew install qhull
brew install qrupdate
brew install qscintilla2
brew install qt
brew install r
brew install readline
brew install redis
brew install ruby
brew install sbt
brew install scala
brew install scalariform
brew install sip
brew install snappy
brew install spaceman-diff
brew install spark
brew install sqlite
brew install suite-sparse
brew install suite-sparse421
brew install swiftlint
brew install sysdig
brew install szip
brew install tbb
brew install the_silver_searcher
brew install tig
brew install tmux
brew install transfig
brew install unar
brew install unixodbc
brew install veclibfort
brew install webp
brew install wget
brew install wireshark
brew install x264
brew install xvid
brew install xz
brew install youtube-dl
brew install zookeeper
view raw brews hosted with ❤ by GitHub

The Shell

I use Zsh with oh-my-zsh installed. I do not have so many specific settings but the below are the ones I have in my zshrc: 


ZSH_THEME="bureau"
plugins=(git brew tmux scala sbt github gradle mvn screen vi-mode java )
 #Jdk versions
alias setjdk16='export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)'
alias setjdk17='export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)'
alias setjdk18='export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)'
setjdk17
# http://superuser.com/questions/417627/oh-my-zsh-history-completion
bindkey '\e[A' history-beginning-search-backward
bindkey '\e[B' history-beginning-search-forward