iphone


I promise, dear game, I have not left you, despite appearances to the contrary.

I’ve just been busy. Very busy at that, both over the board playing my favorite game, as well as at several of my other side projects such as iShudan and the iPhone unlocking biz. In fact, I’ve had many more games over the board in the last week than any in recent memory due to my increased mobility. This comes at the cost of time for writing or studying software. Over the last week I enjoyed a best-of-three match with David York, a fireside game at HotWire with Adam, and at least 3 separate games with the newest person at work to learn the game, Benjamin. I think we had more, but they were interrupted before completion due to time. Unfortunately, my games at David’s Go Dojo have slowed considerably, as I have few moves per day lately, if any at all. I welcome anyone who prefers the slow pace of “Go-by-email” to register an account and start up a board or two with me here.

Most of my non-playing Go time has been spent learning something completely tangential to Go, programming PHP and learning the basics of Cocoa. I have watched all five of the video podcasts that Apple released to iPhone developers to help make sites Compliant, Optimized, and then Native. I have been putting thought into the design and roadmap, and I hope to have a wireframe mock up soon that I can post and share with others that explains my vision for the future of iShudan as a project. I can say that I have a lot of lofty goals currently, as I accomplish these milestones I will write about them further.

And did I mention that my Regular Job has been really busy too? ;-)

c’est la vie, c’est la guerre!

Some of my teaching games at work I lost because of moving too fast after a distraction, as I would lose the tempo of what was happening, and when I came back and tenuki‘d away from an important situation the student would promptly pounce without remorse on the now reversed situation. Counting liberties sometimes gives you a confidence you don’t deserve because the local situation has complexities that are not at first apparent.

This weekend I plan to have a mini-ranking blitz on KGS to see if my skills have improved of late, barring any late invitations to an in person game.

I hope to also start studying for my FCC Amateur Radio Technician Class license this next week and on my upcoming vacation. This is just a side project of mine, perhaps a work related hobby. I have precious little time left over for new hobbies, heaven knows, but I find I enjoy a steady diet of new and interesting technical material. I have been assured by one of my friends that the first level exam is pretty easy to pass once you have studied, particularly since they have dropped the Morse Code requirements. I have a book here on loan from the library, as well as some online resources to study next week, I think that may be really all I will need to prepare.

I will post some Go-related study materials this weekend, as well as a kifu from a 19×19 game on the Dojo. I hope your own projects and goals are proceeding apace, and that this note finds you well. Namaste’.

 delicious libraryI just read this posting after downloading the latest copy of Delicious Monster from one of its creators, Wil Shipley.  Warning, the ideas here are so exciting for a big game nerd like me as to make me feel almost overcome with emotion…  Using the iPhone to play not video games, but games like Werewolf or Paper Rock Scissors.  Using the iPhone to do social, connected things that come naturally to people, but enhance their experiences with each other…  Go read Wil’s posting. The wheel is turning, baby.  This stuff is coming, either on this device or on The Next Big Thing, whatever. I want to learn how to code on this thing.  Speaking of, I finished half the ADC content today in the car to and from work, looking forward to whatever else Apple decides to release, as well as what the indy scene gets done for them.  I think I’m going to end up buying DM just because I like the people who write it so much. (Just kidding, I already know it’s great software, particularly if you have an iSight and Leopard now.)

This last week has been an insane paced, late night blur due to work pressures, and my weekly or better games and iShudan boards have been going neglected. As previously mentioned and depicted on this blog, I recently acquired an iPhone for my wife, thus relieving her of the need to carry around both her tiny old brick phone and the video iPod she inherited from me. I mention this because of the method that I used to acquire this iPhone for my wife, a method of bootstrapping wherein I used the power of my mind and subsidized my time at a reasonable rate to a “10%” project, if you were to believe what I take as its intended meaning at Google.

iphone unlock I unlocked 10 iPhones for $50 apiece in a single weeks time,

in order to earn the money to purchase her phone. I used freely available software downloadable from the internet and directions posted in a variety of forums, bulletin boards, and at popular weblogs. Most imortantly, I used the contributed and open code published by groups dedicated to unlocking the potential of the iPhone. I even earned enough extra to be able to send a donation to one of the groups who created this code, the iBrickr team.

