White Christmas Without the Snow

So Aimee and I will be celebrating a white christmas. Beach sand can be white. And we’re hoping it is. We’re headed off to the tropics: the island of Jamaica. we’re going to one of those all-inclusive deals that’s like a cruise, except for the bit with the ship. There wll be a lot of swimming and diving and eating and sun and fun and water tricycling. I’ll be offline for the entire duration, so I wish everyone a Happy Holiday. For you, dear reader, I hope the holiday is blessed.

We’ll be back in a week. Stay out of trouble, kids!

I Have Expensive Taste (Social Networking 2.0)

So, a few times in my life I’ve had a conversation where someone will reveal that they “have expensive taste.” Now, I try not to be judgemental, but you know it’s hard sometimes, when you hear a line that contains utter pretentiousness like that. Now, these conversations have been in regards to clothing and/or food.

So, my younger readers are probably already hip to this — but apparently, nowadays, you can shell eighteen to 20 dollars (US) for a t-shirt that looks like it’s been in the washer 100 times too many. It’s all faded and almost falling apart. I don’t understand the appeal. If I buy something new, it better look new, dammit! But OK, fine, it floats people’s boats, I guess, that fake vintage thing. Aimee and I went to some mall nearby a few weeks ago, and we walked into this one store that had some phat suits and ties. I mean this was really nice looking stuff. Of course, the ties were like a hundred bucks (what??) and the blazers on the order of a thousand dollars (!!). Way beyond my price range, for sure, but here’s the amazing thing. Those fake-vintage t-shirts that you get for 18 bucks from American Eagle or something cost 50 (fifty!!) dollars at that store. That’s [s]xmms[/s] audacious, I’ll tell you.

So anyway, that episode reminded me of this one food based conversation I had a while ago. A bunch of us were talking about restaurants in the area. I asked a passer-by to join in the conversation and provide some recommendations. After thinking for a bit, this person said, (and I quote), “well, I have expensive taste, so…”

Huh? How do you have expensive taste in food? I mean, seriously, is it the price that makes you go “mmm, this is some goooooood eatin'” or what? Can someone just plop some crap on your plate, overcharge you with a 1000% markup and you’ll revel in the gastronomic experience because you’ve “made it”? Are people serious about this stuff? I mean, I understand expensive restaurants to an extent — they offer you an ambience, a level of service and attention to detail that might be rarer in some of the more modestly priced restaurants. At the very least, they’ll give you something exotic (or: not).

So I mean, I get that you might like expensive restaurants for certain things. But what in the world is expensive taste in food all about? I’ll say this. Some of the best foods I’ve tasted have been in downright holes in the wall joints. Places like that don’t give a toss about the ambience (and thus, they have a unique ambience!) and concentrate on giving you the best possible food.

Now that that rant is done, I have a bit of a situation on my hands. It’s getting where I need to have a PDA in my life. I use evolution at work for my email and calendaring and contacts management. I do the same on my home laptop. I need a PDA to ping me about upcoming activities and meetings when I’m away from my computers (yes that does happen!), and where I can store all my contacts. So in other words, I am also looking for a smartphone.

On the must-haves:

  • connects bluetoothfully with linux — I’d be willing to settle for bluetoothlessly (USB), though
  • has bluetooth so I can have a wireless headset, and have Aimee’s car recognise it and pipe through
  • syncable with evolution — this is actually the crux
  • Quad-band GSM
  • Unlocked
  • Not so expensive that I have to rethink buying a house

Among the nice to haves:

  • WiFi
  • GPS
  • radio

I don’t care about mp3 playing or cameras. I just want a pda that happens to be a decent phone. I consider 500 bucks to be extortionist in terms of pricing. If anyone has recommendations, I’d love to hear them.

NB: I do fancy the E-Ten X500 but that’s definitely out of my price range for now. What can I say? I have expensive taste :p

Oh yeah, the social networking/web 2.0 part of the topic: this weekend, omp introduced me to last.fm. It’s social networking with mp3’s — what a concept. I love it. It’s still learning my tastes (expensive, remember?) but it’s been a fun ride so far.

