Showing posts with label Computers. Show all posts
Showing posts with label Computers. Show all posts

Monday, July 1, 2013

Installing Minecraft 1.6 on Ubuntu

I had previously blogged about Installing Minecraft on Ubuntu. As of Minecraft version 1.6 these instructions no longer work because of a newly introduced launcher. The following is updates instructions for version of Minecraft 1.6 and above.

First we need to install Java. The website claims it needs Oracle Java, but the open source Java in the Ubuntu repos works just fine in my experience.
sudo apt-get install openjdk-7-jre
Now we need the launcher
sudo wget https://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar -O /usr/games/Minecraft.jar
sudo chown root:games /usr/games/Minecraft.jar
sudo chmod 755 /usr/games/Minecraft.jar
Change the vi part in the next section to gedit if you want a graphical text editor.
sudo vi /usr/games/minecraft
The file contents should be as follows.
#!/bin/bash
java -jar /usr/games/Minecraft.jar
And then set the proper permissions on the file
sudo chown root:games /usr/games/minecraft
sudo chmod 755 /usr/games/minecraft
Again, change vi with something else if that is easier for you.
sudo vi /usr/share/applications/minecraft.desktop
And put this in the file.
[Desktop Entry]
Name=Minecraft
Comment=Build your own world
Exec=minecraft
Icon=minecraft
Terminal=false
Type=Application
Categories=GNOME;Applications;Game
Keywords=minecraft;Game
StartupNotify=true
The last piece we need is an icon. There are many good Minecraft icons at http://www.rw-designer.com/icon-detail/5547 I like http://www.rw-designer.com/icon-image/5547-256x256x32.png as it gives us the highest resolution available. Replace the URL of the icon you prefer to use in the following command.
sudo wget http://www.rw-designer.com/icon-image/5547-256x256x32.png -O /usr/share/pixmaps/minecraft.png
Now you should be able to play Minecraft by simply typing minecraft in the command-line, in the Unity dash, the KDE prompt, or by browsing to the games menu in the applications menu in your desktop environment of choice. It is also available to all users of your desktop.

You also do not need to do anything to update. Minecraft updates itself each time you start it.

BONUS

I've got one more neat trick up my sleeve. If a CraftBuntu spin sounds good to you, here's how you can setup Ubuntu to just run Minecraft when you sign in. It assumes you have already done the above.
sudo cp /usr/share/applications/minecraft.desktop /usr/share/xsessions/
Now Minecraft is an available option when you select your desktop environment. This works best if you set Fullscreen in the Minecraft options.

You could do a number of things with this setup. You could setup a minimal Ubuntu installation that has no desktop environment, or other desktop-related software installed. You could also allow guests to play Minecraft without touching any of your stuff by them selecting the Ubuntu guest account and setting Minecraft for the login. I have even found that on my struggling laptop this setup allows Minecraft to run more smoothly as there is no other desktop cruft running in the background.


UPGRADING FROM 1.5

If you had already followed my instructions back in the days before 1.6, the following will get you updated to 1.6
sudo rm /usr/games/minecraft.jar
sudo wget 
https://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar -O /usr/games/Minecraft.jar
sudo chown root:games /usr/games/Minecraft.jar
sudo chmod 755 /usr/games/Minecraft.jar
Change the vi part in the next section to gedit if you want a graphical text editor.
sudo vi /usr/games/minecraft

The file contents should be as follows.

#!/bin/bash
java -jar /usr/games/Minecraft.jar

Thursday, January 17, 2013

Installing Minecraft on Ubuntu

UPDATE: As of Minecraft 1.6 these instructions no longer work. I have posted updated instructions at Installing Minecraft 1.6 on Ubuntu.

This post is for anyone who wants to install Minecraft on Ubuntu and have it feel like any other game installed via the Ubuntu Software Center. It assumes you have already purchased Minecraft and provides full Unity integration, though Unity is not needed for this to work. In fact, I suspect it should work for any Linux distribution that has a desktop environment.

We are going to do this via the command-line because copy-and-pasting commands from this tutorial is easier and more fool-proof than following a long list of screen shots. It's also easier for me to write it that way as there are fewer steps.

First we need to install Java. The website claims it needs Sun Java, but the open source Java in the Ubuntu repos works just fine in my experience.
sudo apt-get install openjdk-7-jre
Now we need the actual game
sudo wget https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft.jar -o /usr/games/minecraft.jar
sudo chown root:games /usr/games/minecraft.jar
sudo chmod 755 /usr/games/minecraft.jar
Change the vi part in the next section to gedit if you want a graphical text editor.
sudo vi /usr/games/minecraft
The file contents should be as follows.
java -Xmx1024M -Xms512M -cp /usr/games/minecraft.jar net.minecraft.LauncherFrame
And then set the proper permissions on the file
sudo chown root:games /usr/games/minecraft
sudo chmod 755 minecraft
Again, change vi with something else if that is easier for you.
sudo vi /usr/share/applications/minecraft.desktop
And put this in the file.
[Desktop Entry]
Name=Minecraft
Comment=Build your own world
Exec=minecraft
Icon=minecraft
Terminal=false
Type=Application
Categories=GNOME;Applications;Game
Keywords=minecraft;Game
StartupNotify=true
The last piece we need is an icon. There are many good Minecraft icons at http://www.rw-designer.com/icon-detail/5547 I like http://www.rw-designer.com/icon-image/5547-256x256x32.png as it gives us the highest resolution available. Replace the URL of the icon you prefer to use in the following command.
sudo wget http://www.rw-designer.com/icon-image/5547-256x256x32.png -o /usr/share/pixmaps/minecraft.png
Now you should be able to play Minecraft by simply typing minecraft in the command-line, in the Unity dash, the KDE prompt, or by browsing to the games menu in the applications menu in your desktop environment of choice. It is also available to all users of your desktop.

