Gnome Stock Ticker info: Gtik History, FAQ and etc.

Gnome Stock Ticker (gtik) Screenshots

[Originally published  2006 12 18 at my old blog: jayson.monjayaki.org still viewable via internetarchive.org's wayback machine  http://web.archive.org/web/20081013171643/http://jayson.monjayaki.org/2006/12/18/gnome-stock-ticker-info-gtik-history-faq-and-etc/ . Reading Miguel de Icaza's post about the History of GNOME (http://primates.ximian.com/~miguel/gnome-history.html) made me think to post this back here]

So way back when Gnome was pretty new and there were not a lot of applets, around the middle of 1999, I got a book at Linux World on Developing GTK applications. I then took the Slashdot applet source and the idea behind this Perl application that was available at the time called “quote” and created the first version of the Gnome Stock ticker. I then post it to the Gnome site. They had this contributions area where you could post links to Gnome related projects. Well, it soon got a LOT of downloads, I was pretty surprised, but then again it was the middle of the Dot Com boom and Stocks were on everyone minds (including mine and that is why I made the thing in the first place, to watch my own stocks.)

Soon afterwards I was starting to get emails with suggestions for features. Some good, some crazy and then I got two with actual CODE ATTACHED! These turned out to be from Linux/GTK hackers Jim Garrison and Rached Blili. They were interested in continuing to work on it and so I added them to the authors and we were three. Rached hosted the site where we would distribute it from (still alive: http://www.dread.net/gtik/ ) and the three of us all added things for a while.

Then Jim, who had some contact with other Gnome developers, got us accepted into the Gnome source tree and repository. That is when trouble started for me. It start to get harder and harder to build and to add features or fix bugs. Also at this time, the Dot Com boom was starting to become the Dot Com Bomb and I was changing Dot Com jobs quite a bit and pretty busy, so I ended up getting away from the Gtik development. Jim and Rached pretty much did it all for a while. Then we lost contact with Jim, and after that Rached got real busy too and we all pretty much stopped doing much with the Ticker.

Well some time pass and emails stopped coming in. I went to Linux World one day around that time and it was pretty cool to see out ticker running on most of the desktops in the vendor booths, on all kinds of platforms. Even Sun’s booth had us running. You would see it in the presentations, on the big screens, and even touted as a feature by the presenter: “watch your stocks with GNOME”. I was not getting any email from Gtik users at that time so I thought all was well and people were happy with it as it was. But seeing it at Linux World made me want to work on it again and I set out to do something with it that I had always wanted to do:  make it able to use ANY site, and to allow the user to create templates for parsing their favorite site (the app to that point only used Yahoo Finance for it’s data source). The idea was that the user would create a template for parsing the data from their favorite finance site and they would load this template with the URL to their site and maintain that themselves. I put several nights into that development on the last source tree I had on my machine at the time (though it was terribly out of date I would soon find.) So I finished that work and was pretty proud of myself. It was pretty slick and I could use gtik with ANY site I wanted. I had templates for Yahoo and Quote.com and ETrade at that time. THEN, THE END FOR ME.

I went to add this latest change to the source tree, and logged into my account at Gnome CVS. Well I thought I should get the latest source and edit that with my changes and then re-upload. Well …. something was strange. The source tree looked quite different than when I had last seen it. So I took a look in the change log. Boy, people were busy. I found that a LOT of other developers had started maintaing the code and had port the whole thing to Gnome 2.0 which I found was quite different than what we were working with before. I could not even figure out how to set up the development environment at first then I found NONE OF MY MACHINES could even run the new Gnome nicely, it was a very heavy application, and I had all these 486s and early Pentiums at the time. So I just gave up. I had no time as it was and could not spend time to learn about Gnome 2.x and get new hardware to do it.

Well, so there it is; my silly history of the Gnome Stock Ticker out there for all to see. For me, I am probably done with it (UPDATE: Gnome later changed their applet framework and the ticker was killed and the rest of this post was written before so it might seem out of place ), though my name is still associated with it. It had it ups, but more downs.

One cool thing I’ll never forget was that the person that emailed me my login and password for CVS was Miguel de Icaza himself. That was pretty cool. I later got to be able to build the thing and I did do a few little little changes for people that were using the old version for some reason and needed something added, but I am not contributing to the CVS source and not sure if I ever will. If I had it all to do over, I would not have asked to have it put into Gnome’s source tree and would have kept it pretty simple, but such is life.

So… if your looking to suggest features, here is a list of the people that are working on it lately. This is just the email entries from the Change Log at http://cvs.gnome.org/viewcvs/gnome-applets/gtik/ . I suggest you download the change log before email any of these people, as some are doing translation work and others are coding GUI and others still are coding other things like Gnome API updates and such.

Other people who worked on Gtik, since 2001: (from the change log at http://cvs.gnome.org/viewcvs/gnome-applets/gtik/ )

Maintainers list:
2006-01-28  Francisco Javier F. Serrador
2006-01-21  Vincent Untz
2006-01-06  Vincent Untz
2005-12-03  Vincent Untz
2005-09-29  Ryan Lortie
2005-09-28  Ryan Lortie
2005-09-08  Ryan Lortie
2005-09-07  Ryan Lortie
2005-08-19  Ryan Lortie
2005-07-21  Ryan Lortie
2005-07-20  Davyd Madeley
2005-07-01  Davyd Madeley
2005-03-14  Kjartan Maraas
2005-02-24  Kjartan Maraas
2005-01-10  Davyd Madeley
2005-01-06  Davyd Madeley
2004-09-29  Davyd Madeley
2004-09-13  Shaun McCance
2004-08-24  Davyd Madeley
2004-08-15  Kjartan Maraas
2004-06-17  Dennis Smit
2004-06-16  Dennis Smit
2004-06-16  Dennis Smit
2004-06-09  Dennis Smit
2004-06-03  Dennis Smit
2004-03-20  Arvind Samptur
2004-03-17  Glynn Foster
2004-03-16  Glynn Foster
2004-03-15  Glynn Foster
2004-03-11  Dennis Smit
2004-02-23  Dennis Smit
2004-02-19  Jody Goldberg
2004-02-18  Kevin Vandersloot
2004-02-11 Breda McColgan
2004-01-30  Chee Bin HOH
2004-01-19 Vijaykumar Patwari
2004-01-18  Jason Leach
2004-01-09  Kevin Vandersloot
2003-12-12  Padraig O’Briain
2003-09-18  Kevin Vandersloot
2003-07-23  Kevin Vandersloot
2003-07-21  Dennis Cranston
2003-06-19  Kevin Vandersloot
2003-06-16  Kevin Vandersloot
2003-06-15  Kevin Vandersloot
2003-06-12  Kevin Vandersloot
2003-06-12  Kevin Vandersloot
2003-06-01  Kevin Vandersloot
2003-05-30  Kevin Vandersloot
2003-05-07  Dennis Cranston
2003-04-25  Dennis Cranston
2003-04-21  Kevin Vandersloot
2003-04-20  Kevin Vandersloot
2003-03-07  Mark McLoughlin
2003-03-03  Kevin Vandersloot
2003-01-23  Irene Ryan
2003-01-21  Arvind Samptur
2002-12-14  Fernando Herrera
2002-12-02  Christian Neumair
2002-11-27  Kevin Vandersloot
2002-11-27  Kevin Vandersloot
2002-11-27  Kevin Vandersloot
2002-09-15  Juan Salaverria
2002-10-29  Rajkumar Sivasamy
2002-09-19  Mark McLoughlin
2002-08-31  Glynn Foster
2002-08-24  Kevin Vandersloot
2002-08-22  Kevin Vandersloot
2002-08-22  Kevin Vandersloot
2002-08-22  Kevin Vandersloot
2002-08-21  Kevin Vandersloot
2002-08-14  Mark McLoughlin
2002-07-18  Mark McLoughlin
2002-07-11  Mark McLoughlin
2002-07-10  Mark McLoughlin
2002-07-01  Kevin Vandersloot
2002-06-03  Arvind Samptur
2002-05-31 Kevin Vandersloot
2002-05-31  Kjartan Maraas
2002-05-29  Kevin Vandersloot
2002-05-23  Kevin Vandersloot
2002-05-20  Kevin Vandersloot
2002-05-18  Kevin Vandersloot
2002-05-17  jacob berkman
2002-05-13  Satyajit Kanungo
2002-05-10  Deepa Natarajan
2002-05-09  Kevin Vandersloot
2002-05-09  Kevin Vandersloot
2002-05-06  Jagadeesh B.G.
2002-05-03  Kevin Vandersloot
2002-04-27  Dennis Cranston

Install Firefox Java Plugin on Linux


about-plugins

This is silly but not super obvious and not easy to find on the interweb thingie searches come up with Oracle’s solution about linking the libjavaplugin_oji lib in the Mozilla plugins dir:

<Java installation directory>/plugin/i386/ns7/libjavaplugin_oji.so

which does not work for me. The way to get this going is to create a link to the libnpjp2 library in the Mozilla plugin directory as follows:

ln -s /<Java installation directory>/jre/lib/i386/libnpjp2.so /usr/lib/mozilla/plugins/


Ubuntu Linux unable to mount non-journaled hfsplus drive for write

I have a drive from a Macbook that I made into a USB drive to share files between Linux and Macs. To do this I of course disabled journaling on the drive before removing it from the Macbook, and all was well. Both Linux (a Debian desktop machine) and various Mac machines could both read and write to the drive. However, I got a new notebook, which I installed Ubuntu on, and found it could only mount this non-journaled hfsplus USB drive as read only, though “mount” shows it mounted rw, for read and write. I tried many things and read many blogs and forum posts and decided to try the tools that come with in the “hfsprogs” package, and specifically “fsck.hfsplus” as someone speculated that the drive might have been become corrupt during an unmount.  The command I ran was:

sudo fsck.hfsplus /dev/sdb2

This check did indeed find some errors and report it had correct them and afterwards I could once again write to the drive.

I hope this helps the next person searching for this issue. I tried to get all the terms I was searching for, unsuccessfully, into title of this post to help folks locate it. Searching for this issue seems to turn up 99.9% responses about “You have to turn off journaling before mounting with Linux” which I knew already and was not part of the problem at all.

Use the Android SDK Emulator with Eclipse behind a Proxy

In the office we have a pretty stern internet proxy and I needed to test something from the Android Emulator using the network today, and therefore the Proxy. This seemed like a simple thing to do, and there are instructions for adding proxy information when launching the Emulator  on the Android Developer site (http://developer.android.com/guide/developing/tools/emulator.html#proxy). So I went into preferences for Eclipse, chose the Android preferences and sure enough, on the lunch tab there is a field for parameters when launching the Emulator. I added the proxy string there as per the document (-http-proxy user:pass@server:port) e.g.

-http-proxy http://user:pass@proxy.example.com:1234

but it did not seem to take. A little searching in some forums solved this however. I am adding it here with a title that matches what I was searching for via Google so that the next person can find it without reading a lot of forum threads.

The trick is that you need to add this info on for the project you are going to be running it from, and there is a convenient place to do so in Eclipse. With the project selected,  choose “Run” from the menu bar at the top, then “Run Configurations” This will show all the run configurations, and have the current project selected. You can also choose the Run/Configurations items from any project and select the correct one once inside. Once a configuration is chosen, choose the “Target” tab from the tabs on the right side of the Run Configurations dialog and look for the Text field labeled “Additional Emulator Command Line Options”. I had to resize the Dialog window to get this box to appear as there are no scrollpanes used there (I am using Linux version 3.5.2. of Eclipse). Below are a couple screen shots of these dialogs.



Install Google’s Go programming language using a proxy

Installing the Go Programming Language is pretty easy, but can be a pain when done behind a firewall and there isn’t one page with all the information necessary. So, here is the one page.

For step: “$ sudo easy_install mercurial”

“mercurial” is probably already in your favorite distro, it is for debian at least. So instead of using the easy_install script, try your distro’s package management app. For debian, apt-get install mercurial did the trick.  If you insist on doing it manually, you might need a proxy statement in your env like:

export http_proxy=”http://user:pass@myproxy.example.com:1234/&#8221;

For step: “hg clone -r release https://go.googlecode.com/hg/ $GOROOT”

You should probably have an .hgrc file with proxy information in it, including the user name and password for the proxy (be sure to take the credentials out again after install, and only put em in when using hg again)

———– .hgrc with just the minimum necessary contents —————-
[http_proxy]
# Used to access web-based Mercurial repositories through a HTTP proxy.

host=myproxy:1234

passwd=mysecretpassword

user=myuser
——————————————————-

For step: “$ ./all.bash”

At the moment there are tests ran during the build, requiring network connectivity. There is discussion on the go-nuts mailing list about fixing it,  but until then removing “http” and “net” from tests in the make file:

$GOROOT/src/pkg/Makefile

will get you “Go”-ing again.

To do this, search for NOTEST and add entries “http\” and “net\” to the end, using tabs for the indentation. The complete list should look like the following when complete:
NOTEST=\
debug/proc\
exp/draw\
go/ast\
go/doc\
go/token\
hash\
image\
image/jpeg\
malloc\
rand\
runtime\
syscall\
testing/iotest\
xgb\
http\
net\

Configure Debian apt-get to use a proxy

So it seems configuring apt-get to use a proxy would be a pretty simple thing. The syntax for the entries in ” /etc/apt/apt.conf” are real simple; the HTTP entry, for example, is just:

Acquire::http::Proxy “http://user:password@proxy.example.com:0000&#8243;;

However, other forces, on your machine behind the firewall, are at work against you, and you probably put them them there.

If you have set up for using the proxy elsewhere, like setting environment variables:

http_proxy=”http://proxy.example.com:0000&#8243;

or

ftp_proxy=”http://proxy.example.com:0000&#8243;

in .bashrc or the like

or used Gnome’s  System -> Preferences -> Network Proxy tool to set a proxy server, which do not include the user name and password (or cannot) in the entries, then you are probably feeling the pain I had this morning. It seems that having the environment variables http_proxy and ftp_proxy set, trumps the entry “apt.conf” that can take the user name and password.

So to get it going, add the entries in “apt.conf” with the user name and password (and probably want to remember to take em out after getting updated or whatever) and temporarily remove other proxy server entries from the other places you may stuck them, then get a new shell and you should be happily apt-getting away though the proxy.

I love reading and writing Regular Expressions

Reading and writing Regular Expressions is the only time I feel I do what people think computer programmers do.

s/(R\w{6}([ ](\w{2,11}|I)){18}\.)/It is like magic\./g

Batch resize images with imagemagick (convert)

I am often asked how to resize a directory full of images, for free. This is definitely possible and probable there are many ways to do it, but I like to use ImageMagick for this. ImageMagick is available for almost any OS here:

http://www.imagemagick.org/script/index.php

Here is an example of converting a directory of JPEGs using a little scripting and imagemagick:

for i in $( ls *.jpg); do convert $i -resize 1024x768 sm_$i; done;

For loop in bash (can be used on command line or in script)

There are so many versions of Bash around and it can be frustrating, to me at least, to do some things for not knowing what is available on a given machine. Well here is one, the for loop. Here are a few different ways to do the same thing (and I am sure there are many others) . The first two below work on current linux machines but only the third works on Solaris 5.8’s version of Bash. Enjoy

for ((i=0;i<=5;i+=1));  do echo anda$i; done;
for seq 6 7;  do echo anda$i; done;
for i in 8 9 10 11 12; do cvs tag -d  anda$i; done;

use vi editor to insert newline char in replace

Something else I have to do and cannot remember and then have to look up.

In vi to insert a newline character in a search and replace, do the following:

:%s/look_for/replace_with^M/g

the command above would replace all instances of “look_for” with “replace_with\n” (with \n meaning newline)

to get the “^M”, enter the key combination “ctl-V” then after that (release all keys) press the “enter” key.

Follow

Get every new post delivered to your Inbox.