August 2008


Havoc,

I totally agree that embeddable languages is the way to go.  I’ve been using JavaScript heavily lately, along with the excellent Firebug for debugging (decent debuggers are something some very big languages are missing btw).  The biggest issue I have with JavaScript  is it’s lack of structure and horrendous scoping rules (this certainly doesn’t mean you are calling the containing object, especially when running a “method” from a callback).

What would really make JavaScript even more useful is the proposal for JavaScript 2. Unfortunately that presentation was made in 2006 but some, if not all of those features are part of the ECMA Script 4 proposal.  They even have a reference implementation up which is under a liberal license (I haven’t looked into it much but it links to a GPLv3 library).  As anything in committee, it is slow moving.  Hopefully we will see a finished spec sometime soon but I couldn’t find a timeline.

In the meantime there is an ECMAScript 4.0 to JavaScript converter call Mascara.  Unfortunately it is under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 license which means the code can not be distributed on many distributions because of the Noncommercial clause.  It isn’t always clear what constitutes commercial and most distributions I know of want to allow the possibility of for pay distribution or use in a commercial product by 3rd parties.  It also isn’t clear if that license extends to the generated code.  Does anyone want to write a GPL version?

Truthfully, I have a dirty little secret – I like JavaScript with all of its warts and hackish workarounds.  I like it because I know non-programmers who can grok JavaScript but can’t wrap their heads around Python or C.  I attribute that more to the environment than the language itself because it allows for the instant gratification of hitting the reload button and seeing something happen.  But what I like even more is the idea of embeddable languages bringing that sort of development process to GNOME.  There are a few apps that already do this and though it isn’t as easy as it is with the web whenever I have jumped into one of those apps, such as experimenting with writing a quick Vi mode for gEdit, it is amazingly simple.

What would keep me working in those environments would be an embeddable debugger, object viewer and UI/extension point tree.  Whoever writes those components and makes it simple to add scripting to any GObject app will be a hero in the community.  Anyone willing to sign up?

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

You know on my blog I see a lot of spam which gets caught by my filters but the funniest I ever see are the inept ones.  Here is one:

Your site regarding %TITLE% looks very interesting to me. I found it doing a search for %KEYWORD%….

If you can’t even get the template right … try harder not smarter, because I know you are as dumb as a rock.

In other news look for some Fedora announcements from me pretty soon.  I’ve been pretty under the radar recently in terms of what I have been working on.  It has all been public, just not publicised.  Revolutionary, probably not.  Those who know me know I like calculated improvements.  A step forward…let’s just say I am proud of what I am doing and have to praise Red Hat for having faith in me and my plans to let me work on things I felt were important.  There is a reason they are not just a pay check to me, and part of that is their belief in the power of free and open source softaware and the confidence in developers who work on the betterment of not just the company but the community and the ecosystem as a whole.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

You know what I dislike about emotional arguments?  They are backed up by specious logic and anicdotal evidence which is often so out there it verges on being part of a fantasy land people build up to feel that they are right.  Lets examine the argument:

