Aug 24 2007

Watch and learn

I’ve seen a couple of good videos from the Google Tech Talks series that I thought I’d pass along. The first one is a presentation on DTrace by Bryan Cantrill. It’s a very good introduction to DTrace and, I’ve got to say, his presentation style is great. I like that there basically is no pre-set presentation. He just runs DTrace and goes to it. Anyway, see for yourself: DTrace Review.

The second one was posted by Nathan and is a really interesting talk on API design. Check it out: How To Design A Good API And Why It Matters.

There seem to be quite a few good videos coming out of the Google Tech Talk series. I just wish they were a bit higger resolution


Mar 05 2007

Contributing to OpenSolaris

Categories: Computers, OpenSolaris

Well, I managed to get my first patch into OpenSolaris. It wasn’t anything major, just a couple simple script fixes but, it did get me to go through the entire process of contributing. A bit of a daunting task as there are a lot of things to keep in mind.

I also opened my big mouth and suggested an article for new developers.

I’ve decided to put some form of money where my mouth is. Possibly Monopoly money.

Anyway, here goes, some information to keep in mind when contributing to OpenSolaris.

OpenSolaris can be a bit of a frightening community. There is a lot of stuff going on over there. Some parts have a lot of activity, some have none. I guess like any community. The problem with this is it can be really daunting to get involved. Where do you start? What do you need to contribute? Hopefully this article will help.

Your first step on this road is to start getting involved in the communities. This really depends on what you want to help with but in general, signing up for OpenSolaris Discuss is probably a good place to start. After that it depends on what you want to do. If you’re looking to submit code patches it’s probably a good idea to sign up to the OpenSolaris Request Sponsor list which I’ll explain in a little bit. There are also lists relating to documentation, new users, system administrators, DTrace, ZFS and many others. Take a look through the OpenSolaris Forums page and see if anything strikes your fancy.

Ok, the rest of this article is going to be coming at this from the coding perspective as that’s where I’m coming from. Things are probably similar if you’re helping out in the other parts of the community.

Before you’ll be able to commit any code back to OpenSolaris you’ll need a contributor agreement. This is an agreement between you and Sun giving joint copyright on the code you submit. Without this agreement your code won’t be allowed back into OpenSolaris. You can learn more, and actually get the agreement on the agreement page. There is also a contributor agreement FAQ available.

When the agreements have been processed by Sun you will receive a contributor agreement number. Hold onto this number as you’ll need to reference it when submitting code.

While our agreement is off being reviewed by Sun we can go ahead and get ourselves setup to do some development. The first thing you’ll need is a base system to install OpenSolaris onto. You can get more information on getting setup here. The downloads page also gives some links to various distributions and build instructions.

Once you’ve got a base system installed you can either grab the current source code as a tarball or from the Mercurial repository. The tarballs are available at: http://dlc.sun.com/osol/on/downloads/current/ and Mercurial information is available on the project page.

The process to build and install the software is laid out in the README and in the Developers Reference Document.

When you get everything installed correctly, and if you’re like me this means doing it at least twice as the first install turned the computer into a brick, you can start fixing bugs and adding features.

There are a few different places you can look for stuff to work on if you don’t have something in mind already. The OSS Bite Sized list is a good place to start. These are bugs that are considered small and good starting points. Before embarking on any of these you might want to check the Request Sponsor list to see if anyone is working on the bug yet.

You can also search the bug database for other bugs to work on. A couple of the possible search keywords include:

  • oss-bite-sized
  • speeling
  • oss-request

When you’re change is complete you’ll need to make a diff of the change to send in for review. There are a couple of different ways to do this depending on what system you used to receive the code.

If you’re using Mercurial you can do something like (note my Mercurial usage sucks and there is probably a better way to do this):

hg commit
hg export tip

This will output a diff of the last change commited. You can also do hg diff and give it a revision number to get all the changes from that revision.

If you’re working with a tarball then you’ll probably want to resort to trusty diff. Before you start editing a file make a backup copy of the file and then something like diff -u file.old file should do what you need.

With your diff in hand you can now send it into the request sponsor mailing list. In order for your code to be put back into the main repository you require a sponsor within Sun. The request sponsor mailing list is where you can go to ask someone to sponsor your work. In order to make it simplest for the developers you can set your subject line to be the bugid and bug synopsis (eg: 6489619 *nightly* options list should be sorted) or, if the patch fixes multiple bugs, just list the bug ids in the subject.

The body of the email should contain, again, the bug id, the bug synopsis, your contributor agreement number and have the patch attached. Any other information you think is relevant, like why you fixed the bug in a specific fashion can also be helpful.

At this point, hopefully, a Sun engineer will pickup the bug and run with it. They’ll integrate your patch into their repository, do some testing, send out a request to get some reviewers and all the other dirty work. There is probably a good chance they’ll come back and ask for some changes to the patch. Nothing to worry about, this is normal. Make any needed fixups and send them a new diff.

