<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/learningprogramming/readme/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/learningprogramming/readme/Home/feed" rel="self"/><language>en</language><lastBuildDate>Mon, 13 Nov 2017 04:50:15 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/learningprogramming/readme/Home/feed" rel="self" type="application/rss+xml"/><item><title>Home modified by Krishna</title><link>https://sourceforge.net/p/learningprogramming/readme/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -1,4 +1,16 @@
-This document explains the prerequisite libraries and software that needs to be installed in order to build the project.
+This project contains all the explorations done in C++ language at work. It is organized into following projects:
+1. Binary Tree - Contains the implementations of binary tree algorithms
+2. Linked List - Contains the implementations for some of the common problems of Linked Lists.
+3. Design Patterns - Contains the implementations for commonly known Design Patterns
+4. Learning Programming - Contains the explorations of various contructs of C++ language, include C++11 features, Template Metaprogramming concepts.
+5. Exploring C++14 - Explorations of features of C++ 14, along with functional programming concepts like Continuation Passing Style etc.
+6. Performance Experiments - Contains the benchmarking code for seemingly simple code, and tries to obtain the average time taken by a function.
+7. Interview_Questions_Solutions contains code related to programming questions asked in various interviews, with each company's questions organized into its own project. Currently the following projects are present
+    * TAS - Diophantine
+    * Amazon
+    *  NVidia
+    *  Codeland
+    *  Napa

 # Prerequisites:
 1. C++14 or later compiler. For example on windows, requires MSVC 2015 or later for successful compilation.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Krishna</dc:creator><pubDate>Mon, 13 Nov 2017 04:50:15 -0000</pubDate><guid>https://sourceforge.net4d3be4bc005d14c58fab83ad50a4d367192df7d6</guid></item><item><title>Home modified by Krishna</title><link>https://sourceforge.net/p/learningprogramming/readme/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -1,6 +1,6 @@
 This document explains the prerequisite libraries and software that needs to be installed in order to build the project.

-Prerequisites:
+# Prerequisites:
 1. C++14 or later compiler. For example on windows, requires MSVC 2015 or later for successful compilation.
 2. Boost libraries &amp;gt;= 1.59.
 3. Poco libraries &amp;gt;= 1.7.8
@@ -8,7 +8,7 @@
 5. Zlib and LibPng if building ImageProcess library.
 6. Qt &amp;gt;= 5.9.1 if building Napa_Solution and CodeLand_Solution 

-Steps for setup
+# Steps for setup
 1. Make sure that cmake is installed and added to path.
     For eg. if you type "cmake" at command prompt it should print details and quit.
 2. Define Environment variable "POCO" and have it pointed to the path where it is installed.
@@ -32,7 +32,7 @@
     depends on them.

-Steps for building Poco:
+# Steps for building Poco:
 1. Goto this site to download the poco sources: https://pocoproject.org/
 2. Download the sources for Basic Edition, since there are no other dependent libraries needed to build.
 3. Extract to a suitable folder, and then run cmake with either of the following command for building with MSVC 2017(depending on the debug/release builds, although it is recommended to build both):
@@ -45,7 +45,7 @@
 6. Define an environment variable POCO which points to the path where the binaries are copied.

-Steps for building ZLIB:
+# Steps for building ZLIB:
 1. Goto http://www.zlib.net/ to get the latest sources.
 2. Make a directory called build (or any other directory) and run cmake -G "Visual Studio 15" -DCMAKE_BUILD_TYPE="Debug" &lt;path to=""&gt;
 3. Make sure to run the install command once the build is finished. This will copy the includes and libraries to "C:\Program Files (x86)\zlib" on windows. On other platforms, the 
@@ -53,7 +53,7 @@
 Please note that, you may need to run with admin privileges/root persmissions for the install command to succeed.
 4. Now, define an environment variable ZLIB_ROOT, and have it point to the directory where the files in the previous step were copied.

