Learn to Create Websites - Online web tutorials

At SamSchools, you will learn how to make a website. We offer free tutorials in all web development technologies. SamSchools is optimized for learning, testing, and training. Examples might be simplified to improve reading and basic understanding. Tutorials, references, and examples are constantly reviewed to avoid errors.

With our "Try it Yourself" editor you can experiment with HTML, CSS, XML, JavaScript, and see the result in your browser.

Click the following link to educate yourself :

Happy Learning  :)

18 ways to educate yourself every day (because nerds are sexy)

“Anyone who stops learning is old, whether at 20 or 80. Anyone who keeps learning stays young. The greatest thing in life is to keep your mind young.” - Henry Ford

At the start of this year I made a decision that I want to commit to myself to a pursuit of intellect. I’m already a bit of a nerd, so this wasn’t really an alien concept for me, however I quickly realized that in order for me to make educating myself a priority in my life – I would have to make it into a daily habit. Here is a list of some suggestions for small practices you could implement into your lifestyle. I would not expect anybody to do all of these things every single day, but you can choose a few, and keep your learning varied and fun! At first it may seem overwhelming, but after a few months of this you will reach a point where suddenly you feel like have access to so much more information and knowledge than you ever had before. Simple conversations and discussions with people become so much more interesting. Your brain becomes a very cool place to hang out!

Wow, I did not just say that.

1. Watch a TED talk every day.

“Riveting talks by remarkable people, free to the world.” These are the kind of bright ideas that I would like to fill my head with.

2. Read a random article of interest from www.howstuffworks.com every day.

They are quick, easy, informative, and give you a glimpse of a subject that you may decide to do more research on later!

A lovely reader recommended the podcasts “Stuff you should know” and “Stuff mom never told you” which can be found on the website.

3. Read for half an hour every day before bed.

This is such a monumental suggestion. The habit of reading for 30 minutes every day can really kick start your goal of “getting back into reading” and of course educating yourself as well. 30 minutes is not too hard to set aside at the end of the day. Just get yourself into bed 30 minutes earlier if you have to. If you read for 30 minutes every night you should be able to get through at least one book every two weeks. That’s 26 books a year (approximately). With this kind of reading rapport you are bound to make a sizable dent into your reading list.

4. Learn more about your job.

Focus more at work. Take the time to really understand why you do the things you do at work, instead of simply going through the motions. Even if this is a job you have been at for years, there is more to discover. Do some research on the company you work for, where did they come from? And what do they really do? There are great opportunities for growth and learning even in our sometimes boring 9-5 desk jobs. Although it may seem that you are just on the other end of a desk, your clients see you as an expert in your field. So make sure you are one!

5. Make learning something you do for “fun”.

Well, it should already be fun that you are taking the time to invest in yourself and learning more about your world – but you know how you could make it more fun? By getting other people involved (yay for them ;) ). You could watch documentaries with your partner or work on puzzles with your children, play trivial pursuit with your family, or discuss new and fresh topics with your friends.

6. Work on a puzzle every day.

This could be jigsaw puzzles, riddles, math puzzles etc. Anything that requires you to practice your mental acrobatics. You can buy simple “Train your brain” books from your local bookstore, that have a puzzle a day to make things really easy for you!

7. Read classics.

Something I try to force myself to do is to read books that are actually a little bit challenging – for the purpose of not only being “well read” but also having an opportunity to expand my vocabulary. Classics epitomize english language at it’s finest. I’m not saying they are always a joy to read, but boy do I feel proud of myself when I finish one.

8. Play www.freerice.com for a few minutes every day.

Work on your vocabulary whilst simultaneously feeding the hungry! You may pass GO. You may collect $200. The great thing about playing this every day is that they tend to repeat words, so you really start getting used to remembering new words that you were not initially used to.

9. Learn a new word every day.

Most of the online dictionaries have a “Word a day” feature that you can subscribe to by e-mail, or simply check online. Learn a new word every day, and make it your intention to use that word 3 times in your day.

10. Watch Documentaries.

