Speaking at SD West

I just sent in my confirmation letter for my presentation at SD West 2007, a respected technical conference series in Santa Clara, California. I’ll be speaking on (can you guess?) SVG (you got it!) in a talk entitled Scalable Vector Graphics: Shaping Up the Web. The conference will be going on March 19-23, 2007. My company is really working on getting speaking engagements, so I think this may be only one of several that I’ll be doing in 2007. Of course, I will be speaking at –and helping to plan– the SVG Open conference next year as well. I normally give a 101 class introducing SVG there, in addition to a presentation on current projects I’m developing.

Blitzpost

Wow… keep meaning to write in this thing, but I’m not yet in the habit. I seem to have reached the maximum number of things I can think about at any one time. Anyway, here’s the short recap of what has been going on with me lately. Having bought a house in Chapel Hill, NC, I was legally obligated to either get pets and buy a hybrid car, or become a vegan. Now, I’m a vegetarian, but I’m not crazy enough to go vegan, so we got a couple of cats named Prettyboy and Floyd from an animal rescue group and picked up a “seaside pearl” (that means “blue”) Prius.

We got the cats about 4 days ago, and they had a bit of a trial adjusting (we faced a challenge convincing them to use the litter box for a couple of days, which is lovely on the hardwood floors and the erstwhile chair cushion), but seem to have decided to indulge us.

We bought the Prius almost accidentally… our old ’93 Toyota Corolla (dubbed the “Casserolla” when a cheese casserole was lingeringly spilled in the backseat) has been dying a shuddering death for months, so having put off getting a new car until we found (and financed) a house, we went out a couple of weekends ago to test drive a Toyota Yaris or a Scion xA. We did drive a Scion, but the Prius was just so much nicer (and with a better resale value) that we ordered one on the spot. It was delivered yesterday, on my birthday, October 24th. It’s pretty 21st century. We got the simplest option package, but even still that came with keyless entry and startup (as long as I have the “key” on me, I can open and start the car, without touching the key), and a rear-view backing-up camera. This is as close to a luxury car as I ever intend to buy. We saw a lecture last week by Dr. Wallace Broecker, the gentleman responsible for the groundbreaking theory of the Great Ocean Conveyor that was key in the understanding of global warming, on the need to develop an efficient way to remove CO2 from the atmosphere. We chatted with him after the lecture, and among other things, I asked if the Prius would really help the environment… he praised it not only for those qualities, but also just for the engineering and comfort of it (his wife has one). I’m not fooling myself that I will save enough money in gas to make up for the price, but I felt like it was my civic responsibility to do what I could for the environment (and it really is a nice ride).

So, speaking of my birthday, we went out to visit some friends last night, then had a great time at Fuse, a local nightspot, where we had a good dinner and bumped into a different crowd of friends for a fun conversation. The night before, we went to the Cat’s Cradle to see Bettie Serveert (an old favorite band from the Netherlands, 15 years old now!), and really enjoyed the local opening act as well, Alina Simone. A few days before, we saw some friends’ bands… The Strugglers opening for The Prayers & Tears Of Arthur Digby Sellars at Local 506, and it was a great show as well. I used to see at least 2 or 3 shows a month (sometimes that many in a week!) just a few years ago, but I’m not as in the know about bands and shows these days. Still, we want to make it a point to get out to live shows more. My girlfriend’s younger, so her knowledge is a little more up to date than mine.

Man, what else? Work-work (we have revamped our database to be a lot faster and more powerful, and I’m renovating the charting package to match), and standards work (mostly SVG), and secret project work, and domestic stuff, and reading, and hanging out with friends, and seeing The Prestige (we don’t go out to movies that often, but I loved this book), and all that normal stuff that one does when one isn’t in a foreign land. I promise I’ll talk more about Morocco, by request, in some upcoming post. And more about technology. And less about quotidiana.

Prague, Land of Meat and Beer

…which is not really optimal for a vegetarian who hates beer. In the words of Uncle Tupelo, “Beautiful, as far as I can tell, but your Heaven looks just like my Hell.” There’s only so much fried cheese a man can take, I tell you! But tonight we ate at Lemon Leaf, an asian-fusion place outside the tourist district, and got a great meal for a good price. Inside the touristized zone, you can only get overpriced meatplates (or the aforementioned cheese… I mean, I love cheese, but I think I’ve gained 10 pounds this trip). Oh, and water is more expensive than beer, by far. My theory is that all water in Prague is allocated for the production of beer, and that they have to distill the beer out to extract water; this extra step accounts for the price of plain “gasless” water.