-Steps for building LibPng:
+# Steps for building LibPng:
 1. LibPng needs Zlib, so please follow the steps mentioned in the section "Steps for building ZLIB" before proceeding further.
 2. Goto http://www.libpng.org/pub/png/libpng.html and get the latest soureces.
 3. Make a directory called build (or any other directory) and run cmake -G "Visual Studio 15" -DCMAKE_BUILD_TYPE="Debug" -DZLIB_LIBRARY=&lt;path name="" to=""&gt; -DZLIB_INCLUDE_DIR=&lt;path to=""&gt; &lt;path to=""&gt;
&lt;/path&gt;&lt;/path&gt;&lt;/path&gt;&lt;/path&gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Krishna</dc:creator><pubDate>Mon, 13 Nov 2017 04:45:36 -0000</pubDate><guid>https://sourceforge.net1a4b71c19c467b134cb45cd1aa305df48b3d6392</guid></item><item><title>Home modified by Krishna</title><link>https://sourceforge.net/p/learningprogramming/readme/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,8 +1,65 @@
-Welcome to your wiki!
+This document explains the prerequisite libraries and software that needs to be installed in order to build the project.

-This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
+Prerequisites:
+1. C++14 or later compiler. For example on windows, requires MSVC 2015 or later for successful compilation.
+2. Boost libraries &amp;gt;= 1.59.
+3. Poco libraries &amp;gt;= 1.7.8
+4. CMake &amp;gt;= 3.5
+5. Zlib and LibPng if building ImageProcess library.
+6. Qt &amp;gt;= 5.9.1 if building Napa_Solution and CodeLand_Solution 

