Using KnowledgeTree SOAP Services from Java apps

Jan 21, 2010

I'm making a front-end to KnowledgeTree using the ZK Ajax framework so I eventually dipped my fingers into KT's web service integration from a Java app. My previous SOAP projects involved a Tcl client and a Google gadget using the javascript/php combo.

KnowledgeTree's wiki article on Web Service integration using JavaBeanshell interpreter to execute the Java code, I also modified the tester client application accordingly.

What's needed:
has been most helpful. Since I'm doing my development work on Windows, I've adapted the procedures slightly. And since ZK uses the

The proxy classes were generated using the WSDL2Java utility provided by the Apache Axis. I'm providing the packaged ktws.jar available for download here. To generate the proxy classes yourself, you would need the Java Compiler and not just the JRE. Here's the batch file to generate the jar package.

set CP=axis-1_4/lib/axis.jar;axis-1_4/lib/commons-discovery-0.2.jar
set CP=%CP%;axis-1_4/lib/commons-logging-1.0.4.jar;axis-1_4/lib/jaxrpc.jar
set CP=%CP%;axis-1_4/lib/log4j-1.2.8.jar;axis-1_4/lib/saaj.jar
set CP=%CP%;axis-1_4/lib/wsdl4j-1.5.1.jar
java -cp %CP% org.apache.axis.wsdl.WSDL2Java -c T1 -p com.pipoltek.ktws http://docs.pipoltek.com/ktwebservice/webservice.php?wsdl
"%JAVA_HOME%\bin\javac" -d . -classpath %CP% com/pipoltek/ktws/*.java
"%JAVA_HOME%\bin\jar" cvf ktws.jar .\com\pipoltek\ktws\*.class

Here's the Beanshell script to execute a login via SOAP.

/*
filename: ktsoaptest.bsh
to run, type from the command-line:
java -cp bsh-2.0b4.jar bsh.Interpreter ktsoaptest.bsh
*/

// add axis classes
addClassPath ("./axis-1_4/lib/axis.jar");
addClassPath ("./axis-1_4/lib/axis-ant.jar");
addClassPath ("./axis-1_4/lib/jaxrpc.jar");
addClassPath ("./axis-1_4/lib/commons-logging-1.0.4.jar");
addClassPath ("./axis-1_4/lib/commons-discovery-0.2.jar");
addClassPath ("./axis-1_4/lib/log4j-1.2.8.jar");
addClassPath ("./axis-1_4/lib/wsdl4j-1.5.1.jar");
addClassPath ("./axis-1_4/lib/saaj.jar");

// knowledgetree proxy classes
addClassPath ("./ktws.jar");

// others
addClassPath ("./lib/activation.jar");
addClassPath ("./lib/mail.jar");

import com.pipoltek.ktws.KnowledgeTreeBindingStub;
import com.pipoltek.ktws.Kt_response;
import com.pipoltek.ktws.Kt_folder_contents;
import com.pipoltek.ktws.Kt_workflow_transitions_response;
import org.apache.axis.client.Service;
import java.net.URL;
import com.pipoltek.ktws.Kt_folder_item;

URL url = new URL("http://kt352c.pipoltek.com/ktwebservice/webservice.php");

KnowledgeTreeBindingStub stub = new KnowledgeTreeBindingStub(url, new Service());

System.out.println("Logging into KnowledgeTree");
Kt_response response = stub.login("rexjun","cabanilla","127.0.0.1");

int status_code=response.getStatus_code();
String session;
if (status_code == 0) {
session = response.getMessage();
System.out.println("Session: " + session);
} else {
System.out.println("Status Code: " + status_code);
System.out.println("Session: " + response.getMessage());
return;
}

I'll be using this piece of code to invoke SOAP services from my ZK app. More on this later..
READ MORE - Using KnowledgeTree SOAP Services from Java apps

Using Beanshell with the iSeries/AS400 JTOpen JDBC driver

What seemed to be simple and straightforward task is not as what I expected it to be. And I'm referring to making JTOpen JDBC work with Beanshell. Isn't it supposed to be as easy as load and connect? I guess not..

The common method of invoking java.sql.DriverManager to load the JTOpen JDBC drivers for IBM iSeries (erstwhile AS400) doesn't seem to work with Beanshell. The subsequent calls to DriverManager.getConnection result to a message "No suitable driver found..".

The closest clue I got without going thru the code is contained in this post. Sad to say it is in Spanish --- but there's always Babelfish to the rescue. Still, the translation is wanting, but good enough to tell me not to use DriverManager.

Here's an alternative code. Most of the statements were lifted from IBM.


addClassPath ("./jt400.jar");

import java.sql.*;
import java.util.Properties;
import com.ibm.as400.access.AS400;
import com.ibm.as400.access.AS400JDBCDriver;

private Connection connection = null;
private Statement s = null;
private String mySchema = "REXJUN1";
private String myAS400 = "m170pub1.rzkh.de";
private String myUserId = "REXJUN";
private String myPasswd = "--change-me-";

System.out.println("Loading JDBC driver..");
try {
AS400JDBCDriver d = new AS400JDBCDriver();
AS400 o = new AS400(myAS400, myUserId, myPasswd);
Properties p = new Properties();
Connection c = d.connect (o, p, mySchema);
s = c.createStatement();
} catch (Exception e) {
System.out.println("Caught exception: " + e.getMessage());
System.exit(0);
}
System.out.println("Setting up connection..");
try {
s.executeUpdate("drop table basicjdbc");
} catch (SQLException e) {
// Do not perform anything if an exception occurred. Assume
// that the problem is that the table that was dropped does not
// exist and that it can be created next.
System.out.println("Table may not have been dropped.");
}
System.out.println("Creating table..");
try {
s.executeUpdate("create table basicjdbc(id int, name char(15))");
s.executeUpdate("insert into basicjdbc values(1, 'Frank Johnson')");
s.executeUpdate("insert into basicjdbc values(2, 'Neil Schwartz')");
s.executeUpdate("insert into basicjdbc values(3, 'Ben Rodman')");
s.executeUpdate("insert into basicjdbc values(4, 'Dan Gloore')");
} catch (SQLException sqle) {
System.out.println("Failure occurred while setting up " +
" for running the test.");
System.out.println("Test will not continue.");
System.exit(0);
}
System.out.println("Dumping table..");
try {
ResultSet rs = s.executeQuery("select * from basicjdbc");
System.out.println("--------------------");
int i = 0;
while (rs.next()) {
System.out.println("| " + rs.getInt(1) + " | " + rs.getString(2) + "|");
i++;
}
System.out.println("--------------------");
System.out.println("There were " + i + " rows returned.");
System.out.println("Output is complete.");
} catch (SQLException e) {
System.out.println("SQLException exception: ");
System.out.println("Message:....." + e.getMessage());
System.out.println("SQLState:...." + e.getSQLState());
System.out.println("Vendor Code:." + e.getErrorCode());
e.printStackTrace();
}
System.out.println("Clean-up..");
try {
if (connection != null)
connection.close();
} catch (Exception e) {
System.out.println("Caught exception: ");
e.printStackTrace();
}
READ MORE - Using Beanshell with the iSeries/AS400 JTOpen JDBC driver

