Saturday, April 30, 2005

Basic Requirements of a JavaServer Faces Application

Basic Requirements of a JavaServer Faces Application

In addition to configuring your application, you must satisfy other requirements of JavaServer Faces applications, including properly packaging all the necessary files and providing a deployment descriptor. This section describes how to perform these administrative tasks.

JavaServer Faces applications must be compliant with the Servlet specification, version 2.3 (or later) and the JavaServer Pages specification, version 1.2 (or later). All applications compliant with these specifications are packaged in a WAR file, which must conform to specific requirements in order to execute across different containers. At a minimum, a WAR file for a JavaServer Faces application must contain the following:

A web application deployment descriptor, called web.xml, to configure resources required by a web application
A specific set of JAR files containing essential classes
A set of application classes, JavaServer Faces pages, and other required resources, such as image files
An application configuration resource file, which configures application resources
The WAR file typically has this directory structure:

index.html
JSP pages
WEB-INF/
web.xml
faces-config.xml
tag library descriptors (optional)
classes/
class files
Properties files
lib/
JAR files

The web.xml file (or deployment descriptor), the set of JAR files, and the set of application files must be contained in the WEB-INF directory of the WAR file. Usually, you will want to use the asant build tool to compile the classes. You will use deploytool to package the necessary files into the WAR and deploy the WAR file.

The asant tool and deploytool are included in the Sun Java System Application Server Platform Edition 8. You configure how the asant build tool builds your WAR file via a build.xml file. Each example in the tutorial has its own build file, to which you can refer when creating your own build file.

Configuring an Application Using deploytool
Web applications are configured via elements contained in the web application deployment descriptor. The deploytool utility generates the descriptor when you create a WAR and adds elements when you create web components and associated classes. You can modify the elements via the inspectors associated with the WAR.

The deployment descriptor for a JavaServer Faces application must specify certain configurations, which include the following:

The servlet used to process JavaServer Faces requests
The servlet mapping for the processing servlet
The path to the configuration resource file if it is not located in a default location
The deployment descriptor can also specify other, optional configurations, including:

Specifying where component state is saved
Restricting Access to pages containing JavaServer Faces tags
Turning on XML validation
Verifying custom objects
This section gives more details on these configurations and explains how to configure them in deploytool.

Identifying the Servlet for Life Cycle Processing
One requirement of a JavaServer Faces application is that all requests to the application that reference previously saved JavaServer Faces components must go through FacesServlet. A FacesServlet instance manages the request processing life cycle for web applications and initializes the resources required by JavaServer Faces technology. To comply with this requirement, follow these steps.