You also do not need to do anything to update. Minecraft updates itself each time you start it.

BONUS

I've got one more neat trick up my sleeve. If a CraftBuntu spin sounds good to you, here's how you can setup Ubuntu to just run Minecraft when you sign in. It assumes you have already done the above.
sudo cp /usr/share/applications/minecraft.desktop /usr/share/xsessions/
Now Minecraft is an available option when you select your desktop environment. This works best if you set Fullscreen in the Minecraft options.

You could do a number of things with this setup. You could setup a minimal Ubuntu installation that has no desktop environment, or other desktop-related software installed. You could also allow guests to play Minecraft without touching any of your stuff by them selecting the Ubuntu guest account and setting Minecraft for the login. I have even found that on my struggling laptop this setup allows Minecraft to run more smoothly as there is no other desktop cruft running in the background.

Tuesday, May 29, 2012

ssdownloader

I recently purchased some electronic media from Simon & Schuster.

Apparently the technology guys at Simon & Schuster believe in "Java Over Functionality." Unlike most companies that sell DRM-free digital media, I was not given a link to download zip file containing the contents of my purchase.

Instead, I was given a JNLP file, which is nothing more than an XML file. A little Googling revealed that these files should be openable by javaws, a Java Web Starter application. After getting the file to successfully run, I was greeted with a custom download manager. This is great because why offer a simple download that will be managed with my browser's download manager when I can have some half-rate, custom download manager to fudge things up?

So the download manager asked me where I would like to save the file, downloaded each file individually for about twenty minutes, and then told me it was done. There was a big problem, my files where not in the location I specified. In fact, a hard drive search revealed they didn't exist anywhere on my machine.

I tried again, no dice.

So, if Mother Necessity if the driver of invention, then welcome her new baby, ssdownloader. I wrote this Python app up in a little over an hour. It was a good chance to strengthen my weak command of Python, and to actually get the stuff I paid for.

It simply parses the JNLP file to find the other XML file that defines where the actual downloads are. It then loops through that file, grabbing each file and saving it locally. If anyone out there gets frustrated trying to make good on their Simon & Schuster purchases, feel free to use this to make your life happy.

Tuesday, January 10, 2012

Copy and paste from the system clipboard with vim

Often, when using vim, highlighting text in the terminal to copy-and-paste it around is plausible.  This is definitely true when on a true terminal.  I use the rnu option so that I have relative line numbers on each line.  So copying multiple lines with the mouse grabs the line number with unwanted indentation.  When I need to move code around it is annoying to have to manually remove the numbers.

To understand how to get vim's clipboard to match your system's you need to understand vim registers.  On a computer we usually only get one clipboard.  Every time we ctrl-c, the contents of the clipboard are discarded and replaced with whatever is highlighted.  We don't have any option to copy multiple objects and then paste them around.  However vim has multiple "registers" where text can be copied and pasted from.  To see the registers type :reg in command mode.

The register that we are interested in is register +.  To test it out, copy some text from another application then run :reg and see the contents displayed in register +.

So now we just need to know how to access the contents of register +.  Register access is done with ".  To paste from they keyboard we type "+p  To copy, for example an entire line, into the system clipboard we type "+yy  To delete the current line and store it in the system clipboard we type "+dd

We can also use registers with visual mode.  If we wanted to copy the line underneath the cursor we would type V"+y  We could copy the next three lines into the system clipboard by typing Vjj"+y

To sum it up, to use the system clipboard to copy and paste in vim simply do what you would usually do in vim, then prepend "+ to your y (yank) or p (paste) command.

Update:
Depending on the version of vim you are using, the register for the clipboard may work differently. In some cases the * and + registers are the same register. If you want to find out which register is for your system clipboard, simply copy some text from anywhere into your clipboard, then run :reg. Whichever register has the text you copied is the register that holds the contents of your clipboard.

Friday, March 18, 2011

Connect to MySQL database from LibreOffice Base on Ubuntu

LibreOffice's Base program can provide a quick easy way to access a MySQL database and write some reports against data.  The following outlines how to easily setup LibreOffice Base to connect to MySQL.  It assumes that you already have LibreOffice Base installed.  It works just as easily for OpenOffice Base.

First we need to install the JDBC driver for MySQL
sudo apt-get install libmysql-java
Next open up any LibreOffice program and then click on Tools->Options.  Expand LibreOffice and then click on Java.  Click on the Class Path button on the right followed by Add Archive.  Browse to /usr/share/java/mysql-connector-java.jar  Click Ok and choose to restart LibreOffice.

