Titanium Beta Launch Party

If you’re in the San Francisco area on June 9th, check out the Titanium Beta Launch Party.
I can’t go so you should go for me!

Full details found here: http://bit.ly/5YAv

I know it’s a little redundant because most people stumbling here will already know about it but just in case you don’t, well now you do.

Running Titanium on Gentoo

(This assumes an x86 system – although ppc also works as long as you replace all the so files!)
In order to get Titanium working on Gentoo, you will need to build a few things yourself since they don’t have a patch for webkit (yet – they are working on it :) ) and also a few other files will need to be replaced.

This is how I did it. First I checked out the titanium git repository

cd ~/sandbox
git clone git://github.com/marshall/titanium.git
git submodule update --init
cd kroll
git pull origin master
cd ~/sandbox

I read through the readme, and installed the different dependencies.
sudo apt-get install build-essential ruby rubygems libzip-ruby scons libxml2-dev libgtk2.0-dev python-dev ruby-dev libdbus-glib-1-dev libnotify-dev libgstreamer0.10-dev libxss-dev libcurl4-openssl-dev
is their suggestion, however on Gentoo, these are a lot different.

I found that libzip-ruby (rubyzip?) was not needed, and on Gentoo installing the packages themselves gives you the “dev” packages, so

emerge ruby rubygems scons libxml2 gtk+ dbus-glib libnotify gstreamer libXScrnSaver curl gperf

