Vision and dreams are the blueprints of soul and achievements.
-Mohammed Ahmed F

Showing posts with label Tips for Project. Show all posts
Showing posts with label Tips for Project. Show all posts
10 Mistakes done by the developers

10 Mistakes done by the developers

Learning from the top 10 mistakes developers make

I present to you a list of a few common mistakes new devs (and sometimes even experienced) usually do. I believe that learning from these mistakes would be of some help to you. So, here is my pick of the Top 10 mistakes.

10. Trusting user’s input
Never trust the inputs provided by the end user. Also don’t blame them, mostly they do it unintentionally. We all make mistake mistakes. This might not be of great concern to them but a piece of bad data could potentially bring down the application or cause compliance-related issues. Apart from naive non-technical users we also have users with a certain level of technical know-how which they could potentially use to circumvent the system and get their work done. These are the users who pose a threat to your application and application needs to be safeguarded against the malicious activities.

The only option to save from landing into trouble at a later stage is to build a strong validation with self-explanatory and human understandable error messages. Cryptic messages hardly help the naïve user accomplish any task. Validation should be done in both user interface and database level just to be sure that even if by some means front-end validation was turned off the application still does not accept trash values.

9. Manual unit tests
Code changes that you do, needs to undergo unit testing and further rounds of Quality Assurance testing. All tests or at least a few minimum number of tests need to be done to ensure that the changes you made in one unit of code do not have side effects on the others. This is a necessary evil. Having automated unit tests and integration tests save you a lot of manual efforts in validating side effects of the changes.

8. Skipping documentation
The evilest thing that you can do is skipping documentation. Off course you can read the source code and try to understand the functionality. Reverse engineering the functionality from the code is a daunting task. This is good enough for a tiny functionality but definitely not a go for the entire application.

"Requirement changes, code changes and more frequent - members of development team change."

Knowledge about the application might not be transferred 100%. Sometimes people just forget. You need not create dozens of documents, create only a few like requirement specification and technical document and make sure to keep them updated, this should be a part of a stringent process which needs to be followed at any cost and must be accommodated in the project planning. This would help at later stages when the application is in support/maintenance phase.

7. Forgetting about Audit and Error logging
Not all end user/stakeholder would be bothered about cross-cutting concerns like audit logs and error logging. A stakeholder would simply come with a one-liner requirement which you would have to drill down till it becomes good enough to work on and deliver a solution addressing the stakeholder’s problem.

Data change audit and error logging might never be a part of user’s requirement but is implicit that it needs to be maintained. One fine day user would simply approach support team and ask them to provide data related to access and roles or some business critical data required for compliance or audit purpose and then you would have nothing to share.

Error logging is also crucial, you might do defensive coding but you never know what might fail in such cases effective error logging comes in handy. Monitoring error logs and trying to work on resolving recurring error would help in making your application more stable.

6. Careless use of privileged access
First and foremost, full control and access should never be provided. The system cannot protect itself from malicious activities if you leak the superuser or privileged account passwords. Risks involved in the reckless usage of privileged access should be a part of learning for inexperienced new members of development or support team. There might be times when you would have to make a modification to production database and having privileged access can lead to many issues.

“With great power comes great responsibility”

I remember once unintentionally deleting data from the master table and the query was auto-committed. I went cold but soon realized I had taken backup of the data, phew! It is always good to provide limited access for data modification via an interface which keeps data backup. One should also note that this tool should also be capable of doing bulk operations, else you will find yourself doing manual updates for a very long time.

5. Configuration menace
Scattered configurations in different files and database is a menace. Change in a configuration which affects multiple applications would have to be replicated in many files and databases. This probably is not much of an issue if you have a handful of applications but would soon become an overwhelming task when you have hundreds of application in an enterprise environment. Moreover, naked passwords in config files are yet another threat. If configurations are database driven then it reduces the later hazels also safeguards sensitive configuration entries.

4. Hard-coded time bomb
Hard coding values in the program are definitely a bad practice. Strange issues could occur because of the hardcoded value which silently sits there in your source code. One such incident is when you make use of hard-coded values for some maximum number, assuming that the maximum will not be hit. Such cases could take months or years to raise an error. Combined with no error logging and you will be in a very bad situation. Try to avoid hard-coded values. Move them to configuration variables if needed or try to completely avoid situations which would require them.

3. Prevent Burnouts
Working continuously without any breaks will just lead to burnouts. You should always take breaks at regular intervals. When you are overworked even doing simple things take a whole lot of time.

Set small achievable milestones for yourself and don’t forget to reward yourself for it. Chocolates, cakes, quick games just about anything that makes you happy and feel free. Learning how to prevent burnouts will make you more productive.

