Ning Developer Docs

Jonathan Aquino's Blog (12)

Handy unit test for translations

Just a quick note to translators: there is a unit test that you can use to check what strings remain to be translated. Make a copy of /test/pt_BR_TestTemp.php for your language and run it. This will list strings that are missing and strings that are no longer needed.

Added by Jonathan Aquino on June 26, 2007 at 12:39pm — 1 Comment

Reading code aloud

When reading a programming book, it can be tempting to skim the code examples. But they likely have some nuggets that are worth learning. The problem is that we don't like to read code written by other people - or at least it doesn't come naturally to us. What we need is a technique for rapid understanding of new code.



I propose reading the code aloud. Now, to make sure we don't get distracted by syntactic details, we can probably come up with some rules for what to omit.… Continue

Added by Jonathan Aquino on March 13, 2007 at 1:29am — No Comments

Better Names for Martin Fowler’s “Refactoring Smells”

Martin Fowler's Refactoring (1999) is a landmark book for software engineering. It is a catalog of techniques for cleaning up code. Unfortunately, this remarkable book is tarnished by some frivolous names chosen for its list of "refactoring smells" (anti-patterns). Unlike the memorable pattern names from… Continue

Added by Jonathan Aquino on January 13, 2007 at 2:20am — No Comments

FeedChopper: Turn any long document into a daily RSS feed

Logo



For the past day I have been building a new web service called FeedChopper. Basically you paste in a long web article or list of links or quotations, and it gives you an RSS feed that delivers one section (or link or quotation) each day to your feedreader.



Screenshot



I created it because I'll often come across some long article… Continue

Added by Jonathan Aquino on December 30, 2006 at 7:55pm — No Comments

Page-Load Times for Firefox 2, Internet Explorer 7, and Opera 9.2

IE 7 seemed to be faster than Firefox, so I decided to measure page-load times for the two browsers on four popular websites.



Histogram



My test setup is shown below. None of the three browsers had any extensions installed. Page-load times were measured using IBM Page Detailer on my IBM T43 laptop with a wireless connection to a cable modem, in Victoria BC, Canada.…



Continue

Added by Jonathan Aquino on December 28, 2006 at 1:24am — No Comments

Books Worth Reading

Received an early Christmas gift - a big Amazon gift certificate. Here's what I chose.

  • Design Patterns. This must be the third time I've purchased this book. My first copy was lost; my second, left at my previous employer. When I first encountered this book in 1997, it was a revelation - these beautiful structures and patterns, crisply named and catalogued - Observer, Memento, Adapter, Visitor, Façade… Brilliant…
Continue

Added by Jonathan Aquino on December 22, 2006 at 11:48pm — No Comments

Language-agnostic indentation

Just wanted to share a style of code-indentation that I've found to express clearly the logic of if statements and other control structures inside template files. That is, when PHP and HTML are mixed together, this technique can make it much clearer what's going on (in terms of nested structures, such as if statements, for loops, etc.).



You simply indent with each level of nesting, regardless of which language you are in; for example:



A simple example



This makes a… Continue

Added by Jonathan Aquino on December 21, 2006 at 1:31pm — No Comments

jEdit’s very useful Highlight Text plugin

I have to put in a good word for the jEdit text editor again. Every so often I find some astonishing new feature in it (such as search-and-run-Java-expression-on).



Here's one that comes in useful for my current i18n project: Using the jEdit Highlight Plugin (and regular expressions) to highlight code that needs to be done (white), code already done (green), and code I don't need to concern myself with (dark blue).



You can color any text you want, specifying the criteria… Continue

Added by Jonathan Aquino on December 19, 2006 at 3:50pm — No Comments

Remember when…? 14.4 kbps modems and Word 2.0

Remember when you got your first computer? Modems were not a requirement in that day.



Then you got your first real PC. 14 kbps modems were alright, but for faster downloads from your city's BBS, you really needed a 56 kbps modem. And even with RAM at $50 / MB, it was worth the upgrade from 4 MB to 8 MB, even if it did hurt the wallet. Especially now that MS Word 6.0's come out. Word 2.0 is faster, but 6.0 looks so much better. Yeah, WordPerfect for DOS has a clever WYSIWYG interface,… Continue

Added by Jonathan Aquino on December 16, 2006 at 11:53pm — No Comments

Sensible Javascript Constructors

Here's how to create a proper "constructor" in Javascript. Note that the confusing "new" operator is not required. Also "private variables" are implemented through the magic of closures.

function gizmo(id) {return {

id: id,

toString: function () {

return "gizmo " + this.id;…

Continue

Added by Jonathan Aquino on December 15, 2006 at 7:13pm — No Comments

Jon’s links of note: Versioning CSS files with PHP; An uploader for YouTube?; and an interesting drag-and-drop interface

Interesting idea here. Setting the cache headers is key.



Ed Eliot: Automatic merging and versioning of CSS/JS files with PHP



Quote from my friend Doug on YouTube's upload-UI issues:



Noticeably absent from the list of Amazing Youtube Tools is an uploader tool. I would like to tag and title the video on my mac, maybe using spotlight or…

Continue

Added by Jonathan Aquino on December 14, 2006 at 9:30pm — No Comments

Jon’s links of note (APIs, Javascript)

Joshua Bloch: How To Design A Good API & Why It Matters (video, 1 hour). Brian's also got a good list of API links that I'll be reading through next.



Douglas Crockford: Advanced Javascript (three videos totalling 1 hour). On prototypal inheritance.…



Continue

Added by Jonathan Aquino on December 12, 2006 at 10:30pm — 2 Comments

© 2024   Created by Ning Developer Admin.   Powered by

Badges  |  Report an Issue  |  Terms of Service