Skip to content

“In Popular Culture”

Another neat XKCD comic this week.

Its always refreshing to see the level of detail some articles in Wikipedia can go to.

Hidden Gems

Google just released an open source C++ style guide, lots of good solid advice in there.

WWDC 2008

I attended WWDC 2008 this past week. I’ve always wanted to go, but its always been too far away and way too expensive.

I’m glad to report that I had a really great, and very productive time there.

Mac developers are a very small community and this year there were loads of people new to the platform, starting to develop for the iPhone. Thats really great and with the iPhone 3G and the App Store I’m pretty sure that anyone developing quality commercial software for the iPhone is going to make a a killing. I do however hope that the current Mac ecosystem, where allot of the available software is free and of very high quality, persists on the iPhone.

Also, the more people who know Objective-C, the better (IMHO). Its a fantastic language and in comparison to C++ it’s really easy to learn (took me about a week to get to know it and another couple of months to get a good hang of the various patterns used when developing with it - contrast that to the 10 or so years it takes to become really proficient in C++).

For me the best part of the conference were the labs where you can meet with Apple developers and ask questions. This was a fantastic resource and I found the Apple engineers, as expected, to be both incredibly knowledgeable and nice. Its unfortunate that this is the only time of year where developers outside of Apple can meet with the company’s engineers.

What excited me most about the conference was to see how healthy the Mac platform is nowadays and how much Apple is still innovating and moving things forward.

It’s going to be another great year for the Mac.

Professional Yoyoers

I met Dr. Popular at the Maker’s faire a while back, at the time I thought he was just a guy selling yoyos, I talked to him for a short while and then had to run off.

Last week I learned that he was coming to lunch at work, and I thought it might be fun so I came along.

When I got there I found Doc & a friend doing some mind bending things with Yoyos. They showed me the basics of how to throw one and get it to come back (the ones they had are “Zero Response” which means they don’t come back unless you bind which is a little more involved than just pulling back on the string).

So while these guys where doing some amazing tricks I was standing next to them trying to get a yoyo to just come back :|

Later on, Doc, his friend and the guy who invited them sat down and compared their Yoyo collections, showed each other early prototypes of yoyos from various European countries and talked about the upsides and downsides of Lathing vs Milling.

I just sat there and tried not to bring attention to myself as someone who barely new how to get a toy yoyo to come back.

Talk about being the odd man out… :|

Tagged

Make

Much to my chagrin, I seem to be finding myself in need of understanding and making fundamental changes to Makefiles for various projects I’m not familiar with, every few months.

I’ve found the

$(warning "foo")
and
$(error "foo")
directives pretty useful in this capacity, the former printing some text during a Makefile’s evaluation, and the latter printing and then stopping execution.

I’ve also found Make’s manual surprisingly well-written and handy. :|

Make’s syntax can get pretty hairy, and it’s important to hold your project’s Makefiles up to the same standards as you would your own code. That is - commenting (where appropriate) and hopefully also code reviews.

It would be nice if more projects could use alternative build tools, maybe I’ll write more about that some other time.

Tagged

Batteries Included

A neat property of Python’s sort function is that it automatically sorts list of tuples by the first value of the tuple, this means that if you have a list, lets say of files and their sizes and you want to sort by filesize, you can do:

>>> a = [(200, 'foo.txt'), (100, 'bar.txt')]
>>> a.sort()
>>> a
[(100, 'bar.txt'), (200, 'foo.txt')]

I just rediscovered this while reading Programming Collective Intelligence. I always find it oddly thrilling to run into these tidbits :)

Tagged ,

Apple Support

Last week, I found out that when I unplugged the power from my Macbook it instantly shut down. This, even though the battery was showing up as fully charged.

A little searching online showed that this is a known Issue and Apple have a mechanism in place for replacing defective batteries for free.

So armed with a few Google search results, I phoned Apple Care. After about 10 minutes of waiting, a real person answered me.

I told him the problem and he said it sounded like my battery was defective and offered to sell me a new one for about $100! When I told him that this was a known issue, he forwarded me straight to a “mac specialist”.

So after another 5 or so minutes on hold, the specialist answered the phone. He asked me a few questions, and after I told him that I’d already gone through all the necessary software updates and debugging steps he asked me to open the System Profiler and read him back all the values under the power section (couldn’t he just ask me for the relevant ones).

He told me that it didn’t sound to him like my battery was the problem, but I probably had a logic board issue (!!) so my only option was to get a new logic board. As I didn’t have a spare battery to test with, I couldn’t really do much - I just thanked him for his help and resolved to go to the Apple store and talk to someone face to face.

