Archive for the 'California' Category

Back in the Bay

Last Sunday, I arrived back in Cupertino, CA, for another summer internship at Apple. Since arriving, it has been quite the whirlwind of activity (hence the fact that I have been unable to put up a blog post).

This summer, I am working on the same team at Apple, Interface Builder, which is a specific team of about 6 people in the Development Technologies group. I love what I am doing, and am really excited to be back again with the same people and such. I am living in some apartments across the street from the Apple campus (not the same place as last year) with my roommates Justin, Mike, and Elliot.

I will certainly try to get posts up as much as I can, but no promises given the insane amount of work to be done for some releases coming up.

Yosemite Pictures.. finally

After going through over 400 images, I am finally done, and you can see a collection of 140+ Yosemite images from my family’s trip in August. There are some good ones, and probably some ones I should have cut out. Oh well.Check them out here.

Where have I been?

As many of probably have noticed, I have not been here for the last week or so. But, aha, I have explanations for why, and am prepared to share those with you.

  1. Intern Presentation (Part 1): So for most of the summer at Apple, I have spent my time working on a project for my team that I was going to present to my department. So two weeks ago from this Thursday (26 July), I presented the project to my department director, his staff, and the 13 other interns in the department. Oh, and in case you forgot, the department I work in is Development Technologies. The presentation went really well, and it was a lot of fun showing everyone what I had been working on.
  2. Intern Presentation (Part 2): At the head of Apple is Steve Jobs. Under him, there are about 11 Senior Vice Presidents in charge of things such as iPod, iTunes, retail, finance, operations, marketing, industrial design, applications, and software engineering. And as you can probably guess, I am under software engineering, which includes everything that ships in the Mac OS X box (which does not include iMovie, iPhoto, etc., or any of the pro apps). My Senior Vice President is Bertrand Serlet, and under him are 6-7 directors of departments, with Dev Tech being one of them. As with my department, the other departments also had intern presentations. From the 6-7 departments, one intern is chosen from among all the other interns in that department to present to Bertrand and the rest of his staff. My project was chosen for this, so last Thursday I got to present to the Senior Vice President of Apple’s Software Engineering, and I think it went ok. It was mostly just fun to do. So along with that, he invited the 8 of us (a department had 2 interns instead of 1 present) to dinner tomorrow night, so that will be exciting.
  3. Yosemite: Right after my presentation on Thursday to Bertrand, my family and Leslie arrived at Apple. We spent that day touring Apple and Pixar, and then having dinner with friends. On Friday, Dad, Mom, Jon, Jennie, Sarah, Leslie, and I packed up and headed five hours across the San Jacquin valley to Yosemite National Park for the weekend. It was absolutely gorgeous! We started out by driving up to Glacier Point which overlooks the entire valley and half-dome. Oh my, it was beautiful! We spent Friday night and Saturday night at this little hotel about an hour from the valley. It consisted of these little cottages which were the rooms, and they were very quaint. On Saturday, we drove into the valley and hiked up Vernal Falls, which is a 317 foot waterfall cascading between two huge rock faces. It was, as with most things in Yosemite, absolutely gorgeous. We finished Yosemite on Sunday with looking at the sequoias at the Mariposa Grove. Those trees are just massive! They are 20-30 feet in diameter it seemed, and tall, and just big. The trip was awesome, and it was just great to be with my family.
  4. San Francisco with Leslie: On Monday, Leslie and I spent the day together in San Francisco. It was my surprise to her, and while she knew that we were going to do something together, she had no idea what or where. We took the 8:00 express into the city, and then rented bikes on Fisherman’s Wharf. The first time I was in San Francisco, it was really warm and sunny, but this time, it was cloudy and freeeezzzzing! So as we biked around the wharf and across the Golden Gate Bridge to Yellow Bluff on the way to Sausalito, we were just frozen little ice cubes. We had lunch on Yellow Bluff, which I just mentioned, and looked out over the bay and San Francisco. Despite the clouds, it was still pretty. We biked back to the city, dropped off our bikes, and then walked to Pier 33 to catch a ferry to Alcatraz. Alcatraz is just freakin’ awesome! It has so much history. Les and I took an audio tour, and got to hear all about the stories of the place. We both really enjoyed that. And as we were going around Alcatraz, the sun broke through the clouds, and as we took the ferry back, we were able to enjoy a beautiful sunset. Upon arriving back to the wharf, we went to Boudin bakery and got hot clam chowder and a huge loaf of sourdough. Oh, so good! We finished our evening off by walking to Ghirardelli Square and got some chocolate. At that point, we decided to look at the train schedule, and which to our dire concern, we realized that the last train for a few hours left in twenty minutes a long way from where we are. So we payed a cabby well to get us there on time, which he did. Another great adventure with Leslie!