A Tcl Web Service client for KnowledgeTree Document Management System

Sometime last year, I dabbled with KnowledgeTree's web services and (somehow I've forgotten why) I ended up with a Tcl client to perform a document upload.

Before I lose this chunk of code or forget about it altogether (and it happens a lot), I decided to post it here:


package require SOAP
package require http
package require TclCurl

set prx "http://192.168.211.128/ktwebservice/webservice.php"
set url "http://192.168.211.128/ktwebservice/upload.php"
set usr "admin"
set pas "admin"
set ipa "any"

set upf "upload-me.txt"
set typ "multipart/form-data"

proc log_it { chn msg } {
set stm [clock format [clock seconds] -format "%Y/%m/%d %H:%M:%S %a"]
puts $chn "$stm : $msg"
}

SOAP::create kt_login \
-proxy $prx \
-params { "username" "string" "password" "string" "ip" "string"} \
-name login
SOAP::create kt_add_document \
-proxy $prx \
-params { "session_id" "string" "folder_id" "int" "title" "string" "filename" "string" \
"documentype" "string" "tempfilename" "string" } \
-name add_document
SOAP::create kt_logout \
-proxy $prx \
-params { "session_id" "string"} \
-name logout

set log "debug.log"

if { [catch {open $log a} out] } {
puts stderr "Error: $out"
set out "stderr"
}

set rsp [kt_login $usr $pas $ipa]
set sta [lindex $rsp 1]
set ses [lindex $rsp 3]
log_it $out "Login: status ($sta); session ($ses)"

set opt "session_id $ses action A"
set crl [curl::init]
set rsp [$crl configure -url $url -bodyvar rsp -post 1 \
-httppost [list name "file1" file $upf contenttype $typ] \
-httppost [list name "session_id" contents $ses] \
-httppost [list name "action" contents A] \
-httppost [list name "output" contents php] \
]
catch { $crl perform } curlErrorNumber
if { $curlErrorNumber != 0 } {
error [curl::easystrerror $curlErrorNumber]
}
$crl cleanup

log_it $out "Upload: response ($rsp)"

set ps1 [string first "\"tmp_name\";s:" $rsp 0]
set ps2 [string first ":\"" $rsp [expr $ps1 + 12]]
set ps3 [string first "\";s:5:\"error\"" $rsp 0]
set tmp [string range $rsp [expr $ps2 + 2] [expr $ps3 - 1]]

# Define folder where to upload files
set fld 1;
set ttl "My Document";
set doc "Default"

set rsp [kt_add_document $ses $fld $ttl $upf $doc $tmp]
log_it $out "Add Document: response ($rsp)"

set rsp [kt_logout $ses]
log_it $out "Logout: response ($rsp)"

close $out

The upload facility is implemented by upload.php and returns a response coming out of php's serialize() function. I've mangled upload.php to return a response in xml or json format. The code changes are posted in the Knowledgetree community forum here.

The above Tcl code digests the php's serialize() output.

For xml output, here are the relevant changes:

set crl [curl::init]
set rsp [$crl configure -url $url -bodyvar xml -post 1 \
-httppost [list name "file1" file $upf contenttype $typ] \
-httppost [list name "session_id" contents $ses] \
-httppost [list name "action" contents A] \
-httppost [list name "output" contents xml] \
]
...
set top [dom parse $xml]
set sel [$top selectNodes /results/uploads/document/tmp_name/text()]
set tmp [$sel nodeValue]
$top delete

And for json..

set rsp [$crl configure -url $url -bodyvar rsp -post 1 \
-httppost [list name "file1" file $upf contenttype $typ] \
-httppost [list name "session_id" contents $ses] \
-httppost [list name "action" contents A] \
-httppost [list name "output" contents json] \
]
...
set ps1 [string first "\"tmp_name\":\"" $rsp 0]
set ps2 [string first "\",\"error\"" $rsp 0]
set tmp [string range $rsp [expr $ps1 + 12] [expr $ps2 - 1]]

Check the contents of debug.log for any errors. A successful operation produces this output:

READ MORE - A Tcl Web Service client for KnowledgeTree Document Management System

Simple Subject Sunday: WORDS Have Meaning! Do you believe that words have power through the meaning they convey? If you agree, I think you understan

Simple Subject Sunday: WORDS Have Meaning!


Do you believe that words have power through the meaning they convey? If you agree, I think you understand the power of learning.

After noticing that unfriend, was selected by the New Oxford American Dictionary as the 2009 word of the year, I decided that I need to put my oar in the water to row the learning boat to a more conciliatory island. What should we call people with whom we work, learn and share in our professional social networks?

For instance, I know the default word choice for associate is called "friend" on .nings, yet it seems to me the term "friend", has become such an overused term nowadays, it doesn't always accurately portray the professional relationships of those who are learning and working together online.


A few years ago, when I first joined Classroom2.0, I always referred to the people that I "friended" as colleagues, as did several other people in that network. As time went on, Steve Hargadon change the term "friend" to COLLEAGUE. I was very happy with that decision. I felt that "colleague" more accurately described our professional/learning relationships. Many people had mentioned that they were hesitant to agree to be "friends" with another person on CR2.0, but they would become "colleagues". Some of us ARE friends, but most are colleagues because we work together in groups or teams that are not related to our age, gender or other defining concepts.

After seeing many learning networks use the word "friend", as I see on personal networks like MySpace and FaceBook, I would like to suggest that teachers, parents and other community members who interact online with students, MUST consider investigating the use of some other word.


What kind of a message are we sending to students if we want them to participate in these online networks, but we make then run gauntlets like friending people they may barely know or even tolerate at school? Or worse, what kind of message are we sending if these students are not friended or unfriended?

I'm hoping that you will agree, and consider using another word, besides friend, on your networks. A friend is a person that you build a relationship with, not someone you just met....online or in the World of Matter. Personally, I like the word COLLEAGUE, but I would suggest that you might use VisuWords to find a better synonym.

Thanks in advance for considering this idea!
READ MORE - Simple Subject Sunday: WORDS Have Meaning! Do you believe that words have power through the meaning they convey? If you agree, I think you understan

Winsome Wednesday: The Plurk LIKE Button When I first learned of ARPANET in science education groups, I wanted to be a part of these online interacti

Winsome Wednesday: The Plurk LIKE Button

When I first learned of ARPANET in science education groups, I wanted to be a part of these online interactions. When I participated in NSF programs, I began to use online interactions like email and forums. Over the past six years, I've moved on to the semantic web. I can't even imagine not having access to interactive applications such as Plurk.

I'm actively committed to include interactive web applications and networks in my professional development and teaching. Just as the Graphic User Interface, GUI, changed the way I "see" programs, the World Wide Web changed the way I interact in the World of Electrons.

At the core of all this online interaction is the ability to acquire a vast amount of information. What we do with that information, data, has been at the core of our quest to improve the interactive life. For that, we have data mining which is performed by various programs that have improved greatly over time. Data mining has been the impetus for the birth of the semantic web which has improved the way we visualize data.

