Categories
Git Github open source

My fellow developers, ask not what your community can do for you, ask what you can do for your community

JFK

One of the most famous quotes from JFK is “My fellow Americans, ask not what your country can do for you, ask what you can do for your country.” This quote has inspired generations to be more involved in public service. It has inspired us to do more for our country. To be better citizens.

We can also apply the same quote to the software industry.

“My fellow developers, ask not what your community can do for you, ask what you can do for your community.”

Lately, I’ve been thinking of the impact the open source community has in our lives. There are thousands of open source software created by the community. The majority of these professionals do not get paid to work on these projects. They work on those projects because they are solving problems. They enjoy solving those problems. They are not waiting for others to solve those problems.

I want to inspire developers to start contributing back to the community. To help you do that, I have listed 3 easy things you can do to contribute to open source projects:

1. Documentation
Currently, the place to go to contribute to open source projects is github. Find a project that interest you. Once you find your project, read the documentation. I have seen many projects without a readme file. Go ahead and create one. If there is a readme file in place, see if you can spot any grammar errors. If you find any issues in the readme file, update the file with your corrections. If you need help getting started with github, read github’s bootcamp tutorial here.

2. Donate Money
Another way to give back to the community is to donate money. Many projects have a donate button in their front page. If you find an interesting project but they don’t have a donate button, get in touch with the project owners. Most likely they will accept donations.

3. Test
You can also test open source projects. You can play the role of QA tester. Developers don’t do a great job testing their software. For example, web sites are difficult to test because there are so many browsers to test in. You can test the web site with different browsers. If you find any issues while testing, see if you can figure out why it is failing. Open source projects need you for this kind of work.

I hope these words help you find the inspiration to start contributing back to the community. Be a better citizen.

Categories
Git open source Source Control Tips

Ignoring files with Git

GitIgnore

Git ignore allows you to specify files or folders that you don’t want to track with git. Some of the files that we don’t want to track are files that differ from one developer to another. They might be files resulting from a build. Other files might be artifacts that will change every time you build your project.

For example in Asp.Net projects, all of the dll files go inside the bin folder. Some of the dll files might be coming from a public nuget repository while others are private. Adding the bin folder to the .gitignore file will notify Git to ignore that folder and all of its contents.

If you are using Git, you can create a new file called “.gitignore” and place it in the root of your project. Now add [Bb]in/ to the first line of the file and save it. From now on, any files that reside in Bin or bin folder will be ignore or untrack by Git. There is a public repository at github called gitignore that has common settings for different languages. There is one for Visual Studio and you can find the project here. You can take a look at those settings and copy those to your project.

To read the official Git documentation, go to the gitignore page. I hope this article helps you gain more knowledge about Git and its features.

Categories
.Net ASP.NET open source

What is the future of Microsoft’s Codeplex?

codeplex

Codeplex is Microsoft’s hosting site where you can create and collaborate on open source software. It is very similar to Github. You can create new projects, host your code, collaborate with other developers, download source code, report bugs, etc.

Last November, Microsoft announced that .NET 2015, ASP.NET 5, and other components will be developed and released as open source. Microsoft has setup the following projects in Github:

When I read Scott Hanselman’s blog posts related to the above announcement, I asked myself why those projects were not hosted at Codeplex. In my opinion, Codeplex is very popular within the Microsoft ecosystem. However, Github is the place where you host your open source project. Github is not tied to any operating sytem. It is very popular in the open source community.

I also read the blog posts in the Codeplex site and the last post was dated 2 years ago. Is Microsoft abandoning Codeplex? Are they concentrating their resources on other projects like Azure.

Let me know if you agree with me.

Thanks.

 

 

Categories
open source ruby ruby on rails rubygem

RubyGem of the week: Rails

RubyonRails

RubyGems is a package manager for Ruby software. It allows you to create and distribute your Ruby packages or libraries. This week I’m covering one of most popular RubyGems, Rails.