2. Code / Suggest for building resume
Having a strong resume with a listing of all new technologies is great but don’t just do it for inflating the resume. Learn them but use them only if you see the benefit and high maintainability over the existing things. Sometimes adding new tech options would not even be required.

Increasing the complexity should at least pay off in providing ease of maintainability. So I strongly believe that when you suggest some solution, check if it makes the application easy to maintain and makes everybody’s life easy.

1. Finding comfort zone in just one technology
Being a ninja in one technology is awesome and is always beneficial. But don’t stay limited to one technology. Try to expand your knowledge, sure there is a learning curve but challenging yourself helps you become a better technologist – a person who uses various technologies as effective tools and provides business enabling solution.

Times change, technology may become obsolete but your learning should never stop. Always try to explore new technologies and try weighing the pros and cons before using it as a solution for solving a problem.

I would like to hear about your views on these points. If you have any experiences to share, go ahead and post a comment. Remember…

The only real mistake is the one from which we learn nothing. ~ John Powell

This article was originally published on Skill Hive Blog
Top 10 Programming Lang on GitHub

Top 10 Programming Lang on GitHub


Here is a list of Top 10 Programming Languages of 2015 on GitHub Projects

Language - Active Repositories
JavaScript - 323,938
Java  - 222,852
Python - 164,852
CSS - 164,585
PHP - 138,771
Ruby - 132,848
C++ - 86,505
C - 73,075
Shell - 65,670
C# - 56,062

-Chief Administrative Officer.

Personalized Learning in this Semester


The phrase “personalized learning” gets tossed around a lot in education circles. Sometimes it’s used in the context of educational technology tools that offer lessons keyed to the academic level of individual students. Other times it’s referring to the personal touch of a teacher getting to know a student, learning about their interests and tailoring lessons to meet both their needs and their passion areas.

As with most education jargon, the phrase isn’t fixed, but it usually connects to the idea that not all students need the same thing at the same time. It implies choice, multiple pathways to learning, many ways to demonstrate competency and resists the notion that all students learn the same way.

Educator Mia MacMeekin has put together a clear infographic highlighting some of the ways teachers design “personalized” curriculum.

-Chief Administrative Officer.
15 Tips to Beat the Exam Stress

15 Tips to Beat the Exam Stress


EXAM TIME? 15 Tips And Tricks To Beat Exam Stress From The Ancient-Indian-Knowledge-Mothers-Club

Here are 15 ideas that have been passed on for generations of Indians, which not only help us prepare better for our exams but also make us more focused and active on D-day. So get ready to clear the exams with flying colours, and lets not forget to thank our mothers for preserving this ancient treasure trove of knowledge!

It is that time of the year again. When parents and students are both spending sleepless nights worrying about the dreaded four letter word they have to face the next day – EXAM. And in the process, doing more harm to their very prospects. The Better India team could not help but try to ease the pain (it was getting too much for us to even witness) and so we decided to dig deep into our memories, wring out the pearls of ancient wisdom our mothers used to generously bestow on us during those harrowing times and share them with you, in the hope of seeing those worry lines disappear!

So here they are, a few tips and tricks that can help improve concentration and productivity during exams:

1. Coconut meat (malai) – the wonder brain food

Not only does the humble coconut water quench your thirst during the hot summer days, its electrolytes can help in replenishing our store of nutrients and minerals. What’s more, there are very few foods as beneficial to the efficient functioning of the brain as the coconut malai, so make sure you don’t throw it away! It’s high copper content makes it an excellent food for boosting brain power!

2.  Use practical knowledge and props to understand the subject better

Whenever you understand a subject and not just learn it, you have a better chance of remembering it during exam times. In earlier times, most girls did not attend school and learnt basic maths while doing their daily chores. They would count the utensils and deduct the number after washing every utensil. Similarly, they learnt to read time by observing the angle of the sun’s rays. Of course, we have a different level of education now, but if we relate our subjects to practical things and incidents we tend to understand and grasp them sooner.

3. No forgetting the fluids

Needless to mention, drinking a lot of fluids, especially in summer, is very important. Water makes upto 85 percent of the brain’s weight so lack of water can lead to brain shrinkage and affect your productivity. Start your day with a glass of water, it will keep you hydrated and also prevent any kind of fatigue. You can try having traditional nimbu paani (lemonade) for better taste.  You could also try coconut water and regular nimbu paani. Check out some of the amazing recipes here.

4. Yoghurt in your diet

Having yoghurt in your meal will keep you cool and it is also a rich in calcium. Avoid having lassi and have simple yoghurt to avoid drowsiness during exams. You can add flavours in it for a better taste. Yogurt has been used for over 5000 years in the world. In India, having yogurt before exams has also been considered as good luck – we can now guess why! You can have some curd with rice as a light meal.