Once this is finished, you will have to do a little bit more work – We don’t need poco installed, but we will need to compile it ourselves, along with the titanium version of webkit (they’ve got it “patched” to support app:// urls – no actual patch yet (but they are working on it!))

We also need to use their version of libcurl, which is also patched, however again, we don’t need to install it to our system, just build it.

git clone git://github.com/mrobinson/libcurl_titanium.git
after the checkout, we just ./configure && make

Now we need to check out their copy of webkit, please note that this one WILL take a while to check out, so go grab a coffee, watch a good TV show, or perhaps hit the pub with some friends (I prefer the latter)
git clone git://github.com/marshall/webkit_titanium.git
… some random amount of time later…
git checkout --track -b titanium_pr2 origin/titanium_pr2

Now we are on the titanium_pr2 branch, which is what is currently in use, although they are migrating to ToT for WebKit which will allow us to use libsoup in the future, rather than the curl that is currently in use.

We need to link against the libcurl_titanium and not against the system libcurl, so we need to export 2 variables.

export LIBCURL_CFLAGS ="-I/home/username/sandbox/libcurl_titanium/include"
export LIBCURL_LIBS ="-L/home/username/sandbox/libcurl_titanium/lib/.libs -lcurl"

and then we just use the build.py script to build since we won’t be installing this into the system either. so…
./autogen.sh
./build.py

Depending on your processor (this takes around 15 hours on my Efika which is 400mhz with 128mb of ram) go ahead and go back to the pub, go to work, cook yourself a nice meal… you get the picture.
Once it is finished, assuming the titanium checkout is in ~/sandbox/titanium and the webkit_titanium checkout is in ~/sandbox/webkit_titanium you just run ./copy-libs-to-kroll.sh

Now we need to build poco, you can either emerge it, or just fetch it via emerge, and build it in your ~/sandbox (or wherever you are doing this at) once it is built (it really doesn’t take that long) you need to copy the .so files to ~/sandbox/titanium/kroll/thirdparty/linux/poco/lib/ – you can look at what is currently in there to know which files to copy. I tend to use cp -a so that the symlinks stay symlinks. You need to copy the libcurl .so files that were built in ~/sandbox/libcurl_titanium/lib/.libs into ~/sandbox/titanium/kroll/thirdparty/linux/libcurl/lib – again just the files that are needed.

As part of building webkit (assuming you didn’t have it installed on your system, you need to build icu, currently 3.8.1-r1 is the latest in portage, which is what is currently used in titanium as well.

I’ve submitted a few patches that have already been implemented to allow for the different paths for python and ruby that Gentoo uses, so at this point you should be able to go into ~/sandbox/titanium and run scons debug=1 dist and it should build. Once the compilation is completed, you should have a ~/sandbox/titanium/build/linux/dist directory which includes the titanium sdk as a .bin file as well as a .tgz file. Simply run either sudo sh titanium-sdk-0.4.bin or chmod +x titanium-sdk-0.4.bin && sudo ./titanium-sdk-0.4.bin in order to install it.

Please note – at the time of this writing, PR3 has been released, and the current master is what PR4 (or beta) is going to be based on. This is *very* much in flux, and it may be hit or miss on compiling and/or installing. Currently when installed (which needs to be done as root) the files do not all get the proper permissions, and you will likely need to go into /opt/titanium/modules and change all the .so files to be 755 and all the manifest files to 644. There may be others as well, but I cannot recall at the moment.

As a side note: if you want to use what is known as the PR3 release, you can (and probably should) use checkout --track -b titanium_pr3 origin/titanium_pr3 inside ~/sandbox/titanium as well as making sure to switch to the titanium_pr3 branch in kroll if you do that. (but why would we? We’re Gentoo users, we like bleeding edge ;) )

At this point you have a working Titanium Developer that you can run via the console ~/TitaniumApps/Titanium\ Developer/Titanium\ Developer

Enjoy writing webapps that don’t require Adobe Air!

Also, if you find any issues with this post please leave a comment and I will try to get it corrected as soon as possible.

Efika ppc packages back in action

Just wanted to make a quick note that the Efika packages are being synced to tinderbox once again – these are *unstable* packages, as I run ~ppc on the box now. There are many instructions on how to use this, but I will add some after I have more time. For now, the url to use for getting the packages (and to see what is available!) is:

http://tinderbox.dev.gentoo.org/default-linux/ppc-efika/

Edit: Well, I will be uploading the packages, I am probably going to need to bump my kernel to git on there for some libata changes that aren’t in 2.6.28, I keep getting io errors while syncing.

More HAL and ISC Licensing…

Sam Leffler, maintainer of the binary HAL that is also used in MadWifi
releases, has released the source code for his HAL variant under ISC
license. It is available through a Subversion repository [1] (web
interface at [2]), which is also be used actively for development and
further improvements.

In his announcement, Sam states:

“Coincident with the release of this code I have concluded my agreement
with Atheros whereby I had access to information about their devices.
This means that in the future all fixes, updates for new chips, etc. will
need to be a community effort. Atheros states the Linux platform will be
the reference public code base so folks wanting to add support for other
platforms will have to scrape the information from there.”

“Linux platform” refers to ath5k and ath9k. Interested parties are advised
to attend the ath5k-devel [3] and ath9k-devel [4] mailing lists. These
lists may be also used to ask general questions about the chipsets
supported by the respective drivers.

[1] svn://svn.freebsd.org/base/projects/ath_hal
[2] http://svn.freebsd.org/viewvc/base/projects/ath_hal/
[3] https://lists.ath5k.org/mailman/listinfo/ath5k-devel
[4] https://lists.ath9k.org/mailman/listinfo/ath9k-devel

Computers Suck.

Efika cases?

So, I have an Efika, and I absolutely love this lil machine, but it needs a new home… no, I don’t want to sell it or give it away, I want to get it an actual case so I don’t have to keep putting it back in its cardboard box every time I want to take it somewhere… The only links I’ve found are on the Gentoo Wiki site – The blog post about a case being made and sales of it, is a 404 now, and the link to Genesi’s site to buy it is also a dead end…
So, anyone out there sell them? Mine has an AGP Radeon 7000 with the VGA adapter removed, so only the DVI output remains, so the ability to swap around the back would be nice (Sometimes I like to throw an nVidia card in there ;) ) – but not necessary. Unfortunately, I don’t have many (read: any) tools anymore, so building the case myself is out of the question.

Real Life