Now open LibreOffice Base and choose to Connect to an existing database.  In the drop-down menu choose MySQL, and connect using JDBC.  Click on the Test class button to make sure the JDBC driver loads successfully.  If it doesn't, then check that you followed the previous steps properly.  If it does load then simply enter the settings as it relates to your MySQL database.

If you get the JDBC driver to load properly, but you cannot connect to your MySQL database, then I would recommend installing the mysql client and making sure you can connect from the MySQL client first.  If the JDBC driver loads properly, and you can connect to your database with the MySQL database, then you should not have any problem connecting with LibreOffice.

Thursday, December 16, 2010

Ubuntu Up and Running Book Review

Note: This is a review of the O'Reilly book Ubuntu: Up and Running.  I received this book through O'Reilly's Blogger Review Program.  When I received this book I was already in the middle of Machine of Death, and JavaScript: The Definitive Guide.  So it took me a little longer than I expected to finish this book, and finally, get around to writing this review.
This book touts itself as "A Power User's Desktop Guide."  This rather accurately defines the target audience of the book.  It is not for your average user, but for a technically inclined user who is interested in getting his or her hands dirty with Ubuntu.
This book is very thorough, going step-by-step through each process, often times in what can be grueling detail for someone if such detail is not necessary.  I committed myself to not skipping any parts, and that made some parts of this book very hard to read, as it went through each and every single little click to perform certain tasks.  However, this attention to detail and verbosity probably makes this a very good read for the person who needs to be taken all the way to the finish line to understand the concepts being taught in this book.  This level of detail also makes it a good read for those who may not consider themselves all that technical literate, but are willing to put in the time and effort needed to really learn Ubuntu.  The first chapter of the book introduces the reader to Ubuntu, Linux, and the whole FOSS movement.  It lets the reader know that Ubuntu is more than just an operating system, but it is the leader in a movement that has been fighting the good fight for over thirty years.  After finishing this chapter, the reader should have a good idea of common open source idioms, such as free as in beer versus free as in freedom, and be familiar with some of the leaders in the open source movement including RMS, Torvalds, and Shuttleworth.
With the history out of the way, the second chapter goes into installing Ubuntu.  Here the level of detail this book goes through is revealed.  Installing Ubuntu is a trivial task.  I've given disks to non-technical people, and they where able to get Ubuntu installed without any hand-holding.  However, this book doesn't just cover a vanilla install.  It covers dual-booting, an installing in VirtualBox, and installing through Wubi, as well as upgrading from a previous version.
For each type of install, this book goes step-by-step, screen-by-screen, explaining everything along the way.
I did feel that this book should have stressed the advantages of doing a real hard-disk install over a Wubi or virtual installation.  In my experience the other types of installations provide a significantly reduced experience over a real HD install.
I also felt like there where some areas covered that where really unnecessary, and could give the impression that Ubuntu may be harder to get up and running than it really does.  This includes going over the different Function Key Options.  I feel that for the sake of brevity, and being relevant, these areas could be skipped.  A person who is likely to use these areas of the installer is unlikely to need this book anyhow.
The book then moves on to configuring your installation, and then covers areas of use such as chapters devoted to multimedia, OpenOffice, etc.  I did feel that the order of chapters could have been laid out better.
After getting the user to install Ubuntu, it probably would have been best to have an introduction to the desktop, going over the basic features of the Gnome interface, including the Menu Bar, the different widgets in the top-right, and the default folders in the home folder.  This would make the user comfortable with the basics of Gnome, and would encourage the user to discover the other features, such as web browsing, multimedia, etc. on their own.
I believe Chapter 7, which covers the command line, should have been moved to the back.  It makes more sense, I believe, to cover all the tools that have been developed so that Linux users no longer have to master the command line to perform your usual tasks.  This could help dispel the fear that many users come in with, that if they don't master the command line, then Linux is not for them.
While the true power-user, be they a Linux user, or otherwise, will spend a good deal of time on the command-line, I think it is important to stress to new users that the most important tasks can be performed through point-and-click.
It also would have been helpful if this book had waited for Ubuntu 10.04 to come out, and spent more time focusing on the features of 10.04, since it is an LTS release, and would make this book more relevant over the next three years that this version of Ubuntu will be supported.  10.04 also alleviates some of the problems this book mentions such as the immaturity of the Empathy IM client in Ubuntu 9.10, making the suggestion of trying Pidgin somewhat more mute.  It could have also covered in better the Ubuntu One music store, if it had spent more time focusing on Ubuntu 10.04.  While this book says that it covers Ubuntu 9.10 and 10.04, it really covers 9.10, with some mentions of 10.04 enhancements.
With all that said, I would stay give this a book a "would recommend" as it is very detailed, and can go a long way in taking the interested reader from being interested in Ubuntu, to reasonably well versed in Ubuntu.
The chapter covering the command line is thorough and clear.  In fact, I learned a few things that I didn't about using some CLI tools installed in Ubuntu.
I look forward to future versions of this book covering newer versions of Ubuntu, and hopefully, through the Blogger Review program, is touched up in some of its rough edges.
I already have some friends and acquaintances lined up to borrow this book, as they have an interest in getting their feet a little more wet with Ubuntu.

