Tuesday, November 21, 2006

makefile and indian weddings

transcript of a tech chat by a friend- how a makefile compares to a indian wedding

(14:42:32) Wes McCullough: went to a full Hindu wedding this weekend
(14:42:39) Wes McCullough: the program was long
(14:42:45) Wes McCullough: it reminded me of a Makefile
(14:42:47) Wes McCullough: lots of steps
(14:43:19) viral shah: :-)!
(14:43:29) viral shah: wasn't your wedding a full hindu wedding?
(14:43:38) Wes McCullough: the minimum full wedding
(14:43:41) Wes McCullough: only an hour
(14:43:43) Wes McCullough: this one was like 3
(14:43:44) viral shah: mine was spread over 3 days!
(14:43:46) Wes McCullough: nice
(14:43:50) viral shah: actully 2.5 days
(14:44:00) Wes McCullough: yeah, I hear that's how it works in India
(14:44:09) Wes McCullough: they opened the buffet during the ceremony
(14:44:13) viral shah: different 'functions' in each day...
(14:44:26) Wes McCullough: so I guess they don't care about people paying attention as much
(14:44:45) viral shah: you are actually right about it resembling a make file... except that you are running make clean several times to ensure that you both are pure... :-)
(14:44:53) Wes McCullough: exactly
(14:45:06) Wes McCullough: gave me the idea to do a Hindu version of the "starting a server" twiki
(14:45:18) Wes McCullough: first you run "make clean" to invoke Ganesh to remove all obstacles
(14:45:44) Wes McCullough: then after the server is up, you run the seven queries
(14:46:01) viral shah: hmmmm, each has a different 'handler' eh?
(14:46:11) Wes McCullough: perhaps
(14:46:19) Wes McCullough: each ensures a different type of prosperity for the server
(14:46:30) Wes McCullough: one query would ensure that the server has many healthy children running

Wednesday, August 16, 2006

java learnings from subu -2

HibernateORM
ORM- object relationship mapping is a technology whihc manages persistence of objects by converting the object fields to db fields.
Hibernate is a ORM implementation whihc is now part of the apache project. There are other implementations that exist and each app server hjas adopted one of their own. Oracle app serer uses inhouse developed technology.

How to use: There is a main service class factory which needs to be mapped to a datasource name

Passing DTO/entities across containers
An often bad design is that the servlet objects use their own data model (fields) while beans use their own, thus requiring transitional message objects to be created which are often called DTO's. A better option is to align the DTO's to the entities (beans) themselves and populate them from teh servlet layer.

Transaction Control

The concept of transaction control is simple, essentially to identify a block as an atomic transaction and if any operation fails then to roll back the whole

The same can logically be achieved using multiple try catch blocks and maintaining a central global shared varible to maintain thr transaction. However there are two diadvantages compared to use of a container managerd transaction control.
1. Multithreaded bcoz prob
2. In case of a complete system crash there is no form of recovery

On ther other hand the container manages a log of these transaction and on sys crash it ffirst rolls back the old transactions with support of the db transaction manager. Ie it essentially requests the db to rollback.

How to use:

Define a transaction object=t1

set t1.begin
try{
//do transactions
t1.commit
}catch ()
{ t1.rollback}

Corba


Corba is like DCOM. And although a language idependent protocol, needs to be supported by languages.

For any method/class to be exposed as a corba call, we have to create a stub and a skelton of it using a CORBA compiler. This essentially understand the binary format of the compiled code and creates a skeleton which can call the method appropriately.

IOR: this is a an xml format descriptor for the method call, specifying the machine name, port, class name etc and all details required to identify the object and method. This is normally stored in a centralized corba registry on the server machine (which can be anywhere)

IIOP:this is the base oprotocol which is like soap and is used to marshat and transport objects.



Simple Design:


Lets take a simple scenario:1. SImple website Ui 2. Calculation intensive insuarance policy app

For both the recommended way is to use a heavier servlet layer (as control logic is more) and only a session facade for the Bean layer. For the insurance one, if transaction control is required then doing it at the bean layer may be more useful. Note hibernate comes with its own low level transaction contorl mechanism and sometimes use of it is enough.

Saturday, August 05, 2006

Java learnings and discussions with Subbu-1

Java Bean:
Nothing but a pojo ( plain old java object) with only difference in naming and use of methods. For every field to be catered to, there needs to be a set,get method. Eg setFirstName, getFirstName.