Wow, I have no idea why it is so hard to write this post. This is the 4th time I’ve wiped everything out and started it over again. So, I have now moved – or sort of – I am still in the process of moving. I’ve moved in with a guy I’ve known for a while – 5 or 6 years, because his roommate decided to move out and since all of my bills have gotten so backed up, it seems almost impossible to dig myself out from them without having a roommate. I got my job at Centipede Networks back, and have been there 2 or 3 weeks now. It has been really nice working there again. I absolutely loved working there before, but I got side tracked by things that didn’t matter, and so they let me go because they felt that I didn’t want to work there any more. After that, I kind of slid downhill. I took a month “off” and after that, I started looking for a job. But not extremely hard. I’ve been dating Marsha for somewhere around 5-6 years, and she talked with me quite a bit during all of this time, and got me kind of pointed back online. Even going so far as to consider actually being with me – in fact, we were planning on moving in together. At that point, I knew I had to get serious about a job, because she has kids, and if I was going to be supporting them, I needed to get a job, one worth keeping, one worth going to day after day, that would make sure to pay the bills and not be one that I would want to quit after a few days of working there. I thought I had found it, working at Atlantis Plastics – it wasn’t the greatest of jobs, but the pay was amazing, and the hours were good as well, except that I want to go back to college and get a degree.

Then I got laid off from there. At this point I wasn’t sure what to do. Chris was moving to Oregon, and I don’t really have that many friends here, so I went with him to the coffee shop we normally go to, and he and I talked for a bit, and then Ben showed up there as well. He and I talked for a bit as well, and then we stepped outside to smoke, while Chris stayed inside, since he is a non-smoker. Ben asked me about Centipede Networks, and if I had liked it, and then mentioned that he was waiting to hear back from a job in San Francisco, and if he got it, he would probably be leaving Centipede Networks for the other job. He said I should email Kirk there and possibly talk to him about coming back, the worst that could happen would be they say no. I told Ben I didn’t think they would be open to it, but I would consider it.

After much deliberation, and talking to Marsha about it, I decided to go for it. So I emailed them, and we talked, and they decided to give me a shot. So I’ve been there for about 3 weeks now, and loving it again.

Through all of this, Marsha has been my rock, my foundation, the person who I could turn to to talk about anything. And she always has been… until now. I really don’t understand what is going on, and I can’t really talk to her about it, because its all on her end really. We will go back and forth about things, we will be together, and then we won’t, and then we will, and then we won’t. It tends to take a toll on you, it really does. There have been so many times where I have been so close to just calling it all off, not wanting to deal with everything anymore, but to this day I continue, because above all else, she is worth it to me.

Now, she is working on things that she needs to work on, doing the things that she needs to do, and even though we only live around 20 miles away from each other (at most, I am not actually sure how far we are exactly) we mainly talked online, due to various different reasons, and because of all of this, she is rarely ever online anymore. I love her, and I do support her, even if it does frustrate me because we never talk anymore.

I am not sure where I was going with this post. I guess I just wanted to tell Marsha I miss her like crazy, and let everyone else know what all has been going on with me lately, although it isn’t extremely detailed.

diigo-links 10/07/2008

Atheros released their HAL under an ISC license

This is NOT the same HAL that is used by madwifi-ng – just to hopefully stop some of the questions – This mail was sent to the ath5k-devel mailing list last night

As part of our commitment to help support all of our Atheros devices
under Linux we’d like to announce the release of our Atheros HAL for
our 802.11abg chipsets under the ISC license.

You can find it here:

http://www.kernel.org/pub/linux/kernel/people/mcgrof/legacy-hal.tar.bz2

This can be used as a source of documentation to help ath5k move
forward to support our 802.11abg chipsets as best as possible in
the Linux kernel. We look forward to keep working strongly with the
community on advancing support of all our Atheros chipsets under Linux.

Luis

Awesome. Simply Awesome.

Thank you!

I want to say thank you to everyone who helped me keep my apartment – the money has been collected, I just unpacked my car back into my apartment, and tomorrow morning I go to get the money order… everyone has really amazed me, and honestly, I can not thank you all enough! After I get the money order, I will take the picture, but for now, I need to scoot out of here and get to bed so I can be rested for tomorrow :)