Showing posts with label OSS. Show all posts
Showing posts with label OSS. Show all posts

Sunday, June 26, 2016

open source software I use, part 2

[update 26-jun-2016
Thanks to Audrina W., I have now corrected the link to Smarty

Note that a lot of what is shown here was relevant in 2010 or so but is now out of date.]


Continuing on from part 1 of this series, here are some more open-source apps I use:


- jQuery. I have found this javascript library to be indispensable! It is a simple, non-imposing, yet deceptively powerful library. I will not write why or how it is so good here; there are lots and lots of articles on the web doing just that. I'd strongly suggest you have a look at it, if you do any kind of javascript work. It is not the only library out there nor the most all-encompassing but, to me, it is one of the most useful and fun to work with!


Web development:
I will bundle all the tools I use in one and see how it goes! Most of them do not need any explanation (but feel free to tell me otherwise!)


PHP: Server-side scripting language.
Reasonably
popular. I believe there are a couple of apps written in it.
(cough cough! A couple of million apps maybe! I read somewhere that there are approx 50 million web-sites running on PHP!!!)


btw, if you are a strongly-typed language developer (say, C, C++, C#, C+1, D-1 whatever, Pascal etc), do remember that this is a scripting language!
It allows you to write apps, large and small, very quickly, with nothing more needed than a text editor.
However, it also allows you to create apps that suck and are full of bugs.
Since it has no type-checking nor any compile-time smarts, you are always running the risk of bugs in your source.
A small mis-type of a variable name could bring down a large app, long after you've moved onto greener pastures.


That said, see my point above about 50 million web sites. (Not that more is better!)


Smarty: Template engine for PHP. Allows separation of presentation logic from PHP code
(makes using MVC just that much easier)


XDebug: Debugger for PHP. Works well with Eclipse. Must-have


EclipsePDT: The mother of all IDEs. Initially written by IBM, later offer to the OSS community. Thank you Big Blue!
(The PDT version is tailored to PHP development)




SAJAX: This library will help you write ajax-enabled apps; it provides all that is needed to make calls from javascript to PHP and back, passing arguments to and fro.
I have found it very useful, however I am now using the jQuery ajax support for most of this work. It is not the same but achieves the same result.
(NOTE: Jul 2010: jQuery provides all that is needed to do AJAX easily, so there is no need for this)


Mantis: Bug-tracker, written in PHP.


XAMPP: If you need a LAMPP stack (Linux Apache MySQL PHP Perl) or a WAMPP (Windoze....) then your best shot at a simple, no-hassles installation is via the XAMPP installer.
Download and run it and, presto, your machine has all the essentials for web development.
[update 2015]I now prefer WAMP. One of the great things about it is that it allows you to easily switch between different versions of PHP, Mysql and Apache, all via a menu entry.


PHPMyAdmin: MySQL database administration tool. Simply extract into a web dir onto your LAMPP server, point your browser at it and there you are! You now have a web-based, browser-driven MySql administrator!


JasperReports: OSS's answer to Crystal Reports.
This is just the reporting engine and runs off XML report-definition files. Do not panic, there is a GUI designer Eclipse plugin for it that makes report design a breeze (screenshot). There is also a stand-alone GUI for it, called iReport.


Note: Eclipse also has a reporting tool, called BIRT. I haven't used it a lot, however you should have a look at it too.




And now, for some non-development-related OSS tools:
- KeePass: Password vault. There is also a PocketPC version of it. It has a smart 'find out what form I am in and paste out the correct credentials' way of doing things.


I use it to store all my passwords. Before I leave work, I export the password to KeePass's native format, upload it to gmail, go home and download from gmail. I then get KeePass to import it and update existing keys and add new ones. I then export the merged results, upload to gmail, go to work, download from gmail and repeat all over again.


Webmin: A web-based, browser-driven Linux management tool. Allows you to manage almost everything on your Linux box from just a browser. You can start/stop jobs, administer users, administer server apps (such as Apache, MySql, ProFTPD, Samba etc etc).
It pretty much does everything. All you need to do is extract the webmin source (PHP) files onto your web server, point your browser to https://myserver:10000 and you are in control!


If you do end up using any of the above, let their authors know; they'd appreciate acknowledgement.
more later...


ps: Comments and/or links to this article are most welcome!

Monday, November 2, 2009

Google Wave: The complete guide.

You must have heard about Google Wave by now and are, surely, keen to try it out!

Well, I can't help you with that, you'll need to get an invite first and they are about as rare as functioning brain cells in George W. Bush's head!

However, if you wanted to learn what it does and what it is, scouring the net will give you lots of info. Lots!

But you probably still couldn't stand in front of a roomful of people and describe it. (Yeap, it's that revolutionary!)


Visit this web site and find out all about it!

ps: Comments and/or links to this article are most welcome!

Saturday, October 31, 2009

The Git Parable

I thought the quest for the ideal Source Conrol System (aja Version Control System) had ended when I moved away from that piece of garbage, known as Visual SourceSafe, and into CVS a few years ago.

Alas, not long after, I realised that things could be better. Enter Subversion!

Time passed. All was well. I even managed to introduce it to the dev team at work; all went well (ignoring some painful merging experiences at the beginning!)