Watching documentaries has never been easier! You can watch them on TV, and even on youtube. Sometimes I just type in a subject I am interested in and then “part 1″ and see what I can find. It’s also fun to watch documentaries on things you have no prior knowledge or real interest in.

One of my commenters has recommended BBC documentaries (I agree), in particular Planet Earth, and Wild China. National geographic has some pretty spectacular documentaries too.

I recommend Zeitgeist (you can also watch it on youtube). My boyfriend showed me this documentary and I seriously watched the whole thing with my eyes wide and my mouth open. It was truly life enhancing.

11. Follow some interesting blogs.

Find some bloggers that inspire you and fill your mind with bright ideas and thoughts, and follow them. Another option is to subscribe to a magazine that really fascinates you.

12. Take a class.

What better way to affirm to yourself that you are educating yourself – than to take an actual class? Find a topic that you wouldn’t mind learning more about, and register!

13. Learn a new language.

Are there any languages that you have been interested in learning? Well, why not start now! Take a class, get private lessons, watch videos online – whatever it is, find time in your life to immerse yourself in this new pursuit!

14. Take up a new hobby / put more effort into your current hobby.

I think everybody should have a hobby. Something that you can really throw yourself into. That you do just for fun, that makes you happy, that improves some aspect of yourself, and something you can commit to. If you can’t think of one – create one. There are plenty of hobbies out there. Pick one. Picking them is easy. Staying committed is hard. And even though hobbies are “Fun”, a degree of commitment is required if you ever plan to see some kind of result. Create a schedule in your week to really commit to your new hobby – a certain number of times a week, a  couple of hours a day – it really is up to you. Learn all about your new hobby, both the theory and the application.

15. Try new recipes.

You could buy a new cook book, subscribe to a cookery magazine, or even browse the miracle that is the internet. To make this fun, you could have themes and goals each week, like “eating healthy”, raw food, desserts, smoothies, appetizers, main courses, salads, fruits etc.

16. Practice memory games.

It’s one thing to stuff your head with all this information, its something completely different to access this information again when you really want it. No genius is considered a genius if he can’t remember what it is that he knows. By working with your memory, you can work on your ability to keep your new knowledge available for you to retrieve it.

17. Read the headlines.

My parents read the headlines every day. My mom says that I shouldn’t leave the house without having some clue of what’s going on in the world. I haven’t really implemented this much in my life yet – sometimes I just feel like the news is just so overwhelming – I don’t even know where to start (Does anyone else feel like this?!). I guess that’s why she suggested to “READ THE HEADLINES”.

I don’t think there can be anything wrong with knowing a little bit about what’s going on in the world.

18. Whenever you are making a trip somewhere, or doing something new – take the time to learn a little bit about it.

If you are ever stuck for new things to learn, this is a great way to give you some ideas. Use your life as an inspiration. If you are planning on going to a new city for the long weekend – learn about it. If you meet a new friend who is a wine merchant, learn all about being a wine merchant.

At first, I sometimes felt like I was stuck for new things to learn – which to me now feels totally ridiculous because is there really anything I couldn’t learn more about? But over time, after implementing many of these techniques, I find that my brain automatically gives me new topics to learn about. It is just INTERESTING!

And one day you are going to be able to talk about these things in discussions, and in your own mind you are going to be thinking “Wow.”

I remember a couple of years ago I had read a LOT of information about blue-whale attacks, their anatomy, their physiology, and how they ingest and digest their prey. A few months later, lo and behold – a girl in my class randomly said “Hmm I wonder what happens if you got eaten by a blue whale…”

Ah, yes. My time had come.

Here are some other resources suggested by my readers and commenters:

19. Discover what you may stumble upon when you StumbleUpon!

I don’t know how I could forget this little goldmine. I use it all the time and I love it!

20. Wikipedia

You can browse random articles on wikipedia, or you could use it as a great starting point for your own private nerdy research in an area of your choice! Awesome.

21. Play agoogleaday.com

I have not used this yet. It was a suggestion from a reader, but it looks fun!

