Chrome and Gnome, Unity Integrating?

I read about a feature on the about:flags screen entitled “Experimental GNOME menu bar support”, and it caught my attention.  Apparently, I don’t have a late enough installation of Chrome to get this feature, so I can’t play with it, but I wanted to keep my eye out.

So, I found reference to the “Experimental GNOME menu bar support” in a bug report, and it referred me to an 81170 revision.  That led me to the corresponding Code Review.  Now, it looks to me like this revision changed it.

Now, this bug is labeled part of Milestone-13, so does that mean that I won’t see it until I get Chrome 13.  Right now I have version 11.0.696.68, and 13 is a ways off unless I go to the unstable release.

Please comment if you can point out anything else.  Otherwise, it just waiting…

Messing with an HTC HD2 Phone

Well, this past week I became the new owner of an HTC HD2 phone.  I had read that you can flash them to Android, and so begins my saga!  I have it most of way, but it is still a little flaky.  I was actually surprised that it was more difficult than I remember my G1 being.  It was because there were too many partial directions that conflicted.

Below, I will give you some unorganized links and thoughts.  It was too crazy to create a step by step process.

Read More

DD-WRT on Linksys350N

I just flashed my router, and I wanted to provide some links to come back to.

In case you aren’t familiar with DD-WRT, it is a custom router firmware that provides more features than the factory delivered one.  I specifically bought my router because it was on the list of supported devices.  Here are some of the features I use:

  • DNS — I can point DNS names to special IP addresses
  • VPN — I am thinking about using the Open VPN server
  • I have considered trying to install Squid or Dans Guardian on the device to make a transparent proxy, but I haven’t fully fleshed out that idea.

According to the main website, here is their description:

DD-WRT is a Linux based alternative OpenSource firmware suitable for a great variety of WLAN routers and embedded systems. The main emphasis lies on providing the easiest possible handling while at the same time supporting a great number of functionalities within the framework of the respective hardware platform used.

First, if you are using the LinkSys350N, you have to make sure that you have version one.  Here is an article on how you can check:

Cisco Home Community: WRT350N – How to tell if it’s V1 or V2? Having major problems with it

Here are the instructions for installing:

DD-WRT Wiki: Linksys WRT350N

Since I already had an older version of DD-WRT on the router, these are the instructions that applied to me:

You can now upgrade to any generic dd-wrt build except Micro. Be sure to always do a hard reset prior to flashing another build, do a power cycle followed by another hard reset after flashing, and NEVER re-use a configuration file from a previous build or another router. Reconfigure from scratch.

So, my biggest question was remembering how to do a hard reset.  This article solved my problem:

DD-WRT Wiki: Hard Reset Or 30/30/30

Basically, you hold the resest button, wait 30 seconds, pull the power for 30 seconds, and plug it back in for 30 seconds (holding the reset button the whole time).  It takes about 3 or 4 hands to do.  I think next time I may try to commands from telnet.

I flashed the new v24 SP2, and here is the Change Log:

DD-WRT Wiki: Change Log

Adding Apps to Unity’s Dash

Usually, you install apps from either the Ubuntu Software Center or Synaptic or apt-get.  In those cases, the package manager automatically adds the new programs to the menu.  But, what if you install a program manually?

Before Unity, I could right click on the menu and choose Edit Menus.  Now, in Unity, that option is not there.  For that matter, the menu isn’t there.

So, I found that I could type “Main Menu” in the dash to get to the same interface as before:

Main Menu Editor

You can easily add a new menu item in this tool:

Adding Menu Item

Previously, I found that the dash didn’t pick the new menu item up until after I rebooted.  When I just tried it, it worked without me needing to reboot.  Maybe an update fixed it or something.

If you have trouble with it not working, explore this command to start and stop the indexing tool:


zeitgeist-daemon --quit

zeitgeist-daemon &

Resources

Installing Sun Java 6

I was able to install the package sun-java6-jdk from synaptic with no problems.  The update alternatives were what caused me problems:

skp@pecan:~$ sudo update-java-alternatives --list
[sudo] password for skp:
java-6-openjdk 1061 /usr/lib/jvm/java-6-openjdk
java-6-sun 63 /usr/lib/jvm/java-6-sun
skp@pecan:~$ sudo update-java-alternatives --set java-6-sun
update-alternatives: error: no alternatives for mozilla-javaplugin.so.
update-alternatives: error: no alternatives for xulrunner-1.9-javaplugin.so.
update-alternatives: error: no alternatives for mozilla-javaplugin.so.
update-alternatives: error: no alternatives for xulrunner-1.9-javaplugin.so.
skp@pecan:~$

These errors threw me off at first because I thought they kept it from working.  You can run java -version to see that it really is using the correct version.  Sun’s version reports this:

skp@pecan:~$ java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)
skp@pecan:~$

Open JDK reports this:

