yet another blog about computer, technology, programming, and internet

Sunday, June 29, 2008

Internet Time Machine

Sunday, June 29, 2008 Posted by Ismail Habib 18 comments
Remember my post about Google and Yahoo From The Old Time? You didn't think that I made those screen capture from long time ago, did you? Well, in fact I didn't. Going back in time is surely not possible, at least not for now. Luckily, a website called Internet Archive WayBack Machine allows us to blast to the past and surfing through the Internet in the past. The idea is simple, it crawls web pages and puts them into archive. Obviously, it's not possible to archive every single web site running out there, but their attempt is quite incredible. Up until now, they claimed to have around 85 billion web pages archived from 1996.

You could access the WayBack Machine directly from the website or use the button for browser by drag-and-drop this link: Wayback to your browser toolbar. Enjoy the past.

Saturday, June 28, 2008

New Blog Name and Domain

Saturday, June 28, 2008 Posted by Ismail Habib 14 comments
Today is quite a day for me and my blog. I decided to change my blog name from a programmer's thought into a computer geek's blog. The reason is because the old name is not so relevant with the content of my blog. Thus, instead of focusing in programming-related post, I can freely put anything as long as it has something to do with computer *wink*.
The domain is also changed. I used to use a subdomain from blogger habsq.blogspot.com, but then a friend of mine (yes, even a computer geek has friends) told me that it is better to use a domain of my own. Finding the right name for my blog is quite painful experience. Most of the name I thought has already been registered, especially because I prefer to have a .com or .net extension which sounds much cooler than those with .us or .info for example ;) Ultimately I decided to use the name www.geekyblogger.com which doesn't sound too bad, don't you think so? I used NameCheap to register and it's quite cheap since I used a promotion code “ROSEMONTH” (thanks to Qiqinofa). So, please be nice to me and update your bookmark will you?

I will keep my hosting in blogger until I decide that I really need my own hosting for this blog. For now, enjoy my blog!

Tuesday, June 24, 2008

Modifying Google Translation Button to Open Translation in New Tab/Window

Tuesday, June 24, 2008 Posted by Ismail Habib , , , 61 comments
The translation button from Google has proved to be very useful in most situation (by me), especially since the language detection was introduced. However, I feel that there is something lacking. The problem is that the translation generated replaces the current active window/tab while sometimes I prefer to have another window/tab open. The translation button itself is a JavaScript, so we can play with is just a little bit. Here is the original code for translation button (I use the code for translation into English):

javascript:
var t = ((window.getSelection&&window.getSelection()) || (document.getSelection&&document.getSelection()) || (document.selection&&document.selection.createRange && document.selection.createRange().text));
var e = (document.charset || document.characterSet);
if (t!='') {location.href='http://translate.google.com/translate_t?text=' + t + '&hl = en&langpair=auto|en&tbb=1&ie=' + e;} else {location.href='http://translate.google.com/translate?u=' + escape(location.href) + '&hl = en&langpair=auto|en&tbb=1&ie=' + e;};

In order to make the translation to be opened in a new window/tab, we just have to make a bit change in it:

javascript:
var t = ((window.getSelection&&window.getSelection()) || (document.getSelection&&document.getSelection()) || (document.selection&&document.selection.createRange && document.selection.createRange().text));
var e = (document.charset||document.characterSet);
if (t!='') {var myWindow=window.open('http://translate.google.com/translate_t?text=' + t + '&hl=en&langpair=auto|en&tbb=1&ie='+e,'Translation','')} else
{var myWindow=window.open('http://translate.google.com/translate?u=' + escape(location.href) + '&hl=en&langpair=auto|en&tbb=1&ie=' + e,'Translation','')};

If you hate this kind of stuff, just drag and drop the link below to your browser toolbar:
Translate to English

I hope this is useful. Please let me know if you have a better idea. Obviously, any questions are welcome.

edited: thanks for the suggestion

Related Posts

Sunday, June 22, 2008

ScribeFire: A Must Have Firefox Addon for Blogger