So that is where I have been. I have had a great couple weeks, and I am sorry for not writing on my blog earlier. I took over 400 pictures in Yosemite, and another 220 in San Francisco, and I will post them soon.

British Soccer

Finally a new post! So last Saturday (I know, it was over a week ago, sorry), I was privileged to accompany the George family to a British soccer game at Stanford University in Palo Alto. British soccer in California, you say? The British club Chelsea is currently touring the globe playing friendly matches as part of a preseason promo. So, in their endeavors in the United States, they decided to play the Mexican Club America de México. Now to make matters even more internationally mixed, Chelsea is owned by a Russian billionaire, and lots of the players are Russian. A British team with Russian players playing a team from Mexico in the United States.The game, I must admit, was quite amusing. So the actually game itself was good, yes, but the really amusing part was the fans for the Mexican team. They were out of control! First of all they had banners and streamers that covered the majority of their part of the stadium, and then they had people banging drums, playing trumpets and trombones, throwing toilet paper off their level, dumping hundreds of pounds of confetti on everyone below them, jumping up and down, shooting off fireworks, and going crazy the entire game. And I am totally serious when I say that they were going crazy the entire game. The police were trying to control them, but they eventually just gave up. The British fans, on the other hand, were much more mellow, and their cheering consisted of shouting and singing. Certainly more in control than the other side.In the first three minutes of the game, the Mexicans scored off of a deflection. They had a shot right at the goalie, but a defender tried to block it, and it wound up just sliding in the left side of the goal, much to the dismay of the goalie and the rest of the team. The next 72 minutes were scoreless, and it was a constant battle between the two teams. In the first half, both teams put out their best players. However, come the next half, they put in all the reserves, so it was basically a different team playing. Now Chelsea is really good, and Club America is mediocre, so the Georges said that Chelsea played “like rubbish” in the first half. But in the second, they redeemed themselves and played brilliantly. With 15 minutes to go, Chelsea got their first goal. And just 5 minutes later, one of the star defenders put in the game-winning header off of a corner kick. The rest of the game was pretty mellow, and the match ended on a friendly note.Moral of the story: British soccer is so much fun to watch, especially when you watch it with a family who knows soccer. If you ever get the chance to watch some good European soccer, don’t pass it up.

Castle Rock State Park

On Sunday, my roommate Matt Ronge and I decided to do some hiking in Castle Rock State Park. The is about 30-40 minutes away atop the hills (mountains to us midwesterners) between Cupertino and the ocean. It was beautiful! Parks out here are totally different. First of all, the trees are like 200 feet or more, and probably 3 and half to 4 feet in diameter. The fauna is just totally different. The air is also extremely clean.The park is known for its rock formations. Scattered throughout the park are these little sets of rocks. Now by rocks I mean boulders, and by boulders I mean rocks the size of houses. The wind, however, has carved the rocks so they have holes, and sometimes the wind has created caves in the rocks as well. Because of the rocks and cliffs, a popular sport in the park is rock climbing. There were some people climbing 20 foot rocks, some climbing 40 foot cliffs, and others climbing 200 foot cliffs. It was pretty cool.There is not much else to say, but check out the pictures to see more of Castle Rock State Park.

WWDC Keynote Review

