iPad Mini: bigger screen than GOOG's Nexus 7 with lower resolution; disappointing, skip.
iPad 4th Generation (iPad 4): Lightning, faster CPU & front-facing 720p cam only appealing if you don't own the still-plenty-fast iPad 3rd gen, or unless you have an iPhone 5 and hate having to switch chargers.
13" MacBook Pro Retina: star of the show, everything you ever wanted in a 13" notebook; 3.57 lb. (1.62 kg), $1,699, a dollar per gram.
iMac "Slim": sexy packaging, Ivy Bridge, a no-brainer if you don't have the previous gen.
Mac Mini: still great cheap way to get into Mac/OS X, now with Ivy Bridge & Intel HD 4000.
Fusion Drive: hybrid SSD + mechanical drive; good move, surprised it's come so late.
Decision to drop SuperDrive optical drive from all models: two thumbs up!
Google Plus has just released the long awaited Google+ App for iOS, something Android users have had for a while. The main attraction being that you can now upload photos off iOS devices with built-in cameras like the iPhone and iPad, which you can't do off the regular mobile HTML site (which, if you haven't checked out yet, is awesome!).
There's only a small problem - as of now, searching for either "Google Plus" or "Google+" or even just "Google" in the App Store app does not find the app. I'm sure this will be fixed, but for now if you want to find it search for "Google huddle" and it will be the only result shown.
Here's a direct link to app in iTunes: Google+.
If you're like me, you can't wait to get your hands on Google+ APIs to start building cool new things which run on Google's new social network. What's got me excited about G+ development is the robust range of offerings that Google can make available as part of the ecosystem for apps to run in, with single sign on across them all.
So how do you get in on the action? Right now there isn't much out there but Google has created a form on which you can sign up to be notified when new info is released:
To stay updated as the Google+ project develops and get a heads up when we have more details to share about Google+ developer opportunities, sign up here. Your email will be added to a Google group. In addition, we'd love to gather more information about you.
I was notified "Your information has been sent to Google and your email has been added to the Google+ Developers group" after filling it out. Knuckles cracked, sleeves rolled up and ready to build cool new things once APIs surface - bring it!
What will you build?
This has been reported in many a place before, and I will admit that it is in big part to showcase the picture I snapped of the new 2011 Porsche Boxster Spyder, a car that not only looks great but is also one of the best dynamic performance cars ever built. As in, built so far - remb, this is a technology blog and we're not big on nostalgia here; we're into things like the Porsche PDK automated dual-clutch transmission.
Photos were taken with an iPhone 4 running iOS 4.2.1 with HDR (High Dynamic Range) turned on. Roll over the image to see just how much more detail the HDR photo was able to pull in. In particular, check out the sky, the background buildings, the parking space stop, the car's brake discs, wheels, side and top. Pretty amazing that you can do this with your phone today!
A kick-ass sysadmin I worked with in the past, that I'll refer to as Mr. Kim, introduced me to the omnitty SSH Multiplexer, "a curses-based program that allows one to log into several machines simultaneously and interact with them, selectively directing input to individual machines or groups of selected machines."
Suffice to say that
omnitty is great for working on large numbers of similarly configured servers at the same time such as those making up your web farm. I use it almost every day (and I'm not an admin by day!) for a variety of tasks such as switching out hosts files on 16 boxes at the same time or tailing/grepping debug logs to troubleshoot prod issues.
A while ago I switched to a Mac running OS X as my primary desktop at work. All fine and dandy, until it came time to run my favorite SSH multiplexer. Most of the other guys on OS X run Cluster SSH (cSSH), but I was determined to get omnitty going. It put up a bit of a fight but I eventually got it to work. Below I list how you can do the same.
First, ensure you have
gcc -v will tell you),
patch. If you don't have them, stop here and install them - Google will readily show you how.
Then, after verifying the prerequisites are there, follow these steps:
- Create a new, empty working directory and download everything below to it (i.e.
mkdir /tmp/omni && cd /tmp/omni).
- Download libROTE, the terminal emulation lib omnitty uses. ROTE is not often updated, the version as of this writing is 0.2.8 (filename:
rote-0.2.8.tar.gz). Unpack (
tar zxf filename).
- Download the omnitty tarball (filename:
- Download my OS X patches tarball omnitty-0.3.0-rote-0.2.8-OSX-patches.tar.gz; unpack. Extra credit: check out the
READMEand the patch files.
- Patch, build and install
rotein one shot (
sudowill prompt for your pw):
cd rote-0.2.8 && patch < ../rote-0.2.8-OSX.patch && ./configure && make && sudo make install && cd ..
- Patch, build and install
omnittyin one shot:
cd omnitty-0.3.0 && patch < ../omnitty-0.3.0-OSX.patch && ./configure && make && sudo make install && cd ..
You now have this invaluable tool available to use on your Mac! Enjoy it as much as I do.
Here's one I picked this up a while ago, for those that rock mysql at the command line all day like I do:
master/wp> UPDATE user SET ad_id='fb' WHERE user_id = 1337 LIMIT 1;
It's a good way to ensure that if you seriously fcuk the query up, you only update 1 record. For multiple records, there's another good practice to get used to: do a SELECT first, using the same exact WHERE criteria you plan to use in your UPDATE statement. This verifies the set you will be affecting when you do run the UPDATE is indeed what you want to update, and you can plug the row count you get from it into your UPDATE's LIMIT clause.
I was browsing available app updates in the Apple App Store for my iPhone 3G today, and I'm one of those that likes to read the changelog message before I install an update. The reasoning behind this is kinda funny: I mostly engage in this activity when in the bathroom, and I don't have WiFi only 3G available. Because 3G is slower, I tend to only install updates that do something more than generic bugfixes - I'm mostly interested in updates which include new features, improved navigation, etc.
Yelp is an iPhone app that's frequently updated, which is what you want to see from an app developer - timely updates that keep the app current and in sync with their web service. As Yelp happens to be one of the apps I use almost daily when out and about, I checked to see what this latest update includes. I LOL'd when I saw this - good thing I was sitting down!
"Superamazing bug fixes and, unfortunately, still no jet packs."
ROFLMAO! Unfortunately, this doesn't really relay what was fixed, but it was original enough to get me to update. Happy to see that people to there still have a sense of humor!
Intel's kickass Moblin project, which rocks netbooks with its slick user interface, and Nokia's Maemo mobile device platform are being merged into a new project called MeeGo, which will run on both x86 and ARM microprocessor architectures. The official announcement talks about the reasoning behind this, and it makes sense to join forces as I think this will be one of the areas that will see a lot of much-needed innovation in the near future. With the advent of internet-enabled TVs just around the corner, the market MeeGo will go after is poised to blow up! We're not talking just netbooks and TVs, but in-vehicle "infotainment" systems, tablets, "media phones" are new classes of mobile-like devices that will soon become as indispensable as mobile phones.
While I have not played with Maebo, I really liked Moblin 2.1's interface on a 10" netbook. One can clearly see the GUI is optimized for the limited real estate offered by this class of devices. While at this point MeeGo is vaporware (much like HipHop for PHP, still MIA as of today), the first project release is scheduled for Q2 2010. I hope MeeGo has native VM support so it runs without workarounds like those required by Moblin. Can't wait to play with it!
Some of the tasty meat:
- single-process multithreading model in their own HTTP server allows sharing of DB connections between threads
- you can run directly in their own interpreter, HPHPi, for faster workflow
- they made some PHP extensions thread-safe, code to be released with HipHop
As an audience member said, can't wait to start playing with it!