Older blog entries for tnt (starting at number 30)

It's been a long time since I posted here. About 2 1/2 years. How time flys. (Still need to finish updating my profile though.)

I see that Advogato still does NOT allow people to post comments in your diary (or blog as they call it now). That's unfortunate. People typically post replies in their own diary. But, unless you are consistent about reading other's diaries, you won't see them. Even if you stick with the idea of replying in your own diary, there should be an automatic way of telling the author that there is a reply there. And an automatic way of telling people "blogging" that there is a reply there too.

For a little more than a year now, I've been the lead software engineer at BidClix. I really enjoy working there! Really nice and moral people. Family atmosphere. LAMP based. And, most of all, I like the people I work with.

I could tell you alot about how people really make money on the Internet. About just how big business online advertising is. I had no idea how much money was involved with those simple banner ads, tower ads, etc before I started working at BidClix.

OK, I'm going to start to rant now. I've been working on a project that has a simple goal of sending webcam images (and audio from a microphone) to a server via a persistent TCP connection. And I wanted to do this using common technologies found in most browsers.

I searched various technologies and found out that Flash has built in support for webcams and microphones. I thought, "great, flash might have everything I need". So I spent a day and learned ActionScript. And even found an open source ActionScript compiler called MTASC so I could do all my development on Linux. (BTW, did everyone else know that ActionScript 2.0 is JavaScript/EcmaScript. Because I didn't know that.)

Eventually I found out that using the webcam is tightly bound to the Flash Communications Servers. This server uses a protocol called RTMP -- Real Time Messaging Protocol. I searched to see if there was an open standard for this. There wasn't. I searched to see if anyone had reverse engineered it. No one has yet.

Thus, it doesn't seem like I can use Flash. The system cannot rely on closed protocols. And I have to be able to modify any server.

So what is RTMP really. IMO, it seems like a glorified TCP connection. Macromedia has a good business strategy with this (since browsers don't really let you create TCP connections). (Macromedia guards this business strategy by not letting you directly "get at" images from the webcam. Or else, you could export them to the webpage, and bypass the Flash Communications Server.)

Don't get me wrong. I'm not knocking Macromedia! I think they are smart for doing this. I suppose I'm knocking the browser makers. Well,... maybe I'm not really knocking the browser mackers, but I guess I'm imploring the browser makers to create an open, standard, cross-browser, and cross-platform JavaScript API for making TCP connections. If we really want Rich Internet Applications, then this is a must! Of course there are security issues to worry about. So, you should probably only be allowed to make TCP connections to the same host you came from. (Or, better yet, a host should have a mechanism where it can specify what hosts you can connect to.)

(BTW, if anyone is interested at all. The defacto mailing list for Flash coders is: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders. Just remember though, when posting, that most people on that list are NOT Computer Scientists or Software Engineers.)

Trying to get back into GStreamer. (Was quite knowledgeable about it at one time. I'm sure nobody there remembers me anymore though.) Started off by trying to install it. Tried following what was posted on the GStreamer Fedora Download page. Did a:

    yum install gstreamer-universe
and got a:
    Gathering header information file(s) from server(s)
    Server: Fedora Core 1 - i386 - Base
    Server: Dag RPM Repository for Fedora Core
    Server: Fedora Core 1 - i386 - GStreamer
    Server: Fedora Core 1 - i386 - GStreamer dependencies
    Server: Fedora Core 1 - i386 - Released Updates
    Finding updated packages
    Downloading needed headers
    Resolving dependencies
    .......Unable to satisfy dependencies
    Package gstreamer06-plugins-extra-dvd needs libdvdnav.so.0, this is not available.
    Package gstreamer-plugins-extra-dvd needs libdvdnav.so.0, this is not available.
    Package gstreamer-plugins-extra-video needs libfame-0.9.so.0, this is not available.
    Package gstreamer-plugins-extra-video needs libswfdec.so.0, this is not available.
    Package gstreamer-plugins-extra-video needs libswfdec.so.0(v0.1.4), this is not available.
    Package gstreamer06-plugins-extra-video needs libfame-0.9.so.0, this is not available.
    Package gstreamer06-plugins-extra-video needs libswfdec.so.0, this is not available.
    Package gstreamer06-plugins-extra-video needs libswfdec.so.0(v0.1.4), this is not available.

Really don't want to have to compile everything. Last time I did it, it was really time consuming, and had all sorts of dependecies. Hopefully someone on the GStreamer mailing list will be able to help.

Everyone seems to be creating avatars for themselves now. Well, if you are a South Park fan, then you can use South Park Studio to create yourself as a South Park character. Maybe Advogato can allow people to upload avatar images :-)

Well, posted my first article here: http://www.advogato.org/article/574.html. Curious to see what kind of response it will get.


Continued the work on VNC to add printing support. (The work continues.)

As part of my VNC work, I intend to create a library for VNC clients. It's purpose it to make the creation of VNC clients much easier. (Of course the library will handle the printing stuff too.) Which means that I should be able to use the same library to create the GNOME VNC Client, as the Windows VNC Client. (Of course, this is source code compatibility across platforms, and not binary compatibility.)

Well, I haven't written anything here for quite a while. I takes alot of work to start and run your own company... and work is something that I have been doing alot of. (But anyways, to the open source related stuff....)


Lately I've had the time to do some work on Moonlight|3D. First, I've adding alot to the website. The new web site is alot better than the previous one pager I had there. (I'll probably make it go live later today... or maybe tomorrow.)
I've also been hacking the Moonlight|3D source code. Right now, I'm doing some of the dirty work. Just going through the code, adding comments (to help other developers), cleaning up the code, fixing minor bugs, and doing some updates. In addition to helping out the other developers, this helps me understand the code base. (After I do this, I'll start adding some of the additions I'd like seen added to Moonlight|3D.)


I've also been working on VNC lately. I'm actually get paid, by one of my clients, for this one. I'm adding printing support to VNC. (This is the biggest thing I've had request, for VNC.)
Don't think I've mentioned this yet in my diary, but I'm now a member of the VanLUG steering committee. (I got asked to join after I started organizing the Linux Multimedia Conference.)
Also, to help better promote VanLUG, I've registered the domains VanLUG.com and VanLUG.org; and set them up on my web server to forward people to VanLUG.bc.ca. (These two domains, are the most likely mistakes, for the VanLUG's website's URL.)
Yesterday was the last day of COMDEX, here in BC, Canada. The VanLUG booth did very very well. And was one of the most popular booths there!
This year I volunteered and was there for the first half of the first day of COMDEX, and all of the third (and last) day of COMDEX, for the VanLUG booth. (So I was there for half of the conference.) I (and another person) set up some Multimedia demos. (The demos seemed pretty popular with the crowd). One on the demos displayed various Linux Multimedia desktop applications. The other demo was a DirectFB demo. (Both demos made it easy to talk about, and create a buzz about, the upcoming, and still unannounced, Linux Multimedia Conference.)
I did alot of talking while manning the booth, on a variety of topics... not all about Linux... but most were. Which is good! Linux got promoted. VanLUG got promoted. The upcoming Linux Multimedia Conference got promoted. And I was even able to promote my company. (As did the other volunteers there, who had a company or worked for a company, that dealt with Linux in some way.)
All in all, it was a great experience, and I look forward to helping out next year.
I find it amusing, what will come up when you search for your name on a search engine (like Google).
I did just that today, and found out that I'd been quoted in an article. The article can be found at: http://alumni.ucsd.edu/headline/wi02/022802_lindows.html
I've found that you can also find interesting results if you search for the e-mail addresses that you use. Or search for things that link to stuff like your homepage, your resume, or to websites/projects/etc that you have some affiliation to.


Just when I though I was starting to get some free time... to work on matterial, GStreamer, or Moonlight 3D... work picks up full speed.
And I just started writing gst-gen -- a mini-programming-language/compiler to generate GStreamer objects/plug-ins.... I hate having to put these things on hold!
What I'd love is to get some funding,... the way artist will get funding to work on pieces of art,... so that I could work on my various projects... and still be able to make a living, feed myself, etc.
GStreamer & Functional Programming
Well I actually had some free time today, so I started to create what I discussed in my previous Journal entry.
The tool I am creating is called: gst-gen. Eventually it will read a source file (of a yet to be created programming language) and then, from that, create header file and program source file (in C or C++) for the GStreamer plug-in. So far I am able to create the shells for the header file and the program source file. The next step is to define the new lanauge (which will probably be alot like haskell), and then write the parser, etc.


Played Roller Hockey. Hopefully the weather will be nice enough tomorrow so I can play again.
Linux Multimedia Conference -- BC Linux Conference
Work for the (yet to be announced) Linux Multimedia Conference moves forward.
It now has a website, although there is nothing really there yet. The website is at LinuxConference.org. I was amazed that that domain was available.
I've been talking to a professional artist about having him, and his company, design the look and artwork for the Linux Multimedia Coference's website, along with other types of artwork (... like posters, etc).
I've postponed the initial announcing of the Linux Multimedia Conference until we get something decent on the website. To me (and alot of people), a website is the face of you project (or business, or whatever). And, it would be nice if we have a decent face (i.e., website) for our conference.

GStreamer & Functional Programming

I've been thinking that creating GStreamer plug-ins using a functional programming language (like haskell, etc) would be powerful method to create these. (And get rid of all the overhead one has to deal with, from the GObject stuff, and other things). For example, we might have something like:
VideoEffect (x:xs, y:ys, i, k)   =

    ComposeVideo(   GiveAlpha(x, i),  GiveAlpha(y, 1-i)   )   :   VideoEffect(xs, ys, i+k, k);
Where this plug-in would do a simple fade transition. (Obviously this has some bugs... but I'm trying to make the code simple.)
I wish I had some free time, so I could implement this! But I don't... I have to do the work that feeds me.
5 Mar 2002 (updated 5 Mar 2002 at 09:40 UTC) »
Linux Multimedia Conference -- BC Linux Conference
As I've stated in my previous Journal entries, I have been working on organizing a Linux Multimedia Conference in BC, Canada.
Things have been moving alot quicker than I expected. (Which is good!) It seems we'll be able to get some really big companies sponsoring it. And some big organizations backing it. I won't say who yet... because nothing is official yet... but things are looking very good.
In just a little while, I'm going to send out e-mails (to the various Linux Multimedia Communities) to see what kind of interest there is in the Linux Multimedia Conference. (The way things are going I expect there to be quite alot.)

Restting the Windows NT/2000 password with Linux :-)

At a meeting I had today, with some other VanLUG members, someone mentioned a tool. This tool will reset the Administrative password on a Windows NT or Windows 2000 machine (using Linux). This will be very useful. (It also shows how pitiful Windows' security really is.) The link to it is: http://home.eunet.no/~pnordahl/ntpasswd/bootdisk.html
BC Linux Conference -- Linux Multimedia Conference
Well... I've already been getting e-mails from people saying they want to help organize the conference... or that they want to attend. Which is great! (Anyone else wishing to help or attend,... e-mail me and let me know.)

matterial, GStreamer, Moonlight 3D, etc

My work seems to becoming less busy... and thus it is starting to look like I should have some time to work on my various projects soon :-)
I'll be able to continue development of matterial Junior and other matterial stuff. I'll be able to finish my Movie Plug-ins for GStreamer. I'll be able to finish my C++ bindings for GStreamer. I'll be able to turn the Moonlight 3D renderer into a GStreamer plug-in.
And then I can work on some other stuff :-)


amars, in your Wednesday February 27, 2002 journal entry you said:
Why would the world need yet *another* linux conference... it may be due to my ignorance (from lack of experience af actually attending one) but do any of these Linux/Free Software/Open Source conferences ever accomplish anything? I would say 4 good themed conferences per year (one each quarter) would be enough. With the occasional specific project oriented conference thrown in at random.

And my reply is:

The problem with all these other Linux Conferences (for me... and some others) is that none of them are near by. (There doesn't seem to be any Linux Conferences in or near BC.) Which is what started why I started trying to organize a Linux Conference for BC.
Another motivation is that I'd like to see a Linux Conference that focused specifically on (Multi)media. And so far, there are none that I know of that do so.

21 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!