Sunday, June 22, 2008 Posted by Ismail Habib , , 16 comments
For the last two years I blog with mostly the same procedure. Open a word processor, write my article, find/create related pictures/videos, collect all required references, login to my blog account, copy-paste my article, format my article, upload/link images/videos, and publish it. Every blog-writing-cycle requires an enormous browsing, tab-switching, and some boring stuffs.

I finally change the way I blog after two years of blogging, and its all thanks to ScribeFire. ScribeFire is an addon for the Mozilla Firefox Web Browser (which just reach the third version, in case you don't know) that let us to enhance our blogging experience. ScribeFire integrates the blogging capabilities with the browser. Posting, editing, and categorizing posts in your blog could be done much faster than usual.



Some reasons why I really love ScribeFire are:
1. I don't need to login or open any web site just to start posting
2. ScribeFire split my browser display which allows me to write and read website in parallel
3. Copying links or pictures is as easy as drag and drop
4. Works on multiple blogs
5. Compatible with many blog services, including blogger and wordpress
6. Creating links to my other posts (which I did a lot) is very easy and fast
7. Compatible with Firefox 3 ;)

So, are you a blogger? If yes, don't miss this great stuff!

Monday, June 16, 2008

Wireless Sensor Network and Intelligent Transportation System

Monday, June 16, 2008 Posted by Ismail Habib , , 16 comments
This is the third article related to Intelligent Transportation System. You can see the first and second article first if you like to.

It is widely known that knowing the position and speed of the vehicles on the road network in real-time is one of the major challenges that vehicle control and traffic management applications are facing [2]. Wireless Sensor Network (WSN) is considered as a potential technology that might be useful as an infrastructure component of an ITS since it received significant attention in the last decade and successful research put them in the forefront to answer this challenge [2].

A wireless sensor network is a collection of nodes organized into a cooperative network. Each node consists of processing capability (one or more microcontrollers, CPUs or DSP chips), may contain multiple types of memory (program, data and flash memories), have a RF transceiver (usually with a single omni-directional antenna), have a power source (e.g., batteries, solar cells), and accommodate various sensors and actuators. The nodes communicate wirelessly and often self-organize after being deployed in an ad hoc fashion [1]. It is an infrastructure comprised of sensing(measuring), computing, and communication elements that gives the user the ability to instrument, observe, and react to events and phenomena in specified environment. The environment can be the physical world, or a biological system [3].

Currently, wireless sensor networks are beginning to be deployed at an accelerated pace. It is not unreasonable to expect that in 10-15 years that the world will be covered with wireless sensor networks with access to them via the Internet. This can be considered as the Internet becoming a physical network. This new technology is exciting with unlimited potential for numerous application areas including environmental, medical, military, transportation, entertainment, crisis management, homeland defense, and smart spaces [1].

Some typical applications of Wireless Sensor Network are tracking, monitoring, and controlling. In a typical application, a WSN is scattered in a region where it is meant to collect data through its sensor nodes. Existing and potential applications of sensor networks include, among others, military sensing, physical security, air traffic control, traffic surveillance, video surveillance, industrial and manufacturing automation, process control, inventory management, distributed robotics, weather sensing, environment monitoring, national border monitoring, and building and structures monitoring [3].

Key Technology

The basic functionalities for WSN depends on the application, which in this case is ITS. There are several type of sensor parameters, including: physical measurements, chemical and biological measurements, and event measurements. In ITS, the most important features are the vehicle states, which includes position, speed, direction. Other possibility of feature is classification, for example: is a vehicle in traffic a car, a truck, or a bus? Some possible sensors for ITS includes magnetoresistive, light, pressure, and video (visible or infrared).

As for the transmission part, there are several wireless transmission technologies available. WSN can use some wireless technologies such as Bluetooth, ZigBee, Wireless LAN, WiMax, and 3G. The requirements of communication are related to the implementation of ITS. Some properties that have to be put into considerations are: range of communication, data throughput, and power consumption. In term of range, 3G covers the longest range, continue by WiMax, Wireless LAN, Bluetooth and Zigbee. Theoretically all those technologies are useful for ITS, however it is all depend on the topology and implementation of the system.

