Wednesday: June 17, 2009
- Version 3.0 of the Apple iPhone software is officially available to the public.
Congratulations to all my fellow iPhone users who finally now have the ability to cut and paste.
- A writeup on how to use the best forty features of the new iPhone 3.0 software.
Everything you need to know to maximize your iPhone enjoyment.
- Apple would like all Palm Pre users to know just what the term 'unsupported' means.
Apple's new tech note posted yesterday spells it out a little more clearly.
Tuesday: June 16, 2009
- A comparison of iPhone users versus iPod Touch users.
Provides some interesting statistics which you may or may not would have guessed to be true.
Monday: June 15, 2009
- Apple plugs up a danergous Java security hole.
Apparently Apple had been aware of this issue for the last five months or so. Fix came shortly after someone showed a proof-of-concept demonstrating the exploit.
Wednesday: May 6, 2009
- An introduction to iPhone application development. Thanks MIT!
This helps with the afformentioned need to learn XCode from two posts back.
Monday: April 21, 2008
- GeekLikeMe on your iPhone.
I've updated GeekLikeMe to display better on an iPhone for my fellow Mac nerdites out there. This version removes all content of the normal site and just shows the weekdaily links (this seems to be what everybody wants these days anyways).
Want to make an iPhone version of your own website? Here are some quick tips. First and most importantly, you need to check if your visitor/user happens to be on an iPhone to begin with. This requires that you check the user agent string accordingly. Being that I code in a Windows world I am going to show how to do this check in two lines of code via ASP:
httpagent = request.servervariables
if instr(httpagent,'iPhone') > 0 then iPhone= 'Yes'
See? Not hard at all. Then just modify your code accordingly to fit that condition. Yes, I'm sure there are much more efficient ways of checking the http user agent string but for a quick five minute update / verbose post - who really cares.
Special thanks to Tom of Optical Poptitude (which is an awesome blog that everyone should read daily) for giving me a heads up that this site was displaying not all that well on an iPhone.
Update: latest version of GLM breaks this post every way from Sunday. Will fix some point down the road.
Saturday: December 1, 2007
- A new verbose post? Really?
A semi-quick little update as to why I haven't posted much of anything to this section in recent weeks months. It can all be summed up pretty quickly actually. I moved, and I'm still on the hunt for a new place call my own. Combine that with other factors like work projects, adjusting to our new temporary residence, holidays, interest rates, the position of Venus in the third house (ok that was really dumb), etc etc. Basically, there a host of other reasons that would just bore you. But never fear dear readers, things are looking up.
I just recently purchased a brand new MacBook (daily grind readers already know this). But what's so special about this purchase? The fact that I can now run Windows on a Mac, that's what! I previously owned a PowerBook G4 (still do, it's just not getting much use anymore). Trouble was (and still is), by day I work in a Windows world as an ASP, ASP.net programmer / web developer. Having a PowerPC Mac just doesn't allow to run the kind of software I need to do any kind of work in my free time while say, commuting home from work or watching television (I like to multitask). And yes, I've heard of Mono, and no it couldn't work for what I need to do for job related tasks.
My new sweet little MacBook, which is both lighter and smaller than ye old fifteen inch PowerBook G4 of yore, is a great little machine. Plus, now I can get back to coding my nerdy ASP and SQL stuff whenever I want to. So basically, things should start happening around here soon. I'm cooking up some potential new features and designs as well as working on other projects that have been sorely neglected.
What's in the pipeline? Well, I really should get back to making some new comics for this site- another sorely neglected section of this site. There is also a project that was supposed to be included in this last iteration of GeekLikeMe that didn't make the final cut. It's going to be spun into it's own little project to see how it fares in the big wide world of web. More on that later when I have something more, uh, well coded to show.
One last note, going on a much needed vacation next week so links will be sparse. My superfluous linking skills will be back on schedule when I return.
Tuesday: July 3, 2007
- Speed Dialer
Comic derived mostly from my experiences in showing off my iPhone to other friends when it first came out.
Thursday: December 28, 2006
- A quick look at Mac Dashboard Widget creation; the soon to be old fashioned way.
With Leopard looming, the world of dashboard widgets on the Apple desktop are about to change. Soon any user will be able to create a widget in just few clicks using Safari's built-in integrated clipping tool. According to Apple's preview site for Leopard, a user can just select any portion of any web page and magically create a widget. This presents an infinite number of opportunities and I'm very curious to see how this new technology pans out. Will this cause an explosion in the widget world? How easy will it be to share these clipped widgets with the rest of the Internet? How far can you take customization of these clipped widgets? The answers are sure to come when Mac OS X Leopard arrives next year.
I'm kind of looking forward to this new clipping tool. I've always wanted to create a dashboard widget (and I finally did - see this post) but I initially felt it was a bit of a daunting process. The few times I tried to delve into the process I got frustrated and gave up rather quickly. Bearing that frustration in mind it's easy to see why Apple is making web clipping to widget creation readily available with Leopard. Intermediate web developers comfortable with the PC environment (such as myself) may sometime have a hard time getting into the Mac widget scene for the first time.
My initial trouble was that I took a very programmatic stance towards creating a widget. Again, this is due to the fact that I am mainly a PC programmer and a just casual Mac user on the side.
Does one have to compile a widget to make it run on the Dashboard? No.
Once it's running on the Dashboard, can it be modified? Yes.
Can I utilize that neat 3D page flip instance that every widget seems to use? Yes.
What about those slick Apple scrollbars? Yes.
These are just a handful of questions that as it turns out now, were quite unnecessary to ask.
Now to those who have made widgets in the past the rest of this article will probably seem about two years old. That's because it is. I should have gotten into this a long time ago. But hey, better late than never.
Widgets are just as Apple describes in their support docs; little web pages. There is no compiling necessary to bring your widget to life. Essentially, widgets just regular old file folders but with a 'wdgt' extension tacked on. This took me by surprise - I wasn't expecting it to be that easy. The whole connotation of a widget doubling as a 'mini-application' caused a stir in my newbie brain. As you might have guessed by now, I'm new to developing code on a Mac so cut me some slack. Anyway, this extension allows Mac OS X to distinguish that your folder is in fact, a runnable widget and not just your average file folder. Basically you can start localizing your widget in your own developmental fashion and create a widget just like you would if it was any ordinary web page.
Once that was fixed, I moved on to the look and feel of the widget itself. Now what's interesting about the dashboard environment is that some things are already done for you but some other things are not. Worried about where to size up your widget in terms of height and width? Don't be. Just make a PNG file of your design and name it 'default.png' in your widget folder. Mac OS X will assume that this file contains the default width and height of your widget and will run with it. However, you can also set your own custom height and width via the 'Info.plist' file that must be contained within your .wdgt folder. While we are on the subject of the 'Info.plist' file; one thing that may slow you down is enabling web access if your widget happens to need to talk to the Internet (like grabbing a feed from the world wide web). To enable this you will need to open up your widgets 'Info.plist' file and add the following bit of code:
AllowNetworkAccessOnce you have that in place your widget is free to talk to the web in peace.
What about adding that signature widget scrollbar that everyone seems to use? Apple has a very nice little script you can plugin to your code to make that work correctly as well. You basically just have to make sure that you target the name of your DIV tag that contains your widget's content. And again, this script can be easily found and appropriated to your own code by taking a look through Apple's sample widget examples.
www.geeklikeme.netThis method will make all of your HREF calls open up outside of your widget.
Debugging can be a little bit of a pain. I found myself debugging my widget while it was running in Dashboard 95% of the time. In the Apple developer documents they suggest using Safari to test out your widget. But from what I could tell, you can't really harness all of the Dashboard technologies unless you actually run your widget in Dashboard (ie testing out how the page flip actually looks). But still it's just a minor annoyance as working on the actual dashboard itself is not that big a deal. Besides, I really want to see that cool liquid effect when I see my widget pop open for the first time. It still makes me giddy, I don't know why.
There are a couple things to be mindful of if you debug your widget using Dashboard though. Mac OS X has a weird habit of moving your widget files (and not leaving copies of them) at a moment's notice. For instance, if you are working on your widget on your desktop and you decide to install it to Dashboard your files will be magically whisked away to your ~Library/Widgets folder. Just something you want to keep in mind if you want to know where you widget happened to run off to. And as always with coding, it is generally good practice to keep active backups of your work just in case any other unexpected shenanigans come into play (accidental deletion). On the subject of widget removal management, deleting your widget from the Dashboard will simply send all of your files to the trash bin. So be careful before emptying the trash if you have some recent changes to your widget that you don't want to lose.
Basically thats a very generalized view of widget creation on the Mac and some things to look out for during the actual programming process. It should be noted that I made my widget in a very ass-backwards style. I developed everything on my PC using HomeSite 5.0 and then ported the code over to my Mac's widget folder with every change. Not the quickest and easiest methodology but sometimes you've got to go with what works.
I have attached the source folder of the GeekLikeMe feed widget if one is so inclined to play around and make a widget themselves. A careful eye will probably notice that a lot of the code is heavily sampled from Apple's RSS widget. Sometimes the best way to learn is by example.
Tuesday: December 12, 2006
- GeekLikeMe Dashboard Widget for your Mac.
If you've been reading my daily logs you might have noticed that I've been messing around with creating dashboard widgets for Mac OS X over the past couple of days. What exactly is a dashboard widget you ask? In a nutshell, its a mini-application that you can run on your Mac's dashboard section. In this case, the mini-application I put together displays the last three days of links that grace the front page of GeekLikeMe.net.
I tried to keep the layout and design of the widget to be compact as to not disrupt anything else that might already be running on a user's dashboard. This is my first attempt at making a widget but I have a feeling I'll be making more as time goes on. Of course, with the next version of Mac OS X Leopard right around the corner I think everybody will making a lot more widgets. More on that coming in a verbose post later this week.
To use this widget you must be using Mac OS X 10.4 Tiger. Download the file located in this post and double click it to unarchive it to your desktop. Then click on the black widget icon to install to your dashboard. If there are any questions or comments regarding this widget feel free to leave a comment.