No doubt, though, Prague is a beautiful city, even though it’s clearly been “cleaned up”. Prices are no longer the legendary bargain, for the most part, probably due to the lousy exchange rate of the lowly dollar. But the buildings really are gorgeous, and Mucha, the father of Art Nouveau, is well represented here in his home country (my girlfriend and I love that style).

She wandered around the city while I met with the SVG Working Group in the local Sun offices (though we all went out at night, of course). She scoped out a lot of great sights, and after the meeting ended, we went around the town. She’s been a good sport about seeing some of the places again (in fact, she’s been to Prague before). Today we went to the Bone Church of Kutná Hora (a small town outside Prague), and then wandered the streets when we got back, seeing the tower of the famous First Defenestration of Prague.

We generally did the tourist thing here, seeing the Prgaue Castle (and the nearby erstwhile home of Kafka), the Charles Bridge, the Jewish Quarter, the cool astronomological clock (with it’s monkish glockenspiel), a couple museums, took a nighttime boat tour on the Vlatava, and watched one of the many Black Light Theater shows (Ta Fantasticka’s Aspects of Alice show, which took a strangely soft-pornographic twist in the second act). Oh, and just generally wandered around.

I must say that after seeing the chaotic and quirky Morocco, Prague seemed familiar by contrast. Two weeks in Casablanca, Marrakech, Fes, and Rabat, and the conversations there, really was eye-opening (I’ll write more about Morocco later). I’m glad we went to both places. It’s been a long trip, though, and it will be good to get home and get back to work.  Tomorrow, we are going to try to get up early and visit the city one last time before catching our afternoon flight home.

White House

After a rather long set of flights, with a moderate amount of hassle and too-long layovers (7 hours in London… just too little time to be able to spend any time in the city, so we slept instead), we arrived in Casablanca last night.

In the airport, we were immediately set upon by what I thought were people working on commission for hotels and cabs, but were guides in hindsight. The one the more persistently glommed on was a character from central casting, Hasan (the first of 3 Hasans we would meet last night). He recommended a hotel, and I went over to a policeman to see if he could tell me what normal prices were. There we met a voluable Tunisian, Abdul, who had missed his flight back to Scotland, and came along with us.

Hotel Guynemer ended up having more character than an Ibis, but that’s where Hasan started asking for money. I got irritated, because like I said, I hadn’t known he was a guide. But Abdul smoothed things over, and commissioned HAsan himself (though I ended up paying for dinner and drinks at the hotel).

Afterwards, we walked around the town a little, and went to a sort of variety club, with rotating singers (and dancing and ululating patrons) and hookahs. My girlfriend and I went home early, around 2 AM, but Abdul knocked on our door around 5 AM (to ask us if we were asleep), so he was out late. I hope he didn’t miss his flight again.

Hasan was downstairs again today, but we didn’t want to go shopping, so he split. We’re going to check out a mosque and a cathedral, then head out to Marrakech tonight. I’m sure there’s a Rick’s Bar here in Casa, but we’ll have to give it a miss this trip.

We’re Off on the Road to Morocco…

My sweetie and I are heading to Morocco! I have a W3C WebAPI Working Group F2F (face-to-face meeting) in Rabat, Morocco, and then an SVG WG F2F in Prague. How often am I going to get a chance to go to Morocco? So we decided to bookend some vacation on either side of it. We leave tomorrow (with layovers in NYC and London), and will spend some time in Casablanca, then travel to Marrakesh, then Fez, then on to Rabat. I believe that this is the first W3C meeting held on African soil.

We’ll be travelling for almost 3 weeks, returning October 2. Luckily, a good friend has volunteered to mind our house, feed the fish, and water the flowers in case it gets too dry.

I’m pretty excited. I’ve never been to either place (though I was once in Bratislava, pretty close to Prague). Also, this marks Continent #5 for me: I went to Japan in the Fall of 2004, and we travelled around Australia earlier this year. I’ve been to Europe a few times now, as has my girlfriend (though she’s not yet been to Asia, so it’s only Continent #4 for her). Now I only have to get down to South America and Antarctica, and I’ll have visited every continent on Earth! This is a silly little goal of mine. I’d also like to visit sub-Saharan Africa (aka “Real Africa”) and India, my favorite sub-continent. But that’s all far in the future… tomorrow, we fly to Morocco!

We certainly do get around! (Like a Webster’s dictionary, we’re Morocco-bound).

Still Unpacking…

About a month ago, we bought a house (a nice sunny one, with a little pond out back). When we moved in, we noticed how cheap, sparse, and generally inadequate all our furniture was. It looked fine back in our rental…

