Federico Cargnelutti

Simple is better than complex. Complex is better than complicated. | @fedecarg

Archive for the ‘Tools’ Category

Apache HTTP DoS tool released

with 2 comments

Yesterday an interesting HTTP DoS tool has been released. The tool performs a Denial of Service attack on Apache (and some other, see below) servers by exhausting available connections. While there are a lot of DoS tools available today, this one is particularly interesting because it holds the connection open while sending incomplete HTTP requests to the server.

More info here

Written by Federico

June 22, 2009 at 8:29 pm

Posted in Linux, Security, Tools

Google Page Speed: Web Performance Best Practices

without comments

When you profile a web page with Page Speed, it evaluates the page’s conformance to a number of different rules. These rules are general front-end best practices you can apply at any stage of web development. Google provides documentation of each of the rules, so whether or not you run the Page Speed tool, you can refer to these pages at any time.

The best practices are grouped into five categories that cover different aspects of page load optimization:

  • Optimizing caching: Keeping your application’s data and logic off the network altogether
  • Minimizing round-trip times: Reducing the number of serial request-response cycles
  • Minimizing request size: Reducing upload size
  • Minimizing payload size: Reducing the size of responses, downloads, and cached pages
  • Optimizing browser rendering: Improving the browser’s layout of a page

Web Performance Best Practices

Written by Federico

June 8, 2009 at 9:40 pm

Posted in Programming, Tools

TypeFriendly: A Documentation And User Manual Builder

without comments

TypeFriendly is a documentation generation script written in PHP5. It was designed to be easy in use and it allows to achieve the first results immediately, a couple of minutes after you start the work. The script contains everything you need to write clear, multilingual documentation for your project, so that you do not have to code everything on your own.

The most important features of TypeFriendly:

  1. Modular documentation structure – it is generated from text files and the structure and navigation are generated from the file names.
  2. Simple syntax – the text is written in intuitive and clean Markdown syntax.
  3. Multilingual support and tools – TypeFriendly allows you to create your manuals in many language versions. It also contains a tool that shows whether the derived languages are up-to-date.
  4. Configurable output formats – currently, TypeFriendly is able to generate the documentation in XHTML (many pages) and XHTML (single page). There is also a third format – metadata – still under development. It will allow to import the docs to a database in order to make an on-line version with, for example, user comments.
  5. Various add-ons such as syntax highlighting, references, class description fields.
  6. Navigation generators.
  7. It is portable – works under Linux, FreeBSD and Windows. All you need is the PHP interpreter available.

TypeFriendly is distributed under the terms of GNU General Public License 3, which means that you can use, modify and share it for free.

Demo
http://static.invenzzia.org/docs/tf/0_1/book/en/index.html

Screenshots
http://www.invenzzia.org/en/projects/typefriendly/screenshots

Source Code
http://svn.invenzzia.org/browser/TypeFriendly/trunk/

Website
http://www.invenzzia.org/en/projects/typefriendly

Written by Federico

May 16, 2009 at 11:30 am

Posted in Open-source, PHP, Tools, Web Apps

Is this the best open source CMS ever created?

with 7 comments

Meet TYPOlight, a powerful Web content management system that specializes in accessibility (back end and front end) and uses XHTML and CSS to generate W3C/WAI compliant pages.

Accessibility

A growing number of countries around the world have introduced legislation which either directly addresses the need for websites to be accessible to people with disabilities, or which addresses the more general requirement for people with disabilities not to be discriminated against. TYPOlight does not treat accessibility as just an additional feature and is thoroughly accessible.

Web 2.0

PHP 5 and Ajax are modern “Web 2.0″ technologies that you can find in a lot of contemporary applications. TYPOlight has a solid codebase built on the new object-oriented programming features of PHP 5 and can therefore be considered a future-proof software. To ensure back end accessibility, every Ajax feature includes a graceful fallback in case JavaScript is disabled.

Page features

  • Different page types
  • Multiple websites in one tree
  • Manual or timed publication
  • Hidden pages
  • Password protect pages

Editing features

  • Clipboard feature
  • Edit multiple records
  • Built-in rich text editor (TinyMCE)
  • Different content elements and modules
  • Multilingual spellchecker
  • Insert tags (similar to server side includes)
  • Manual or timed publication

File manager

  • Multiple file uploads
  • Image thumbnails and file preview
  • Edit uploaded files with the source editor
  • File operation permissions
  • Copy, move, rename files or folders
  • Delete folders recursively

Form generator

  • Automatic input validation
  • Store uploaded files on the server
  • Send form data via e-mail
  • Send uploaded files as e-mail attachment

Search engine

  • Automatic page indexing
  • Search indexing on protected pages
  • Phrase search, wildcard search, AND/OR search
  • Search result caching and pagination

Full feature list

  • Intuitive user interface
  • Accessible XHTML strict output
  • Meets W3C/WAI requirements
  • Web 2.0 support (mootools-based)
  • Live update service
  • Accessible administration area
  • Multiple back end languages and themes
  • Generates search engine friendly URLs
  • Multi-language support
  • Powerful permission system
  • Versioning and undo management
  • Advanced search and sorting options
  • Front end output 100% template based
  • Automatic e-mail encryption (spam protection)
  • Supports SMTP in addition to PHP’s mail function
  • Supports multiple websites in one tree
  • Supports GZip compression
  • Print articles as PDF

System features

  • Open Source (LGPL)
  • Web-based administration
  • Platform independent
  • Over 150 third party extensions
  • Multilingual documentation

Links

Written by Federico

May 13, 2009 at 8:14 pm