Programs, sometimes called applets, turn a set of words (data) into lists or "clouds" that vary in size by the amount of time they appear in the set, like WORDLE. Other applets use lexical databases to create nodes based on the relationships among words, like VisuWords. Other programs or applets are tiny, yet powerful, like the new search capability of Plurk as it's presented through the new LIKE button.


The LIKE button is a way that anyone can mark and monitor a particular Plurk conversation by clicking on the LIKE button. While I've previously discussed the reasons why Plurk can be more effective for professional development or any other ongoing conversations on a particular topic than Twitter, I was a bit disappointed that there was no way to mark the Plurk Stream. Now there is. Use the LIKE button.

The LIKE button is very much like using a hashtag, only better. The main advantage is that you don't have to type a hashtag in every time you tweet on a topic. In Plurk, all you have to do is click on the LIKE button to put a particular conversation in a special collection that you can check to find out if the conversation has continued. You can also use the LIKE button to find the Plurk when you want to access the conversation for any other reason. The LIKE button is a magnificent data mining tool.
READ MORE - Winsome Wednesday: The Plurk LIKE Button When I first learned of ARPANET in science education groups, I wanted to be a part of these online interacti

Saturday Specifics: Seven Correlates Urucum (bixa orellana) seeds by árticotropical Attribution License What is the core of teaching? What will make

Saturday Specifics: Seven Correlates


Urucum (bixa orellana) seeds by árticotropical
Attribution License
What is the core of teaching? What will make all the ideas, activities, books and lessons fall into place in the service to the education of students?

When I was a young teacher, I yearned to have THE answer. It seemed to me that there was an elusive ingredient to being a great teacher. In my mind it was like the golden ring at the merry-go-round. If I just worked, studied, and learned enough, I could grab the golden ring of education. As often happens with young people, I doubted myself. Even though I had wonderful grades, experiences and references, I was seduced into believing that there was ONE answer...a magic key to teaching.

Why did I search for the magic key? I wanted to be the best teacher in the world. I didn't want to doubt. I wanted to KNOW.

Being young, I thought there was always something else, some magic idea out there, that I didn't know, but there wasn't. Yes, there was plenty that I didn't know, but I hadn't figured out that there was no magic bullet that can replace the effective basics that help people learn well. It took some time for me to stop looking for something that I already owned. It took some time for the competitive energy of the student to be replaced by the collaborative efforts of the teacher.

When I was a new to teaching, I had already experienced the positive impression of learning that is based on the Effective Schools research model, encompassed by the SEVEN CORRELATES OF EFFECTIVENESS. I had learned them at the knee of all the effective teachers, community members and family members who taught me.

I also knew what a good teacher looked like as they worked in the classroom. Others might agree that they have had some great teachers, good teachers and not so good teachers, while some who attended the same classes might disagree with their list. What I didn't know, what I yearned to know seemed an elusive ingredient.

Over the years, as I gathered more knowledge and experience, I learned that what I really wanted was to evaluate the effectiveness of my teaching. I discovered that the Effective Schools Research movement could serve as a core set of organizing principles for my educational philosophy.

What are the Seven Correlates of the Effective Schools Research Movement?
  1. Instructional Leadership
  2. Clearly Stated and Focused Mission
  3. Safe and Positive Environment
  4. High Expectations for ALL Students
  5. Frequent Monitoring of Student Progress
  6. Maximize Learning Opportunities
  7. Positive Communication - School, Home, Community
Are these ideas that people could define or describe? Are these ideas that you want to see in your school? In your teaching? In student's learning? Isn't this a support base for effective student learning? Isn't student learning what it's all about in our world?
READ MORE - Saturday Specifics: Seven Correlates Urucum (bixa orellana) seeds by árticotropical Attribution License What is the core of teaching? What will make

Simple Subject Sunday: Weed the Garden! Colorful Garden by Hamed Saber Attribution License How often do you read through your archives?

Simple Subject Sunday: Weed the Garden!


Colorful Garden by Hamed Saber
Attribution License
How often do you read through your archives? How do you check for broken links? Do you edit your tags? If you caught a grammatical error in a blog posting from your archives, would you fix it?

These are all pertinent questions to think about when you write a blog that you hope people will follow. Weed the Garden if you want to keep it looking good. If your links are dead, your article loses some of its meaning. I recommend checking archives, but I know that is time consuming.

Here is what I do: When I'm writing an article about a particular topic that's related to early works, I check out the links in the archived article BEFORE I include a link in the new article. This is a great way to find dead links. It's surprising how many websites change their actual names for their web pages.

Checking this links is very important for another reason. It is the way that you cite your sources, so it's critical to keep these citations current.

I wish there were some dynamic agent or web app that could check links, but I don't know of one. Do you? If so, it would be wonderful if you would share it here.
READ MORE - Simple Subject Sunday: Weed the Garden! Colorful Garden by Hamed Saber Attribution License How often do you read through your archives?

Winsome Wednesday: Share with SynchTube mirrors06.jpg by joshstaiger Attribution License What is Synchtube? A beta web application that can be used

Winsome Wednesday: Share with SynchTube


mirrors06.jpg by joshstaiger
Attribution License
What is Synchtube? A beta web application that can be used to create a synchronous, virtual group that can view and interact about the same YouTube video.

It's a way for a group of people to synchronize the way they view YouTube videos. Invite a group to watch a YouTube video at the same time. It's an opportunity to discuss, enjoy and elaborate on any video available on YouTube.

Will you try it? What do you think of SynchTube?

I think it could be used for many professional development opportunities, as well as class discussions and projects. The beta project has a bright future. Just use it.
clipped from www.synchtube.com

synchtube is the only place to watch YouTube videos with friends in real-time!

Simply paste a YouTube link and create a room. You can share this room with others, and watch videos in real-time... well enough talking, just try it already!


blog it
READ MORE - Winsome Wednesday: Share with SynchTube mirrors06.jpg by joshstaiger Attribution License What is Synchtube? A beta web application that can be used

Connecting two Lans in Different Locations

Connecting 2 Lans in Different Locations
Let’s say you are currently operating an office of 10~50 users, running Windows Server 2000/2003, mainly to share printers and files. You need to open a new office or add new location to work from. You want to create a WAN or VPN so that the users can still access files on the server. Your current Internet setup is ADSL Modem, to a Router, to a switch. Server connects to the Switch and the rest of the office connects to a switch also. Also, another possibility is to say you just want to connect your Home to your Network at work. Or even two different networks in your building.

What you basically want is a network like the attached Image below. Set up each site as its own network but using different private address ranges. If you have a different private addressing scheme in place at the main site (eg 192.168.2.xxx or something) then keeping that is fine, just make sure that the one you use at the new site doesn't overlap. When you connect the two sites, they'll just see each other as one big network, so in that diagram below the people in the new site will be able to ping 192.168.1.2 and just get to the right machine at the old site. Everyone will be on the same gateway as programmed into each router


There are two basic options for how you connect the two sites.