On Monday morning, Steve Jobs gave his keynote at the World Wide Developer’s Conference, most commonly known as WWDC. There is a common saying, at Apple at least, where we call this keynote the Stevenote. There are a few reasons why this event has been tagged as such. First off, what is always included in the Stevenote is flashy stuff. The fluff of software is what Steve Jobs loves to show off. In the hallways of the Apple Campus, you hear engineers talk about how they spent one hour adding some flashy animation to an interface or changed the look of a button just so that Steve would like it, and want to show it at his keynote. The second characteristic of the Stevenote is that he always shows off something secret that no one else, except the engineers who worked on it, know about. And finally, the Stevenote is usually really good, and has you leaving the room excited and ready to go innovate.I regret to say that this year’s WWDC keynote may have hinted on the first two, but certainly fell short of the third one. The keynote was indeed flashy, as Steve demoed the latest features of the Mac OS called Leopard. The announcement of Safari on Windows was certainly surprising. But after the hour and half, I was bored, and ready for it to be done. Here are the things I liked and didn’t like about Steve Jobs keynote.

  • The new desktop?: One extremely misleading feature of Leopard is the “new” desktop. OK, maybe in terms of code a lot of new things are happening, but it was hardly worth the number one feature. There is a new silver dock, which I like, a deeper drop shadow on the active window, which I like, a unified UI, which I like, but the new menu bar? I loathe the new menu bar. It supposed to adapt to your background picture, but it ends up just totally being unreadable. In earlier versions of Leopard, they had a great menu bar, and two or three days we sent off Leopard to be duplicated for the developers, they changed it. And everyone hated it, and they ignored us. Now everyone at Apple and everyone at WWDC hates it.
  • Spaces: I actually love Spaces. There are a lot of people who don’t, but I do. It is an extremely useful way of getting rid of windows that you don’t want to see at the current time. It’s like having as many monitors as you want, only you don’t have to strain your neck to look at them. It’s just a keystroke, and your there. Great! There are currently two other ways to hide windows: minimize them or hide the entire application. Personally, I think minimizing windows is one of the dumbest ideas ever. Maybe that is one of the reasons why I hate Windows so much is because they hinge on that. I don’t want my window to go somewhere where I have to bring my mouse down and retrieve it. No. I want a keystroke to get it back. Hiding the entire application is a good start, because it can be done with a keystroke and retrieved with a keystroke, and it does not clutter up my Dock or anything. Of course, if I need these windows open so I can do a copy and then paste or drag and drop, the screen gets cluttered. Spaces opens up a lot of space, and its sweet.
  • CoverFlow in the Finder: I was watching the keynote in one of the employee rooms, and when Steve Jobs said that CoverFlow in the Finder was useful, our whole room burst in laughter. That’s because we had been trying to use it for the past month (for me) or months (for everyone else), and we could not find any use for it. Again, to be perfectly honest, I just don’t like the finder. I am perfectly content with cd, ls, cp, and mv.
  • Dashboard: When Steve Jobs needs five minutes to show off a movie widget, you know that he has absolutely nothing better to say. Dashboard is a memory sucking camel, and extremely over-hyped. Yeah, WebClip is cool. But I still do not think that he had to spend so much time on a Javascript widget that most developers could have written quite easily
  • Safari on Windows: This is a great strategy. Combined with the release of the iPhone, I think that lots of people, mainly iPhone developers, will use Safari in order to test their sites. I don’t mind Apple products on the Windows platform, especially when they run faster than their competitors.
  • A “sweet” way to make iPhone applications: Here at Apple, we have created a sweet way to create applications on the iPhone, they are called websites. Come on! Are we stupid? I do not think that dwelling on this sweet way of making applications was necessary or beneficial. I think anyone who has written a line of HTML would be offended by that. I know a lot of people who were.

So I have been pretty harsh on Apple, but I think we should. Apple is the leader of innovation, and they have extremely high standards around the globe. I think that the display that Steve Jobs put on was not on par with where it should be. I am looking forward to how Steve is going to dig himself out of this one.

New Photo Albums

Check out the Photos section to see pictures from Page Mill Road and also my last trip to San Francisco.

Why is my blog so boring?