-The wiki uses [Markdown](/p/learningprogramming/readme/markdown_syntax/) syntax.
+Steps for setup
+1. Make sure that cmake is installed and added to path.
+    For eg. if you type "cmake" at command prompt it should print details and quit.
+2. Define Environment variable "POCO" and have it pointed to the path where it is installed.
+    For building Poco on windows, refer to the section below.
+3. Define Environment variables "BOOST_ROOT", "BOOST_INCLUDEDIR", "BOOST_LIBRARYDIR" as follows:
+    For example, assume that boost libraries are extracted to the following folder: C:\local\boost_1_64_0.
+    Then define 
+        BOOST_ROOT=C:/local/boost_1_64_0
+        BOOST_INCLUDEDIR=${BOOST_ROOT}/boost/   or C:/local/boost_1_64_0/boost/
+        BOOST_LIBRARYDIR=${BOOST_ROOT}/lib64-msvc-14.1 or C:/local/boost_1_64_0/lib64-msvc-14.1/
+
+    Please note that "lib64-msvc-14.1" folder could change based on 32bit/64bit libraries and also the msvc compiler used to compile the boost libraries.
+    Also, boost_1_64_0 could also change as per the version of the boost that has been downloaded. 
+4. Define Environment Variable "QT_DIR" as follows:
+    For example, assume that Qt is located in the following folder: C:\Qt\5.9.1\
+    Then define
+        QT_DIR=C:\Qt\5.9.1\msvc2015_64
+        where "msvc2015_64" represents the compiler and the architecture against which the Qt libraries have been built.
+        Please note that, the build may fail if there is any configuration mismatch.
+5. If ImageProcess library is being built, please refer to sections: "Steps for building ZLIB" and "Steps for building LibPng", as the ImageProcess library
+    depends on them.
+
+
+Steps for building Poco:
+1. Goto this site to download the poco sources: https://pocoproject.org/
+2. Download the sources for Basic Edition, since there are no other dependent libraries needed to build.
+3. Extract to a suitable folder, and then run cmake with either of the following command for building with MSVC 2017(depending on the debug/release builds, although it is recommended to build both):
+     cmake -G "Visual Studio 15" -DENABLE_MONGODB=OFF -DENABLE_ZIP=OFF -DENABLE_PAGECOMPILER=OFF -DENABLE_PAGECOMPILER_FILE2PAGE=OFF -DENABLE_DATA=OFF &lt;path to=""&gt;
+     or 
+     cmake -G "Visual Studio 15" -DCMAKE_BUILD_TYPE="Debug" -DENABLE_MONGODB=OFF -DENABLE_ZIP=OFF -DENABLE_PAGECOMPILER=OFF -DENABLE_PAGECOMPILER_FILE2PAGE=OFF -DENABLE_DATA=OFF &lt;path to=""&gt;
+4. Open the corresponding VS project and hit build.
+5. Once the build is complete, run the "INSTALL" project, and the poco libraries should be copied to C:\Program Files (x86)\Poco.
+    Please note that if you did a 64 bit build, then the location would change to C:\Program Files\Poco
+6. Define an environment variable POCO which points to the path where the binaries are copied.
+
+
+Steps for building ZLIB:
+1. Goto http://www.zlib.net/ to get the latest sources.
+2. Make a directory called build (or any other directory) and run cmake -G "Visual Studio 15" -DCMAKE_BUILD_TYPE="Debug" &lt;path to=""&gt;
+3. Make sure to run the install command once the build is finished. This will copy the includes and libraries to "C:\Program Files (x86)\zlib" on windows. On other platforms, the 
+appropriate installation directories will be chosen. Also, if the build is 64 bit, then the path will be changed to "C:\Program Files\zlib".
+Please note that, you may need to run with admin privileges/root persmissions for the install command to succeed.
+4. Now, define an environment variable ZLIB_ROOT, and have it point to the directory where the files in the previous step were copied.
+
+Steps for building LibPng:
+1. LibPng needs Zlib, so please follow the steps mentioned in the section "Steps for building ZLIB" before proceeding further.
+2. Goto http://www.libpng.org/pub/png/libpng.html and get the latest soureces.
+3. Make a directory called build (or any other directory) and run cmake -G "Visual Studio 15" -DCMAKE_BUILD_TYPE="Debug" -DZLIB_LIBRARY=&lt;path name="" to=""&gt; -DZLIB_INCLUDE_DIR=&lt;path to=""&gt; &lt;path to=""&gt;
+Please note that the path to ZLib Library should include the filename as well, otherwise, the cmake build could fail with unresolved externals.
+4. Make sure to run the install command once the build is finished. The same caveats as in the earlier section ("Steps for building ZLib") will apply here as well.
+5. Now, define an environment variable LIBPNG_ROOT, and have it point to the directory where the files in the previous step were copied.

 [[members limit=20]]
 [[download_button]]
&lt;/path&gt;&lt;/path&gt;&lt;/path&gt;&lt;/path&gt;&lt;/path&gt;&lt;/path&gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Krishna</dc:creator><pubDate>Mon, 13 Nov 2017 04:44:31 -0000</pubDate><guid>https://sourceforge.net60028ebce6fb2b8f821b9bdcbcf3d92c088d41b5</guid></item><item><title>Home modified by Krishna</title><link>https://sourceforge.net/p/learningprogramming/readme/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Welcome to your wiki!&lt;/p&gt;
&lt;p&gt;This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: &lt;span&gt;[SamplePage]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The wiki uses &lt;a class="" href="/p/learningprogramming/readme/markdown_syntax/"&gt;Markdown&lt;/a&gt; syntax.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;h6&gt;Project Members:&lt;/h6&gt;
	&lt;ul class="md-users-list"&gt;
		&lt;li&gt;&lt;a href="/u/krishna31/"&gt;Krishna&lt;/a&gt; (admin)&lt;/li&gt;
		
	&lt;/ul&gt;&lt;br/&gt;
&lt;p&gt;&lt;span class="download-button-52072b9ff1fd8d252b96b597" style="margin-bottom: 1em; display: block;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Krishna</dc:creator><pubDate>Mon, 13 Nov 2017 04:42:46 -0000</pubDate><guid>https://sourceforge.net9f4010bb010a73e01c29517d9193bc8ce676ead4</guid></item></channel></rss>