Monday, November 1, 2010

Introducing Git-Notifier

This evening I finished the preliminary base code for a project I have been working on called Git-Notifier.  Inspired by Gitifer for OSX, Git-Notifier provides pop-up notifications for updates of a remote git repository using libnotify in Ubuntu.
As it stands, the program is currently a bash script, and configuration is a manual process.
To get started, download the come from http://github.com/maxolasersquad/Git-Notifier/archives/v0.1 in either tar.gz or .zip format.  Extract the .gitnotifier folder to your home directory.  Extract the gitnotify.sh file to wherever you would like to execute it from.  I keep this file in my home directory as well.
Next cd into the ~/.gitnotify directory and clone the remote repository using the -n switch.  For example, to get notified of updates to the Git-Notifier application, do the following
cd ~/.gitnotify
git clone -n git://github.com/maxolasersquad/Git-Notifier.git
Finally, edit the file ~/.gitnotify/gitnotify.ini file.  To the right of repos=, list out each git project you have cloned.  Using the same example from above, the line would look like this.
repos=Git-Notifier
If you have cloned any more repositories, simply list them all in the repos line, separated by a space.
Finally you can change how often the program looks for updates, and the pretty style to display the results. To see the different options for the pretty styel, run man git show.
Once you have cloned the directories you want, with the -n switch, and you have configured the ini file appropriately, simply run the gitnotify.sh script.  As commits are made to the remote repository, you should get notifications on your deskop.
The code could probably use some love, and a few more features would be nice as well.  Once I am happy with how this script works, I'd like to port it over to python.  I'd also like to have better support for non-Ubuntu flavors of Linux, though I'm not sure what other notifications are out there that can be easily programmed from Bash.
Any bugs, fixes, improvements, etc. would be appreciated on the github site.

Wednesday, October 20, 2010

Migrating from subversion to git

At work we have been migrating from subversion to git.  The projects that we still have in subversion I check out using git-svn.  This allows me to use much of the git happiness while we make the transition.  It also performs another very nice function; it allows us to migrate our repositories to git keeping our full version control history.
What follows demonstrates, from a Linux machine, to migrate a repository from http://svn.foo.com/bar to ssh://git.foo.com/repos/bar.git.  This assumes you already have git, subversion, and git subversion installed.  It also assumes that you have read access to the subversion repository, and a git repository you have direct access to.

git svn clone http://svn.foo.com/bar/trunk bar

Next we need to log into the machine hosting our git repository.  We do this over ssh.

ssh foo.com
cd ~/repos
mkdir bar.git
cd bar.git
git init --bare

Back on our machine.

cd bar
git remote add origin ssh://git.foo.com/repos/bar.git
git push origin master

You should now have a central git repository at ssh://git.foo.com/repos/bar.git  You can create your branches, and do whatever git-style version controlling that you wish.  The final step, of course, is to remove the old subversion repository so that others do not accidentally make changes that never find themselves in the real copy of the code.
One limitation is that this process does not import any branches or tags from the subversion repository.  I'm not sure if there is a clean way to do this.

Sunday, October 3, 2010

Updating JOSM in Ubuntu

If you are a contributor to Open Street Map, and you run Ubuntu, then you probably use JOSM from time-to-time.  It has a lot of great tools that are not available in the online editor.  My favorite is the Orthogonalize Shape tool.
Anyhow, I got tired of being told to update each time I started the application.  Plus, I like being up to date.  Since Ubuntu only gets an updated version of JOSM with each new release of Ubuntu, I decided to find out how to cleanly update JOSM in a way that integrates well with the currently installed JOSM.  Here's what I did.

  1. Go to http://josm.openstreetmap.de/
  2. Under the Download section, click on the "tested JOSM" link and save it.
  3. Under a terminal run the following.
    sudo cp ~/Downloads/josm-tested.jar /usr/share/josm/
    cd /usr/share/josm/
    sudo ln -f -s josm-tested.jar josm.jar

  4. Change ~/Downloads/josm-test.jar to the location in which you saved the josm-tested.jar file.
Now when you run JOSM the way you always have, it will load the latest stable version of JOSM.
When you first start JOSM you should go ahead and update your plugins.
This was testing in Ubuntu Lucid 10.04, but should work with any version of Ubuntu, and with any version of JOSM.  If it doesn't for any reason, respond in the comments below.

Thursday, March 11, 2010

Ubuntu 10.04 Lucid Lynx Alpha in VirtualBox with Guest Additions

Today I installed the latest alpha of Ubuntu 10.04 Lucid Lynx Alpha inside of VirtualBox.  After getting all of the updates I installed the VirtualBox Guest Additions.  Upon boot my screen flashed lots of fun colors and then told me that my display configuration was fubared.
I booted up in low graphics mode and then searched for the answer, which I'm going to repeat here.
After installing the guest additions you need to modify a file.

gksudo gedit /usr/src/vboxvideo-3.1.4/vboxvideo_drm.c

Replace line 90 with the following:


#if defined(DRM_UNLOCKED) || LINUX_VERSION_CODE >= KERNEL_VERSION (2, 6, 33)
                 .unlocked_ioctl = drm_ioctl,
