Showing posts with label open source. Show all posts
Showing posts with label open source. 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!

Saturday, July 19, 2014

Laravel, Composer, WAMP/PHP 'missing open_ssl' fix

If you are trying to install Laravel and are encountering the 'The openssl extension is missing' error with the Composer installer, here is a fix:

WAMP maintains a different php.ini for the Apache dir and the PHP dir.
The WAMP control panel maintains the PHP.INI in the apache dir 
(for example   C:\wamp2.4\bin\apache\Apache2.4.4\php.ini)

There is also another PHP.INI, using by the command-line PHP, in the PHP directory 
(for example   C:\wamp2.4\bin\php\php5.4.16\php.ini)


Edit the PHP.INI file in the PHP dir and uncomment the following line

extension=php_openssl.dll


Done!


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

Tuesday, October 15, 2013

Compile LESS CSS files and compress/minify CSS and JS files using node.js

Here is what you need to do, in order to

- compile your LESS files into CSS whenever they are changed and also compress those CSS files into .min.css (*1)

- compress your JS files into .min.js whenever they are changed


The 2 scripts described here will automatically perform the above actions upon invocation and will then also set up a file-watcher on the specified directory.



But first:
- Download and install node.js from here.

- Download and install uglifyjs from here, using
npm install uglify-js --global
- Download and install LESS compiler from here, using
npm install less --global

Download this RAR file, which contains all the script files that I have modified, so all you need to do is adjust the contained sample batch file and off you go.


These scripts allow you to specify a source and a target directory.
For LESS/CSS, the LESS file is compiled into CSS in the same directory.
The CSS is then compressed into the target directory.

For JS, the js file is compressed into the target directory.

When you run the batch file, it will scan and process all matching files and then it will stay in the background, monitoring the source directory.


Many thanks to the guys that have created all of the above tools.
The original idea for this was from Jonathan Cheung's code here.



[Blatant plug! See my article about my album on Google Play.]

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

Tuesday, October 11, 2011

FileZilla connection issues - MSLD

It looks like somebody cocked up at FileZilla.
The latest version (v3.5.1) refuses to connect to my RedHat server, even though all previous versions of FileZilla did.

Reading some of the threads around the web, the developers decided to use the MLSD command (to get a directory listing) and it seems to cause no end of problems.
They seem to insist that MLSD is a standard command and the people should change their FTP servers instead.
Perhaps those devs should extract their cranium from their anus, instead of telling people to change their (perfectly good FTP servers. We use ProFTPD)

That rant aside, the way to overcome this problem is to not use passive mode.

Use the File/SiteManager menu to find the entry you want to connect to and, under TransferSettings, set the Transfer mode to Active.

Enjoy!

Wednesday, September 8, 2010

Magento installation notes

There is a great article here describing what to do to ensure that, once you've installed Magento onto your local host, you can login as admin.

If you do not follow the above instructions, you will find yourself unable to login as admin.

Additionally, this article shows how to configure a test Paypal account with Magento.


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

Sunday, July 18, 2010

Adding CSS3 Support To IE 6, 7 and 8

CSS3 is upon us and with it all the cool things like drop shadows, gradients etc.
Not surprisingly, IE is yet again the browser of shame. It can barely render anything correctly, let alone implement CSS3.

Nonetheless, some kind souls have taken it upon themselves to do something about it.
And the result is CSS3 Pie Library.
Visit the site with IE and be amazed.

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

Boot from USB drive using multiple ISO images

Detailed information on how to create a multi-boot USB drive can be found in this article. Excellent work guys!

In brief, you format a USB stick using FAT32, make sure the PC can boot from a USB device and that the boot order will pick the USB device before the main hard disk.

The article lists all the tools needed for the job and it also lists a large number of downloadable ISO files that can be used with it, which I have copied below. Please visit the site for the full article.




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

Thursday, July 15, 2010

New version of Subversion binaries

WANDisco, one of the Subversion project's earliest contributors, hosts the latest client and server binaries.

For a great Subversion client, visit the TortoiseSVN site

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

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!

Friday, May 1, 2009

jQuery - a great tutorial series

Jeffrey has put together a great series of video tutorials for jQuery.

They start with the basics and go on into more advanced topics.
There is something there for everyone and it doesn't look like it is going to stop any day now.
Every time I look, there is yet another tutorial that shows up.

Check them out!


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.

FileMenu utility - handy Windows Explorer extension

This handy utility will add a number of useful functions to the Windows Explorer window, as shown in the image below.

Some of the functions I like are:
  • Command line from here
  • Copy to ...
  • Move to ...
  • Copy Path (very handy!)
  • Change time
  • Run with arguments
  • and many more
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!

Thursday, September 4, 2008

Open source alternative to Visio

DIA is an open-source alternative to Visio. According to their web site,
  • Dia is roughly inspired by the commercial Windows program 'Visio', though more geared towards informal diagrams for casual use. It can be used to draw many different kinds of diagrams. It currently has special objects to help draw entity relationship diagrams, UML diagrams, flowcharts, network diagrams, and many other diagrams. It is also possible to add support for new shapes by writing simple XML files, using a subset of SVG to draw the shape.





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

Friday, August 15, 2008

PDF + PHP

If you need to create PDF files from PHP, head over to FPDF and look at their library.
It is free and works well.
Here is a quick suck-n-see example:

require_once('fpdf.php'); $testPDF =new FPDF(); $testPDF->AddPage('P'); // add a Portrait page $testPDF->SetFont('Courier', 'BUI', 24); // set Courrier, bold + italic + underline, 24points $testPDF->Cell(50, 5, 'Yiassou Nafti!'); $testPDF->Output(); ?>
Easy! I've also found a related tool, FPDI, which is described as
FPDI is a collection of PHP classes facilitating developers to read pages from existing PDF documents and use them as templates in FPDF, which was developed by Olivier Plathey
If you do end up using any of the above, let the authors know; they'd appreciate acknowledgement.

Enjoy!


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