If the patch changes something fundamental in Solaris then you might need to get ARC review. I’m not exactly sure how this works as I’ve never had to deal with it. Just listed here as a quick heads up.

That’s it. Hopefully at this point you’ve got something integrated back into OpenSolaris.

Resources


Sep 30 2006

Drinking from the Bit Bucket

Categories: Computers

A couple of random computer tidbits for my reading audience. If you ain’t a computer fan you probaby aren’t interested.

First, benr seems to have gotten his hands, or at least his work hands, on one of Suns sexy new Thumper boxes. So, this is what it’s like to initialize 20 terabytes of storage. God, that is one fucking smoking machine.

benr has also been busy with his articles on all things Solaris 10. His most recient article, Streamlining Zone Creation Thanks to ZFS Integration shows just how easy, given a recent Solaris build, it is to hook zones and ZFS together. The simplicity Suns got with these tools, and the power their hiding underneath is amazing.

The last little tidbit, more of a reminder to myself, is about my damn Ubuntu desktop. Seems, at some point in the last month or so, I managed to upgrade my kernel, or maybe my xserver, not sure which. This upgrade, when my compter was forced to reboot due to power outage, caused some nasty shit to go wrong. So, if you’re seeing your xserver hang, keyboard not responding although I can move my mouse, and you’re running nvidida, and you’re on an AMD64 machine, it’s possibly your AGP drivers. This post solved the issue for me.


Jul 11 2006

Suns and Penguins and Apples. Oh my.

Categories: Computers, Rambling

Over the last few months I’ve been using a few different operating systems. Either for work or at home. I’m currently running Solaris 10 6/06 on my work laptop, some version of Gentoo linux on my work desktop and home desktop and OS X on my laptop at home.

I’ve been using Linux as my primary desktop since sometime around ‘97 or so. Enlightenment being the window manager of choice for a lot of that (except when we were in the labs at school and it was a version of twm.)

Even with all the work that the Linux developers (myself included) and the Sun people (and other GNOMEies) have been doing, it just dosen’t hold a candle to the Apple experience.

I don’t know what it is per say. Everything just feels, smooth. Don’t get me wrong there are bumps, like some apps closing when I hit the X in the top corner when most others just hide the window. But, those are minor compared to the hoops and loops that are involved in the Linux/Solaris desktop.

When you combine the Apple desktop with things like Quicksilver everything just becomes sweet. There is also the most excellent Textmate which has been weening me off my VIM addiction (at least on OS X).

Don’t get me wrong, I still love the other Operating Systems. DTrace, ZFS and SMF make Solaris smokin’ hot at the moment. You can do so much cool development type stuff on Solaris, from performance tuning to memory checking that it’s very happy making.

Linux has great tools under it’s belt as well, Valgrind being a big one. The dual-head support with TwinView on Linux just seems to work better then on Solaris, at least for me with two heads that I want to act independently but be able to move windows between them.

So, whats my point? Well, I don’t have one. I’m just say’n is all.


Jul 06 2006

Feeding the peanut gallery

As you may have noticed, I'm trying to get in the habit of updating this on a semi-regular basis (as opposed to my once every 1-3 month habit). We'll see how it goes.

Still working on everburning. I've got the quotes and the news sections done and could, and may, put them online. I'm currently working on the photo gallery which could be difficult depending on what I do. I still have to check that textdrive supports rmagick, and if they don't, if they'll install it. But, assuming I get some time, I should have something up relatively soon. Once it's up I'll move this blog over there. I just like controlling my own stuff I guess.

I've been trying to get back into EWL programming and to that end have done a couple of little cleanups/fixes in the code. Nothing major, my brain isn't ready to accept working on anything like ewl_tree2 or ewl_paned at the moment. I think it's coming back, just taking a while.

Nathan has some interesting plans in the works to abstract out the EWL graphics a step further. I've currently pulled out the window and canvas code into engines (it was already wrapped in #ifdef's just had to extract it out) but he's thinking of taking it a step further and abstracting out all the evas/edje related calls in the code. This would give us the flexibility of completely changing out backend. So, you could have a gtk/pango backend along side the Evas/Edje backend.

I've actually been spending a bunch of my time lately looking up information on D20 Future. I've owned this for a while and Anderson is currently running a campaign in it for a couple people but I'm toying with the idea of making my own campaign. So, I've been looking up other peoples ideas and other tools that might be useful for this kind of thing. If you've got any suggestions send me an email and let me know. Not sure if it'll pan out or not, I have a tendency to get bogged down in details (and with a whole galaxy to work with, that's a lot of details.

On a final note, the wedding plans seem to be coming together pretty well. We sent out the invitations the other day and they've started to arrive (I still have to get two addresses, I'm a bad man, heh). Other plans seem to be coalescing into something coherent as well. It should all be good. I hope.


« Previous PageNext Page »