We’ve since picked up some more/better furniture, some at yard sales, some through friends, and some at stores.  Much of it is temporary, but it will serve until we can afford to incrementally replace it with stuff we really like.  It’s looking a bit better, but there’s still another pressing issue.

Despite the diligence of my girlfriend (and as a direct consequence of my own lazi-/busy-ness), we are still living out of boxes, stepping around boxes, and just generally using boxes as our main decorative motif. Our screened-in porch, a feature we’d hoped to use for evening dining and daytime lounging, sadly became a storage facility. But no more! Today, we motivated ourselves to clear it out, and we are putting up the funky retro 70s table, chairs, and bench that she got years ago for $50 and never had a place to use. It’s cast-iron and lime pleather and wood (and something made to resemble wood), and I think that it will be a nice accent to a house built in a rather late-70s style. Disclaimer: make no mistake, I lived through the 70s, and have no nostalgia for the hideous styles that oozed out of the drug-addled minds of designers of that era. But there’s no denying it, this house has touches of that time. But in a good way!

So this weekend, in addition to my finishing up some critical stuff for work, we plan to get this place is some sort of presentable order. Just in time for our trip abroad.

What is it, this SVG?

I’m going to be writing a lot about SVG, so I thought I’d give some explanation as to just what it is. Scalable Vector Graphics is an XML language for creating graphics. It’s a bit like HTML for images. If you want to draw a circle on your page, you type:

<circle cx="50" cy="35" cx="20" fill="blue" />

And then you have a blue circle with a radius of 20 pixels (more on that in some later post), centered 50 pixels from the left and 35 pixels from the top. Obviously, since people want to draw more than just circles, it gets a lot more complicated than that, but that’s the basic idea. SVG is a vector-based language, which means that rather than a collection of dots, like raster images (rasters are formats like bitmaps, JPEGs, etc.), SVG shapes are sets of instructions that tell the browser how to best draw the image. For instance, a line in a raster is just a series of unconnected dots… if you zoom in on it, that’s what it breaks down into; but an SVG line tells the browser to start at this point and go to that point, and so no matter how you zoom in or out, it remains a smooth, solid line. Each image is composed of a number of shapes, or elements, that have identities and properties. If you move your mouse over an element, or click on it, the browser knows about it, and the author can give instructions (either using script or something called declarative programming) for what to do… it might let you drag the shape, or change its color, or most anything else you want.

SVG is an open format, meaning anyone can make a browser or an authoring tool that uses it without having to pay any royalties. This sets it apart from similar technologies like Adobe Flash and Microsoft XAML. (I strongly believe in open standards, because it gives everyone a chance to control the future of the format; specifically, I think that all democratic governments should use open standards as much as possible, rather than rely on one company who can control the costs and future access to the information stored in their format.) And the fact that it’s open pays off. SVG is supported natively in Firefox, Opera, Safari, and other browsers for both the desktop and mobile devices. Right now, it is not supported natively in Internet Explorer, but you can get a plug-in for that (see later posts for updates on this). No other vector format is natively supported across so many browsers.

SVG can be simple and free to author. There are several good programs that let you draw images and save them as SVG, including Adobe Illustrator and Inkscape (a free drawing app that works on most platforms). But if you want to get your hands dirty, you can dig in and create shapes just by typing out the code; this is how most programmers tend to do it, because it lets you control how the drawing behaves according to scripted instructions. If you want to see how someone drew an image, you can always view the source code and, if permitted, create or change it to suit your needs, just as many people learn HTML and Javascript.

But SVG is not just shapes. Because it is intended to allow rich presentations in an accessible way, you can also use text in SVG, and even define your own fonts (though this is not yet as widely supported). Animation is native to the language, and in later versions (such as ones shipping on phones), audio and video are also available.

Finally, SVG can be used with HTML, to create a rich Internet document. Because it was designed from the ground up to be used with other languages (including styling languages like CSS and XSL), as well as on its own, it is truly a part of the Web, and as it grows more popular, the possibilities of the Web will grow even more.

Not Invented Here

I’ve been accused more than once of “reinventing the wheel.” Let me assure you that that’s meant to be a stinging insult among programmers, where reuse is the key to efficiency and laziness (both qualities I admire).

But sometimes the wheel is broken, and sometimes it just doesn’t work right for the job at hand. I wouldn’t want to drive a car with a solid-body fixed-axle wheel.

And sometimes, you have to reexamine your basic assumptions. Maybe the wheel isn’t the right tool for the job at all.

I don’t want to reinvent the wheel. I want to reinvent fire.