Monday, February 13, 2012

The Ultimate Utility Toolset

Are you called from time to time to fix friends' / neighbors' / family's computers?
Do you then pull your good old collection of cds each one containing a different utility you might need?

Well, those days are gone!
Today you need only carry a nice 8gb flash drive on your key chain.

What will it contain?
  1. Download the latest hiren's boot cd (currently 15.1 but it gets updated every now and then) from your favorite torrent site.
  2. Follow these orders (in the link) in order to format and make your flash drive bootable.  
  3. Copy the contents of the hiren's boot cd into the flash drive (as mentioned in the link above).
  4. You have just created a bootable hiren flash disk (and for those who don't know, hiren's boot disk is the best rescue disk you'll ever need).
  5. Download the portable apps app, install it on your computer and download every app you find handy. This stage could take some time and could get to 5gb of downloaded no installer freeware.
  6. Add needed apps from here (which aren't included in the original site).
  7. Copy the 5gb portable apps directory into the flash drive.
  8. You now have in your flash drive a very large amount of apps which work out of the box and can be run on every computer even one which doesn't have internet access.
  9. Add your special apps you always keep in your special directory, those apps which are not included on hiren's install nor in the portable apps install.
  10. Throw away the heap of rescue and utility cds you treasured so much.

After following the above steps, you need to carry only this tiny flash disk (on your key chain?) and you will never get stuck with a scratched cd.


Monday, January 30, 2012

How to read Android apk contents

Lets say you want to read the contents of an android apk file.

Why?
Maybe it's yours and you want to be sure of the version, maybe you want to see if the code in that apk contains the latest feature you inserted. Or maybe it isn't your code but you want to check something with someone else's code (without breaking any license etc).

In a nutshell - What are the steps one should take in order to explore an apk file?

1. Only read the manifest contents of an apk:
Use the following command (make sure you have aapt.exe and the apk file on your path):
aapt dump badging XXYY.apk


2. You want to read all of the apk's contents:
Method A. Use the following tool: apktool

Method B. 
* Rename the apk file to .zip (instead of .apk) and extract the contents as you extract a zip file.
* The contents are yours for the taking now - except for the class files, in order to see the actual java code, use the following tool on the *.dex file: dex2jar
* In order to read the contents of the jar file (containing the java class files) use a decompiling tool: JD-Gui


Now any apk is open like a book!

Wednesday, November 23, 2011

Eclipse Window Builder VS Netbeans GUI Builder (Matisse)

Java is a great programming language but it has a big flaw - it's GUI framework sucks!

I am talking about building simple client-side applications.


If you don't want to mess with any web gui framework then you are bound to use swing.


You can always build swing writing the text and imagining how it will work but any smart programmer will search for a nice Swing GUI builder which will enable him/her to have a WYSIWYG sort of framework to work with.

There are several options of WYSIWYG frameworks to pick from, the most noticeable till the July (2011) was Netbeans' "Matisse" GUI builder.

There were others of course but none as free or as good as Matisse.

The biggest flaw of Matisse is that it doesn't reside on the best IDE out there - eclipse, but it can be found only on netbeans which isn't as good as Eclipse (Doesn't even have a "hover" feature to name one great flaw of netbeans) so if you want to build a GUI supported by good java logic you'll have to run back and fourth between netbeans to eclipse which can cause lots of problems.

The second major flaw of Matisse is that it just isn't good enough, you place the components on the grid, Matisse then creates an XML with the component's attributes, then generates the java code for the components on the grid. Seems cool, but then you decide you want to add a button somewhere in the form or resize a component - this procedure can cause all of the gui to get mixed up throwing the adjacent components to different places - fixing it can be a pain in the neck.
Even if you managed to place all of the components where they should be but manually changed some of the generated netbeans code - you are in a BIG problem, a problem you might not manage to get out of unless starting all over.

But you still want to build a nice GUI using java and you still want a good java coding platform with a good WYSIWYG environment, what are your options?
A project was opensourced several years ago called myMatisse or maybe it was Matisse4me?

The idea was to migrate the Matisse platform into eclipse.

MyEclipse adopted this GUI builder and implemented into their distribution (which practically means it is the best GUI builder for eclipse).

But it never worked so well and it had its bugs.

Then came eclipse's Windows Builder and I fell totally in love!

There is no question which is java's best GUI builder framework, well there actually is a question but the answer is crystal clear to me - it is Windows Builder for eclipse.

It was created by a company and was bought by Google which opensourced it for the good of all and are active contributors to the project.
Last July it was officially released with the eclipse release train as an official eclipse plugin authorized and maintained by them.

MyEclipse still maintain their old plugin but their official gui builder is Windows Builder now.


So what is so good about it?
1. It resides on Eclipse.
2. It works!  you can add components / resize or anything you want without being afraid your whole form will get mixed up.
3. It is totally bi-directional, so you can tweak its generated code as much as you want and it will instantly adjust to the changes - understanding them.
You can add a new component - manually hand coding it and it will understand it all (and display it on the WYSIWYG screen).
4. It has no XML files or any other helper files, all of the code is java and it is quite small and optimized.

These are the most noticeable benefits one gets when using windowbuilder.

Maybe beauty is in the eyes of the beholder but you have to be blind not to love WindowBuilder.

Sunday, July 31, 2011

Setting up an Android development environment in a nutshell

If you want to begin developing for the android platform - which components will you need to install?

In a nutshell:


Have a nice android day   :-)
Avi.

Thursday, May 26, 2011

SCummVM for Android

THIS ARTICLE ISN'T LONG!

-- First section = 3 terms related to this topic briefly explained
-- Second section = Main article - how to install SCummVM on your android (even new androids)
-- Last section = UNIMPORTANT, feel free to skip it, it's only a list of games compatible with your android after installing SCummVM

-----------------------------------------------------------------


SCummVM - Lucasarts' gaming engine used for their good old games / quests like Maniac Mansion, Indiana Jones, Monkey Island etc.

AGI - Sierra's first gaming engine used for their good old quests like King's Quest, Larry quests, Police quests, Space quests.

SCI - Sierra's second gaming engine used for their newer games (since about 1990), the quests programmed with this engine didn't need the text parser but used the mouse for every action needed during the game.


If you have an Android machine (cell phone, tablet) and want to play any game which uses the above gaming engines (scumm, agi, sci and other less know engines), you can now play them using this great application.


It's not released yet, but if you have an old android operating system (less than version 1.6) you can download an unofficial version from the market.

If you have a newer version of android (V1.6 and up), you can still use the SCummVM application, but can't download it from the market yet [yet = of May 2011].


Ingredients:
-- Main scummVM apk.
-- Plugins for each engine used (I use the agi, sci & scumm plugins).
-- The actual games (There are about 3 free gamess in the scummVM site, the rest can be bought from ebay / amazon or downloaded using a torrent).

In order to get the scummvm version which works on your nice and new android, go to the following link which contains the latest apk of the main program and about 20 plugins (I installed only three of them, but feel free to install them all):
Latest Nightly build of the SCummVM for Android

Download the above file, unzip then copy the apks to a folder on your android machine.

Browse to the location of these apks using the android machine's file rxplorer and install them (start with the main apk, only then continue with the plugins).

Now that you have it installed, you can copy games which should work on it into any folder on your android machine.


Start SCummVM, "add game", browse to a game's location, then add it.



It will be added to a list.


Add all of your games you copied to your machine.



Now click on any game and start playing it.


Enjoy.



P.S. If you are unsure about your games - unsure if they will work on scummVM, and you don't want to go over the process of installing it on your android just to find out that your games aren't compatible with it, then I advise you to do as follows:
-- Install SCummVM on your PC
-- Try running the game on it.

This is a much simpler process - If the game works on your PC it WILL WORK on your android. (Some of the wonder of a virtual machine).

-----------------------------------------------------------------


Which games will work on your android after the installation of the above?

LucasArts Game - Company
Maniac Mansion - for android (any version)
Zak McKracken and the Alien Mindbenders - for android (any version)
Indiana Jones and the Last Crusade - for android (any version)
Loom - for android (any version)
Passport to Adventure - for android (any version)
The Secret of Monkey Island - for android (any version)
Monkey Island 2: LeChuck's Revenge - for android (any version)
Indiana Jones and the Fate of Atlantis - for android (any version)
Day of the Tentacle - for android (any version)
Sam & Max Hit the Road - for android (any version)
Full Throttle - for android (any version)
The Dig - for android (any version)
The Curse of Monkey Island - for android (any version)



Activision Adventure Game - Company
Leather Goddesses of Phobos 2 - for android (any version)
The Manhole - for android (any version)
Return to Zork - for android (any version)
Rodney's Funscreen - for android (any version)



Adventuresoft/Horrorsoft Game - Company
Elvira - Mistress of the Dark - for android (any version)
Elvira II - The Jaws of Cerberus - for android (any version)
Personal Nightmare - for android (any version)
Simon the Sorcerer 1 - for android (any version)
Simon the Sorcerer 2 - for android (any version)
Simon the Sorcerer's Puzzle Pack - D.I.M.P. - for android (any version)
Simon the Sorcerer's Puzzle Pack - Jumble - for android (any version)
Simon the Sorcerer's Puzzle Pack - NoPatience - for android (any version)
Simon the Sorcerer's Puzzle Pack - Swampy Adventures - for android (any version)
The Feeble Files - for android (any version)
Waxworks - for android (any version)



Coktel Vision Game - Company
Bargon Attack - for android (any version)
Fascination - for android (any version)
Gobliiins - for android (any version)
Gobliins 2 - for android (any version)
Goblins 3 - for android (any version)
Lost in Time - for android (any version)
Playtoons: Bambou le Sauveur de la Jungle - for android (any version)
The Bizarre Adventures of Woodruff and the Schnibble - for android (any version)
Urban Runner - for android (any version)
Ween: The Prophecy - for android (any version)



Revolution Software Game - Company
Beneath a Steel Sky - for android (any version)
Broken Sword: The Shadow of the Templars - for android (any version)
Broken Sword II: The Smoking Mirror - for android (any version)
Lure of the Temptress - for android (any version)



Sierra AGI Game - Company
The Black Cauldron - for android (any version)
Gold Rush! - for android (any version)
King's Quest I - for android (any version)
King's Quest II - for android (any version)
King's Quest III - for android (any version)
King's Quest IV - for android (any version)
Leisure Suit Larry in the Land of the Lounge Lizards - for android (any version)
Mixed-Up Mother Goose - for android (any version)
Manhunter 1: New York - for android (any version)
Manhunter 2: San Francisco - for android (any version)
Police Quest I: In Pursuit of the Death Angel - for android (any version)
Space Quest I: The Sarien Encounter - for android (any version)
Space Quest II: Vohaul's Revenge - for android (any version)
Fanmade Games - for android (any version)
Mickey's Space Adventure - for android (any version)
Troll's Tale - for android (any version)
Winnie the Pooh in the Hundred Acre Wood - for android (any version)



Sierra SCI Game - Company
Castle of Dr. Brain (EGA and VGA) - for android (any version)
Codename: ICEMAN - for android (any version)
Conquests of Camelot - for android (any version)
Conquests of the Longbow (EGA and VGA) - for android (any version)
EcoQuest: The Search for Cetus - for android (any version)
EcoQuest 2: Lost Secret of the Rainforest - for android (any version)
Freddy Pharkas: Frontier Pharmacist - for android (any version)
Hoyle's Book of Games 1 - for android (any version)
Hoyle's Book of Games 2 - for android (any version)
Hoyle's Book of Games 3 (EGA and VGA) - for android (any version)
Hoyle Classic Card Games - for android (any version)
Jones in the Fast Lane - for android (any version)
King's Quest I (SCI remake) - for android (any version)
King's Quest IV (SCI version) - for android (any version)
King's Quest V (EGA and VGA) - for android (any version)
King's Quest VI (low and hi res) - for android (any version)
Laura Bow: The Colonel's Bequest - for android (any version)
Laura Bow 2: The Dagger of Amon Ra - for android (any version)
Leisure Suit Larry 1 (SCI remake) (EGA and VGA) - for android (any version)
Leisure Suit Larry 2 - for android (any version)
Leisure Suit Larry 3 - for android (any version)
Leisure Suit Larry 5 (EGA and VGA) - for android (any version)
Leisure Suit Larry 6 (low res) - for android (any version)
Mixed-up Fairy Tales - for android (any version)
Mixed-up Mother Goose - for android (any version)
Pepper's Adventures in Time - for android (any version)
Police Quest 1 (SCI remake) - for android (any version)
Police Quest 2 - for android (any version)
Police Quest 3 (EGA and VGA) - for android (any version)
Quest for Glory 1/Hero's Quest - for android (any version)
Quest for Glory 1 VGA remake - for android (any version)
Quest for Glory 2 - for android (any version)
Quest for Glory 3 - for android (any version)
Slater & Charlie Go Camping - for android (any version)
Space Quest I (SCI remake) (EGA and VGA) - for android (any version)
Space Quest III - for android (any version)
Space Quest IV (EGA and VGA) - for android (any version)
Space Quest V - for android (any version)
The Island of Dr. Brain - for android (any version)



Other Game - Company
Bud Tucker in Double Trouble - for android (any version)
Cruise for a Corpse - for android (any version)
Discworld - for android (any version)
Discworld II - Missing presumed...!? - for android (any version)
Dragon History - for android (any version)
Drascula: The Vampire Strikes Back - for android (any version)
Flight of the Amazon Queen - for android (any version)
Future Wars - for android (any version)
Hugo's House of Horrors - for android (any version)
Hugo 2: Whodunit? - for android (any version)
Hugo 3: Jungle of Doom - for android (any version)
I Have No Mouth, and I Must Scream - for android (any version)
Inherit the Earth: Quest for the Orb - for android (any version)
Nippon Safes Inc. - for android (any version)
The Legend of Kyrandia - for android (any version)
The Legend of Kyrandia: Book Two: Hand of Fate - for android (any version)
The Legend of Kyrandia: Book Three: Malcolm's Revenge - for android (any version)
The 7th Guest - for android (any version)
TeenAgent - for android (any version)
Toonstruck - for android (any version)
Touche: The Adventures of the Fifth Musketeer - for android (any version)



Humongous Entertainment Game - Company
Backyard Baseball - for android (any version)
Backyard Baseball 2001 - for android (any version)
Backyard Baseball 2003 - for android (any version)
Backyard Football - for android (any version)
Backyard Football 2002 - for android (any version)
Bear Stormin' - for android (any version)
Big Thinkers First Grade - for android (any version)
Big Thinkers Kindergarten - for android (any version)
Blue's 123 Time Activities - for android (any version)
Blue's ABC Time Activities - for android (any version)
Blue's Art Time Activities - for android (any version)
Blue's Birthday Adventure - for android (any version)
Blue's Reading Time Activities - for android (any version)
Blue's Treasure Hunt - for android (any version)
Fatty Bear's Birthday Surprise - for android (any version)
Fatty Bear's Fun Pack - for android (any version)
Freddi Fish 1: The Case of the Missing Kelp Seeds - for android (any version)
Freddi Fish 2: The Case of the Haunted Schoolhouse - for android (any version)
Freddi Fish 3: The Case of the Stolen Conch Shell - for android (any version)
Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch - for android (any version)
Freddi Fish 5: The Case of the Creature of Coral Cove - for android (any version)
Freddi Fish and Luther's Maze Madness - for android (any version)
Freddi Fish and Luther's Water Worries - for android (any version)
Let's Explore the Airport with Buzzy - for android (any version)
Let's Explore the Farm with Buzzy - for android (any version)
Let's Explore the Jungle with Buzzy - for android (any version)
Pajama Sam: Games to Play on Any Day - for android (any version)
Pajama Sam 1: No Need to Hide When It's Dark Outside - for android (any version)
Pajama Sam 2: Thunder and Lightning Aren't so Frightening - for android (any version)
Pajama Sam 3: You Are What You Eat From Your Head to Your Feet - for android (any version)
Pajama Sam's Lost & Found - for android (any version)
Pajama Sam's Sock Works - for android (any version)
Putt-Putt Enters the Race - for android (any version)
Putt-Putt Goes to the Moon - for android (any version)
Putt-Putt Joins the Circus - for android (any version)
Putt-Putt Joins the Parade - for android (any version)
Putt-Putt Saves the Zoo - for android (any version)
Putt-Putt Travels Through Time - for android (any version)
Putt-Putt and Pep's Balloon-O-Rama - for android (any version)
Putt-Putt and Pep's Dog on a Stick - for android (any version)
Putt-Putt & Fatty Bear's Activity Pack - for android (any version)
Putt-Putt's Fun Pack - for android (any version)
SPY Fox 1: Dry Cereal - for android (any version)
SPY Fox 2: Some Assembly Required - for android (any version)
SPY Fox 3: Operation Ozone - for android (any version)
SPY Fox in Cheese Chase - for android (any version)
SPY Fox in Hold the Mustard - for android (any version)



Living Books Game - Company
Aesop's Fables: The Tortoise and the Hare - for android (any version)
Arthur's Birthday - for android (any version)
Arthur's Teacher Trouble - for android (any version)
Dr. Seuss's ABC - for android (any version)
Green Eggs and Ham - for android (any version)
Harry and the Haunted House - for android (any version)
Just Grandma and Me - for android (any version)
Little Monster at School - for android (any version)
Ruff's Bone - for android (any version)
Sheila Rae, the Brave - for android (any version)
Stellaluna - for android (any version)
The Berenstain Bears Get in a Fight - for android (any version)
The Berenstain Bears in the Dark - for android (any version)
The New Kid on the Block

Wednesday, May 18, 2011

Free SVN

I have these small java projects I like to work on.

Mostly I work on them from home, but from time to time I like to work on them using my laptop or if I have an idea while working on other projects, I want to add a feature on work.

The problem is that the source code is at my house on my main computer, so if I want to work on the code elsewhere, I send the code to myself using my gmail, work on it whereever I want and reupload the code to my main computer.

Well, that is a pain in the ... neck.


So I got to the conclusion I must use some sort of version control.

I picked SVN, because that's what we have at work, then installed a SVN server at my house, got a static IP (using dyn-dns) and used my SVN for my java projects.

It worked.


But it's not the best way working those things out.


First of all, my computer isn't on 24\7
Second - my home computer isn't 100% secured as expected from regular servers.
Third - My computer may crash at any time - then what?

So I fiigured I should have my code on the cloud.


So I listed my shopping list for a good SVN server I'd like to use and searched the web for it:

The perfect SVN cloud server will have the following:

  • Free SVN
  • Will include a free bug tracking system
  • Will be able to have unlimited projects
  • Will be able to have private projects (not open to the public)
  • Will have at least 100mb of space
That's it!

I started out with google's system.
It's called "google code", and is great in all aspects, except one - it doesn't have private projects, only public ones.

I continued and searched, and although I found about 100 services!!

NONE MATCHED MY CRITERIAs

I got to the conclusion that in order to find something suitable I'll have to dump one of my criterias.

I must have it private, it must be svn, must contain multiple projects and must be free, so the only expendable criteria was a repository synced with a bug tracking system.

Even then I found only two candidates (but there might be more): 
  1. SlikSVN
  2. Assemble
I preferred sliksvn because assemble had several changes to their free license recently, and I want a stable repository which won't change its conditions.

What about a bug tracking system?

I didn't search for one as thoroughly as searched for a SVN repository.

But found a cute, simple, nice and dirty one which I will stick with for the time being:
easy-bugs.


I will keep you posted about those services though,
Enjoy life and coding,
Avi.

Thursday, December 9, 2010

Best free FTP program

There is no debate, if you need a good and free FTP program just run and download filezilla, and don't let anyone else tell you otherwise.

But what will you do when filezilla fails you?

Which program will you use?


It seems that most free FTP programs are shitty (sorry for the word - but they really are), but if filezilla isn't a solution try the following next 2 best options (which are reasonable enough even though they are under filezilla's league):
* CoreFTP (the free version)
* LeechFTP


If you have any other (better?) free ftp program, please add it in the comments.