So today, I scheduled an appointment at the SF Apple Store Genius Bar. A nice lady accepted me there on time and after about 20 seconds came to the conclusion that the problem was indeed my battery. She then told me that the warranty on my computer had expired and so they really should be charging me for a new battery. But “that doesn’t seem right” so she’d give me a new one for free.

While I appreciate the quick service, I know that there’s an official policy to replace these - so why give the impression that they’re making some kind of concession in my case??

I guess the bottom line is, I have a new battery now and everything has been resolved to my liking. Thanks Apple!

Everyone involved was very courteous. And to their credit I will say that they didn’t treat me like an idiot (like tech support people at many other companies). When I said that I’d tried the usual steps of reseting my PRAM and installing the software updates, they believed me and kept going.

But seriously - with an official recall like this why did I need to jump through all these hoops?? Shouldn’t the first person I talked to just check that I met requirements and send me a new battery?? Why did they have to give me the impression they where doing me a favor?

Tagged , ,

Review: E-Sky Lama V4

I’ve made a couple of attempts at learning to fly RC helicopters in the past. This can be quite difficult at the best of times, but an additional factor in learning to fly helis is that they crash as a matter of course, and each crash can cost you several hundred $$s.

Apart from this, the big gas ones are noisy, dirty and very dangerous if not flown properly (you don’t want a blade from one of those flying off at you).

In the past few years, a few manufacturers have come out with smaller and much cheaper electric models with coaxial rotors that can be flown indoors. These models are built to be crash resistant, and although you won’t be doing extreme 3d maneuvering with them anytime soon they are incredibly sturdy and won’t break the bank.

So I got my E-Sky Lama V4 today, I charged the battery for a few hours at the office. When I got home I just hooked it up and the thing flew right out of the box!

This isn’t like those little toy IR helicopters you see at toystores, it’s quite a bit bigger (about the size of a soda bottle), and much sturdier.

It took me about 15 minutes to get the hang of a basic hover, during this time I managed to drop it from ceiling height onto a tile floor. The flybar flew off, but that just popped back on. That’s an amazing feat of durability for any object, let alone a “toy”.

Overall I’m very happy with this little heli. It’s made in China and the manual is a pretty impressive example of Engrish. Sometimes it seems they must have been writing it that way on purpose.

The build quality is pretty good, although the canopy is made of flimsy plastic and it looks like I’ll need to get new main rotors after another few crashes. It’s noticeably stabler than the gas heli I used to have, the controls are also extremely responsive.

I’m really impressed, I just hope I have enough time to fly this little fellow on a regular basis.

Tagged

Superconductivity

I saw this article today linked from reddit with the title “high-temperature superconductors, w00t!!“.

Let’s ignore the sensational title, that has nothing to do with the actual article for a second. So why is this noteworthy? Lets take a step back first - I’ll try to keep this short and to the point.

A superconductor is basically something that has no resistance to electrical flow whatsoever, which is a wierd and wonderful property. You can use superconductors, amongst other things to create very powerful magnets which you can use in turn to create MagLev trains and other cool stuff.

It’s really amazing that superconductors even exist, but up till now it’s only been possible to obtain this property using materials at very very low temperatures (the highest temperatures superconductivity has been achieved at to date is -135 degrees Celsius).

Superconductivity research is basically a “dead field” in Physics. It used to be the hot topic and after the discovery of Superconductivity everyone started researching it, but there have been no real breakthroughs in years [this is my understanding, based on my limited reading of the subject as part of my BSc. If I’m wrong, please correct me in the comments].

When I was studying physics I went to a lecture given by the head of the department whose field was superconductivity. He showed us the theoretical model they used for superconductors and how using this model, they could place a theoretical limit on the maximum temperature at which a material could superconduct (this was a very low temperature).

He then told us about a breakthrough in 1986 where some researchers managed to achieve superconductivity at much higher temperatures (I think there was a Nobel prize involved) and how it was found that these new “high temperature” superconductors appeared to use a different mechanism than the theory he’d used to predict a maximum temperature previously, so the old theory was still sound.

After the 1986 discovery, everyone was pretty shaken. He then noted that afterwards people found another superconductor that worked with the old mechanism, but the temperature he stated for it was higher than the theoretical limit he’d shown us at the beginning.

So I put my hand up and asked him how this could be.

So the head of the department turned his head at me, and with a look of utter disgust on his face, answered “Oh, we just had to change a constant after that”.

Physicists…

Tagged , ,

Waiting for September 7th

Spore is the next big thing from Will Wright of SimCity fame, it’s the game he says always wanted to make and it’s been in the works for years.

Well, it seems like there’s finally a release date.

I don’t usually get very excited about computer games, but Spore looks amazing.

Tagged