Our Meeho!™ Blog brings you general news, tech stuff, tips, inspiration and more in relation to the Meeho!™ platform.

Sign up now for free!

» We’re more excited than ever before!

Posted by Kasper Tidemann on 6/27 2010 at 1:53 AM

Soon Meeho!™ version 2.0 will be released along with our iPhone App. We’re talking a complete redesign of the software plus additional new features for you.

In 3-4 weeks, magic will happen. Look forward!

» New location + Meeho!™ version 2.0 is on the way

Posted by Kasper Tidemann on 6/9 2010 at 8:42 PM

We’ve recently moved to a new location, a place called SCION in Lyngby, just outside of Copenhagen in Denmark. Our new offices offer all we need to successfully develop Meeho!™ version 2.0, coming in July along with the Meeho!™ App for iPhone. Additionally, our web sites will be updated completely with a fresh, new design also used in the Meeho!™ software itself.

Thanks for all your support – we can’t wait to launch the new platform!

Picture of SCION, the place where our new offices are located.

Picture of SCION, the place where our new offices are located.

» Adjusting Apache Tomcat 6.x JVM memory footprint

Posted by Anders Østergaard Jensen on 5/5 2010 at 12:26 PM
We have previously covered how to properly adjust the JVM memory  size in the JBoss Application Server. For Apache Tomcat, the widely used Java EE web and application container, this requires a slightly different configuration. The configuration below applies to UNIX compatible systems only, but Windows should be very similar.
1. Open the bin/ directory of your Tomcat installation folder and create a new file called setenv.sh.
2. Edit the file and add the following two lines:
#!/bin/sh
export JAVA_OPTS=”-server -Xmx1024m”
The above line runs the JVM in a server configuration and sets the maximum memory usage to 1024 MB. Likewise for 512 MB it would be -Xmx512m.
3. Close your editor and make the file executable:
chmod +x setenv.sh
4. Finally, run setenv.sh every time before you run startup.sh from <tomcat-dir>/bin/. This will adjust the maximum memory footprint used by the JVM for Tomcat accordingly.
Remember that you can also add in other JVM options into this script as well.

We have previously covered how to properly adjust the JVM memory  size in the JBoss Application Server. For Apache Tomcat, the widely used Java EE web and application container, this requires a slightly different configuration. The configuration below applies to UNIX compatible systems only, but Windows should be very similar.

1. Open the bin/ directory of your Tomcat installation folder and create a new file called setenv.sh.

2. Edit the file and add the following two lines:

#!/bin/sh
export JAVA_OPTS="-server -Xmx1024m"

The above line runs the JVM in a server configuration and sets the maximum memory usage to 1024 MB. Likewise for 512 MB it would be -Xmx512m.

3. Close your editor and make the file executable:

chmod +x setenv.sh

4. Finally, run setenv.sh every time before you run startup.sh from <tomcat-dir>/bin/. This will adjust the maximum memory footprint used by the JVM for Tomcat accordingly.

Remember that you can also add in other JVM options into this script as well. Best of luck with your configuration endeavours.

» Unix: master your job control

Posted by Anders Østergaard Jensen on 4/28 2010 at 2:52 PM

I spend a lot of my time in front of my laptop in the terminal. When Terminal.app finally was equipped with tabbed terminals, it suddenly became a lot easier to execute several processes within the same window without reaching out for the mouse. But, drawing on the Unix tradition of Mac OS X, there exists a simpler and faster alternative for switching between applications with the keyboard.

Every basic Unix shell provides a concept called job control which allows for switching back and forth between your applications simultaneously from within a single shell session. This text based multitasking functionality was implemented way back before Microsoft developed the Program Manager for Windows 3.x, and it certainly demonstrates why Unix was invented inherently as a multiuser, multitasking system. Let’s take a quick tour of the basics of job control using my favourite shell zsh (bash might apply as well, but the syntax for C derivatives might be different):