I think at this point a lot of people are probably wondering: “Why is Kevin’s blog so boring.” Well, I will give you an honest answer: my life outside of work is not too exciting. I would love to tell you about work, but then I would have to kill you. So, I will tell you what I can about my typical day.7:20: Good morningIt’s usually up pretty early, about 7:20, which means I don’t get out of bed until 7:30. Then I do the typical morning get ready deal to prepare myself for the day.7:40: DevosI can’t start my day without some time in the Word. Right now I am reading Jeremiah, after just completing a cover-to-cover reading of the entire Bible (which I would recommend to everyone, even if you don’t believe what it says). Devos also encompasses some time reading a devotional by Frederick Buechner called “Listening to Your Life.” I would say that it certainly has its gems.8:15: BreakfastBy now my roommates Dax Norman and Matt Pizzimenti are up, so we will eat breakfast together. I am a big fan of Fruit Loops cereal. Hey, it’s better than pop-tarts!8:30: Off to workI like getting out the door relatively early. The Apple Campus really doesn’t start until 11, so I have about 2 hours of solid quiet time to work on my projects. The walk to work only takes 5 minutes, but it is 5 minutes along a busy road and over a major highway, not the most serene walk. When I get to work, I usually will set up my workstation by wiring in my laptop to my iMac, read some emails, get some ice tea, and then get on with the work for the day.8:45 - 12:30: WorkAs with most people, I do work best in the morning. So I work hard until lunch. There’s not much else I can say here, except that I love what I do. For those of you who still don’t know exactly what I do, don’t fret, no one does. But I can tell you that I work on the Interface Builder Team for the Runtime Technologies Group, which is part of the Developer Technologies Department. I work with some great people, and the floor seems to glow with bright people.12:30 - 1:30: Lunch at Caffe MacsCaffe Macs is the place to go for lunch, and pretty much everyone ends up there between 11 and 2. They have quite the variety of food: a burrito bar, salad bar, sandwich bar, grill, Sushi bar, Asian salad bar, cooked pasta goods, pizza bar, gelato and dessert bar, and of course all of the other fruit and vegetable and bread tables. Great food, and very reasonably priced. Yeah so it’s not Google, but its still good food that I haven’t gotten sick of eating yet.1:30 - 6:00: Work time!As with the morning, this is just more work. By the now most of the office has woken up, so there is the steady hum of people milling about and asking question and running into bugs.6:00: Dinner or home, dependingBecause we are closing in on the conference (WWDC), there is a lot of work still to be done. So, a lot of people stay to do work all night. In fact, most engineers are on the noon to midnight work flow, or lunch to 3 in the morning work flow. So usually our whole department will go down to Caffe Macs where we get served dinner for free because we are working so hard for the conference.7:00 - 8:00: HomeI hardly ever stay past 7 or 8. I like to have a little time back at the apartment to read, relax, code, and organize photos. Other books I am reading right now are: Code Complete by Steve McConnell, and Mere Christianity by C.S. Lewis. I am still working hard on MacQuill, as I move closer to a beta release sometime soon.10:30: BedI don’t stay up late. By this time I am wiped, and I need to go to bed to get up and do it all over again in the morning.So is that still boring you?

WWDC Excitement

For those who don’t know what WWDC is, this post will not make any sense. So, I will explain it, and then give you a link to go to to additional information if it so pleases you.WWDC stands for “World Wide Developers Conference” as is Apple’s massive conference for their developers. Its a week in San Francisco filled with presentations on the latest technologies of Apple’s operating system Mac OS X, and allows people who write software for the Mac to come, listen, learn, explore, ask questions, talk to us engineers, and such.The nice part about the conference for Apple engineers is that we get to go the conference if we sign up to run lab sessions (times when developers can come and ask questions). So we get to go the conference for free. However, there are rules for us, and they are rather clear: the developers who pay their thousands to come to the conference as the kings and queens, and we are basically janitors. That means that we get last dibs on getting into presentations. So if I really wanted to go to a presentation on “Performance Tuning Applications in Leopard”, for example, and it was full, I wouldn’t be able to get in.Though obviously I get to go to the lab sessions I am running, or rather helping at. Those labs are:

  • General Developer Lab
  • Developer Tools Lab: Code-level assistance for Xcode, GCC, and Interface Builder.
  • Performance Tuning Lab: Code-level assistance for tuning performance of OS X applications with Xray, Shark, and D-Trace
  • Cocoa Bindings in Practice: Getting Started: Cocoa bindings is a collection of technologies that provide a means of keeping model and view values synchronized in your application. This encompasses how to create a more consistent user interface with less code, and how to refactor your code to leverage built-in classes.
  • Cocoa Bindings in Practice: Advanced: Receiving help on the most difficult Cocoa bindings problems.

