WWDC 2009 Keynote Thoughts

Apple’s World Wide Developer Conference starts today, and of course the keynote is the big deal the world watches.

I’ve attended WWDC many times in the past, but I intentionally skipped it this year. Saving the company a little money, WWDC has turned into an iPhone luv-fest, the quality of the conference has gone down over the years (yes, I’m an old-timer), it’s packed, the fan-boys are in way too much effect here… it’s just not worth it. I mean, people were lining up outside the convention center at 4:30 AM to be “first in line” for the keynote. Sheesh! I’d rather spend the week being productive and working. Any of the few sessions that’d be worth attending I can catch videos of later.

Oh well, so what came out of the keynote.

  • Updated the entire portable/notebook line. That’s good stuff and looks like they’re moving the whole line towards their new form factor. Good deal. I’d love to buy a new one to get that sort of new battery life.
  • Simple Snow Leopard improvements, like Exposé in the Dock, faster install and recovery of disk space is good. Enhanced “previewing” support directly in the Finder. They are small things, but the devil is always in the details.
  • Chinese input via drawing on the trackpad? That’s interesting. I need to check on how that works and if it works for other “symbolic” languages such as Japanese, Korean, etc..
  • I like Safari 4’s “crash resistance” setup, because without question the highest crashing thing on my Mac is the Flash plugin.
  • That QuickTime has finally become “X” and gotten the much overdue overhaul is great.
  • Grand Central, OpenCL, 64-bit hardware and the OS fully committed to 64-bit, multiple core CPU’s and wicked powerful GPUs, just awesome stuff for a geek like me.
  • While I think MS Exchange is a huge steaming turd, I do know how many organizations are based upon it for all of their electronic communication and organizational needs. So that Apple is embracing this and putting Exchange support directly into the OS is good, both for Apple and for Microsoft.
  • Overall I’m liking that Snow Leopard is going to be what they said it was going to be: refinement. Leopard really brings about a maturing Mac OS X in terms of features and user experience, so now you need to stop adding on features and making the features that you have really solid and stable and refined. Snow Leopard is doing that in a big way. Thing is, as a geek I know it’s good and will move to it. But from the early days of Snow Leopard (as a developer, I’ve had access) I was always curious how Apple was going to make this appeal and be marketed towards consumers because the non-geeks well… I don’t know how it will appeal to them to plunk down the money for the OS upgrade that does a lot of awesome stuff under the hood which then enables us developers to do awesome stuff…. but that doesn’t equate to simple whiz-bang features that you can list on a box or in an advertisement. What’s there to really entice the consumer? 
    • Now I know. Pricing it at $29, or $49 for a family pack. Smart move on Apple’s part. They know there aren’t any whiz-bang flashy features to really sell to consumers, but make it a cheap upgrade that gets you lots of things towards the future. It mainly helps developers out, so now we can write software that use the new technology, the $29 OS upgrade price is a negligent barrier then for people to upgrade the OS to use our softwares. This is all good stuff. Glad Apple did this.
  • Snow Leopard will be available in September.
  • iPhone. Cut/Copy/Paste/Undo. Gosh, such essential parts… about time they’re here. Landscape mode all around, good. Spotlight, neat. Of course more iTunes/Store integration, which is great for them and AT&T.
  • “Tethering”. Nice. But AT&T won’t support it and who is the iPhone carrier? Sheesh. 
  • “Find My iPhone”, only through MobileMe. Way to drum up business! 🙂  I actually think this is pretty cool, but on the surface appears ripe for abuse or other evil things, so hopefully they thought about that (likely so) and it’s a fairly controlled and unabusable experience. But yeah, this is cool.
  • P2P support is good, gamers will like that. They’ll also like the in-app purchasing ability. Hardware accessory support is very good.
  • Push notification. ’bout time.
  • Other little iPhone OS 3.0 things that are good, especially the expanded language support. It’s nice to see the OS coming along, maturing, catching-up.
    • Available June 17.
  • OO… TomTom for iPhone.
  • But 8 iPhone demos. Ugh. I know Apple wants to trot out a lot of people and cool things, but when you’re at the show, sitting in cramped quarters (the chairs are all clamped together, they’re barely wide enough for a child to sit in, then consider most geeks aren’t exactly svelte and it makes for a very uncomfortable 2 hours), man… this is painful. And I’m not there and it’s painful, but from dealing with it in the past I know the pain.
  • iPhone 3GS. Faster, better camera, video, digital compass, voice control, encryption and data wiping. Awesome.
    • $299 for the biggest (32GB) version. Nice.
    • Also, the existing 3G iPhone (8GB) for $99.
    • Available when? Depends: 3G today, 3GS June 19. 
  • There was no “one more thing”, and for that I’m glad. While it was a cute thing in its day, I’m glad it went away. People got way too hyped up and it got ridiculous. Fanboys get all excited prior to the show and work up expectations that there’s no way Apple can live up to, then people moan and grow because their unrealistic expectations weren’t exceeded. So I’m glad they’re doing away with it. In the end, I think the keynote offered some great stuff and really showed where Apple is going. They are focusing on making the OS very solid towards the future. They are making their hardware platforms grow and improve, and working to make both the hardware and the OS work very well together (one of Apple’s strengths since they sell them both… it’s part of what makes a Mac a Mac, vs. using Windows atop any old hardware or using any old hardware with whatever OS). Plus it’s evident iPhone is #1 at Apple, because you know the revenue streams are ridiculous here. Many of the new things demoed during the keynote rang of $$$ for them, carriers, and developers.