1. Start a zsh session and open a text file with your favourite $EDITOR, e.g. vim:
meeho:[aj] % vim doc1.txt
2. Now vim opens up the file doc1.txt. Now, say you want to briefly look for other files containing a specific pattern without exiting vim or opening a new terminal — what is the trick? Easy as pie: press control-Z, and your current process is put to the background of your shell:
[1]  + 22023 suspended  vim doc1.txt
meeho:[aj] %
[1]  + 22023 suspended  vim doc1.txt
meeho:[aj] %
3. Now you can grep for the relevant content and finally return to your vim session:
meeho:[aj] %  grep -ir ‘important pattern’ *
meeho:[aj] %  fg
4. Now, you are back in vim. ‘fg’ simply means ‘foreground’ and pushes your recently ‘backgrounded’ process of yours into the foreground of the shell session. Now, what if you want to background more than one process in the same shell session? Easy, control-Z out of the shell, open a new vim instance (vim doc2.txt) and background that process with control-Z as well. Now you can list the available jobs with the zsh built-in ‘jobs’ command:
meeho:[aj] % jobs
[1]  - suspended  vim doc1.txt
[2]  + suspended  vim doc2.txt
5. Finally, you can now swap back and forth between the applications using %<ID> (ID being the number in the squared brackets, e.g. %1 for ‘vim doc1.txt’ and %2 for ‘vim doc2.txt’):
meeho:[aj] % %1
The syntax for job control varies a bit from shell to shell, but the concept is basically the same. It is particularly useful if you are working on a remote machine through a slow network SSH connection, or if you simply have no graphical environment (e.g. X11) available.
There are, however, alternatives to the simple, but elegant Unix job control: GNU Screen is one of them. In terms of multitasking it is much more powerful, since it allows you to shuffle back and forth between several terminal sessions (thus, Screen is described as a terminal multiplexer rather than a single shell process). Some people even describe it as a window manager for the console, and it is truly powerful. But for now, I will save that walkthrough for next time.

1. Start a zsh session and open a text file with your favourite $EDITOR, e.g. vim (or the standard editor, ed):

meeho:[aj] % vim doc1.txt

2. Now vim opens up the file doc1.txt. Now, say you want to briefly look for other files containing a specific pattern without exiting vim or opening a new terminal — what is the trick? Easy as pie: press control-Z, and your current process is suspended to the background of your shell (process suspension also implies that the process execution is paused):

[1]  + 22023 suspended  vim doc1.txt
meeho:[aj] %

3. Now you can grep for the relevant content and finally return to your vim session:

meeho:[aj] %  grep -ir 'important pattern' *
meeho:[aj] %  fg

4. Now, you are back in vim. ‘fg’ simply means ‘foreground’ and pushes your recently ‘backgrounded’ process of yours into the foreground of the shell session. Now, what if you want to background more than one process in the same shell session? Easy, control-Z out of the shell, open a new vim instance (vim doc2.txt) and background that process with control-Z as well. Now you can list the available jobs with the zsh built-in ‘jobs’ command:

meeho:[aj] % jobs
[1]  - suspended  vim doc1.txt
[2]  + suspended  vim doc2.txt

5. Finally, you can now swap back and forth between the applications using %<ID> (ID being the number in the squared brackets, e.g. %1 for ‘vim doc1.txt’ and %2 for ‘vim doc2.txt’):

meeho:[aj] % %1

The syntax for job control varies a bit from shell to shell, but the concept is basically the same. It is particularly useful if you are working on a remote machine through a slow network SSH connection, or if you simply have no graphical environment (e.g. X11) available.

There are, however, alternatives to the simple, but elegant Unix job control: GNU Screen is one of them. In terms of multitasking it is much more powerful, since it allows you to shuffle back and forth between several terminal sessions (thus, Screen is described as a terminal multiplexer rather than a single shell process). Some people even describe it as a window manager for the console, and it is truly powerful. But for now, I will save that walkthrough for next time.