jerakeen.org

by Tom Insam

notes☴

code☷

links☲

photos☵

Play framework

created 26 October 2009 in links tagged development, framework, java and web.

Something to look at next time I want to hack on a project - this is a Java framework that looks very heavily inspired by Rails et al, looks nice for dev.

http://www.playframework.org/

The iPhone Development Story: One Year Later

The iPhone Development Story: One Year Later

created 18 September 2009 in links tagged development, iphone and mikeash.

I’m a Mac developer, so ultimately I compare iPhone development to Mac development. Comparisons to other phones are interesting from an abstract point of view but ultimately make no difference to me. The question is not, “Which phone shall I develop for?” It’s, “Shall I develop for a phone at all?” Answer: no

I understand and agree with the argument, but me, I want to develop for mobile. I like the mobile platform. I just still can’t decide if I want to throw in with Android or stay in the nice fuzzy world of the iPhone.

http://www.mikeash.com/?page=pyblog/the-iphone-developmen...

MonoTouch

MonoTouch

created 24 July 2009 in links tagged development, iphone and mono.

the agreement to become an iPhone developer requires that the developer do not use any scripting engines or JIT technologies.

To satisfy these technical and legal requirements, MonoTouch is delivered as a static compiler that turns .NET executables and libraries into native applications. There is no JIT or interpreter shipped with your application, only native code.

http://mono-project.com/MonoTouch

speedlimit

speedlimit

created 02 June 2009 in links tagged bandwidth, development and macos.

A mac system preferences pane that lets you arbitrarily limit bandwidth to particular ports/hosts. Useful for iPhone development, anyway. I believe it’s just a GUI wrapper around the mac system packet filter / firewall layer, ipfw.

http://mschrag.github.com/

Desk Jockey

Desk Jockey

created 12 May 2009 in links tagged development, game and iphone.

Nice presentation on building simple game boards using CALayer and draw delegates, so you can use Core Animation and other high-level libraries to move things around. Doubt it would be useful for writing Quake, but that’s not really me anyway.

http://www.benzado.com/deskjockey/

Joe Hewitt

Joe Hewitt

created 24 March 2009 in links tagged development, iphone and three20.

one by one I’ve been redesigning and refactoring each of the components I wanted to open source, adding them to a new Xcode static library project, and then reintegrating them with the Facebook app. I just finished doing that a few days ago, and now I’m ready to start sharing the results A stack of very nice components. I’m especially interested in TTImageView, which does something that appears trivial, but that is actually annoyingly hard.

http://joehewitt.com/post/the-three20-project/

Sharing iPhone projects

Sharing iPhone projects

created 26 February 2009 in links tagged development, iphone and xcode.

Nice trick for de-hard-coding the developer name in the iPhone app signing process, so you can check in code that’ll build on any developer’s machine.

http://furbo.org/2009/02/26/sharing-iphone-projects/

A Warning About the Real Cost of Microformats

A Warning About the Real Cost of Microformats

created 06 February 2009 in links tagged api, compatibility, development, html and microformats.

Would you create a real developer API without a TOS, agreement, or at the very least, guidelines? Are you prepared to deal with objections if, when cutting costs, you rev a frontend design and lose some important aspect of microformat structure on the page (or, god forbid, you just don’t bring microformats over at all). Alternatively, are you prepared to announce all frontend markup changes? Does publishing a microformat without a special agreement mean that you are implicitly allowing comprehensive scraping of your web data?

http://getluky.net/2009/01/08/a-warning-about-the-real-co...

Safari Web Content Guide for iPhone OS: Storing Data on the Client

Safari Web Content Guide for iPhone OS: Storing Data on the Client

created 03 February 2009 in links tagged cache, development, iphone, offline, safari and web.

As of firmware 2.2, Safari can cache files for a web application on the device. Combined with the webkit HTML 5 local data store, there’s probably scope for writing entire applications that will keep working without a network connection.