While I was watching various live webcast coverages, when Bertrand Serlet was up I found myself reciting all of his quotes with his accent.  Then Scott Forstall came up for iPhone stuff and gosh, I remember when Scott was just a low-level guy at Apple; it’s really neat to see how every year or two he’s climbed further up the ladder there at Apple. That’s quite awesome for him. Then while watching the keynote, near the end, Wife IM’d me and said “one more thing”… Wife doesn’t understand what “one more thing” means in the context of an Apple keynote, it was just a funny coincidence. All this stuff? It was just like I was there, but with a better seat. 🙂

I will say, this is one thing tough about my current job. I have to ship product that works for the existing users, so I often end up being behind the curve. All these new things are great, but I still have to support Tiger users (Mac OS X 10.4). I don’t get to really take advantage of new things for quite some time. Frustrating, but I can see what I can look forward to.

That said, one thing people find hard to believe about me is that while I’ve been an Apple user since I was a kid and have spent a good portion of my life developing software for the Mac, I don’t own an iPod or an iPhone and never have. Main reason? I don’t have a need. But the iPhone has been full of want, and that iPhone 3GS seems like maybe a good time and place to start. In fact, maybe a 3G for Wife and a 3GS for me (Wife isn’t as techno geek).

Ways to improve your home office

Web Worker Daily has 7 Simple Ways to Improve Your Home Office.

The suggestions are fairly simple: you spend a lot of time and energy in this place, so you might as well make it pleasant and comfortable. 

One advantage that we often have at home that officer workers may not have is natural lighting. If you’ve got windows, take advantage of them. They make a big difference in your mood. Of course, I do know some that prefer to work in the dim and dark, so I guess brick up your windows in that case. 😉  Either way, lighting makes a difference in your mood and productivity.

Another thing that helps me is being able to keep my office’s air comfortable. Now, I do have a lot of computers in here which generates a lot of heat. Consequently I have a portable A/C unit in my office because otherwise it’s a sweatshop, especially in the heat of the summer. But having your own A/C unit, fans, heaters, or whatever you need is useful so you can keep things where you like it. Wife likes it a bit warmer, loves to open up the windows (which often leads to higher humidity levels). I prefer it a bit cooler and drier. 

It’s your office and being your home office you’ve got free reign over it. Take advantage of that to make your best workspace.

of SQL and other programmer joys

I know it’s been a light posting day. I’ve been buried in code.

I’m an application programmer. I tend to write most of my stuff in Objective-C and C++ (and Objective-C++ and sometimes straight C). Sometimes I do some work in Python. A few other bits of dabbling now and again.

