Posts Tagged ‘apple’

Learnings from Swift becoming opensource

Swift is now opensource, and it’s interesting to see Craig Federighi talk about it. This is Apple doing right, considering FaceTime is long overdue to being an open standard. People are nitpicking on Apple’s Open Source tagline, but really, this is akin to nitpicking on Mark Zuckerberg donating 99% of his Facebook stock to his new limited liability corporation charity (key: don’t look a gift horse in the mouth).

Apple has chosen to put Swift on Github, and they’ve ensured that it wasn’t just an initial commit, but you’re seeing a lot of history. And it’s the right choice clearly, for engagement – 1,275 watching, 18,884 stars, 2,139 forks, 51 pull requests currently, but most interestingly a lot of accepted code. Even simple things along the lines of “fixing typos” (see commits, eg. d029f7e5ae84cf8f6c12907f9ed0ac0a694881aa, e8b06575d26a684f415af95143ec576a6aa5168d, etc.). 

Swift has open source documentation – like all good open source projects are supposed to have. They use Sphinx and its in the source tree. This is something I’d wish to see from MySQL (docs copyright Oracle, online, but you can take it offline too via PDF) or MariaDB (friendly licensed Knowledge Base), but so far only Percona Server has gotten this right.

What else did Swift do right? Focus on user contributions – the Contributing page is a breath of fresh air. And don’t forget the code of conduct for participating in the project.

But besides just the documentation and contribution pages, I learned something new from one commit in particular – the existence of nproc, part of coreutils. I immediately hopped onto IRC to chat with Nirbhay (our resident MariaDB Galera Cluster expert), because in scripts/wsrep_sst_xtrabackup.sh, we do this via a get_proc() function. We should be focusing on modernising/standardising our codebase, shouldn’t we?

There is a lot we at MariaDB Corporation and the MariaDB Foundation can learn from Swift being opensource and how Apple deals with the community at large. Here’s hoping we get the best practices from it and implement it in due time.

Hello Applebot

Saw lots of this in the access logs:

17.142.151.101 - - [08/May/2015:10:37:27 -0700] "GET /blog/archives/2015/02/03/here-and-defending-your-trademarks HTTP/1.1" 200 12324 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)"

So its real – there is an Applebot, and it’s written in Go. Apple also has documentation about it now. And of course, you can read Gruber’s piece. Would be nice to find out ways to feed more info to Siri (I mean, it doesn’t work as well as when its in the USA…).

Switching costs

When I was a desktop Linux user, I’d just sync /etc and /home to a freshly installed Linux box. When I became a desktop Mac user, I would just rely on Migration Assistant.

With iOS, the trick is to have iTunes make an encrypted backup of your device so that passwords are saved upon backup & restored perfectly with your new device.

However, it’s always rosier than it looks. During my switch I noticed passwords missing from Rdio, audiobooks lost their last played time, and Kindle was completely wiped, thus requiring re-entering a password. These weren’t the only offenders – SoundCloud needed a re-login, Facebook too (and Spotify that depended on it).

You’d think that Apple itself would have figured this out for their apps. On some devices iMessage and FaceTime would get disabled for the phone numbers (so disabling & re-enabling would make things better again).

As I have to update a “fleet” of iOS devices, I wish there was more predictable central management of such devices.

This is another reason I’m very cautious about updating to the latest releases of software, especially iOS or OSX. I depend on these devices and can’t afford downtime. Lately Apple software has been quite bug ridden.

The ecosystem & devices are a charm. But upgrades are expensive as there are switching costs. Imagine switching to a completely new ecosystem?

Apple Store Malaysia – accepts AMEX now

Where possible, the only card I use is my American Express charge card. Of course, recently, Maybank has upped the ante with an Amex card that provides TreatsPoints (and if you’re after air miles, they are better than the charge card membership rewards – go figure).AMEX on Orchard road

I especially like purchasing electronics with the Amex. Purchase protection, return guarantees, but the most important to me is the extended warranties (which cover mobile phones, but not computers!). So its great to see that a complaint that existed in early 2013, is now fixed. The Apple Store in Malaysia finally accepts Amex cards for purchases. This wasn’t true earlier this year (say March?). So a positive move.

In other news, I walked into a Machines store the other day and the only iPhone 6 they had for sale were the 16GB iPhone 6+’s. Everything else was sold out. I lamented that you could pick this up on the Apple online store, and it ships within 1-3 business days. Apparently Apple is making the lives of these resellers a little tougher by not releasing stock to them. Oh well.