5. Go Nuts, Seeds, Dried Fruits – whatever takes your fancy

Nuts are rich in nutrients and also help you get sufficient energy without having to sit for a heavy meal. You can have raw nuts at regular intervals to keep your brain active. These also work best to keep you focused. Have nuts like almond which will help you boost the brain power, cashews, pistachios, walnuts, etc. also help your brain get the required nutrients. Also try chewing on some sesame seeds, pumpkin seeds, flax seeds and sunflower seeds and see the difference!

6. Forgetting something which you learnt?

If you are stuck on a particular word which you learnt but cannot recall, try going through the alphabets to find the first letter of the word. Once you hit the right alphabet, chances are you might remember the word too. Also, recalling the environment where you learnt that subject might also be helpful. You might want to visualize the place where you were revising – this could help in recollecting some information.

7. Learn the numbers faster

Make a fist from your right hand and squeeze it while memorizing numbers or lists. Now, when it is time to recall them and you are stuck somewhere, clench the left fist. These actions make the brain more active and help to recall from memory.

8. They may be traditional but they pack a punch!

When there were no two minute noodles and quick ready made meals, our parents and their elders would munch on delicious home made snacks. Continuously studying can be monotonous and we definitely need something to keep us focused while also providing some much needed distraction. Try eating chikkis, sakarparas and other home made snacks. They have healthy fats and are good for your brain.

9. Study in a well ventilated and bright corner:

Remember the old times when the kids would go to gurukuls and study under the trees? Well, that might be because of lack of resources back then but it could also have been intentional – to help the kids learn faster and better. The fresh air and bright light made it easier to see things and opened your brain to grasp more. So while you are studying, make sure there is enough natural light and fresh air. Also, don’t forget to take small breaks at regular intervals. Go sit in the balcony if you have one in your house, or take a walk in the garden – the fresh air will definitely help you clear the blockage in your head.

10. Yoga poses that improve concentration:

Simple yoga asanas which help you do breathing exercises are a good way to start your day. Sit cross-legged and practice alternate nostril breathing for a few minutes. This will help you clear your mind and enable you to start your revisions with a fresh mind. Block your right nostril with your thumb and inhale from the left nostril. Now use your middle finger to block the left nostril and remove the thumb from the right to exhale from your right nostril. Repeat the process.

11. What not to eat?

Skip the white flour and white sugar as they cause drowsiness. Also don’t depend too much on coffee. It might help you stay awake and focused but it also makes your body think it’s not hungry.

12. Spinach for a healthy meal:

Green leafy vegetables in general, and spinach in particular, are a very good idea to include on a daily basis. But during exam times, they are practically indispensable! They contain a host of vitamins and minerals essential for good brain health. A delicious spinach salad will not only be nutritious but also tasty and will keep you energetic. Here is an interesting spinach salad recipe you can try.

13. Trouble with maths? Try Vedic method:

A little different from what we have learnt in school, this method is a really good trick once you get hold of it in case you want to do super quick maths. So here is a small example to make you understand this technique –

Suppose you want to multiply 32 with 11. So, put an imaginary space between 3 and 2. i.e 32 x 11 = 3_2. Now fill this space by adding 3 and 2, which is 5. Hence, your answer will be 32 x 11= 352.

You can check out more such amazing tricks here.

14. The goodness of Milk:

Since generations, milk has been a crucial part of India. Mothers would spend a large part of their mornings trying to convince their kids to have that one glorious glass of milk. It is rich in nutrients and minerals and also gives you enough energy to last you a couple of hours at least. In earlier times, fresh cow’s milk was considered as a must in everyday routine and it was believed that it helps one conquer weaknesses. Milk also helps in increasing brain serotonin activity levels and gives you more strength to fight stress. In case you don’t like the taste of plain milk, you could try adding honey or other natural flavours to it.

15. Determine your most productive time:

Well it might sound obvious but you need to figure out when does your brain work the best and then keep those hours for extensive revision and learning. Also doctors have suggested that the best way to “consolidate the memory” is to learn just before going to bed. This will help you remember it better the next day.

And apart from all these things, the one thing that actually works is staying calm and preparing well. Don’t discuss the lessons too much with your friends just before the exam as it might break your confidence. Stay calm, it is just an exam and you will crack it!

Post Courtesy: The Hindu

-Chief Administrative Officer.
1 Lakh Worth Course for 4999 Only

1 Lakh Worth Course for 4999 Only


Why should you learn Twenty19 online courses?

You will join 15000+ students in learning the skills that industry wants.