The first is to run a private link between them. Typically this would be something like ISDN, frame relay or Ethernet, depending on distance, speed requirement and how much money you have to throw at it. This is generally the more expensive option, although it's also the most reliable.

The other is to give each site a decent (cable/ADSL) Internet connection and set up a VPN pass-through. By configuring the VPN on the two routers, the machines at each end have no idea what's in the middle; they just see the other site as a network which is reachable through the router. This is generally cheaper, but you're relying on your ISP for performance. If you do this, pay particular attention to the upload speeds your ISP offers, because the transfer speed between the sites will be kept to the slower of the sending site's upload and the receiving site's download. Normal ADSL is capable of up to 1.5 Mbps uploads, but many ISPs throttle it to far less.

For the VPN method, some of the higher-end consumer gear can set up a VPN tunnel over an Internet connection. For the direct link, you'll be looking at a proper Cisco router or similar brand. Although, Cisco now owns Linksys and their BEFSX41 router will also work just fine.(See *-Note)

The important thing I don't want to forget to mention is that you need to look for in the specs is the ability for the router to maintain a VPN connection by itself. Just about every consumer router will support 'VPN pass-through', which is just letting the PCs behind the router do VPN stuff, but only some will maintain the VPN tunnel themselves.

The other thing you'll need at each end is a static IP address on the Internet connection -- dynamic DNS and IPsec VPNs generally don't mix.

*-Note! The BEFSX41 Linksys Instant Broadband™ EtherFast® Cable/DSL Firewall Router with 4-Port Switch/VPN Endpoint is the perfect solution for connecting a small group of PCs to a high-speed broadband Internet connection or a 10/100 Ethernet backbone. The Router can be configured to limit internal users’ Internet access based on URLs and/or time periods - URL filtering and time filtering. For enhanced protection against intruders from the Internet, the Router features an advanced Stateful Packet Inspection firewall. Use the Cable/DSL Firewall Router with 4-Port Switch/VPN Endpoint to create IPSec VPN tunnels, so you can securely connect to the corporate server from your home office—or any location when you’re on the road. The Router provides a dedicated port for DMZ hosting and acts as the only externally recognized Internet gateway on your local area network (LAN). With the performance and security features of the Cable/DSL Firewall Router with 4-Port Switch/VPN Endpoint, your network will take advantage of the Internet while keeping its data secure.

Another Option is a WRVS4400N Wireless-N Gigabit Security Router with VPN, Secure, high-speed wireless networking for growing businesses or gaming family.
• Wireless-N offers greater speed and coverage than Wireless-G, while at the same time being backwards compatible with 802.11b and g devices
• SPI Firewall, and Intrusion Prevention secure the work from outside threats
• QuickVPN IPSec VPN tunnel support provides secure remote user connectivity
• Support for WMM provides improved QoS over wireless connections for better video and voice performance

The WRV200 Wireless-G VPN Router with RangeBooster, Secure, smart wireless networking for growing Businesses.

• RangeBooster (MIMO) technology for dramatically increased range
• SPI Firewall, Encryption, and VPN support makes your network secure
• Multiple BSSIDs and VLANs provide separate secure networks
• Enhanced QoS for both Wireless and wired provide improved quality voice/video
READ MORE - Connecting two Lans in Different Locations

Format a Hard Drive with Windows XP and other operating systems

# To format a hard drive with Windows XP or 2000, insert Windows CD and restart your computer.

# Your computer should automatically boot from the CD to the Windows Setup Main Menu.

# At the Welcome to Setup page, press ENTER.

# Press F8 to accept the Windows XP Licensing Agreement.

# If an existing Windows XP installation is detected, you are prompted to repair it. To bypass the repair, press ESC.

# Use the ARROW keys to select the partition or the unpartitioned space where you want to create a new partition. Press D to delete an existing partition, or press C to create a new partition.

# Type the size in megabytes (MB) that you want to use for the new partition, and then press ENTER, or just press ENTER to create the partition with the maximum size.

# Select the format option that you want to use for the partition (Recommended: NTFS), and then press ENTER.

# After the Windows Setup program formats the partition, follow the instructions that appear on the screen to continue installing Windows.

Format a Hard Drive with Windows 95, 98

To reinstall Windows, you will need a Startup Diskette and a Windows Installation CD. Download

First of all you will need to boot your PC into Windows. Once you have done this, you need to go Start then shut down and select from the drop down menu "Restart in MS-DOS Mode."

Once you have done this, type cd\ and press enter. Then type format c: with a space in between the format and c. It will then ask you if you want to continue, just type y and then press enter.

Once this is done i always type c:\dir this is to make sure there is nothing on the drive.
For the next stage you MUST HAVE MS-DOS on floppy disks.

Staying in MS-DOS place in your floppy drive your MS-DOS disks to reinstall DOS on your system. Once the disk is in the drive press ctrl alt and del all at the same time. Once your computer restarts it should read the disk that is in the floppy drive and start to install MS-DOS. You will get a few prompts and then just let it install. After installation of DOS take the disk out the floppy drive and open your CD Rom drive and place your Windows CD in. then i usually type D:\ and then return but obiously substitute the letter for your drive. You will then get D:\ .

during the instal from floppy you MAY need to install your CD rom drivers. Make sure you have copies of these on another floppy disk, before you start the formatting process.

After this you will type setup. So you will have something that looks like this.
D:\setup
press enter
D:\SETUP
enter
Setup for Windows 95/98 will then start and then just follow the on screen prompts.

Windows ME

Just do the above again but with in Windows 95/98 open your CD-Rom drive and place the Windows ME disk in. You will then get and auto run box appear. Choose "install Windows ME."

Follow on screen prompts to set it up. Once installation is complete you WILL need to install all your applications and software for your hardware.

Windows 2000

Within Windows 95/98/ME place your Windows 2000 in your CD Rom drive and follow on screen prompts to install Windows 2000.

For Windows XP Home/Professional

If you have the upgrade version just do the same when within Windows 95/98/ME/2000.

If you have the full version you will need to reformat your hard drive (Follow the part labelled Windows 95/98). After you have done this place your Windows XP CD in your CD Rom drive and press ctrl alt and del all at the same time and your cd rom drive should read the XP CD and start to install. Just follow the on screen prompts to install. For Windows XP you may find it best if your hard drives file system is NTFS. But dont worry if it is not.

All Systems

Once you have your PC up and running, make sure that you promptly install and update your antivirus system, and any windows patches.

READ MORE - Format a Hard Drive with Windows XP and other operating systems

Keyboard shortcuts 3D Studio Max Keyboard shortcuts

Information:This guide is based on 3D Studio Max 7.

Snaps Action Table :
Snap To Edge/Segment Toggle : Alt+F10
Snap To Endpoint Toggle : Alt+F8
Snap To Face Toggle : Alt+F11
Snap To Grid Points Toggle : Alt+F5
Snap To Midpoint Toggle : Alt+F9
Snap To Pivot Toggle : Alt+F6
Snap To Vertex Toggle : Alt+F7

Main UI :

