User loginNavigation |
JavascriptBlog from your Ubuntu DesktopThere is a small utility in Ubuntu called Gnome Blog which allows you to blog directly from your desktop. If you are running firefox on Ubuntu, click on this link to install the package or enter the following command in your terminal sudo apt-get install gnome-blogOnce installed, right click on an empty area on your panel and add “Blog Entry Poster”. Once you’ve added this click on it to start the app. First time you run, you’ll be prompted to enter details about your blog. First select your blog type - Blogger, Wordress, LiveJournal and MovableType are all supported here and a few more. For Wordpress blogs, enter your blog’s URL and username and password and you’re all set to go. Once you’ve set it up properly, you can start your blog post by just clicking on the Blog button on your panel. Unleash your inner child with PleoAbout a year ago I wrote about Pleo, the robotic baby dinosaur created by Ugobe. For a long time I felt the price tag was a little too steep but... a few weeks ago I gave in. I had to have one and hopefully hack it in the near future. Since I wrote about it before when I didn't have one I figured it would be nice to write a followup post and review Pleo. So here it is, my non-sponsored (yep, I paid $325 for this baby) review of Ugobe's first and hopefully not last product. Read all about the good as well as the bad! For quite a while before actually buying a Pleo I had been reading the PleoWorld forums *. What struck me as extremely odd, or even flat out weird was the way various forum members talked about their Pleo's. They don't consider it a toy, a robot or an inanimate object. Nope, Pleo is 'alive'. We're talking about grown up adults here, discussing Ugobe's robot dinosaur in the exact same fashion like I would tell anyone about our Jack Russell terrier Jackie, who is very much alive. I didn't quite get it! We're talking about a toy here, albeit a quite pricey one, right??? Ugobe themselves also don't refer to their product as 'toy' or 'robot'. Instead they call it a 'lifeform'. Possibly a bit over ambitious but it does illustrate the sentiment the company is trying to convey. Does the product live up to these high expectations? More about that later. The TechPleo is an amazing piece of robot technology. I can honestly say that I'm pretty much flabbergasted that it's possible to pack this much technology in a $300-350 package. Let's see what's inside. HardwarePleo has stereo hearing, color camera vision, 14 servo motors, touch sensors, tilt sensors, force feedback sensors, over 100 gears, two 32bit ARM7 CPUs, four 8bit processors for low-level motor control and a whole lot of other circuitry. I wouldn't be surprised if it's smarter than the original 1-week old Camarosaurus it was modeled after. All this is powered by a rechargeable Ni-MH battery which provides 1 to 1.5 hours of operating time between charges. I suppose this may be a somewhat disappointing statistic to some but I think it's fairly impressive given the staggering amount of electric components many of which moving that are powered by this battery. For future hacking purposes however I'm tempted to do the 'umbilical cord hack' * that allows the robot to pretty much run continuously without any interruptions. SoftwarePleo is powered by a custom made operating system Ugobe ambitiously calls 'LifeOS'. At the moment it's unfortunately not possible to tap into the features of this OS because Ugobe has yet to release the PDK (Pleo Development Kit) which will hopefully allow 3rd party developers to add new behaviors and enhance Pleo's capabilities. Just like with any piece of computer hardware, hackers usually manage to achieve things the original creators of the hardware deem impossible to do. So far it's been dead silent when it comes to the release of the PDK. Emailing Ugobe about it results in nothing more than a 'we're currently working on this'-reply. I suppose this was fine in 2007 but now that it's 2009 and there's still nothing for us to hack around with would justify a somewhat more elaborate response. What is available at this time are higher level tools such as MySkit and YAPT which make it possible to create 'scripted' behaviours. This means you can make Pleo perform a pre-programmed set of movements and sounds. These are unfortunately completely non-interactive. For interactive behaviors we need... that's right, the PDK. So, what's this ridiculously expensive toy like?Like I mentioned before, I was pretty much amazed by the effect Pleo seemed to have on people. Not just kids but grown-ups alike. It made me wonder what effect it would have on my own family. And ... I guess it has the same effect on ours. Bernie the baby dinosaurFairly quickly our Pleo was named 'Bernie'. After a while you pretty much get passed the continuous whirring of the servos and Bernie becomes almost real. I have made a few videos of Bernie in action for you to view but I think they don't fully do justice to what it's like to interact with Bernie. Bernie has many different moods. He can get happy, sad, scared, ill and a lot more. Unlike any other toy robot products I've seen he doesn't become repetitive nearly as soon as any other products. He does NOT have any kind of remote control and is able to operate fully autonomously. Bernie is even able to sense the danger of falling. Put him on a table to walk around and he will NOT fall off. Instead he'll gaze into the depth, moan a bit and then turn around to prevent hurting himself. Bernie, pulling fingers Unlike any other robot on the market, Bernie moves extremely naturally. From a bit of a distance you'd swear you're looking at an alive specimen of a long extinct dinosaur race. Leave Bernie to himself and he'll go explore his environment. When he's left alone for too long he'll let you know he needs attention. When you speak to him loud enough, his head will turn to where he heard the talking come from. Petting Bernie results in extremely lifelike reactions. Every time Bernie is on he surprises with different behavior or funny reactions. I guess it's safe to say that Ugobe is the first company that managed to create a product that actually 'feels' like a real animal. As awesome and advanced as Sony's AIBO robot dogs are, they just don't have the same 'alive' vibe like Pleo does. Anything else besides AIBO doesn't even come close. Pleo is one of a kind. There simply isn't anything on the market that can compete with it. Bernie singing Abuse and human emotionAnother example of how lifelike Pleo can be is the built-in reactions to abuse. In order to demonstrate this, take a look at this video by DVICE where a Pleo gets (mildly) abused. I did not try any of this myself because first of all I don't want to traumatize 5 year old Addie and secondly, because Pleo's 'remember' how you treat them. It would probably result into Bernie being sad and scared quite a long time. And finally, I figured to not take the chance at being executed first when the robots finally take over the world and see how I treated one of them. Yep, those DVICE people better run and hide when SkyNet takes over ;) Finally, as a last example of the emotions Pleo manages to invoke in people, take a look at this video where a Pleo gets shredded to pieces (better not show this to your children). For some reason I found this video rather disturbing to watch, even though I know we're just talking about a pile of servos, gears, cpu's and other tech stuff in a rubber skin. Odd, eh? When looking at the comments you'll see that quite a proportion of the reactions disapprove strongly with what's happening. All this demonstrates that Ugobe has hit a home-run with Pleo. I guess it really is as close to a 'life form' as it gets at this moment. If only it would run for a bit longer on a battery charge. The bad: Meet the world's worst supported toyNow before you go run to the store and get one of these tech marvels there's some less great things to say about Pleo: the support Ugobe provides. It starts with the warranty. Pleo has only 90 days of warranty which I find absolutely ludicrous for a product this expensive. In Europe this isn't even allowed by law which probably puts a lot of pressure on whoever sells Pleo there. In the Netherlands for example it's required by law to provide at least a year warranty. Wait, it gets worse. Let's get to the point where I still act a bit paranoid when Addie is alone with Pleo. Here's why. What if Pleo breaks? I'll have to pay to get it repaired, right? Nope. You WON'T get it repaired. There is no such thing as a Pleo repair service. If Pleo breaks, you're screwed. The only thing Ugobe offers is what they call the Pleo 'reincarnation' service which allows customers to buy a new Pleo for $250 and have the 'mind' of their broken Pleo transferred to this new one. Of course this doesn't really cut the cake for many people. It's like getting a new puppy when your dog dies. It nice but it's just not the same thing. And, you'll get to shell out another $250 too. I'm not sure if I will in case Bernie breaks, as much as I like him. Then there's Pleo's website. Weeks ago, all of a sudden pleoworld.com read nothing more but 'This website has been terminated.'. WTF? I wondered. I was happy this happened just AFTER I downloaded the LifeOS 1.1 update or I wouldn't have been able to get to it for weeks. About a week later some half-broken pages showed up but the most important part was missing: the downloads section. This little 'outage' resulted in Pleo customers to be unable to download software updates and custom behaviors for weeks. This included the 'holidays' behavior which makes Pleo sing xmas songs and be generally extra cheerful. Not many people got to enjoy these downloads for these holidays. After emailing Ugobe asking what the hell was going on I again got the dreaded 'we're working on it' reply. At the moment I'm writing this post, 3 weeks after the site went AWOL one of the most important parts (the user forum) is still unavailable. All this happened without any prior notice and without any 'we're sorry for the inconvenience'-page(s) with the most important downloads still in place. Apparently the Ugobe web team is less competent than the average housewife blogger. There's some room for improvement there guys! ConclusionSo here's the lowdown on Pleo. Pleo is an awesome product. Full stop. If you have the cash to spare and you like advanced robotics, Pleo is for you, whether you're 8 years old or 38. If you're a geek who wants to hack the hell out of Pleo you better wait for the PDK to be released or be like me and get one anyway and simply pray for Ugobe to get their act together on this matter some time soon. If you're worried about your investment breaking after 90 days or if you're expecting a lot of support from the company that created Pleo I would recommend against the product. You're pretty much taking a $300-350 gamble because if Pleo breaks, your money is gone unless you're savy enough to perform your own Pleo surgery. And even then you better pray you don't need actual parts. If you have young kids you better make sure they go easy on Pleo too. Luckily this is working out pretty well for me because 5 year old Addie pretty much treats our Pleo like a real animal. So there we have it. My honest opinion about Pleo. An awesome product with (to say the least) questionable support. Come on Ugobe, shape up and you've got yourself a winner! * I'd link you but... the forum is still down....... Categories: Javascript, php
Create a Storage engine for MySQL using PHPAn interesting article I came across today by Johannes Schlüter, who works in the one of the MySQL teams in Sun. He’s done some interesting work writing a MySQL Storage Engine using PHP. His article shows how to do some basic using this. MySQL 5.1 has a plugin interface to easily add storage engines. PHP can easily embedded into other applications. So why not combine these two things? - Writing a MySQL Storage Engine which reads data by calling a PHP script. This article is interesting because of the uses which come up when you can create custom Storage Engines using PHP. An interesting usecase for this is in creating test cases, where you can feed the data for a query from PHP and trap the activities on the database. Head out and read this article and take a look at the code at his blog: MySQL Storage Engine based on PHP You can also take a look at the Launchpad page for this project. The following output and code is from the Lauchpad page which shows the PHP code and the queries in MySQL: < ?php class Test extends ArrayIterator implements MySQLStorage_Writable, MySQLStorage_Updatable, MySQLStorage_Deletable { public function write($data) { $this[] = $data; } public function update($data) { $this[$this->key()] = $data; } public function delete() { unset($this[$this->key()]); } } function create_table($table, $data) { return true; } function open_table($table) { return new Test(array( array('id' => 1, 'a' => 'foo'), array('id' => 2, 'a' => 'bar'))); } } ?>Sample Queries run on this engine: mysql> SELECT * FROM php_write; +------+------+ | id | val | +------+------+ | 1 | foo | | 2 | bar | +------+------+ 2 rows in set (0.00 sec) mysql> CREATE TABLE php_write (id int, val CHAR(3)) ENGINE=PHP; Query OK, 0 rows affected (0.00 sec) mysql> UPDATE php_write SET val = 'baz' WHERE id = 1; Query OK, 1 row affected (0.02 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> DELETE FROM php_write WHERE id = 2; Query OK, 1 row affected (0.02 sec) mysql> INSERT INTO php_write VALUES(3, 'bar'); Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM php_write; +------+------+ | id | val | +------+------+ | 1 | baz | | 3 | bar | +------+------+ 2 rows in set (0.01 sec)Geo standards on the webLocation-aware web applications are rising, and I'm personally very interested in this space. Besides the obvious cool-factor, I think there are a lot of uses for location-aware information. This post is a short overview of geo-related standards and api's. The heart of it all lies in 2 numbers, latitude and longitude. How to get these numbers?However you publish the GPS coordinates, the information will at one point in time come from a user. However, asking a user to enter these numbers is not the best end-user experience. Use a mapA very common way is simply ask a user to pinpoint their location on a map. The most common two providers for these are: Google maps is the most popular (no numbers!), but if you are looking for more flexibility, yahoo maps might be the best choice. Yahoo maps has an Actionscript API which enables you to add a lot of customizations. Justin Everett-Church has some cool examples of what's possible. Yahoo also provides a REST api, allowing you to just fetch the tiles and do all the stitching yourself. Address to GPS translation.This is called Geocoding. Yahoo has a very easy to use REST API to do this translation. Google also provides an API, which is also able to spit out kml as well. Browser plugins!W3c currently has a draft for a geo location api, which is also part of the HTML5 movement. The user interface is nice too. You are asked by the site if you are ok with supplying your coordinates, which then get sent back to the client. The best implementation I've seen from this is the Geode extension. I can highly recommend to install the add-on and give the demo's a shot. This extension will only work if your computer has WiFi. It makes use of Sky Hook, which has mapped locations of wifi routers across the world. It mainly seems to have done the urban areas in north america and europe. I actually moved a month or two ago from 43.651904 -79.428498 to 43.645466 -79.448729. For the first month our router was still mapped to the old address, but it updated recently to reflect my new address. Creepy, but cool! Gears also has a javascript API, which might be a bit more common. My personal experience has been that I've only been able to get information to up to 4 decimals, which placed me in a different part of town. Firefox 3.1 will also come with the api built in HOWEVER, it serves as an empty shell for extension implementors. You'll still need to install an extension to actually provide the coordinates, which could work through WiFi mapping, Cell-tower triangulation (the method the iPhone uses) or manual input. An extension that does this through manual input of an address is 'Geolocation'. From devicesThere are a couple devices on the market that track geo information. I wrote a small overview earlier today, and the most impressive seems to be the Amod AGL3080. Its conceptually very simple and when you plug it into your machine, it will show up as an external harddrive with a CSV. Next to that more camera-phones appear on the market that have support for embedding GPS information within the EXIF data of JPEG's. Most notably recent blackberries and the iPhone. Its reasonably easy to extract this information if it is available. PHP has an extension to read it out, but you'll need to do some conversion from the stored coordinates, as they are specified as the (now less common) degrees, minutes, seconds format. PublishingClearly the easiest way to publish location information is through maps, but the concept of adding this meta-data to the documents you produce (be that html, api's, rss ..) can be much more interesting. This will allow people to re-use the data and present it somewhere else. Geo RSSAdding geo information to RSS is an easy one. RSS and Atom is already very widely used. Originally used for feeding blogposts, it has gotten much wider usage such as aggregating pictures, video, etc. georss.org has some simple examples on how to do this. Flickr is already pretty big on GEO information, it confuses me why they haven't yet integrated the standard. HTML meta tagsThis will allow you add GPS information to a specific site or page There's two ways to define this: <meta name="geo.position" content="62.300626;-84.023437" /><meta name="ICBM" content="62.300626, -84.023437" /> There's no harm in including both. It's not very clear to me which one is used more, but the former seems to have more popularity in recent implementations. Geo microformatThere is also a microformat spec for geo information. Personally, I'm not a big fan of microformats, but would like to be proven wrong in its usefulness. MicrobloggingA standard way to include GPS information for microblogging (and with microblogging, 99% reads twitter.), using a very easy format. This allows cool applications such as Twittervision and Twinkle. The latter had an interesting review on the ever offensive Something Awful. KMLKML is also on its way to become a standard for the geo-web. KML covers much complexer drawing and is already supported by a number of apps, most prominently Google Earth and Nasa Worldwind. People who have google earth installed can be directed straight to a location on the map by serving a .kml file. ConclusionWell, I think the geo-aware web has a big and bright future. Having appropriate standards in place to consume and publish this information is very important. Even though a minimal amount of users will immediately benefit from for example geo information in your html head section. Allowing other developers or applications to access this information today will help pave the future for a fully geo-enabled web. I say all this realizing this blog does not provide this information, but hey.. nobody is perfect :). I can proudly say however I have some geo-aware applications in the works. I'm very interested in your ideas of examples of interesting use of GPS information! If I missed an important or relevant API or you have a cool example, make sure to leave a comment. /me goes off to find a restaurant near me and wonders where my friends would hang out on a cold saturday night in december. Gps trackers - any advice?Like half of the web development community, I recently became really interested in location-enabled stuff ;) I really want to get a GPS tracker (for christmas!, hint hint!), there seem to be a couple out there, so I'm wondering if there's any people who have such a device and what their experiences are. Ideal features:
So we have some options: Professional mini tracker keyPro:
Con:
Pro:
Con:
Pro:
Con:
Pro:
Con:
Pro:
Con:
The Amod AGL3080 seems by a stretch the most impressive device, not only does it seem to have a good battery life, and plenty of storage. Just judging from the page on amazon, it quite frankly seems the most professional, despite it having the lowest price on the list.
Dear lazyweb, am I making a mistake? Are there better devices out there? Wordpress blogging on a S60 PhoneI just came across this S60 freeware today which allows me to manage my wordpress blog on my E71. Wordmobi is a Python app which can be used to perform the following tasks on the blog:
Before going and installting WordMobi, you’ll have to install Python for S60 from http://sourceforge.net/project/showfiles.php?group_id=154155 After you install Python, you can go ahead download the latest version and install WordMobi. Before you can start managing your blog, you’ll have to setup the app with your wordpress details. Here’s how to do that: Open WordMobi, select your access point then click on Options > Settings > Blog Access Once in the blog access screen, you’ll have to enter the following information:
Once your settings are in, all you need to do is to update the posts, and you’ll get the recent posts down into your phone for you to edit.To update the posts, select Options>Posts>Update This app should work on any S60 3rd Edition phones like the E71 orN95 (according to the WordMobi Site). If you get this working on other phones, do let me know. Also if you can’t seem to connect using this, see if your xmlrpc.php file is accessible on your blog url (http://yourdomain.com/xmlrpc.php). For me this file was disallowed on the server because the server I’m on had some wierd restriction placed on the xmlrpc file. Links: WordMobi Project Site, WordMobi download, Python for S60 download Google Friend ConnectLooking for an easy way to provide social features on your site without having to go through all the hassels of creating login scripts and member databases? Google Friend Connect allows you to do that in a few simple steps. Just signup for an account, upload 2 html files and embed a javascript for the gadget you’d like to use - as simple as that ! Visitors can sign in using their Google, Yahoo, AIM or Open ID accounts, which makes it easier to pull in more interactions without having them to register on your site. Currently Friend Connect provides a few gadgets like the Wall and Review & Rate. You can also create custom gadgets if you’re up to it. The Wall and Review gadgets can also be set in moderation mode where you get to choose what goes up on the site and delete unwanted posts. Link: Google Friend Connect Auto Sync on your Mobile using SwimOne sorely missing functionality on S60 phones is the ability to automatically sync the phone with SyncML sources. I use GooSync to sync the E71’s calendar with Google Calendar and the phone data (address book, notes,… ) with Nokia’s Ovi Service. Having to manually hit the synchronize option to get these services to work. Here’s where Swim comes in as a saviour. This app is a remote sync timer and allows you to automatically sync these services on a periodic basis. You can download the unsigned application from http://code.google.com/p/bergamot/downloads/list. If you’re on Nokia’s newer N or E series mobile, download the S60 version. You can’t directly install the downloaded file since it an unsigned file and the phone will complain about the app not being signed. Follow these steps after you download Swim from the download page mentioned above :
Once installed, just open the application. In the application screen you’ll see the Sync points already defined on your phone. All you need to do now is to select the frequency of updates you’d want for each one. Syncing is so much more simpler now. Links: Swim for Symbian Project Page , Open Signed Online Related articles by Zemanta
Forking and MySQL connectionsFor some of our long-running processes we use PHP. It makes total sense from our perspective, because we can re-use all our existing business logic from our main PHP web application. To make things more efficient, I recently started some work on using forks and have a couple of worker processes around. This application is essentially the core of our transcoder. The parent process would retrieve new jobs from the queue and fire up a number of workers to actually transcode the file. The main problem is that the parent opens up a MySQL connection and fires off some queries. After the child process is done, it actually closes the MySQL connection regardless of if it was actually used or not. This means I'll have to close all mysql connections before forking, and re-connecting right after. No big deal, but still at least a bit annoying. <?php$db = new MySQLi('hostname','user','password'); if (pcntl_fork()) { $status = 0; // parent pcntl_wait($status); $result = $db->query('select version()'); if ($db->error) echo $db->error; } else { // the child process does nothing and exits gracefully } ?> Output: MySQL server has gone awayMP4 fast-start woesIn order to play MP4 files while they are still downloading (either by for example Quicktime of Flash), in most cases you'll need to move the so called 'MOOV' atom to the beginning of the file. The MOOV atom is in essence a block of data, containing an index of the rest of the file. Most authoring tools will place this data on the end of the file, because the size of the block will have to change dynamically as changes are made to the video. If the atom was right at the beginning, the entire file would have to be rewritten for a lot of smaller changes. So, there are a couple of tools that do this for you, but none of them seem to work really well. FFMpeg contains a tool called 'qt-faststart', but I had to kill it after I discovered it had been running for 12 hours on a relatively small mp4 file. Some suggestions on the FFMpeg mailing list led me to two other tools, MP4Box and MPEG4IP. MP4Box dies with a big: MP4Box /tmp/508842_22.mp4 -inter 500Saving /tmp/508842_22.mp4: 0.500 secs Interleaving *** glibc detected *** double free or corruption (!prev): 0x08071108 *** Aborted On top of that their forum seems mostly dead. MPEG4IP simply has the following message on their download page: NOTE: currently, the tarball is corrupt, and I do not have a way to remake it at this point. Hopefully that will change in a few weeks.Dear lazyweb, has anyone else came across similar issues? How would one go about solving this? :( Update: Reading through it again, it seems as if the mpeg4ip project has simply died in 2007. Update 2: My problem with MP4Box was solved! I needed to explicitly supply the -out parameter. Google Tech Talk about patentsDaniel B. Ravicher from PUBPAT did a great talk about the patent system and more importantly, how it doesn't work. Worth watching if you are in the tech industry and if you're interested in the subject. The PUBPAT's mission statement: "PUBPAT Represents the Public's Interests Against Undeserved Patents and Unsound Patent Policy". Their website could be a bit more glamorous and less dry, but it is an important cause that affects all of us. Zend Framework 1.7 features AMF supportIt just came to my attention that Zend Framework 1.7 was released, along with AMF support. This is good news for people looking for a solid AMF implementation for PHP, because Zend with Adobe backing will likely have a lot more eyes on it, and there's a good chance this will result in a high quality implementation. This implementation has similar design goals as SabreAMF, which begs the question how relevant SabreAMF still is. I'm not really sure myself. I sort of feel SabreAMF served its purpose well. It (mainly AMF3) has been a reference implementation for many other projects such as PyAMF, Red5, some ruby implementation which I know forgot the name of and unless I'm mistaken also AMFPHP and this very Zend_AMF. Note that these guys never actually gave any credit ;), so I might very well be lying here.. I mainly just overheard this in the various mailing lists and from different people. So yea, my personal goal has been to be the first open source AMF3 implementation, and build a very clean implementation people can easily drop into existing business logic. I feel I've achieved this, and its been a fun couple of years working on this, not to mention that it has helped putting my name out there, just a little bit.
I'll keep actively maintaining for the people that placed their bets on SabreAMF, recently Asbjørn Sloth Tønnesen has been helping a lot with this as well, but I'll probably start directing people to the Zend implementation for future setups. Let me know what you guys think. Is there still value in keeping SabreAMF growing, or should it fully go to maintenance mode? Also, thanks a lot to all the people out there that submitted bug reports, patches, blogged about it or simply used it in production! This was my first open source project (hopefully not the last), and it has been a lot of fun :). Four browser notesIn case you’re wondering why this blog is updated so rarely; I’m taking a slight break from web development, and I’m working on a major upgrade of my Dutch politics section. It’s not ready yet; I’ll let you know when it is. However, while working on it I found a few browser peculiarities, and I thought I'd let you know. There’s one IE bug; one case in which IE does the right thing and the other browsers don’t; the third is a Chrome peculiarity (not a bug); the fourth is an undocumented property in Opera. Categories: general tech, Javascript
ONE on N-GageBeen busy in my spare time for the past few weeks playing on N-Gage. One game I got a hold of is One. The first thing which amazed me was the graphics this game was belting out on a N81 - some of the best graphics I’ve seen on a mobile game! There are various gameplay options for One - you can play out the story mode, Versus, Survival and Multiplayer.There’s also a training mode which takes you through the various moves in the game. I would advise you to go though the training mode first, there are quite a few moves you’ll miss out on if you don’t. The keys combination are pretty easy to remember - but in the heat of a combat, you’re sure to fumble on which moves to use ! You can customize your player with various hairstyles, gear and fighting styles. You keep unlocking new gear to wear as you keep progressing in the story mode. The story mode allows you play out the story of the One. In this mode you have to keep fighting opponents to progress in the game - each level has it’s Boss whom you’ll have to defeat to move on to the next level. While you progress through the game, it gets auto-saved only after a few fights- this behavior can be a pain at times. I would have been better if it auto-saved after every fight. Also keep an eye on your rank - every win increases your ranking - beware that ever loss also brings it down! You can practise your skills in the Versus and Survival mode where you can choose the scenery and the computer player you would like to play against. Practise makes perfect, so hone in your skills in these modes if you find that you’re loosing too much in the story mode. Remember to set the “Ranked” option to “No” in these modes if you don’t want your Ranking to dip while practising your moves. One piece of advice while playing this game is to keep mixing your moves - if you play the same moves, the computer player usually ends up blocking or countering you. So practice all your different moves and unleash hell for your opponents. The multiplayer mode works with bluetooth. I couldn’t get anyone else who had One in the same room to go head to head. It would have been better if this was an internet multi-player option instead of just bluetooth. This game is overall a good buy and will keep you occupied for quite some time if you are into martial art games. Take a break while gaming - I’ve had a bad case of cramps on my fingers after an hour or so of intense gaming. More about One at the N-Gage Site Zend Framework 1.7 out nowThe latest version of the Zend Framework version 1.7 is out now. This version comes with quite a few new features and modules like support for Adobe’s AMF (Action Message Format) to enable communication between PHP and Flash, twitter, Google Book search, jQuery and Dojo support and more. Here are some of the new features and modules:
If you’re looking for the AMF code separately, head over to: http://framework.zend.com/download/amf where you can download the AMF package independently. This is quite a lot of features given the short turnaround time for this release. ZF 1.6 was released just under three months previous to this release. Download the latest version at: http://framework.zend.com/download/latest via Devzone Get “The Art & Science of CSS” ebook for free from SitepointHere’s a freebie from Sitepoint. They’re giving away an ebook titled The Art & Science of CSS for free for the next 12 days. If you are a twitter user, just follow @sitepointdotcom and they’ll send you a link to the book (it’s around 23 MB). If you’re not on twitter, you can still get the book by submitting your email id at: http://twitaway.aws.sitepoint.com/ About the Book: All designs in this book are visually appealing and inspiring. The CSS code used to create each of the components is included and guaranteed to be simple, efficient and cross-browser compatible. This book contains seven chapters that engage with the fundamental elements of the web page—headings, images, backgrounds, navigation—as well as applied styles such as those used in forms, rounded corners for content boxes, and tables. CSS is inherent in the approaches we’ll use in the exercises presented here. These exercises will encourage you to address the questions of art and science in all the design choices you make, as a means to considerations of usability are always paramount—both in terms of users of mainstream browsers and those employing assistive technology. I'm programmer of the year!Amazon CloudFront - CDN on a budgetAmazon’s CDN service has just hit beta. You can try out Amazon’s Cloudfront without any minimum contract just pay for what you use just like their other services. Couldfront speeds up delivery of files to your users by caching your files in multiple locations closest to them (the caveat being their current servers are based in US and Europe). From the CloudFront site: To use Amazon CloudFront, you:
You can access the CDN either with your custom domain or using the cloud front URL which looks like: xyz.cloudfront.net . Monthly bandwidth prices start from 17 cents / GB for the first 10 Terrabytes down to 9 cents/GB for traffic above 150TB Read more and signup at: http://aws.amazon.com/cloudfront/ CSS Compatibility updatedI’ve updated the CSS Compatibility Table as the first step in a complete update of all Tables. Frankly, this was one of the more boring updates I’ve ever done. I tested four browsers:
All in all a meager result for many hours of work. I suppose I should be extatic about how little browsers do wrong these days, but it makes my work considerably more boring. Further updates are planned, but I’m not going to give a specific timeline for them; we’ll see how it goes. Categories: general tech, Javascript
Country #4 : United States of AmericaIt's been fairly slow on this site for a while and I haven't really been able to respond to everything I should be responding to. Let me tell you something about the reason for that! I guess I just can't stop moving countries. Besides my homecountry the Netherlands I've lived in Santo Domingo, Dominican Republic, Stockholm, Sweden, London, United Kingdom. Next up is Sunnyvale, California. And... Barack Obama has just won the USA elections so... hello America!!! 6 days from now I will be moving the United Kingdom after well over 1.5 years of having an awesome time for yet another exciting destination: California. For some reason life just doesn't allow me to stay in the same country for a very long time and guess what? I'm loving it! I suppose my 'globetrotter lifestyle' has it's pros and cons but at least I won't have to have regretful thoughts about my life having been boring when I'm old. The USA will be the fourth foreign destination I'll be calling home in less than a week and I'm pretty damn excited about it. After having had a great time working for Yahoo! Europe in London, the Yahoo! mothership in Sunnyvale California was calling and I couldn't ignore its voice. I've done great things in London. I worked on all EU Yahoo! homepages, both the current ones as well as the brand new 'Metro' project which is currently in what we call 'bucket testing'. While it's been great working on the largest internet portal in the world I felt it was once again time for a change and time to broaden my experience in huge scale internet productions. I'm extremely excited about joining Yahoo!'s i18n Tigers team based at the Yahoo! headquarters in Sunnyvale California where I'll be working on internationalizing and localizing Yahoo! properties in order to make them work for the non-English speaking world. Exciting aspects of this new job are continuously changing projects, gaining experience with internationalization and localization and working with an even larger amount of amazing people than I've worked with so far in London. Don't be fooled by the stuff you read on sites such as Valleyway, there are still truckloads of amazingly talented people working for Yahoo! and I'm still as proud to be part of it as I was when I got hired in April 2007. I'm also looking forward to working more closely with the YUI team to include my YUI AccordionView widget in the official YUI distribution and to contribute more to the brand new YUI 3 with which I've already worked extensively in the past 6 months. It's gonna be a blast, I have no doubt. It does however mean things will remain a bit slow on this site for a few more weeks. Please bear with me while I once again make a transatlantic move! Stay tuned. I'll be back soon! To all my dear friends in the London and Munich Yahoo! offices: I'll miss you all dearly. Hang on in there and... stay in touch!!! Categories: Javascript, php
|