I haven’t looked at serious database work in almost a decade.

But today I needed to consider using SQLite as a solution, so I had to pull out my SQL book and remind myself just how it all worked.

Of course by the end of the day I came to the conclusion that going straight to a relational database wasn’t going to be the best avenue to solve my problem. Instead, I think I’m going to use Core Data. I’ve used it numerous times in the past but didn’t feel it was the right fit for the work at hand (given Apple’s design intent/constraints on Core Data). But the more I thought through things, the more I think it’s going to be the way to go. At least, that’s my thinking right now. Could change tomorrow when I start prototyping.

Yeah, this probably doesn’t make a lot of sense to most of you. But I’ve been nose-down in that all day, thus minimal blogging.

The server is down

So… the company email server goes down. No problem. These things happen.

The server comes back up. All the backlogged email comes gushing through.

What’s one of the first emails that we receive?

An email telling us that the email server is down.

*sigh*

Reminds me of The Website Is Down, sales guy vs. web dude. NFSW, but damn hilarious.

Delicate infrastructure

I work for a company in California.

Right now we’re supposed to be having a lot of meetings using a mix of telephone and Internet for voice and video, screen sharing, all other sorts of technical goodies.

But it’s been odd. I haven’t seen anyone from the office online yet. No IM’s, no emails. Meeting is supposed to start but no one is around, nor is anyone calling me into the meeting. I pick up the telephone and start calling. Every line is busy. That’s odd. I call mobile phones, they all kick immediately into voice mail. That’s really odd. I tried a few people’s home phones (reach the spouse, ensure I have the right mobile number) and they were busy. Now things are just getting weird. Of course any attempts to connect via the Internet to the office (e.g. VPN) aren’t happening.

I called the company’s main office down in southern California. They confirm the other office seems to have no phone or Internet. This sometimes happens, so I think no big deal, but coupled with all the other inabilities to get through (e.g. mobile phones), I hit Google.

I find this.

That’s basically the area where the office is located. So best I can say is this is the problem. So who knows how long we’ll be high and dry.

Think about the implications of this:

  • An AT&T fiber line was cut. As a result, 50,000 land lines were down, mobile phones are down, Internet is down. This leaves a massive number of people without any means of communication to anything further than shouting distance.
  • Report says that people may not be able to contact police. They are saying if you have an emergency to go to the nearest police station. Think about that. If you ever counted on the police coming to help you, how can they know to come help you if you can’t tell them to come help you…. again, unless they’re within shouting distance.
    • If you’ve read my blog for any length of time, you can probably figure out what I’m implying here.
  • Of course, emergencies aren’t just police. What about medical emergencies? What if your house catches fire?
  • How are hospitals coping?
  • If everything can be brought to a screeching halt by severing one line, what does that say about infrastructure? Lack of redundancy?
  • How much commerce is affected? Not just our company’s inability to do business, but think about simple credit card transactions. I doubt those can go through. No grocery shopping, no buying gasoline, no nothing. Heck, I’m sure ATM’s aren’t working. Got cash?

And there are many many other things that you can imply by the fact that one line was cut and all this goes down.

Technology is great, but how much do we depend upon it? And how fragile is it all?

Updated: Word I hear is that this is now being view as vandalism. That someone maliciously cut 5 fiber optic cables. It’s created all sorts of chaos, it demonstrates how reliant we are upon such technology, and it shows how fragile things can be.

Updated 2: Looks like the plot sickens. Interesting quote:

“We would never condone any kind of destruction like this,” [Communications Workers of America union] spokeswoman Libby Sayre said. “We didn’t do it this time. We would never do it.”

Emphasis mine. This time. Mmm.

One of those happy moments

Here I am. Sitting at my computer working (or pretending to). One of our cats, the “weird one”, opts to seek me out. Jumps up in my lap, spends a few minutes getting her head scratched. Then she opts to park it in my lap and take a nap. Purring away. Happy. Content. This is rare behavior from her… she’s not a lap cat.

