Fight DRM, Join the Free Software Foundation
Jun 27

Recently, after an update, I experienced some rather irritating problems with GNOME or any other GTK+-based environment (Xfce, GDM). Xinerama was not working properly. That is, I have TwinView enabled, but everything would span both monitors (except for maximized applications). This includes the GNOME panel, GDM login screen, etc. Xfce would recognize only one monitor rather than two. I spent many hours trying to figure out the problem. I initially thought it might bt GTK+, since that was updated before the problem, so I upgraded it even further. That was a mistake. The solution was to downgrade it.

The problem was that I was using the GNOME overlay in layman in order to keep up to date with GNOME (and I believe grab 2.22 before it was unmasked or available in portage). Unfortunatly, it kept going. It upgraded to 2.23, which is an unstable development version of GNOME. It has a number of problems, not just that. For example, the splash screen would not disappear unless you threatened to blow its brains out with the kill applet or xkill. Removing the overlay and “upgrading” (downgrade to 2.22) fixed all the problems.

So, moral of the story, don’t use the GNOME overlay for a home desktop or any sort of production environment. It’s great to keep up to date…but it’s better when the stuff actually works.

May 15

Ubuntu 8.04 LTS was recently released. So I upgraded a couple of my computers (that I’m far too lazy and have no time to maintain Gentoo on) to this new release to find that my wireless PCMCIA card did not work on my laptop. Okay - that’s fine. I’ve had this problem since I began using Linux years ago. However, unlike the previous release, Hardy Heron didn’t seem to list the driver for it in the restricted drivers. Granted, you need an internet connection to download the drivers either way, it would have been nice for it to say “Hey, we’ve got you covered!” So I was worried that it was for some reason removed from this release.

So, for those of you who have this problem - start by plugging it into a wired connection and updating your repositories (sudo apt-get update). Then in System -> Administration -> Hardware Drivers, the driver for your wireless device should be listed. Simply install it and restart and you should be good to go.

May 1

Well; after several wasted hours looking into what I believed to be a bug within the PHP core, I have figured it out. I want to post this in the hope that you, the reader, do not have to go through the stress I went through in attempting to resolve this issue (and almost restorting to a standards-defiant workaround).

I speak of creating a stream wrapper (I’m creating the datapack wrapper for the MyCustomBB project). When you call ftell() on the handle to the stream, the PHP core calls the stream_tell() function within the class defined for that wrapper (in this case, datapack::stream_tell). However, PHP only seems to call this function after you use fseek() on your stream. Until then, it caches the file pointer position itself. Okay, seems reasonable. However, unless your stream_seek() function returns a value of TRUE (or any non-false value), PHP ignores the fact that the function was called, and continues to cache it itself.

Okay, so what’s the problem? If you check the PHP documentation for the fseek() function, you will see the following quote for the return value:

Upon success, returns 0; otherwise, returns -1. Note that seeking past EOF is not considered an error.

Okay; to be complaint with this standard, my stream_seek() function returned a value of zero upon success, and -1 upon failure. Rather, it simply returned the value that was returned by fseek() (return fseek( $this->handle, $seek_pos);). However, 0 = FALSE. Therefore, PHP ignored it and would not call stream_tell() until I had stream_seek() return a value of TRUE upon success:

return ( fseek( $this->handle, $seek_pos ) == -1 ) ? FALSE : TRUE;

Then, it worked. You can imagine my irritation. However, in the PHP documentation, which I did overlook, it states that stream_seek() should indeed return TRUE on success. My bad, but very stupid of the PHP developers to do.

And just to think; I almost had to return the position via fseek() and use fseek( $handle, 0, SEEK_CUR ) in place of ftell().

Apr 8

Ah - the weather in NY is finally starting to look up. I’m sure it’ll be a while yet before it is consistantly warm, however it gives me a wonderful glimpse of how things will be. In spring/summer, the quality of my work (as well as quantity) tends to increase. Hopefully this means MyCustomBB will start to grow a bit more quickly than it has been.