While using the Edit Contents dialog box from the Web Component wizard, add the jsf-api.jar file from /lib/ to your WAR file. This JAR file is needed so that you have access to the FacesServlet instance when configuring your application with deploytool.
In the Choose Component Type dialog box of the Web Component wizard, select the Servlet radio button and click Next.
Select FacesServlet from the Servlet Class combo box.
In the Startup Load Sequence Position combo box, enter 1, indicating that the FacesServlet should be loaded when the application starts. Click Finish.
Select the FacesServlet web component from the tree.
Select the Aliases tab and click Add.
Enter a path in the Aliases field. This path will be the path to FacesServlet. Users of the application will include this path in the URL when they access the application. For the guessNumber application, the path is /guess/*.
Before a JavaServer Faces application can launch the first JSP page, the web container must invoke the FacesServlet instance in order for the application life cycle process to start. The application life cycle is described in the section The Life Cycle of a JavaServer Faces Page.

To make sure that the FacesServlet instance is invoked, you provide a mapping to it using the Aliases tab, as described in steps 5 through 7 above.

The mapping to FacesServlet described in the foregoing steps uses a prefix mapping to identify a JSP page as having JavaServer Faces content. Because of this, the URL to the first JSP page of the application must include the mapping. There are two ways to accomplish this:

The page author can include an HTML page in the application that has the URL to the first JSP page. This URL must include the path to FacesServlet, as shown by this tag, which uses the mapping defined in the guessNumber application:


Users of the application can include the path to FacesServlet in the URL to the first page when they enter it in their browser, as shown by this URL that accesses the guessNumber application:
http://localhost:8080/guessNumber/guess/greeting.jsp

The second method allows users to start the application from the first JSP page, rather than start it from an HTML page. However, the second method requires users to identify the first JSP page. When you use the first method, users need only enter

http://localhost:8080/guessNumber

You could define an extension mapping, such as *.faces, instead of the prefix mapping /guess/*. If a request comes to the server for a JSP page with a .faces extension, the container will send the request to the FacesServlet instance, which will expect a corresponding JSP page of the same name to exist containing the content. For example, if the request URL is http://localhost/bookstore6/bookstore.faces, FacesServlet will map it to the bookstore.jsp page.

Specifying a Path to an Application Configuration Resource File
As explained in Application Configuration Resource File, an application can have multiple application configuration resource files. If these files are not located in the directories that the implementation searches by default or the files are not named faces-config.xml, you need to specify paths to these files. To specify paths to the files using deploytool follow these steps:

Select the WAR from the tree.
Select the Context tabbed pane and click Add.
Enter javax.faces.application.CONFIG_FILES in the Coded Parameter field.
Enter the path to your application configuration resource file in the Value field. For example, the path to the guessNumber application's application configuration resource file is /WEB-INF/faces-config.xml
Repeat steps 2 through 4 for each application configuration resource file that your application contains.
Specifying Where State Is Saved
When implementing the state-holder methods (described in Saving and Restoring State), you specify in your deployment descriptor where you want the state to be saved, either client or server. You do this by setting a context parameter with deploytool:

While running deploytool, select the web application from the tree.
Select the Context tabbed pane and click Add.
Enter javax.faces.STATE_SAVING_METHOD in the Coded Parameter field.
Enter either client or server in the Value field, depending on whether you want state saved in the client or the server.
If state is saved on the client, the state of the entire view is rendered to a hidden field on the page. The JavaServer Faces implementation saves the state on the client by default. Duke's Bookstore saves its state in the client.

Restricting Access to JavaServer Faces Components
In addition to identifying the FacesServlet instance and providing a mapping to it, you should also ensure that all applications use FacesServlet to process JavaServer Faces components. You do this by setting a security constraint:

Select your WAR file from the tree.
Select the Security tabbed pane.
Click Add Constraints and enter Restricts Access to JSP Pages in the Security Constraints field.
Click Add Collections and enter Restricts Access to JSP Pages in the Web Resource Collections field.
Click Edit Collections.
In the Edit Collections of Web Resource Collections dialog box, click Add URL Pattern and enter the path to a JSP page to which you want to restrict access, such as /response.jsp.
Continue to click Add URL Pattern again, and enter paths to all the JSP pages in your application and click OK.
Turning On Validation of XML Files
Your application contains one or more application configuration resource files written in XML. You can force the JavaServer Faces implementation to validate the XML of these files by setting the validateXML flag to true:

Select your WAR file from the tree.
Select the Context tabbed pane and click Add.
Enter com.sun.faces.validateXml in the Coded Parameter field.
Enter true in the Value field. The default value is false.
Verifying Custom Objects
If your application includes custom objects, such as components, converters, validators, and renderers, you can verify when the application starts that they can be created. To do this, you set the verifyObjects flag to true:

Select your WAR file from the tree
Select the Context tabbed pane and click Add.
Enter com.sun.faces.verifyObjects in the Coded Parameter field.
Enter true in the Value field. The default value is false.
Normally, this flag should be set to false during development because it takes extra time to check the objects.

Including the Required JAR Files
JavaServer Faces applications require several JAR files to run properly. These JAR files are as follows:

jsf-api.jar (contains the javax.faces.* API classes)
jsf-impl.jar (contains the implementation classes of the JavaServer Faces implementation)
jstl.jar (required to use JSTL tags and referenced by JavaServer Faces implementation classes)
standard.jar (required to use JSTL tags and referenced by JavaServer Faces reference implementation classes)
commons-beanutils.jar (utilities for defining and accessing JavaBeans component properties)
commons-digester.jar (for processing XML documents)
commons-collections.jar (extensions of the Java 2 SDK Collections Framework)
commons-logging.jar (a general-purpose, flexible logging facility to allow developers to instrument their code with logging statements)
The jsf-api.jar and the jsf-impl.jar files are located in /lib. The jstl.jar file is bundled in appserv-jstl.jar. The other JAR files are bundled in the appserv-rt.jar, also located in /lib/.

When packaging and deploying your JavaServer Faces application with deploytool, you do not need to package any of the JAR files, except the jsf-api.jar file, with your application. The jsf-api.jar file must be packaged with your application so that you have access to the FacesServlet instance and can configure the mapping for it.

Including the Classes, Pages, and Other Resources
When packaging web applications using deploytool, you'll notice that deploytool automatically packages many of your web application's files in the appropriate directories in the WAR file. All JSP pages are placed at the top level of the WAR file. The TLD files and the web.xml that deploytool creates are packaged in the WEB-INF directory. All packages are stored in the WEB-INF/classes directory. All JAR files are packaged in the WEB-INF/lib directory. However, deploytool does not copy faces-config.xml to the WEB-INF directory as it should. Therefore, when packaging your web applications, you need to drag faces-config.xml to the WEB-INF directory.

del.icio.us loader

The powerful del.icio.us loader loads your Firefox bookmarks directly into your del.icio.us account

Amazon Filler Item Finder

Amazon Filler Item Finder: "Certain items at Amazon.com qualify for free shipping, but sometimes purchase fall short of the minimum $25 needed to recieve the free shipping. Enter the amount you need to get free shipping in the box above to see a list of products that will get you free shipping. "

Free Excel Spreadsheets

Free Excel Spreadsheets: "Free Excel Spreadsheets "

Capital Budgeting Analysis (xls) - Basic program for doing capital budgeting analysis with inclusion of opportunity costs, working capital requirements, etc. - Adamodar Damodaran
Rating Calculation (xls) - Estimates a rating and cost of debt based on the coverage of debt by an organization - Adamodar Damodaran
LBO Valuation (xls) - Analyzes the value of equity in a leverage buyout (LBO) - Adamodar Damodaran
Synergy (xls) - Estimates the value of synergy in a merger and acquisition - Adamodar Damodaran
Valuation Models (xls) - Rough calculation for choosing the correct valuation model - Adamodar Damodaran
Risk Premium (xls) - Calculates the implied risk premium in a market. (uses macro's) - Adamodar Damodaran
FCFE Valuation 1 (xls) - Free Cash Flow to Equity (FCFE) Valuation Model for organizations with stable growth rates - Adamodar Damodaran
FCFE Valuation 2 (xls) - Free Cash Flow to Equity (FCFE) Valuation Model for organizations with two periods of growth, high growth initially and then stable growth - Adamodar Damodaran
FCFE Valuation 3 (xls) - Free Cash Flow to Equity (FCFE) Valuation Model for organizations with three stages of growth, high growth initially, decline in growth, and then stable growth - Adamodar Damodaran
FCFF Valuation 1 (xls) - Free Cash Flow to Firm (FCFF) Valuation Model for organizations with stable growth rates - Adamodar Damodaran
FCFF Valuation 2 (xls) - Free Cash Flow to Firm (FCFF) Valuation Model for organizations with two periods of growth, high growth initially and then stable growth - Adamodar Damodaran
Time Value (xls) - Introduction to time value concepts, such as present value, internal rate of return, etc.
Lease or Buy a Car (xls) - Basic spreadsheet for deciding to buy or lease a car.
NPV & IRR (xls) - Explains Internal Rate of Return, compares projects, etc.
Real Rates (xls) - Demonstrates inflation and real rates of return.
Template (xls) - Template spreadsheet for project evaluation & capital budgeting.
Free Cash Flow (xls) - Cash flow worksheets - subsidized and unsubsidized.
Capital Structure (xls) - Spreadsheet for calculating optimal capital structures using different percents of debt.
WACC (xls) - Calculation of Weighted Average Cost of Capital using beta's for equity.
Statements (xls) - Generate a set of financial statements using two input sheets - operational data and financial data.
Bond Valuation (zip) - Calculates the value or price of a 25 year bond with semi-annual interest payments.
Buyout (zip) - Analyzes the effects of combining two companies.
Cash Flow Valuation (zip) - Walks through a valuation of cash flows under three models- capital cash flows, equity cash flows, and free cash flows.
Financial Projections (zip) - Spreadsheet model for generating projected financials along with valuation based on WACC.
Leverage (zip) - Shows the effects on Net Income from using debt (leverage).
Ratio Calculator (zip) - Calculates a standard set of ratios based on input of financial data.
Stock Value (zip) - Calculates expected return on stock and value based on no growth, growth, and variable growth.
CFROI (xls) - Simplified Cash Flow Return on Investment Model.
Financial Charting (zip) - Add on tool for Excel 97, consists of 6 files.
Risk Analysis (exe) - Analysis and simulation add on for excel, self extracting exe file.
Black Scholes Option Pricing (zip) - Excel add on for the pricing of options.
Cash Flow Matrix - Basic cash flow model.
Business Financial Analysis Template for start-up businesses from Small Business Technology Center
Forex (zip) - Foreign market exchange simulation for Excel
Hamlin (zip) - Financial function add-on's for Excel
Tanly (zip) - Suite of technical analysis models for Excel
Financial History Pivot Table - Microsoft Financials
Income Statement What If Analysis
Breakeven Analysis (zip) - Pricing and breakeven analysis for optimal pricing - Biz Pep.
SLG Ratio Master (exe) - Excel workbook for creating 25 key performance ratios.
DCF - Menu driven Excel program (must enable macros) for Discounted Cash Flow Analysis from the book Analysis for Financial Management by Robert C. Higgins
History - Menu driven Excel program (must enable macros) for Historical Financial Statements from the book Analysis for Financial Management by Robert C. Higgins
Proforma - Menu driven Excel program (must enable macros) for Pro-forma Financial Statements from the book Analysis for Financial Management by Robert C. Higgins
Business Valuation Model (zip) - Set of tabbed worksheets for generating forecast / valuation outputs. Includes instruction sheet. Bizpep
LBO Model - Excel model for leveraged buy-outs
Comparable Companies - Excel valuation model comparing companies
Combination Model - Excel valuation model for combining companies
Balanced Scorecard - Set of templates for building a balanced scorecard.
Cash Model - Template for calculating projected financials from CFO Connection
Techniques of Financial Analysis - Workbook of 11 templates (breakeven, valuation, forecasting, etc.) from ModernSoft
Ratio Reminder (zip) - Simple worksheet of comparative financials and corresponding ratios from Agilicor
Risk Analysis IT - Template for assessing risk of Information Technology - Audit Net
Risk Analysis DW - Template for assessing risk of Data Warehousing - Audit Net
Excel Workbook 1-2 - Set of worksheets for evaluating financial performance and forecasting - Supplemental Material for Short Course 1 and 2 on this website.
Rule Maker Essentials - Excel Template for scoring a company by entering financial data - The Motley Fool
Rule Maker Ranker - Excel Template for scoring a company by entering comparable data - The Motley Fool
IPO Timeline - Excel program for Initial Public Offerings (must enable macros)
Assessment Templates - Set of templates for assessing an organization based on the Malcolm Baldrige Quality Model.
Cash Gap in Days - Spreadsheet for calculating number of days required for short-term financing.
Cash Flow Template - Simple spreadsheet for calculating Free Cash Flow.
Six Solver Workbook (zip) - Set of various spreadsheets for solving different business problems (inventory ordering, labor scheduling, working capital, etc.).
Free Cash Flow Valuation - Basic Spreadsheet Valuation Model
Finance Examples - Seven examples in Business Finance - Solver
Capital Budgeting Workbook - Several examples of capital budgeting analysis, including the use of Solver to select optimal projects.
Present Value Tables (rtf) - Set of present value tables written in rich text format, compatible with most word processors. Includes examples of how to use present value tables.
Investment Valuation Model (zip) - Valuation model of companies (must enable macros) - Excel Business Tools
Cash Flow Sensitivity (xlt) - Sensitivity analysis spreadsheet - Small Business Store
What If Analysis - Set of templates for sensitivity analysis using financial inputs.
Risk Return Optimization - Optimal project selection (must enable macro's) - Metin Kilic
CI - Basics #1 - Basic spreadsheet illustrating competitive analysis - Business Tools Templates.
CI - Basics #2 - Basic spreadsheet illustrating competitive analysis.
External Assessment - Assessment questions for organizational assessment (must enable macros).
Internal Assessment - Assessment questions for organizational assessment (must enable macros).
Formal Scorecard - Formal Balanced Scorecard Spreadsheet Model (3.65 MB / must enable macros) - Madison Area Quality Improvement Network.

Little Boxes - CSS Tutorial

Little Boxes

The Evolution of a Programmer

High School/Jr.High

10 PRINT 'HELLO WORLD'
20 END

You've been kicked in the nuts!

You've been kicked in the nuts! A candid camera guy goes around kicking people in the groin area

I Am Bored - Sites for when you're bored.

I Am Bored - Sites for when you're bored.: "Here's a list of sites for when you're feeling bored. Updated constantly, so check back whenever you're bored."

AJAX miracles

The raising roar inside the blogosphere is currently 'AJAX', the new fountain of youth, the revolution on the desktop. An innovative combination of the buzzwords du jour, shake shake shake. What is AJAX, except a successful football team and a recognized brand of cleaning products? You can find multiples definitions, but it boils down to a single thing: asynchronous download on the client side. JavaScript exists for years, and even it has opened an area of dynamism on the client side, it had one significant shortcoming for web applications: no standard way to get content from the server.

Using DWR with Spring and Hibernate

Matt Raible: For the past few weeks, I've been developing an application using Struts, Spring, Hibernate and the DWR project for my XmlHttpRequest framework. As you might remember, I used JSON-RPC for Ajax stuff on my last project. I found DWR to be much more full-featured and easier to use. This post is meant to capture some issues I encountered so others won't have to jump the hurdles that I did. For those of you that get bored quickly, here's a movie (QuickTime) of the app's Ajax features

AppFuse 1.8 Released

Matt Raible: This release of AppFuse replaces Container Managed Authentication (CMA) with Acegi Security. Other major features include numerous bug fixes to AppGen and a refactoring of build.xml to use Ant 1.6 features. Eclipse and IDEA project files were also improved so you can easily run tests from within your IDE. A MyJavaPack all-in-one installer was also added so you can download everything you need for AppFuse at once. Eclipse and its plugins were not included in the initial release, but may be in a future release

Sun shares surge on 'joke' that firm will go private

Sun shares surge on 'joke' that firm will go private | Channel Register: "Shares of Sun Microsystems shot up more than 10 percent Friday and then held some of the gains on speculation that management is looking to take the company private. CEO Scott McNealy told one organ that such rumors were much closer to fiction than truth.
In a gossip column, BusinessWeek cited a 'hedge-fund manager close to McNealy' as saying that Sun was hoping to work with Silver Lake Partners to push Sun private with the aim of reemerging one day as a leaner, meaner public company. The rag cited an LBO (leveraged buyout) offer of $5 to $5.50 a share for Sun."

Friday, April 29, 2005

apachefriends.org - very easy apache, mysql, php and perl installation without hassles

apachefriends.org - very easy apache, mysql, php and perl installation without hassles: "Many people know from their own experience that it's not easy to install an Apache web server and it gets harder if you want to add MySQL, PHP and Perl. XAMPP is an easy to install Apache distribution containing MySQL, PHP and Perl. XAMPP is really very easy to install and to use - just download, extract and start."

Thursday, April 28, 2005

RSS Mix - Mix any number of RSS feeds into one unique new feed!

RSS Mix - Mix any number of RSS feeds into one unique new feed!: "Mix any number of RSS feeds into one unique new feed!"

The 46 Best-ever Freeware Utilities

Best of the best freeware products out there

Essential bookmarks for web designers and web developers

Essential bookmarks for web designers and web developers: "A list on a one single page the most useful web-sites, which make the life of web designers easier"

How to Create a Photographic Gallery Using CSS

This article will show you how to produce a professional quality photograph gallery using nothing more than an unordered list of photographs and a Cascading Style Sheet (CSS). "

Kevin Smith Previews Revenge of the Sith

Slashdot | Kevin Smith Previews Revenge of the Sith: "Eugenia writes 'Kevin Smith, the well-known actor/director, was invited by George Lucas to a special advanced screening of the upcoming 'Star Wars: Revenge of the Sith' film and he wrote down his take on the movie. There are some serious spoilers in his article but it's interesting to see his reaction, as a director and Star Wars fan.' "

Turning a PC into a Firewire-Based SAN?

Slashdot | Turning a PC into a Firewire-Based SAN?: "Rachovenov asks: 'So I've finally plunked down the money for one of those new, shiny Powerbooks, but they don't have much storage. My old PC is just sitting here with 2 identical 250 gig disks spinning away and an empty firewire port. There's even a hardware RAID controller in there somewhere. So why not use it as a low cost RAID 1 array for the Powerbook when I'm at home? Has anyone done this? How could I make it so that Mac OS X just sees it as a couple of Firewire drives?' "

DWR - Ajax and XMLHttpRequest made easy

DWR - Ajax and XMLHttpRequest made easy: "What DWR does for you:
DWR is easy Ajax. XMLHttpRequest without any hassle. It makes it simple to call Java code directly from Javascript. It gets rid of almost all the boiler plate code between the web browser and your Java code.
So you don't need to create servlets and web.xml entries for all your code, you don't need struts config files or JSF magic incantations, no writing Actions or implementing some special interface. Just you, DWR, Java, HTML and Javascript.
DWR gives you a jump-start to being able to create GMail type interactivity. We are gradually moving to a web where more and more is done dynamically, and love it or lothe it that means Javascript. DWR makes the Javascript easier by giving you a set of examples of how to create dynamic sites.
What DWR does not do for you:
It is not a servlet framework. If you are already using Struts, JSF, Webwork or Spring, then DWR fits in just fine. It comes with Spring beans integration allowing you to remote your spring beans to Javascript. "

Nokia to launch phone that stores 3,000 songs on a 4GB Hard Drive

The N91 has an integrated 4GB hard disk and supports digital music formats including MP3, M4A, AAC and WMA, Nokia said

Google Launches UK Maps and Local Search

http://maps.google.co.uk/maps

Revealed late on Tuesday, Google UK Maps and Local Search are two services built around an interactive map. The mapping service allows users to get accurate directions between two UK destinations while Local Search provides listings of local services, such as restaurants, and indicates their position on the map.

Wednesday, April 27, 2005

Free TiVo: Build a Better DVR out of an Old PC

MakeZine.com: Free TiVo: Build a Better DVR out of an Old PC: "SET UP:
You'll need:
Windows machine with at least 256MB of RAM (512MB is better), plenty of hard drive space, and a good video card.
TV and receiver presumably from your existing home theater system).
TV card I used a Hauppauge WinTV-PVR-250 card, $149 at hauppauge.com.
PC DVR software I used BeyondTV, which was bundled with the Hauppauge card, but is available from SnapStream separately for $70 at snapstream.net.
WinDVD I already had an old copy of this from my video card, but it's $50 from intervideo.com.
Winamp The standard Windows MP3 player, free at winamp.com.
VNC Multi-format video player, free at realvnc.com
SlimServer Lets your server stream music remotely through the internet, free at slimdevices.com.
Various game emulators Run console game ROMs, many free ones listed at zophar.net.
Playstation or Nintendo game controllers These work much better than PC gamepads for the price, and are available lots of places for $15 and up.
PSX/N64 to USB converter Lets you use console gamepads on the PC, $13 each at lik-sang.com.
Girder Automation software, $20 at promixis.com
Cygwin and server software Linux-like operating system, free at cygwin.com.
Dynamic DNS service Lets you connect to your home server using a fixed domain name if your broadband account allocates your IP address dynamically. I got this from dyndns.org. "

Gates wants to scrap H-1B visa restrictions

WASHINGTON--Microsoft Chairman Bill Gates slammed the federal government's strict limits on temporary visas for technology workers, saying that if he had his way, the system would be scrapped entirely

Need to finid the current local time anywhere in the world?

Current local time in London - England - U.K.: "Current local time in London"

The Example JavaServer Faces Application

The JavaServer Faces technology chapters of this tutorial primarily use a rewritten version of the Duke's Bookstore example to illustrate the basic concepts of JavaServer Faces technology. This version of the Duke's Bookstore example includes several JavaServer Faces technology features

this example application needs bookstore6 and also some stuff from the bookstores source.

when I initially ran the bookstore6 six example on tomcat, I got an error because the app could not connect to the database.

The documentation included with the examples talks about setting up the pointbase database server. What I did instead was create a file in a library on the as400. This was based on the script from the examples\web\bookstore folder. I had to make a couple of changes to make it work:

added the relevant library to my library list (top)
FLOAT became dec(11,2)
BOOLEAN bacame 1A and either 'Y' or 'N'

I then configured the datbase url in the tomcat context

username="myuser" password="mypassword"
driverClassName="com.ibm.as400.access.AS400JDBCDriver"
url="jdbc:as400://www.mysystem.com;naming=system;trace=true;libraries=mylib;"
maxActive="8" maxIdle="4"/>

and shazam. bookstore6 example running at home with an as400 database!


Tuesday, April 26, 2005

JSF - Backing Bean Management

A typical JavaServer Faces application includes one or more backing beans, which are JavaBeans components (see JavaBeans Components) associated with UI components used in a page. A backing bean defines UI component properties, each of which is bound to either a component's value or a component instance. A backing bean can also define methods that perform functions associated with a component, including validation, event handling, and navigation processing.

JSF - Navigation Model

JSF - Navigation Model

As defined by JavaServer Faces technology, navigation is a set of rules for choosing the next page to be displayed after a button or hyperlink is clicked. These rules are defined by the application architect in the application configuration resource file (see Application Configuration Resource File) using a small set of XML elements.

JSF - User Interface Component Model

User Interface Component Model

  • User Interface Component Classes
  • Component Rendering Model
  • Conversion Model
  • Event and Listener Model
  • Validation Model

Ben Poole :: weblog :: Back to Java

Ben Poole :: weblog :: Back to Java: "u dont need to add sysdeo plugin if u use webtools. U can download a prepackaged eclipse + webtools at

http://www.eclipse.org/downloads/download.php?file=/webtools/downloads/drops/S-1.0M3-200502260707/wtp-eclipse-prereqs-sdk-1.0M3-win32.zipon 26 Apr 2005 by Scott Gregorio (#)"

Monday, April 25, 2005

JSF Creating the Pages - greeting.jsp

This page demonstrates a few important features that you will use in most of your JavaServer Faces applications. These features are described in the following subsections.

<HTML>

<HEAD> <title>Hello</title> </HEAD>

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>// This tag library contains JavaServer Faces component tags for all UIComponent + HTML RenderKit Renderer combinations defined in the JavaServer Faces Specification

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> // The core JavaServer Faces custom actions that are independent of any particular RenderKit.

<body bgcolor="white">

<f:view> // Container for all JavaServer Faces core and custom component actions used on a page

// Renders an HTML "form" element.
<h:form id="helloForm" >

<h2>Hi. My name is Duke. I'm thinking of a number from

// value of the component should be rendered as text
<h:outputText value="#{UserNumberBean.minimum}"/> to

// value of the component should be rendered as text
<h:outputText value="#{UserNumberBean.maximum}"/>.

Can you guess it?</h2>

// Renders an HTML "img" element
<h:graphicImage id="waveImg" url="/wave.med.gif" />

// Renders an HTML "input" element of "type" "text".
<h:inputText id="userNo"

value="#{UserNumberBean.userNumber}">

// Register a LongRangeValidator instance on the UIComponent associated with the closest parent UIComponent custom action.
<f:validateLongRange
// Minimum value allowed for this component
minimum="#{UserNumberBean.minimum}"
// Maximum value allowed for this component
maximum="#{UserNumberBean.maximum}" />

// Renders an HTML "input" element of "type" "text".
</h:inputText>

// Renders an HTML "input" element.
// id = The component identifier for this component. This value must be unique within the closest parent component that is a naming container.
// action = MethodBinding representing the application action to invoke when this component is activated by the user. The expression must evaluate to a public method that takes no parameters, and returns a String (the logical outcome) which is passed to the NavigationHandler for this application.
<h:commandButton id="submit" action="success"

value="Submit" /> <p>

// Render a single message for a specific component.
Set-up for Rendering

Obtain the "summary" and "detail" properties fromUIMessage component. If not present, keep the empty string as the value, respectively. Obtain the firstFacesMessage to render from the component, using the "for" property of the UIMessage. This will be the only message we render. Obtain the severity style for this message. If the severity of the message isFacesMessage.SEVERITY_INFO, the severity style comes from the value of the "infoStyle" attribute. If the severity of the message isFacesMessage.SEVERITY_WARN, the severity style comes from the value of the "warnStyle" attribute, and so on for each of the severities, INFO, WARN, ERROR andFATAL. The same rules apply for obtaining the severity style class, but instead of "infoStyle, warnStyle", etc use "infoClass, warnClass", etc. Obtain the "style", "styleClass" and "layout" attributes from theUIMessage component. If we have a "style" attribute and a severity style attribute, use the severity style attribute as the value of the "style" attribute. If we have no "style" attribute, but do have a severity style, use the severity style as the value of the "style" attribute. The same precedence rules apply for the style class.

Rendering

For the message renderer, we only render one row, for the first message. For the messages renderer, we render as many rows as we have messages. If either of the "style" or "styleClass" attributes has a non-null value (as determined above), render a "span" element, outputting the value of the "style" attribute as the the value of the "style" attribute, and outputting the value of the "styleClass" attribute as the value of the "class" attribute on the "span" element. If theUIMessage has a "tooltip" attribute with the value of "true", and the UIMessage has "showSummary" and "showDetail" properties with the value "true", if we haven't already written out the "span", output the "summary" as the value of the "title" attribute on the "span". If we haven't already written out a "title" attribute, and "showSummary" is true, output the summary. If "showDetail" is true, output the detail. Close out the span if necessary.


<h:message style="color: red;

font-family: 'New Century Schoolbook', serif;

font-style: oblique;

text-decoration: overline"

id="errors1"

for="userNo"/>

</h:form>

</f:view>

</HTML>

Building a Linux PVR Part I - MythTV Setup and Install

Open Source TV anyone

What is MythTVMythTV is a suite of programs that allow you to build the mythical home media convergence box on your own using Open Source software and operating systems.
MythTV has a number of capabilities. The television portion allows you to do the following:
You may pause, fast-forward and rewind live Television.
You may install multiple video capture cards to record more than one program at a time.
You can have multiple servers, each with multiple capture cards in them. All servers are centrally managed and all programs are scheduled by the Master backend.
You can have multiple clients (called 'frontends' in MythTV parlance), each with a common view of all available programs. Any client can watch any program that was recorded by any of the servers. Clients can be diskless and controlled entirely by a remote control.
You may use any combination of standard analog capture card, MPEG-2, MJPEG, DVB or HDTV capture devices. With appropriate hardware, MythTV can control set top boxes, often found in digital cable and satellite TV systems.
Program Guide Data in North America is downloaded from Zap2It.com, a subsidiary of Tribune Media Services. This free service is called DataDirect, and provides MythTV almost two weeks of scheduling information. Program Guide Data in other countries is obtained using XMLTV. MythTV uses this information to create a schedule that maximizes the number of programs that can be recorded if you don't have enough tuners.
Other modules in MythTV include:
MythGallery, a picture-viewing application
MythVideo, a media-viewer for content not created within MythTV
MythDVD, a DVD viewer / ripper
MythMusic, a music playing / ripping application which supports MP3 and FLAC
MythGame
MythWeather
MythNews, a RSS news grab

Tomcat with Squid as Reverse Proxy - nicer alternative to AJP?

Revising SCBCD: "Tomcat with Squid as Reverse Proxy - nicer alternative to AJP? "

Java SOS is a set of configurable Java servlets for fast site building, including Forums, Chat, and Calendar servlets, etc

Sunday, April 24, 2005

JSF - Steps in the Development Process

Developing a simple JavaServer Faces application usually requires these tasks

  • Create the pages using the UI component and core tags.
  • Define page navigation in the application configuration resource file.
  • Develop the backing beans.
  • Add managed bean declarations to the application configuration resource file."

Screen-scraping with XQuery

Java theory and practice: Screen-scraping with XQuery: "XQuery is a W3C standard for extracting information from XML documents, currently spanning 14 working drafts. While the majority of interest in XQuery is centered around querying large bases of semi-structured document data, XQuery can be surprisingly effective for some much more mundane uses as well. In this month's Java theory and practice, columnist Brian Goetz shows you how XQuery can be used effectively as an HTML screen-scraping engine.

Create internationalized JSP applications

Designing Java Server Pages (JSP) applications for an international audience is more of an art than a science, involving much more than meets the eye. The key to success is to understand the unique server-side problems associated with internationalization. Java developer Sing Li clarifies the key problem and presents two solutions based on tried-and-true techniques.

How to make a Coin Ring - How to end up in jail more like!

Im sure this is illegal in most countries?

Saturday, April 23, 2005

Shocking TShirts, Film Tshirts, Music Tshirts, Logo TShirts from Shock Horror International

Shocking TShirts, Film Tshirts, Music Tshirts, Logo TShirts from Shock Horror International

Top 10 Reasons I Hate My iPod

jaycee dot com: Top 10 Reasons I Hate My iPodMaybe it is that great and I dont know it because its all I have ever used. Maybe I am crazy..I dont know but below are the top 10 reasons I hate my iPod.

Adobe to acquire Macromedia

Adobe Systems Incorporated (Nasdaq: ADBE) has announced a definitive agreement to acquire Macromedia (Nasdaq: MACR) in an all-stock transaction valued at approximately $3.4 billion. Under the terms of the agreement, which has been approved by both boards of directors, Macromedia stockholders will receive, at a fixed exchange ratio, 0.69 shares of Adobe common stock for every share of Macromedia common stock in a tax-free exchange. Based on Adobes and Macromedias closing prices on Friday April 15, 2005, this represents a price of $41.86 per share of Macromedia common stock

Nintendo DS Development Tutorial :: WiFiMe

Most of us will remember Wednesday, April 13th 2005. On that day, Tim Schuerewegen released the driver and application necessary to allow anyone with a Nintendo DS, a GBA flash cart, and a supported wireless network card to load any homebrew demo/app on their DS. You already had the ability to do this with a PassMe device, but now can do it wirelessly! If you want to see Tim's video of it in action, click here."

CSS and Email, Kissing in a Tree

Most people whove attempted to recreate a sophisticated design in HTML email have run into a wall when using CSS, either in the form of inexplicable mangling by email clients or a pronouncement by an email administrator stating that CSS is against the rules. If youre not content to roll over and use font tags in your HTML emails, read on

JavaServer Faces is easier than you think

Im trying to understand JSF, and picked up on this introductory artical by Rick hightower. And it actually worked!

  1. Create a web project, and add the relevant jars to WEB-INF/lib. (I use eclipse, tomcat and the sysdeo tomcat plugin as my development environment).
  2. Declare the faces servlet and mapping in web.xml
  3. Declare beans and navigation rules in faces.config.xml
  4. Create a model object
  5. Create a controller
  6. Create your jsps

this article covered the basics, but I think is a good starting point, as there s very little fluff in there. and the example works!

Friday, April 22, 2005

Antarctic glaciers show major melting

A comprehensive survey of Antarctic glaciers shows the continent is melting worse than thought.
The three-year study by scientists from the British Antarctic Survey and U.S. Geological Survey used more than 2,000 aerial and satellite photographs. They document how 87 per cent of 244 glaciers have retreated over the past 50 years

ChilliSpot - Open Source Wireless LAN Access Point Controller

ChilliSpot is an open source captive portal or wireless LAN access point controller. It is used for authenticating users of a wireless LAN. It supports web based login which is today's standard for public HotSpots and it supports Wireless Protected Access (WPA) which is the standard of the future. Authentication, authorization and accounting (AAA) is handled by your favorite radius server

The Complete Idiot's Guide to Writing Shell Extensions

A shell extension is a COM object that adds some kind of functionality to the Windows shell (Explorer). There are all kinds of extensions out there, but very little easy-to-follow documentation about what they are, and how to write your own. I highly recommend Dino Espositos great book Visual C++ Windows Shell Programming if you want an in-depth look into lots of aspects of the shell, but for folks who don't have the book, or only care about shell extensions, I've written up this tutorial that will astound and amaze you, or failing that, get you well on your way to understanding how to write your own extensions. This guide assumes you are familiar with the basics of COM and ATL

The Mask Email Image Generator will create a JPG image of your email address

Mask Email Image Generator (DigitalColony.com): "The Mask Email Image Generator will create a JPG image of your email address. Use it in place of text to fool those evil spiders that seek out email addresses for purposes of sending junk email. Once you've created your image, save it to your system."

Web Page Development: Best Practices

The Safari development team at Apple has made a dedicated effort to implement Web standards. This means that the easiest way to ensure optimal rendering of your pages in Safari is by following the standards. Doing so will also guarantee optimal rendering in Mozilla, Opera and Internet Explorer for Macintosh. Of course, each of these browsers has its own minor quirks or legitimate differences of interpretation, so testing your site in all of them is still mandatory

SourceForge.net: Project Info - flickrj

SourceForge.net: Project Info - flickrj: "Java wrapper for the Flickr REST API."

Ajaxian Blog: Confluence gives us nice Ajax usage

Ajaxian Blog: Confluence gives us nice Ajax usage: "Atlassian has added a few new features to their new versions of Confluence, a quality Wiki.
One item to show is their component which lists all pages in a nice tree. The Ajax approach now means that ALL of the data doesn't have to get loaded at once (which could grow to be very large). Only the high level nodes get loaded, and then ajax lazily loads any that the user actually navigates too."

jlibrary

Martin Perez's Weblog: "Finally, after several months of hard work, jLibrary beta2 is available. jLibrary has been developed by a Spanish group of people after several months working. Any JDK of the 1.4.X series is recommended. jLibrary hasn't been tested with anyother JDK. "

The Inaugural "Fedex Day" - Atlassian meets Google's 20%

rebelutionary: The Inaugural "Fedex Day" - Atlassian meets Google's 20%: "Widely publicised is each Google engineers 20% playtime - simply put as I understand it, the idea is that each engineer gets to spend 20% of their time working on non-core projects, which might lead to future gains for Google.
Now letting your engineers run wild one day a week sounds very scary indeed to any manager, but its very intriguing. Who knows if it wont work elsewhere? So after an in depth lunch time conversation, we decided wed do an experiment in the office and see how it worked in our development teams.
Thusly born was Fedex Day - a mini, experimental, heavily bastardised, Atlassian version of Googles 20% playtime."

Borland open sources JBuilder

Borland Software is releasing code from its core JBuilder integrated development environment (IDE) into the Eclipse open source community after a surprise drop in first-quarter sales.
The company hopes to offset JBuilder's R&D expenses by putting the suite into Eclipse, where the open source community would - theoretically - drive API and feature improvements.

Reverse Engineering OS X

Get yourself a blog and harness the power of good people and the internet to help you reverse engineer OS X

Thursday, April 21, 2005

bobbyvandersluis.com | Ten good practices for writing JavaScript in 2005

bobbyvandersluis.com | Ten good practices for writing JavaScript in 2005

Free 128mb flash drive from Insight

Complete the information and answer a few quick questions and they'll send you a FREE 128MB flash memory drive. Enjoy!

Free 128mb flash drive from Insight

Complete the information and answer a few quick questions and they'll send you a FREE 128MB flash memory drive. Enjoy!

Wednesday, April 20, 2005

The Ultimate JSP Tabs!

The Ultimate JSP Tabs!: "The Ditchnet JSP Tabs Taglib provides an incredibly simple toolkit for adding rich, sophisticated tabbed-pane GUI components to web-based user interfaces. The Tabs Taglib combines the powerful features of DHTML, Java, and JSP to allow you to create web-based tabbed interfaces that behave in a manner remarkably similar to what you would expect from a rich client toolkit like Java Swing.
The Tabs Taglib utilizes JavaScript and DHTML to respond to client-side, user-initiated events, while leveraging JSP and the Servlet API for rendering the tabbed components and persisting the state of individual selected tabs.
This means that the Tab components respond to user events without annoying round-trips to the server, but still manage to persist their state in the user's session -- accessed through the Servlet API's HttpSession. So the Tabs respond and repaint immediately but effortlessly persist their state!"

How to use Tiles with JSF Applications

View topic - How to use Tiles with JSF Applications:Struts Forum,JDO Forum,Javascript FOrum:View topic - How to use Tiles with JSF Applications: "This short downloadable example project demonstrates how you can use JSF with Tiles"

WWWOFFLE simple proxy server

The WWWOFFLE Homepage: "The wwwoffled program is a simple proxy server with special features for use with dial-up internet links. This means that it is possible to browse web pages and read them without having to remain connected.
Basic Features
Caching of HTTP, FTP and finger protocols.
Allows the 'GET', 'HEAD', 'POST' and 'PUT' HTTP methods.
Interactive or command line control of online/offline/autodial status.
Highly configurable.
Low maintenance, start/stop and online/offline status can be automated. "

Wiring Your Web Application with Open Source Java

ONJava.com: Wiring Your Web Application with Open Source Java: "Building non-trivial web applications with Java is no trivial task. There are many things to consider when structuring an architecture to house an application. From a high-level, developers are faced with decisions about how they are going to construct user interfaces, where the business logic will reside, and how to persist application data. Each of these three layers has their own questions to be answered. What technologies should be implemented across each layer? How can the application be designed so that it is loosely coupled and flexible to change? Does the architecture allow layers to be replaced without affecting other layers? How will the application handle container level services such as transactions? "

MySQL Optimization

MySQL Optimization, part 2: "While optimization is possible with limited knowledge of your system or application, the more you know about your system, the better your optimization will be. This article, the second of two parts, covers some of the different points you will need to know for optimizing MySQL. It is excerpted from chapter six of the book MySQL Administrator's Guide, by MySQL AB (Sams, 2004; ISBN: 0672326345)."

Is AJAX worth adopting?

Is AJAX worth adopting? - JAVA J2EE PORTAL: "AJAX is everywhere. In a remarkably short time, AJAX has become the most talked about topic in Java circles.

Why is AJAX so hot? Google deserves the credit for that. Google has kept surprising users with amazing user interfaces on Gmail, Maps, Suggest and what not. We saw GMail, we said 'Wow this GMail interface is awesome!', assumed that the Google guys had worked very hard on their Javascript and forgot about it. We knew there was some bigger explanation to it, but we didn't care.

However once this Google approach got a name and a following, it could not be ignored. It now became something that every techie had to atleast be aware of."

AJAX Matters - Asynchronous JavaScript and XML and XMLHTTP development information

AJAX Matters - Asynchronous JavaScript and XML and XMLHTTP development information: "AJAX Matters is an informational site about AJAX (short for 'Advanced Javascripting and XML' or 'Asynchronous JavaScripting and XML') and how these technologies are applied to web development."

DWR - Ajax and XMLHttpRequest made easy

DWR - Ajax and XMLHttpRequest made easy: "DWR is easy Ajax. XMLHttpRequest without any hassle. It makes it simple to call Java code directly from Javascript. It gets rid of almost all the boiler plate code between the web browser and your Java code.
So you don't need to create servlets and web.xml entries for all your code, you don't need struts config files or JSF magic incantations, no writing Actions or implementing some special interface. Just you, DWR, Java, HTML and Javascript.
DWR gives you a jump-start to being able to create GMail type interactivity. We are gradually moving to a web where more and more is done dynamically, and love it or lothe it that means Javascript. DWR makes the Javascript easier by giving you a set of examples of how to create dynamic sites."

Tuesday, April 19, 2005

Building an Infrared Transmitter for Your PC | Hardware Secrets

Building an Infrared Transmitter for Your PC | Hardware Secrets: "Building an Infrared Transmitter for Your PC"

Who Needs Load Balancing?

Server Load Balancing Review: "Large enterprises, 'mission-critical' Web sites who demand maximum uptime and server performance and others can benefit from load balancing solutions. Service providers who need the ability to deploy additional servers quickly and transparently to users, and Web sites which experience bursts of high-traffic also benefit from multiple servers in a clustered environment.
For Web site owners who desire near 100% uptime, higher availability, redundancy, scalability - load balancing user-requests is a very effective solution. "

Drill Down Edit Screens with JSF

index: "One of the really neat features of JavaServer Faces as a technology is the capability to very simply create multi-row editiable tables using the various dataTable components. Sometimes, however, you might want to do things in an old-fashioned way where you have a tabular view of read only data, from which you select a commandLink (hyperlink) or some other UI element to drill down into an edit screen for that particular record. "

Simplifying Java with Jakarta Commons Lang

As enterprise Java developers, we are routinely required to implement functionality like parsing XML, working with HTTP, validating input, and processing dates. The Jakarta Commons project is an attempt to create components that can take care of all such commonly used tasks, freeing up your time to focus only on core business solutions. In this article we will provide a quick introduction to the Jakarta Commons project and then demonstrate how the Lang component within Jakarta Commons can be used to handle and simplify everyday Java tasks such as string manipulation, working with dates and calendars, comparing data objects, and sorting objects. For all examples, we will use the latest version of Lang, version 2.1.

IBM eServer iSeries in the news

IBM eServer iSeries in the news: "iSeries in the news"

Six Ways to Jump-Start Your Day

Monday, April 18, 2005

Cheap Stingy Bastard

Gotta love them bargains!

Writing for the Web

The purpose of these pages is to offer guidance on writing Web pages

No Need to Stew: A Few Tips to Cope With Life's Annoyances

Elastic Design: A List Apart

It can be difficult to move from a static, pixel-based design approach to an elastic, relative method. Properly implemented, however, elastic design can be a viable option that enhances usability and accessibility without mandating design sacrifices

PreciseJava.com - Best practices to improve performance in JMS

Best practices to improve performance in JSP

Best practices to improve performance in Servlets

Smart phone silently runs up $9,000 bill

Smart phone silently runs up $9,000 bill: Seattle businessman Don Etsekson has his life wired. A simple cable allows him to synchronize computers at home, at the office and in his pocket every day like clockwork.

But an onslaught of illegal spam and unrequested downloads to his new 'smart phone' racked up a $9,000 bill -- for being wireless

Best practices to improve performance in JDBC

Best practices to improve performance in EJB

j2se 5.0 / jdk 1.5 available on Iseries V5R3

This coverletter describes what steps you need to take to get J2SE 5.0 (also known as Java Development Kit 1.5.0) operational on your iSeries server. J2SE 5.0 is product 5722-JV1 Option 7

Before you order and install J2SE 5.0, you need to have V5R3M0
5722-JV1 Option *BASE installed on your iSeries server. You
also
need to have Java Group PTF SF99269 #5 or later on hand because
this
will need to be applied after J2SE 5.0 is installed on the
server.
This Group PTF is also orderable on media through Fix Central
(www-912.ibm.com/eserver/support/fixes/).

J2SE 5.0 is only available as orderable media and cannot be
downloaded
electronically.

Sunday, April 17, 2005

: What's the Big Deal about SQL?

: What's the Big Deal about SQL?: "What's the Big Deal about SQL?"
Tired of not knowing what SQL is? Any serious application developer is going to need to learn some SQL at some point in their career. And once you start learning it, you'll use it. A lot.

Bob quietly borrows internet service from 3 neighbours at once

PBS | I, Cringely . April 14, 2005 - A Cup of Bandwidth

iCLOD is an open-ended online city exploration game

XMoo Network > Partners: "iCLOD is an open-ended online city exploration game.
You are a tourist who comes to iCLOD City with only $5,000 in your pocket. Your mission is to acquire Fame, Strength, Intellingence and Wealth in this city, however you do it.
CLOD is a Turn- & Time-based game. You have 24 hours a day to explore the city and complete tasks as required. Once all hours have been used up, you have to wait for the next turn in the following day. If you didn't complete all available hours, the game will reset your hours at the end of the day, equivalent to day-dreaming and wasting your life away. "

Saturday, April 16, 2005

Make your digital photos comic book-ey

Comic Art Effect for your photos: "Use this baby to convert your digital pictures and scans into comic book style illustrations. Nothing can take the place of talent ...except for maybe a relative who works high up in the business...but this tutorial will get the idea across without requiring much artistic talent at all"

RIDICULOUSLY SENSITIVE CHARGE DETECTOR

Build this simple "electronic electroscope," a FET electrometer:
This simple circuit can detect the invisible fields of voltage which surround all electrified objects. It acts as an electronic "electroscope."

Regular foil-leaf electroscopes deal with electrostatic potentials in the range of many hundreds or thousands of volts. This device can detect one volt. Its sensitivity is ridiculously high. Since "static electricity" in our environment is actually a matter of high voltage, this device can sense those high-voltage charged objects at a great distance. On a low-humidity day and with a 1/2 meter antenna wire, its little LED-light will respond strongly when someone combs their hair at a distance of five meters or more. If a metal object is lifted up upon a non-conductive support and touched to the sensor wire, the sensor can detect whether that object has an electrostatic potential of as little as one volt!

Turning your mobile into a magnetic stripe reader

Turning your mobile into a magnetic stripe reader: "Exploring my new Siemens MC 60 mobile I discovered an interesting feature. It has the ability to record small pieces of sound with its integrated microphone and store them as WAV files, so that you can use them later as personalized ring tones, etc. This suggests that the MC60 has a builtin ADC just the same as computer soundcards have. In fact every mobile must have an ADC to send voice because transmission is digital, not like in traditional analog cable telephones, but simply the ADC is not accessible to users, it is transparently used during communication.

The recording feature made me think that I might use the mobile as a magnetic stripe reader, just like I did with computers with soundcard. After some tests I had successful results, so here is the process in case you are interested in doing the same. I only did it with the Siemens MC60, but there are a lot of chances that it can be repeated with other mobiles of similar features.In order to use your mobile as a magnetic stripe reader it must comply with certain requisites, but even those might not be sufficient, only experience will tell you"

LEDMeter is a free program for displaying computer statistics on an array of LEDs via the parallel port

LEDMeter is a free program for displaying computer statistics on an array of LEDs via the parallel port

CPU utilization - you can monitor individual CPUs, or an average of all CPUs in the system.
Memory utilization - including advanced statistics such as page faults and paging rates, cache misses, and more.
Network bandwidth - rates of bytes and packets in and out, TCP/IP connections, ping times, etc.
Hard drive usage - read/write times, utilization time, etc.
OS information - number of processes running, uptime, time spent in system calls, and more.
Program information - monitor CPU, memory, and other resources used by individual threads or processes.

NadaBlog: Building An Effects Pedal Board

NadaBlog: Building An Effects Pedal Board: "Building An Effects Pedal Board"

Make your own story with public domain images

Make your own story with public domain images: 'Wasting Precious Time' gives you give you a set of pictures to work with, you arrange them anyway you please, and write a story with them. When you're done, just save and publish it, and the whole world can see it. All the pictures come from collections on archive.org. I like this one about insects that capture and carry restaurant guests away.

Nutter embeds an RFID tag in his hand to easily open his car door

Interview with RFID implanterAmal embedded a RFID tag in his hand to easily open his car door, home and to be used as his "password" for a Windows login prompt all by simply waving his hand.

Bad web pages are fragile, cranky, and impossible to maintain

Bad web pages are fragile, cranky, and impossible to maintain: If you look at the source and there seems to be ten times as much markup as there is content, you're in trouble. If you see HTML tags that are completely indecipherable, you're in more trouble. If you can't tell what all that ten tons of elephant dung in your web page does, you're in biiiiiig trouble. Fire up your web page editor and try to edit the web page you last worked on six months ago, or try to edit it with a different web page editor: oops! Microsoft (etc.) just released a new browser. Oh noooooo!

The 25 most difficult questions you'll be asked on a job interview

The 25 most difficult questions you'll be asked on a job interview: "If you are one of those executive types unhappy at your present post and embarking on a New Year's resolution to find a new one, here's a helping hand. The job interview is considered to be the most critical aspect of every expedition that brings you face-to- face with the future boss. One must prepare for it with the same tenacity and quickness as one does for a fencing tournament or a chess match. "

Teach Yourself Japanese

Teach Yourself Japanese: "The purpose of this site is to provide a way to learn Japanese by yourself. I would like to introduce you Japanese, and I will be glad if you are interested in it. I focus on the similarities and differences between Japanese and English.

If you really want to master Japanese, I recommend you to buy a good textbook and a dictionary, because I think it is vocabulary, not grammar, that is the key to mastering a language. I do my best to make my site good, but the number of words described here is still limited."

Good Online Sources for Free Books

Good Online Sources for Free Books?hydopower asks: 'I recently stumbled upon a collection of online libraries. This was fascinating to me, but too many of them cost money or offer Google Print-like limited functionality. I decided to put together a list of sites that offer free books in a format that would allow a person to actually read through them. As Slashdot readers are known for being well read and for enjoying free things, I figured I'd tap into the knowledge pool here. Any suggestions?'

User Interface Design For Programmers

Joel on Software - User Interface Design For Programmers: "Most of the hard core C++ programmers I know hate user interface programming. This surprises me, because I find UI programming to be quintessentially easy, straightforward, and fun.
It's easy because you usually don't need algorithms more sophisticated than how to center one rectangle in another. It's straightforward because when you make a mistake, you immediately see it and can correct it. It's fun, because the results of your work are immediately visible. You feel like you are sculpting the program directly."

Free DNS service - Easy, web-based domain manager - ZoneEdit.com

Free DNS service - Easy, web-based domain manager - ZoneEdit.com: "Dynamic DNS - Full free dynamic DNS support allowing cable modem, dsl, and dial up users to run web sites on your home pc. "

Welcome to EveryDNS.net -- our project to provide free dns services to the internet community

EveryDNS.net: "Welcome to EveryDNS.net -- our project to provide free dns services to the internet community.

We provide static DNS services as well as many advanced services such as Dynamic DNS resolution, Secondary service, AXFR service, and domain2web redirection.

Since our start in June of 2001 we have proved to be a reliable and secure service and we have no intention of changing that. A $15-$30 dollar donation is appreciated to help our services grow and improve. Thank you for your support of this free service"

When it comes to slackers, there are three types of people

When it comes to slackers, there are three types of people:

  • People who never slack. These people stress out for years, have bulging neck veins and die of early heart attacks.
  • People who slack all the time. These people live in their parent's basement.
  • People who slack some of the time. That's the rest of us. Embrace it.

Nine things you can do to make your web site better

Nine things you can do to make your web site better: "Nine things you can do to make your web site better"

opensourceCMS.com - Try before you install!

opensourceCMS.com: "This site was created with one goal in mind. To give you the opportunity to 'try out' some of the best php/mysql based free and open source software systems in the world. You are welcome to be the administrator of any site here, allowing you to decide which system best suits your needs."

This guy has had some funny experiences in Japan

I am a Japanese School Teacher: "In August 2003 I moved to Kyoto, Japan as a part of the JET program. I am an assistant language teacher in three Jr. High schools. The experience has been...interesting to say the least. Interesting enough to warrant it's own editorial. "

Small Business tips and resources for small business

Small Business tips and resources for small business: "One of the biggest mistake an entrepreneur can make is in focusing on what their product or service is. What you can do for the customer is what is important; always concentrate on how your product and services will benefit your customer.


The simple fact is that no matter how brilliant your product is and how much value it offers, if people don't trust your company and then they won't buy from you. Your site needs to look like it is a commercial website rather than an amateur home page."

Drag n' Drop in JavaScript

Drag n' Drop in JavaScript: "Direct manipulation, particularly drag and drop, is under utilized in desktop applications and is almost non-existant in web applications. The following examples demonstrate that direct manipulation is possible in modern browsers. "

Sun Loses $61 Million

Sun Loses $61 Million: Sun Microsystems failed to meet Wall Street expectations Thursday when it posted a $61-million loss due to a 1 percent decrease in sales during its third fiscal quarter

Windows to Linux: A Beginner's Startup Guide

Windows to Linux: A Beginner's Startup Guide: If you have any experience with Windows, the switch to Linux will be relatively simple. Truly, the biggest challenge is to find the tools and applications you need in Linux. This beginner HOW-TO article will hopefully give you plenty of ideas how to access those key tools and how they relate to Windows.

Ubuntu is Amazing, Linux for Human Beings. Wow, count me in.

Russell Beattie Notebook - Ubuntu is Amazing: "I'm up late geeking out with with Ubuntu, the Linux distrib that's getting all the attention lately. And deservedly so, it's pretty amazing so far. Why do I say that? Well, because I'm sitting here on my old Toshiba laptop, browsing the web via WiFi on the latest version of FireFox and seeing all this with great anti-aliased fonts, and the amount of effort on my part to get all this working was zero. I slid in the Live CD and everything just works and looks great. "

Thursday, April 14, 2005

How to get a perfect shave

How to get a perfect shave : Lifehacker: "MSNBC�s got a fluffy yet informative piece on the �lost art� of the perfect shave, from ye olde classic non-disposable razor to wet chin method to an old-fashioned hot-towel and cut-throat barbershop jobbie. Boys, give this a read if nicks, cuts and rashes are a regular occurrence for you."

Cycling Fixed Gear

Paul Makepeace's On: Cycling: Fixed Gear: "Riding 'fixed' no gears, no freewheel: the preserve of leathery-skinned veterans and battle-hardened couriers, or a discipline for the average cyclist? "

Create posters from any image

Create posters from any image : Lifehacker

What Development Tools Do You Use?

Ask TheServerSide: What Development Tools Do You Use?: "Not every task performed during development can be done in Visual Studio. Do you model your system using Visio or Rose? Do you run source code analysis using FxCop or perhaps a customized build tool like NAnt? What tools make up your development experience? Will your use of these tools change with Visual Studio Team System?

If you were creating a standardized development toolset, what would you include?"

Personally, im all over WDSC and Eclipse, oh yeah, and Green Screen! - Colin.

opensourceCMS.com

opensourceCMS.com: "This site was created with one goal in mind. To give you the opportunity to 'try out' some of the best php/mysql based free and open source software systems in the world. You are welcome to be the administrator of any site here, allowing you to decide which system best suits your needs."

WholeNote - The On-Line Guitar Community - with guitar lessons OLGA guitar tab music chords scales and other goodies...

WholeNote - The On-Line Guitar Community - with guitar lessons OLGA guitar tab music chords scales and other goodies...: "WholeNote is a place where all the some-time, full-time, part-time, and not-enough-time guitarists can go to grok musical knowledge and contribute what they know to their fellow players. Even if you only know one lick or wrote one chord progression in your life, you can put it up on WholeNote and someone will be able to find it and learn from it. Over time, we've been growing a musical resource that could never have existed before the web, a living music instruction book that keeps writing itself everyday (and plays all the music at your own speed). "

How to Cook a Simple Curry "Anything"

How to Make a Simple Curry "Anything" : Joe Grossberg: "How to Make a Simple Curry 'Anything'"

Free online pronunciation guides + dictionary : ESL + 9 languages

Free online pronunciation guides + dictionary : ESL + 9 languages: "The world's most visited pronunciation practice website "

DNS cache poisoning diverts surfers to malicious sites

SANS - Internet Storm Center - Cooperative Cyber Threat Monitor And Alert System - Current Infosec News and Analysis:

DNS cache poisoning involves the practice of hacking into domain name servers and replacing the numeric addresses of legitimate Web sites with the addresses of malicious sites. The scheme typically redirects Internet users to bogus Web pages where they may be asked for sensitive information or have spyware installed on their PCs, an online assault that has also become known as pharming.
In early March, ISC first warned of DNS cache poisoning attacks that were redirecting users to Web sites hosting malicious software, including spyware. The attacks involved several different technologies, including Microsoft server software and security applications made by antivirus specialist Symantec."

IBM hiring Firefox programmers

IBM hiring Firefox programmers: Builder AU: Manage: At Work: "In the newest indication that Firefox has become mainstream, IBM is trying to hire programmers to adapt the open-source Web browser to work well with Big Blue's server software. "

Managing Component Dependencies Using ClassLoaders

ONJava.com: Managing Component Dependencies Using ClassLoaders: Java's class loading mechanism is incredibly powerful. It allows you to leverage external third-party components without the need for header files or static linking. You simply drop the JAR files for the components into a directory and arrange for them to be added to your classpath. Run-time references are all resolved dynamically. But what happens when these third-party components have their own dependencies? Generally, it is left up to each developer to determine the full set of required components, acquire the correct version of each, and ensure that they are all added to the classpath properly.

But it doesn't have to be like this; Java's class loading mechanism allows for more elegant solutions to this problem.

Techdirt Corporate Intelligence: Techdirt Wireless RIM Paid $450 Million For Patents That Aren't Valid

Techdirt Corporate Intelligence: Techdirt Wireless RIM Paid $450 Million For Patents That Aren't Valid: "RIM Paid $450 Million For Patents That Aren't Valid"

Logemann Blog

Logemann Blog: "Tomcat 5.5 JMX with MC4J"

Google is offering free hosting of video clips

Google is offering free hosting of video clips: "Google is offering free hosting of video clips and will even allow you to set up a price for downloads. This could be major, or not."

Top Java Integrated Development Environments (IDE)

Top Java Integrated Development Environments (IDE): "Top Java Integrated Development Environments (IDE) is a round-up of the best IDEs to get your projects rolling. From the Eclipse 'tool platform' to the hardcore Emacs JDEE, if it is not in this list, then you may not want to consider using it. If you are a beginning developer or otherwise want to eschew IDEs, pick a Top Java Editor instead. I used the venerable VIM for several years to do Java and C++ development with great satisfaction."

MyFaces tiles support working.... AWESOME

Rick Hightower's Sleepless Night in Tucson : Weblog: "MyFaces tiles support working.... AWESOME!"

Put Struts to work with a FREE book on Struts Best Practices

ObjectSource LLC - J2EE Consulting, Mentoring and Training: "Put Struts to work with a FREE book on Struts Best Practices"

The basics and strengths of Struts
How to fill the gaps in Struts
Which features are important for J2EE projects.
Develop professional Struts code by adopting proven strategies
How to handle exceptions in production Struts applications in the BEST way
Real practical benefits of customizing Struts
Best Practices and Strategies in Struts

download the Book
Companion workbook
Struts training slides