Skip to content

Commit 223d1b2

Browse files
authored
Add files via upload
1 parent e23d0a7 commit 223d1b2

8 files changed

+232
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
This is our first guest post. So, special thanks to [Shalini Singh](https://twitter.com/shalinisparmar) who is working as a Software Engineer with Morningstart Inc. Her interests include Data Analysis, Python and Building models for financial products.
2+
3+
When I first got into machine learning, it took me a complete day to finally figure out how to properly set up my TensorFlow environment. Out of frustration, I decided to write this post to help anyone going through the process and save you a couple of StackOverflow searches.
4+
5+
Please refer to this [link](https://www.python.org/downloads/) for python installation and [this](https://www.datacamp.com/community/tutorials/installing-anaconda-windows) for anaconda setup. I am listing down the steps that worked for me and errors that I got along the way and how I solved them.
6+
7+
1. ***Creating a Conda environment***
8+
9+
```
10+
conda create — name your_environment_name_here python=3.6
11+
```
12+
13+
Now ideally latest python version should have been used but I have created an environment with Python version 3.6 because it is stable and compatible with a lot of TensorFlow dependencies and this has worked for everyone else in my team too. I faced some version related errors with python version 3.7 and tensorflow 2.0, one of the errors being
14+
15+
```
16+
AttributeError: module ‘tensorflow’ has no attribute ‘get_default_graph
17+
```
18+
19+
So I installed the more stable version of tensorflow i.e tensorflow-1.14.0. This might not be the best way to do it, but it sure was the quickest one and the one without hassle.
20+
21+
2. ***Ideally the next step would be to install tensorflow-gpu and then keras-gpu, but I would suggest an intermediate step in between to save you from errors like this.***
22+
23+
```
24+
cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version
25+
```
26+
27+
The intermediate step would be visiting the NVIDIA developer site and updating or downloading the CUDA Toolkit.
28+
29+
![CUDA-toolkit](/blog-images/CUDA-toolkit.jpg)
30+
31+
Now I struggled a lot to find the right CUDA version that is compatible with the python version and Tensorflow version. So I am posting it [here](https://www.tensorflow.org/install/source#tested_build_configurations).
32+
33+
![GPU](/blog-images/GPU.jpg)
34+
The following versioning setup has worked for me
35+
36+
- tensorflow_gpu-1.14.0
37+
- python version- 3.6
38+
- cuDNN version -7.4
39+
- CUDA version-10.0
40+
41+
Download the NVIDIA cuDNN [here](https://developer.nvidia.com/cudnn). And to download the cuDNN it requires membership in the NVIDIA Developer Program. Please join the program to access this material. You can make an account in 2 min with entering some basic details.
42+
43+
![NVIDIA-developer-program](/blog-images/NVIDIA-developer-program.jpg)
44+
45+
3. ***After you have downloaded and extracted the CUDA toolkit, add these three cuDNN paths to the path system environment variable***
46+
47+
Set the following in the path variable
48+
49+
```
50+
cudnn-10.0-windows10-x64-v7.4.2.24\cuda\bin
51+
cudnn-10.0-windows10-x64-v7.4.2.24\cuda\include
52+
cudnn-10.0-windows10-x64-v7.4.2.24\cuda\lib\x64
53+
```
54+
55+
4. ***Now you are all set to install tensorflow-gpu and keras-gpu with conda. Activate the conda environment that you have created in the first step***
56+
57+
```
58+
conda activate enivironment_name
59+
conda install tensorflow-gpu==1.14
60+
conda install keras-gpu
61+
```
62+
63+
Now it would take some time to get installed and there are multiple packages that would get installed so do not freak out. Keep Calm and wait for it to be completely done.
64+
65+
![CUDA-install-packages](/blog-images/CUDA-install-packages.png)
66+
67+
5. ***The last step would be to restart your system before you start working to play safe.***
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
Let me start with this. ***[Git](https://git-scm.com/) is one of those technologies which haven't changed in the last 20 years***. It is really rare for a technology to remain that consistent. I have heard engineers saying that git is one of the skills which is reaping success to them for decades.
2+
3+
Are you curious more about what makes git special? How does it help in software development? Take a cup of coffee and read on. (Disclaimer: This is not a "How-to" article of git)
4+
5+
***What's the problem that git was trying to solve?***
6+
7+
For a technology to be rock solid, there should be some good reasons for it to exist right. A program can be written by a developer however software is developed generally by a group of engineers. It means they all need to know what each other is working on and also some way to keep track of their past work.
8+
9+
This quote from [Russ Cox](https://swtch.com/~rsc/) nails it:
10+
11+
```
12+
Software engineering is what happens to programming when you add time and other programmers.
13+
```
14+
15+
*Let me give a couple of scenarios to think about:*
16+
17+
1. You want to go back to the state (your code) where it was two weeks ago
18+
2. Two engineers working on similar things on the same code base without stepping on each other's toe
19+
20+
All these can be solved by Git. It is a [version control system](https://www.atlassian.com/git/tutorials/what-is-version-control) (vcs). There are other vcs software such as [mercurial](https://www.mercurial-scm.org/), [svn](https://subversion.apache.org/). Git gained popularity for a reason (which is outside the scope of this blog). It basically tracks all the changes that you make on your program.
21+
22+
***How to learn git?***
23+
24+
So, now you know what git solves and the importance of it. The next obvious question is how do I learn it? Let me recollect how my first encounter. I came to know about git during my grad school project. I was part of a 3 member team. One of them is a senior who was well experienced in Software development. The very first thing he did was create a git repository for our project. My other team member and I were confused. There started my journey with git and I am still in shock today by the wonders that git can do (after 3 years of using it professionally in 3 different companies)
25+
26+
I know it sounds cliche, but the best way to learn git is to actually use it every day. Develop a habit such that whatever code/documentation you write always uses git. Even if it doesn't need collaboration with other people, still you can get a lot of benefits.
27+
28+
On the next blog in the [Introduction to git](https://horizontech.dev/blogs/Ravi/Introduction-to-git-in-simple-terms) series, we will see how to use it.
29+
30+
References:
31+
32+
1. https://research.swtch.com/vgo-eng
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
So before starting this blog , I would like to mention that this blog is beginner friendly . It is for those who have little or no experience in coding.
2+
![html and css logo](/blog-images/html-and-css.jpg)
3+
Do you want to be a developer , like to learn programming but didn't know where and how to start? This is a quick guide for you guys.
4+
5+
Basically in this blog we will talk about how good is to learn HTML and CSS in 2020.Firstly HTML (HyperText Markup Language) is not considered as a programming language. It considered as a structuring / markup language for documents to be displayed over the web. Talking about CSS (Cascading Style Sheet) it provides additional styling to the different elements of markup documents.
6+
7+
So Is it still worthy for a beginner to learn these? "Hell yes". I don't admit that these are complementary to any programming language but you could add them as an additional skill. Actually these are the one of the best tools for UI development. With the use of HTML,CSS and JS one can easily create some mesmerizing user interfaces,animations and many other things.
8+
Even I started my journey as a web-developer by just learning HTML and CSS first and then I moved to Javascript , you can go for Python also.
9+
But I got bonus advantage that learning Javscript made my path so easy. For web developement you can learn NodeJS, ReactJS, AngularJS, GatsbyJS and many many other frameworks of Javascript are there.
10+
11+
For example I use ReactJS which is a great Javascript framework for building web-interfaces where I have to embed my HTML into the code and also need to provide some additional styling to it.
12+
So for me HTML and CSS were worthy to learn , as I learnt about basic stucturing of a webpage and some basic concepts of UI designing.
13+
14+
Also I will encourage every beginner to go through these atleast once.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
In this blog we discuss ***why we need to learn Tally ERP 9? what are the future benefits of Tally ERP 9? Who can study Tally ERP 9? How can we study Tally ERP 9?***
2+
3+
Our earlier blog about [Introduction to financial accounting with Tally](https://horizontech.dev/blogs/Jothi/Introduction-to-financial-accounting-with-Tally) will be the foundation for this one.
4+
5+
An accountant role is very important in a company whether it is service-oriented / Product-oriented / Manufacturing. He is the backbone. Except accountant, all employees do their work on customer/client based but only the accountant does the financial work that is the companies income and expense, Outstanding details, Cash and bank details. He/She only knows the company’s financial position. So, the company always depends on an accountant with knowledge of accounting software.
6+
7+
Excellent, nowadays all industries should maintain their accounts in only any computerized accounting software. All these software developed based on accounting rules. The accounting rules are constant; it’s not changed at any time and any country. Of course, accounting rules are called “ Golden Rules “. So Tally ERP 9 is also developed in this manner and it also bases for all accounting software. It’s very easy to learn without basic accounting knowledge. Anybody can easily learn and use it.
8+
9+
Tally ERP 9 is developed by [Tally Solution PVT Ltd](https://tallysolutions.com/) at Bangalore. it has been iterated and the latest version is 9.06 with GST. It’s not fixed because the Government changes the tax model and percentage immediately Tally ERP 9 will update it. Two types of the version available in Tally ERP 9.
10+
11+
1. Educational edition
12+
2. Enterprise edition
13+
14+
The educational version is only for learning purposes and it’s open source. One can download it from Tally solutions [download page](https://tallysolutions.com/global/download/) and install in their PC. The enterprise version is a paid version which is used by companies which need sophisticated features and real time support.
15+
16+
Horizon technologies have 10+ year experience staff to teach the Tally ERP 9 in classroom teaching or online teaching. We have so far trained more than 1000 students for Tally. Other than classroom training, we also provide online training. So, students can choose a comfortable training method. Our instructors have conducted classes at multiple colleges. College student, professional, housewives or anyone can learn it.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
Accounting plays a vital role in running a business because it helps to track income and expenditures, ensure statutory compliance, and provide investors, management, and government with quantitative financial information that can be used in making business decisions. Irrespective of the size of the business we maintain proper accounts.
2+
Why we maintain the proper accounts Each and every business person wants to know their business position. That is Profit and loss, Liabilities and Assets, Outstanding position, Stock detail, Cash / Bank balance Etc.,
3+
Without maintaining proper bookkeeping he can’t find the above things. So he appoints an accountant and maintain his transaction. In older days the businesses did it through manual accounts only. In this pattern its not easy to find the accounts position. After a particular period that is once in six month or in a year he can find the business position. Moreover in manual accounts surely we make some mistakes on P&L, balance sheet. Apart from this, the government frequently updates different types of taxes for businesses. Its
4+
very tough to calculate in manual accounting. These are the challenges for anyone running a business.
5+
6+
However with the emerging technology, nowadays, computerized accounting is in high demand due to its accuracy, convenience and speed.
7+
Computerized Accounting system relies on the concept of a database. The accounting database is systematically maintained, with active interface wherein accounting application programs and reporting system are used. The two primary essentials are:
8+
9+
**Accounting framework:** The framework comprises of principles and grouping
10+
structure for maintaining records.
11+
12+
**Operating procedure:** There is a proper procedure for operating the system so as to store and process the data.
13+
14+
Nowadays so many computerized software is available for example:
15+
16+
- Tally.ERP 9
17+
- Profitbooks
18+
- Busy Accounting Software
19+
- Marg Accounting Software
20+
- Saral Accounting Software
21+
- Zoho Books
22+
- MProfit
23+
- Quickbooks
24+
25+
In India and middle east countries Tally ERP 9 Is very popular and all businesses use it widely. Because Tally accounting software provides a solution around inventory management, stock management, invoicing, purchase order management, discounting, stock valuation methodology, cash flow management, Payroll, Budget maintain and etc.
26+
27+
Tally ERP 9 provide so many important features That is after we record the transaction automatically it show the P&L, balance sheet and all the essential output. The businesses don’t need a huge team of experienced accountants or auditors. Just only he know how to record the transaction and how to view the results even he didn’t a accounting knowledge. Because The Tally ERP 9 software is very very user friendly.
28+
29+
In [next blog](https://horizontech.dev/blogs/Jothi/Introduction-of-Tally-erp-9) we can see the features of Tally ERP 9.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
The software development life cycle consists of the following steps:
2+
![software development life cycle](/blog-images/software-testing.png)
3+
4+
When a software is being developed, the developers use requirements from the planning phase as a baseline to build a product. The developers may/ may not understand the exact requirements. There can always be assumptions when building it. There is a difference between building a ‘product right’ versus the ‘right product’. Thus, software testing is the process of validating the product to make sure it is fulfilling the intended purpose. Any flaw in the product where the behavior is not as intended is a software bug.
5+
6+
Software quality is the responsibility of every person working on project. However, it is the testers or software quality assurance engineers who are primary gatekeepers of quality for the product.
7+
8+
There are different types of testing done at various stages of the testing process. They can be broadly classified into 2 types:
9+
10+
1. White box testing
11+
2. Black box testing
12+
13+
### 1. White box testing:
14+
15+
This deals with testing the structure of the internal code of the application. Unit tests are the most common white box testing example. Whitebox testing/clear box testing tests the lowest level of the application and ensures the smallest testable component/unit is working as expected. This level of testing also measures the code coverage, that is, running every line of code without issues.
16+
Since these tests are testing the code, they are usually written by the application developer who is implementing the product.
17+
18+
### 2. Black box testing:
19+
20+
The main aim is to test the functionality of the product as a whole without looking at the internal code of the application. This involves both functional and non-functional testing.
21+
22+
**_a. Functional testing_**:
23+
This deals with testing the product against the functional requirements. Testing is done to ensure the product works as per the user specifications.
24+
25+
Few testing types here are:
26+
27+
1. Smoke testing: ensuring the minimal basic functionality of the product is working
28+
2. Integration testing: ensuring group of components work together
29+
3. System testing: testing the product from an end-to-end perspective
30+
4. Regression testing: ensuring existing product functionality works after a new release
31+
32+
**_b. Non-Functional testing_**:
33+
This deals with testing the product against the non-functional requirements like security and performance that are not included under functional requirements. For example, it is not enough for a web page to load without issues in a browser, but it has to load correctly within an accepted time limit, say 2 seconds.
34+
35+
Few testing types here are:
36+
37+
1. Load testing: ensuring the application does not crash when lot of users are using it
38+
2. Security testing: ensures application data is secure and there is no data loss
39+
40+
We will look at each of these testing types in detail and other responsibilities of testing in future blogs.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
It was the time when my fifth-semester exams were finished. Like every year this was the time for winter vacations. It was the final year of my college , I had never worked as an Intern before, though I had applied for various Internships available in Internshala.com but didn't get any chance.
2+
![internship image](/blog-images/internship.jpg)
3+
I was looking for an Internship in the field of web-development. I had enough experience working with front-end technologies like HTML,CSS, and JS. So I pushed my limits further and started working with NodeJS and ReactJS.This time I was full of commitment and I decided not to sit idle at home during these vacations. So I updated my Internshala profile with what I had acheived , what I had made. I listed some of my front-end projects including a MERN stack application.
4+
Then I again started applying for various internships available. I applied for some work from home and full-time internships. I received a reply from Horizon Technologies and they were impressed by my front-end skills.I had a conversation with Jyoti Mam, she told me about the Internship, it was a work from home Internship, so perfect for me.
5+
6+
Later I had a conversation with Vira Sir, he told me everything and supported me to start my work with the team. They assigned me my first project, it was their official website that needed to be migrated to a Reactive website.
7+
Vira Sir helped me a lot in troubleshooting my problems, also he made me interact with one of professional React Developer which helped me a lot during this project.
8+
9+
Finalizing this post, currently I am working on another project with them and I am sure that you will like the overall design of website.

src/blogFiles/setting-up-mongodb.md

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
MonogoDB is one of the popular databases in the market. It is a document based NoSQL database. In this simple blog, I would like to explain how I set up mongodb on my Redhat linux VM on AWS.
2+
3+
The [reference](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/) from mongodb official website is a good starting point.
4+
![mongodb setup on Redhat Linux on AWS virtual machine](/blog-images/setting-up-mongodb.jpg)
5+
We need to first setup a firewall for the VM. It is done using Security Group. We can also set up firewall on the database level, which I feel makes things too complex (for not much gain). However, we do need to setup authentication (password) and authorization (roles) on the database. The diagram above explains how I set up mongodb. I was using [PyMongo](https://api.mongodb.com/python/current/#overview) to connect to the db.
6+
7+
Lets go over some of the errors which I encountered:
8+
9+
```
10+
pymongo.errors.ServerSelectionTimeoutError: [Errno 61] Connection refused
11+
```
12+
13+
It means your client is not allowed to talk to mongodb. Check your database level firerwall settings.
14+
15+
```
16+
pymongo.errors.ServerSelectionTimeoutError: timed out
17+
```
18+
19+
This means you are not able to talk to the server itself. Its a security group related issue.
20+
21+
```
22+
pymongo.errors.OperationFailure: command count requires authentication
23+
```
24+
25+
If you get that error which means you are not providing authentication or its wrong

0 commit comments

Comments
 (0)