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

Showing posts with label Software. Show all posts
Showing posts with label Software. Show all posts

Saturday, January 07, 2012

Software of the day: Fence

Saturday, January 07, 2012 Posted by Ismail Habib , 39 comments

Fence is a software created by Stardock that helps organize icons/files in your Windows's desktop. Basically what a user can do is to create a "fence" (kind of group) and associate icons of your choice into it. The fences are blocks that does not enlarge/shrink according to the number of icons/files you put there, but instead the size are determined by the user themselves. Thus, no matter how many icons/files you have, it will still look like it's very well organized ;)

For someone like me who loves to put everything in desktop (who doesn't?), Fence is a must-have-tool. Quite often I put something that I would need immediately, but most probably wouldn't be for long in the desktop. Fence help he organize it so that in the future it is very easy to find find and remove them. Another nice thing that I like: Fence does not separate the icons in different fences to actual different directories, so it does not mess up the files location.

Fence is free, and if you want more features, they have a paid version for it as well.

screen shot was taken from Fence website

Saturday, June 19, 2010

Pairing Google App Engine with Other(s)

Saturday, June 19, 2010 Posted by Ismail Habib , , , , 18 comments
I discovered Google App Engine (GAE) just a couple months ago and immediately attached to it. The idea of having a web application platform which is easy to use (no sys-admin thingy, just concentrate on developing), scalable, and free (up to a certain limit). Without even realizing (okay, I'm exaggerating), I ended up with a project where I paired up GAE with another server. Well, not necessary a server, but any kind of machine that provides something extra to GAE. At first I wasn't so sure that this is a good idea, however, in the end I was convinced that this is the best solution that I can come up with.


1. GAE's power vs GAE's limitation

With great power comes great responsibility. With cool features come some restrictions. It's a trade-off, ying and yang. I'm a Java programmer so I care mainly about the Java version of GAE. In GAE, not all Java features is available. Things like creating thread and writing to file system are not allowed in GAE. GAE also doesn't have persistent running process and every task should be finished in 30 seconds or less. Despite that, you might still want the GAE power. Why not using both?

2. Scalability is not entirely necessary, but still needed in some part

As I mentioned in the first paragraph. Scalability is one of GAE virtue. We can have a part of our application which requires high scalability to be deployed on GAE. Another part of the application that could not be necessarily scalable may reside on the other server. I could imagine this setting where GAE serves as an interface to outside the system and/or as a storage while the other server responsible to do things that GAE specifically couldn't do due to its restrictions.

3. It will be pure GAE in the future

For one or more reason, we can't have a pure GAE solution. It might be because the application is migrated from other technology and require some more time to be ported, or that the current GAE is not yet capable, but will be in the future (see GAE road map). It might be a good decision to start doing things in GAE if we believe that the future is on GAE, thus investing some resources now instead of doing it later (which will cost more without a doubt).

What do you think?

Friday, April 23, 2010

Drawing Circle on Google Maps using GWT

Friday, April 23, 2010 Posted by Ismail Habib , , , 50 comments
I was a bit surprised to realize that Google Maps API does not provide us with a circle overlay. Oh well, I believe they will do that someday. As for now, we just have to be satisfied with what we have.

We can do this in two ways. Drawing circle is easy. By using an image of circle and stretch it to the right size, or by using Polygon Overlay and approximate a circle. The most difficult thing is we have to be able to do transformation of points to latitude/longitude coordinate. No need to reinvent the wheel, somebody else have pointed out how to do this kind of things. Check out these two links:
Drawing circle on Google Maps with an image
Drawing circle on Google Maps with an approximation (using Polygon)

However, these two codes are written for JavaScript. I'm using the knowledge provided by both to rewrite it for GWT. I'm using the approximation method, but it should be easy for you if you want to use image instead of Polygon.

public void drawCircleFromRadius(LatLng center, double radius,
   int nbOfPoints) {

 LatLngBounds bounds = LatLngBounds.newInstance();
 LatLng[] circlePoints = new LatLng[nbOfPoints];

 double EARTH_RADIUS = 6371000;
 double d = radius / EARTH_RADIUS;
 double lat1 = Math.toRadians(center.getLatitude());
 double lng1 = Math.toRadians(center.getLongitude());

 double a = 0;
 double step = 360.0 / (double) nbOfPoints;
 for (int i = 0; i < nbOfPoints; i++) {
  double tc = Math.toRadians(a);
  double lat2 = Math.asin(Math.sin(lat1) * Math.cos(d) + Math.cos(lat1)
    * Math.sin(d) * Math.cos(tc));
  double lng2 = lng1
    + Math.atan2(Math.sin(tc) * Math.sin(d) * Math.cos(lat1),
     Math.cos(d) - Math.sin(lat1) * Math.sin(lat2));
  LatLng point = LatLng.newInstance(Math.toDegrees(lat2), Math
   .toDegrees(lng2));
  circlePoints[i] = point;
  bounds.extend(point);
  a += step;
 }

 Polygon circle = new Polygon(circlePoints, "white", 0, 0, "green", 0.5);

 map.addOverlay(circle);
}

Tuesday, March 23, 2010

Forcing a Screen Setting in Windows 7

Tuesday, March 23, 2010 Posted by Ismail Habib , 16 comments
I was trying to install a new screen on my laptop when I realized that it was not as easy as I expected. This screen was huge (compared to my laptop's screen) with a very high resolution (1920x1080) setting suggested. However, with 1920x1080, the only refresh rate available is only 29Hz and 30Hz, which would make my screen looks very flickeringly sharp (I don't even know if it is a word). Updating the driver of my VGA card and the screen doesn't help at all.


The fix was surprisingly easy and funny though. I went to the Screen Resolution adjustment, clicked on the "advanced" link. Open the "Monitor" tab, and unchecked "hide modes that this monitor cannot display". The available modes then changed, and I picked 60Hz as the refresh rate. Things went went from that moment on.

Moral of this story: sometimes you are allowed to force your Windows to do something, especially when it underestimating your expensive hardware :P

Tuesday, November 24, 2009

Changing Screen Resolution in Ubuntu under VirtualBox

Tuesday, November 24, 2009 Posted by Ismail Habib , , , 15 comments
This problem has caused me a relatively severe headache today. I'm doing a project which require me to use a Linux OS. Since I don't have Linux in my office PC, I decided to install one (Ubuntu 9.10) in a VirtualBox instead of creating a double booting configuration. The installation procedure was easy and painless, but then the problem is coming. The installed Ubuntu does not have any option to increase the screen resolution other than 800x600 and 640x480.

I tried to install the suitable driver with no result except destroying my X Window which forces me to reinstall the Ubuntu again (thank God I use virtual machine...). Then I started looking around for a solution and several forums and websites point me to this:

  • Choose Devices -> Install Guest Additions... on the VirtualBox menu
  • It will mount a CD which will appear on the Desktop
  • Go to your terminal (Applications -> Accessories -> Terminal)
  • Go to the CD directory by typing "cd /media/cdrom0" (without the quotes)
  • Type "sudo sh ./VBoxLinuxAdditions-x86.run", again, without the quotes. At the first try I couldn't find this file instead just a directory "OS2". If you experience the same thing, this is probably because you set your VirtualBox OS type as "Ubuntu" instead of "Linux 2.6". In this case, shut down your VirtualBox, change the OS type and redo the whole stuffs from the beginning
  • Restart your VirtualBox


Now, this has successfully gave me another resolution, which is 1024x768. Not bad, but I'm rather greedy and I want something more! (Hey, my PC could do better!). Continue with this:
  • Go to the terminal again
  • Edit the xorg.conf by typing "sudo gedit /etc/X11/xorg.conf" (yes, no quotes)
  • If you can find some already existing screen resolution, then you can add more, otherwise you can include something like this:
Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        DefaultDepth     24
        Subsection "Display"
                Viewport   0 0
                Depth     24
                Modes     "1280x1024" "1024×768"
        EndSubSection
EndSection

  • Be really careful when you're doing this. It is always nice to make a backup beforehand
  • Restart your VirtualBox and enjoy the new screen resolution


Reference:
1. http://www.mikesouthby.co.uk/2009/11/virtualboxubuntu-9-10-changing-screen-resolution/
2. http://www.mjmwired.net/linux/2009/09/15/default-xorg-resolution/

Thursday, December 25, 2008

Game of Imagination

Thursday, December 25, 2008 Posted by Ismail Habib , 28 comments
It has been a while since I wrote my last post and losing my internet connection (followed by losing the enthusiasm of writing). Anyway, here I am trying to write something again and it's going to be something fun, yups: it is about a game, to be precise: games.

A friend of mine posted this video about a game called: Crayon Physics Deluxe. I took a peek on it, and fell in love at the first sight. Crayon Physics Deluxe is a puzzle game where we have to solve a problem (mostly to guide a ball to a star) using physics rules, kind of remind me of the old-nice Incredible Machine which I played a long time ago. However, the difference (and the most interesting part) is that Crayon Physics Deluxe allows the user to create objects freely using a "pen" and transforms them into world objects which automatically follow the physics rule. Take a look at this cool video on their website:




It looks like a very nice game, but I'm not a type of guy who's willing to buy something just because it looks nice :) I tried to get more information and trial version of the game which eventually leads me into an another game called Zany Doodle, which luckily offers a trial version of the game. I tried the game and enjoyed it very much even though I only use a normal mouse instead of a touchscreen (which I believe will increase the game experience heavily). Moreover, I found out that the Crayon Physics Deluxe is actually originated from the free game Crayon Physics which is developed by the same person. However, the free Crayon Physics is nowhere as good as its paid counterpart, not even better than the free trial of Zany Doodle since it cannot create objects like a triangle or just a random line.

Should I say anything more? Just download the Crayon Physics here and the free trial of Zany Doodle here. Enjoy!

Monday, July 14, 2008

Family Tree Builder

Monday, July 14, 2008 Posted by Ismail Habib , , 36 comments
1. I have a big family which keeps on expanding
2. I live far away from most of them
3. I have terrible memory (being old and things like that... you know)

Those are my top three arguments why I sometime (or often) forget about things related to my family. Some examples: the date of my parent's marriage, my brother in law's birthday, or even the name of my one year old cousin. Now I'd like to say goodbye for all those fake arguments by introducing a geeky way to keep all family-related information in a sophisticated way: Family Tree Builder.


Family Tree Builder is a genealogy software (for Windows only) which can be downloaded for free at http://www.myheritage.com/family-tree-builder. I like this software a lot, especially since it offers some nice features such as: integration with myheritage.com (allows me to share and let others review the information on the web, though without capability of multi-user editing), photograph for every family member (and events), event reminder (birthday, marriage, etc), and also possibility to input unsure information for date (i.e. birthday around January 1982).

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

Tuesday, May 27, 2008

Echochrome: Not Just Another Game

Tuesday, May 27, 2008 Posted by Ismail Habib , 5 comments
Even though I'm not a real gamer, I still like to follow the development in the game world. From what I see in the recent years, the development of games is a bit stagnant. It's true that in matter of graphics we have been experiencing an incredible improvement. However, the types of game doesn't vary as much as I expected. A death in creativity?

If you also have a similar opinion, then you might be interested to know this game: Echochrome (Mugen Kairou). It is a game developed by SONY for the PlayStation Portable and PlayStation 3. Echochrome is a puzzle game involving a figure traversing a rotatable world where physics and reality are affected by perspective. What seems to be a impossible path is made possible by rotating the camera to the right angle. A hole will not have any effect when you cover it with another object.

This game based on OLE Coordinate System developed (an engine that determines what is occuring based on the camera's perspective) by Jun Fujiki. This engine made it possible to constraints movement not only by 3D coordinates but also by the position of camera as well.

Take a look at the trailer below and I hope you will enjoy it as much as I do :)

Thursday, May 08, 2008

Google Translation Now With Language Detection

Thursday, May 08, 2008 Posted by Ismail Habib , , 14 comments
It is a bit surprising that only 3 days since I post about Creating a One-Click Web Page Translation Button, Google Translation now includes another cool feature: language detection. So, instead of picking source and destination language now you can just select the destination language and let Google decides the source language. You can update the translation button here. You might also notice that the number of supported languages has increased quite a lot. The number of possible translation also increased drastically from 31 pairs to more than 500 pairs!

Related post

Tuesday, May 06, 2008

Monday, May 05, 2008

Creating a One-Click Web Page Translation Button

Monday, May 05, 2008 Posted by Ismail Habib , , 65 comments
For someone like me who live in a foreign country with unfamiliar language, a translation tool is everyday necessity. My favorite tools for web translation so far are Google Translation and Altavista's Babelfish. However, I feel a little bit uncomfortable when using them in my usual way. It is because the process is too long and not straightforward.

Usually the sequence of web translation is like this:
1. Open a website with unfamiliar language
2. Copy the website's URL or the specified texts to be translated
3. Open web translator tool, paste the URL or the texts
4. Translate it

The sequence is not natural, what I really want to do are:
1. Open a website with unfamiliar language
2. Translate it (or select some texts and translate it)

I tried some extensions for my browser. Mostly the extensions are too sophisticated and complicated, while what I need is just a simple tool. After a bit of searching, I found that Google actually have the tool that I need, and it is very simple. Just go to here (I'm using English as my base language) and you will see this:


Drag the translation button you need to the browser's toolbar. Now you have the translation button. To use it, you just need to open a website and click the translation button, or select some texts before do so.

Related post

Sunday, May 04, 2008

Portable Applications

Sunday, May 04, 2008 Posted by Ismail Habib , 5 comments
Are you working with several computers? Do you have some favorites application that is not available at your workstation? Do you have problem on installing your software because you don't have the priviledge to do it?

If you at least have one question answered yes, you probably will like portable applications. Portable Applications is just like another applications, except that they are... portable. It is designed to fit on your flash disk, iPod, external drive, or whatever. It involves no installation at all, no set-ups, no registry changes, and no whatsoever. Imagine all your favorite software in a single flash disk, you can pick any PC to work with, and still you have all the applications you need.

The applications are vary from Operating System to games, which virtually means that you have everything there. You can use Notepad++ for your editor, XAMPP for web developers, GIMP for image manipulation, FileZilla FTP Client, the amazing Mozilla Firefox, a complete OpenOffice suite, and many other things. You can check out the list of portable applications on wikipedia or on portable applications website, and yes, there's still a ton of applications that aren't on the list. You might want to check out the portable applications suite as well, a package that includes a set of commonly used applications.


Since Portable Applications are usually a modification from its conventional counterpart, it is only possible for applications in open source license. Commercial licenses in general won't permit any redistributions. Free applications with commercial license on the other hand permit redistributions, but not modifications. So most of the time you will find portable applications as a free, open source applications. Not bad at all.

Altough I'm not working with so many computers, I still found that portable applications are very useful. Its characteristics (not require any installation, leaving almost no "footprint") are remind me of a old-good days of the famous Disk Operating System (DOS). No installation required, and even if there is, most of the time it is just the same as copying a bunch of files to harddrive and that's all. Even uninstalling is just a simply files removal. No traces left. A clean and simple solution. Just love it.

Image taken from: http://portableapps.com/
Inspired by: http://brahmasta.net/2007/03/14/aplikasi-portabel/ (Indonesian)

Thursday, May 01, 2008

Google Analytics, a Tool for Bloggers and Webmasters

Thursday, May 01, 2008 Posted by Ismail Habib , 13 comments
At my early days of blogging, I had a doubt whether there are some people over there actually read my blog. Thus, if that is the case, how did they know about my blog, where are they come from, and what did they read? I think this is quite common questions for blogger or webmaster.

Google Analytics answers all of those and even some more unthinkable questions. It provides a nice package of web analytics including:
  • number of visitors and pageviews
  • bounce rate
  • average time spend on your site
  • percentage of new visitor
  • location of visitor
  • source of your traffic
  • detailed information about content
  • keyword used to reach your site
  • and many many many more

It wrapped nicely by google with a simple but nice interface (considering the number of features you get) and on top of that it is absolutely free! Are you using adwords? Then this tools also might come in handy, even though I don't know exactly how it works since I don't use adwords (yet). You can even customize your own goals in your blog/website. I believe those features will fit really nicely for a blogger/webmaster who really want to improve their website, or for people like me who enjoy playing around with statistics of my own website ;) Hey, I got a visitor from Moscow!


You can even put more than one website into this webmaster tools, as long as you really own them of course :) Google Analytics require us to put a tracking code into our blog/website (yea that is obvious).