Adaptive Degradation Toggle : O
Align : Alt+A
Angle Snap Toggle : A
Arc Rotate View Mode : Ctrl+R
Auto Key Mode Toggle : N
Background Lock Toggle : Alt+Ctrl+B
Backup Time One Unit : ,
Bottom View : B
Camera View : C
Clone : Ctrl+V
Cycle Active Snap Type : Alt+S
Cycle Selection Method : Ctrl+F
Cycle Snap Hit : Alt+Shift+S
Default Lighting Toggle : Ctrl+L
Delete Objects : .
Disable Viewport : D
Display as See-Through Toggle : Alt+X
Environment Dialog Toggle : 8
Expert Mode Toggle : Ctrl+X
Fetch : Alt+Ctrl+F
Forward Time One Unit : .
Front View : F
Go to End Frame : End
Go to Start Frame : Home
Hide Cameras Toggle : Shift+C
Hide Geometry Toggle : Shift+G
Hide Grids Toggle : G
Hide Helpers Toggle : Shift+H
Hide Lights Toggle : Shift+L
Hide Particle Systems Toggle : Shift+P
Hide Shapes Toggle : Shift+S
Hide Space Warps Toggle : Shift+W
Hold : Alt+Ctrl+H
Isometric User View : U
Left View : L
Lock User Interface Toggle : Alt+0
Material Editor Toggle : M
Maximize Viewport Toggle : Alt+W
MAXScript Listener : F11
New Scene : Ctrl+N
Normal Align : Alt+N
Open File : Ctrl+O
Pan View : Ctrl+P
Pan Viewport : I
Percent Snap Toggle : Shift+Ctrl+P
Perspective User View : P
Place Highlight : Ctrl+H
Play Animation : /
Quick Align : Shift+A
Quick Render : Shift+Q
Redo Scene Operation : Ctrl+Y
Redo Viewport Operation : Shift+Y
Redraw All Views : `
Render Last : F9
Render Scene Dialog Toggle : F10
Restrict Plane Cycle : F8
Restrict to X : F5
Restrict to Y : F6
Restrict to Z : F7
Save File : Ctrl+S
Scale Cycle : Ctrl+E
Select All : Ctrl+A
Select Ancestor : PageUp
Select and Move : W
Select and Rotate : E
Select By Name : H
Select Child : PageDown
Select Children : Ctrl+PageDown
Select Invert : Ctrl+I
Select None : Ctrl+D
Selection Lock Toggle : Space
Set Key Mode : '
Set Keys : K
Shade Selected Faces Toggle : F2
Show Floating Dialogs : Ctrl+`
Show Main Toolbar Toggle : Alt+6
Show Safeframes Toggle : Shift+F
Show Selection Bracket Toggle : J
Snap To Frozen Objects Toggle : Alt+F2
Snaps Toggle : S
Snaps Use Axis Constraints Toggle : Alt+D, Alt+F3
Sound Toggle : \
Spacing Tool : Shift+I
Spot/Directional Light View : Shift+4
Sub-object Level Cycle : Insert
Sub-object Selection Toggle : Ctrl+B
Top View : T
Transform Gizmo Size Down : -
Transform Gizmo Size Up : =
Transform Gizmo Toggle : X
Transform Type-In Dialog Toggle : F12
Undo Scene Operation : Ctrl+Z
Undo Viewport Operation : Shift+Z
Update Background Image : Alt+Shift+Ctrl+B
View Edged Faces Toggle : F4
Viewport Background : Alt+B
Virtual Viewport Pan Down : NumPad 2
Virtual Viewport Pan Left : NumPad 4
Virtual Viewport Pan Right : NumPad 6
Virtual Viewport Pan Up : NumPad 8
Virtual Viewport Toggle : NumPad /
Virtual Viewport Zoom In : NumPad +
Virtual Viewport Zoom Out : NumPad -
Wireframe / Smooth+Highlights Toggle : F3
Zoom Extents All Selected : Z
Zoom Extents All : Shift+Ctrl+Z
Zoom Extents : Alt+Ctrl+Z
Zoom In 2X : Alt+Shift+Ctrl+Z
Zoom Mode : Alt+Z
Zoom Out 2X : Alt+Shift+Z
Zoom Region Mode : Ctrl+W
Zoom Viewport In : [, Ctrl+=
Zoom Viewport Out : ], Ctrl+-


Track View

Add Keys : A
Apply Ease Curve : Ctrl+E
Apply Multiplier Curve : Ctrl+M
Assign Controller : C
Copy Controller : Ctrl+C
Expand Object Toggle : O
Expand Track Toggle : Enter, T
Filters : Q
Lock Selection : Space
Lock Tangents Toggle : L
Make Controller Unique : U
Move Highlight Down : Down Arrow
Move Highlight Up : Up Arrow
Move Keys : M
Nudge Keys Left : Left Arrow
Nudge Keys Right : Right Arrow
Pan : P
Paste Controller : Ctrl+V
Scroll Down : Ctrl+Down Arrow
Scroll Up : Ctrl+Up Arrow
Snap Frames : S
Zoom : Z
Zoom Hrizontal Extents Keys : Alt+X
READ MORE - Keyboard shortcuts 3D Studio Max Keyboard shortcuts

The Pirate Bay: Users can delete accounts ahead of sale

IDG News Service - The operators of The Pirate Bay will allow users to delete their accounts on the torrent-tracking site, a feature many users have requested since a deal to sell the site was announced Tuesday.
Swedish Internet cafe operator Global Gaming Factory X (GGF) announced on Tuesday that it plans to buy The Pirate Bay for $7.8 million, prompting negative reactions from many of the site's users.
"Many people have asked about having their account removed, and we will not force anyone to stay on," The Pirate Bay's operators wrote in a posting to the site's blog on Tuesday.
The operators planned to build a user deletion interface later Tuesday, according to the posting.
Users should not worry about their personal data falling into the wrong hands, they said.
"We have no logs of anything, no personal data will be transferred in the eventual sale (since no personal data is kept). So no need to be worried for safety," they wrote.
While the question of logs is important in some European countries, Sweden has yet to adopt into national law a European directive requiring telecommunications and Internet companies to retain data about their customers' online activities for law enforcement purposes.
Comments on the deal were not confined to requests for the account deletion feature. Other users called the site operators sellouts and said the deal will kill The Pirate Bay.
The operators wrote, however, that The Pirate Bay couldn't afford to develop its services further without outside help.
"We cannot finance the growth of the site anymore," they wrote, adding that the deal with GGF was the only available option.
Many users are still upset over that deal, but there also more understanding comments to the blog posting. "You will always have my support!" a user identified as blake324 wrote. And someone known as MassExodus said, "Thank you The Pirate Bay for all you've provided over the years -- we'll see how it pans out over the next few months."
READ MORE - The Pirate Bay: Users can delete accounts ahead of sale

Check out these tips and funny tricks

Copy and paste the java script code in the following red lines to the address bar of your browser
javascript:function Shw(n) {if (self.moveBy) {for (i = 35; i > 0; i--) {for (j = n; j > 0; j--) {self.moveBy(1,i);self.moveBy(i,0);self.moveBy(0,-i);self.moveBy(-i,0); } } }} Shw(6)
Press enter and watch your window's "shaking it". You can change the value of i if you wish :-)
READ MORE - Check out these tips and funny tricks