Thanks to mkeadle I learned about delicious recently. What a great concept. I don’t have to worry about being at my computer to find my bookmarks any more. And the ten or so emails a day I send to Aimee about things I reddit can stop. I now just have to tag them for her and she can see them from wherever. I love the idea. Donnie raved about the plugin this evening, and I have to say I agree. It’s just fab. I’m liking this newfangled interwebs two point zero thing.

Of Broken Pi

Am I harsh? I don’t think I am: I am just calling it how I see it. And, I certainly mean no offense by anything I say. I thought initially to just respond to the comments in my last blog, but as you can see, I had a lot more to say on the subject: enough to warrant a new post. So here it is.

Apparently, at least a couple of people believe Gentoo to be a User focused distribution. And that is OK, to be honest. Gentoo isn’t a strict set of anything for anybody, so each person brings in their own vision and their own baggage: they join for their own reasons and leave for their own reasons.

Most of the time, I would venture, people join Gentoo development (or really, any open source project) to scratch their own set of itches. Hell, my itch was getting rid of the cruft NLS stuff and GKrellM plugins (though I do see an XMMS version bump request there too). And you know why? Because I wanted that stuff in portage. I wanted all those plugins, I wanted nls-free gnome installations on my computers, and I wanted to use yahoo messenger, God help me.

If people are expecting something other than a developer platform out of Gentoo, then I would have to wonder: what exactly do you expect? And how will you get everyone to agree with you? Because, now you’re faced with trying to define the user. Surely, Tiago is a user. But hey, so is Alex. Which of them is the right user? And there are other users with different needs: the people who want gentoo to power their firewalls, those who want gentoo on their gaming machines, those who want them to power their sparcs and alphas and other 64-bit platforms, their macs; there are those who want a great desktop system, those who want a better multimedia platform; those who want to replace their digital video recording devices; you name it. Who is the right user? Which is the right audience?
I don’t know the answer to that. Let’s not even forget the “holy grail”: the Enterprise users. If you know the right answer, pipe up.

As for this being some sort of “new-found” developer focus. It isn’t new-found. It’s very old-found. It’s, in fact, original-found. What else would you make of Daniel’s thoughts on the subject?. After all, he founded this thing in the first place. Or hey, read Aron’s observations (though gmane may be a better way for some to catch it).

I’m sorry, but if you want a user distro, there are far better choices out there: ubuntu being the primary one. You get coddled and you get sane and sensible defaults. Gentoo doesn’t do that. We give you the tools for you to build whatever you want. So you can fall into all of the above audience choices and more (thanks to the power of profiles and USE flags, primarily). Hell, go nuts with your compiler flags, we don’t care. Think that flies as a user-centric approach? It doesn’t. It’s a support nightmare, ask any Gentoo developer about it.

And finally, the pi

StreamBase 3.5.4

For those of you keeping track at home, we just released a new minor version of StreamBase (3.5.4).

There are a few fixes (as seen in the link above), and the Reuters adapter is now embedded. In prior releases, Reuters feeds were read in via an external adapter (so you had to run that and StreamBase, and it would pass the data to the StreamBase app). No longer!! Now we use the newer Reuters API, and the adapter being embedded makes it a native capability. To fill the void in external adapters left by the Reuters adapter, we’ve added a REDIPlus external adapter.

If reading streaming data in (to analyse and act on it) is your thing, check out StreamBase, baby, you might like it.

XMMS Autopsy: Spoons vs. Self-Sufficiency

Apparently, some people who read my original XMMS post took away from it a conclusion that I had not made. To boot, these people have hung those conclusions around Diego’s neck. Even the fact that the forums thread on the subject has gone on for 14 pages astounds me. I even know of at least one person who has written of the entire Gentoo distribution based on that package removal.

So let’s stop with the nonsense for just a minute and absorb this post, shall we? First of all, it’s a fricken music player. Second of all — Gentoo is about choice. That does not mean that we, the annointed developers, should present you with every single choice. No, it means that you, as a Gentoo user, are on a platform that empowers you to create your own choices. Ladies and gentlemen, the very idea of Gentoo and Portage are to provide the tools to make your own linux distribution. If you don’t like that XMMS was taken away — then create your own overlay! It can be done, you know. In fact, there are tonnes of overlays published at http://overlays.gentoo.org.

