Wednesday, February 13, 2008

The Top 40 Free Ajax & Javascript Code for Web Development

Ajax has becoming very popular recently, but most designers seem to rehash the same script over and over (you’ll see it in a lot of Wordpress Themes and Plugins). Perhaps we aren’t using ajax technology to its full potential, myself included. The list below is made up of the best FREE scripts available, they are all of the highest quality and more or less easy to configure. Give them a try.
I have tried and tested the top 22, and aim to try the rest, because to be honest they look pretty cool.

1. Lightbox 2 (http://www.huddletogether.com)

Lightbox 2

Description:Lightbox is a simple, unobtrusive script used to overlay images on the current page. It’s a snap to setup and works on all modern browsers.
Technology:Lightbox 2 uses the Prototype Framework and Scriptaculous Effects Library.

2.Timeline (http://simile.mit.edu/timeline/)

Timeline

Description:Timeline is a widget for visualizing time-based events. It is like Google Maps for time-based information.
Technology:Ajax and DHTML.

3. Reflection.js (http://cow.neondragon.net)

Reflection.js

Description:Reflection.js allows you to add reflections to images on your webpages. It works in all the major browsers - Internet Explorer 5.5+, Mozilla Firefox 1.5+, Opera 9+ and Safari. On older browsers, it’ll degrade and your visitors won’t notice a thing. Best of all, it’s under 5KB.
Technology:Javascript.

4. Pie & Donut Chart (http://www.amcharts.com/pie/)

Pie & Donut Chart

Description:Pie & Donut (doughnut) is a very universal and fully configurable Flash chart. Using it, you can easily have good-looking, animated pies or donuts on your website. You can also use it for creating elaborate navigation menus.
Technology:Flash.

5. Plotr (http://solutoire.com/plotr/)

Plotr

Description:Plotr is a lightweight chart creating framework. It’s released under the BSD license.
Technology:Mochikit.

6. Ajax Instant Messenger (http://www.ajaxim.com/)

Ajax Instant Messenger

Description:Ajax im is a browser-based instant messaging client. It can be used in conjunction with community, intranet, and social websites. No refreshing of the page is ever needed for this “web application” to work.
Technology:Ajax and Javascript.

7. Starbox (http://www.nickstakenburg.com/projects/starbox/)

Starbox

Description:Starbox allows you to easily create all kinds of rating boxes using just one PNG image.
Technology:Prototype javascript framework.

8. Ajax Tabs Content (http://www.dynamicdrive.com/)

Ajax Tabs Content

Description: This is a versatile script that lets you display content pulled from external files inside a DIV and organized via CSS tabs. A fully unobtrusive, CSS and HTML based script.
Technology:Ajax.

9. Drag and Drop Shopping (http://demo.script.aculo.us/shop)

 Drag and Drop Shopping

Description: An excellent drag and drop shopping cart.
Technology:Ajax.

10. Progress Bar (http://www.webappers.com/progressBar/)

 Progress Bar

Description: A very stylish progress bar.
Technology:Ajax.

11. Thick Box (http://jquery.com/demo/thickbox/)

Thick Box

Description: ThickBox is a webpage UI dialog widget written in JavaScript on top of the jQuery library. Its function is to show a single image, multiple images, inline content, iframed content, or content served through AJAX in a hybrid modal.
Technology:Javascript.

12. Create Flickr Like Fields (http://dbachrach.com)

Create Flickr Like Fields

Description: The name says it all. Technology:Ajax.

13. jTip – A jQuery Tool Tip (http://codylindley.com)

 jTip – A jQuery Tool Tip

Description: jTip, not unlike Thickbox, pulls data from the server using a hidden http request. It’s nothing that fancy…
Technology:Ajax.

14.Accordian (http://demos.mootools.net/Accordion)

 Accordian

Description: A smooth and stylish ‘accordian’ effect menu.
Technology:Moo Tools Javascript Framework.

15. Unobtrusive AJAX Star Rating Bar (http://www.masugadesign.com)

 Unobtrusive AJAX Star Rating Bar

Description:This is a rating bar script done with PHP and mySQL that allows users to rate things like can be done on Netflix or Amazon, all web 2.0-like with no page refresh.
Technology:PHP.

And the rest…

16. Plotkit (Javascript Chart Plotting Script).
17. Pie (Create ajax pie charts).
18. Prototip (Prototip allows you to easily create both simple and complex tooltips using the Prototype javascript framework).
19. Ajax Inline Text Edit (This is a very simple script which only works with span tags).
20. Tabbed Content Browser (An Ajax powered tabbed content browser).
21. Table Sorting Script (An unobtrusive ajax Table Sorting Script).
22. Color Sphere (DHTML Color Picker).
23. Mapper.js (Thisallows you to add automatic area highlighting to image maps on your webpages (inc. export to SVG)).
24. Live Validation (LiveValidation is a small open source javascript library built for giving users real-time validation information).
25. Draggable Content (Javascript drag and drop).
26. Carousel (A Carousel Effect Image gallery).
27. Multibox (A javascript lightbox that supports images, flash, video, mp3s…).
28. Smooth Gallery (Using mootools v1.11, this javascript gallery and slideshow system allows you to have simple and smooth (cross-fading…) image galleries, slideshows, showcases and other cool stuff on your website…).
29. Form Style Generator
30. Auto Complete (A MooTools Autocompleter widget that creates a unobtrusive and customisable suggestion box for input fields from variable data sources).
31. Active Collab (An open Source Project Management Script).
32. Greybox (A small unobtusive pop up script).
33. Ajax Poller.
34. Tablekit (TableKit is a collection of HTML table enhancements using the Prototype framework).
35. J-query Shoutbox (This script is based on jQuery library and Form plugin.
It’s very easy to setup it, also an archive is available for download so you can play with the files on your localhost).
36. Ajax RSS Ticker.
37. Highslide (It streamlines the use of thumbnail images and HTML popups on web pages).
38. Slideshow Viewer (Stylish gallery script with a ‘lightbox’ effect).
39. Mocha (Mocha is a web applications user interface library built on the Mootools javascript framework. The Mocha GUI components are made with canvas tag graphics).
40. Loading XML into a page with xmlHttpRequest.

Thursday, February 07, 2008

40 sings if you are a lousy PHP programmer

This is something I prefer to call my "programming list of shame". Although having a formal university education with courses on software engineering, enterprise software architecture & database design I have been guilty of every single one of those things at one time or another. This is completely subjective & Eclipse oriented


You are a lousy PHP programmer if you



  1. don't comment your code properly with something like phpDoc

  2. don't see the need and/or benefits of a good programming IDE like Zend Studio or Eclipse PDT

  3. have never used some form of version control like Subclipse

  4. don't adopt some coding & naming standards and general conventions and stick to to them at least throughout the project

  5. don't use a consistent methodology

  6. don't escape and/or validate properly input or sql queries

  7. don't plan your application thoroughly before starting to code

  8. don't use test-driven development

  9. don't program & test with error reporting on

  10. don't see the benefits of a debugger

  11. don't refactor your code

  12. don't keep the different layers seperated using something like MVC

  13. don't know what these stand for: KISS, DRY, MVC, OOP, REST

  14. don't return content but echo or print it from your functions or classes

  15. have never seen the advantage of unit tests or testing in general

  16. return HTML, not data, strings, or objects.

  17. hard code messages and configuration parameters

  18. don't optimize your sql queries

  19. don't use __autoload

  20. don't allow intelligent error handling

  21. use $_GET instead of $_POST for any destructive actions

  22. don't know how to use regular expressions

  23. you've never heard of sql injection or cross-site scripting

  24. don't allow simple configuration, can be parameters passed to a class’s constructor, set/get methods called later, or constants defined at a runtime.

  25. don't understand the benefits and limitations of Object Oriented Programming

  26. misuse OOP / everything you write , no matter how small is OOP

  27. you think reusable software equals/requires your code to be OOP

  28. don't choose intelligent defaults

  29. don't have one single configuration file

  30. don't want the file contents to be seen, but give it a .inc extension instead of .php

  31. don't use a database abstraction layer

  32. don't keep it DRY, Don't repeat yourself. If you have to copy and paste or duplicate something your design may be off.

  33. don't make a function/class/method do just one thing and don't make them interact.

  34. don't try to take advantage of OOP specific features like abstract/interface classes, inheritage polymorphism & access modifiers.

  35. don't optimize your application design with established design patterns

  36. don't allow your user to define a base directory if you have multiple files and/or directories

  37. pollute the global namespace, one option is to prefix the functions in your library with a common string

  38. don't allow a table prefix when using database tables

  39. use a separate template engine

  40. don't take a look at established php frameworks for inspiration, most of them have advanced web dev concepts and good code

Thursday, December 06, 2007

The top 10 computer security threats for 2008

The 2008 Olympics is likely to spur a flurry of hacker activity, says Websense Inc, which specializes in web filtering and security software, releasing the top ten computer security threats for 2008.

"Looking at the current attack trends, cyber criminal techniques are evolving quickly and efficiently to not only evade detection, but to steal data and manipulate trusted content such as Web sites and applications," said Dan Hubbard, vice president of security research, Websense, in a media release. "It's critical that organizations and individuals recognize that attackers are changing techniques and launching targeted attacks."

The top 10 security threats are:

1. Olympics: New cyber attacks, phishing and fraud

Event-based attacks and scams are popular, and with the whole world watching, the 2008 Olympics may fuel a surge in cyberattacks, says Websense. As the Olympic torch burns, Websense researchers predict the possibility of large scale denial-of-service attacks on Beijing Olympic-related sites as political statements and fraud attempts through email and the Web surrounding the Olympics. Additionally, Websense predicts compromises of popular Olympic news or other sports sites -- attacks designed to install malicious code on end-users' machines and steal personal or confidential business information.

2. Malicious spam invades blogs, search engines, forums and Web sites

Websense predicts that hackers will increasingly use Web spam to post URLs to malicious sites within forums, blogs, in the commentary or 'talk-back' sections of news sites and on compromised Web sites. This activity not only drives traffic to the infected Web sites but also assists in the purveyor's site sitting higher on search engine rankings, increasing the risk that users will visit the site.

3. Attackers use Web's 'weakest links' to launch attacks

The Web is an entanglement of links and content. The advent of Web 2.0 additions such as Google Adsense, mash-ups, widgets, and social networks along with the massive amounts of Web advertisements linked to Web pages have increased the likelihood of 'weak links' -- or Web sites and content that are vulnerable to compromises.

Websense predicts that attackers will increasingly exploit the weakest links within the Web infrastructure in order to target the greatest number of Internet users. Most vulnerable to these attacks are search engines and large user networks such as MySpace, Facebook or other social networking sites.

4. Number of compromised Web sites will surpass number of created malicious sites

The Web as an attack vector has been steadily increasing for the last five years and now attackers are using compromised sites as their launching platforms -- even more than their own created sites. Compromising sites -- particularly, sites well-visited by end-users, such as the Dolphin Stadium attack that occurred a few days prior to the 2007 Super Bowl XLI in Miami, provides attackers with built-in Web traffic and minimizes the need for lures through email, instant messaging or Web posts.

5. Cross-platform Web attacks: Mac, iPhone popularity spurs increase

With the brand popularity and growing use of iPhones and Macintosh computers, Websense researchers predict attackers will increasingly launch cross-platform Web attacks that detect the operating system in use and serve up code specifically targeting that operating system instead of attacks based on just the Web browser. Operating systems that are targeted now include Mac OSX, iPhone, and Windows.

6. Rise in targeted Web 2.0 special interest attacks: Hackers targeting specific groups of people based on interests and profile

Web 2.0 has spawned a proliferation of Web users that visit chat rooms, social networking sites, and special interest Web sites such as travel sites, automotive, and more. These sites provide attackers with potential victims that fall within a certain age group, wealth bracket, or people with particular purchasing habits. In 2008, Websense researchers predict targeted attacks will rise toward specific social networking or special interest sites that have a higher probability of delivering a payoff.

7. Morphing JavaScript to evade anti-virus scanners

Hackers are upping the ante with evasion techniques that use poly-morphic JavaScript (Polyscript) -- which means that a uniquely-coded Web page is served up for each visit by a user to a malicious Web site. By changing the code every visit, signature-based security scanning technologies have difficulty detecting Web pages as malicious and hackers can extend the length of time their malicious site evades detection.

8. Data concealment methods increase in sophistication

Websense predicts an increased use of crypto-virology and sophistication in data concealment including the use of stenography, embedding data within standard protocols, and potentially within media files. Toolkits widely available on the Web will be used to embed proprietary information and steal data.

9. Global law enforcement will crack down on key hacker groups and individuals

In 2007, large-scale Internet-based attacks garnered the attention of law enforcement officials around the world. Websense anticipates that through the global cooperation of enforcement agencies, in 2008 the biggest crackdown and arrests of key members of a hacker group will occur.

10. Vishing and voice spam will combine and increase

The vast cell phone user population has grown into a lucrative market to exploit with spamming and "vishing" for financial gain. To date, researchers have seen an increased number of vishing attacks but not a lot of spam -- or pro-active automated calling. In 2008 Websense predicts that 'vishing,' or the practice of using social engineering and Voice over IP (VoIP) to gain personal and financial information, and voice spam will combine and increase -- users will receive automated voice calls on LAN lines with voice spam to lure them to input their credentials through the telephone.