If there is something lacking from Google Analytics then it must be because it updates the statistics on a daily fashion. For me, it is not that important to have a real-time statistics. However, a daily updates still seems too long. Let's just wait if Google is willing to give a higher update frequency. Meanwhile, it is still very useful and fun.

Friday, April 18, 2008

Firefox Add-ons: Snaplinks and Linkification

Friday, April 18, 2008 Posted by Ismail Habib , , 10 comments
Two reccommended add-ons for your Firefox!

Snap Links allows users to easily open multiple links in new tabs by drawing a box around them. Links can also be opened in new windows, new tabs on a new window, copied to clipboard, bookmarked or downloaded. I mostly use it to (lazily) open multiple links into new tabs or as a replacement for a standard procedure: right click - open link in New Tab.

snap links screen shot

Linkification on the other hand, is a very simple yet useful add-ons. It converts text links into a genuine, clickable links. No more copy and paste to the address bar! I found it works perfectly with snap links...

Open this (Snap Links) and this (Linkification) if you are interested.

Tuesday, March 25, 2008

Fat and Good

Tuesday, March 25, 2008 Posted by Ismail Habib , 12 comments
Have you ever tried to create a "stand-alone" JAR file which requires another external JAR libraries? At least I have already encountered this kind of problem twice and I believe other people might have the same problem. Since Java JAR exporter doesn't allow us to do this then we might need external tools.

