I have been silent for a while on this blog . Even my planned post on MonoDevelop running on top of Ubuntu has been put on hold. Reason? I found Drupal and started playing on it for a while . Output? An alpha release of an Online Virtual Community for Aparrianos. The site was built using the basic features of Drupal plus some contributed modules . As of the moment no PHP coding is being done but Im planning to integrate some of it when Ill have time to learn the langugae. The domain name is a free but Ill be registering a more appropriate domain name later on. I enjoyed learning Drupal and still learning more and expect for posts regarding this Open Source CMS later on.
Just last night , while searching for some articles on Model-View-Presenter topic , I downloaded a sample source code from a source which has "google" on its URL . The code was actually hosted by Google Code repository running Subversion. The main Google Code page displays most of the current development done and link to those projects . This include a link to Android , Googles platform for Mobile Development. Under Developers Resources you will find the Project Hosting link. This allows you to host your own project (up to 10 projects) and make it available to the web. Whats cool is that a Wiki page , Issue Tracker , Download Page , Source Code Page and Description page is provided . This is a good avenue for open source developers who wants their codes to be looked upon and being changed by the community . Im planing to host one of my initial open source web project here once it is ready for alpha relase. By the way , I found the C#-Ported DotNetNuke hosted in Google Code.
If I could remember it well , my previous officemate (Meng) once sent me a link to an article about Googlism, discussing profane thoughts on Google being a God .
Reading through some articles on Source Code Control , I ran into an article by a person from SourceGear and I certainly agree with his introduction. Never had I learn something about source code management in school . Yes , they did talk about the infamous SDLC but not on SCM or CVS or SVN . Of course any one from the industry knows Source Code Control is a vital part of any development.
Back when I was starting development in USL where most of my skills was gained through constant reading , reseach and unpaid overtimes , I never thought of SCM . I know Visual Studio has a Visual Source Safe , but its actual use Im really clueless (or maybe just plain uninterested). One of the main reasons I never really dug into t is because I was the only developer for the application, I was the source code and the source code was me. It was only during my remaining quarter in USL that I made some effort to look into it. Mainly because some works are now being done by other programmers plus the thought of turn over was making sense. It was only on my second company that I got exposed to this process ( SourceOffSite and Vault was the main tools). My current company uses another , unfortunately I am yet to be exposed to it.
Source Code Control has undergone several innovations. Here are some list of terms use to describe them: 1. "Manual" Version Control - The simplest kind of version control consists of using the organization’s shared file storage system (e.g. networked file server) as the source code repository. 2. Microsoft Visual Source Safe . For larger projects and to solve the corrupted repository risk, Microsoft recommends the source code control functionality built into the Visual Studio Team Foundation (a suite of software configuration management and development technologies). Visual Studio 2010 Team Foundation has been previewed on some sites. 3. Concurrent Version System (CVS) - CVS is the dominant free open-source multi-platform client-server version control system. 4. Subversion (SVN) - Subversion is an open source project, actively maintained by Collabnet/Tigris, whose goal is to supercede CVS. 5. Revision Control System (RCS) - RCS is one of the oldest open-source version control systems and only implemented exclusive locking mode, so CVS was developed to supersede it by providing concurrent versioning instead.
Given those options , plus a dozen even more , different implementation can be adapted basing on the need of a particular team or company. I ran into a white paper discussion listing the pros and cons of each options above ( be warned that the document is somewhat outdated ).
Why do we neecd it? In my point of view , here are some reasons why Source Code Control is important.
A. Developers Point of View .
1. It serves as a central repository of source codes and other important data . Database changes are also placed in the repository. Not the MDF but the SQL (fro SQL Server) code (which is in text format , thus , diff can be done)is stored. You can use the SQL Server Data Publishing Wizard to generate the code if you are working on SQL Server. 2. Changes are easily tracked. This is very important on a project where several people are working together. 3. Ease of Backup and Restoration. 4. Updated Source Codes can easily move from one machine to the other. 5. Security on source code access can be easily done.
B. Management Point Of View
1. More secured respository for source codes. 2. Tracking of changes can be done easily. 3. Ease of Source Code turn overs.
Of course, there are other benefits of Source Code Control . Just feel free to comment on the post if you want to add or question some things.
Source code control is not just for team or groups, it can also be helpful for individual developers. This can be very helpful if you want to track changes in your code or move your code from one PC to the other.Currently , at home , I am using VisualSVN Server(free) , TortoiseSVN (free) and VisualSVN (not free). Luckily , for MonoDevelop users for Linux , SVN functionality is integrated in the IDE. (a blog that i will be posting later).
A US Visa at last, just B1 to be exact but somewhat fulfilling . After several hours of anxiety and waiting for a make or break interview with the consul , I nailed it. It came after several weeks of document preparation of course .
So here are some tips that I gained from the experience which may help : 1. Take time to read the instructions that comes with the DS157 form. 2. Fill up carefully the DS156 online and the DS157 manually. 3. Prepare the documents needed . If you have invitation letters , official letters from the company or any important documents that may be connected with your purpose of visiting the US , review them and make sure they are complete and authentic. 4. Prepare documents that may establish "strong ties" with Philippines ( reasons that will make you comeback). These may be in the form of bank statements , land titles , car registrations , existing contracts and others (some even brought photos of their family). I was not asked to show it to the consul but just bring it to be sure. 5. Come early on the day of the interview and make sure all your documents are with you. 6. As much as possible wear something smart casual and comfortable.
Some tips during the interview: 1. Be cool and keep an eye contact with the consul. 2. Answer all questions honestly. 3. Provide the additional documents he may ask . Be polite in giving honest reasons if those documents are not present.
Additional Tips: 1. Ask questions, some friends or colleagues that have undergone the application process can tell you a thing or two. 2. Read some forums regading the topic.
I find myself lucky in situations like this. On some interviews and applications (which maybe for employment or otherwise) I usually nail it on the first try. Marriage , of course is another story . Ill try to nail it the second time I suppose (hahahah)..
I remember one time in an exam for employment , the first question was - who is the father of C#? I have been working with the language but never did I ask myself who actually started the language ( of course Mirosoft was the brainchild , right? ) . After a googling expedition I found out who was the culprit - Microsofts Anders Hejlsberg. I was not interested why it was called C# then , but opening my VS2008 today , I stumbled on one of the articles being shown at the VS2008 opening page - "Computer World: The A-Z of Programming : C#". Its an interview with Anders discussing the history and beyond of C# . Heres the cool part , the name for C# prior to its release was actually COOL (C like Object Oriented Language) . Below are some lines taken from the interview:
Why was the language originally named Cool, and what promoted the change to C#?
The code name was Cool, which stood for ‘C like Object Oriented Language’. We kind of liked that name: all of our files were called .cool and that was kind of cool! We looked seriously at keeping the name for the final product but it was just not feasible from a trademark perspective, as there were way too many cool things out there.
So the naming committee had to get to work and we sort of liked the notion of having an inherent reference to C in there, and a little word play on C++, as you can sort of view the sharp sign as four pluses, so it’s C++++. And the musical aspect was interesting too. So C# it was, and I’ve actually been really happy with that name. It’s served us well.
After reviving my laptop from a virus infection , I started tinkering with it once again . I always had a passion for Linux and the Open Source community , but after trying to think about it a couple of times , I decided to stick with Windows XP for a while .So before I go on and try to tell you why I had Linux on the title of my post , I listed some reasons why I chose to stick with Windows XP for the meantime.
1. I use M$ products at work . Im a .Net developer , thus I use Microsoft Visual Studio for work . Having it installed in my machine is a necessity . However , I have begun exploring the Mono project (which will be posted later on ). 2. I use several software that I still could not find any alternatives yet in the Linux platform. 3. I have a legit license for my Windows XP so I decided to stick with it anyway.
Back to the main topic , I decided , however, to still go ahead and use Linux on my machine . Next stop , virtualization . Yep, as many have been hooked into it , i turned on virtualization to quench my Linux thirst . After looking at two possible options ( VMWare vs Vitual PC - VirtualBox should have been another good candidate) , I decided to go with M$ Virtual PC 2007 . Mainly because I have an existing VirtualPC that I want to use , and I find the software (but less feature rich than VMware ) simple to use.
Using my Ubuntu 7.10 (Gusty Gibon) installation disc, i moved ahead with the VPC creation . Which , of course , went unsuccessful . The screen just went ballistic upon loading the X window.
To make your life much easier when dealing with this odd combination ( Linux on M$ product ) , here are some few points that I would like you to look into:
1. VPC 2007 does not support the high resolution being offered by Ubuntu installation , thus it would be wise for you to choose the Start Ubunutu in Safe Graphics Mode . The disc i have is actually a liveCD which can let me use the OS without actually even installing it on the machine (or virtual machine as our case maybe) . 2. The Ubuntu 7.10 kernel has some problem dealing with mouse once it is in the emulated environment by VPC 2007 . To work around this problem , the i8042.noloop option added on the boot options seems to do the trick . Once you have selected the Start Ubuntu in Safe Mode Graphics , press F6 to bring out the boot options and simply add the new option at the end of the line. 3. Once done , hitting the enter key (and after several minutes of waiting) brings the Ubuntu desktop to life. Just click on the INSTALL icon to begin installing the guy. Installation will proceed similar to the usual Linux installation screens. 4. After reboot , fix the mouse again through the command line . Press Ctrl+Alt+f1 to go to command line then edit MENU.LST under /boot/grub adding the i8042.noloop at the end of the kernel option . Reboot and head your way towards a new Linux experience.
I managed to get my Ubuntu up and running on VPC 2007 , after several runs I found out several problems : 1. I cant access the USB devices . After running some google queries , i found out that it is one of the problems with linux on VPCs . Try several hacks and tricks to make them work. 2. I cant share folders using the VPC (of course I could not without installing the add ons for VPC which unfortunately does not support Ubuntu ) . Solution , folder sharing . I have managed to share a forlder on my host machine and just like any computers on a network it worked . SAMBA of course is another topic worth discussing. 3. My wireless network is not working.
I decided to upgrade to Ubuntu 8.04 (Hardy Heron) . Fortunately , I dont need a new CD for that , I just run the Add/Remove utility and Ubuntu seems to have detected that a new version is out and let me upgrade from 7.10 to 8.04 easily ( i used a wired connection to my network just to make thi work ) . And after almost 8 hours of downloading new packages (my connection was soooo slow) , I have managed to upgrade my Ubuntu , no CDs/DVDs/ required and not even a single cent to spend ( how I wish M$ can also offer this service ..I wish hehe ).
More than 1 day have passed , now I have my Ubuntu VPC working . It does not have the visual effects (like this and the one shown below) that it supports for real install but every thing I needed to start is there.
With all things in place , im heading towards the next stop : .Net development in Ubuntu using MonoDevelop , C# and MySQL . The screenshot below shows my Ubuntu VPC running MonoDevelop, MySQL , Firefox and Pidgin.
The content on this site represents my own personal opinions and thoughts at the time of posting, and does not reflect those of my employer in any way.
The postings are provided "as is" with no warranties, and confer no rights.