https://developer.apple.com/webapps/docs/documentation/Ap...

nib2cib

nib2cib

created 09 December 2008 in links tagged cappuccino, cocoa, development, scary and web.

nib2cib is a command line tool designed for converting Cocoa’s nibs and xibs to Cappuccino’s cibs

Objective-J and Cappuccino are impressive. And scary. I need a project that I can implement using then..

http://github.com/280north/cappuccino/wikis/nib2cib

Flame for the iPhone

Flame for the iPhone

created 02 December 2008 in notes tagged browser, development, flame, iphone, network, release and software.

I’ve been playing with iPhone development recently, and have ported Flame to it. Well, re-implemented, really - Flame is written in Python and there’s no PyObjC for the iPhone, and nor is there likely to ever be. But Objective-C is getting easier as I get practice, and this app even has a modicum of proper memory management.

This time, the source lives in GitHub/jerakeen as git seems like the cool kid this week and I need the practice. I’d expect it to build and run in the simulator just fine, and it runs on my device, so it’ll run on yours if you know the magic hoops to jump through. It’s possible that this app might actually make it to the App Store at some point, though it’s somewhat niche.. You never know.

Let me know if you have ideas for improvements. For a start, I’d like certain services to be linkable - HTTP servers should open their web page in Mobile Safari if clicked, for instance.

Web Development Bookmarklets

Web Development Bookmarklets

created 19 November 2008 in links tagged bookmarklet, development, html and web.

useful-looking bookmarklets, for when I’m not using firefox, and therefore firebug, or safari. Which is a lot recently, because they’re both annoying me.

https://www.squarefree.com/bookmarklets/webdevel.html

TouchMap Teaser | toxicsoftware.com

TouchMap Teaser | toxicsoftware.com

created 18 November 2008 in links tagged development, iphone and maps.

Another slippymaps widget for the iPhone. I like the way that I’m starting to see an ecosystem of advice and spare parts arriving, finally.

http://toxicsoftware.com/touchmap-teaser/

jythonroid - Google Code

jythonroid - Google Code

created 18 November 2008 in links tagged android, development, java, jython and python.

Jython, for andriod. Marvellous. I’m also hoping that someone ports a JavaScript VM.

http://code.google.com/p/jythonroid/

route-me - Google Code

route-me - Google Code

created 18 November 2008 in links tagged development, iphone, maps and openstreetmap.

An iPhone widget that implements the google-maps-style slippymaps in an embeddable way. Nifty.

http://code.google.com/p/route-me/

iPhone local web applications

created 06 November 2008 in notes tagged development, html5, iphone and webpage.

Startlingly, the webkit-based browser on the iPhone supports the HTML 5 client-side storage standard. Alas, you can’t write properly off-line apps because there’s no local HTML/file cache on the phone you can keep files in. You could use the bookmarklet trick I suppose, but I don’t like that one - it’s nasty, and makes development annoying - you have to keep re-syncing things, it’s not terribly easy to upgrade, etc.

I do, however, want to write local apps in a language that’s a little higher-level than Objective-C. It’s nice and all, but I prefer things to be more flexible. The iPhone SDK agreement means that I can’t write my code in a high-level language and ship an interpreter, alas - no iPhone pyobjc for me. But (and this is speculative, I’m not a lawyer, etc etc) as I read the iPhone SDK user agreement, I think you could probably write a pure HTML/JavaScript application, using the webkit local storage engine, and run it in an embedded webkit view as a local iPhone application.

3.3.2. [..] No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and built-in interpreter(s).

(emphasis mine)

This means I can have a shippable application, with local storage, but with large bits of logic written in JavaScript. I may even be able to intercept requests for urls and call API functions from Objective-C space, so I can expose location data to the application, for instance.

There are obviously huge disadvantages to writing an app in HTML, but I’d like to try it if only as both a rapid prototying environment for local apps, and a way of giving apps that are already HTML-based some local storage and the ability to be run when away from network.