ITS typically does not involved a high data rate communication, however if the system requires a responsive, real-time communication then using ZigBee is arguably not very suitable since it data rates is as low as 20 kbps. However, it is designed to run several years on a single set of batteries [3]. Bluetooth offers approximately 1 to 3 Mbps and Wireless LAN have a maximum data transmission rate of 54 Mbps, but none of them as energy-efficient as ZigBee.

Each sensor node needs an operating system which capable of controlling hardware, provides hardware abstraction, and fill in the gap between application and hardware. TinyOS is one of the de facto standards of operating system designed specifically for WSN. It component library includes network protocols, distributed services, sensor drivers, and data acquisition tools. TinyOS’s event-driven execution model enables fine-grained power management, yet allows the scheduling flexibility made necessary by the unpredictable nature of wireless communication and physical world interfaces [3]. Some of its advantages are [3]:
  • It requires very little code and a small amount of data
  • Events are propagated quickly and the rate of posting a task and switching the corresponding context is very high
  • It enjoys efficient modularity
[1] California PATH. Vehicle Platooning and Automated Highways.
[2] J. Sijs, Z. Papp, P.P.J. van den Bosch. Vehicle Motion-State-Estimation Using Distributed Sensing. 2007
[3] Kazem Sohraby, Daniel Minoli. Wireless Sensor Network. 2007

Related Posts

Tuesday, June 10, 2008

Google and Yahoo From The Old Time

Tuesday, June 10, 2008 Posted by Ismail Habib 10 comments
Ever wonder how Google and Yahoo looks like years ago?

Here they are:

Google (1999)


Yahoo (1997)
Notice that Google has removed the "!" while Yahoo still keeps it. It also quite funny to see how Google feels that it is necessary to explain "Why use Google" :)

Sunday, June 08, 2008

Creating Thumbnails from a Video

Sunday, June 08, 2008 Posted by Ismail Habib , 16 comments
Usually when you want to share a video, people often ask for screenshots. Sometimes it is better to give several small thumbnails rather than just one big screenshot. This simple tutorial will tell you how to do such thing with ease.

First, you will need the Media Player Classic (MPC). It is a free software that you can get from sourceforge. If you are using Windows XP then you just have to download it here.

Now you already have the MPC, follow these instruction:
  • Extract the zip file and run the mplayer.exe
  • Open the video you'd like to use as a source
  • Click on File -> Save Thumbnails

  • On the dialogue box, specify your output filename and type (jpg or bmp). You can also specify the number of thumbnails you want to make by setting the number of rows and colums. You can also specify the witdh of the output file.
  • Press Save and leave everything else to MPC
  • Now you have your thumbnails

Important note:

If you get the error message "Get Current Image Failed, hr = 8000ffff", do this following:
  • Click View -> Options
  • Open Playback -> Output

  • Change the DirectShow Video from Overlay Mixer to anything else (I have tried VMR7 windowed and VMR9 renderless and it's work perfectly)
  • Click OK
  • Restart your MPC

Thursday, June 05, 2008

Why Linux? Why Not?

Thursday, June 05, 2008 Posted by Ismail Habib 15 comments
The Linux Operating System (or should I say GNU/Linux) obviously has become a quite popular alternative to Windows. This site describes 24 advantages of using Linux compared to Windows in a quite eye catching fashion. While some minor point such as "get a great music player" or "keep an eye on the weather" might not be absolutely true, however I mostly agree with most of the description. The information provided is clear, pretty objective (it even mentions some reason why you should stick to Windows), easy to understand, and (this is why I like it so much) simple-yet-deep-enough. Em, am I being contradictive?


If the list is not long enough then I will suggest you to check another 101 reasons why Linux is better than Windows (even though so far it's only 54)... and NO, I'm not a fans of Linux or whatsoever. In fact, after read those articles (and some counter articles) I decide to install Linux on my computer today!

Automated Highway System (AHS)

Thursday, June 05, 2008 Posted by Ismail Habib , , 27 comments
One of the most exciting part of Intelligent Transportation System (ITS) is Automated Highway System (AHS). AHS is a way to reduce the congestion in highways. The idea is improving traffic flow and safeties by applying intelligent and automation in driving system. Autonomous control of driving tasks was considered to substantially improve the traffic flow.

The most interesting feature of AHS is a concept of group of vehicles arranged in a relatively small-fixed distance called “platoon”. Platooning is possible when every vehicle is equipped with intelligent and automation which allows smooth merging, lane changing and splitting maneuvers in a way that is advantageous to the highway performance.


platooning (taken from: www.its.go.jp)

Since platooning enables vehicles to operate much closer together than is possible under manual driving conditions, each lane can carry at least twice as much traffic as it can today. This should make it possible to greatly reduce highway congestion. Also, at close spacing aerodynamic drag is significantly reduced, which can lead to major reductions in fuel consumption and exhaust emissions. The high-performance vehicle control system also increases the safety of highway travel, reduces driving stress and tedium, and provides a very smooth ride [California PATH].

As mentioned above, an AHS requires every vehicle to be both intelligent and to some extent, automatic. This is where the Intelligent Vehicle (IV) takes its role in AHS.

IV is considered as a new technology for obtaining a more efficient driver-vehicle operation. It is meant to improve safety, operational efficiency, and convenience while driving. An IV system senses the environment around the vehicle by using sensors and strives to achieve more efficient vehicle operation by assisting the driver or by taking full control of the vehicle. Obviously, the ideal system for AHS is where the IV has fully autonomous system. In other words, the systems should remove human intervention from the control and therefore take the entire control functionalities of vehicle operations.

Related Posts

Monday, June 02, 2008

Brainstorming: Designing an Intelligent Transportation System (ITS)

Monday, June 02, 2008 Posted by Ismail Habib , , , 11 comments
Growth in congestion, as well as the difficulties in constructing new infrastructures has lead into a research in Intelligent Transportation System (ITS). The advances in sensing technologies, computer hardware and software, etc are also become additional motivation in this field of research. Automatic Highway System (AHS) is one of the most interesting topic. Its main idea: platooning is believed to be able to improve highway throughput without having to ignore the safety but instead improving it.

It is widely known that knowing the position and speed of the vehicles on the road network in real-time is one of the major challenges that vehicle control and traffic management applications are facing. Wireless Sensor Network (WSN) is considered as a potential technology that might be useful as an infrastructure component of an ITS since it received significant attention in the last decade and successful research put them in the forefront to answer this challenge. WSN itself is an exciting technology with unlimited potential for numerous application, including tracking, monitoring, and controlling.

A distributed paradigm is the most suited approach to implements an ITS. While it is naturally distributed (spatially) and consisted of various components, which may range from several to thousands number of components (scalability issue), it is also relatively complex. Not to mention that by distribute the implementation accordingly, a certain level of reliability could be achieved more easily. Dynamic components in ITS are implemented as agents. Instead of rely heavily in modeling the process, agent-oriented paradigm offers a higher abstraction compared to the object-oriented paradigm. Agent is an autonomous entity that behaves according to its perception of the environment and its knowledge. In most cases, one agent is not enough to form the expected system. Therefore, a Multi-Agent System (MAS) is required.

Since there is no formal method to test a distributed system, the only way to do it is by using a simulation. An engine that capable of simulating any dynamic behaviors is required. Using multi-agent approach as it concept, a researches is allowed to decomposed a big system into intelligent entities with specified behaviors. In a traffic system problem domain, some entities could be considered as agents: car, driver, traffic controller, etc depending on the modelers themselves.

The simulation of an ITS system might not be complete without the introduction of human behaviors. However, human behaviors may vary for each individual or culture. Investigating the difference in culture might be interesting not only in describing the human part of the system but also to parameterize some characteristics of controllers.

Related Posts