Categories
code open source python

My first contribution to the Python language

contributing to python

Python is an object-oriented language created in the early 90’s by Guido van Rossum. It is used by major corporations like Google, Dropbox, Mozilla, Ebay, Paypal and many others. Since Python is an open source language, contributions from the public are encourage and welcomed.

For the last few weeks, I decided to install it on my machines and start reading the documentation. Python’s documentation is well written and easy to follow. The first thing I did was to start reading the PEP files. PEP stands for Python Enhancement Proposals. These documents are text files submitted by the community to enhance the language. One of the most popular PEP is PEP 8 which is the style guide for Python code.

When I started reading PEP 3, there was a broken link. I tested this issue with different browsers and I was always getting a 404 error. So I decided to email the python development group. Within a few hours, I got a response from Victor that indeed PEP 3 had a broken link and he gave me the correct link. I was in the process of creating a new bug and submit a patch but a core developer was able to update the link.

pep8UpdatedLink

Based on the positive response and support I received from the python contributors, I plan to keep contributing to the python code. If you want to start contributing to Python, go to the developer’s guide to get familiar with the documentation and source code.

Categories
.Net ASP.NET C#

Book giveaway – Professional ASP.NET 2.0 Security, Membership, and Role Management

Pro ASP.NET 2.0 Security

I’m giving away a book written by Stefan Schackow titled Professional ASP.NET 2.0 Security, Membership, and Role Management.  I no longer used this book and want to help other software developers using ASP.NET 2.0. To have a chance to win this book, write a comment below stating how you are helping others. Let me know how you are helping the next generation of software developers / engineers. You probably speak at conferences or teach programming in your community.

This offer is only available to people that live in the United States. I will choose a winner on Christmas day.

Categories
Beginners code ruby

Hour of code with Ruby

hour of code with ruby

Ruby is a “dynamic, open source programming language with a focus on simplicity and productivity”. That’s the definition taken from the official ruby site. Ruby is a fun and easy language to code in. Recently, I heard of hour of code, a movement to introduce computer science to million of students.

With that in mind, I want to share an excellent site to learn ruby. Go to tryruby.org and follow the instructions to start writing ruby code. There is nothing to install and you get clear instructions and instant feedback.

For example, you can type “2 + 2” and then press enter in the interactive window, you will see “4”.

Go ahead and have fun learning ruby.

Categories
Git Source Control Team Foundation

Team Foundation checkout vs Git checkout

Source Control Checkout

I have a friend that has been using Team Foundation Server to manage his projects for a long time. He knows all the commands to create branches, merge, annotate, get latest, checkout, etc. However, when we started using Git, he was expecting the checkout command to perform the same action as Team Foundation.

In Team Foundation, the checkout command allows you to make changes to a file and also specify a lock type. In visual studio 2012, I see 2 options for lock type:

– Unchanged – Keep any existing lock and
– Check In – Allow other users to check out but prevent them from checking in

After you have selected the lock type, you can click the “Check Out” button and the file will be in edit mode and ready for you to make changes.

In Git, the checkout command is use to switch/create a new branch. If you want to switch to an existing branch, you can run the following command:

$ git checkout existingBranchName

If you want to create a new branch and switch to it, you can run:

$ git checkout -b newBranchName

To see the full list of available options for the checkout command, visit the official git documentation site @ http://git-scm.com/docs/git-checkout.

Hopefully this will help other developers using git coming from a Team foundation background.

Categories
General

This month be thankful for the world wide web

World Wide Web

In the United States, we celebrate Thanksgiving on the fourth Thursday in November. Many families take time off from their busy schedule to be with their family and enjoy a nice meal. It is a time to be thankful.

As a software developer,  I’m thankful for the world wide web. I had a revelation back in 1997 when I took my first computer science course in Mountain View Community College. As part of my assignment I had to search for information and google provided the data I needed. It was during that time that I made the following remarks, “the web will have a major impact in the world.” From that point on, I wanted to learn more about the web. Who invented the web? Can I create my own web site? I was determined to learn more about the world wide web. So I took different courses in HTML, CSS, and Javascript. These courses gave me the foundation to start my career as a software developer.

I’m thankful for the web because it created a whole new industry. We can thank the web for the rise and success of ebay, amazon, netflix, apple, and many other companies. It has created many job opportunities. I can be thankful for the web because it created my job. It is hard to imagine the world without the web.

What about you? Are you thankful for the web?

Categories
General

4 things you didn’t know about Visual Studio

I’m a big fan of dotnetrocks and during show 543 Phil Haack shared interesting facts about visual studio. So here are the 4 things you didn’t know about Visual Studio 2010:

1. It is made up of 1.5 million source code files.
2. There are 220 thousand directories.
3. It takes 61 hours to do a fully signed build.
4. 4719 connect bugs were fixed during development.

Categories
ASP.NET Continuous Delivery General

Frustrated Driven Development