#else
                 .ioctl = drm_ioctl,
#endif


Finally, run the following command:
sudo /etc/init.d/vboxadd setup


So anyways, this got me as far as logging in without the graphics dying.  However, it looks like Compiz gets enabled and kills everything.  I'll update if I find a solution to this.


Source:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/536929
http://www.virtualbox.org/ticket/6198
http://www.virtualbox.org/changeset/27248

Edit: Bug 6198 is fixed as of VirtualBox 3.1.6. To get it for Ubuntu add the VirtualBox PPA found at http://www.virtualbox.org/wiki/Linux_Downloads and run sudo aptitude install virtualbox-3.1

Tuesday, August 18, 2009

How to use SVGs in webpages.

In my previous post I lamented me woes of attempting to use SVGs within a web page. A commentor named Brad Neuberg offered some advice that got me going in the right direction and now I have everything working. I wanted to come back and address how I go I finally got this working.

The problem I was experiencing has to do with how Inkscape saves images as SVGs. The files can be easily modified so that they can be used in web pages to scale as desired.

For starters add the following code to your HTML where you want to place the image:

<object data="foo.svg" type="image/svg+xml" style="height: 32px; width: 32px">
  <img src="foo.png" alt="logo" style="height: 32px; width: 32px" />
</object>

This will give you the clipping I had talked about before. This is actually the correct behavior based on the properties in the SVG. So we need to modify the SVG and tell it to behave. To do this open the SVG in your favorite text editor and find the width and height properties in the SVG tag.

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://web.resource.org/cc/"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:xlink="http://www.w3.org/1999/xlink"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="48px"
   height="48px"

   id="svg1307"
   sodipodi:version="0.32"
   inkscape:version="0.45"
   sodipodi:docbase="/home/lapo/Icone/tangerine-icon-theme/scalable/apps"
   sodipodi:docname="alacarte.svg"
   inkscape:output_extension="org.inkscape.output.svg.inkscape">

We need to add viewbox and modify the width and height as follows:

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://web.resource.org/cc/"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:xlink="http://www.w3.org/1999/xlink"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   viewbox="0 0 48 48"
   width="100%"
   height="100%"

   id="svg1307"
   sodipodi:version="0.32"
   inkscape:version="0.45"
   sodipodi:docbase="/home/lapo/Icone/tangerine-icon-theme/scalable/apps"
   sodipodi:docname="alacarte.svg"
   inkscape:output_extension="org.inkscape.output.svg.inkscape">

Our first two entries in the viewbox will always be zeros followed by the width and height that is already defined. Next we replace the width and height with 100%. Once we save this file then it should show up in the webpage with the width and height defined in the HTML without any clipping.

In the HTML in between the open and closing tags for object we define an img tag that points to a backup PNG image. You can replace this with whatever you want IE to show. If you happen to have the image in a VML format then you could include it there, or you could simply have a message telling your users to stop using the always behind Internet Explorer (not recommended) or whatever you want IE to show in place of your SVG.

You can find a paper on converting SVG to VML here. There is also a javascript library at http://code.google.com/p/svgweb that will show the SVG in a Flash window for IE users. I plan on looking into the svgweb javascript library and giving that a spin in the near future.

I hope this post finds its way into the hands of anyone else having the same frustrations I was having.

Monday, July 27, 2009

hulu-desktop on Linux

Hulu is releasing a desktop application to watch their TV shows and movies through. They are presently only developing it for the Windows and Mac platforms. I decided to give it a spin on Ubuntu using Wine. The application is basically an Adobe Flash player that runs their flash application.

I downloaded the application from http://www.hulu.com/labs/hulu-desktop and ran the installer. Everything about the installation went well. It informed me that Adobe Flash was not installed and asked me if I wanted to install it. I selected Yes and it took care of grabbing and installing the Windows version of Flash in Wine, and that too gave me no problems.

The application runs just fine until you go to watch a TV show. I chose arrested development. The playback is not bad. It is only slightly choppy, but I found that little bit of chop to be enough to not want to use it over the browser interface at hulu.com.

Since the program is written in flash and runs inside a flash player, and Adobe provides flash support for Linux it should be rather easy for Hulu to bring their application to Linux. Maybe someone out there will pick apart the pieces of the downloaded application and be able to point a Linux-native flash player to their flash application.

The screenshot below was taken on my dual-monitor PC. The left image is my left monitor, and the right image is my right monitor, which is playing and episode of Arrested Development in the Windows version of hulu-desktop inside of Wine.

Thursday, April 2, 2009

Upgraded to Jaunty on laptop.

