As mentioned yesterday, the morning began with a meeting to discuss the creation of the Association of REALbasic Professionals. The response was overwhelming and more than anyone expected. The meeting was almost standing room only. Those present voted to create the association. After that, it was time to nominate and vote on the board of directors. I am proud, shocked, and honestly somewhat horrified to say that I was nominated and elected to the board.
Anyway, the first session I attended today was Enterprise Web Development, but Brad Weber and Joe Strout, the minds behind Inspiring Applications. They talked about Yuma, which I mentioned the other day. It's really, really cool. I can't wait to get back to the office and kick the tires a bit.
After that, I attended two sessions about the community around REALbasic: The REALbasic Community by Paul Lefebvre and Expanding REALbasic via 3rd Party Developers by Christian Miller. Both were interesting and well presented.
Following another excellent lunch, I attended Build Engineering: The Art of Version Control, Scripting, and Process by Nathan Regener, REAL Software's new build engineer. I have to say, I have high hopes for what Nathan wants to accomplish there. I think he'll bring REAL Software's beta testing and releases to a new level of quality. Here's hoping.
At the end of the day was the annual feedback session, which is always an interesting time. To be honest, this year I kind of wandered in and out a couple times and didn't pay a whole lot of attention. I was pretty tired by then.
To wrap things up, I went out to dinner with some of the other board members to make some plans for the association. We have some exciting things coming up, but more on that later.
The shuttle will be here to pick us up tomorrow morning at seven, so I need to wrap it up and get some rest. But I would be remiss if I didn't say a great big thank you to Dana Mason and Alyssa Foley of REAL Software for all the hard work they did putting REAL World 2008 together.
After another good breakfast, I started the day by attending Designing Client Server Applications by Charles Yeomans, which was very informative. Since I mostly do database work, I haven't had much experience with designing client-server solutions, but I have done some work with XML-RPC and other web services, so it wasn't totally foreign. I'm just not used to designing the server.
From there I sat in on Understanding REAL SQL Server, taught by none other than Marco Bambini himself, the primary developer of REAL SQL Server. And really, who better to teach the session? It was the first of three REAL SQL Server sessions that I attended, along with Packaging REAL SQL Server in Your Application and What's New in the Upcoming REAL SQL Server 2008r2. So you could say that the bulk of my day was spent hearing and thinking about REAL SQL Server. It's an amazing piece of technology. It's built on SQLite, the most widely deployed database in the world. SQLite is also public domain, which is rather amazing in and of itself when you think about it. Anyway, I was pretty excited to hear about some of the upcoming features, some of which I'd heard during yesterday's keynote. The big news was that REAL SQL Server 2008r2 will be able to handle over 10,000 simultaneous connections (Marco said he got 12,000 on his iMac). I can't wait to get back to the office to test that out. That would open up a lot of possibilities for me.
In the afternoon, I taught my third and last session, All About Toolbars. After that, I was really tired, and so was David, so we headed up to the hotel room and just hung out until dinner time.
Dinner was a hoot. Aside from some great food and conversation (we lucked into sitting with several members of the REAL Software staff), there was a trivia contest, which was a lot of fun. REAL Software's Nathan Regener was the emcee, and he did a great job keeping us entertained (and giving us lots of prizes - I even won a book!).
Tomorrow morning there's a meeting to discuss the formation of the Association of REALbasic Professionals, spearheaded by Bob Keeney and some co-conspirators. I'll definitely be there.
Today started off with a nice breakfast, followed by the REAL World 2008 Keynote. Right off the bat, the projector was causing trouble. After a few moments of watching the Omni staff fuss with the set up, Geoff quipped, "If I was Steve Jobs, people would be getting fired right now."
Once the equipment was up and running, Geoff began by talking about the past year. He said that their platform distribution is evening out, with Mac users still commanding 44% of their sales, followed by Windows at 34%, and Linux at 23%. Both Mac and Linux sales are growing, though. In particular, their Linux user base is up 48%. That's pretty impressive. In addition, their revenue is up by 43%. That's encouraging news to hear about a company to whose fate you have hitched your proverbial wagon.
I did get some Cocoa news, but only as much as this: the Cocoa transition plan has resumed and will be worked on this year. Here's hoping.
Then Geoff gave us some statistics from their surveys. 99% of their users are male. No great surprise there, at least judging from the demographics I see at REAL World each year. The number one reason for using REALbasic that people listed was developing cross-platform applications. Number two was building database applications. A full 66% do both. Perhaps not coincidentally, my two sessions today were on Cross-Platform Interface Tips and Understanding SQL.
Next up was REAL SQL Server news. Some great new features coming up include LifeSaver (which is essentially Time Machine for REAL SQL Server), client messaging (which can be server-to-client, client-to-server, or client-to-client), server plug-ins (which allows you to put your business logic in the database itself), and multi-version concurrency control (which you have to be a database nerd to understand, so I'll just link to a description). Cool stuff.
As Paul surmised, 2008 looks like it will be the Year of the Database for REALbasic, which tickles me pink, or at least peach. Geoff showed off some upcoming database features that will be rolled into REALbasic. The first was connection sets for databases: connecting to different databases for development, testing, and production. The second was more exciting: automatic data models, based on the schema of your database. In other words, REALbasic looks at your tables and creates classes for each one, with properties representing the table's columns. Very, very cool.
After a short break, Inspiring Applications (comprised of Brad Weber and Joe Strout) took the stage and announced Yuma. I'm so freaking excited about Yuma that I can barely write about it. It's an HTML preprocessor like PHP, but with REALbasic syntax. This is good because PHP is nasty. It's powerful and ubiquitous, but it looks like someone with a mouthful of punctuation sneezed all over my screen. Yuma appears to be powerful, flexible, and reasonably priced. Kudos to Inspiring Applications on this one. I think I heard Swordfish die, only to be reborn in a new form.
Lastly, the three keynote contest winners gave their talks. First up was Paul Lefebvre, who gave us all a much appreciated reminder on the value of simplicity. Paul is the Community Evangelist for REALbasic, and I was glad to hear him speak on simplicity. I'd heard one of his sessions at REAL World before, so I knew I'd enjoy his talk. Next was my boss and friend David Mancuso, who talked about how REALbasic has transformed how we do things at Etown. David is a great presenter and spent a lot of time talking about how awesome I am, so two thumbs up! Lastly was Jay Jennings, the man with the mohawk, who gave me a much needed kick in the pants about marketing my stuff. His best line: "I went to get a PCjr in 1984 but went to the wrong store and ended up buying an Apple II by accident." Hehe.
After the morning keynote a nice lunch, we began with the breakout sessions. I attended Version Control and Team Development by Jon Johnson and then Internet Classes by Andrew Bredow. Both were very good. Then I taught my two sessions, which I think went pretty well.
And then there was dinner. Wow. They took us to the Alamo Drafthouse, which is a movie theater and a restaurant. They bring you the food right in the theater seats. Then they showed Back To The Future complete with MST3k-style commentary from Master Pancake Theater, three very funny guys. I mean very funny. My face still hurts from laughing. The food was good, too.
Another year, another REAL World. David picked me up just after six o'clock this morning. We headed to Philadelphia, and from there we flew to Chicago. Our connecting flight was delayed due to weather conditions in Chicago, but we eventually got on our flight to Austin. Our flight to Austin took longer than anticipated because of a storm in Austin. The pilot suggested we might have to land in San Antonio instead, but the weather broke, and we made it to Austin.
All in all, not bad. I could have done with the delays, but it could have been so much worse.
After checking into the hotel, David and I went down to Stubb's for a quick dinner, then we headed back to the hotel so we could pre-register for the conference. They gave us some really nice stuff this year, including a 1 Gb flash drive with PDF versions of all of the conference sessions. They used to give out CDs, but I think the flash drives are much more practical. No shirt this year, though. Oh well, I have four REALbasic shirts in my collection already.
Apparently Bud Cort, who played Harold in Harold and Maude, was in the hotel at this time. Pretty random, eh?
While David did his sound check for his part of tomorrow's keynote, I chatted briefly with Marco Bambini about REAL SQL Server, and I must say I'm looking forward to his sessions, especially the one about packaging REAL SQL Server into your application. That should be really interesting.
Then I had to find a drugstore, because I'm an idiot. I forgot toothpaste and I forgot my Zyrtec and I brought along a razor blade that I'm afraid will shred my scalp if I try to use it (note to other folks at REAL World 2008: if you see me bleeding profusely from the head, I'm probably okay). Also, my deodorant exploded en route.
So tomorrow kicks off with the keynote, which is part Geoff Perlman, part Jay Jennings, part Paul Lefebvre, and part David Mancuso. It should be a very interesting and entertaining keynote. Personally, I'm really hoping for some information on Cocoa or on Swordfish, but I'm not holding my breath this year.
I would imagine there will be some sort of group-edited play by play of the keynote. If that happens, I'll do my best to save it and post it here.
I also teach two sessions tomorrow: Understanding SQL and Cross-Platform Interface Tips and Tricks. Understanding SQL is a slimmed down version of the database session I did last year, which will focus just on the SQL language itself. Cross-Platform Interface Tips and Tricks is mostly the same as the session I did last year, but updated to reflect some changes in REALbasic since then. I teach one more session, All About Toolbars, on Thursday.
So, DreamHost (who hosts this site) went down tonight. Hard. Nothing was working. I wasn't sure what to make of it until I saw this:
Due to a typing error on our primary router while trying to block a denial of service attack, DreamHost is currently offline. This includes all email, web hosting, etc. A technician is about 15 minutes out from our datacenter to undo this mistake. I apologize for this mistake. I was intending to be editing our non-live access-list, and edited the live one by mistake.
It would be really easy to sit here and pass judgement, and declare my intention to leave DreamHost, and all that stuff. But you know what? Accidents happen. Typos happen. And I really respect that they were honest about what happened, even though it's rather embarrassing.
Besides, after the SQL oopsie I pulled at work today, I'm hardly one to judge.
Okay, so I signed up for Twitter. And then I set up my Twitter RSS feed to display on this blog. And then I installed a Facebook application that uses my last Twitter message (I refuse to call them tweets) as my Facebook message.
And then I got to thinking. Why not use Proxi to set my iChat status to my last Twitter message?
The Freakonomics blog asked some experts to weigh in on the HD-DVD/Blu-Ray format war. My favorite comment was from Andrei Hagiu, assistant professor of business administration at Harvard Business School:
Perhaps one lesson that this particular war drives home particularly well is this: not fighting in the first place might be a very good strategy to win, if only the contestants could be smart enough at the beginning. Mounting investments in standard wars is akin to a bidding war for a $20 bill: once you’ve decided to participate, you are sucked into a wasteful battle, in which people bid higher than $20.
Great article by a non-tech type dude who wanders into the Apple Store at the mall. Not intending to buy anything, he walks out with a new machine: It was bitter cold, snowing. The mall was quiet. You could actually hear the water streaming from the marble fountain a floor away. But the Apple Store was packed with people--folks laughing, banging keyboards, sampling the rows of gleaming computers and gadgets, like they were in a high tech Disney World fun park. And there were no give-aways, no store discounts; just another (frigidly cold) day at the mall.
Me? I love the Apple Store, although I've only been to a couple of them: King of Prussia (David and I made a pilgrimage on its opening day in 2001 or 2002) and Chicago (when I went to PowerSchool University in 2004). Grace still remembers "the cool computer store" we went to in Chicago, even though she was only five at the time and she's soon turning nine. She just thought it was cool that they had a kids' section, and that they let the kids try anything they wanted. And that they had bean bags chairs at the kids' computers.
I do wish that Apple would open a store closer to me. King of Prussia is the closest, and that's a good 90 minute drive. Ideally, I'd love to see one at Park City Center in Lancaster, but that's probably unrealistic. Maybe Harrisburg? Or even York? Come on, Apple! There are large pockets of non-Amish across central Pennsylvania!
Fake Steve Jobs on the Microsoft-Yahoo deal: The Borg-Yahoo merger won't work. Here's why. It's like taking the two guys who finished second and third in a 100-yard dash and tying their legs together and asking for a rematch, believing that now they'll run faster.More here (warning: Fake Steve sometimes has a potty mouth).
Frankly, I think Microsoft's offer to buy Yahoo smacks of desperation. They are scared out of their pants by Google, and this is the best idea they can come up with.
The only effect I can see it having on my life is that Microsoft will own Flickr, which will suck, because I used to have a Flickr account, but then I had to get a Yahoo account to use Flickr when Yahoo bought Flickr. Wonder what happens to my account now? Might be easier just to find a new place to store my online photos. Bleh.
Jeff Atwood of Coding Horror writes: The next time you're knee deep in arcane language geekery, remember this: nobody cares what your code looks like. Except for us programmers. Yes, well-factored code written in a modern language is a laudable goal. But perhaps we should also focus a bit more on things the customer will see and care about, and less on the things they never will.
Your customers don't (or shouldn't) care about certain things: what language the program is written in, how elegant your code is, how well refactored your code is, etc. But they will care when you can provide upgrades and bug fixes faster because your code is easy enough to maintain.
You know, sometimes you see something so obnoxious you can't let it go. I just had a moment like that. I'm here at my desk, glancing through the latest issue of Dr. Dobb's Journal, and I come across an interview with Craig Cumberland of Nokia. They're asking him about widgets, Web 2.0, and other stupid crap. They actually ask him this question: "Can mobile widgets participate in mash-ups?"
If you take technology seriously, how can you read that and not cringe? Not want to punch the interviewer? Sheesh.
To all you non-techs out there: trust me when I say that you fall into one of these categories. As a co-worker and I read the list, we effortlessly came up with several examples of each.
It's a fancy pants directory of Web 2.0 sites, done in Flash. And the UI is horrendous. To scroll through the apparently massive list, you click on the funky purple folder tab at the bottom of the screen. It doesn't look like a scroll button at all. And once you start scrolling, there's no feedback on how far you've scrolled or how close to the bottom you are.
This is possibly the most awesome news story I've read this year: Stallman Attacked by Ninjas. Yes, folks, Richard M. Stallman, known to several as the founder and leader of the Free Software Movement, was attacked by ninjas while taking the stage to give a speech at Yale.
Now, for the bad news: they weren't real ninjas, and they weren't trying to hurt him. Turns out, it was just some pranksters acting out one of my favorite web comics.
From the Yale Daily News: Before the debate began, four student pranksters dressed in ninja garb jumped in front of Stallman as he prepared to take the stage. After posing for pictures with him, they ran out of the room amid audience laughter. The prank was inspired by an XKCD.com comic depicting a failed assassination attempt on Stallman by four masked men from Microsoft.
So it's official: Leopard will ship on October 26. Great quote from Steve Jobs: “And everyone gets the ‘Ultimate’ version..." Compare and contrast.
Apple has a nice, long, comprehensive list of new features here. Looks like a nice upgrade. Maybe not as revolutionary as Jaguar or Panther were, but still solid.
Via Coding Horror: I was struck, the other day, by how much I had to think when attempting to heat up my sandwich in the microwave. There are so many controls: a clock, a set of food-specific buttons, defrost and timer controls, and of course a full numeric keypad. Quick! What do you press?
With all the “oh no, the world’s gonna end” date problems out there – Y2K, DST, The End of the Epoch, and Y2070 – it’s surprising that most haven’t heard of the day that the world actually ended. On that day – January 1st, 1984 – a single bug was responsible for shutting down – and keeping down – a whole lot of computer systems. Reference
Software developers think their job is writing code. But it's not.* Their job is to solve the customer's problem. Sure, our preferred medium for solving problems is software, and that does involve writing code. But let's keep this squarely in context: writing code is something you have to do to deliver a solution. It is not an end in and of itself.
The product interface is very clean in its appearance and function, compared with the more cluttered VB6 development environment that I had previously used. I especially liked how the most important buttons, "Run" and "Build" are very large, visible and easily accessible on the toolbar, unlike the MSVB6 equivalents that managed to hide in a series of drop-down menus and cluttered toolbars. Equally impressive was how the IDE categorized my test program into several tabs: Project, Window 1's UI, and Window 1's code. This helps to keep a project organized in a more logical way. I remember having to toggle between the code and UI of my projects in a drop-down menu in MSVB6, so this was a welcome change.
Nice. Will Kraft, the author of the article, even admits to being an Ubuntu user. I don't normally follow Redmond Developer, so maybe my comment is out of context, but I found it very refreshing that they're open to so much non-Microsoft technology.
Very interesting discussion of Rainbow Tables over at Coding Horror: But it is possible to attack the hashed value of your password using rainbow tables: enormous, pre-computed hash values for every possible combination of characters. An attacking PC could certainly calculate all these hashes on the fly, but taking advantage of a massive table of pre-computed hash values enables the attack to proceed several orders of magnitude faster-- assuming the attacking machine has enough RAM to store the entire table (or at least most of it) in memory. It's a classic time-memory tradeoff, exactly the sort of cheating shortcut you'd expect a black hat attacker to take.
And that blog post led me to the 10 Immutable Laws of Security. Example: Law #5: Weak passwords trump strong security The purpose of having a logon process is to establish who you are. Once the operating system knows who you are, it can grant or deny requests for system resources appropriately. If a bad guy learns your password, he can log on as you. In fact, as far as the operating system is concerned, he is you. Whatever you can do on the system, he can do as well, because he's you. Maybe he wants to read sensitive information you've stored on your computer, like your e-mail. Maybe you have more privileges on the network than he does, and being you will let him do things he normally couldn't. Or maybe he just wants to do something malicious and blame it on you. In any case, it's worth protecting your credentials.
The fact that I did that surprised me. But you know what surprised me even more? Facebook is kind of cool. I feel dirty even thinking it, but I've hooked up with a couple friends from high school and learned some new things about some current friends.
A Brief History of Ugly: Apple in the last 10 years I must take exception with his assertions that the iMac G5, the original iBook, and the eMate 300 were ugly. The iMac G5 is striking, the original iBook was breathtaking, and the eMate 300 was astonishingly unique.
Insomnia: Despite the occasional foul language, I love xkcd. I don't know why, but every comic makes me laugh (especially the recent "River Tam Beats Up Everyone").
Great hint here on how to customize the date and time formats allowed in Numbers '08. I added YYYY-MM-DD for my SQL work. Beautiful.
I have to say that Numbers is a fantastic spreadsheet. The only major flaw I've found so far is the lack of a TEXT function, which I often use in Excel to pad data with leading zeroes.
Todd Ogasawara writes: Apple iWork ‘08 is available now and can read/write Office 2007 files. It has a word processor, spreadsheet, and presentation app. It costs $79. I don’t think Office for Mac 2008 for Mac will be $79 (will it come in a bazillion versions like Office for Windows?). I’ve never used iWork but will guess it doesn’t support macros (big deal since Office won’t either).
Right on, Todd. Right on. I've been playing with the Numbers '08 trial and it's a lot of fun.
Writing an email is like writing an article. Only quote the relevant parts, interspersing your new remarks between the quoted passages. Don’t quote anything at all from the original message if you don’t have to.
This publication shows that a properly tuned PostgreSQL is not only as fast or faster than MySQL, but almost as fast as Oracle (since the hardware platforms are different, it's hard to compare directly). This is something we've been saying for the last 2 years, and now we can prove it.
For open source database nuts, this is awesome news. PostgreSQL has had a more mature feature set than MySQL for years, and now they have a faster database to boot. Throw in the far less restrictive BSD license, and I see no reason whatsoever to use MySQL for any serious application.
The fine folks at ars technica report on a survey that says folksonomy is the most hated word on the internet. The rest of the list: Blogosphere Blog Netiquette Blook Webinar Vlog Social Networking Cookie Wiki
Obviously I was not consulted. I would have blogosphere at the top of the list, surrounded by BLINK tags. Don't get me wrong. Folksonomy is a decidedly stupid word, but not nearly as bad as blogosphere.
As for the others, well, blog isn't so bad. I initially preferred weblog, but I've caught myself saying blog more than a few times now. Netiquette I can deal with. At least it's been around for a while. I don't know what a blook is. A book written in a blog? No idea. Webinar is completely moronic. Just utterly and completely moronic. Nothing redeeming about it whatsoever. Social Networking I can deal with. Sure, it's overrated and overblown, but at least it's not a made up word. On the other hand, I always thought cookie was a stupid word, at least as it applies to web technology. As for wiki, well, don't get me started.
If you question my authority in judging these words, know that I am a technology professional and a certified English teacher.
Everybody's buzzing about the iPhone. I read last night that in Manhattan, lines are already forming at the AT&T store, four days ahead of the iPhone's launch.
It does seem pretty cool. I'm very happy with my RAZR, but I could definitely see taking advantage of some features the iPhone offers, like real Internet and email. Even Jen was wowed when she watched the Calamari iPhone commercial: "OK, that was cool. That's the way things are supposed to work." Indeed.
But, as cool as it is, I can't justify the price tag. Sure, the iPhone itself is a couple hundred bucks, which is a one-time purchase. But I figured there was no way I could afford the plan to support the data costs.
I stumbled across a great article by Josiah Cole called 19 Things NOT To Do When Building a Website. Aside from the obvious (not to mention tired) suggestions like avoiding the blink tag, Josiah really hits home with some great advice. A couple samples: 8. If your website does not work in Firefox, welcome to 2007 10. If you use music on your site make sure the user can stop it, and it BETTER NOT start on page load without the user requesting it 11. Text navigations are better than images 17. If you’re delivering video, it better not ask the user which bandwidth or version of video they’d like.
A bit late, but here's my post about the third and final day of REAL World 2007.
I started the day with "Unit Testing and Test-Driven Development" by Paul Lefebvre. It was a good session, and I always feel like I should be using unit testing more than I currently do (which is to say, not a lot), but I have trouble thinking up good unit tests for my apps. Oh, well, something to think about, I suppose.
I followed that session with "Data Mining and Content Management Techniques" by Jarvis Joyce. To be quite honest, I didn't get a lot of new information out of the session, but then that's the kind of stuff I do all the time. I guess I was hoping for more specific tips and tricks that I could use. But Jarvis did a good job of providing an overview of data mining techniques, and I don't want to sound like the session wasn't full of good information.
Lunch was comprised of barbecued beef brisket and warm peach cobbler. There was some other stuff available, but I didn't care because the brisket and the cobbler rocked.
After lunch, the first session I took in was "Planning, Implementing and Supporting Cross-Platform Business Applications" by John Callis. John has a lot of experience in that realm, and he gave us some really good info. His presentation ended early, however, and the remaining time was filled with a demo of the Monkey Bread plugins by Christian Schmitz. That was interesting, as I 've never invested in the Monkey Bread plugin suite. I'm not sure why. I guess I've found another way to do everything I've needed to do, despite their huge feature list and impressive capabilities. Maybe someday when I hit a wall.
The final session I attended was "Building a Web Application in REALbasic" by Joe Strout. One word review: wow. The demo gave me the same tingly feeling I got the first time I tried REALbasic. Joe really developed a wonderful framework, and then went and released it to the public domain. Brilliant and altruistic. I'll likely be spending quite a bit of time with his sample project in the coming weeks and months.
After all the sessions had ended, most of us gathered for the final feedback session with Geoff and the other REAL Software employees. I'm constantly impressed at their willingness to stand in front of a crowd and solicit feedback, both positive and negative. And believe me, they get both every year!
Lastly, a dozen or so of us who didn't have planes to catch until the morning wandered down to the Iron Cactus for one final meal together. We spoke of a great many things until we parted ways for another year.
All in all, this was the best REAL World yet. Maybe I'm just biased because I got to do three sessions, but it was a blast. Looking forward to next year already.
Dave and I woke up to two pleasant surprises this morning. First, the sessions didn't begin until 10:00, giving us an extra hour to catch up with some other conference attendees. Second, they served a hot breakfast this morning (normally, it's just danish and fruit, which is also great, but today they added eggs, potatoes, sausage, and bacon).
Anyway, I was running pretty ragged this morning. There were two sessions before lunch, and I was presenting for both of them. I started with my database session, which I thought went really well. My biggest problem was that I had so much information to share that I ended up rushing at the end to squeeze everything in. But it was still a lot of fun. The people who attended asked lots of great of questions and I had a great time. But then, I could talk for weeks on end about databases and not get bored. Next year, I'm going to pitch it as two separate sessions. There's more than enough material for that.
"Cross-Platform Interface Tricks" was my second session. To be totally honest, I was extremely nervous going into it, even more so when I saw some of the REALbasic community's heavy hitters in the crowd. But it turned out great. I wasn't too sure about how it went, but afterward, I got a lot of compliments on the session and some people told me they really learned a lot. My favorite comment was from someone who told me that I was the first conference presenter he'd ever heard who pronounced Gnome (the window manager) correctly.
Then we broke for lunch: cold sandwiches. Conversation topics at our table included computer forensics, solid state drives, computer-generated music, DNA-generated music, and school security.
After lunch I was going to sit in on Marco's REAL SQL Server session, but the room was so crowded that I headed over to Bryan Lunduke's session on Designing for Linux instead, which turned out to be really interesting. I don't know if Tangelo has a future on Linux, but I'm pretty sure Kodiak could. After that, I sat in on Keith DeLong's most excellent session on report printing. Unfortunately, I couldn't stay for the second half, because I was scheduled to teach my third session of the day.
That session was on open source licensing. I blazed through my slides in about thirty minutes, which was way faster than I'd expected, but we ended up having some really good discussions about various open source and copyright issues, including some talk about the upcoming GPL 3.
I wrapped up the day with Mike Woodworth's session on optimization, which was also very good. Mike is a really smart guy and an engaging presenter.
After a break, we all gathered for dinner here at the Omni, then we had a trivia contest and a time for socializing. I snuck away for a while to video chat with my family, but we kept getting messages about not having enough bandwidth. Stupid wireless. Anyway, Dave and I got to spend some time chatting with Geoff Perlman and Matt Quagliana. I'm always amazed at what down-to-earth people REAL Software is made up of.
Speaking of Geoff, I forgot to mention one very important thing in last night's post. After Trish Murphy's band finished their set, they brough Geoff up on stage to play drums for a rockin' cover of "You Really Got Me" by The Kinks (one of my all-time favorite bands, of course). Geoff was really great on the kit. The best part is that you can watch the whole thing on YouTube (please excuse the weird sculpture of the naked blue chick behind the drumset).
I'm looking forward to tomorrow's sessions, especially Joe Strout's session on developing web apps. I'm kinda sad the conference will be ending tomorrow, since it's such fun, but at the same time, I'm really looking forward to getting home to my family.
The first complete of day REAL World 2007 is drawing to a close. The morning opened with Geoff's keynote, some customer keynotes, and a keynote from Paul MacKay of Novell. Rather than rehash everything here, I'll direct you to the transcript that Joe Strout wrote up. You can find it here.
After that it was lunchtime (wraps!), followed by the first of the sessions. I attended "Getting Started as a REALbasic Consultant", "Team Development and Version Control", "Introduction to RB Script", and "Using XML for Your Document File Format". All the sessions were good, but I'd rate the Version Control session as the best so far. It was a really good introduction to version control concepts and the basics of using Subversion. Good stuff.
In a short while, we'll meet in the lobby and head down to Stubb's for some good old Texas BBQ and entertainment from Trish Murphy. Should be a fun evening!
And so it has begun again. This morning I woke up in Lancaster, rode to Harrisburg (courtesy of Tom), flew to Pittsburgh (who has free wifi in the airport), flew to Newark, and finally flew to Austin. All for REAL World 2007.
Not much to report so far. My flights were quiet and uneventful, which, incidentally, is exactly how I prefer them.
I did the early registration tonight and hung to chat with Stephen, Norman, Aaron, Bill, Jon, Asher, and a few other guys. Dave finally got in from his flight around 9:00, at which point we walked around 6th Street for a while before getting pizza, since neither of us had had supper).
Then we watched a couple episodes of The Office and now I'm about to go to bed.
Tomorrow starts off with Geoff's keynote, followed by a customer keynote (not sure what that's about), and then another keynote by some dude from Novell (almost certainly about Linux). Should be interesting.
I'm not sure quite sure what to expect from the announcements this year, although there are a few things I'm hoping for, namely Cocoa and Swordfish. Swordfish was supposed to ship in 2005 and Cocoa was supposed to ship in 2006. I understand things change, and I know RS got pounded pretty hard by Apple's Intel switch. But I could really use both of these technologies.
I imagine Geoff will really drive home the fact that REALbasic 2007 R2 was built with REALbasic 2007 R1. That's great news, and certainly worth bragging about.
Otherwise, I'm not sure what we'll hear tomorrow, but I'll post here when I know more.
eWeek: Apple Inc. has sold its 100 millionth iPod in just over five years, boasting on Monday that the digital device was "the fastest selling music player in history" that appeals to both young and old.
Wow. That's a lot of iPods. I mean, a whole lot of iPods. I came across an interesting comment on Slashdot about this: Let's put this in perspective. Not all of these buyers were American, and many of them have probably owned more than one iPod, but the population of the United States is slightly over 300 million. And Apple has apparently sold 100 million.
Yeah. It's official. That's a lot.
In related news, I now know one person who has a Zune. Heh.
I've recently become hooked on Tower Defense games.
It all started with Flash Element TD a couple months ago. After one game, I was hooked. It was a wonderful little diversion that held my attention, gave me a bit of a challenge, and was immensely satisfying.
So I eagerly awaited Flash Circle TD, the sequel to Flash Element TD. When it came out (like a month late, I might add), I was elated. But the excitement soon gave way to disappointment. As is the case with so many movies, the sequel simply wasn't as good as the original (mostly because I couldn't use my beloved Fire Tower anymore).
I am totally and utterly hooked on this game. In fact, I need only type "h" into Safari's address bar, and it fills in the rest of the URL (it's at handdrawngames.com, hence the "h").
My only critique is that at 49 or 50 levels, it's just not long enough. I always end up wanting more, even after those stupid flying bosses get past me every single time.
Anyway, go play it. It's a ton of fun. I'm hooked.
This is brilliant: an automatic computer science research paper generator. Just fill in the author names, and this does the rest. Probably convincing for those that don't work in IT, too.
Here's a sample, entitled Towards the Synthesis of Vacuum Tubes:
We motivate a novel methodology for the refinement of write-back caches (Quip), which we use to validate that telephony and the UNIVAC computer [1] can collaborate to answer this riddle. This is crucial to the success of our work. The shortcoming of this type of solution, however, is that expert systems can be made "fuzzy", random, and introspective. Two properties make this solution different: we allow neural networks to harness low-energy methodologies without the study of active networks, and also our application is based on the principles of cryptoanalysis. However, this method is usually adamantly opposed. Nevertheless, the study of link-level acknowledgements might not be the panacea that cyberneticists expected. Combined with multi-processors, it synthesizes new symbiotic theory.
From Worse Than Failure: "You see gentlemen," the general continued, "for such expensive program, we require at least eight meters of documentation." He stretched his arms as far as he could to illustrate. Clearly, he was not joking.
So it seems that David Meredith is in a predicament. He wrote some software for his employer, although he claims to have written most of it on his own time. Now that he wants to market the solution to others, his employers are claiming ownership of the project and demanding that he turn over his source code.
Eighteen months ago, the State Patrol praised trooper David Meredith for going beyond the call of duty by developing time-saving software that helps officers write traffic tickets electronically. "Meredith is credited for accomplishing more in one year than software companies have in five years," the State Patrol said in a press release in May 2005, when Meredith received a special honor for his work on the software. Now, he is suing the head of the patrol, saying the state is trying to illegally seize the source code to software he developed on his own time and had hoped to market. But the State Patrol argues that Meredith never owned the program because his bosses directed him to write it while he was on the clock. Plus, the state says it is barred by contract from developing it commercially. The dispute erupted after Meredith told his bosses last year that he wanted to sell the product to other law enforcement agencies.
Hmmm.... sounds like I situation I could have encountered myself (but won't).
This isn't a New Year's Resolution, but I'd like to do more with open source software this year.
Please note that I have no ideological objection to closed source, proprietary software. None whatsoever. In fact, I kinda like it. But I also like the idea of some software being wide open.
So this year, I want to use more open source software. I'm already in the process of switching to NeoOffice/OpenOffice instead of Microsoft Office, and I have to report that it's going extremely well. And, at least on my Windows machines, I already use Firefox almost exclusively (I still use Safari on my Macs).
I'd also like to contribute some software this year. I have some ideas for some classes and modules I can release for other REALbasic developers, but there's also one big project I'd really like to open source. I won't mention its name, but you can probably guess what it is. :)
UPDATE Hint: It's not Tangelo, and it's not currently for sale. As much as I'd like to, I really can't be more specific until I talk to some other people, though.
What does Apple have up its sleeve for the upcoming MacWorld?
Obvious guesses include the iPhone, the 8-core Mac Pro, the iTV, and Leopard, but I think Apple will throw us a curveball, like they're so good at doing.
I hatePowerPoint. Really. I prefer to use Keynote whenever I can. But sometimes, I'm forced to use PowerPoint. Like today.
Recently, my boss asked me to prepare some charts based on our students' PSSA scores. Easy enough. I spent a few hours wrestling with Excel and got some decent looking charts. Twenty-nine of them, in fact. I saved each one out to a PNG file (because I'm a snob and I like PNGs). So far, so good.
He also asked me to create a PowerPoint slide show, with each chart on a separate slide. Ewwww. That's twenty-nine slides to make. Not difficult work, but very tedious. Create a slide, drag the picture in. Rinse and repeat. Twenty-nine times.
Turns out, there is. If you have Keynote, that is.
Fire up Keynote and make a new, blank presentation. Grab your pictures in the Finder, and then drag them into the empty space beneath the slide thumbnails on the left. Keynote wil create a new slide, each containing one of your pictures, nicely centered on the slide. Nifty.
From there, I did a quick and painless "Export to PowerPoint" and I was good to go.
If anyone has any tips for doing something similar without involving Keynote, I'm all ears. It would be nice to have a more cross-platform solution than this, but this solved my problem for today.
But then again, this is Microsoft, with nearly limitless resources and an unrelenting desire to own every corner of every technology market. Will they succeed? Time will tell.
What's certain is that the iPod appears to be a difficult thing to kill. Many have tried; none have succeeded. Even the word itself has become nearly synonymous with "portable electronic music device." And the device itself has become something of an icon. Reuters: The world's largest software maker faces an uphill climb in closing the gap on Apple's iPod media player and iTunes Music Store, the runaway leaders in their respective areas. While Apple shouldn't take this lead for granted, it does mean that Microsoft has its work cut out for it. Last time I checked, Apple owned something like 70% market share with the iPod/iTunes combination. The closest runner up is a distant second.
Seems like as good a time as any to mention my favorite viral video, the one where Microsoft redesigns the iPod's packing. You know, where they take Apple's wonderfully and elegantly simple package and switch it around to become an absolute monstrosity. Click here to watch it. Rumor has it (althought I've never personally confirmed it) that this video was acutally made by someone internal to Microsoft, suggesting that at least someone somewhere within the world's largest software company knows had badly their packaging stinks.
I suppose, in the end, I simply fail to understand why every portable electronic music device that's announced is touted as the next possible iPod killer. Maybe, just maybe, the iPod is a great product. And maybe, just maybe, it's not the list of specs and features that make it great. Maybe it's the way it rests in your hand, or the way it fits into your pants pocket, or the way the click wheel seems to be an extension of your hand, or the way it works so seamlessly with iTunes. Or maybe, just maybe, it's because Apple knew what to leave out. There are surely lots of bells and whistles that Apple could have crammed into the iPod. But they didn't. They kept it simple. Because most people simply want to play music. Microsoft? They'll pack every conceivable feature into the Zune. It'll play DVDs, make your coffee, wash your laundry, and fly you to the moon.
But it won't be an iPod. That much is certain.
Updated: Joy of Tech sheds some light on the origin of the Zune name.
Updated again: Wired's Eliot Van Buskirk says Microsoft's iPod killer is doomed from the start:
Microsoft's new strategy, like many tech companies looking to break into a new market, is to offer new features you can't get anywhere else. But, as Microsoft itself proved over the years, features alone don't win technology wars. Having dominated the PC market with its Windows monopoly, Microsoft should know that cracking into a closed ecosystem is often a quixotic affair. Charging at a competitor whose products not only dominate but set the standard in quality is suicidal.
This is an oldie, but I just came across a link to it, via dzone:
A programmer can write unmaintainable code in any language. Let's compare a carefully prepared code snippet from my favorite language with a horrifically bad snippet from your favorite language written by a drunken monkey.
Here's a terrible dialog I deal with on a regular basis. I see it quite a bit, and it confuses me every time.
It's part of the software that came with one of our Scantron OMR scanners. When you run forms through the scanner, the scanner sends a stream of comma-delimited data back to the software, which writes each line to disk as it arrives. Kind of a cool setup.
But when you're re-scanning something, or appending to an existing scan job, this dialog comes up. I can't for the life of me figure out why the buttons aren't labeled Append to File, Overwrite File, and Cancel.
Sadly, this is somewhat typical of Windows applications (this is not an "I hate Windoze" remark; it's just an observation I've made over the years). You really have to pay attention to the dialog to figure out what to do. Apple says that button captions should be actions (like Don't Save, Delete, Modify, etc.), and I tend to agree. It makes the decision easier for the user.
There's been an awful lot of griping on the NUG over the past few months. Now, I understand that everyone's entitled to an opinion, but some of it has gone waaaaay over the top. In that spirit, I present the Top 5 Things I'm Digging About RB 2005/2006. Just to be clear, I started using RB2005 exclusively from the moment it was available, and I'm currently using RB2006r2 full-time. I use REALbasic for my job every day, so I'm not just dabbling here. Anyway, here's the list.
The tabbed interface
I know it's not for everyone, but I'm digging it. Admittedly, when I first saw Geoff's demo at REAL World 2004, I was horrified. About five minutes later, I got it. Now I can't go back to RB 5.x. It's too awkward.
Container Controls
When they were first available, I was stoked. Then I lost interest, because I didn't really have a need for them. Then I found a great way to use them, and I was again stoked.
Computed Properties
For some reason, I just get a kick out of controls having a "Right As Integer" or "Bottom As Integer" property. Of course, there are useful applications as well.
HTMLViewer
Yes, it definitely has some issues, and yes, I'd love to be able to print from it, but dang, it sure has made Tangelo prettier and more functional.
New Language Reference
Wicked fast, and eminently hackable, not that I condone such behavior, because I don't.
This is really good Flash simulation of Mac System 7.1 (click the image for the link).
Takes me back to my first Mac, in 1991. Of course, I hadn't upgraded to System 7 yet; I was still using System 6.0.7, which was lean and fast, even on my 8 MHz Macintosh Classic with 2 MB RAM. And a whopping 40 MB hard drive. Man, I thought that computer rocked. I'd stay up late at night using ResEdit to poke through every file I could get my hands on.
But anyway, the simulation is great. Very realistic. I love the Netscape icon on the desktop. I wonder if the simulated extensions folder has a simulated copy of Netscape Defrost in there?
And we're outta here... that's all she wrote, folks. REAL World 2006 is is over and done.
I started off this morning by attending RBScript 101 by David Grogono. I must make a confession: this was the third time I attended a REAL World session on RBScript. In 2004, it went right over my head. In 2005, I figured a repeat of the session would cause it to sink into my head, but instead, it went right over again. This year was the first I've heard David present it, and it finally clicked. And it's way cool.
The second session I attended was Database Reporting by Burke Squires. Burke did a nice job with the presentation, but I guess I was hoping for something more in-depth. But then again, I've been using On-Target Reports and rolling my own for a couple years now, so this session probably wasn't aimed at me.
The morning wrapped up with Aaron Ballman'sWindows User Interface Design, which isn't as much of an oxymoron as some might think. The session was very detailed and informative, and the participants were asking some great questions, which led the session to run over by a fair amount. But it was lunchtime, so that was cool, and most of us stayed quite willingly.
Following another great meal (not BBQ, but oh well), I finished up with REALbasic Fundamentals 201 with William Yu. A lot of was review for me, but I got some good ideas for exception handling.
Most of us sat in on the Feedback Session at the end of the conference. One of the things I really love about REAL Software is how open and responsive they are. Geoff Perlman and most of the REAL Software team gather in front of everyone to listen to what we all had to say about the conference. There were some good suggestions, like a day of hands-on pre-conference workshops next year, but all in all, the suggestions were for pretty small things, which I think speaks to high quality of the conference. We also got to watch the results of the code competitions and the impromptu bridge-building competition.
After the Feedback Session, a bunch of us (and I mean a bunch!) went to Stubb's for some BBQ. Finally! We all managed to squeeze around four or five tables. I sat with Geoff, Dave, Dave, Christian, Gerard, and Will, and I think I can speak for all of us when I say that we had great food and a great time.
Thanks to REAL Software, especially Janet, for another great conference. It's nice to be part of such a friendly and helpful community, and I think a large part of that can be attributed to REAL Software and their team.
The first session I attended this morning was Technical Q&A, featuring Jon Johnson, David Grogono, Aaron Ballman, and Mike Bailey. After a slow start, during which it seemed no one had any questions of their own, but were rather expecting just to listen to everyone else's questions, which was my own plan, David said that no question was too easy, and that even Aaron learned something new about REALbasic this week and was still very excited about it.
So I raised my hand and asked Aaron what he had learned about REALbasic this week. He replied, "Sort with." And then he talked for a few moments about some of the cool things you can do with it, like sorting dictionaries. Very cool indeed. Something to try when I get a chance.
My second session was Using RB in a K12 Support Setting, which was the session I was presenting. I was really nervous going into the session, because it was completely non-technical, and I wasn't sure what kind of audience it would attract or what kind of reception I would get. As it turned out, the session went pretty well. I got some great questions and we had some very interesting discussions, some of which continued even through lunch and dinner. I ended with a live demo of Kodiak, which seemed to go pretty well.
After that, I attended Design Patterns in REALbasic with Aaron Ballman. I had attended Joe Strout's session on the same topic two years ago (or maybe it was last year?), but I was curious to see what spin Aaron would put on it. He did a great job and gave some excellent examples, not just of how to use various patterns, but why.
Lunch was wraps. I don't like wraps. I simply can't abide the things. So I had chips and a cookie. Lunch of champions.
After lunch I sat in on Mars Saxman's Debugging Principles and Techniques. No one is more qualified to teach about using the REALbasic debugger, since he wrote it. It was a great reminder of some down to earth, common sense techniques.
I then attended two non-technical sessions: A Practical Approach to the Perfect Product Launch by Gwen Palmer and Sales 101 for Developers by Matt Quagliana. Gwen does marketing for REAL Software, and Matt does sales, so these guys know what they're talking about. They were both very good, and very enlightening. I came away from each of them with some new ideas on ways to promote Tangelo.
And now I have to be honest. I was disappointed in dinner. It was good enough, but there was no big Texas BBQ. I nearly wept.
For more insights on REAL World 2006, check out some weblog posts from Aaron and Ian (whom I was able to meet in person). I'm trying to convince Dave to write something up, too.
Oh, I did find out that when the hotel says the rooftop hot tub closes at 11:00 PM, they mean it.
Dave and I flew out of Philadelphia this morning around 11:30 and finally landed in Austin, TX, around 4:30 this afternoon (taking the time zone difference into account). Our flights were painless and relatively quiet, which was nice.
After we arrived at the hotel, I checked in with my family, then headed off to the Speakers' Dinner. I had a great cheeseburger and some great conversation with Will, Aaron, Jon, Mike, and Thomas, among others. I started to get tired after a while, so I wandered out of the restaurant, but as I got closer to the bar, I found Dave and a bunch of others crowded around Thomas, who was giving an impromptu session on version control.
We went back to our room, where I had a brief videochat with Jen. After she went offline (and presumably to bed), Dave and I surfed around for a while before heading up to the rooftop hot tub.
And now for a good night's rest, before the good stuff starts tomorrow morning.
Well, the first day has come and gone. The day opened with a nice continental breakfast, followed by registration. I also went to a brief speaker orientation, where I got my nice new polo shirt. Once everyone was settled in and signed in, we were treated to Geoff Perlman's opening keynote.
And he had some surprises in store. One of the bigger announcements was the formation of REAL Software Europe and REAL Software China. He also spoke a great deal about the huge strides REALbasic in the Linux market. I knew they were doing well there, but I didn't realize just how much progress they were making. It's a market that's growing, and it doesn't show signs of stopping or slowing just yet. Our conference bags also contained free copies of Novell Linux Desktop, so maybe I'll see if I can pick up a cheap hard drive to throw in my PC so I can try Linux again (I've tried it several times before, but it's always seemed like more trouble than it's worth, but it's been a while).
After the keynote, we broke for lunch, then started our sessions. The first one I attended was Developing Slick UIs by Bryan Lund of Radical Breeze. He talked at length about the little UI details that give an application the "wow" factor. And I must admit, several aspects of his advice shamed me into rethinking some of my interfaces.
Then I attended Taming Complexity, by the esteemed Joe Strout. Joe shared some great tips on managing projects, such as using design patterns and using consistent naming conventions.
The third and most interesting session of the day was Jon Johnson'sUpdating Your Application to Cocoa. This is a great thing that holds tremendous promise. Jon was practically giddy as he demonstrated some cool stuff coming down the pike. And afterward, he gave me some good news, but I won't share any details.
I also had some interesting talks with Will, Joe, and the other Dave. All in all, a great first day.
Looking forward to tomorrow, although I'm a bit nervous about my own session.
Lots of goodies in this release. Here's a quick list. Visit the above link for the full details.
- Real HTML Previews (uses IE on Windows and WebKit/Safari on Mac OS X) - Completely retooled FTP code (and I mean completely) - iTunes-compatible Podcasting (according to a new federal law, all new software releases must deal with podcasting in some way) - New Tags - Media Folder (for storing all those podcasts, of course!) - Static Content (pages that aren't time-sensitive) - Consolidated Publishing (publish everything from one window now) - New log window (lots of good info in there) - Redesigned Wizard and Preferences (hopefully easier to navigate and use) - Skin Support (download third party templates or share your own) - Ugli Integration (the skinning tool is now built-in) - Preview Pane Template (so you can see things the way you want to see them) - Interface Improvements (some big things and some little things)
Zeldman: If Steven created the site with CGI and Perl and used tables for layout, this is the story of a boy who made a website for his own amusement, perhaps gaining social points in the process. He might even contribute to a SXSW Interactive panel.
But if Steven used AJAX and Ruby on Rails, Yahoo will pay millions and Tim O’Reilly will beg him to keynote.
Will you be there? I will. This year, I have the honor of being a presenter. Here are the details of my session:
Using REALbasic in a K12 Support Setting: A Case Study This session details some of the ways that REALbasic can be used to save money and improve processes in an educational setting, although many of the concepts apply to other environments as well. The session will include learning about some of the advantages of in-house development, automating workflows, using REALbasic as a database front end, and a demonstration and discussion of Kodiak, the student information system made possible and powered by REALbasic. The Kodiak discussion will feature the details of design, testing, training, and deployment that went into a successful internal product launch.
So, yeah, I'm pretty excited. I've been to REAL World twice now, but only as an attendee. I'm thrilled and honored to be presenting how I use REALbasic in my job. And I'm really psyched about the chance to demonstrate Kodiak and talk about all the work and planning that went into launching it.
For those who don't know, Kodiak is the student information system I've been developing at work over the past year and a half. Existing solutions simply didn't meet our needs, so I started building one from scratch.
And no, the name Kodiak has nothing to do with smokeless tobacco. It has to do with bears.
Anyway, I know at least a fewreaders of this weblog will be there, so I'll see you in Austin!
MacWorld 2006 is getting ready to roll into high gear. The SteveNote is Tuesday. I'm expecting some big announcements this year. In fact, one friend recently informed me that he was told that the news would be so exciting he should wear diapers that day.
I don't think I'll wet myself. It would have to be pretty huge for that to happen. Like a free PowerBook every year for the rest of my life for me and and each member of my family.
But I doubt that's what they'll announce. Here's my picks:
- Nothing iPod-related: I love the iPod. I really do. But can we talk about something else for a change, Apple? Verdict: Well, Steve sure did talk a lot about the iPod, but nothing new was introduced except for the FM tuner thingy.
- iLife 06: Seems like a no-brainer. Some nifty new, but minor, features in iPhoto and GarageBand. Rumor has it Apple will announce iWeb, an easy-to-use HTML editor. I hope they do. It would be great to have something to fill the gap so long left vacant by Claris HomePage. Verdict: Yep, iLife 06 with iWeb. I didn't expect such a heavy emphasis on podcasting, though. Cool stuff.
- iWork 06: Pages 2, Keynote 3, and Numbers 1. Numbers is the rumored spreadsheet app. I would love to see an Apple-branded, Excel compatible spreadsheet app. I would leave Excel so quick its head would spin, if it had a head and were sentient. Verdict: Dang! Crap! I mean, yeah, iWork 06 and everything, but where's the spreadsheet? Phooey. Although I must admit that Pages is rapidly becoming my favorite word processor. He stays out of my way and lets me work, just like his father AppleWorks.
- Intel-based PowerBook: The current rumors are all about the iBook getting the Intel makeover first, but let's face facts: the PowerBook is looooong overdue for a major overhaul. Here's to a 3 GHz PowerBook. Mmmmmmm. Verdict: MacBook Pro? Ewww. That's a terrible freakin' name. Sounds like some crappy accounting package from the 80s. As I wrote to the RB List, I never thought Apple would come up with a worse product name than Performa, but it appears I have underestimated them. I still want one, though, as soon as they make 17" model.
- Intel-based Mac mini: Super fast Mac mini with the Front Row treatment. It will be the centerpiece of my home theater when I finish by basement later this spring. Verdict: Huh. iMac. Interesting.
- One more thing: In classic Steve Jobs style, he'll announce "one more thing" at the end of the keynote, almost as an afterthought. I don't know what it will be, but I think it will have to do with home video/home theaters, and I think it will be something from out of left field. Verdict: Or not.
So there's my list. What are your predictions for Tuesday?
I hope this letter finds you well and that you had an enjoyable holiday season.
I wanted to take a moment to answer some of the questions you've been asking me, and also to ask you a few questions of my own.
First, no, I don't care to use the List Wizard, but thank you for asking. Actually, please allow me to clarify: thank you for asking the first time. The last several hundred times you asked me were, frankly, rather annoying. I thought you would eventually get the message, but I may have misjudged your perception of the situation, Microsoft Excel. Again, just to be quite clear: I have neither the desire nor the intention to use the List Wizard. If, by some freak series of bizarre events beyond my control, I should decide to try the List Wizard, I will be certain to tell you; in fact, you will be the first to know. By the way, Microsoft Excel, please tell your friend Word that I also don't need his help writing letters; I've been writing and formatting my own letters for several decades, and I do hold a BSE in English Education from Millersville University, so it's not as if I'm new to this whole "letter writing" thing.
Secondly, I am well aware that saving a as tab-delimited text will prevent me from using some of your special features. To put it bluntly, I don't really care. I don't use most of your features anyway, Microsoft Excel. You seem quite anxious to make sure all of my documents in your own proprietary format, almost obnoxiously so. Are you insecure about something? Are you afraid that if I store my spreadsheets as plain text, that I'll switch to doing all my spreadsheet-related tasks in a text editor or in something like FileMaker Pro? Really, Microsoft Excel, the insecurity is growing tiresome. Please grow up and try to play nice with the other applications on my computer.
Which leads me to my first question for you. Why is it that when I do manage to save a file as tab-delimited text, you