What this helps out is in file level persistence. As the methods are clearly named, the Java framework can save files (in a standard format) from the objects (persistence). This thus enables uses of beans as good interface and UI objects as they can store 'properties' very well. This can be likened to the VB programming paradigm of dragging buttons into forms and filling the correct set of properties. This is possibly the reason why Java Beans are used a plug and play type situations (acting as a facade) and in similar way in UI design via drag-and-drop.

Enterprise Jave Bean

The enterprise Java Bean essentially extens this concept to the enterprise level, taking persistence to the Database.

Types of beans
1. Session
2. Entity
3. MDB

Session beans are used via the session facade design pattern. They provide two interfaces:Home and remote. The home is used to locate the bean ? while the remote is the actual interface exposed.The way they manage persistence is using ORM technology like Hibernate.

Hibernate

In this the elements of the class to be ORMized are mapped to correspinding sql table columns and defined in a mapping file. Hibernate also provides for basic transaction control, in the form of database rollback in case of non-commit.

There is a standard sessionfactory class to be used to get the handle of a 'service' object. This service object can be used to load and save the parameters in a hibernate session. eg:

1.

Friday, August 04, 2006

golf

Chris DiMarco
Geoff Ogilvy
Zach Johnson:
John Daly:
Tiger
vijay singh
jim furyk

Sunday, July 30, 2006

PcWorld Reviews- Best 2005 products and IE utility plugins

http://www.pcworld.com/article/118794-3/article.html

http://www.pcworld.com/article/120763-12/article.html

Saturday, May 27, 2006

my thinkpad t42 model

type:2373   model:ma5   

Tuesday, May 23, 2006

Mainframe learnings


http://en.wikipedia.org/wiki/CICS
CICS: is a transaction server supporting facilities like transaction, i/o db access, db access etc. Its fucntion can be likened to an J2EE application server...the advantage lies in speed as it works on legacy mainframes. it also support distributed transaction processing, standard rpc type stuff(eg EXEC CICS LINK command)...though through proprietary methods...

EXEC CICS is an API--that has a whole suite of commands available

VSAM is essentially a record based file system. As cobol data is essentially records, this can be considered as a virtual database type filesystem. (?) the internals of the filesystem are unclear http://en.wikipedia.org/wiki/VSAM

cics for windows supports c/c++ too and has header and lib files to compile programs.Note, In CICS Transaction Server for Windows, argc is always set to
1, argv[0] contains the transaction code, and argv[1] is null.

CICS resources referes to files, programs etc available on the filessytem.


It provides for 'maps' or map sets which

?
CICS transaction
CICS program


This brings us to the point on why mainframes are fasters...which is covered later


-----------------Copy Paste-----------------
Virtual Storage Access Method (VSAM) is an IBM disk file storage scheme first used in the OS/VS2 operating system and later used throughout the MVS architecture. VSAM comprises four access methods: Key Sequenced Data Set (KSDS), Relative Record Data Set (RRDS), Entry Sequenced Data Set (ESDS) and Linear Data Set (LDS). See record-oriented filesystem.

VSAM records can be of fixed or variable length. They are organised in fixed-size blocks called Control Intervals (CIs), and then into larger divisions called Control Areas (CAs). Control Interval sizes are measured in bytes — e.g. 4K — while Control Area sizes are measured in disk tracks or cylinders.

The program IDCAMS is commonly used to manipulate ("delete and define") VSAM datasets. Custom programs can access VSAM datasets through data definitions (DD's) in Job Control Language (JCL) or in online regions such as CICS (Customer Information Control Systems.)

Both IMS/DB and DB2 are implemented on top of VSAM and use its underlying data structures.

---------------

Programs that include EXEC CICS commands are processed by the
appropriate command-language translator, which translates these commands
into programming language statements. You compile and link your translated
program in the usual way. When your program is executed, the statements
inserted by the translator invoke the API server module (FAASRSML). This
provides the service requested by a command by invoking one or more CICS
control programs.


----------------------

Transfer of control between programs, using the EXEC CICS XCTL and
EXEC CICS LINK commands. All called programs must contain an EXEC
CICS RETURN command.


---------------------

The ability to start CICS transactions and to call CICS programs from
external (non-CICS) programs running either on a server or on a client
using the following features:
External transaction initiation (ETI)
External presentation interface (EPI)
External call interface (ECI)

-----------------

Storage control
Each transaction is restricted to the storage it owns. The application fails if it
attempts to refer to other storage. If a program uses an EXEC CICS GETMAIN
command to allocate other storage areas, this storage is allocated as private,
and therefore cannot be shared by other transactions.
If you need to use shareable storage, use the EXEC CICS GETMAIN SHARED
command.
Temporary storage queues are held on disk, that is, in auxiliary storage, even
if the MAIN option is specified on the EXEC CICS WRITEQ TS command.

-------------------------

Sunday, May 14, 2006

canada skills

0213 Computer and Information Systems Managers
2281 Computer and Network Operators and Web Technicians
2147 Computer Engineers (Except Software Engineers)
2174 Computer Programmers and Interactive Media Developers

AUS PR

Computing Professional - specialising in CISSP 2231-79
Computing Professional - specialising in E-commerce Security (non-programming) 2231-79
Computing Professional - specialising in Network Security 2231-79
Computing Professional - specialising in SAP 2231-79
Computing Professional - specialising in SIEBEL 2231-79

Friday, May 12, 2006

Nice Advertisment



Compeling ad aint it? :) lol