Unfortunately, I feel that I can see where this could get taken. The spirit of the SDK agreement is clearly that Apple don’t want any way of distributing applications except through the App Store. This exception is in the SDK only because you can’t have an embeddable web browser widget without saying ‘stuff the web browser does is ok’. But if this loophole actually is a loophole, I don’t see what stops me writing a front-end that can download more HTML into the local storage area.

Well, no, actually, I see

3.3.3 Without Apple’s prior written approval, an Application may not provide, unlock or enable additional features or functionality through distribution mechanisms other than the App Store.

..which might cover that one. Maybe I’ll write something like this as an experiment anyway.

Here’s another thought. If I can intercept requests and call Objective-C functions, why do I need the HTML-displaying part of this at all? How introspectable is Obj-C anyway, and can I ship an Objective-JavaScript bridge in my app?

Mac Daddy World » Blog Archive » Adventures in Cocotron

Mac Daddy World » Blog Archive » Adventures in Cocotron

created 29 October 2008 in links tagged cocoa, development, porting, programming and windows.

The primary shortcoming of the Cocotron project may be the lack of a flagship product to drive the effort. It became apparent once we started the port, that the creators weren’t actively using it to create a shipping application

http://macdaddyworld.com/2008/10/27/adventures-in-cocotron/

iPhone Developer Program

iPhone Developer Program

created 01 October 2008 in links tagged apple, development, iphone and nda.

the NDA, tis gone. Yay happy face. But only for ‘released’ software. Less happy face. Wait, what does that even mean? Released Apple software (firmware versions)? My software? I can only join the mailing lists after I ship an app?

http://developer.apple.com/iphone/program/

Svnmerge.py - SubversionWiki

Svnmerge.py - SubversionWiki

created 20 May 2008 in links tagged development, merge and subversion.

python tool for merging svn repository branches automatically. Possible alternative to using SVK for branch management. Or I could just wait for svn 1.5

http://www.orcaware.com/svn/wiki/Svnmerge.py

iPhone web application behaviour

created 21 January 2008 in blog tagged apple, development, iphone, ipod, sdk and touch.

The ‘state of the art’ for iPhone apps is a single URL, serving a static page with lots of JavaScript and Ajax. Clicking (touching, whatever) things loads in fragments and changes the page. IUI works like this, Hahlo works like this, the Facebook app works like this (hence IUI‘s behaviour).

To preserve state, normal usage is to use the URL fragment to add bookmarkability and history. And sometimes, this actually works. But given that the point is to pretend to be a native iPhone application, it’s wrong. You should be storing state in cookies.

Justification: Native iPhone apps act like you never quit them. Even if they get closed by the system at some point, they’ll come back to the state you left them in. Bookmarking a rich web application should act the same - I want to bookmark the application, and have it open in the state that I left it, not the state that I bookmarked it in. So you should update the ‘current state’ in a local cookie every time to navigate somewhere, and respect that state when you next visit the application. Combine this with the 1.1.3 firmware’s webclips thing and you can almost pretend to be native.

Which is why I expect the much-anticipated iPhone SDK to be nothing more than ‘local web applications’. Give developers a little bit of local storage (you know, like webkit just got), a way of promoting a bookmark to the home screen (we have that one now) and a way of storing some HTML and JS on the phone, and Jobs can claim he’s given us an SDK. And he’ll be right.

Me? I’d be happy with that. It solves all the sandboxing, security, ‘bring down the network’, etc problems. And it will keep people from jailbreaking the phone trivially. The only alternative I can see is installation of signed apps only, with the iTunes Media Store as the single point of installation. Which would suck more. But there will be howls of outrage.

Web Developer

Web Developer

created 06 August 2007 in links tagged development, extension, firefox and web.

The firefox web developer toolbar

http://chrispederick.com/work/web-developer/

The B-List: Reusable Django apps