Learn Rs. 97,599/- worth course for just Rs. 4,999/- only.

Get lifetime access |  Get verified certificate |  Learn with video lessons

CALL THEM ON +919962033243

You get lifetime access to all these 40 courses.

C Programming for Beginners - View Details

Finance Management Made Easy - View Details

Banking Credit Analysis - View Details

Computer Networking - View Details

Python Programming - View Details

Business Communication- View Details

French For Beginners - View Details

Advanced Facebook Marketing - View Details

Android Wear Development: Build apps for a smart watch - View Details

SEO - Search Engine Optimization - View Details

Java for Beginners - View Details

Android App Development: For Beginners - View Details

Ethical Hacking for Beginners - View Details

ASP.NET MVC in C# - View Details

Learn to Build Websites with HTML and CSS - View Details

Essentials of MATLAB - View Details

Online Marketing - View Details

Database Management Systems - View Details

MongoDB Step-By-Step - View Details

Node.js from Scratch - View Details

Basics of Banking - View Details

Introduction to jQuery - View Details

VLSI System Design - View Details

Content Writing - View Details

Creating dynamic Website with PHP and Mysql - View Details

Smart Graphic Design with Adobe Photoshop - View Details

User Experience Design (Web) - View Details

Introduction to Capital Markets - View Details

Project Management for Beginners - View Details

Introduction to Flash Animation - View Details

Learn to Create Quality Presentations - View Details

Software Testing - View Details

Virtualization with Vmware - View Details

Foundation Course - Photography - View Details

Professional Email Writing - View Details 

Google Analytics - View Details

AutoCAD 2014 - View Details

Group Discussion and Interviews - View Details

Big Data - Hadoop - View Details

MacroEconomics for Beginners - View Details

-Chief Administrative Officer & Campus Ambassador of Twenty19.
75 Mini-Project Topics

75 Mini-Project Topics


The following is a list of Mini-Project Topics that can be chosen for the "N-Tier" Architecture.

The Mini-Project can be done in ASP.Net, JSP, PHP or VB.Net - All in "N-Tier Architecture".

Ensure that you have to choose a unique topic and submit a one page abstract of the same to your class counsellor on or before this Friday (05 / 12 / 2014).

Abstract means existing in thought or as an idea but not having a physical or concrete.

To study the latest Technology to do your project easily, go to - Educational Resources.

1. Vehicle rental system 
2. Courier information system
3. Crime record management system
4. Customer query management system
5. Customer service management system
6. Water Marking
7. E-post office
8. Online tax management
9. Remote network group 
10. Hotel administration and management system
41. Class Scheduling and Time Tabling System
42. Library management system project in JAVA
43. Inventory management System
44. Online Mobile Shopping
45. Employee Management System
46. Social Networking
47. Boutique Management System
48. Online Voting System
49. Video Streaming in PHP
50. Online Advertising
51. Point of Sales and Inventory System
52. Online Hotel reservation system
53. Best business opportunity for college students.
54. Study of Financial Performance Based On Ratios
55. Shopping Website with Payment Gateway
56. Human Resource Management System
57. Hospital Management System
58. Matrimonial Website Script
59. College Management System
60. Online Recruitment Site
61. Library management system project in JAVA
62. Social Networking project synopsis
63. Online Examination System Project
64. Online Job Site Report
65. Sales and Inventory management system
66. Classroom Management Software
67. Barcode Enabled Attendance Record System Project Report
68. Gas Agency Management System
69. Sugar CRM customer relationship management Script
70. Sales and Inventory Management System
71. Audio and video conferencing System
72. Online Courier Management System
73. Enquiry form script
74. Stores Management System
75. Hand Written Pattern Recognition System

The topics would have been repeated in the above list! Ignore them.

About "N-Tier" Architecture - From wikipedia article I read:

Generally, the term tiers is used to describe physical distribution of components of a system on separate servers, computers, or networks (processing nodes). A three-tier architecture then will have three processing nodes. Layers refer to a logical grouping of components which may or may not be physically located on one processing node.

I do think that the concept of "layer" and the concept of "tier" got mixed up with time. I personally like to talk about layers only rather than tiers as I prefer PAAS solutions where my concerns are only on the software, and the industry is slowly moving in this direction.

Also when you plan for an application that could greatly expand I still don't think that you should think about n-tier for scalability. In fact, very popular websites with a lot of traffic only separate themselves into 3 components: Database servers, web servers (including the caching servers), and a few CDN (content delivery networks). This kind of separation can be achieved in any application.

But to conclude, I think a programmer should only think about layers and separation of concerns within the application to achieve the most important (and difficult) task: maintainability in the long run.

-Chief Administrative Officer.