But, most of the time, Apple employees get into sessions, and so there are a few sessions that I am really excited for. I am just going to paste the description from the WWDC website so you can get idea what these sessions are.

  • Building Animated Cocoa User Interfaces: Delight your users with dynamic, responsive user interfaces. In Leopard, standard AppKit NSViews can be rendered and animated using Core Animation. Learn how to combine familiar Cocoa controls, views, and event handling with the power of Core Animation layers to create stunning user interfaces.
  • Cocoa Drawing Techniques: The options available to the artistically-minded Cocoa developer have multiplied over the past few years. Learn about the appropriate use of NSImage, CGImage, CIImage, CGLayerRef, CG transparency layers, CoreAnimation, NSImageRep, NSCustomImageRep and more. We will also discuss HiDPI drawing and Cocoa’s resolution-independent architecture.
  • Coding Smarter with Objective-C 2.0: Learn more about Objective-C 2.0 and how you can take advantage of it in your own applications. You’ll receive an introductory, hands-on primer to properties, fast enumeration, and common garbage collection design patterns. Gain a deep appreciation for how Objective-C 2.0 will help you write better, more maintainable, and more concise code
  • Creating Leading-edge 2D Graphics with Quartz: Quartz is the high-performance 2D graphics system at the heart of the Aqua user experience. See how to directly access the Quartz 2D APIs to handle even the most advanced vector or bitmap drawing needs. Learn the fundamentals of the drawing model and how to use advanced rendering features to create high-quality 2D graphics. A key session for all application developers interested in creating more compelling 2D graphics in their application.
  • Getting Started Performance Tuning with Shark: Shark is very powerful, yet easy-to-use tool for discovering where your application is spending its time. Learn practical ways to find performance bottlenecks, obtain tips on optimization, and understand how your software interacts with the system. Gain an understanding of how Shark can help your application perform at its best in today’s multi-core, 64-bit world.
  • Getting Started with Mac OS X Kernel Programming: If you are new to Mac OS X kernel programming, attend this session to learn about the basics of the kernel architecture, building kernel extensions, and use of the kernel programming interfaces (KPIs) for maintaining release-to-release binary compatibility.
  • Making Your Custom Controls, Icons, and Artwork Resolution Independent: If your application uses custom controls or artwork, make this session a top priority. Modern displays vary in size and pixels per inch. Find out how to design a rich, scalable user interface for your application. The session will discuss guidelines for revising icons and artwork, new functions to adopt, testing strategies, performance concerns, as well as common problems and solutions.
  • Getting Started with Core Data: Core Data provides an infrastructure that manages model object graphs and object persistence. Learn how to use Core Data to define your application’s data model, access it from your code, and handle undo, redo, and data persistence. Find out how you can use Core Data to create high-performance, feature-rich applications.
  • Optimizing Your Core Data Application: Learn how to make your Core Data application perform as well as it can. Discover how you can use new APIs in Leopard to create your own store type, and how you can fetch managed objects more efficiently, or avoid fetching them entirely. Find out how you can optimize the managed object model itself for a particular problem domain, and use multi-threading to maximize the responsiveness of application.
  • Partitioning Your Cocoa Application: Multithreading and multiprocessing are powerful techniques you can use to improve your Cocoa application. Find out why and how to separate an application into independent pieces, and ensure those pieces interact smoothly. This is a good opportunity to build on your knowledge of multithreading and interprocess communication.
  • Tracing Software Behavior with DTrace: Get an introduction to DTrace, the popular open source project that Apple has optimized for and integrated into Mac OS X. DTrace is embedded in the core of Leopard, underpinning many analysis instruments in the new Xray application. Learn how to directly interact with DTrace from the command line to observe the runtime behavior of an application, the kernel, or the entire system to gain valuable insight.
  • Using Advanced Objective-C 2.0 Features: Gain advanced insight into using properties in threaded applications, implementing fast enumeration in your own classes, and designing rock-solid applications with garbage collection. This session builds on the concepts introduced in Coding Smarter with Objective-C 2.0.

So obviously I probably can’t go to all of these, but I will try to get to as many I can. It will be a busy week, with lots to learn. I’m pumped!

The George Family

When I was at MPPC (Menlo Park Presbyterian Church) last Sunday, I inquired to the Help Desk about families that lived in Cupertino who might be able to give a poor and car-less college intern a ride to church. This week, I got an answer. The George’s. On Tuesday or so, I received an email from Catherine George, welcoming me to the bay area and informing me that they would be my ride to church on Sunday.So Sunday came, and I waited just outside the Aviare gate for them to pick me up at 8:50. At 8:55, a Honda Odyssey arrived carrying Nathan and Catherine George, and there three children: Lawrence (11), Dougie (9), and Luke (6). And as they rolled down the window to say hello, I was greeted by the strong warmth of a British accent. They were 10 month newbies to the Bay area from the Horsham England. OK, I admit, I think it was Horsham. Basically, it was south England. Catherine and Nathan both run a ministry that sells products made in the slums of the world to Americans of all walks of life. It’s an incredible industry, and currently booming too.As soon as a child can walk, a soccer ball is placed in front of him. So, of course, all of the George boys were incredible soccer players. After church, we grabbed lunch at then headed to the park to join other church goers. It was a big church picnic in the park. After the typical small talk and chatter, Luke and Dougie challenged me to a game of football (soccer for us Americans). They destroyed me. I don’t even think I ever got the ball. I would run towards one of them, their feet would become a blur, and the ball would pass between my legs into the goal before I had a chance. Smashing.So for the next 12 weeks, the George’s will be my ride to church, and more than that, they will be friends that make my life for exciting, more interesting, and certainly more enjoyable on many levels.See my latest album in the Photos section