On a whim I decided to upgrade my laptop from Kubuntu 8.10 to 9.04 Beta. I don't do alpha any more as I kind of like things to work the vast majority of the time. On my two desktops I upgrade the day before a release to beat the next days surge on the servers that make downloading the updates take a long time.
I kind of use my laptop as a test machine. It runs my only go at Kubuntu, and I even have KDE4.2, which isn't officially supported on 8.10, and does have some problems. So being a sort of test machine I thought I would go ahead and try it.
Kubuntu does not use update-manager, so the usual update-manager -d doesn't work. I thought sudo apt-get --dist-upgrade would work, but it did nothing. Googling around updating to Jaunty with Kubuntu brought up the apt-get solution, which wasn't working. I asked on the #ubuntu-us-fl irc channel, and after a while mhall119 discovered that the correct command was update-notifier-kde -d.
I was trying to do this remotely using X over ssh and X kept failing. When I got home I ran update-notifier and it got all the packages, updated, and when I reinstalled Ubuntu 9.10 was installed.
Using the instructions at http://ext4.wiki.kernel.org/index.php/Ext4_Howto#Converting_an_ext3_filesystem_to_ext4 I updated my file system to ext4. Because you can't change the file system if it is mounted, I had to download the latest ISO for Jaunty Beta and boot from it. Once there I ran:
sudo tune2fs -j /dev/sda1
sudo tune2fs -O extents,uninit_bg,dir_index /dev/sda1
sudo e2fsck -fD /dev/sda1

http://www.ubuntu.com/testing/jaunty/beta says that after that you need to run grub-install, but that didn't do anything. Instead I ran:
sudo grub
root (hd0,0)
setup (hd0)
quit

After a reboot I was running Jaunty with the ext4 file system. The first boot was not fast at all, but every boot after that has been under 30 seconds. 3D desktop now works, which is a big bonus. A few background apps crash after bootup, and I send the apport to Launchpad. Hopefully by the time Jaunty goes to release all of this crashing of background apps will be fixed.

Wednesday, March 25, 2009

Google Notebook

I started using Google Notebook today to keep track of my pending tasks at work. It is a perfect fit for my needs. Last week and this week I have been swamped with work and have had a difficult time keeping track of everything. My geny reminded me of Google Notebook so I gave it a try and it is a perfect fit.

One day I will wake up in a Google house, eat Google food, and use the Google restroom and I will be too complacent to realize I've been pwned.

Tuesday, March 10, 2009

The Florida Linux Show

Yesterday morning at 5 am I left my house and headed to Jacksonville to attend the Florida Linux Show. After entering Jacksonville right at rush hour I arrived at UNF a little after eight, just before the keynote speaker started.

The keynote was given by Joe "Zonker" Brockmeier, Novell's community organizer for OpenSuse. The most important thing I learned was that Suse is pronounce SueSah, not SueSea as I had been pronouncing it. *Nixers love to show how awesome they are by correcting people's pronunciations of different *nix distros. So I can count that as one more that I have right.

Speeches where given in forty-five minute block, with five going on at a time and a fifteen minute break in between. Poor Joe's laptop crashed on him early on in the presentation. That has to be pretty embarrassing when you are there to represent your product and it goes belly up on you during a presentation.


floridalinuxshow.com
The first session I attended was Joseph Guarino speaking on the state of gaming in Linux and the potential market proprietary game publishers could grow if they supported Linux as a platform to release their games. His argument was essentially that gaming is currently already pretty good in Linux, and that most Linux users would be interested in purchasing proprietary games if they where released for Linux. Poor Joe had a pretty bad cough and was having a pretty rough time, but I think those of us who came to see him where understanding and kept with him despite the difficulties. On top of the cough the display on the projector kept blinking. He was running Kubuntu 8.10 I believe. Ugh, not a good day for championing the benefits of Linux.


I missed the next session and opted to hang out at the Ubuntu table and talk to the fellow Ubuntu Florida Loco chaps. I showed off KDE 4.2 running on my laptop (poorly). I also played with other computers running different version of Ubuntu. One guy had HP's netbook running Ubuntu 8.10. It was very slick. Desktop effects where nice and smooth too. A box running Mythbuntu was there too, but he forgot his bluetooth adapter which would have allowed one to control it using a Wii remote. Crashsystems gave me a talk on why he loves Python for web programming and doesn't care for PHP.

Most people I hang out with don't care to talk tech much, especially Linux tech talk, so it was nice to be surrounded by Free Culture geeks like myself.

After that was lunch, and I just spent my time hanging out some more. I completely skipped lunch because I wasn't paying any attention and before I knew it the sessions where starting again. I also spoke to the guys from the Ubuntu Podcast. I gave him my opinion on the use of the word Podcast (which denotes use of an iPod, which is anti-free culture.) My opinion basically being that the words audio cast and video cast are good substitutions, but ultimately I'm not the kind of person that really cares much. I also watched Smita give an interview with John Pugh, a Canonical employee, about the upcoming Jaunty release.


floridalinuxshow.com
After lunch I attended Danny Wall's talk on Linux Clustering Services with a Focus on Health Care. He decided to take off the Health Care part because he felt like it was too specific. The clustering demonstration didn't go so well. He had four Red Hat virtual machines, but he didn't have everything setup right so the clustering didn't work. It then turned more into the benefits of open source and open standards in a business environment. One thing he said that I thought was really important was that he prefers open source, but he insists on open standards. Without open standards support from vendors it becomes impossible to make sure that your internal IT infrastructure can efficiently interact with each other. Open Source provides the leverage that IT professionals need to tailor applications to their specific business needs, which is a great benefit, but its absence won't put your business to a halt.