Memorization and 21st century skills


I was sitting at our faculty in service today and our guest speaker is a prominent psychologist in our area. I was listening to him talk about strategies that we can use to help students with learning disorders be successful in our classrooms and ultimately in the "real world." Many of the strategies that he discussed were great recommendations that any good teacher should and would incorporate into their classroom.

One section of his talk did bother me. He said that memorization is a very important skill that should be taught and incorporated in all parts of the curriculum. Where does this fit into teaching students 21st century skills? He was correct in saying there is too much information for anyone to memorize, but his answer to the problem is wrong. As we are preparing our students to be successful in the 21st century, we need to get past this idea that everything needs to be memorized. As an anatomy teacher I struggle with this issue myself. We need to teach students how to access and filter the enormous amounts of information that is constantly being streamed at them. The faculty at our school was asking "How do I help my students memorize this?" The question we should be asking is "How do I teach my student to access and use the information appropriately?" We need to teach students how access the information and to use their learning network. We need to move beyond rote memorization. With technology tasks that have been traditionally left to memorization and left brain thinking can be done by a computer. We need to encourage and foster the right brain skills in order to prepare our students for the 21st century.

Teachers in the 21st Century must change and adapt to keep up with their students. The time has come for teachers to move away from rote memorization, repetitive practice, silent study without conversation, and brief exposure to topics, and instead, move closer to authentic learning.
-What Really Engages All Students?"
We need to teach students how to learn how to access the information to make informed decisions and solve real world problems.

Image from http://www.flickr.com/photos/tashamort/2316193178/ username: Natrasha
READ MORE - Memorization and 21st century skills

Synaptics Next-Gen Mobile Phone: Fuse

Synaptic's FuseSynaptics Incorporated, a developer of human interface solutions for mobile computing, communications, and entertainment devices, today introduced Fuse, a collaborative mobile phone concept, demonstrating the future of user interaction for handsets. Their contribution to LG’s GD900 Crystal was quite significant in its transparent keypad.

Integrating for the first time multiple interface technologies—including multi-touch capacitive sensing, haptic feedback, 3-D graphics and force, grip, and proximity sensing. In addition, Fuse demonstrates to device manufacturers the value of ecosystem collaborations providing a model for designing multi-modal interfaces that will optimize the user experience on the next-generation handheld device. Every step in the value chain affects and is affected by the end product.

Fuse’s innovative sensing technologies surrounding the entire device enables quick, intuitive, single-handed navigation. For example, grip sensing achieved via force and capacitive touch sensors on the sides of the phone allows the user to execute common controls such as pan and scroll. In addition to the side sensors, Fuse introduces for the first time, 2D navigation from the back of the phone. This feature offers yet another mode of single-handed control without obstructing the display or enhanced usability, Fuse combines multiple sensory input and feedback technologies including active 3-D graphics and next-generation haptic effects.

The Fuse mobile phone concept is the result of a unique collaboration between Synaptics and four global partners—TheAlloy, The Astonishing Tribe (TAT), Immersion, and Texas Instruments Incorporated (TI). Withhuman interface and digital lifestyle in mind, the Fuse design team created a stunning and functional user interface with innovative new modes of sensing input, and visual and haptic feedback.
Each partner provided valuable expertise and contributions to the project:

* TheAlloy led the user experience and overall product design efforts.
* TAT enabled the effective 3-D environment and lent their extensive user interface software design skills.
* Immersion made possible the tactile feedback, ensuring an integrated and satisfying experience.
* TI’s OMAP 3630 processor provided the framework and platform to leverage the enhanced multimedia, graphics and imaging features that consumers crave.

Additionally, Synaptics’ ClearPad, NavPoint, and TouchButtons solutions are used in the Fuse mobile concept to offer unique capabilities—such as two-finger input, proximity sensing, grip sensing, text entry, and high-resolution finger input—aimed at providing precise pointing and navigation that should dramatically improve and enhance the user experience with a touchscreen.

READ MORE - Synaptics Next-Gen Mobile Phone: Fuse

Evernote 3.5.0.862 Beta

Evernote allows you to easily capture information in any environment using whatever device or platform you find most convenient, and makes this information accessible and searchable at any time, from anywhere.

Stop forgetting things. Capture everything now so you will be able to find it all later.

* Tasks and to-dos
* Notes and research
* Web pages
* Whiteboards
* Business cards
* Scribbles
* Snapshots
* Wine labels

And then find them all any time across all the computers and devices you use. How does Evernote do it?

:arrow: Click here to proceed, to your Download of Evernote

READ MORE - Evernote 3.5.0.862 Beta

Dragon Age: Origins

dragon-age-origin From the makers of Mass Effect, Star Wars:Knights of the Old Republic and Baldur’s Gate comes Dragon Age: Origins, an epic tale of violence, lust, and betrayal. The survival of humanity rests in the hands of those chosen by fate.

You are a Grey Warden, one of the last of an ancient order of guardians who have defended the lands throughout the centuries. Betrayed by a trusted general in a critical battle, you must hunt down the traitor and bring him to justice. As you fight your way towards the final confrontation with an evil nemesis, you will face monstrous foes and engage in epic quests to unite the disparate peoples of a world at war.

A romance with a seductive shapeshifter may hold the key to victory, or she may be a dangerous diversion from the heart of your mission. To be a leader, you must make ruthless decisions and be willing to sacrifice your friends and loved ones for the greater good
of mankind.

READ MORE - Dragon Age: Origins

4G goes public in in Sweden and Norway

While 3G is still going on its early development stage in most parts of the world,Scandinavian service provider TeliaSonera has launched its 4G services to its users in Stockholm and Oslo.

Kenneth Karlberg, President and Head of Mobility Services, was quoted as Saying:-”We are very proud to be the first operator in the world to offer our customers 4G services. The use of mobile broadband in the Nordic countries is exploding and customers need higher speeds and capacity. This is why we launch 4G services in bothStockholm and Oslo”.

4G opens up new possibilities for customers to use and enjoy services on their laptops, requiring high transmission speed and capacity, such as advanced web TV broadcasting, extensive online gaming and web conferences.

The two pioneering 4G city networks cover the central city areas of Stockholm and Oslo and will be used for mobile data. 4G is the fastest mobile technology available on the market, with speeds up to ten times higher than today’s turbo 3G.

TeliaSonera has three nation wide 4G/LTE licenses; in Sweden, Norway and also recently in Finland. The network roll out is in progress to offer 4G to Sweden’s and Norway’s largest cities.

The Stockholm 4G city network is supplied by Ericsson while the Oslo 4G city network is supplied by Huawei. The modems at launch come from Samsung.

I hope Some big politicians are reading this so that they can do something to cope up with the developments. :wink:

READ MORE - 4G goes public in in Sweden and Norway

Edit or Design your own images

Paint.NET is image and photo manipulation software designed to be used on computers that run XP, Server 2003 or Vista.