Some forums in the Internet offered a solution using an ant task. However this solution is not easy enough for someone like me who is a noob at Java and absolutely in a hurry (at that time). Good thing that I found Fat Jar. Fat Jar is an eclipse plugin that allow us to create a "stand-alone" JAR file which include all the external libraries. It is easy to install and to use, to an extent that you don't require any tutorial at all (in my experience). Thus, if you're an eclipse user I highly recommend this plugin. I even think it should be in the default package ;)

You can find Fat Jar here. It's fat and good :)

Wednesday, October 04, 2006

What is the Microsoft .NET Framework 3.0?

Wednesday, October 04, 2006 Posted by Ismail Habib , 3 comments
The Microsoft .NET Framework 3.0 (formerly WinFX), is the new managed code programming model for Windows. It combines the power of the .NET Framework 2.0 with four new technologies: Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), and Windows CardSpace (WCS, formerly “InfoCard”). Use the .NET Framework 3.0 today to build applications that have visually compelling user experiences, seamless communication across technology boundaries, the ability to support a wide range of business processes, and an easier way to manage your personal information online. This is the same great WinFX technology you know and love, now with a new name that identifies it for exactly what it is – the next version of Microsoft’s development framework.

from .NET Framework 3.0 Community

Monday, September 25, 2006

SharpDevelop 2 vs Microsoft Visual Studio Express