skp@pecan:~$ java -version
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.1) (6b22-1.10.1-0ubuntu1)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

As far as I can tell, the “No Alternatives for” messages aren’t causing a problem, so I am not going to worry about it.  If you have any info on that, please comment.

This is the error message that I am getting from my Java that the Sun JDK has solved in the past. I’ll leave it for another later post, but I wanted to share it in case anyone has any ideas. Please comment if you do:

The program '.' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
  (Details: serial 1359 error_code 8 request_code 140 minor_code 4)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Resources

Ubuntu 11.04 Natty First Thoughts

This weekend, I finally installed an Ubuntu release close to its release date.  This is probably the closest I have ever gotten it done!  So, here are my first thoughts after using it two work days.

The Install

The install went very well for me.  I have a Broadcom wireless card, which has given me problems in the past.  I was expecting to need to plug it into the wired network to get it to work.  I chose to install rather than use the try Ubuntu mode.  At first, the network indicator said that hardware drivers were not enabled and I could not connect.  I went ahead and told it to download updates as it installed knowing it would not be able to.  Then, I checked part way through copying the files and found that I could connect.  Once booted, I only had a couple of updates available in Update Manager so I am wondering if it actually did download them as it installed.  Also, the wireless was just working without me having to do anything after the install!

What I liked

First, it was new.  I like new features and new software — this definitely had the new feeling.  Unity is definitely different (in a good way).

I like the dash and the way the features comparable to gnome-do are built right into the interface.  The desktop interface is pretty light, yet I can quickly open the apps I want.

I like the way the launcher is on the left.  I have a wide screen laptop, and it probably makes more sense to use up the width rather than the height for the launcher.  Also, I like that it auto-hides when I have windows that use up the entire width of the screen, but otherwise, it always displays.

Notification Area

One issue I had was with a couple of applications that normally show icons in the notification area: Shutter and Gnome-RDP.  Shutter mentioned that it was waiting on a Perl interface to do the notifications, but I think I read about a fix that I will have to follow up with.

What surprised me is that I had a couple of other applications that were able to use the notification area.  Skype worked just fine.  Also, I have an application I wrote myself that worked with no problems: Project Sarah.

RDesktop

I usually use RDesktop not in full screen mode, but in a window that fills up the screen.  This makes it easy to switch between the remote desktop and the local.  I can also drag the window around if I need to see part of the remote and my desktop at the same time.

Unfortunately, Unity takes all the decorations off RDesktop now, and I can’t reposition the window.  That was a little frustrating.

Dual Screen Issues

I liked the fact that Ubuntu seemed to autodetect when I unplugged my external monitor.  It automatically switched back to single screen mode.

The problem is that I couldn’t see anything on the external screen.  The clock displayed with everything on the top, but below that was black.  I could drag windows across to the screen, and they would just disappear.  When I set it to mirror, both screens looked fine and everything worked as planned.

I also had trouble with my Java application crashing with a bizarre error.  When I didn’t have the external monitor connected, it worked fine.  I have typically been able to solve that problem by installing the Sun JDK as opposed to the OpenJDK.  I need to work through installing the Sun JDK, and that might do the trick.

Various Usability Issues

For the most part, I liked the launcher and the new interface, but there were a few things I have to get used to.  For example, in the old Gnome interface, I could minimize a window from the task bar by clicking on it after it is already active.  That doesn’t seem to work in Unity.

Also, I had trouble installing new custom menus.  I wanted to create a menu item for my Java programs that I wrote.  I also usually create a menu item for the different Eclipse profiles.  Before, I would right click on the Applications Menu and choose Edit Menu.  Now, it took me a bit to learn that I had to open the “Main Menu” application from the Dash.

Then, once I added the menus, they didn’t show up when I searched from the Dash until after I rebooted.  There’s got to be an easier way to add applications to the list or at least a way to reindex without rebooting.  I’ll follow up when I find it.

One more thing I noticed.  Most of the time I use the keyboard to launch applications (before Unity with Gnome-Do).  But, every once in a while my hand is already on the mouse, and I would rather use that.  Or, maybe I can’t quite remember the name of the program I want to open (hey, I am getting older).  Maybe I just need to get used to the new interface, but the Applications menu seemed a little easier for the mouse.

Settings

Previously, I could go to the Applications Menu to find all the different programs to change settings.  At first, I had trouble figuring out where I could go.  I wanted to see if there where any new settings.

Well, I found the Gnome-Control-Center in the power menu.  Instead of rebooting, you can go to “System Settings”.

Review

All in all, I am really excited about my new Ubuntu and Unity.  I will have to blog some more as I get past the issues in case you are going through them too.

Resources

Source Code in WordPress

Since this is a technical blog, I like to post source code in various forms from time to time.  But, WordPress.com hasn’t been very easy in that regard.