Real Time Web-Based Service Monitoring Tool

without comments

phpWatch is a general purpose service monitor that is able to send notifications of outages via e-mail or text-message (SMS). The purpose of this system is to allow administrators to easily check the status of many different services running on any number of servers and also allow developers to interface with the query and notification APIs.

Installation

The basic installation is very simple: chmod config.php to 777 and simply navigate to the install directory in your browser. Fill in the database information and the setup will create the required tables and setup the configuration file as needed. The only required task beyond the automated install is to add cron.php as a cron job (Unix/Linux) or scheduled task (Windows).

SMS Alerts

phpWatch uses pre-existing SMS gateways provided by the cell-carriers themselves. For example, to send a message to a Verizon subscriber with the phone number 123-456-7890, an e-mail can be sent to 1234567890@vtext.com and it will then be forwarded to the individual’s phone.

Links

Written by Federico

May 12, 2009 at 7:34 pm

Posted in Open-source, PHP, Tools, Web Apps

Write, share and sell your own books

without comments

As commercial book publishing crashes, personal book publishing is booming. Blurb is an online application which can be used to design and print your books in professional looking formats. Blurb makes it easier for you to write, share, promote and sell your own books.

Blurb BookSmart software is the most straightforward and easy to use software available. Multiple demos and tutorials are available, showcasing the potential that each Blurb book offers. Some of the books you buy on Amazon are manufactured with this same technology. You just can’t tell the difference!

From their site:

Holding a finished book with your name on the cover is a truly amazing feeling; it’s one of those experiences everyone should have. As software people, designers and publishing professionals at the top of our game, we realized something both incredible and obvious: there’s no good reason why it should take tons of time, technical skills, big bucks or friends in high places to publish a book. Or a zillion books, for that matter.

Blurb Features

  • Design your book with free software
  • Print your book by ordering online (as few as 1 book needs ordering)
  • Books created are of bookstore quality
  • Free to register and design books
  • Use the site to promote your books
  • Print your books with or without the Blurb Logo

Time to write some books :)

Links

Written by Federico

April 3, 2009 at 8:50 pm

Posted in Programming, Tools, Web, Web Apps

Fabric: Simple Pythonic Deployment Tool

with one comment

Here’s the thing: you’re developing a server deployed application, it could be a web application but it doesn’t have to be, and you’re probably deploying to more than one server. Even if you just have one server to deploy to, it still get tiresome in the long run to build your project, fire up your favorite SFTP utility, upload your build, log in to the server with SSH, possibly stop the server, deploy the build, and finally start the server again.

What we’d like to do, is to build, upload and deploy our application with a single command line. Fabric is a tool that, at its core, logs into a number of hosts with SSH, and executes a set of commands, and possibly uploads or downloads files.

Fabric Project Site

Written by Federico

March 5, 2009 at 9:55 am

Posted in Linux, Python, Tools

10 reasons to switch from CruiseControl to Hudson

with 2 comments

Ten things no one ever told you about Hudson:

  1. It’s extremely easy to install (unzip the file and that’s it)
  2. It can be configured entirely from its friendly Web UI (no XML required)
  3. It has an attractive dashboard with colourful and meaningful icons
  4. It’s extremely flexible
  5. It can be extended via plug-ins
  6. It offers a much better UI than CruiseControl
  7. It can execute Phing, Ant, Gant, NAnt and Maven build scripts
  8. It gives you clean readable URLs for most of its pages
  9. It has RSS, e-mail and IM integration
  10. It can distribute build/test loads to multiple computers

This tutorial guides you step-by-step through the fundamental concepts of Continuous Integration and Hudson. When you are done with this one-hour tutorial, you will understand the benefits of Continuous Integration as well as how to set up your environment.

Links

Written by Federico

March 5, 2009 at 12:43 am

Database Migrations: The Next Killer PHP Application

with 16 comments

This post, written by Adam Wiggins, got me thinking:

Migrations bother me. On one hand, migrations are the best solution we have for the problem of versioning databases. The scope of that problem includes merging schema changes from different developers, applying schema changes to production data, and creating a DRY representation of the schema. But even though migrations is the best solution we have, it still isn’t a very good one.

Schema synchronization is the killer feature missing in phpMyAdmin!

This feature can be found in some commercial applications, like SQLyog Enterprise for example. SQLyog’s Database Synchronization Tool (DST) is a visual comparison/synchronization tool designed for developers who work between different MySQL servers or need to keep databases between two MySQL servers in sync. This means reporting the differences between tables, indexes, columns of two databases, and generating the necessary “Up” and “Down” scripts to bring them in sync.

However, SQLyog DST is not free and only runs on Windows.

So, if you want to build the next killer PHP application, port SQLyog’s database synchronization tool to PHP and open source it. People will love you for it.

Links

Written by Federico

March 3, 2009 at 1:16 pm

Share songs for immediate streaming

without comments

First came TinyURL, now TinySong. Just as TinyURL allows you to shorten long URLs for sharing in Twitter and elsewhere, TinySong does the same for sharing songs for immediate streaming.

http://tinysong.com/

Other tiny sites:

TinyChat
TinyChat is a service for creating disposable chatrooms. Each chatroom gets a unique TinyURL for easy sharing, and nobody involved needs special software to join in.

TinyGeoCoder
Tiny Geo-coder is a basic online app for determining the latitude and longitude of a location, with a simple API and practical uses for web development.

TinyScrum
Scrumy is a simple web application for Scrum project management. Scrumy is, at the basic level, a virtual taskboard.

Written by Federico

March 1, 2009 at 12:24 pm

Posted in Tools, Web Apps