Apple laptops not made for enterprise use

Like my recent upgrade to 10.8, I was forced to upgrade to 10.9 because my 13” MacBook Air succumbed to an odd logic board error involving a heat sensor going kaput. Turns out that kernel_task would go up to 300%, ensuring that the load averages on my machine would be in excess of 40-60s. The only fix seems to be swapping logic boards, and that usually takes 2-3 weeks. Too long to live without a laptop.

For reference, the Apple Hardware Test revealed: 4SNS/1/C0000008: THSP–124.

So I had to order a new laptop, and chose the 11” MacBook Air. I was always conflicted between the 11” & 13”, and left the world of MacBook Pro’s for a 13” due to the same resolution. I travel a lot, so I think smaller is better now, and got the 11” – max specs. So far, I have no complaints. When home its docked to a much larger monitor. On the road, it seems just fine. In a span of a couple of years, I’ve gone from 15” -> 13” -> 11”. I can’t complain.

Apple hardware is just not made for enterprise use. Next day on-site warranties from Dell are amazing (I’ve experienced it plenty of times), but they just don’t exist in the world of Apple even with AppleCare. 

I’ve been locked into some software (I know, silly me but there are things I depend on in my workflow) which makes it hard to switch away from OSX. If I ran Linux, I know I could have bought another machine within a day, but because Apple is all-integrated, I had to order another MacBook Air (who would want a MacBook Air with an i5 processor, small storage (128-256GB) and 4GB of RAM?). I mean if Apple plans to integrate everything, sell top-end machines – picking stuff up retail is important in my opinion.

It took me 5 working days to get my custom-built Mac delivered. That’s just too long to be using hardware you’re not familiar with (I actually did a lot of “work” with a Chromebook – also known as answering a lot of email, but nothing more productive than that).

The upgrade from 10.8 to 10.9 was surprisingly easy with Time Machine again. The only problem was Mail was misbehaving (caching folders), so I had to upgrade to 10.9.2, and just wait it out. I’m not happy with Mail, but its about the only desktop client that handles multiple IMAP accounts and works in an offline fashion.

I read recently an article by David Sobotta about how he moved away from the Mac, and to me it felt like this was my path too. It is not going to happen anytime soon, but I’ve set aside 2 years to get things done. I want to live more in the browser, I want to be able to make use of OfflineStorage, and I want to be rid of depending on just one piece of hardware. It is likely that even after a move to the cloud I will buy Apple hardware, it just won’t mean I’m “locked in” to the wonderful application ecosystem that it has.

If anyone says the 11” MacBook Air is not good enough, I can attest that its got a small screen but in many of my use cases I have it docked to a 24” or 27” monitor, so for coding, comparative studies, etc, I find that to be a great environment. But walking to a cafe or working in a cramped airplane seat? You can’t beat the 11” Air (11.6” if you look closely).

On device ecosystems

Thirsty monkeyI was just listening This week in google #236, and they were talking about device ecosystems. The topic of smartwatches came up obviously. The first Samsung Galaxy Gear was apparently not a good seller because it had a limited app ecosystem and it was tied to just a few devices (I only know one person who has said watch, and wears it regularly).

If Apple builds an iWatch, they will tie it into the iOS ecosystem. This is why Leo Laporte the host likes the Pebble – it works with all his devices.

How many people are Leo with an iPhone and an Android phone? And whatever else is compatible with the Pebble? End users (consumers) usually have one phone. There’s nothing wrong with the iWatch to be tied into the iOS ecosystem — its an awesome ecosystem. Soon you may get cars with iOS on it (just like you can get cars with Linux on it).

The iWatch if Apple makes one will probably be compatible all the way back to the iPhone 4S. It should cover most iOS/iPhone users. And just like the apps you buy in the app store when the iPad came along (first you had iPhone only apps, with double-size; then you had separate iPad apps that would cost more; nowadays many apps are “universal” to work on both and cost the same), I expect something similar will happen with the iWatch. 

That said, I like my analogue watches. I had no interest in the Pebble or the Samsung Galaxy Gear. I’d be interested to see what they do with version 2, which has Tizen (even less apps maybe?). When Apple releases an iWatch, you can be sure I’d probably buy it — I have seen things from all sides, and I like their ecosystem.


i