Wednesday, January 7, 2009

Root on G1

I never post because I feel I dont have much to say. Actually thats not true, I have alot to say, I just feel I have to have something very profound and edited to say. Well, screw that. I just got a G1 for Christmas. Unfortantly it was an RC30. So I was reading the arm assembly (yeah that sounds weird) of the boot loader that someone had posted. I was all prepared to dig very deep for root on this phone. Then someone posted an RC29 downgrade; I spent a couple hours and had root. Its nice to have root and maybe my assembly skills will pay off someday. So now I have root! I am looking into development of apps on it now. I cant believe there is still not a text game where you make words from 6 letters.

Friday, November 9, 2007

"Can't we all just get along"; a commentary on the state of proprietary software

Recently I have taken up photography as a hobby. I bought a digital SLR camera, and started emersing myself in the culture and information. Now, I had taken some photos before with my 'point and shoot' camera; some turned out good, others left something to be desired. So in my quest to further my photos I wanted as much control over how the photo came out as possible. In digital this meant shooting in a raw file form instead of jpeg. That way I could control aspects like, white balance, exposer, etc. However if you don't know already I use Linux as my Operating System instead of Windows or Mac. I was concerned that this could be an issue seeing the every camera manufacturer has its own proprietary raw format. All this means is they don't publish information on how others can read the file format. I was please to find though that someone in the open source community had reverse engineered the file format and figured out how to read it. So I had a program that would read my raw files, things were looking up.
Although, I quickly found that one of my favorite open source programs, the Gimp, did not support 16-bit colors per channel, and another program, Cinepaint did not compile under Gentoo Linux (still looking into why). Determined that I was to make a go of this photography endeavor, I grabbed a copy of Adobe's Photoshop since this is what a lot of photographers use. Now Photoshop will not run under Linux, Photoshop is a proprietary program, which means Adobe does not give people enough information to run it in on other platforms than Windows and Mac. The information needed to do such would be the source code to Photoshop which is why it is "closed source" as apposed to "open source" where the source code is given. So I installed vmware and ran Photoshop in Windows on Vmware in Linux. Here is were I ran into the problems. You might say "Well of course, with all those layers things could get slow and cumbersome". Well actually any sluggishness would be expected, but it ran quite well as long as it did not swap much to the disk.
I have around 40 gigs of photos now and to make sure I did not loose them if a hard drive crashed. So I set my self up a server in my house with a raid like system (actually ZFS on freeBsd but that is not important). I wanted some way to be able to have my photos on the server, transfer to my laptop the ones I needed to work on, and transfer then back when done. I could do a bunch of file copying, but I wanted some more automated way. I noticed in Photoshop there was a "check-in" option on the file menu. After some research I found that Adobe had kinda the same idea and has options for that kind of work flow. This was great, I even found evidence(http://www.cellbio.duke.edu/faculty/klingensmith/Adobe%20Photoshop%207/Help/1_5_10_0.html) that had Photoshop supported WebDAV (an open protocol for transferring files to a server).
I say had because as soon as I got a WebDAV server up and running, I could not get Photoshop to connect to it. The only server like functionality that Photoshop presented to me was a thing called "Version Cue". After trying to connect to my WebDAV server with "Version Cue" and seeing the error message, I knew it was not going to work. After some more research I could not find any reference to WebDAV support in the newer versions of Photoshop. As far as I can tell they took it out in favor of "Adobe Version Cue" a product that they develop and give away. That is "give away" with a higher priced suite of tools they sell. I heard a rumor that Version Cue was java based and maybe would run on another platform other than the Mac and Windows they sell it for. After getting my hands on it, I dug deep into it, though xml and java class files. Only to find the rumor was wrong. It has native libraries that it links to from java code, and thus was the end of that. Now if I wanted to I could still change my server to Windows or Mac and run it that way. I decided not to. Windows does not and probably will not have support for ZFS, which I am really attached to for the safety of my photos. Macs, as of the time of this writing, do not have write support for ZFS only read support. Plus I can't just go buy a copy of Mac OSx and run it on my non-mac hardware machine (leagally). This is because Mac too is closed source.
In addition Adobe Lightroom (also closed source) will not will not load its photo library from a "network" share". I put "network share" in quotes because this is how vmware attaches storage from the host to the guest as a network share, even tough it is really local. If Lightroom was open source it would be trivial to solve this issue for my problem but it is not. I find myself going down the path of proprietary vendor lock in. If I use one piece of proprietary software I am forced into buying more proprietary software to interface with it usually from the same company. Or I get to a point were I just can not do what I want to do because either the vendor does not allow it, or ties the product to an proprietary operating system that will not allow it. Because the proprietary software vendors control how their software gets used so much, they do not have very much reason to use open protocols. In fact, like in this WebDAV example, sometimes they have more incentive to not use open protocols, so they can limit use of their product to their product line and get more money.
I am not opposed to people making money. What I am opposed to is being forced down a path to spend more and more money to be able to do less and less with the products. I feel so confined in theses boxes of closed source software, and I find my self screaming "Can't we all just get along!"
As for my situation I am still using Photoshop but I have written a program that using rsync to check out and check in my photos to my server. One of my next projects is to help the GEGL project which will support 16-bit colors per channel for the Gimp. The sooner I can break the grip proprietary software has in my life the freer I will be, and the more work I can get done.

Your friendly neighborhood hacker,
Clarke Hackworth