If you have any other suggestions, let me know.  :)

20 very useful Java code snippets for Java Developers

Following are few very useful Java code snippets for Java developers. Few of them are written by me and few are taken from other code reference. Feel free to comment about the code and also add your code snippet.

1. Converting Strings to int and int to String

String a = String.valueOf(2);   //integer to numeric string
int i = Integer.parseInt(a); //numeric string to an int

2. Append text to file in Java

Updated: Thanks Simone for pointing to exception. I have changed the code.
BufferedWriter out = null;
try {
    out = new BufferedWriter(new FileWriter(”filename”, true));
} catch (IOException e) {
    // error processing code
} finally {
    if (out != null) {

3. Get name of current method in Java

String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();

4. Convert String to Date in Java

java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);
SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" );
Date date = format.parse( myString );

5. Connecting to Oracle using Java JDBC

public class OracleJdbcTest
    String driverClass = "oracle.jdbc.driver.OracleDriver";
    Connection con;
    public void init(FileInputStream fs) throws ClassNotFoundException, SQLException, FileNotFoundException, IOException
        Properties props = new Properties();
        String url = props.getProperty("db.url");
        String userName = props.getProperty("db.user");
        String password = props.getProperty("db.password");
        con=DriverManager.getConnection(url, userName, password);
    public void fetch() throws SQLException, IOException
        PreparedStatement ps = con.prepareStatement("select SYSDATE from dual");
        ResultSet rs = ps.executeQuery();
        while (rs.next())
            // do the thing you do
    public static void main(String[] args)
        OracleJdbcTest test = new OracleJdbcTest();

6. Convert Java util.Date to sql.Date

This snippet shows how to convert a java util Date into a sql Date for use in databases.
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

7. Java Fast File Copy using NIO

public static void fileCopy( File in, File out )
            throws IOException
        FileChannel inChannel = new FileInputStream( in ).getChannel();
        FileChannel outChannel = new FileOutputStream( out ).getChannel();
//          inChannel.transferTo(0, inChannel.size(), outChannel);      // original -- apparently has trouble copying large files on Windows
            // magic number for Windows, 64Mb - 32Kb)
            int maxCount = (64 * 1024 * 1024) - (32 * 1024);
            long size = inChannel.size();
            long position = 0;
            while ( position < size )
               position += inChannel.transferTo( position, maxCount, outChannel );
            if ( inChannel != null )
            if ( outChannel != null )

8. Create Thumbnail of an image in Java

private void createThumbnail(String filename, int thumbWidth, int thumbHeight, int quality, String outFilename)
        throws InterruptedException, FileNotFoundException, IOException
        // load image from filename
        Image image = Toolkit.getDefaultToolkit().getImage(filename);
        MediaTracker mediaTracker = new MediaTracker(new Container());
        mediaTracker.addImage(image, 0);
        // use this to test for errors at this point: System.out.println(mediaTracker.isErrorAny());
        // determine thumbnail size from WIDTH and HEIGHT
        double thumbRatio = (double)thumbWidth / (double)thumbHeight;
        int imageWidth = image.getWidth(null);
        int imageHeight = image.getHeight(null);
        double imageRatio = (double)imageWidth / (double)imageHeight;
        if (thumbRatio < imageRatio) {
            thumbHeight = (int)(thumbWidth / imageRatio);
        } else {
            thumbWidth = (int)(thumbHeight * imageRatio);
        // draw original image to thumbnail image object and
        // scale it to the new size on-the-fly
        BufferedImage thumbImage = new BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB);
        Graphics2D graphics2D = thumbImage.createGraphics();
        graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
        graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null);
        // save thumbnail image to outFilename
        BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(outFilename));
        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
        JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);
        quality = Math.max(0, Math.min(quality, 100));
        param.setQuality((float)quality / 100.0f, false);

9. Creating JSON data in Java

import org.json.JSONObject;
JSONObject json = new JSONObject();
json.put("city", "Mumbai");
json.put("country", "India");
String output = json.toString();

