Tips

Running Playframework! on Raspberry Pi

Recently I wanted to see if it’s possible to run applications written in Scala and Playframework! on my Raspberry Pi 1. Java installation My Raspi was installed from raspbian image which had java already installed, if you need to install it yourself you can either do that manually (remember to choose ARM package) or use automated script like, OAB-Java ( https://github.com/flexiondotorg/oab-java6 ) 2. Build application locally This step doesn’t differ on raspi, the command is the same

Mosh: when your ssh connection breaks frequently

Mosh is a ssh-like tool that is really a drop-in replacement for a lot of SSH problems. It works: when you switch networks: connecting or disconnecting from VPN, using mobile networks when your connection frequently breaks / halts without unknown reason when you have to login to servers on the other side of the world etc…. All of this is achieved thanks to using UDP instead of TCP.

Linux: remove files created before or after date

Very useful command if you want to remove files from current directory created between certain dates, in this case files will be older than 3 days and newer than 35 days, we also filter out only files with “-type f parameter” find . -mtime +3 -mtime -35 -type f | grep -v ‘/.’ | xargs rm ```` If you only want to list those files without removing them use this: find .

Max Java String Length

I was wondering about what would be the maximum String length in Java, and the funny thing is that Java’s Strings are Arrays that are indexed by int. So the maximum String length is 2^31 - 1 And this is true for any Java Array: http://stackoverflow.com/questions/1179983/how-many-characters-can-a-java-string-have http://stackoverflow.com/questions/816142/strings-maximum-length-in-java-calling-length-method http://stackoverflow.com/questions/3038392/do-java-arrays-have-a-maximum-size

What is kjournald and why it's using 99% of IO? What about noatime?

I have noticed this process in iotop using a lot of CPU/IO time and I started to wonder what is it doing. It turns out this is a journaling process of ext3 partitions: http://serverfault.com/questions/236836/kjournald-reasons-for-high-usage Very often it’s related to not using noatime mount option. Generally this mount attribute is used to lower the IO load, but it prevents kernel from setting last access time to a file (which is rarely needed):

My .screenrc Configuration

This is my .screenrc file that I always use and copy it everywhere I login. autodetach on shell -${SHELL} defscrollback 2024 startup_message off hardstatus on vbell off hardstatus alwayslastline hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]'

Fixing MySQL replication that is stuck

If your MySQL replication is stuck for example on CREATE / ALTER TABLE ... (or few others) because for example for the tables that already exist on the slave, there’s quick fix that can be applied on MySQL slave: SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE; This will force slave to skip one command (that is causing it to stop) and then replication is started back again. Depending on the root cause of the problem of stopped replication there are other solutions – but this works in the case described above.

Attaching to BOINC project from Linux console

So my AWS EC2 free instance is running, for now I’ll use it as a Boinc maching, what is boinc? This is the summary from wikipedia: The Berkeley Open Infrastructure for Network Computing (BOINC) is an open sourcemiddleware system for volunteer and grid computing. It was originally developed to support the [email protected] project before it became useful as a platform for other distributed applications in areas as diverse as mathematics, medicine, molecular biology, climatology, and astrophysics.