So for all you people still inclined to send hate mail to Diego, I say this: get over yourselves. The decision to remove XMMS was never in question. It was going to happen. GTK+-1.2 is also leaving the tree. It is going to happen. I’m sorry, but that’s just how it is. For people who want xmms, and want to be the “portage maintainers” of it, feel free! Take what we had in portage, stick it in your overlay, advertise it, and go! Take on the issues of maintaining it yourselves. In all honesty, that’s what you should be doing instead of feeling all this negativity and projecting it towards people. You’re wasting your time, everyone else’s time and a whole lot of energy on criticising someone who certainly does not deserve it.

Anyway, I just wanted to inject a sense of perspective in the mini-hysteria. Most of all, I think this XMMS issue needs to be put to rest already. The horse be dead. Beating it like a pinata won’t get you anything sweet.

Updates on Django, CMS’s and Church websites

In still other news, I’ve been playing with django’s newforms module for creating forms on the websites I’ve got in the pipeline. It looks like the StreamBase website will finally be content-managed, though not by django, but by something else. I’m hard at work on getting the website for Aimee going. This weekend will be a ReaportLab weekend for me. There are some documents on the church site that will be in both web-readable and PDF-able form. I have this notion that I can do both, though I admit to that being somewhat hopeful. We’ll see.

Before I even do that, I have to do major cleanup on the code already written. It’s funny to see how my knowledge of Django has evolved in the last few months. I’m going back in, currently, to do some DRY’ing of a lot of the stuff in there — gosh I repeated myself! But it was intentional, just to get functionality going — I knew I’d go back in and clean up. And here I am on the other side of that. I’m not complaining at all, mind you, because I feel like I’ve learned a lot when I look at that old code.

I’ll share one of the long-standing issues I’m having. The church has a calendars page which shows upcoming and past weekly schedules. Being a church, they have services every Sunday. During the week and in other rooms/halls they have other meetings (Rotary Club, etc). So, the calendars page needs to show all of those. I opted for this approach in the end: a BaseEvent which holds the date, the title and slug information and description field. The Event object has a one-to-one relationship, and it has fields for frequency and timetables (Timetables are a separate model, so they’re foreign-keyed into the Event). The Service object holds the information on the priest, the crucifers, foreign key to the Sermons, etc, and it also has a foreign keys to the Timetable. If there’s enough interest, I’ll put up that file for you all to see and critique. I definitely have not gotten it right, so I’m glad of any input.

So the idea is that a request to the /events/ URL shows the archive of most recent and immediately upcoming events and services. The same with /events/yyyy, /events/yyyy/mmm/ and /events/yyyy/mmm/dd. So the query dictionary has to include all of them, reversed-ordered by date. A request to the /services/ URL is obviously a filtered query, and the like. Now, when you click on a specific event, it either goes to /events/yyyy/mmm/dd/event-name or to /services/yyyy/mmm/dd/service-name. That’s the motivation for all this. If there’s a better way you can think of, please drop me a comment. I’m definitely interested in the opinions of you ruby and rubyonrails people.

Nice StreamBase write-up

It’s always nice to see people say some nice things about the company you work for. Mr. Halyer really wrote up something very nice about StreamBase and its capabilities, etc. Good stuff, indeed.

Meanwhile, I’m hard at work on those articles I promised, though it’ll likely be post Christmas that I’ll be close. Especially since Aimee and I are headed south for more tropical climes for the holiday. Now, it’s a little disappointing on one hand, by the way, that Boston’s weather has been so damned temperate. I’m the absolute last person on the planet to complain about the lack of snow, but really, it would have added to the feeling of “going to the tropics to get out of this harsh winter” if, in fact, the winter actually approached some degree of harshness. Having said that, I’m ok with a snow-less Boston, to be honest.

Stay tuned for some django news.

The Master Cleanse: PostScript

Well, I definitely did not do the cleanse for long enough, this much I know. The statement is true for last time as well. The first indication of this: my tongue was still pasty white when I quit on the 11th day. I actually quit halfway through the day, for several reasons: some social (I need to meet with some people this week over meals), and some not (I have a blood test on Friday, and I want my body to “normalize” — no fake gluten allergy thing). The other reason: the day after I quit, I’ve gotten two or three pimples (one pretty big). It’s as though there are toxins still wanting to get out, and that’s the route they took.

