Unfortunately, I didn't have a C compiler on my new laptop and I decided to check my options. The only "supported" compiler for Microsoft (the platform I'm initially developing for) is Visual Studio 6.0, but they mention using gcc on a few of the other platforms, so I thought it might be good to try developing with gcc on Windows to make it easier to port to other platforms later.
Since I already have Eclipse loaded up, I decided to try using Eclipse CDT as an IDE (which is now part of the Callisto package, so it was easy to find). I then loaded up MinGW to get the gcc compiler -- partially because I didn't feel like doing a whole Cygwin install just for gcc, and partially because MinGW automatically creates code with no reliance on other DLLs.
Well I got everything going on CDT/MinGW, but kept getting one or two compiler errors having to do with conflicting data types between the Notes and Windows header files, and a weird error about an incorrect #pragma definition, and finally just called it quits.
My second try (a successful one, if you're not going to read to the end) was the free Microsoft Visual C++ 2005 Express release. It's not quite as full-featured as the "real" Visual Studio release, but it looked like it would do the job and it was only a single CD image install.
Well, sort of. Here's what you have to do:
Now I had a working installation to start with, but the only "New Project" option I had for non-CLR programs was "Win32 Console Application". That's not what I wanted. I need to make a DLL. A little searching later, and I found out that you can indeed create a native (non-.NET) DLL, it's just not one of the menu options on the Express edition. What you have to do is create a console application project, and then after you're in the project you can change the "Configuration Type" to "Dynamic Library (dll)".
And there you go. I compiled, debugged, repeated the process a few dozen times, and got my working DSAPI filter. Happy days.
In the end, I'm actually very glad I ended up using Visual Studio, just because of its amazing debugger. I'd still be fiddling with code if it wasn't for the Visual Studio debugger.
JFGI, it's the new RTFM. Oh, and the JFGI mail archive has some real gems in it too.
(Author's Note: if you don't know what JFGI or RTFM means, please visit the JFGI site and follow the instructions. You're welcome.)
My Dad recently got the Animusic 2 DVD for us and... wow! Not only is this thing amazing to watch, but it's completely hypnotic for the kids. And they want to watch it over, and over, and over...
The whole thing is 3-D animation of robots and machines playing synthesized music -- there are robots playing drums, balls of light shooting into musical blocks, 2-string guitars that bounce around and play their own strings. It's all just mesmerizing.
My recommendation on where to start is the Pipe Dreams 2 video, and if that catches your interest you can follow up with Pogo Sticks.
The YouTube clips don't even come close to doing it justice either. You've really got to watch these things on a DVD hooked up to a stereo system to appreciate what's going on. Trippy and fun.
Just a little public service announcement for you: the Firefly DVD box set is on sale at Target this week for only $18.99. Retail price is $49.99, and normal Amazon.com price is around $35, so that's a great deal.
The Serenity DVD is also on sale at Target this week for $10, so if you (or one of your friends) have been holding off on buying either of these videos, now's a good time.
Not sure if this is in preparation for the Hi-Def Firefly release coming later this month or not (thanks to Jess for that link), but either way it's a good price.
I've been thinking that one of the problems with "selling" Notes inside an organization (elevator pitches, discussing with management, etc.) is that the product does so much that it's hard to give a good one-line, sound bite description of it. In fact, it's quite impossible. I think that the new, PHB-sized whitepapers are a great idea, but I still wanted something short and sweet.
So I figured that the best thing might be to embrace the diversity of the Notes platform, rather than try to boil it down somehow. And that's what I came up with: "Lotus Notes - yeah, it can do that too".
Need e-mail? Yeah, it can do that. Client and web applications? Yeah, that too. Portal? Yeah. Blog, wiki, RSS reader? Yes, yes, yes. Web services? Yes, we could do this all day...
I'll be the first to admit that the actual graphic design I came up with could be greatly improved upon (and please, I would love to see other variations on this theme), but I think the idea could work. Whatcha think?
p.s. -- I know that the comment system I'm using right now (Enetation) is broken. It's been in steady decline for a while now, and I'm going to switch it soon. For now, if you want to comment but can't, feel free to do so on your own blog. I won't be offended.
;-)
UPDATE: other bloggers weighing in so far -- Curt Stone, Scott Gentzen, Chris Linfoot, Andy Broyles, Chris Blatnick, Thomas Adrian, Tim Tripcony, Ian Irving, and Notes super-tipster Alan Lepofsky (who made the colors on the banner a little snazzier too).
Ed Brill picked up the theme too, relating it to a recent Eric Mack post.