Sunday, May 07, 2006

Thursday, February 23, 2006

great firefox extensions review list

http://pchere.blogspot.com/2005/12/50-best-firefox-extensions-for-power.html

Thursday, February 02, 2006

Restoring a mozilla backed up profile folder

Move an existing profile or restore a backed up profile

It's possible to move the location of a profile folder. This could be useful if you have a backed up profile folder somewhere on your hard drive and want to tell Firefox to use that as your profile. This section explains how to do this.

1. Shut down Firefox completely (File > Exit).
2. Move the profile folder to the desired location. For example, on Windows, move the profile from C:\Documents and Settings\[username]\Application Data\Mozilla\Firefox\Profiles\xxxxxxxx.default to D:\Stuff\MyProfile. If you are reading these instructions because you want to restore a previously backed up profile, this step isn't necessary. Just note the current location of the profile you want to restore.
3. Open up profiles.ini in a text editor. The file is located in the application data folder for Firefox:
* On Windows XP/2000, the path is %AppData%\Mozilla\Firefox * On Windows 95/98/Me, the path is usually C:\WINDOWS\Application Data\Mozilla\Firefox * On Linux, the path is ~/.mozilla/firefox/
* On Mac OS X, the path is ~/Library/Application Support/Firefox/
4. In profiles.ini, locate the entry for the profile you've just moved. Change the Path= line to the new location.
5. Change IsRelative=1 to IsRelative=0.
6. Save profiles.ini and restart Firefox.

Tuesday, January 31, 2006

ut 2003 cd key

FZLZX-73YBT-BAE4B-ZLNHM

Monday, January 30, 2006

flickr page image picker and uploader

javascript:t='';for(var n=0;n
'};if(t!=''){document.write('

Click an image to add it to your photostream

'+t+'');void(document.close())}else{alert('No images!')}

Sunday, January 15, 2006

protopage!

if u r person who normally works on multiple computers in a day...the simplest case of this being a office pc at work and a home pc/laptop at home...then this is for you: www.protopage.com

this is a online quick notes maitaining system...so that u hv the same content (read notes) even if you happen to switch computer...and ofcrse! its 24 hrs available....u can even go to ur frenz home and lookup ur tasks list or the very important number...web based means access newhere netime! neat i'd say..

useful utilz

While doing a cleanup of my NUS pc, realized that I had a lot of great progs installed which I dont use so regularly...

Among them are:
1. KissFp : a free tool which does a nice job of cleaning up the redundant stuff from FrontPage websites...reduces upload space requirments and also makes a code much more readable..

2.virtual desktop manager power toy from XP...a neat tool which lets u work with 4 windows...just like linux..and best of all, this comes from Microsoft and so is resonably safe to try..

3.window washer: always good to clean up ur tracks after u hv been upto mischief



Sunday, January 08, 2006

neat windows shutdown tool

http://shell-and-desktop.softlandmark.com/quick_shutdown_tools/Shutdown_Timer_Info.html

Unlike other shutdown tools, this one actually bypasses/closes all "End Now" windows and ensures a complete shutdown. Otherz i have seen before just trigger a shutdown but get stuck in the intermediate dialogs that MS Windows throws in an attempt to shutdown...

so this one is a highly recommended for me.

For those who are wondering to a potential use of it...here are a few scenarios that I recenly used it for:

1. Wanted to load a cd full of photos to my flickr account...so just before I went to sleep I started the flickr uploading process, put the shutdown timer to 2 hrs and dozed off..

2. One day i found myself downloading a 4gb dvd from the ineternet, and like the previous case, put it to download, started the timer for 3 hrs and slept off...

so in all, its a very useful for ppl who do a lot of batch operations on the comp/laptop...