Spiga

Netbeans review

December 15, 08 by Gabi Solomon

There seems to be quite a few talks about netbeans these days. A lot of people blogged about it and sayd its the next big thing or something. I personally tested it a while ago, like 4-5 months i think, i dont remember exaclly what made me drop it so i said i must try this new version to see what all the fuss is about.

Now before i start, i want to give you a heads up :) . I am a big fan of zend studio, (am using 5.5, hate the 6 series) and all its features, so when i test a new editor i tend to compare it to zend. I know its not free and it really inst the cheapest editor, but i was lucky enough (or good enough, if i wasn’t this modest) to win it as a prize at the Innovation Award on phpclasses.com.

Now back to NetBeans.

The first thing u should know is that its free. And this always counts as a big plus for any software.

As far as the interface is concerned, i like very much. Its very intuitive and simple to use. You have the general layout with projects on the left, content editor with all the basic features: tabs, sintax highlight, php code assist.
The first plus for netbeans would be the support for html, css, javascript and all the major javascript frameworks. Wich for some people count very much. This is something i admit i miss in Zend. There is a small support for html but that is it.

Another cool feature are the snippets (they caled them templates), this is when you tipe in class and it can automplete a basic class code for you. This templates can be edited so you can add any code snippet that u use very often here for faster writing.

I found that it has the functionality i didnt find in other editor except zend before. Things like :
- code assist for you own functions and classes
- really good code folding (some IDEs tend to get confused and have bad code folding)
- opening the file that contains the function/method on CTRL+click on the name (or any mouse + keyboard combination)

via http://codeutopia.net/

via http://codeutopia.net/

Altough some might disagree about the importance of these functions, i think they are crucial when working on big projects. I tend to forget where a function is on my projects after a while of not working on it, much more when it comes to projects running a script that is not coded by me. So the persons that don’t think that is necessary … try modifying lets say a magento powered store. Lets see how you find where a function is declared, and how much time you loose on this task.

So all these put together really made me think of switching to netbeans.
So i really gave it a try and started to use it to code a project.

I found that it is really great to work with, and personally it seemed a little faster then zend on loading times (sometimes zend would freeze a little on ALT+TAB).

Also found new features that i didn’t find in Zend, that really were nice to have:
- Refactoring ( you can rename a variable or a method in your class and it gets renamed whereever its used in your project )
- ToDo list ( it has a small tab where it parses the files for TODO comment lines and shows them in that tab)
- phpdoc comments code assist
- a really nice debuger that integrates with Xdebug
- code assist offers a link to php website for the php functions
- support for CVS, Subversion and Mercurial

The bad side

At this point i was 95% convinced of switching to netbeans. But then it let me down. The Ftp support really sucked. This is another must have feature for me.
I am used of working on remote servers, dont really enjoy working localy. So i want a verry good FTP client in my IDE. I enjoy the way Zend has done it. You just add a ftp server and your done … you can edit the files at will as if they were localy, you dont care how he downloads them makes the a temporary file etc. As soon as you hit Save the files gets uploaded to the server.

The way that netbeans does it is by downloading all the files localy at first, work on them locally and when you hit RUN in the IDE the ones modified gets transferred to the server. Wich might work when your developing a project on your own … but when you develop with a team its just not going to work. Or even if your alone, but you just want to do some quick modification to a website that is online, its going to take a while to setup the project in netbeans.

I found a workaround to this problem, you could use an automatic syncronization tool like Fling to do the synk between the files online and the ones locally. But you must be carefull how you setup it so you don’t overwrite others coworkers modification on the project.

Another smaller issue in netbeans is the file path. If your working on a file it doesnt show you the path of that file. So you dont know on wich file your actualy working since many times files have the same names either in diferent components of the same project or you can mistakenly edit the same file from a diferent project. It does display it as a tool tip on the tabs name but the best way i see this done is in the application title bar.

Conclusion

I agree that Netbeans is a great IDE and it has a lot of features, even ones i cant find in Zend, and if your a javascript developer thant this would be right for you. But until they redo the FTP client or someone writes a better FTP plugin, i cant use it. So i am stuck with Zend again :D
Altough i will be following the evolution of netbeans and maybe switch when they will have a better ftp support.

Cheers

Automatic FTP Uploading & Synchronize

December 14, 08 by Gabi Solomon

The problem

If you are developing or using remote files you might be interested in services like dropbox witch allow you to copy a file in a folder in your computer and have it uploaded to a remote location. I personally love dropbox and usit as a back-up & sharing that i can access from multiple locations. I store my password manager software on it for example :)

But services like dropbox dont solve all your problems since sometimes you might want to sincronize to a location of your choise, like a FTP server.

This really comes in handy when you develop web application on a server you installed on your computer. I personally dont do it because of 2 reasons:
1. i have to remember to upload the copy to the remote server
Cant really show the client from my computer or have it stored on a stick with a portable webserver.
Also, having the last copy online is good when you might login and do modifications from multiple computers.

2. compatibility issues
There is always the possibility of the application working on my computer and not on the server. This is both due to the difference in OS but also in the serves configurations.

But i can see the advantage of having application developed locally. The most important would be speed ( saving files and viewing the website ), also not depending on the internet connection ( yes, e i get that sometimes, at night, probably from all the guys logging in to download torrents & porn ).

The solution

Well i recently discovered a really handy piece of software that solve my first problem. Its called
Fling FTP Software and is a powerful ftp program that allows you to synchronize a local folder with an remote one by using FTP.

The cool feature about it is that it integrates really well with your Windows explorer.

Also you have several options of synchronization, including sync between hardisks, network folders and flash sticks.

The way fling works is you setup rules for each folders you want to sync.
This is done in 2 steps:
1. You setup the source and destination folder