10. PDF Generation in Java using iText JAR

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Date;
import com.lowagie.text.Document;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;
public class GeneratePDF {
    public static void main(String[] args) {
        try {
            OutputStream file = new FileOutputStream(new File("C:\\Test.pdf"));
            Document document = new Document();
            PdfWriter.getInstance(document, file);
            document.add(new Paragraph("Hello Kiran"));
            document.add(new Paragraph(new Date().toString()));
        } catch (Exception e) {

11. HTTP Proxy setting in Java

System.getProperties().put("http.proxyHost", "someProxyURL");
System.getProperties().put("http.proxyPort", "someProxyPort");
System.getProperties().put("http.proxyUser", "someUserName");
System.getProperties().put("http.proxyPassword", "somePassword");

12. Java Singleton example

public class SimpleSingleton {
    private static SimpleSingleton singleInstance =  new SimpleSingleton();
    //Marking default constructor private
    //to avoid direct instantiation.
    private SimpleSingleton() {
    //Get instance for class SimpleSingleton
    public static SimpleSingleton getInstance() {
        return singleInstance;
One more implementation of Singleton class. Thanks to Ralph and Lukasz Zielinski for pointing this out.
public enum SimpleSingleton {
    public void doSomething() {
//Call the method from Singleton:

13. Capture screen shots in Java

import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;
public void captureScreen(String fileName) throws Exception {
   Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
   Rectangle screenRectangle = new Rectangle(screenSize);
   Robot robot = new Robot();
   BufferedImage image = robot.createScreenCapture(screenRectangle);
   ImageIO.write(image, "png", new File(fileName));

14. Files-Directory listing in Java

File dir = new File("directoryName");
  String[] children = dir.list();
  if (children == null) {
      // Either dir does not exist or is not a directory
  } else {
      for (int i=0; i < children.length; i++) {
          // Get filename of file or directory
          String filename = children[i];
  // It is also possible to filter the list of returned files.
  // This example does not return any files that start with `.'.
  FilenameFilter filter = new FilenameFilter() {
      public boolean accept(File dir, String name) {
          return !name.startsWith(".");
  children = dir.list(filter);
  // The list of files can also be retrieved as File objects
  File[] files = dir.listFiles();
  // This filter only returns directories
  FileFilter fileFilter = new FileFilter() {
      public boolean accept(File file) {
          return file.isDirectory();
  files = dir.listFiles(fileFilter);

15. Creating ZIP and JAR Files in Java

import java.util.zip.*;
import java.io.*;
public class ZipIt {
    public static void main(String args[]) throws IOException {
        if (args.length < 2) {
            System.err.println("usage: java ZipIt Zip.zip file1 file2 file3");
        File zipFile = new File(args[0]);
        if (zipFile.exists()) {
            System.err.println("Zip file already exists, please try another");
        FileOutputStream fos = new FileOutputStream(zipFile);
        ZipOutputStream zos = new ZipOutputStream(fos);
        int bytesRead;
        byte[] buffer = new byte[1024];
        CRC32 crc = new CRC32();
        for (int i=1, n=args.length; i < n; i++) {
            String name = args[i];
            File file = new File(name);
            if (!file.exists()) {
                System.err.println("Skipping: " + name);
            BufferedInputStream bis = new BufferedInputStream(
                new FileInputStream(file));
            while ((bytesRead = bis.read(buffer)) != -1) {
                crc.update(buffer, 0, bytesRead);
            // Reset to beginning of input stream
            bis = new BufferedInputStream(
                new FileInputStream(file));
            ZipEntry entry = new ZipEntry(name);
            while ((bytesRead = bis.read(buffer)) != -1) {
                zos.write(buffer, 0, bytesRead);

16. Parsing / Reading XML file in Java

Sample XML file.
xml version="1.0"?>
Java code to parse above XML.
package net.viralpatel.java.xmlparser;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class XMLParser {
    public void getAllUserNames(String fileName) {
        try {
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            DocumentBuilder db = dbf.newDocumentBuilder();
            File file = new File(fileName);
            if (file.exists()) {
                Document doc = db.parse(file);
                Element docEle = doc.getDocumentElement();
                // Print root element of the document
                System.out.println("Root element of the document: "
                        + docEle.getNodeName());
                NodeList studentList = docEle.getElementsByTagName("student");
                // Print total student elements in document
                        .println("Total students: " + studentList.getLength());
                if (studentList != null && studentList.getLength() > 0) {
                    for (int i = 0; i < studentList.getLength(); i++) {
                        Node node = studentList.item(i);
                        if (node.getNodeType() == Node.ELEMENT_NODE) {
                            Element e = (Element) node;
                            NodeList nodeList = e.getElementsByTagName("name");
                            System.out.println("Name: "
                                    + nodeList.item(0).getChildNodes().item(0)
                            nodeList = e.getElementsByTagName("grade");
                            System.out.println("Grade: "
                                    + nodeList.item(0).getChildNodes().item(0)
                            nodeList = e.getElementsByTagName("age");
                            System.out.println("Age: "
                                    + nodeList.item(0).getChildNodes().item(0)
                } else {
        } catch (Exception e) {
    public static void main(String[] args) {
        XMLParser parser = new XMLParser();

17. Convert Array to Map in Java

import java.util.Map;
import org.apache.commons.lang.ArrayUtils;
public class Main {
  public static void main(String[] args) {
    String[][] countries = { { "United States", "New York" }, { "United Kingdom", "London" },
        { "Netherland", "Amsterdam" }, { "Japan", "Tokyo" }, { "France", "Paris" } };
    Map countryCapitals = ArrayUtils.toMap(countries);
    System.out.println("Capital of Japan is " + countryCapitals.get("Japan"));
    System.out.println("Capital of France is " + countryCapitals.get("France"));

18. Send Email using Java

import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException
    boolean debug = false;
     //Set the host smtp address
     Properties props = new Properties();
     props.put("mail.smtp.host", "smtp.example.com");
    // create some properties and get the default Session
    Session session = Session.getDefaultInstance(props, null);
    // create a message
    Message msg = new MimeMessage(session);
    // set the from and to address
    InternetAddress addressFrom = new InternetAddress(from);
    InternetAddress[] addressTo = new InternetAddress[recipients.length];
    for (int i = 0; i < recipients.length; i++)
        addressTo[i] = new InternetAddress(recipients[i]);
    msg.setRecipients(Message.RecipientType.TO, addressTo);
    // Optional : You can also set your custom headers in the Email if you Want
    msg.addHeader("MyHeaderName", "myHeaderValue");
    // Setting the Subject and Content Type
    msg.setContent(message, "text/plain");

19. Send HTTP request & fetching data using Java

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
public class Main {
    public static void main(String[] args)  {
        try {
            URL my_url = new URL("http://www.viralpatel.net/blogs/");
            BufferedReader br = new BufferedReader(new InputStreamReader(my_url.openStream()));
            String strTemp = "";
            while(null != (strTemp = br.readLine())){
        } catch (Exception ex) {

20. Resize an Array in Java

* Reallocates an array with a new size, and copies the contents
* of the old array to the new array.
* @param oldArray  the old array, to be reallocated.
* @param newSize   the new array size.
* @return          A new array with the same contents.
private static Object resizeArray (Object oldArray, int newSize) {
   int oldSize = java.lang.reflect.Array.getLength(oldArray);
   Class elementType = oldArray.getClass().getComponentType();
   Object newArray = java.lang.reflect.Array.newInstance(
   int preserveLength = Math.min(oldSize,newSize);
   if (preserveLength > 0)
      System.arraycopy (oldArray,0,newArray,0,preserveLength);
   return newArray;
// Test routine for resizeArray().
public static void main (String[] args) {
   int[] a = {1,2,3};
   a = (int[])resizeArray(a,5);
   a[3] = 4;
   a[4] = 5;
   for (int i=0; i
      System.out.println (a[i]);