But it’s welcome, both by her and by me. The wife and kids are out of the house, so it’s just me and the cats. It’s a nice, warm, peaceful moment.

I’m fortunate to work from home.

CocoaScriptMenu

My day job entails working as a software engineer writing Mac software. I just went through an ugly experience dealing with a particular 3rd party API, so it was a welcome experience to deal with a well-written bit of 3rd party code.

Jay Tuley’s CocoaScriptMenu is a terrific piece of reusable software. It does one thing: allows you to add a Scripts menu to your application, and it does it very well. I obtained the code, made a few small modifications to fit it into our build environment, dropped it into my application, and viola… it just works. Furthermore, it has just about every bit of functionality and customization that one could want. I mean, as I was thinking about how to implement this feature on my own I came up with a list of functionality, and CocoaScriptMenu satisfies every single one of them and a little bit more. Plus the licensing terms are reasonable.

Thank you, Jay Tuley, for creating this and releasing it. Good work indeed!

Isolation

Ok, time for a little reciprocal blog love. I’m checking my blog stats and see that I’ve been quoted in this article by Sharon Davis. Thank you, Sharon. So as I’m reading the article the first point it touches on is isolation. Sharon refers to Judi Sohn’s article at the Web Worker Daily that discusses that very issue. It’s an issue I’ve certainly dealt with, so here’s my perspective.

Judi’s article hits on a key part of dealing with isolation: communication. I’ve learned that you must communicate; in fact, you must seem like you’re over-communicating. Now, you can’t overload your co-workers and boss such that they wish you’d shut up (they’ll tune out out and that’s even worse), but you just have to make a greater effort to let them know what’s going on with you. If people in your office use Instant Messaging, you should too. Be on all the relevant networks/protocols for all the relevant people you have to communicate with in your office (using a consolidated IM app can help with this, e.g. I use Adium). Get in the habit of using your IM Status to relay what you’re doing; you don’t have to update the minutia of your life, but it does provide some degree of “Hi, I’m active” to those that work with you. Make sure you do respond to emails promptly. Every Friday I send a weekly status report to my boss and other relevant parties at the office so they can know what I’ve been up to this past week. One thing that you can also consider is that all of these things have “time stamps”. They show when you’re working, when you’re available, how long you’ve been online, and so on. Depending how much your boss wishes they could look over your shoulder to monitor your work habits, these things can be useful to demonstrate “I’m working, even though you cannot see me”. Of course you can manipulate those things, but be mindful… too much fibbing will come back to haunt you.

While you need to communicate with them, they also need to communicate with you. You can’t expect the home office will always tell you what’s going on, so you’ll have to ask. When you’re talking to your office-bound mates, ask them what’s going on around the office. This doesn’t necessarily have to be juicy gossip, it could be simple things like “how’s the office renovation going?” or “I hear some loud noise in the background? What’s going on?”  Little things like this help you keep connected to the culture that’s developing within the office walls. You can be “in on the jokes” and other things like that. It’s useful to also have visited the office a time or two so you can know the physical layout, which often is relevant to being “in” on things. You just have to be proactive at getting the information you’d otherwise naturally get if you were in the office.

But while these things cover information, they don’t exactly cover one important thing that being in the office gives us: that human interaction. I’m fortunate that I’m not home alone (wife and kids are here), so I get some human interaction in a day. But for human interaction with my office-mates, I’ve found that instead of IM’ing or emails, just pick up the phone. IM is nice for a quick exchange, but if it’s getting lengthy just pick up the phone… it’s faster in the end, and far more personable and productive. Plus it’s nice to hear someone’s voice now and again. Or if you’ve got a real tech-savvy company or co-workers, do a video chat now and again… it’s nice to see faces. And also remember, every conversation does NOT have to be pure business. If you blow a few minutes just chit-chatting about the weather or other non-business things, that’s not a bad thing. Don’t let it dominate and distract too much from work, but we have to be human, we have to develop relationships.