Mar 10

Well, I recently ordered a Sansa e280 from Amazon. I was looking for a good mp3 player that the open-source firmware RockBox supported. I noted that the v2 series was not supported, but Amazon did not state that it was such a model. You can imagine my disappointment once it arrived.

After debating whether or not to return it, I decided to keep it. v2s are out now, so v1 I assume will be discontinued - RockBox will eventually support it. And I’d like to provide aid to the RockBox team however I can. Unfortunately I have not looked into the firmware so I will not be much help in the actual development, however I will provide whatever information I can regarding the player, as the dev team does not own any v2s.

Using the Sansa e200v2 Series on GNU/Linux

So, in deciding to keep it, I ran into a few problems. It was a bit frustrating, and in order to help save you guys some of the frustration, I’ll post some information on how to use it with GNU/Linux. Specifically, Ubuntu Gutsy.

Read the rest of this entry »

Jan 20

It’s rare that I release poetry, especially those that express some inner emotion. This is one of the few that I’ve written that seems fit for others to read.

Read the rest of this entry »

Nov 23

FSF Membership Card / Bootable CD-ROM FSF Stickers

A few days ago, I received my FSF membership goodies in the mail. Among these things were a bootable GNU/Linux membership card / CD-ROM, utility flash drive, a CD containing the source code for the files contained on the membership card, a small collection of articles and a very generous amount of creative stickers which I could not help but show everyone. Click on the image above to enlarge.

Nov 2

In an effort to give back to the open source and free software communities that has so positively affected both my life and career, I have become an Associate Member of the Free Software Foundation to provide my support. I encourage other open source supporters to do the same, or make a small donation toward the effort. For more information on membership, click the image on the lower-right hand column of this page.

With that said, GNU GPLv3 has been released and has some impressive improvements over version two. All my open source projects, most notably MyCustomBB, will adopt this new license.

I have also made my final decision not to return to developing for Microsoft Windows. All my open source projects will be cross-os / cross-browser, however I will no longer be developing projects exclusively for Windows. After getting Internet Explorer working on Linux (for developing websites to conform to its absence of standards), I have abandoned it completely and now exclusively use Linux (Ubuntu) and open source software.

Finally, on a lesser note, I’ve modified this blog’s theme to be a bit more fitting. Hopefully everyone likes it.

Feb 14

Not too long ago I decided to go open-source with my MyCustomBB bulletin board software. I couldn’t bear requiring licenses for it - I’m not that type of guy. I’ve wanted to create an open-source project for a while - a way to give back to the open-source community - so here it is.

Though open-source, the project’s design has not changed. It will still be the professional, completely customizable bulletin board that I originally intended. My goal is to give it all the features of current bulletin board systems, except make them a tad bit better. This will be an open-source alternative to major competitors such as vBulletin and InvisionBoard. Why do I think it will be better? Well, this is my passion. Those other guys seem to just be out to make money. I’m out to start communities.

Jan 10

Hand in hand the Ronan sleep,
Guard by guard they look and weep,
Skies of darkness fall on all,
Fires burning, life’s last call.

Held in prison, their own land,
Shown a sentence all but glad,
Past the hour children sleep,
Not to wake within this keep.

Each guards’ step would summon fear,
Actions shedding not a tear.
Soulless beasts, as we would call,
Bringing death to us all.

One by one, day and night,
Worthless courage would not fight.
Weakened bodies lay with fear,
Holding their last loved ones dear.

Such did happen until a night,
With a fire, hope did light.
Explosion cast, set us free.
Unsure of safety, we did flee.

Though hope was felt and freedom had,
Nothing saved those hurt so bad.
The mind and body, all so weak,
The Ronans’ future, very bleak.

So cast aside your horrid arms,
With spirit, let those free.
A lesson I hope you have learned,
From the horror that can be.

« Previous Entries

Copyright (c) 2006-2008 Mike Gerwitz