Mock tests, Interview questions, Tutorials and Tech news

Free Schedule D generator with Wash Sale Calculation 2013

January 29th, 2014 No comments

Once  again thanks to Jatin for coming out with Free version of Schedule D for 2014 with wash sale calculations.

You can earlier versions of Schedule D here 

Schedule D_Generator_2013

**** DISCLAIMER ****
This excel program to generate Schedule D and form 8949, is provided “as is”
with no warranty of any kind.   This program is an attempt to automate
Schedule D and Form 8949 preparation in accordance with IRS forms and instructions.
Jatinkumar Thakkar is not a tax adviser and will not be liable in any event
for direct or indirect damages resulting from the use of this program.
The user must assume responsibility as to the correctness and
appropriateness of any and all amounts entered and results produced.

Dear Readers

Jatin has been maintaining this excel sheet from 2010 . If this wash sale has been helpful to you, donate some amount to his paypal id at this email id

Merging pdf using Apache PDFBox

November 5th, 2013 No comments

I was working on a problem in which we wanted to merge multiple pdf. We were using itext for merging pdf but wanted to given and try to open source alternative. I tried ApachePDF Box and it was’nt tat difficult

Below is the code sample for pdf merging with apache pdfbox

public class PDFDocumentMergerService {

private static final Log LOG = LogFactory

public void concatPDFWithPDFBOX(
final List<InputStream> streamOfPDFFiles,
final OutputStream outputStream) {

try {

PDFMergerUtility mergePdf = new PDFMergerUtility();
for (InputStream inputDoc : streamOfPDFFiles) {


catch (IOException ioe) {
throw new DocumentMergeException(“Pdf merge failed.”, ioe);
catch (COSVisitorException ex) {
throw new DocumentMergeException(“Pdf merge failed.”, ex);

public byte[] mergeDocuments(final List<byte[]> documentContents) {

List<InputStream> inputStreams = new ArrayList<InputStream>(

for (byte[] content : documentContents) {
inputStreams.add(new ByteArrayInputStream(content));

ByteArrayOutputStream mergedStream = new ByteArrayOutputStream();

long startTime2 = System.currentTimeMillis();

this.concatPDFWithPDFBOX(inputStreams, mergedStream);

long endTime2 = System.currentTimeMillis();” Time to create PDF with PDF Box ”
+ (endTime2 – startTime2));

byte[] outputData = mergedStream.toByteArray();

return outputData;


The performance was excellent and comparable to itext

Categories: Programming / tutorials Tags:

Online Oracle Training for beginners

October 9th, 2013 1 comment

One of the regular contributors to this blog, Amit has started the Online Oracle training for beginners . Given has extensive experience and hands on approach, this should be very good starting point for users who are new to Oracle.

You can see Amit’s contribution to this blog

Below is the slides which outline the course details. The price of course is $500 . You can get a discount by mentioning you found the training course at Skill-Guru.

Contact details are at end of slide.

oracle online training Slide3 Slide4 Slide5 Slide6 Slide7 Slide8 Slide9

Categories: Mock Exam / Certifications Tags:

JConsole – Free monitoring tool in Java

September 5th, 2013 No comments

In one of our posts Solving performance issues in Java with Visual Vm,  we had explained Visual VM  and how that can be used to troubleshoot performance issues.

With JDK comes is a free monitoring tool JConsole.  JConsole is a GUI monitoring tool that complies to the Java Management Extensions (JMX) specification. JConsole uses the  instrumentation of the  JVM to provide information about the performance and resource consumption of applications running on the Java platform.

It can be used to monitor application locally or remotely. Because it consumes significant system resources, it is not recommended for production environment. Although there is no harm to use it occasionally.

Where to find it ?

In the bin directory of your jDK for eg C:\Program Files\Java\jdk1.6.0_23\bin , you will find the jconsole.exe

Double click on it to launch the tool. It opens a window. Type in the url for eg  or 176.876.98.23:8765

9893 or 8765 is the jmx port, not your tomcat port.

If you have authentication set up, type in user name and password

What you can monitor ?

Memory consumption


It can give insights on

Eden Space
Survivor Space
Tenured Generation
Permanent Generation
Code Cache

Second level cache / ehCache objects

If you have ehcach/2nd level cache, you figure out how many objects are there in cache. This is the second biggest utility of the tool. I could not find this feature in some of the paid tools. I mean you could do it but you will have to do some tweaking around. It is out of the box in Jconsole.



Threads/Deadlock Threads

The threads tab can help you figure out which threads are running, are there any deadlocked thread.

Other details which you can figure out are

VM information

MBeans (Cache level information)

Connection pool

When you are using Jconsole for monitoring remote machines, some of the features will not be available.

More details can be found from

Introduction to Analytical Functions in SQL Server

July 24th, 2013 No comments

Analytic functions compute an aggregate value based on a group of rows. They differ from aggregate functions in that they return multiple rows for each group. Let us look at analytical functions in SQL Server

Four different parts of an Analytical ‘clause’:

  • the analytical function, for example AVG, LEAD, PERCENTILE_RANK

  • the partitioning clause, for example PARTITION BY job or PARTITION BY dept, job

  • the order by clause, for example order by job nulls last

  • the windowing clause, for example RANGE UNBOUNDED PRECEDING or ROWS UNBOUNDED FOLLOWING

Notes: when no window clause is present then window is equal to partition.

Aggregate functions perform a calculation on a set of values and return a single value. With the exception of COUNT, aggregate functions ignore null values. Aggregate functions are often used with the GROUP BY clause of the SELECT statement.

Aggregate functions in T-SQL

Example for aggregate function

SELECT MAX(st1.field3) FROM table1

Example for Analytical function

select ename

,      job

,      sal

,      hiredate

,      first_value(sal) over ( partition by job

                              order by     hiredate

                              range between current row

                                    and     unbounded following

                            ) job_avg

,      first_value(sal) over ( partition by job

                              order by     hiredate

                              rows         between current row

                                           and 2 following

                    ) job_avg

from   emp

where  sal < 2500


by     job

SQL Server Analytical Functions

Analytical functions are introduced in 2005.

Analytical Functions available in SQL Server 2005 -2008

  • RANK: Assigns a unique number for each row starting with 1, except for rows that have duplicate values, in which case the same ranking is assigned and a gap appears in the sequence for each duplicate ranking.

  • DENSE_RANK. This is same as RANK () function. Only difference is returns rank without gaps.

  • ROW_NUMBER. Returns the sequential row number of the result set, starting at 1 for the first row in each partition. For rows that have duplicate values, numbers are arbitrarily assigned.

  • NTILE. Divides an ordered partition into a specified number of groups. Each group is assigned a number. If the number of rows isn’t divisible by the number of groups, the first few groups will have more rows than the latter groups. Otherwise, if the rows are divisible by the group number, each group will have the same number of rows. Read more…

How can educators create free courses in iTunes?

July 16th, 2013 No comments

Educational instructors can make use of iTunes U to a large extent. This application has helped such professionals create study materials on the basis of the course modules, such that students can gain access to the classroom lectures on their iPads, iPhones and Mac PCs as well. iTunes U has brilliantly redefined the student-teacher interface, by virtue of software applications which has made studying a tad bit more interesting. And each educator can make use of the various features of iTunes U to create course materials as well.



To Begin with iTunes U

If you are a lecturer, or a teacher, and you intend to exploit iTunes U optimally, first you would need to get started with an instructor’s profile. If you do not have an Apple account of your own, you need to make one for yourself in order to log into iTunes and have access to the iTunes U app. Once you have logged into iTunes, you can find the iTunes U icon on the far right corner of the iTunes screen.

Your instructor profile would be used as the reference root, for all the courses that you would be creating by the use of this application. After the profile has been made, you would be seeing a dashboard on the screen. This would have a certain icon namely, ‘Create New Course’. You would be clicking on that to begin writing your modules. Moreover, you can add as much as 20 GB of materials in this application. For quick know-hows, a column of frequently asked questions would be appearing on the right hand side. You can check on those if you have any queries.



Creating Courses with iTunes U

To begin with adding courses, you need to go the New Course Settings to enter all the corresponding information. These would include;

  • The name of the course e.g. Physics 12 (as in module 12 of Physics course)
  • Name of the institution where you belong.
  • Your respective department.
  • Selecting a category, a sub-category and also the level and language of instruction.
  • Description or summary of the course you are adding to enlighten students about the basic idea of the module you are writing.
  • Selecting the course type is important. If you want students to complete the course at their own convenience, select the ‘Self-Paced’ option. Otherwise, go for the ‘In-Session’ option, in order to set the time limit for the same.
  • Select the kind of licensing of your associated content.
  • Uploading an image to represent your content, to make it compelling and attractive. The minimum image size should be of 600X600 pixels.

After you have completed these procedures, you would be seeing the aforementioned dashboard again. Here, you would find all the latest information regarding your course. All you need to do is to click on the course module in order to edit it, add assignments, videos, updated contents etc. You can also check for the number of students who has signed up for you course.



Edit, Organize, Share

Organizing and editing contents in iTunes U can be done by the use of the following things;

  • Outline page: Here, the instructor will be adding the course curriculum. If the course has been set at ‘self-paced’ term, he or she can summarize the entire syllabi. If the course is ‘In Session’, then the instructor can go on updating the curriculum as and when he or she adds new courses.
  • Instructor Page: Consists of the profile facts of the instructor. This also contains all other courses that the said instructor is managing.
  • Overview page: This page would show all the contents that you have added previously. This would also display your institution’s name, the course level, description etc. You can edit each of these any time you want.
  • Use posts, assignments and materials icons to add your contents.



You can also go about adding new pages as per your discretion. This may involve highlighting different learning outcomes, or any other thing that may be helpful for the students like prerequisites that a student should know about before taking up the course.

Go to the below link to excavated more on the courses:-

Categories: Education Tags:

How edX is changing the way of online education?

July 16th, 2013 No comments

Online courses have become the latest trends to grab our attention. Most of us are aware of iTunes U taking the student community by rage gradually. Nevertheless, there is another alternative to iTunes U that most of you can access more easily without having to undertake much hassles. This portal is named as edX. edX came as a conjugated initiative of Massachusetts Institute of Technology and Harvard University. Each of these esteemed institutions have invested $30 million worth of resources to bring about this free medium of university courses that people around the world can have access to without spending anything. So, let’s have a look at what this open-source software can offer and how should we use it.

Getting started with edX


This is how the edX page looks like. If you haven’t signed up as of yet, take a look at the ‘SIGN UP’ option perched at the upper right corner of the image. Once you click on that option, you would be taken to somewhere like this image below.


That is all that edX requires you to do; sign up and get started. Once you have registered yourself with edX, you would be taken to your own ‘dashboard’ where you can click on the ‘Find Courses’ button in order to select for the kind of course you want to enrol into. A notification would be sent to the e-mail ID that you have provided; do click on the link given in that mail in order to activate your account and start shopping for courses.

What edX can Offer You?

The homepage of edX itself shows how many universities has become a part of this software. There are a wide range of courses available and one can take up any course as per their respective discretion. The dashboard of your personal page would display all the courses that you have registered for.


This image is an example of how your dashboard would look like if you have selected a course. Clicking on the course would take you to the various portions of the same, like the syllabus and the list of faculties etc. It will give you a detailed description of the time period of the course, the prerequisites etc.

The thing that you should know is the fact that unless the course begins on the stipulated date, you won’t be able to see the ‘View Course’ option in your dashboard area. After the course initiates, you would be taken to the following page for a detailed overview of what you are going to attend during the course curriculum.

Click on the respective icons in order to expand and look into the heads included in the Course Handouts section.  The Course Info section would provide you with all the necessary details. You need to click on the Courseware icon in order to go to the page that has all the lectures and videos related to your subject area of study.

Credits or Certificates?

If you were wondering if this can help you to earn extra credits, the downer comes here. This open source software only helps you in enriching your knowledge about a particular programme, and you cannot earn any credits through the same. But, it does provide the student with a course completion certificate in lieu for some minimal charge.

The best thing about edX is that; it is freely accessible, and it is feasible for all kinds of students in and around the world, who aspire to study at an esteemed institution though incumbent factors don’t allow them to do so. It has made education universally available; anyone with an internet connection can have admittance. It is slowly bringing about a paradigm shift in the way of existing system of university education.

edX Courses:-


Categories: Education Tags:

How to get a free certification from Stanford?

May 31st, 2013 No comments

If Stanford was a dream that never got fulfilled for real, it is time that the virtual world gives you a learning experience similar to Stanford. Moreover, how better it can get? It can be freely accessible, without you having to spend a dime on it. Nevertheless, if ‘how’ is all that you are asking yourself right now, it is something called edX that can help you go that way.

edX and Getting a Course

The first thing that you need to do is that, sign up with edX. After you have done that, you can view a list of about 32 courses from several universities including Stanford. Currently, this portal is hosting as many as fifteen courses only, and intend at increasing the number of disciplines by and by. That may prove to be a wee bit of restriction for those who may not find a suitable course for themselves. Notwithstanding this fact, some very basic courses have been included in their system. The image below shows you the page where all the courses are enlisted.

Free certification from Stanford

Free certification from Stanford

A Stanford Certification: How to go about it?

From the list of available courses, one can enter into one or more of the same. But one particular thing that the student has to keep in mind is the fact that, until and unless the course is completed, a certificate is not issued. The duration of each course is mentioned in the information page, as the image here would be showing. The Courseware section would show you the extent of the course that you have signed up for, along with the modules that would be taught in each corresponding week. Have a look at this screenshot to understand better.

Free certification from Stanford

Free certification from Stanford


The courses vary with respect to the time period through which it would be taught. A certificate will only be issues as per the decision of edX and also the University under which you had taken the course. The student has to ‘master’ the course in order to earn a certificate. Presently, certificates are issued free of cost, though a fee (a very modest one) would be charged from the near future. Yet, issuance of a certificate doesn’t mean that you would be able to transfer credits by enrolling under edX courses. There is no provision for the same whatsoever, as edX aims at only enhancing the learning periphery and experience of an individual, making it widely obtainable to people around the world.

To know more about Stanford certifications, follow the link given below:-

Categories: Education Tags:
Get Adobe Flash playerPlugin by wordpress themes