I occasionally get questions about licensing my code for inclusion in other projects. I thought I'd make a blanket statement that all my code can be assumed under the Apache 2 license unless otherwise indicated. For where it's not explicit, just drop me a line if you need formal licensing, and I'd be happy to set it up. Most of what I do is rather informally released (i.e. put in public Subversion), so I usually don't take the time.
Archive for the 'meta' Category
After converting to Google Search and giving Google a chance to get everything active, ads stared appearing on the results. That's part of the deal for getting free search, so they were expected, but after seeing them, I realized the layout wasn't too hot. With both my sidebar and the ads, the top couple search results were crammed into around 250px of horizontal space - definitely not ideal.
Like the obstacles before, the solution was simple. I added a couple little jQuery snippets to hide the contents of the sidebar (aside from the search widget) and remove the vertical rule. Then I set the search results IFRAME's width to take up the entire body of the page, rather than just the main column, and it's done.
Like all compromises, it's not without downsides. Foremost, there is a brief flicker on page load where the sidebar appears and then vanishes. The markup for the sidebar is also included in the page, so it has to be generated server-side as well as sent over the wire, just to be ignored when it gets to the browser. However, contrasted against having to go build a custom page template just for the search results page, two lines of JS and a little network overhead seems a cheap price.
After frustrations with the K2/WordPress search on my site, I've switched to Google custom search. I'd never really used the built-in stuff, but when I was setting up my project pages, I did a bunch of searching, and it just didn't seem to work very smoothly. In particular, you have to manually URL-escape your search string (e.g. replace spaces with pluses) for it to work right.
The Google interface is devoid of such issues, of course, and has the added benefit of searching my full domain, not just my blog posts. I also included my public Subversion repositories in the search scope, though I'm not sure I'm going to leave that. The high-churn nature of source code repositories makes for often-outdated results.
The integration was a snap: drop the form code in a Text Widget on the sidebar, and drop the results code in the body of a new Search Results page and I was done. There were three minor gotchas I had to resolve:
- The form didn't repopulate with the current search query on the results page. That was easily addressed with a little JavaScript in the result page body.
- The results page IFRAME was too wide for the site layout. Again, easily addressed with a little CSS in the result page body.
- WordPress lists all top-level pages across the top, and I didn't want the Search Results page showing up there, since clicking it doesn't make sense. Addressed with a little CSS in the search form widget.
I installed a new "real" SSL certificate today, instead of the self-signed ones I've been using for the past few years. It's the cheap model, but it's recognized by both IE and Firefox, which is an improvement. Unfortunately, Eclipse doesn't recognize the CA, so you still get prompts there if you connect to my SVN.
After the merciless hounding of Joshua, along with some of my own curiosity, I added AdSense ads to my blog this weekend. My plan is to leave them there until the end of May, and then remove them. I can't imagine there's even close to sufficient potential income to justify the ugly factor, but perhaps I'll be pleasantly surprised. Not holding my breath.
Just finished upgrading to WordPress 2.5, the latest K2 nightly, and a few other plugins. All went pretty smoothly, except my custom K2 style needed some tweaks to the CSS due to some selector changes in K2's markup. They've done some nice things with the admin UI, and the new Admin Drop Down Menu makes it way better.
One thing I noticed is that the post slug is committed on the first autosave, which I don't recall being the case before. You can edit it, of course, but if enter you title, and then to edit it later, your slug isn't automatically updated anymore. The category list is also in a far less handy position beneath the editor, rather than next to it.
Overall, however, looks like good stuff. Still waiting for official Wordpress 2.5 support from K2, but certainly not holding anything up.
I wanted to thank everyone who read, and especially commented on, my My Blog, My Rules post a couple weeks ago. It's nice to know that people care, and even better to know that they appreciate what I've done. And apologies to Charlie for the firestorm.
So is this my blog? Or is it everyone's site, and I'm the only one that can directly start new conversations? It's public and the comment form is available to all, so the latter seems an apt description. Weblog implies a log of something on the web, not necessarily any sort of community foundation, but that's really what a blog is. I don't know how I feel about that.
I want an engaged audience, I want vibrant discussions, but I don't want an obligation. But it seems unfair to want that pairing, because what's in it for that audience?
Thanks for being part of that audience, even the silent ones.
Charlie Arehart send me an email the other day about my Flex charting control and the way it's presented on the site (which is poorly). I ended up writing a fairly long response that was a bit tangential, but unreasonably so. The basic premise was that it's my site, and I don't like maintaining web sites, so I do it as little as possible. For example, I'd never bothered to actually put an email address on my About page.
But that expands out to cover some other bases as well. For example, I actually release a fair amount of code, and I have a enormous amount of non-released code that I could release. But you'll notice that I don't have a single software product that I maintain. Contrast this with Ray Camden. I don't claim that I produce the quantity of code that he does, but he produces products, not just code.
Productizing a software product is a huge amount of work, and maintaining that product only adds more. I have little to no interest in dedicating my personal time to that. Even just prepping code to release it takes a lot of work, in my view. If I'm excited about something, I want to share it and get other people excited about it too, just like anyone else. But the ROI is minimal, since I'm not trying to build any sort of brand or create an income stream. Which isn't to say I don't have personal brand, just I don't cultivate it the way a business(wo)?man or consultant would.
So I'm curious. Do people use the software I release? Comment if you do, and list what you use. I'm just wondering, because the code is rarely polished, it's not formally versioned, rarely has standalone docs (and often very minimal inline docs), and there is no promise of backwards compatibility or long term support. Is that a deterrent sufficient to turn away people who's problems my code might directly address? Should it be?
I know I'm apt to discount software packages that aren't actively maintained, but I'm far less likely to discount something if it's source. Sure, I like to have someone else do the work, but if I find something that addresses a need I have, I'm going to use it if at all possible. I'm quite lazy that way.
Then there are the blog posts themselves. I go very back-and-forth on blogging. I enjoy writing, but the blog is a weird medium. In one sense, you're writing to nobody, but you're also writing to the readership you're aware of. But that's never your complete readership. And unlike most other forms of communication, you have rather little feedback on a blog. Sure, people comment, but what percentage? Contrast that with a document you write for responding to an RFP, an email you write to someone, or even an IM conversation.
As such, I dislike writing posts that don't have a clear point (like this one). It leaves me feeling like I'm not done yet, and that I wasted every reader's time. But at the same time, any sort of pointed discourse leaves me this wondering how I did. Did I get my point across? Was I confusing? Without a specific audience and direct feedback, those questions are very hard to answer.
So why do I write on my blog? Usually to share something I'm excited (or frustrated) with. Hoping that someone else will read it and be excited too. But it's always technical, because I know that most of the readers are techies, and have this weird feeling like I have to appease my perceived audience or a Bad Thing will happen. But I want more than that. I want to have a conversation. To yell. To ramble on. To share the love of something. I want to turn comments off so I don't have to listen to people. I want to force every reader to comment. I want to start an interesting philosophical discussion that persists forever.
I've considered dedicating a period each day to writing. About whatever. But I know that would leave me less satisfied, because it'd become a chore, and I wouldn't end up writing about the stuff that really blows my skirt up (no, I don't typically wear a skirt - makes for cold … legs … on the motorcycle).
What's the solution? Someone knows. Tell me. Please.
… and that means NaBloPoMo, and this counts.
As you may have surmised, I've been on vacation, and a glorious vacation it was. As always with the Boisverts, good food was plentiful. Even with a significantly more active lifestyle than my usual state of existence, I'm sure I gained weight. But as nice as it is, it's always nice to come home and return to a bit more structured schedule. For a full account (with a pile of pictures), I'll point you to Heather's site: The Boisvert Life.
While I was out, I did manage to get a bit of work done on my app for visualizing the data from my Edge. Not as much as I'd hoped, but more than I'd expected. I've got the MotionBased packet importer all built, along with a couple cleanup routines, and all feeding a database. I also set up a new site, www.gpsracr.com (check my way-hip missing 'e'!!!), to host the app. Currently there isn't much of interest, just a report from processing the import queue, but at least for me, having a home for an app all set up is a huge hurdle to cross. Infrastructure surrounding it is pretty sparse, just deploying as a SVN working copy, but it's adequate.
Still contemplating architecture for the app. Definitely going HTML instead of Flex now that a highly dynamic data entry interface isn't needed, though there will be a few Flex bits where appropriate (like charts). ColdSpring for sure. I'm debating between Fusebox 5.5 and my modified Fusebox 3 for the UI framework. I'm thinking that decision is actually a pretty minor one with the improvements in 5.5 that Sean has made, but I haven't dug in real deeply yet.
First task, which is of rather limited interest, is plotting cadence/speed curves to identify my relative gear ratios and more specifically, the overlap between my large and small chainrings. Most of my riding is pretty flat and I like having relatively large rings, but when I get into big climbs (like the friggin' cliff I went up Saturday) I need some lower gears. Pushing 45 rpm at 5 mph for 15 minutes sucks. So I want to quantify what I've got, and then extrapolate what effect different size rings would have. That's a relatively easy task, so I thought it's make a good first foray into actually using the data.