I finally got around to creating a Project page for Mobile Tweete – check it out here: Mobile Tweete. That is all :)
26
Feb 10
Mobile Tweete Features Update
David and I have been working hard on getting the beta version of Mobile Tweete stable its getting there slowly. It is proving to be a bit more challenging than first anticipated as we are using an asynchronous famework .
When we aren’t fixing the bugs, we are adding features! David has been working on adding OAuth to Tweete, and I added the ability to reply to all persons mentioned in a tweet, and also the ability to copy hashtags when replying to a users tweet – this is useful for keeping the context when in a conversation.
Expect more features in the near future – we have a huge list of nice little tweaks to add!
15
Feb 10
Blog Recovered!
Hi everyone – I must appologise for the extended downtime of my blog. Right as David and I formatted our server, Mobile Tweete and work got a bit hectic and I just never got around to reinstalling my blog.
Luckily I have managed to salvage all my old blog posts so hopefully people will still find them useful. :)
Stay tuned for more ramblings from yours truly.
23
May 09
Wise Words
In fear of this website disappearing, I would like to re-blog the words to which I can relate to on a daily basis. Original text can (hopefully) be found here.
"You know, when you have a program that does something really
cool, and you wrote it from scratch, and it took a
significant part of your life, you grow fond of it. When it's
finished, it feels like some kind of amorphous sculpture that
you've created. It has an abstract shape in your head that's
completely independent of its actual purpose. Elegant,
simple, beautiful. Then, only a year later, after making
dozens of pragmatic alterations to suit the people who use
it, not only has your Venus- de-Milo lost both arms, she also
has a giraffe's head sticking out of her chest and a cherubic
penis that squirts colored water into a plastic bucket. The
romance has become so painful that each day you struggle with
an overwhelming urge to smash the fucking thing to pieces
with a hammer." - Nick Foster ("Life as a programmer")
That is all :)
18
Apr 09
Mobile Tweete update to 0.7b
Today I finally released the new version of Mobile Tweete (0.7). Some of you might have noticed that I skipped 0.6 which was never released publicly due to it being a very unstable codebase. It had a whole bunch of new features, but the base code kept erroring out. All of these problems have been fixed in version 0.7.
Mobile Tweete 0.7 has a bunch of new features which I decided made it a much more useable experience. I also tried to listen to comments via search.twitter.com and incorporated a bunch of suggestions from users. The new features in 0.7b are:
- Top menus can now be configured
- Individual Quick Action buttons can be turned on/off
- Tweete now supports ‘profiles’ which apply different settings depending on the device you are browsing from
- Change the colours of Tweete by using the colour scheme picker, or use your Twitter colour settings!
- Ability to turn avatars on/off on the timeline
- Search menu item now – uses search.twitter.com api
- Change how many tweets you want to display on each page (max 200)
- Added themes & users can now develop and submit custom themes for inclusion in Tweete
- Turn the header bar on/off
- The ability to enable a restrictive input box or not. i.e. limit input at 140 chars
- Auto-refresh interval can be specified if you would like the page automatically updated
- Customize the ReTweet syntax
- Reading resume line, this basically adds a line on the /home page which points out where you were up to last time you viewed the page so you don’t re-read old tweets.
For more information, you can check the help pages.
I would love to hear what you guys think about the new version :)
15
Sep 08
Google Chrome : array evals return out of order
I just want to make others aware of a little quirk with Google Chrome’s Javascript engine (V8), eval’d associative JSON arrays (aka objects) are returned in the incorrect order . The problem is that the engine doesn’t do what a programmer would expect it to do, but the programmer should be aware of why its happening and that it does happen.
Basically, take the following psuedo associative array/object and its corresponding JSON version:
Psuedo Associative array
Array (
3503 => '',
3847 => '',
6852 => ''
);
JSON Array
var data = {3503:'',3847:'',6852:''};
Pretty basic huh? But that happens when we loop over this array/object? In Firefox, Safari and IE we get the same result, which is the array elements in the order listed above. Chrome on the other hand returns the items out of order. Now I know you are probably thinking, “its an array/object, order doesn’t matter”. This is technically true, but not if you are relying on the order for some reason, then you might find bugs cropping up. Check out the code below:
var data = {3503:'',3847:'',6852:''};
var s = '';
for(var i in data) {
s += i + ',';
}
alert("Expected order: 3503,3847,6852\nOrder observed: " + s)
Firefox, Safari and IE all return the following alert:
Expected order: 3503,3847,6852 Order observed: 3503,3847,6852
Chrome on the other hand returns this:
Expected order: 3503,3847,6852 Order observed: 6852,3503,3847
Weird! Give it a try in your current browser by clicking here
Javascript guru, John Resig, has posted a note about this:
http://ejohn.org/blog/javascript-in-chrome/
Or for the official bug reports:
http://code.google.com/p/v8/issues/detail?id=6
http://code.google.com/p/chromium/issues/detail?id=883
As always with javascript programming, expect the unexpected… and…
Be Warned!
25
Aug 08
Trac ticket: reset to new
We have recently moved from Mantis to Trac at work for our bug/task tracking, but we have encountered a slight issue with Trac’s workflow management. The issue is that we wanted to be able to move a ticket from the ‘assigned’ state to the ‘new’ state. This is a common scenario if a team member leaves or goes on holiday while they have tasks assigned to them. Quite often you wouldn’t just want to blindly ‘reassign’ these issues to another member, but reset them to their new status so another member can pick the task up when they have the time.
We decided to introduce a new state called ‘reset’ in the trac.ini [ticket-workflow] block which allows us to easily reset a ticket to the ‘new’ status as if it had just been created in the system. The new block looks like this:
reset = * -> new reset.operations = del_resolution reset.permissions = TICKET_MODIFY
Now at the bottom of each ticket, we have an option which says:
[ ] reset Next status will be 'new'
Hope this works for you too :)
9
Aug 08
Tweete : a New Mobile Twitter Client
After months of complaining about the lack of features on the official mobile twitter client, and the download overhead of slandr, I decided to write my own mobile twitter client. One that focuses on most needed functionality without the huge download overhead. I call it Tweete.
I’m still working on Tweete, but at the moment I have a beta release running that you are welcome to try out which you can find here: m.tweete.net. I’ve tried to keep the pages fairly light, at the moment each page is around 5k, which is roughly the same as the official mobile twitter client, but Tweete has extra features. Slandr on the other hand is around 25k per page load (last time I checked). My mobile handset browser (WM6 IE) doesn’t support gzipping content, so I’ve tried to make pages as light as possible without gzipping.
To use Tweete, simply login with your twitter login details and away you go; no need to create an account or maintain another password.
Currently the following features are implemented in Tweete:
- Send updates
- User & friends timeline (with pagination)
- View replies
- View direct messages & send direct messages
- Pagination for direct messages & replies
- Mirrored Twitter URL structure
- User profiles
- Follow & Unfollow users
- API Limit handling
The following features are planned:
- Delete tweets & direct messages
And the following may or may not be implemented:
- Customize css colours from twitter account settings
If anyone has any suggestions, feel free to contact me with them (or leave a ticket at the Tweete Trac page) and I’ll see what I can do :)
For those of you who are interested in implementation details; I used the Kohana PHP Framework. Kohana is designed from ground up as a lightweight secure php framework for rapid application development. I have had a look at a number of frameworks for php, and in my opinion, is the most easy and logical to use.
27
Apr 08
PS3 Disc Error
Well, I booted up my PS3 today to give my brand new copy of Prologue a go. I inserted the disc into the Playstation, but it never appeared in the crossbar. All I can see is the little loading icon in the top right. I have tried a few different games; ones which I know work, but no luck. It seems my ps3’s laser has burnt out or something. Nevertheless, I have an extended warrenty on it, so no big drama other than the massive inconvenience it is causing. :(
I was initially suspect about it last night when I tried to resume playing Burnout Paradise, but wasn’t able to due to an error message on screen saying “Disc Read Error”. I just turned the PS3 off and went to bed, but waking up this morning I see that its a larger problem than first anticipated.
It seems like it is a fairly common problem with the PS. Anyone else had this problem with their PS3?
EDIT: I called Sony to ask what to do. Basically they said to send it to them (they pay the shipping), and then they send me one back. Great customer support! It’s nice dealing with companies like this. My PS3 is out of warranty too!