To setup Rails in your project, you need to have Ruby 1.9.3+ and RubyGems installed. Once you have met those requirements, you can run the following gem command in your terminal or console windows:

$ gem install rails

To verify that your installation was successful, type “$ rails –version”. It should display the word rails along with the version number. It is that simple.

What is Rails?

Rails is an open source web framework. It was originally created by David Heinemeier Hansson. It is a model view controller framework written in the Ruby language. Some of the companies using Ruby on Rails are: NASA, Amazon, YellowPages.com, Groupon, MadeWithEnvy, Heroku, Basecamp.

So what is different about Rails in comparison to other web frameworks? In my opinion, Rails allows you to build web applications faster because there is less configuration to perform. The frameworks also provides a default project structure. I don’t have to think where to place my models, views, controllers. By default, the framework handles those details for me.

To get started with Rails, I recommend the following resources:

1. The official Rails guide – http://guides.rubyonrails.org/getting_started.html

2. The Rails tutorial by Michael Hartl – https://www.railstutorial.org

3. Book – Agile Web Development with Rails 4

If you want to learn more about the latest developments with Rails, visit the github page at https://github.com/rails/rails. Rails is one of the most popular projects in github with more than 9441 forks, 24492 stars, and hundred of contributors.

I hope you find this brief introduction to Rails beneficial. See you soon.

Categories
.Net ASP.NET C# open source Xamarin

All you need is C# to conquer the world

csharp c#

C# is an object-oriented programming language created by Microsoft.¬†Wikipedia describes the language as “simple, modern, general-purpose, object-oriented programming language.” With the language, you can create many types of applications, web sites, desktop applications, mobile applications, web services, and many more.

If you know C#, then you can conquer the world. Yes, you read it correctly. You can conquer the world of software development with your knowledge of this programming language. You are only restricted by your imagination.

Here are the 3 reasons why I think C# is the number one programing language to conquer the world: mobile development, web applications, and open source initiatives.

Mobile Development

No one can deny that mobile applications are dominating our time and resources. Recent studies have found that the average user spends more time browsing thru mobile devices compared with desktop browsers. With these demand of mobile applications, businesses are pressured to keep up with this trend. Now they need to provide apps for the two major mobile ecosystems, Apple  and Google.

There are many choices to develop mobile applications, native, HTML, and C# with Xamarin. Nat Friedman and Miguel de Icaza created Xamarin to solve the problem of dealing with different code bases. If you want to write native applications for Android, you will have to write it in Java. If you want to write native applications for iOS, you will have to write it in objective-c. With Xamarin, you are able to share code across iOS, Android and Windows platform.

With your knowledge of C#, you write code once and Xamarin compiles your code for the intended platform.

Web Applications

There are many web sites developed to run under the .Net Framework. These sites still need to be managed and enhanced. Businesses have invested millions of dollars in their ASP.net sites and there is a need to keep these sites working correctly. If you know C# with experience in the ASP.NET web application framework, I assured you that there will be enough jobs for the years to come.

So who is using this framework? Some of the companies using ASP.NET are: US Airways, Bing, Msnbc, Kelley Blue Book, 3M and many others.

Open Source Initiatives

In November 2014, Microsoft announced in New York that many components that are part of the .NET framework are released in github as open source. See Scott Hanselman’s blog for a complete listing of projects and initiatives taken by Microsoft to make ASP.NET 5 cross platform. Along with these changes, Visual Studio Community is now available for students and open source developers. There is also a new .NET Core CLR for Linux, Mac, and Linux. If you want to see the changes, go to the github dotnet page. I believe these changes by Microsoft allows for more innovation. And with innovation, we will see new products and also improvement to the existing .NET framework.

Summary

I believe C# is an excellent programming language to conquere the world of software development. There are sites developed in the ASP.NET web framework that still need maintenance and enhancement. With the recent rise of mobile development, your C# skills will allow you to write cross-platform apps with Xamarin. The open source movement by Microsoft has taken a major change for C# developers. It will allow you to write cross platform on any OS.

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.