Monday, September 25, 2006 Posted by Ismail Habib , , 11 comments
For those who are thinking about whether you'd like to choose between SharpDevelop 2 and Microsoft Visual Studio Express Edition, here is a comparison table between those two.

Hope it's useful :)

Taken from here


FeatureSharpDevelop 2.1Visual Studio Express Editions
Code auto-completionYesYes
Code syntax highlightingYesYes
Windows Forms DesignerYesYes
Web Forms DesignerNoProvided with Visual Web Developer
Code CoverageYesNo
Unit TestingYesNo
Languages SupportedC#, VB.NET, BooC#, C++, VB.NET, J#
Help documentationNoYes
Plug-in supportYesNo explicit support for plug-ins however third party plug-ins can work with the Express edition.
Insert PInvoke SignaturesYesNo
Testing Regular ExpressionsYesNo
Class ViewYesYes
Solution ExplorerYesYes
Project and Solution File FormatMSBuildMSBuild
Web referencesYesYes
RefactoringsRenameRename, Extract Method
Go to definitionYesYes
Find ReferencesYesYes
Code generationYes. Not as powerful as Visual Studio's Code Snippet Manager.Yes
Object BrowserYesYes
Database ExplorerYes. Lacking support for many database providers.Yes
PublishingNoYes
Data Sources ViewNoYes
Add Data Source WizardNoYes
Document Outline ViewNoYes
ResourcesLocal onlyLocal and project
ActiveX Toolbox ItemsPartial - need to generate .NET interop libraryYes
Integrated debuggerYesYes
Targeting different .NET frameworksYesNo
Code Completion for different .NET frameworksYesNo
ReportingYesYes through the report viewer plug-in
Task ListYesYes
Error ListYesYes
Database Designer ToolsNoYes
Code conversionYesNo
Integrated NAnt supportYesNo
Integrated WiX supportYesNo
Integrated FxCop supportYesNo
Navigation HistoryYesYes
XPath QueriesYesNo
Incremental SearchYesYes
XML documentation preview and generationYesNo

Wednesday, April 26, 2006

Free C# Tools

Wednesday, April 26, 2006 Posted by Ismail Habib , 15 comments
Are you a C# programmer? I am. How much money did you spend to buy C# development tools? $100? $1000? OK, I'm happy to say that I spend none to it ;) Seriously, Microsoft gave us chances to develop C# applications without having to pay (of course you have to pay for the Windows, and by the way... it is not about piracy, so it is legal). While .NET Framework and the compiler are free to be distributed, programmers still need to buy Visual Studio.NET. But don't worry: Microsoft had released a version of Visual Studio that is totally free, even for commercial applications! And even better: you can try SharpDevelop, an open-source application that worked perfectly like Visual Studio.NET. Of course those two tools has several weaknesses... but hey, they are totally free! (I admit it, I'm crazy for free stuffs :P). Borland C# Builder could be one last alternatives since it has a personal edition (but no commercial application). So now it is up to you, free or pay?