andrew@littlesvr:~$ uptime 13:26:34 up 1104 days, 10:14, 4 users, load average: 0.61, 0.31, 0.21 I guess 1100 days doesn’t sound like a lot but 3 years does :) It’s still the same machine I mentioned a year ago. It’s been running and running and running, and not crashing! Theoretically 3 years is not a lot, …
Continue reading Beat my uptime: 3 years!Here’s an OSTD feature I was really excited about and looking forward to implement: allow the user to put in some version control info for a project so that I can run a nightly cron job and pull any new translations that have been added to that project. Would have been a great feature, and …
Continue reading Oh, you Git!I’ve started to run into serious performance issues with my SQL queries. I mentioned my concerns earlier, but now (still long before production time) I’m already experiencing clearly unacceptable performance. I’ve added a couple of thousand translated strings to the database, and uploaded another PO file for the record. That would run the following query …
Continue reading Good query bad queryHere’s something not many people working with PO files have run into. What happens when your english/translated string contains a <b> tag and you try to display that string on a webpage? Luckily I have one of those (in Asunder, where it’s actually a GTK formatting tag, not an HTML tag), so I ran into …
Continue reading HTML tags inside translated stringsBack in 2009 I wrote a post complaining about the needless complexities plural forms introduce to the i18n process. Now I ran into them again. Working on the OSTD I have to make sure I work with all kinds of PO files, and that has to include PO files with plural forms. The format of …
Continue reading Plural forms, againA long long time ago I decided to do an experiment. I ported my open source application ISO Master to Windows, and kept the port as proprietary software. The experiment paid off, and I definitely made enough money to pay myself for the porting work, but that was then. In december last year my webserver …
Continue reading Shareware bandwidthThere are a number of articles and blog posts out there trying to explain scope and closures, but overall I’d say that a majority of them aren’t crystal-clear. No sh**. I’ve been trying to figure out how scope works in JavaScript on-and-off for the last several years. I was never a committed JS programmer though …
Continue reading Scoping in JavaScriptIf you read the slightly older post and look at its screenshot and do some thinking – you might like me wonder this: given a bunch of JSON with multiple selections which can be modified in JavaScript using a form.. wait, modified using a form? One of the nice things about json is you can …
Continue reading Modifying JSON using a formPHP has this really neat function, json_encode(). It can take an object of whatever type, including my own class with child arrays/classes, and make a valid JSON string out of it. I was going to write this function myself but I found PHP already has it. There’s one concern I have about it – it …
Continue reading Scary json_encode()I got to implementing one of the primary use cases for OSTD – user uploads a template .pot file and gets a bunch of .po files with as many translated strings as possible. From a design point of view this isn’t a big deal: parse the .pot into a data structure, make a query per …
Continue reading Translating template files