floridalinuxshow.com
The next session was on Open Office with Don Corbet. It was suppose to be an introduction to Open Office, but since everyone who attended was already familiar with Open Office it became more of a round table Q&A. I shared my poor experience with Base, and we also shared our experiences with getting other people to use Open Office. The talk didn't really go the way Don has planned it, but I think through our interaction it may have turned out better.

After the Open Office talk I joined Christan Gant's talk about Open Solaris. Solaris is not a Linux distribution, so I thought it was kind of odd they where giving a talk at a Linux convention, but we use Solaris on our work servers, and I had played with Open Solaris when it first came out, so I decided I would go to listen to what they had to say. Christan is the Campus Ambassador for SUN at UF. After he showed off the features of Open Solaris he took questions. I asked him a few questions about ZFS, the role of Open Solaris and the future of Open Solaris. He had two other SUN employees there who answered some of my questions.

They where talking up Open Solaris as though they expect it to really be the next desktop of choice. I don't see how they plan to really compete with Ubuntu. Ubuntu gets to ride the massive amount of developers working on Linux, and the massive Ubuntu community making massive strides in very small time. Open Solaris only gets to ride on the open source projects that are multi-platform, like Firefox and Gnome, their paid staff, and their small community. I brought up that when I tried to use Open Solaris I found that tools I considered critical for use at my work simply where not available in Open Solaris and that they where simply waiting for someone in the community to port them. They simply responded that less popular software would probably take longer to be picked up.

At the end of the presentation I noticed that it was given on a laptop running Windows Vista. One would think that if they where serious about Open Solaris as a dominating platform that they would give a vote of confidence to it by running it on the laptop they are giving the presentation on.

The final session I attended was Jessica Corbet's introduction to Gimp. She went over some of the basic features of using layers and changing colors, hues, etc. She was running Gimp on OSX, but nobody gave her any flack for that. OSX is at least a Unix derivative.


ubuntu-fl.org
After the event ended, everyone from the Ubuntu Florida Loco stood together for a group photo, and then followed it up with dinner at Seven Bridges, which I was ready for. I got to have a great chat with John, Doug, Smita, and Dan, who all seem to outstanding people.


I left Jacksonville around seven-thirty and arrived at my house at ten. I don't think I will be attending the event in Orlando in October, but I do plan on making next years' event in Jacksonville.

Saturday, February 28, 2009

Another reason I don't run Windows.

I'd like to start off by saying that I don't hate Windows. I just don't think it is a very good operating system in comparison to Ubuntu or OSX. Overall it provides a reasonably stable and consistent platform for users to interact with their computer.
Outside of work I barely ever boot up in to Windows. I do have a Virtual Machine of XP, Vista, and Windows 7 for the occasional dabbling. Regardless of my opinion of Windows I do believe it is important for me to keep up with its goings on, since IT is my profession.
So the other day I had my XP Virtual Machine booted up and I had a few things open. I left my computer for a little while to do a few other things and when I come back I have a message telling me that Windows knew better than that I needed my machine and all of its applications up. Apparently what I really needed to do was restart. In fact, I needed to restart so incredibly much that it wouldn't have been prudent for Windows to ask me for my opinion on such matters. It didn't matter if I maybe had some unsaved work open, or maybe I just didn't really feel like having my computer rebooted, Windows knew that I must reboot.
Believing that the computer always knows better than the user is a design decision that permeates Microsoft's products. Office is legendary for its paperclip that is about as annoying is a little chihuahua that won't stop yapping, and its auto-formatting that makes getting the right formatting in to your document a task within itself.
This behaviour also effected a coworker, when he was trying to give a presentation. Updates had been installed on his laptop, and about every five minutes his presentation would be interrupted with a prompt to reboot. Of course he wasn't interested in rebooting in the middle of his presentation, but Windows wasn't going to have it. He was either going to reboot or be annoyed constantly, his choice.
Operating system should be out of the way, should talk to you only when absolutely necessary, and provide a good interface for letting you quickly and easily let it know what you want. The purpose of the operating system is to understand your needs and act accordingly, not to let you know its needs and force you to comply.
It is very much like how cars work. When there is a problem, low on gas, an open door, high engine temperature, etc. it notifies you with a simple gauge or indicator light that is easy to access, but does not interfere with your driving. Likewise, the operating system should give you easy to access cues about what is going on, but ultimately let you get back to the issue of using your computer.

Two excuses IT professionals use.

The following excuses are used frequently by IT professionals as a scape goat for not letting you do something they don't want you to do, or to lay blame on problems they don't know how to solve.
  1. Your problems are caused by these other applications that I don't support.
  2. I can't allow you to do that, or have that software because it is a security threat.
The first one is used to explain why you are having PC problems. This often comes in the form of some sort of "fanboy" bias. A Microsoft lover might say, "Your computer boots slowly because you have Firefox installed" or, "The Google toolbar is why IE is crashing so much." They will usually remove the offending program, but it won't actually fix the problem. They will then have to actually find the real solution, and then go back and say you still can't have whatever app they removed still claiming it was the problem. They will not let you have your old application back, even though it was never causing any problems.
The second excuse will be used to explain why they won't let you have the program even before you've installed it. They will insist that every program you want is a security risk.
This is not to say that there are not legitimate reasons for the IT staff at your work to deny you from having no other programs installed except the ones they provide. A good security policy, in my opinion, is to set up an employees computer in a manner that is consistant with their work duties, and then lock it down very tight so the user does not have access to add or remove software, or make any system changes. However, these reasons should be properly articulated using facts and valid arguments, not scape-goats and non-truths.