I am not usually blessed with the funds to be able to purchase most of the handheld devices made these days, but I have thus far not been tempted by the available offerings either. Until the iPhone was announced, I didn’t consider myself in the “smartphone” market. I was sort of interested in one of Nintendo’s handheld units for a while on behalf of a few popular brain games marketed for adults, and aware generally of the Sony PSP (another fiasco of manufacturer vs paying customers which resulted in a tit-for-tat game if you will that I would suggest nobody won.)

I submit the following blog posting from TUAW with the other Steve, known by many simply as Woz. From the original article, comes the following excerpt:

L: So you’re in favor of the unlocking and jailbreaking for third-party applications?SW: From a business point of view, Apple owns what they have done. They have a right to lock it. But I am really for the unlockers, the rebels trying to make it free. I’d really like it to be open to new applications. I’d like to install some nice games. Why in the world can I not install a ringtone that I’ve made? How would that hurt AT&T’s network? Here is Steve Jobs sending letters to the record companies saying [they] should provide music that’s unprotected, but here he is taking the opposite approach with the iPhone. I don’t know to what extent AT&T is involved in the thinking and direction.

I also had a gander at this article with the provocative title, “So the iPhone Is Unlocked Again - Who Cares?” I believe it is somewhat obvious how I feel about the thing, but now you can ask my wife now that she owns the one phone that allows her to synch up with iTunes. She has gone from two devices to one, and everything else is icing on top. Thus she joins me in unlocking her device to retain the freedoms usually accorded to one who has paid a lot of money to own something, the right to modify it after the sale.

We have updates now on the wiki at the iShudan page, have a look at the issues reported and the organization pages. There are contributions to the running server code and a wonderful new mode running now and ready for packing that allows players using an iPhone to get an optimized view of the two smaller board sizes 9×9 and 13×13. I am committed to fixing the proper view for the full 19 square board soon and adding that to the main tree.

I still need a mailing list server or something like that.I have 6 iPhone developer movies from the ADC synched to my phone for watching later, over an hour of introductory material. At this point, I am commited to learning Cocoa and more PHP so I have some resources available for both of those.

I was mentioned in a recent AGA newsletter in response to a question about Go on a blackberry. Does anyone have one they want to work with and try modifying the existing code to work for it? It looks terrible and unusable from what I’ve seen on Adam’s old blackberry pearl, but I have no idea how to work with a device I don’t own. I can however provide some good starting points and experience thus far with the iPhone work.

namaste. I have big important work project tonight, wish me luck and maybe i will have more time to play a game this weekend after its over…

Possible app icon?It has been a few weeks since I posted anything about iShudan. There are many new developments, so I think it’s time to set my thoughts down for others who may be interested.

We currently have about 5 people with different specific itches to scratch who are all listed as admins on the project home page. This is in order to facilitate subversion access to the code, and these are known, trusted associates of mine. Since the big “G” is hosting it, there are a variety of different methods for checking out a copy of the code for inspection that will be familiar to anyone who has used Subversion in the past. Personally, I use IntelliJ IDEA for checkouts and edits, I have a registered copy but there are free trials available.

One of the first updates was against a type of SQL injection attack, contributed by my very remote friend Sam. My buddy Adam has been working hard in the background on adding in support for the Ext Javascript Library. Matthew, a classmate from UW who is currently expatriated to somewhere in TN is working on helping me with the SQL-related portions of implementing a “request takeback” feature so that accidental moves (which I have found are common to a novel mobile interface such Apple’s multi-touch screen) or rash overplays can be erased from the game in progress.

Matt also has noted a particular limitation of the current design: all the games are kept in a single game database, instead of as a separate instance for each person’s game. This means there is an upper limit of people who can be online using iShudan at the same time, since each re-display of the board reads from this single DB. Matt estimates this limit optimistically at around one hundred connections. I cannot imagine this type of activity short of a Denial of Service attack.

Currently, I am troubleshooting a particular odd behavior that makes the reminder emails sometimes use a broken URL. The simple fix for my public installation (the Go Dojo) would be to create a symlink on the host where the dead end points. However, I find it confusing that this appears to be intermittent, and so I’m stepping through it in more detail since I’d rather solve this than just patch the problem.

I have also noticed that someone added code that will send emails if a game is idle for a period of time, but I have not seen this triggered yet, so there may be some flow error or it was never completely implemented. It seems like a reasonable feature, so I will look more at this When There Is Time.