It seems that a “feature” that Microsoft implemented in the Windows 9.x days has appeared in Plymouth. Yes that’s right, that “feature” the I.T. world grew to hate, holding down the Ctrl or F8 keys to get into Windows Safe Mode (http://support.microsoft.com/kb/180902/en-us) has invaded Fedora. Ouch!


Now, if I take a step back, I can completely claim the following:

  • Plymouth takes away my freedom of choice (a freedom that has become a basic Human Right
  • Fedora has taken three steps back to gain one step in the name of ‘usability’

The funny thing is Mac has this feature also (hold c to boot from cdrom etc). Let’s repeat after me, “having to hold down one key after boot does not take away my freedom of choice”. And while we are at it, why do people fling around phrases like “freedom of choice” so cavalierly? It gets to the point where those once powerful words become watered down and an instantly marks ones argument as suspect. I know, let’s give more freedom of choice by bringing up the bios every time they boot. There is a lot of choices in there.

If there is an argument to be had here it is about continuity and discoverability. On the continuity side, if someone is used to seeing grub every time they boot it might be nice to keep that feature or something equivalent on upgrade but not on a fresh install. On discoverability of the feature, I would agree this is where the fustration comes from. However for the small number of (potential) users who actually like grub it would be wrong to add another option to the install. It would be much better as part of system-config-boot and if possible as an option in grub itself so that people who need to switch often can set it the first time and never have to hold down a key again. Hell, if I dual booted a lot I would like to have a key assigned to each OS I boot into but then again with virtualization being pretty good, there are better ways to run a separate OS.

Put it this way. Users may have kicked and screamed when Windows integrated DOS but Windows usage still grew. When MS decided not to show the text boot menu, again usage still grew. The way I see it is polish opened up the world of computing to more and more people.  By not polishing Linux and staying in a mindset that change is bad we will be stuck in the past while the rest of the world moves on. That is not to say every change is good but good reasoning went into this particular change and so far I haven’t seen any legitimate argument for not having it. Let’s repeat again, “having to hold down one key after boot does not take away my freedom of choice”.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

For my Fedora friends who don’t read Planet GNOME (you should):

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

00011.jpg I threw together this dish a couple of days ago after sneaking out on Ty to go to the pet store and supermarket. I knew I wanted to make a mushroom cream sauce and when I passed by the Tilapia on sale at Whole Foods I thought it would be perfect. As all seafood needs some sort of acid to bring out the flavours, and since citric always works well, I was going to pick up a lemon when I remembered I had unused oranges at home. That would prove to be a great choice for this dish. I also chose string beans as a side because they are easy and are 99 cents a pound around here.  Warning, I love cream and butter (I cook mostly French style) so you can reduce and substitute to make the dish healthier but in reality when fresh, non-processed ingredients are used, health is more about portions than any one component.

Ingredients

Sauce:

  • 2 cups of baby bella (cremini) mushrooms sliced
  • 1/4 cups of onions diced
  • 1 clove of garlic diced
  • 2Tbsp. butter
  • 1/4 cup of white wine
  • 1/2 pint of heavy cream
  • 1 bay leaf
  • 1tsp. powdered cayenne pepper (adjust to taste)
  • salt and pepper to taste

Side:

  • olive oil (enough to coat beans)
  • handful of string beans per serving
  • a clove or two of garlic sliced
  • salt and pepper liberally

Main:

  • olive oil  (coat bottom of pan)
  • 1 tilapia fillet per serving
  • 1/2 orange per fillet (juice and zest)
  • a small sprig of fresh rosemary (reserve some for garnish)
  • fresh parsley for garnish
  • salt and pepper liberally

Instructions

Prepare the fish by marinading the fillets in fresh squeezed orange juice and dusting the sides with salt, pepper,  shaved zest from the orange rind and rosemary leaves.  Set aside.  Make sure not to leave it marinading too long (5-10 minutes is good) as we are not making cevice and don’t want the acid to cook the fish.

Start the sauce by sautéing the onions in a small pot with 1Tbsp. of butter.  Add a pinch of salt.  After a few minutes add the rest of the butter and the mushrooms and some pepper.  Sauté until the onions are translucent and the mushrooms soft.   Add the garlic towards the end of the sautéing process being careful not to burn them. Next add the wine and boil off the alcohol.  Finally stir in the rest of the ingredients and adjust the seasoning.  Let the sauce reduce and thicken on the stove.

00010.jpgNext start on the string beans.  In a bowl coat them with olive oil, salt and pepper.  Drop into a hot pan and sauté them until cooked but still crunchy.  Getting a sear on one side of the beans will enhance the texture and flavour.  At the last minute add the garlic slivers.  Put this mixture in tin foil to keep them warm.

00003.jpgIn the same pan, wiped with a clean dish towel, put enough olive oil to coat the bottom.  Make sure the oil is hot and place the tilapia fillet in the pan.  Cook until the fish becomes flaky and delicate (3-6 minutes per side).

On a plate place the string beans to one side and the tilapia on the other.  Top the tilapia with the sauce making sure to include a heaping of mushrooms.  Garnish with rosemary and parsley.

00007.jpg

The contrast between the heavy cream sauce and the light taste of the orange and flakiness of the fish was amazing. There was a good balance of spiceyness and sweetness with a little bitterness provided by the parsley and string beans. About the only thing I would add would be a bed of rice. I even used the sauce to great effect on a pan fried chicken breast the next day.

00013.jpg

Ty even hangs around when I cook. And the truth is now that I have to feed, wait an hour and walk him at night I have a set hour in which to relax and cook every day. Go figure.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

00041.jpg

OMG HSFC!!!  Today I went to Enfield, CT to pick up my adopted dog Ty.  Adopting Ty was sort of a impulsive 3 year decision.  After moving to Porter Square I had always said my next apartment would have to allow dogs.  When Bryan Clark needed a third roommate and asked me to move in I jumped at the chance.  Part of the reason for that was his dog Moose who was and still remains to be awesome.  When Bryan went to Mozilla Messaging in Vancouver, Moose went with him.  With no dog to greet me when I came home from work it started getting pretty lonely at the apartment so I started looking for the perfect dog to fill that void.

While on vacation in Aruba I spotted Ty at Pet Finder and instantly fell in love. After getting back I called up Adopt a Lab and found out that Ty was still available and that they were coming to New England that Saturday. The catch was I had to agree to adopt Ty, sight unseen, for them to go through the process of getting him checked for transport and bring him from the midwest to the east. The way it worked they explained, is that I had to commit to at least two weeks with the dog and if it did not work out they would arrange foster care and refund my money. After a day of deliberating I called them up again and started the process rolling. That is when the adventure began.

00030.jpg

My friend and resident dog expert Sara agreed to venture two hours out of Boston with me to the agreed upon meeting place where 22 other adopters were gathering to pick up their chosen dog at 11am. All was well when we pulled into the parking lot of Enfield’s Town Hall fifteen minutes before the pick up. Whole families had come to get the first glimpse of their future pets. This is when one of the volunteers notified us that the air conditioner on the transport vehicle had broken down and that they were delayed until 1 o’clock because they had to replace it. This was no big deal as Sara and I were hungry and it would have been hard to get lunch once we had a nervous dog on our hands.

00031.jpg

Coming back at 1 brought new troubles as the skies opened up and proceeded to deluge us. On top of that, the transport only made it around 3 o’clock.

00032.jpg

I didn’t mind the rain or the delay.  I was just anxious to finally meet Ty.

00035.jpg

When Ty finaly came out of the truck, he was a bit excited.  I could hear oohs and ahhs from my fellow adopters which was the chant recited whenever a particularly cute dog came out.  I walked him around a bit on his lead away from the crowds to calm him down.

00036.jpg

A quick drink and bathroom break later, we were finally on the road to Ty’s new home.

00044.jpg

To calm Ty down even more Sara gave him the plush mole toy she had bought him as a gift.  The funny thing about that mole is that Ty seems completely indifferent to the Kong with a snack in it and the tennis ball I had gotten him.  He loved that mole though.

00040.jpg

It was pouring outside which made our way home slow going.

00046.jpg

Ty didn’t mind though as he darted his head from window to window taking in all of the new sights he was experiencing.

00050.jpg

After dropping off Sara in JP we made our way back to Cambridge and Ty’s new home where he drank a couple of bowls full of water.  When the rain died down I took him for a run and he finally settled down enough to eat.  Even after the run he was still a bundle of energy and even though he kept nodding off he would quickly wake up and nudge me to play some more.  Finally around 8 he fell asleep for an hour and a half.  Right now he is calmly watching me write this blog and perking up every time I look his way.

Oh ya, J5 and Ty – I think I’m going to keep him!!!

[read this post in: ar de es fr it ja ko pt ru zh-CN ]