One thing you can also do? Look for places near your home that have Wi-Fi available, that allow you to sit and use that Wi-Fi for a long time. Every so often, get out of the house. Go work somewhere else, even if just for a couple hours. It changes the scenery. It gets you around some people (even if you don’t talk with them). And you can still take your laptop and stay connected and get some work done. I don’t do this very often because I like my wife’s cooking way too much. But it’s an option.

Honestly tho, I think the only thing I really miss about being in an office? Halloween. It’s more fun to dress up when more than your wife and kids can see you.. 😉

How to succeed at working from home

As a software engineer, I’m fortunate that my job lends to telecommuting. I’ve been doing so in a formal capacity for almost 9 years and dealing with telecommuting in some manner or other for my entire professional career.

Often when people hear I telecommute I get two responses: 1. Wow that’s so cool, I wish I could do that, 2. But I couldn’t do that because of distractions. Do you want to know what I’ve found to be the keys to successful work at home?

Continue reading

No fun

I discover last night that my home server box (and old Mac) has something wrong with it. I have no idea how it happened, but I went to print something (the server has the printer hooked up to it and shares the printer across my home network), there was a printing problem, needed to log into the box to fix it… turn on the machine’s monitor and there’s all this bizarre stuff on screen.. no GUI, just tons of scrolled text, like a console (I do have verbose booting turned on).

Looked at the system.log and there’s all manner of problems listed in there. Very weird things. Daemon proceeses not running, already running and terminated. Tons of weird errors. Trying to log into the box from other machines on the network would hang. It was just a mess.

Tried an archive install this morning. Didn’t seem to resolve things. So now I’m doing a full nuke and pave and rebuilding of the machine.

*sigh*

Y’know, this is the first serious problem I’ve ever had with a Mac, that I can remember. And I’m at a loss to explain why this even happened and why it requires such drastic measures to resolve. I went searching online on the things I saw in the system log and I’m not the only one that’s experienced it, but unfortunately no resolve could be found other than others taking the same route of nuke and pave… not that that’s the solution, just that they too couldn’t find an answer so they figured to try a complete reinstall and it of course made the problem go away.

Ugh.

But hey, 1 major problem like this with one machine in all the years and with all the Macs I’ve owned. Not a bad track record. Still better than using Windows. 😉

 

Update: I did a complete nuke and pave of the boot volume back to Mac OS X 10.5.0, then just completed doing all the netborne updates to get her up to 10.5.6 and all the other updates. And while the machine appears to be working better now, I still see a raft of the following errors:

kernel ALF ALERT: sockwall_cntl_updaterules ctl_enqueuedata rts err 55 

Googling only turns up other people that are similiarly mystified. This error was in the system.log before I reinstalled, and is in there now, even after doing an erase install.

But again, the machine appears to be functioning correctly now. Many of the earlier problems were missing dylibs, other weird failures to load. And so it makes sense the reinstall corrected stuff. I’d still like to know about these errors tho.

Update 2: A buddy of mine pointed me to this page. I hadn’t seen that particular page, but I had seen some other things that were suggesting printer sharing might be the culprit. So since it was certainly the culprit for that guy I thought I’d try it on mine. Turned off printer sharing, reboot, no errors. Try again, still no errors. Turn printer sharing on, reboot, errors. Reboot again, errors. And tried that a few times to confirm and sure enough, printer sharing seems to be involved in the generation of this error.

I’m not sure if it’s truly an error or an issue to contend with, but I thought it’d be worthwhile to report to Apple. I have filed it as RADAR 6576309 with Apple.

Meantime, the machine appears to be working now, after the nuke & pave install. Things seem to be back to normal and functioning fine. In fact I have noticed that connecting to the machine via AFP from other machines is a bit faster now. I wouldn’t be surprised if because some of the old NetInfo-based SharePoints stuff was blown away (and seems to be not needed now) if that helped things a bit.

Update 3: (4/28/09). Apple DTS just replied to my RADAR report with a brief reply:

ALF ALERT: sockwall_cntl_updaterules ctl_enqueuedata rts err 55 is harmless, you should ignore it.

Well, there we go.