Frustrated Driven Development

I want to share a story about FDD or Frustrated Driven Development. A few years back, I worked in a very large asp.Net web site and the deployments were done manually. As you can imagine the chaos and errors caused by manual deployments. Sometimes we forgot to include all required steps to deploy the application. The instructions to our IT department will look like:

1. Create a back up copy of the entire site.
2. Delete all the files except the web.config file.
3. Copy the folder contents from this location d:\deployments\eStoreApp\05-20-2008\production into the production folder.
4. Open up the web.config file from production and update the following app settings:
a. Update emailAddress value from oldEmail@test.com to newEmail@test.com.

These instructions were very difficult to follow by our IT department and many times we encounter issues because one of the steps required to deploy the site was never performed. IT will blame engineers and engineers will blame IT. I guess both IT and engineers were used to this process and the frustration level was low. It was so painful that no one wanted to change or improve this process.

However, we got a new team member in our IT department. At the beginning, Bob followed the deployments instructions but he started questioning this process. Bob was frustrated and started talking with his manager. Bob said, “there must be a better way to deploy asp.net sites”. He gather data and found a product by red gate called deployment manager.

Bob approached me and said, “I don’t want to do manual deployments anymore. Can you help me test this new deployment tool from Red Gate?” I replied, “sure, what do you need from me?”. Bob said, “I just need a nuget package”.

Within a few weeks, we installed deployment manager in our different environments (QA, Staging, and Production) and both teams IT and engineers were happy and using this tool to automate our deployments.

Hopefully this story encourages other teams to use Frustrated Driven Development to identify what is causing pain and frustration in your team and using that energy to solve or improve those processes.

Categories
General Tips

Follow these tips to get your first job as a software developer

During my last two years of studies, I interviewed with many different companies. Most of them required some experience in a programming language: Java, .Net, Php, etc. I had many friends that had part-time jobs working as web developers. For them, it was easier to secure a full-time job after graduation. For me on the other hand, the lack of experience hurt my chances to start my IT career right after graduation.

To help you get your first job as a software developer, I recommend you follow these tips:

  • Gain experience

The sooner you start your professional career, the better chances you have securing your first job as a software developer. Working part-time and going to school at the same, it’s no easy task. I highly recommend finding a part-time job during summer or find an interesting open-source project where you can apply your knowledge. Employers want students that not only have the academic projects on their resume but also can list real life projects on their resume.

  • Keep investing in your education

Information Technology is a fascinating field. It is always changing. With this in mind, you have to keep investing in your education. If you learned .Net or Java during college and you feel that having learned those programming languages is enough, you are wrong. Pick up a new programming language. Right now, Javascript skills are in high demand. Perhaps you want to learn Ruby on Rails, or Python. What about mobile development? Android and IOS developers are also in high demand. I encourage you to buy books or subscribe to online courses to help you learn new languages.

  • Embrace change

The only constant is change. Embrace it. Many years ago, Android and IOS did not existed. However, every year we saw that phones were becoming smaller in size and powerful. Some said that phones are mini-computers. Software developers need to be ready to change. The technology that is popular today may not be popular tomorrow. Software developers need to have an open mind to technology change.

I hope these tips will help you find your first job as a software developer.

Categories
.Net ASP.NET Beginners

How I learned .Net

I graduated from Southern Methodist University in 2001 with a bachelors degree in Management Information Systems. During my studies, I took classes in HTML, Javascript, Visual Basic 6 and Java. I interviewed with different companies but was unable to secure a full-time job in IT. So I decided to help my parents with their small furniture store in Dallas, TX.

While working at the furniture store, I learned so much about running a business. I learned about marketing, sales, accounting, managing people, and of course about IT. However, my desire was to work as a software developer. So I decided to learn .Net framework and specifically asp.net.

At the beginning I read many articles online about this new framework created by microsoft. .Net framework was the buzz word and I knew I had to learn it to secure a job as a software developer.

It was time to take action and start writing code. The online articles helped me a lot to understand the basics but I needed a mentor, a guide to write my first .net application. To accomplish that task, I bought this book:

Beginning ASP.NET 1.1 with Visual C# .NET 2003 by Wrox.

With the help of this book, I was able to setup my development environment and create my first asp.net site for the furniture store.

I highly recommend the books by Wrox specially the beginning series because they walk you step by step in learning a new programming language or framework.

I hope this article inspires other developers to start learning and creating projects.

 

Categories
General

Hello World!

When you start learning a new programming language, the first thing you see is a “hello world” tutorial showing you how to get started with that language.

In my case, I’m not going to show you a tutorial at this time. Instead, I’m going to introduce myself to the world. Hello everyone. My name is Raymond Sanchez and currently working for Verizon Terremark as a Senior Software Developer.

I have decided to start blogging my experiences as a software developer and hopefully help others become great software developers.

My goal is to write at least 1 blog post per month. I’ll see you soon.