I’d like to make a mailing list but it doesn’t appear that Google includes the necessary tools for this on their hosting site. I will look about for something else to fill that need, so that interested parties can talk generally about the code amongst themselves or listen in to the current dialogue.  I have received a few notes of interest on the project so far, and I’d like to continue encouraging other people to participate.

The next thing to do quickly is to get autodetection of the iPhone or iPod Touch working.  Then we can start doing some smart resizing of the view portal to the known size of MobileSafari on these screens. There’s a good thread with techniques on this here.

One very amusing thing I have done this week is roll a .app “package” for installing onto an iPhone. This is basically just a clickable bookmark which appears on the Springboard with a custom icon, and takes you to the main play page for iShudan. It is not necessary to run a full unlock of an iPhone to install the .app file; you just have to be able to copy this file onto the iPhone and then make a few modifications to the files to have it show up. Therefore it would be available to anyone who can run Nullriver’s Installer.app on their phone.

(Installer.app is the single MOST useful application I have found. This one “mod” for the iPhone enables a full package management system, similar to apt-get or yum. Anyone with an iPhone should try installing this at least once to take a look at what the homebrew iPhone scene is doing.)

This “app” isn’t a big deal, but it allows iShudan to superficially resemble a native iPhone application. Local techie Wil Shipley writes a great entry here about why Apple really ought to release some kind of dev kit and allow this type of work to continue.  Instead it appears they would rather than engage in a tit-for-tat war against the rest of the human race. Some people know Wil as one of the authors of Delicious Library, which is a great application for the Mac that is very popular and rather unique. This guy has purchased no less than 19 iPhones (!!!), and owns a few hundred thousand dollars worth of Apple stock. He’s not just another whiny random blogger asking for His Steveness to bend an ear and listen to the outcry against the “sweet” dev system currently authorized by Apple.

Much thanks to both the authors of iPhone Apper and OpenURL , as well as to the entire iPhone Dev Team and all of the people working to make this marvelous device more useful for everyone. “I honor the place where you and I come together.” ;)

I am proud to announce that today is the initial release of my new project, iShudan. This combines my love of two different areas together into something that I feel has immense potential for growth and utility by others.

It is an open source project currently being hosted by Google which will allow people to install and set up a web server running PHP that will allow mobile play and recording of a game via an Apple iPhone. In case you have been living under a rock for the last 6 months, or genuinely aren’t a technical person and generally stop listening after any word that starts with an unnecessary lowercase “i”, the iPhone is a genuinely fascinating device that allows someone to have and use internet access almost anywhere, simply and easily. The touchscreen interface is somewhat reminiscent of a conversation I saw some time ago on godiscussions.com about an electronic Go board: a multi purpose beautiful device that can record and replay games without the need for a laptop during tense matches or the difficult to read kifu sheets which, at least in my case, frequently end up with continuity errors and make getting an SGF file out of an over-the-board game harder than it should be.

I don’t have the memory to replay more than the first 10 moves or so of a game if at all after some study: something like this allows smartphone users with internet access a way to record it as the game is going on. Right now, I use the camera phone to take snapshots, which look snazzy enough, in my opinion. Computer vision isn’t good enough yet to take these snaps and convert them into kifu’s, although I don’t doubt that this will happen someday soon. Particularly when Sam gets back from Peace Corp… (hi sam!)

It also neatly provides a way for anyone who can host a server to start a micro-”Go club“, like this Dojo. I have many friends I speak with about Go, and they would like to play a game and do not have the time it takes to play: this remote accessible-anywhere script allows us to play a leisurely game at the pace that suits us, similar to old chess-by-mail lists that allowed players to play long term games with far away people. Gosh, what ever did people do without the Internet?

Anyway, I’d love it if you took a look, and if you have any interest or anything to contribute, if you made contact to let me know. This is an open project based on other open code, and likely to remain a public effort for the duration. I have lots and lots more to write, but its late and I have to wake up again in just a few hours.

Namaste’.

This blog has some interesting posts about the iPhone.  There are still layers to the onion yet of this newfangled device, things that people are unfolding as we go.  This post is a reminder of that.  Technology right now is changing as it unfolds before us.  We interact with how it grows somewhat, but technology outgrew our ability to control it long ago.