WordPress.com was rather limited — the only thing I found was the [- sourcecode -] tag.  You can read more on that here.

Now that I am on my own site, I am looking to try to improve source code handling with a plugin.

Of cource, the Source Code post mentions that they use the SyntaxHighlighter plugin for WordPress.com. I found another list of plugins, but that just led me back to a different link to the same SyntaxHighlighter.  It does mention a Visual Code Editor that might be interesting.  Apparently, it will work in conjunction with the SyntaxHighlighter. Now, this list looks much more promising: 12 WordPress Plugins to Display and Highlight Code within your Blog

I did a little more looking into the WordPress version (SyntaxHighlighter Plus).  Here is a list of syntaxes supported.  At the bottom, there is some information about how to create your own syntaxes.

This Developer Formatter plugin looks very promising.  The problem is it didn’t work for me.  It seemed to break the editor.

I ran across this thread that talks about adding Code Mirror to the TinyMCE editor.  If I ever get time, I’ll have to try my hand at writing a plugin.

 

LogMeIn VPN; PullMeHairOut on Ubuntu

You would think a stereotypical Linux user would not mind getting his hands dirty in the command-line trying to make a program work.  Well, either this user is not typical or that’s not true.  The LogMeIn Hamagi VPN solution seems to have some cool features, but the Linux client was painful to figure out.  Some documentation or instructions would be nice, but I think a nice basic user interface would also be helpful.  Command-line is cool, but I just need to get connected, and I don’t want to learn yet another networking tool to get where I need to go.

If you are attempting Hamachi, this blog post is your lifesaver:

Eric Lefevre-Ardant on Java & Agile: How to use LogMeIn under Linux

Next task is finding the Linux client.  They don’t have a production one, but they do have a beta version available.  Check out their beta page: LogMeIn Labs & Betas.  This part is awesome once you find it — choose your flavor, deb or rpm, they have it.  The Deb worked great for me on Ubuntu x64 10.04.

After installing, it was like nothing happened.  No new menu items show up in the menu.  Well, don’t worry, it installs a service and a command line program.  Here are the files shown in the package:

Files in the package

When the package installs, it starts the service.  You can see it running here:

Service Running

Now, you have it installed.  You need to use the command-line program to connect.  First, you simply need to connect to the LogMeIn server (everything goes through there server).  Note that you don’t need a user name or any credentials for this part (that will come later).  Here’s the command plain and simple:

sudo hamachi login

Now, if you have an account on LogMeIn, you need to “attach” to it.  If you are connecting to someone else’s network, you can skip this step.

sudo hamachi attach <email_address>

As far as I can tell, the next command just sets a name for your client.  This is the name that will appear in the administration pages online for LogMeIn Hamachi.

sudo hamachi   set-nick <name>

In my case, I set my nickname to “stephen”:

My Nickname Setup

Then, online it will show this name:

Nickname Used

Now, the final step is to connect to the network.  This is where it got really confusing for me.  It was not the command or how to do anything, but the problem was just determining what network ID to use.  So, let me walk you through how to figure out the ID.

The person with the account on LogMeIn who setup the network, will need to login and view the “My Networks” page.  Then, click on the edit link next to the network:

Viewing the Network Settings
Then, here’s where you see the network ID to use in the join command.

Finding the Network ID for the Join command

Once you know this ID, you can simply run the command:

sudo hamachi do-join "<network ID>"

It may ask you the password for the network.  The LogMeIn account holder can optionally setup the password.  If no password was setup, just hit enter, and it will proceed.  Here’s what the configuration looks like when you setup a network:

Network Password Setup

Now, you should be connected.  You should have a new network interface in your network settings:

ham0 network interface

If you need to connect to other machines in the Hamachi network by IP address, you will need the LogMeIn account holder to give you those IP addresses.  You talk to other machines via the IP address for the Hamachi network not the local network.

All in all, once you get it setup, it seems to work well.  I don’t like the fact that you have to run the program as administrator.  For my other VPNs, I don’t need super user access to configure or connect.  I also don’t like having an extra service running in the background.  Why can’t it just use the Network Manager Applet like the other VPNs?

Now, I would be amiss if I didn’t mention the GUI.  I found a Community Thread that points to a front-end called Haiguichi.  It has a Deb package that you can install, and that part worked fine.  It gives you a new menu item under Applications > Internet > Haiguichi.  I couldn’t get it to configure though, and I finally figured out the command-line, so I left it alone.

Great Link: App List for Ubuntu

I ran across this link recently, and I always want to share great lists of applications.  Building your toolbox is always fun.  Or should we say loading the app under the Christmas tree!

Ubuntu Linux Help: More Useful Open Source Applications 2011

PDF Mod is the new app that I picked up right away off the list.  I haven’t had a lot of chance to use it yet, but I think it will come in handy.  Install it with this link: apt:pdfmod.