Of course, this could be bullshit, and hormone levels could have just cycled that way co-incidentally. Let’s go with that theory for now, because it’s the saner one. Aimee wants to do the cleanse, so we’ll do it together in March-ish. From here, I’m aiming at a 21-day Cleanse then. She’s looking at 10 days. I’m looking at return to pink tongue. I opted out of the liver flush this time, but I’ll do another one of those upon our return from the Christmas break. Sorry, political correcters, that’s what we’ll be celebrating (yes, I’m not Christian, but I’ve always celebrated Christmas my whole life).

StreamBase: Eclipsed

Well, as promised, StreamBase is starting to get even more developer-friendly. I’m sure some of you have seen the new and improved DevZone (notice the sane URL 🙂 ). Well, now in the add-ons downloads section, we have put up a Java Toolkit for Eclipse.

Now, to be sure, this is not the StreamBase studio, which is a separate download. Instead, this little ditty makes it easy for your java developers to build up custom operators, functions, enqueuers, and adapters for your StreamBase application. The idea here is that the architecture (and SQL, using StreamSQL) people would use StreamBase Studio to design their real-time applications (to react and respond to streams and complex events) on what is basically a high-level. A look through the GUI shows you how easy that can be. The java heavy people who really don’t need StreamBase installed, and probably already have Eclipse (especially recently, btw, I’ve noticed more and more college grads simply raving about eclipse and java), to build you your custom operators and functions and things.

What does this mean anyway? Well, let’s say you’re trying to read in a stream of data coming in some format (let’s say XML) which StreamBase doesn’t natively read. You need to “adapt” that data stream to convert it into tuples that StreamBase will understand. The way to do that is to create an embedded adapter that starts and stop with the StreamBase server, and basically sits in front of the server. Adapters can also, by the way, be used for data output.

So, now, with the Eclipse plugin, it’s trivial for the Java developers to just create a new adapter and fill in the meat (ie, the code that will do their work) into the appropriate spots in the generated code in Eclipse. Easy-peasy pie.

I’m still exploring my way around this, but hopefully sooner rather than later, I will start to put some articles up on my learnings. It’s a really nifty platform to be working off.

Future Proofing

I’d like to talk about future-proofing for a bit. One of the things that’s niggled at me for quite a few years has been the suffixes you find in websites. In the beginning you had either “.htm” or “.html”, and even that was annoying. It’s one thing to have everything be .html. But then (I think FrontPage or its ilk were responsible, but someone please set the record straight here) we got .htm pages as well. Now, it was a 50-50 chance that your memory of a URL was correct. In time, we’ve gotten .jsp (with the hideous jsessionid nonsense), .php, .cgi, and (God help us) .pl pages or .py pages, and probably a whole host more. Is there *any* good reason for this rubbish?

You know, technologies underlying your webpages are going to change. There’s nothing you can do about it, they just will. Slashdot is a good example of using .pl extensions. And again, why? Why use any extensions? What happens when you switch from perl to ruby or python?

The point is that the web is evolving. So, why deliberately lock down your site to embrace one web technology? So your website is up for 5 years with your ugly-assed jsp pages and you’ve gotten up there in your google rankings and what not. Then along comes your new business needs, driving your web infrastructure away from jsp to php. All of a sudden you change your extensions, and now you have to do a whole bunch of redirects. Do you see how this doesn’t scale at all? Is it just me?

Honestly, .html extensions are there needs to be, if anything at all. What I really like are no extensions whatsoever. Django embraces this idea. You get really beautiful URL’s with no extensions and other ugliness. Down the road, when you switch to RoR or Java or whatever, your URLS (gasp!) will not have to change!!

OK, that came off pretty rant-like, but the ultimate point I wanted to make is this: my employers are cool like that. They’re paying attention to the things I say 🙂 I brought up the point of future-proofing url’s, and if you look around on the site (especially the revamped DevZone, you’ll see a lot more future-proofed URLs. There’s still some ways to go before we stop exposing the technology behind our web infrastructure, but it’s a great start.

Tell me your thoughts on this — I’m especially interested in you .jsp and .php people. How do you possibly justify that nonsense?