Still, I kept an eye out for anything else that may be better.
The most intriguingly named Git is one that has caught my eye.

There are plenty of articles on the net about git but the one I found most refreshingly useful was the one at Tom Preston-Werner's blog.

It explains how git works in the most useful way I've seen in a very long time.


ps: Comments and/or links to this article are most welcome!

Wednesday, April 29, 2009

jQuery - a cool, powerful grid!

One of the things I've always wanted the jQuery UI to have has been a grid control.
Alas, it is quite a way down the priority list.

Up until now, I've been using tablesorter, which has been very reliable and useful.
What it was missing was resizeable and moveable columns.

I have now found a jQuery grid control, slickgrid, that supports that plus much much more.

Some of its highlights are:
  • Resizable/reorderable columns

  • Custom cell formatting editing

  • Virtual scrolling. It can manage many thousands of rows of data, while only showing the rows needed

  • Very configurable and customisable

ps: Comments and/or links to this article are most welcome!


jQuery plugin - splitter

Another very handy jQuery plugin I am looking at at the moment is this splitter.

It supports vertical and horizontal splitters, fixed or fluid widths and heights, nested splitters etc.
It has very nice look about it!
Visit it and check it out.

ps: Comments and/or links to this article are most welcome!

jQuery plugin - Imagetool

I am currently working on a number of web apps that need to do a small amount of image processing, such as cropping, area-zooming etc.

While image processing normally evokes images of fat apps, such as those done with dotNOT, I mean dotNET, I am trying to do this in a browser-based app.

I already using jQuery, so I've been keeping an eye on jQuery plugins.

One of them is Imagetool, a simple plugin that provides basic cropping and scaling capabilities.
It supports panning and zooming.

ps: Comments and/or links to this article are most welcome!

Monday, April 27, 2009

FastCopy - a neat (fast!) copy utility

FasCopy is a smart copy utility that copies files very quickly. It also supports file moves and deletes.
It is clever enough to detect whether the copy is from and to the same HDD and uses a different copy strategy accordingly.

As stated on its web site,

Diff HDDReading and writing are processed respectively in parallel by another thread.
Same HDDReading are processed until the big buffer fills. When the big buffer filled, writing are started and processed in bulk.

Please visit the home site for more info.

Wednesday, January 28, 2009

30 useful open source apps

Jacob Gube has a great article on 30 useful open source apps, with links to web editors, graphics editors and other misc utilities.

Head over to his blog and look at http://sixrevisions.com/tools/30-useful-open-source-apps-for-web-designers/

Well done Jacob, I found some goodies in there myself!

Tuesday, August 5, 2008

open source software I use, part 1

- Of all the open source software (OSS) I use, Firefox is at the top of the list.
It is more than just a browser; have a look in one of my earlier posts for a list of all the FF add-ins I use. Simply fantastic!

- Another OSS I use is Subversion.
No more SourceShaft, oops, SourceSafe for me.
SVN is a great tool and it has taken over from CVS, which is just a little too old nowadays.

In CVS's defence, it has been a great tool that helped a large number of developers manage their source code.
Since it too was OSS, it was available to anyone who wanted to manage his source, so I tip my hat to it!
Anyway, SVN it is for me now.

- If you are using SVN, you also need a GUI and what better than TortoiseSVN

- For telnet'ing, I use PuTTY.
It is simple, it works, it is OSS.

- For FTP server and client, I use FileZilla

- PHP/Smarty/XDebug/EclipsePDT/LAMPP
For web app development, the above acronyms say it all. I am leaving this here as a reminder. I will be writing more about them in a later post.

- Rockbox. Alternative firmware for a large nunber of MP3 players, including most iPods! Very configurable, very neat! I have been using it for over 2 years or so and have enjoyed every minute of it!

- If you carry a notebook with confidential data or want to safeguard data on your computer, TrueCrypt is a must-have!
It allows you to create an encrypted volume, which when mounted, appears as a norma hard disk. Everything you write in it is encrypted. In order to mount it (and thus be able to read/write from it) you need to supply a passphrase (i.e. something lengthy, not just a few characters).
What this means is that if your computer is stolen or lost, whoever gets it will not be able to get access to your critical data.

In addition to the encrypted volumes described above, it also supports encrypting entire disk-partitions!
Just get it and you will never have to worry about the bad guys getting your bank PIN numbers etc.
[Update 2016]. Alas, TrueCrypt is no more. 
Veracrypt has taken its place and, not only does it do all Truecrypt ever did (it is based on the same source) but it also has a partition resizer, as well as greatly enhanced security.

You can find more info on TrueCrypt alternatives here.


- Abiword for reading/writing Word documents
It is a great app and there is a portable version of it too! Copy it into a USB stick and, presto, a wordprocessor at your fingertips, anytime, anywhere!

Have a play with the above and let me know what you think of it.

Here is part 2

ps: Comments and/or links to this article are most welcome!

open source goldmine

If you are interested in seeing a large (very large!) number of open source projects, all under one roof, visit http://www.ohloh.net/ and look under the Projects menu.

Just about every OS project you can think of is listed there.

Kudos to the Ohloh guys!

In my next post(s), I will be listing a number of the OSS I use.

ps: Comments and/or links to this article are most welcome!