J.me

Responsive layout testing

While working on a responsive website, testing it could be tricky. The usual way (and effective) is to resize the browser window and there’s many plugins on the browser that do just that. Another way is to use an available tools on the web, many of these are awesome, like The Responsinator and Screenqueri.es. Another one that is also my favorite is RWD Bookmarklet by Victor Coulon.

These were all cool and I frequently used it. However, these tools were made for testing on mobile and tablet display resolution, what if, you want to test a laptop or desktop resolution as well? In my case, I have 1280×800 laptop, so I never knew how the website will look on higher resolution screen. There’s also many display resolution on mobile now to consider, not just iOS resolution.

And so I created a simple tool to test responsive website, with a wide range of resolution to select, from mobile to tablet to desktop. Also HDPI display is common now, so I added a device pixel ratio selection that calculate the effective resolution. For example, Motorola RAZR have QHD display with pixel ratio of 1.5, so the effective resolution is actually 640×360, that is the resolution the phone display on it’s browser.

Feel free to use the tool here: responsive.jeffri.net

A little bit of disclaimer, I don’t store any data from your usage. There’s no trip to the server when you use it, at all. πŸ™‚

Hope you find it useful! Cheers!

The Basics to Write a Secure PHP Web Application

Securing your application is the most important things when building an application. This is the basic that every programmer should follow, it’s a must. However, sometime programmer might forgot the basic, and the more complex your application is, the harder it is to maintain and looking for security holes. While securing your application doesn’t mean that you will be totally safe from a hack, since there is many factor of why a web can be hacked, but reduce the possibility is always a good practice.

This article will give you walkthrough on the basics of creating a secured PHP application. I will give some step by step to filtering input, keep your code up to date and standard. I’ll also give you some good practice I always do.

ZN5 Backup Tools 1.0

Here is my ZN5 version of Backup Tools.

Even though it used the same name as my E2 version, the code is completely different. I rewrite the code to make sure it would worked well in my ZN5. This is written in Bash and requires showQ and showRadio. So any modded firmware should be able to run this. In addition, you need to have Mgx Box, MPKG Box, or similar software to install MGX.

I just added some basic features for the backup and restore. The backup file is stored in tar archive and the file name is generated by date. By default, the backup file is stored in /mmc/mmca1/backup, you can change it anyway.

It support backup and restore following data:

  • Contact, SMS, and other related data stored in /ezxlocal/sysDatabase/main.db
  • Menu Tree
    this should work only on the same firmware, so it is useful when you want to try a new firmware and then return to your old firmware, you restore this file and your menu tree will still the same as before you flashed
  • Web Profiles
  • Settings
    I would recommend you to restore this on the same firmware, although it might worked fine to use the backup for the other firmware

The best feature it has is it support multiple backup. So you can choose to restore backup from any date you want (as long as you have the backup). πŸ™‚

Download

If the download didn’t work, try to right click and choose save link as (or other similar option in your browser).

Hope you find it useful. Cheers… πŸ™‚

Any comments, suggestions and bugs report are welcome. Thanks.

Installing Aptana Studio on Ubuntu 9.04

aptana

Aptana Studio is a powerful IDE for web development. It supports HTML, CSS, Javascript and the server side script such as PHP, Ruby and Python. Even more, it support a wide variety of Javascript library. It based on Eclipse and available as a standalone application or as a plugin for Eclipse. Aptana Studio is available on Windows, Mac and Linux. And the best of all is, Aptana Studio is free. Here I will post how I install the recent version of standalone Aptana Studio, 1.5, on 32 bit Ubuntu 9.04 Jaunty Jackalope.

First of all, download the Aptana Studio on http://www.aptana.org, choose the Linux and 32 bit version, or change it accordingly to suit your machine. Before we start installing the Aptana Studio, we need to ensure we have installed the sun-java6-jre and sun-java6-plugin. To do that, simply type this in terminal

Developing a PictureFLow widget application

Now I can get the PictureFlow source files compiled, I started to create an application based of this widget. The PictureFlow widget is originally created by Ariya Hidayat and ported to our Linux phones by the well known member of MotorolaFans, blackhawk (aka Ketut P. Kumajaya). The project page is in http://code.google.com/p/pictureflow/, also the original thread is inΒ here. Thanks to both of them, know I can create some awesome application with it. For the begining of this project, it will be still image viewer with some more features added. The name of this application will be decided when the beta is ready. πŸ˜‰

Autorun Manager from Revival project

While we doing Revival project a little while ago with arctu, Taurnil, and others, we actually have working hard for some cool application for our E2. This project, unfortunately have been aborted since all of us have no time to continue it. One of the application I made, the Autorun Manager is one of the hardest application I have ever made. This application used PHP as its programming language and use arctu’s show* binaries as the GUI. Since the project stopped, I think I need to release it as standalone application that compatible with most monster pack out here.

Why PHP? Because it is fast, more than Bash. The meaning of the fast, is the speed while processing data and not the GUI speed, since show* binaries is fairly slow. So, with PHP, I can made more data processing while not sacrificing the speed. It is also more flexible.