Wednesday, February 4, 2009

I don't understand Microsoft's direction.

News hit yesterday of the different versions of Windows 7. Like Vista, Microsoft is going to ship several different versions that range from a crippled version up to a the beefy version that costs a whole lot of money. The idea is sound. Microsoft has to pay developer to develop and maintain features, some of which are only used by advanced users or by businesses. By offering a cheaper version of Windows that does not include these features, they are shifting the financial burden to the users with more needs than the average person. Why should the average consumer pay for features they will never need or know exists?

I think Microsoft did a good job of making this divide in XP. If you didn't know the difference bettwen XP Home and XP Pro, chances where you had no need for XP Pro. If you did know the difference, chances are it isn't that difficult for you to decide which one you need.

With Vista there are six different version planned for launch, Starter, Home Basic, Home Premium, Professional, Enterprise, and Ultimate. This isn't just confusing for the average consumer, this becomes confusing even for technophiles. Microsoft has not yet released pricing.

Reportedly, Starter is for low end machines and protable devices. The report so far makes Start sound like a complete piece of crap. According to The Inquirer, it will only allow the user to run three programs at once. This artificial limitations is absolutely stupid. My XO, which is running much lower specs than the average netbook without much of a problem. It is also highly presumptuous of Microsoft to say "three programs" without any regard to the hardware specifications or the amount of resources the application uses. This means you could run three programs that use a lot of resources, but not four programs that have a smaller footprint. It is believe other functionality will be reduced, but neither the netbook nor low-end computer manufacturer get to have a say which features should be reduced or kept. It is simply a one size fits all job. Since many netbook manufacturers have been putting Linux on these devices because Vista is simply to bloated to offer a good user experience, I don't see what this does to enhance Microsoft's position.

Without dissecting the specifics of the other versions, it is suffice to say that it is just a list of versions that have features added or removed, depending on the target market. In light of Microsofts competition, which has made some small but significant strides in erroding market share in a post-Vista world, this really doesn't make Microsoft look good.

Apple sells their OSX with the current version being Leopard. The only other OS product they are currently selling is OSX server. The decision is clear, everyone buys Leopard unless they want a server. For $129 you get the full OS with all of the features and the improved security and stability offered over the Windows products.

With Linux the situation is not so clear because there are hundreds and hundreds of versions available, but the overwhelming consensus is that everyone should use Ubuntu unles they know enough about Linux to know why they would have a need or desire for any other version. Okay, it still isn't that easy because their is Ubuntu, Kubuntu, and Xubuntu each offering a different interface, but most people should probably just use Ubuntu unless they are technical enough to know why they would use something else. So while Linux doesn't exactly win in this category, it still beats the versioning of Windows.

The stock install of Ubuntu will run just fine on the lowest-end machines that are being sold today including the netbooks. It also scales up just fine to take advantage of a top of the line PC. It does this at install time by looking at your hardware specs and adjusting itself accordingly. It doesn't artificially lock you out of how many programs you can have open, or deny you access to features because you didn't spend more money.

Ubuntu also releases on a predictable schedule of every six months, and gives you a predictable life time of three years of support, while every so often releasing a version supported for five years. If a consumer decides to choose Linux it is very easy. You get the latest version of Ubuntu, no matter how low end or high end the machine you are purchasing, and don't worry about new versions for three years.

This is by no means a Windows bash. There are a lot of great improvements in Windows 7, especially with Internet Explorer 8. I just see their model of havng six different versions that go from needlessly crippled to needlessly expensive, when their competitors handle this in a much more consumer friendly fashion.

Tuesday, January 27, 2009

One of those "I Run Linux" moments.

A friend came over for dinner last Sunday. She had some music on her iPod she wanted me to check out. There wasn't a good way to plug it into my stereo system, so I plugged it into my laptop which runs Kubuntu. I wasn't sure what to expect. I opened up Amarok (the media player in Kubuntu) and her iPod showed up as a connected device. I copied the artist in question to the playlist and began listening to the music. It was that easy.
On Windows I would have had to install iTunes. I've never used iTunes, but I believe there is some kind of protection so you cannot just copy your music around as you like. She was worried that her iPod was going to try to synch with my music collection.
So it was great that all I had to do was plug her iPod in and my desktop was configured by default to just handle everything with ease.
I frequently have a similar situation happen when trying to grab photos from someone's camera. They say, "Oh no, you need the driver disk." To which I reply, "Oh no, none of that is necessary." Then I plug in their camera and the pictures start copying over to my local pictures folder. It should be that easy on any operating system.

Friday, October 17, 2008

Computers and education

Our local newspaper, the Tallahassee Democrat, had a call out for people willing to be interviewed about how the use video games to promote their child's education. I called the lady doing the article and told her about my setup. She seemed pretty excited about the things I was telling her and we agreed to have her and a photographer come over and watch the kids play on their computer and ask them questions about it. I also told her about our XO, which she seemed pretty excited about seeing.