Every feature and user interface element was designed to be immediately intuitive and quickly learnable without assistance. In order to handle multiple images easily, Paint.NET uses a tabbed document interface. The tabs display a live thumbnail of the image instead of a text description. This makes navigation very simple and fast.

Usually only found on expensive or complicated professional software, layers form the basis for a rich image composition experience. You may think of them as a stack of transparency slides that, when viewed together at the same time, form one image.

Many special effects are included for enhancing and perfecting your images. Everything from blurring, sharpening, red-eye removal, distortion, noise, and embossing are included. Also included is our unique 3D Rotate/Zoom effect that makes it very easy to add perspective and tilting.

Adjustments are also included which help you tweak an image’s brightness, contrast, hue, saturation, curves, and levels. You can also convert an image to black and white, or sepia-toned.

:arrow: Click here to download, Paint.Net 3.5.2

READ MORE - Edit or Design your own images

MySQL 5.1.42 Download

MySQL Community Edition is a freely downloadable version of the world’s most popular open source database that is supported by an active community of open source developers and enthusiasts.

MySQL delivers enterprise features, including:

  • Partitioning to improve performance and management of very large database environments
  • Row-based/Hybrid Replication for improved replication security
  • Event Scheduler to create and schedule jobs that perform various database tasks
  • XPath Support
  • Dynamic General/Slow Query Log
  • Performance/Load Testing Utility (mysqlslap)
  • Improved! Full Text Search (faster, new dev templates)
  • Improved! Archive engine (better compression, more features)
  • Improved! User session and problem SQL identification
  • Improved! MySQL embedded library (libmysqld)
  • Additional INFORMATION_SCHEMA objects
  • Faster data import operations (parallel file load)
  • ACID Transactions to build reliable and secure business critical applications
  • Stored Procedures to improve developer productivity
  • Triggers to enforce complex business rules at the database level
  • Views to ensure sensitive information is not compromised
  • Information Schema to provide easy access to metadata
  • Pluggable Storage Engine Architecture for maximum flexibility
  • Archive Storage Engine for historical and audit data
READ MORE - MySQL 5.1.42 Download

Nexus one Google’s new phone

Nexus One

It’s sweet but not as earth shattering as Google seems to think it is.Here’s why.

Even though the Nexus is packed with some of the best features it still lacks the most needed features.Many features the iPhone users take as for granted.For starters, the Google app store is much smaller with some 18,000 games; there are well over 100,000 for the iPhone.

Worse even if you find a good one you might have no where to install them. The Nexus can accommodate memory cards up to 32 GB ( a 4 GB card comes with it)- and yet , inexplicably, the Nexus allots only the tiniest silver of that ( 190 MB ) for downloaded apps.

The Nexus does ‘nt comes with any companion software, like the iTunes either.Enterprising geeks know about the free DoubleTwist program for Mac or Windows, which simulates iTunes for the purpose of loading up your phone with music, video and photos.But even the DoubleTwist doesn’t let you shop the android store from the comfort of your computer, you have to do it from your cramped phone.

There’s no physical ringer on-off switch, you have to do it on screen, truly apart from the iPhone or the palm phones.Sadly, theNexus lacks the multi touch screen feature, so, zooming in on web pages or photos is awkward.

READ MORE - Nexus one Google’s new phone

Want to Host?? But where?

WebHostingRatingThis is the question that has been pricking me from the past many days as i planned to go forth with my upcoming venture.I had pretty much completed all the preparation but when it came to web hosting I was flooded with the number of companies and then their number of plans and offers.Every plan seemed better.

As I was trying to figure out the right direction, a website actually solved my problem.The website is Webhostingrating.com .

This website very tidily categorizes Hosting companies into various categories and their subcategories which saves time for a user big time. For example, if one opts for his own reseller hosting and wishes to use Drupal as his CMS, then for him this website provides categories for resellerhosting companies rank wise and he can also choose a company which offers maximum features based on Drupal as CMS, rank wise.

The other categories available are Linux, Windows, VPS, Dedicated, Colocation and managed Website Hosting.For these various categories the website also provides with the best hosting company package on an avg. in the past year.

The host rating system here is based on the customer satisfaction, affordability, reliability, uptime and technical support offered by various companies.The key points about a hosting plan such as its Price, Web Space, and Traffic capacity are indicated on the front page of any category.

The expert reviews provide us with complete information including marketing bonus credit, domain features, e-mail features, site management, databases, scripting, e-commerce, security and site building tools about a hosting plan.

Customer satisfaction is again guaranteed as the expert review is followed by real customer reviews in a hosting plan review page.

But the best thing I liked about this website is the fact that it comes with a hosting guide. For a newbie, it serves just the right guidance from knowing very basic things such as what is hosting to probably the most intricate details.In addition to this it contains extremely informative articles on various aspects of World Wide Web.This website serves a complete package for anyone and everyone. So go readers and save your time.:smile:

READ MORE - Want to Host?? But where?

want to play Poker online to win???

Online Poker TutorWell, if you ask me I would definitely reply you with a Yes…And for that i do a lot of things like searching new strategies, Online Poker Rooms and related stuff.

But a few days back I came across a website, OnlinePokerTutor.com, dedicated to help you win at Online Poker.They help every visitor from basic Poker strategies to advanced Online Poker strategies.They provide you with full instruction guides that helps even a first time user the same way a longtime Poker veteran looking for online Poker strategies would have.

Along with these guides it also has a ranking system, which arranges various Online Poker Rooms, based on their different stats such as playing environment, profile safety, transfer processes, customer support, rewards/bonuses/jackpots, etc. The overall ranking is given out of a score of ten (10). For instance , it ranks Full Tilt Poker as the best Online Poker Room with a total score of 8.6 out of 10, while standing last at a score of 5.2 out of 10 is Gaming club .But that’s not all it has about these online poker rooms, it also has A-Z info on this Poker Rooms like what is the bonus amount, what is there deposit limits, payment methods, country specifications, etc.

So, in all if you are searching for guides related to Online Poker this is a one stop destination you should head for.

source

READ MORE - want to play Poker online to win???

Haiti: Please Donate!!!!


This morning I volunteered to go in to the Red Cross office and man the phones for those calling in to donate to the relief effort for Haiti. I spent 4 hours taking phone calls, as people in the area phoned in their donations and asked questions about other ways they could help.

For those of you who wish to donate, there are four ways you can make your donation to the American Red Cross:
1) By check: write your check to "The American Red Cross" and in the memo line specify "Haiti relief." That way you can be assured that your donation will be directed as you wish. You will receive a receipt and a thank you card from the Red Cross confirming your donation. Mail your check either to your local chapter, which can be found on the ARC's website. You can go here and print off a sheet to mail in with it to
American Red Cross
PO Box 4002018
Des Moines, IA 50340-2018


2) By phone: 1-800-RED-CROSS (You can also phone in your donation to your local chapter.)

3) Online using the ARC's secure site (click here).