1. You setup the scanning options
Here you have the options of telling fling when you want the transfers to be executed and in which way. You have options to do it manually, automatically or at preset intervals. You can also specify witch is the primary source ( when files are conflicting witch one to keep )

I find this software really useful and another cool feature about it : Fling is completely free.

Download Fling FTP Software 2.02

Cheers

10 Windows Application Launchers reviewed

October 25, 08 by Gabi Solomon

Although i like try all geeky application that there is, i must admit that before this article i havent even saw some application i found while researching for this post. It all started when victor stanciu pointed me to an application launcher called launchy ( details below ). And i thought this is a verry cool way of keeping your desktop clean and also increase productivity. So i decided to do some research and see what similar apps there are out there.
There are not ordered in a specific order, just in the order that i found them.So here it goes.

1. Launchy

Launchy is a free utility that has both windows and linux suport and it is one of the most popular application launcher out there. It will index the programs and shorcuts from any location on your computer ( ex: start menu, desktop etc.) and can launch them with just a few keystrokes!
It also has shortcuts for your bookmarks or you can use it to faster search on sites like google and wikipedia.

Compatible with Windows Vista

2. Keybreeze

Keybreeze is another verry cool aplication laucher, it is light weight ( only 3MB ) but it is full of features, it isn’t just an application launcher, it can do a lot more then that.The feature I liked most is the option to open multiple targets i.e. you can open multiple tasks in one go. You can use KeyBreeze to make sticky notes and can set reminders. If you use Skype, you can type “c ” to call someone.

Also its portable. :D

To list a few of its features :

  • Open files, folders, and websites.
  • Search your computer.
  • Search websites.
  • Perform system tasks.
  • Control windows on your screen.
  • Paste custom text into a text field.
  • Automate actions.
  • Create notes; set reminders.
  • Launch plug-ins.

To see it in action go to the screenshoot section.

3. nDroid

nDroid a.k.a 320mph is an ultra fast anything launcher that can open documents, play songs, open browser bookmarks, lookup web references, find torrents, do online searches and a lot more than you expect.
Although i was really liking launchy, i was a little inclined to switching to nDroid. The main reasons were:
- there are a lot of plugins for it so you can extend its capabilities.
- its free
- portable. No installation requited. Always been a big fan of this apps :D
- uses very little resources
- has a few more features then others ( like playing music etc. )

4. Find and Run

Find and Run Robot (FARR) is another free program for keyboard maniacs — it uses an adaptive “live search” function to rapidly find programs and documents on your computer as you type.
Its the same with nDroid, although it lack some of the flashy look it makes up with functionality ( additional plugins can be installed ) and low resource consumption.

FARR also lets you quickly run web searches, send email, manipulate files, control on-screen windows, and much more. Build and share custom commands or install plugins to add tons of new features, like live search features for your clipboard history and your internet bookmarks; a popup a calculator with history tape and persistant variables; and many more..

A detailed (and always up to date) feature list for FARR can be found here and a screenshots here.

5. SlickRun

SlickRun is a keystroke based application launcher. It is a minimalistic designed tool and it shows a small window just above the system tray where it displays the time when its not used. To find out what comands can be used in it you can type in help and you will be taken to the online help files.
A feature that is unique to SlickRun is SlickJot – a place to store brief notes. You can add text to SlickJot by highlighting it and dragging it to the SlickRun window. You can also search through the clips using the built in find tool. Notes are automatically saved.
SlickRun uses verry little memory about 5MB at any given time.

6. Speed Launch

Speed Launch is an application launcher that extends the functionality and usability of Microsoft Windows. With Speed Launch, users can select their own words to open frequently used websites, documents, and applications. The most compelling feature of Speed launch is the use of a drag and drop interaction model to make this advanced functionality more intuitive to novice computer users.

Also another cool feature about it, is the fact that it uses functions instead of plugins to write aditional features, functions that you can write on your own with more ease then a plugin. You can check out the video below for more details about this.

<a href=”http://video.msn.com/video.aspx?vid=90d73712-356e-4aa0-9298-34a72a17d553″ mce_href=”http://video.msn.com/video.aspx?vid=90d73712-356e-4aa0-9298-34a72a17d553″ target=”_new” title=”Creating Functions in Speed Launch”>Video: Creating Functions in Speed Launch</a>

7. ToolBox

ToolBox is more of a widget sidebar to me, its drag & drop interface creates shortcuts to almost anything; applications, drives, folders, even simple files. ToolBox helps you organise your desktop and get rid of numerous shortcuts that clutter it and take up valuable space.
What i found intersting about it was the fact that the first version of ToolBox was written many years ago as a 16-bit Windows 3.1 application using Borland Pascal.

8. Key Launch

Key Launch is an application launcher for Windows that can launch applications but also commands with just a few keystrokes.
Besides launching applications and files Key Launch can initiate Internet searches, open bookmarks, start Control Panel items, create a new email message, manage computer shutdown commands or open Internet addresses.

Compatible with Windows Vista

9. Dash Command

While Dash Command looks pretty nice ( see video below ), it didnt get so much buzz on the internet. The 2 main complaints are that its a payd one ( Pre-release Offer: $19.95 ) wich is a big thumbs down when you can get the same thing for free, and the second it has some problems on windows vista. For me the first point was enough to convince me to skip it.

10. Skylight

Skylight is another aplication laucher and It can search, launch, lookup, automate and define, all in a systematic, predictable way. Boasting advanced habit learning and matching algorithms, infinite plug-in extensibility and the general smarts equivalent of a rat, it is purpose built to make your computing life easier. A cool thing is that it can detect spelling errors in your typing :) .
For full list of what it can do check out its online documentation.