The B-List: Reusable Django apps

created 29 March 2007 in links tagged deployment, development, django and python.

Good musings, including some non-obvious stuff that really should be documented better. Keeping apps out of the project tree is a really good idea.

http://www.b-list.org/weblog/2007/03/27/reusable-django-apps

Joyeur: Joyeur: Joyent Slingshot

Joyeur: Joyeur: Joyent Slingshot

created 23 March 2007 in links tagged app, development, offline, rails, ruby and slignshot.

Rails apps turned into offline-capable Mac .apps with very little work. awesomely cool stuff. I may need to have a look at rails again.

http://joyeur.com/2007/03/22/joyent-slingshot

Leopard Technology Series for Developers

Leopard Technology Series for Developers

created 16 November 2006 in links tagged development, leopard, macos and xcode.

oooh, Objective C 2.0 looks shiny - it’s getting far too high level for something that’s compiled. Can’t wait…

http://developer.apple.com/leopard/overview/tools.html

Mac OS X Python Packages for Universal Python 2.4 on Mac OS X 10.3.9 and later (Intel and PPC)

Mac OS X Python Packages for Universal Python 2.4 on Mac OS X 10.3.9 and later (Intel and PPC)

created 15 August 2006 in links tagged development, macos and python.

A useful heap of python packages for macos

http://pythonmac.org/packages/py24-fat/index.html

Bluish Coder: Javascript continuation based webserver

Bluish Coder: Javascript continuation based webserver

created 20 July 2006 in links tagged development, java and javascript.

Utterly lovely. Java/Rhino based JavaScript-using server

http://www.bluishcoder.co.nz/2006/07/javascript-continuat...

WebStart Walkthrough

WebStart Walkthrough

created 16 June 2006 in links tagged development and java.

Aaah, webstart. Weird, but good. This is for JFlame only, so far, but who knows what the future may hold..

http://www.cokeandcode.com/webstarthowto

Eddt - A file browser plugin for gedit.

Eddt - A file browser plugin for gedit.

created 11 June 2006 in links tagged development, gedit, plugin and python.

gedit plugin that provides a file-browser view. Practically the only thnig that was standing in the way of gedit being a really quite spiffy IDE on it’s own. Not bad for the platform-default text editor.

http://eddt.sourceforge.net/

Lluis’ Blog » Designing menus

Lluis' Blog » Designing menus

created 30 May 2006 in links tagged development, gui and mono.

Horay for pretty GUI designers. I’m still searching for a linux development invironment that I can at least try to enjoy as much as PyObjC on the Mac..

http://primates.ximian.com/~lluis/blog/pivot/entry.php?id=52

Continuations and The Web

Continuations and The Web

created 22 May 2006 in links tagged continuations and development.

Continuations, abstractions, and hiding important details.

http://tirania.org/blog/archive/2006/May-21.html

Caching Tutorial for Web Authors and Webmasters

Caching Tutorial for Web Authors and Webmasters

created 16 February 2006 in links tagged cache, development and web.

http://www.mnot.net/cache_docs/

View Rendered Source Chart (Firefox Extension)

View Rendered Source Chart (Firefox Extension)

created 15 January 2006 in links tagged development, firefox, source and view.

http://jennifermadden.com/scripts/ViewRenderedSource.html

Particletree · Quick Guide to Prototype

Particletree · Quick Guide to Prototype

created 30 November 2005 in links tagged development, javascript, programming, reference and web.

http://particletree.com/features/quick-guide-to-prototype/

Helpful Tiger: It Only Hurts When I Laugh

Helpful Tiger: It Only Hurts When I Laugh

created 28 November 2005 in links tagged development, pragmatism, programming and tests.

On test-driven development in the real world - [[ All these are ugly solutions, design-wise. And Feathers knows it; he makes multiple apologies for his techniques. But he stresses that they work. ]]

http://www.helpfultiger.com/helpfultiger/2005/11/it_only_...