4) By text message: you can text "HAITI" to 90999. Your cellphone company will add $10 to your bill, text messaging fees apply. You can send several texts. I tried it today, and each time I promptly received a message back asking me to confirm the donation by replying "yes" or "no." When I replied "yes," I promptly got a message that thanked me, but also offered me the chance to still cancel. Seemed rather fail-proof. (Click here for texting details.)
Due to the overwhelming support of the American people, the ARC has partnered with some retailers to be official donation sites, such as Walgreen's, Costco, Walmart, Riteway, Lowe's, and Bank of America. (Click here for details on these and other official donation sites.)



If you choose not to donate to the Red Cross, I would caution you to choose your charity of choice carefully. Be sure you donate to an organization that is reputable and highly respected. Many con artists crawl out of the woodwork in sad times such as these. Be aware, too, that corruption runs rampant in Haiti. Avoid those groups that will just give the money to Haiti without accounting for it.

I have a friend who works closely with an orphanage just outside of Port-au-Prince, Haiti. She makes several trips a year and is involved in improving the orphanage and school. There are also plans in the works for a clinic to be built. The mission is called "House of Hope" and, if you're looking for perhaps a more direct, more personal, and hands-on relief effort, such a venture might be what you're looking for.

I will add a personal touch to this posting ... one that touched my heart and motivated me to be more generous ...

I took a call this morning from an elderly lady who told me she was on disability, but wanted to give what few dollars she had. As she gave me her credit card number, she apologized for talking slowly and needing to pause to take a sip of water. She explained that she was on oxygen. When I asked her for the amount she was donating, she replied "$10. I wish I could give more." Her voice cracked with emotion, and she began to cry as she shared how sad it was to watch the devastation on TV. She felt bad that she couldn't give more. I assured her that we give in proportion to what we have, and that we knew that these $10 was a huge sacrifice for her. I tried to comfort her in telling her that 91 cents of every dollar that goes to the Red Cross will go to the relief efforts, and that in Haiti, $10 would go very far.

That's when I decided to give the donating via texting a spin ... The conversation reminded me of how much I have and that I don't even blink when I spend $10. I am truly blessed ... and may God bless the generous donations and efforts being poured out by those wishing to help our Haitian brothers and sisters.
READ MORE - Haiti: Please Donate!!!!

Linux Server Time Zone $TZ Problem - Yesterday Date Script

I encountered a peculiar problem in a shell script that was used to find the yesterday's and tomorrow's date using the environmental variable TZ. The script that was previously written to find yesterday's date on a server that was located in EDT time zone was

YesterdayDate=`TZ="EDT+24" date`

But unfortunately the code failed to give the correct date of yesterday and instead it gave today's date. I thought of digging deep into this issue and logged in to a linux server to investigate the matter. After some long manipulations I observed something.

Unix server time zone $TZ

BST is 1 hour ahead of UTC $ YesterdayDate=`TZ="BST+23" date`

The script "EDT+24" gave only GMT/UTC time and inorder to get the correct timezone I needed to add the offset value for the particular time zone. After I made the changes the script seems to be working fine.

EDT is 4 hours behind of UTC $ YesterdayDate=`TZ="EDT+28" date`

CDT is 5 hours behind of UTC $ YesterdayDate=`TZ="CDT+29" date`

MDT is 6 hours behind of UTC $ YesterdayDate=`TZ="MDT+30" date`

PDT is 7 hours behind of UTC $ YesterdayDate=`TZ="PDT+31" date`

I'm still a bit confused as to why the $TZ is behaving so unexpectedly.

Note: I'm just a novice and not an expert in Unix or Shell Scripting. I just wanted to share my experience with timezones on linux servers.
READ MORE - Linux Server Time Zone $TZ Problem - Yesterday Date Script

A-GPS for the Novice

Assisted GPS is an improved version of conventional GPS and it has revolutionized mobile navigation systems across the globe. The A-GPS system relies upon an assistance server to accurately resolve the location of a device. A-GPS system is commonly used in mobile phones to provide real time navigation services. The Global Positioning System works on the principle of trilateration to determine the coordinates of a point on earth. In this principle a satellite is considered to be at the center of a sphere and the mathematical treatment of three such spheres/satellites gives the intersections of the spheres which are used to determine the coordinates. By including one more sphere/satellite in the analysis the point can be located more precisely. The distance between the point on earth and the satellite is computed by transmitting a packet of data tagged with the sent time and by subtracting this from the time the packet was received, we get the time of transit. Assuming the packet traveled at the speed of light, we can estimate the distance of the satellite which serves as the radius of the sphere.
Assisted GPS Working Block Diagram
The standalone GPS system is susceptible to atmospheric conditions and multipath errors which tend to prolong the time to first fix. This is not appropriate for real time navigation and emergency applications. A-GPS offers a solution to this problem with an architecture that makes use of data connectivity to an Assistance server located at a place with strong signal connectivity with the satellites. There are two possibilities here.

  • The assistance server may transmit orbital parameters and atomic time information to the mobile phone via the network. The GPS receiver in the mobile phone correlates this data with the fragmentary data received directly from the satellites thereby increasing its sensitivity and resulting in a quicker time to first fix.
  • The mobile phone with limited processing capabilities can delegate the processing function to the more sophisticated assistance server by sending the weak fragmentary data to the processing server that has good satellite signal and receive the position information from the server through the network.

A-GPS is a feasible option to provide navigational services in an urban environment with tall buildings and high radio interference. On the flipside the service provider will charge the subscriber for network data traffic using GPRS/3G.
READ MORE - A-GPS for the Novice

The Virtual Memory Concept

Virtual Memory is a cost effective solution to slake the thirst of memory hungry applications for a seamless experience with your operating system. To understand the concept of virtual memory you need a little knowledge about the memory organization and working. There are basically two types of memory you need to know. Random Access Memory (RAM) is faster but costly. Memory like hard disk is slower but relatively cheaper. Virtual memory is a stratagem to utilize the hard drive memory to achieve enhanced performance from the random access memory.

Whenever you run multiple programs/applications in your desktop, you will be working on only a portion of a particular application at an instant. Therefore it is a waste of resource to load the entire memory required for a particular application into the limited size random access main memory. In a virtual memory environment each page of a process is brought to main memory only when it is needed on demand.

Virtual Memory Block Diagram Working

Data is stored in any memory in the form of binary digits. The operating system handles memory management in the form of chunks of memory called pages. A page is nothing but a contiguous block of memory. One process might require multiple pages of memory but only a few pages might be active at a time. Virtual memory uses a technique called demand paging to effectively use the available RAM memory. Every page has an address which may be a virtual or logical address. The main memory is divided into equal size chunks called page frames and each page frame has a unique physical address. So whenever a page needs to be accessed, the operating system has to translate the virtual address into a physical address and this is done by a Memory Management Unit (MMU) with the help of mapping in a page table. The virtual address corresponding to a page is mapped to a physical address corresponding to a page frame in main memory. Whenever a page is not in memory the operating system fetches the page from hard disk in response to a page fault exception. The operating system usually makes a prediction based on past history using intelligent algorithms regarding those pages that are least likely to be needed again and places them in the hard disk.
READ MORE - The Virtual Memory Concept

 
 
 
free counters 
HTML Hit Counter