2009-06-15

Multiple Monitors with Multiple Workspaces

In most window managers (WMs) that allow for multiple workspaces, additional monitors simply increase the size of each workspace. Since January I have been using a window manager that handles multiple monitors very differently, xmonad. Instead of increasing the workspace size to fit onto two monitors, each monitor displays a separate workspace, so the number of visible workspaces is increased.

Paradigm difference between these two WM styles:
  1. Each additional monitor extends the workspace size
    • One large workspace is visible at a time (ex: workspace 1 spans across all monitors)
    • When the workspace changes, both monitors change
    • When removing a monitor, workspaces must shrink in size, bunching windows together

  2. Each additional monitor allows another workspace to be visible
    • Each monitor displays one workspace at a time (ex: monitor 1 currently showing workspace 3 and monitor 2 currently showing workspace 1)
    • When the workspace on one monitor changes the workspace on the other monitor does not need to change
    • When removing a monitor, one less workspace will be displayed

There are many times when I want to be able to keep one monitor static while changing the other monitor. For example I may want a video to stay on one monitor while I work on the other monitor. In most window managers this restricts me to one workspace because changing workspaces would change both monitors. In xmonad, the workspace that contains the video can be placed on one monitor and the visible workspace on the other monitor can changed freely without interfering with the first monitor.

Since using xmonad, I have found "1 workspace per monitor" window management much more productive and comfortable. I wish more window managers would at least make this kind of workspace/monitor handling an option. I have had problems with xmonad recently and I have been trying to switch back to a more popular window manager with free-floating windows like Gnome, KDE, Xfce, or Openbox.

So far my biggest problem with switching to other window managers has been the lack of "1 workspace per monitor" support. Xmonad has greatly increased my productivity with two monitors and it's hard for me to switch away from it for this reason. Hopefully I will find out how to effectively emulate this behavior in other window managers.

Labels: , ,


2009-04-30

Ubuntu Now Boots in 10 Seconds

I upgraded my Thinkpad to Ubuntu 9.04 (Jaunty Jackalope) recently. My laptop has a solid-state drive and I had tweaked the boot process previously so it was down to 15 seconds. I had heard that Jaunty had drastically decrease the boot time, but I figured my computer could not boot much faster than it already had since I had modified the boot process drastically.

I was wrong. The first time I rebooted I was amazed at the speed of the boot. My boot logger recorded the boot as taking 8 seconds. I have rebooted once more since I installed Jaunty and that boot only took 7 seconds.

The main reason the boot time is so fast is due to my solid state drive. That is how I got my boot down to 15 seconds before. However, 7 seconds is a ridiculously fast boot time in my opinion. Especially since it seems like it takes only about 3 seconds until my login manager is loaded and waiting for me.

Labels:


2008-11-30

My computer reads me the time

I just made a shell script to make my computer read the current time. I got the idea from this blog post. This script requires festival to be installed (read the blog post). This script could be useful for common reminders (like class).

#!/bin/bash
# This script is licensed under the GNU GPL version 2 or above
# Copyright 2008 Trey Hunner

# Converts a string of two digits to words according to a use number
# Arguments: (digit string, use number)
# If the use number is 0 then the number is treated normally
# If the use number is 1 then the number is treated as an hour
# If the use number is 2 then the number is treat as a minute
convert_pair()
{
str=""
a=`echo $1 | cut -c 1`
b=`echo $1 | cut -c 2`

case $a in
9) str="ninety" ;;
8) str="eighty" ;;
7) str="seventy" ;;
6) str="sixty" ;;
5) str="fifty" ;;
4) str="forty" ;;
3) str="thirty" ;;
2) str="twenty" ;;
1) case $b in
9) str="nineteen" ;;
8) str="eighteen" ;;
7) str="seventeen" ;;
6) str="sixteen" ;;
5) str="fifteen" ;;
4) str="fourteen" ;;
3) str="thirteen" ;;
2) str="twelve" ;;
1) str="eleven" ;;
0) str="ten" ;;
esac
;;
0) if [ $b -ne 0 -a $2 -eq 2 ]; then
str="oh-"
fi ;;
esac

if [ $a -gt 1 -a $b -ne 0 ] ; then
str="$str-"
fi

if [ $a -ne 1 ]; then
case $b in
9) str=$str"nine" ;;
8) str=$str"eight" ;;
7) str=$str"seven" ;;
6) str=$str"six" ;;
5) str=$str"five" ;;
4) str=$str"four" ;;
3) str=$str"three" ;;
2) str=$str"two" ;;
1) str=$str"one" ;;
0) if [ $a -eq 0 -a $2 -ne 2 ] ; then
str="zero"
fi ;;
esac

fi

echo $str
}

H=`date '+%I'`
M=`date '+%M'`
P=`date '+%p'`

hour=$(convert_pair $H 1)
minute=$(convert_pair $M 2)
echo $hour $minute $P | festival --tts

Labels:


2008-08-20

Tried it out, it's like nothing you've ever seen

Footholds in a sandstone bluff off of the trail. Shallow cave covered in carved artwork and cavities for candles. Faces. Glow from below. Marsh.

Miracle fruit tablets. Lemon/limes = sweet lemon/lime-ade. Cheese = cheese. Blackberries = Sweetberries. Vinegar = vinegar. Vanilla/tomatoes/buttermilk = ?.

Labels: , , ,


2008-03-29

Community Next Conference

I just got back from a Community Next conference at Level 3. I only got 4 hours of sleep because I had to transport myself to LA by 9am to get to this conference. It was well worth it (besides the fact that the free Red Bulls kept me awake). I got to listen to a lot of really innovative people speak and I had a chance to personally talk to people with great ideas who are on the bleeding edge of technology and the Internet.

I chatted with Aza Raskin, founder of Songza and co-founder of Humanized. Aza, a huge proponent of interface simplicity, posed some incredibly unique solutions to unnecessary complexity in various types of web interfaces. Mozilla acquired Humanized recently and Aza told me he works next to Firefox developers and expects to potentially influence some big changes in Firefox's interface.

I also got a chance to talk with Alexis Ohanian, co-founder of Reddit (and drawer of the alien). I asked Alexis what types of problems the Reddit team has been thinking of in order to help users sift through the enormous variety of content of the website. Alexis said they have tried a lot of things but told me to be on the lookout for big changes to Reddit at the beginning of this summer that may combat this problem.

I took a bus back and on the way we passed hundreds of zombies walking down the sidewalk of Sunset Boulevard. Some of them banged on the windows of our bus. They did not eat any of our brains. I also had to be escorted through some gates on the way to my room because hundreds of kids were lined up to see some Nickelodeon screening and the path to my room was blocked off. Today was successful.

Labels: , , , ,


Subscribe to Posts [Atom]