<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Michel Billard</title>
	<atom:link href="http://www.mbillard.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mbillard.com</link>
	<description>News and information about me, Michel Billard. I'm a Web developer with a formation in software engineering.</description>
	<lastBuildDate>Thu, 28 Jan 2010 01:52:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>I am not a programmer</title>
		<link>http://www.mbillard.com/149/i-am-not-a-programmer/</link>
		<comments>http://www.mbillard.com/149/i-am-not-a-programmer/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 01:52:33 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=149</guid>
		<description><![CDATA[My job is to program web applications. To accomplish this, I have to do a lot of things: code the back-end, write the markup, tweak the SQL queries, arrange the styling, etc. Programming is a huge part of my work, but the thing is that I don&#8217;t feel like a programmer. I&#8217;m also pretty good [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-150" title="Binary Code" src="http://www.mbillard.com/wp-content/uploads/2010/01/1159615_binary_code_3.jpg" alt="" width="127" height="180" />My job is to program web applications. To accomplish this, I have to do a lot of things: code the back-end, write the markup, tweak the SQL queries, arrange the styling, etc. Programming is a huge part of my work, but the thing is that I don&#8217;t feel like a programmer. I&#8217;m also pretty good at doing all of the above, I&#8217;d rate myself a 8 or 9 on 10 (where 10 is a guru) at all the skills I just listed.</p>
<p>The actual act of programming is not the reason why I program, I do it for the results. That probably explains why I prefer to use high level languages that abstract most of the boring parts of programming and let me get from the idea to the implementation as fast as possible.</p>
<p>I don&#8217;t exactly know what I really am if I&#8217;m not a programmer. I really like creating web applications, thinking of new features or new projects that I could do, but I never look forward to actually coding it. I like playing with the markup, the styling and the client-side behavior (the whole front-end), but I hate programming what&#8217;s under the hood.</p>
<p>Any other programmers out there feeling that they are programming out of necessity instead of passion?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/149/i-am-not-a-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Helping high school students find their way</title>
		<link>http://www.mbillard.com/147/helping-high-school-students-find-their-way/</link>
		<comments>http://www.mbillard.com/147/helping-high-school-students-find-their-way/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 16:45:33 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=147</guid>
		<description><![CDATA[I already mentioned that I participate as a cyber-mentor at Academos, a site where student get the chance to talk with professionals from all domains to ask them what the work is like, how to get there and what to expect once you become a professional. If you are a high school teacher (in Quebec, [...]]]></description>
			<content:encoded><![CDATA[<p>I already mentioned that I participate as a cyber-mentor at <a title="Academos - Cybermentorat" href="https://academos.intraflex.ca/intr/Login.aspx?ReturnUrl=%2fintr" target="_blank">Academos</a>, a site where student get the chance to talk with professionals from all domains to ask them what the work is like, how to get there and what to expect once you become a professional. If you are a high school teacher (in Quebec, Canada), I strongly suggest that you take a look at the site and see what it can offer for your students.</p>
<p>Next week, I&#8217;m taking it to another level. A high school student will be following me for a day (not much following to do since I work on the computer all day). This will not impact my work too much and I will be able to help someone experience first hand what his potential future career will look like, about 6 years before being able to get there.</p>
<p>Helping the future software engineers is something we, at Hint Innovation, and I truly believe in. We depend on what the education system builds, in terms of graduates, and as employers of future graduates, I think it&#8217;s important to be a part of that system.</p>
<p>Web development education is at a critical point, it&#8217;s mostly untouched by software engineering formations but most companies now need professional Web developers. There are places other than universities that teach Web development, but they don&#8217;t teach the same things as the universities. Both are needed, but currently only one exists.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/147/helping-high-school-students-find-their-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>279 Days to Overnight Success</title>
		<link>http://www.mbillard.com/135/279-days-to-overnight-success/</link>
		<comments>http://www.mbillard.com/135/279-days-to-overnight-success/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 17:55:49 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=135</guid>
		<description><![CDATA[Have you ever thought about becoming your own employer? On living on your blogging income? Well, this guy did it in just 279 days. He even wrote an excellent ebook (he calls it a manifesto) &#8220;279 Days to Overnight Success&#8221; to tell people interested in doing the same how he did it.
I find the manifesto [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://chrisguillebeau.com/3x5/overnight-success/"><img class="alignright size-full wp-image-136" title="279 Days to Overnight Success cover page" src="http://www.mbillard.com/wp-content/uploads/2009/08/279-days-logo-201x300.jpg" alt="" width="103" height="154" /></a>Have you ever thought about becoming your own employer? On living on your blogging income? Well, this guy did it in just 279 days. He even wrote an excellent ebook (he calls it a manifesto) <a title="Link to the page to learn more about the manifesto and download it" href="http://chrisguillebeau.com/3x5/overnight-success/" target="_blank"><em>&#8220;279 Days to Overnight Success&#8221;</em></a> to tell people interested in doing the same how he did it.</p>
<p>I find the manifesto really interesting because that&#8217;s something I would like to do myself, at least partially. I love writing, teaching people new things, sharing my experiences. I say partially because I wouldn&#8217;t have anything to write about if it were not for my work, where I get to learn so much. I have so many project ideas, but I don&#8217;t take the time to even start any of those. After having read the manifesto, I&#8217;m a little more motivated, I need to answer 2 important questions raised in the ebook (he calls them <em>&#8220;the two most important questions in the universe&#8221;</em>):</p>
<ol>
<li><strong>What do you really want to get out of life?</strong></li>
<li><strong>What can you offer the world that no one else can?</strong></li>
</ol>
<p>Anyway, if you ever thought about going solo and working on your own, give this ebook a chance and read it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/135/279-days-to-overnight-success/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Two years at Hint Innovation</title>
		<link>http://www.mbillard.com/131/two-years-at-hint-innovation/</link>
		<comments>http://www.mbillard.com/131/two-years-at-hint-innovation/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 16:03:28 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Work Experience]]></category>
		<category><![CDATA[Hint Innovation]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=131</guid>
		<description><![CDATA[Well, it seems I have been working at Hint Innovation for 2 years now (as of August 13). I&#8217;m happy that I can say that I still love my job. In my previous work experiences I usually got bored after a few weeks, good thing they were just internships. I guess having more responsibilities and [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it seems I have been working at <a title="My company's Web site" href="http://www.hintinnovation.com" target="_blank">Hint Innovation</a> for 2 years now (as of August 13). I&#8217;m happy that I can say that I still love my job. In my previous work experiences I usually got bored after a few weeks, good thing they were just internships. I guess having more responsibilities and real challenges makes my brain happy.</p>
<h3>Retrospective</h3>
<p>I&#8217;ve learned a lot in my two years and I now know myself a lot more (work-wise). I&#8217;ve seen a few employees come and go (though I&#8217;m still the youngest&#8230;) and worked on plenty of interesting projects. I&#8217;m still keeping up with the latest advancements and I feel like I have the skills to improve my field. I&#8217;m feeling more confident with my writing skills on my blogs which I&#8217;m glad I started doing regularly.</p>
<p>The company also improved a lot, moving from a 10 feet by 10 feet room to a huge 1000+ square feet office. We also improved our processes and we can now produce code much faster than we used to. We learned from our mistakes and we have great things planned for the future.</p>
<h3>Future</h3>
<p>First of all, I plan to stay at Hint, mostly because we have a great team and we have what it takes to make a difference in our field. In the last two years, we fixed a lot of issues in the way we handled clients and we can now use this experience to go ahead and create better applications than ever before. I now have decent experience in my field and I (and my bosses) feel that I now have what is needed to start managing/leading people. This is not entirely new to me since I&#8217;ve helped the various employees that started working at Hint, but I think I could handle a small team. That&#8217;s why, as more employees start working for us, I would love to take the role of a team lead.</p>
<p>On the personal side, I will keep blogging (mostly at <a title="My programming blog" href="http://crossbrowser.net" target="_blank">crossbrowser.net</a>) and I will do my best to start one of my many projects that are currently just ideas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/131/two-years-at-hint-innovation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blogging</title>
		<link>http://www.mbillard.com/129/blogging/</link>
		<comments>http://www.mbillard.com/129/blogging/#comments</comments>
		<pubDate>Thu, 28 May 2009 15:37:27 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=129</guid>
		<description><![CDATA[As you may know, I have started blogging a bit more regularly over at Crossbrowser.net. I&#8217;m still in my early attemps at blogging and the quality of the text probably shows that. I&#8217;m still happy so far of what I&#8217;ve written, hopefully a few more people will start following and commenting. My goal for this [...]]]></description>
			<content:encoded><![CDATA[<p>As you may know, I have started blogging a bit more regularly over at <a title="Web engineering and software development" href="http://crossbrowser.net" target="_blank">Crossbrowser.net</a>. I&#8217;m still in my early attemps at blogging and the quality of the text probably shows that. I&#8217;m still happy so far of what I&#8217;ve written, hopefully a few more people will start following and commenting. My goal for this year is to write at least one entry per week, I already have content for a dozen posts, but I need to learn to take more time to write.</p>
<p>Here are a few interesting posts (in my opinion) you might&#8217;ve missed:</p>
<ul>
<li><a title="Code Usability" href="http://crossbrowser.net/97/code-usability/" target="_blank">Code Usability</a></li>
<li><a title="Process Usability" href="http://crossbrowser.net/99/process-usability/" target="_blank">Process Usability</a></li>
<li><a title="Password Management 101" href="http://crossbrowser.net/121/password-management-101/" target="_blank">Password Management 101</a></li>
<li><a title="Handling Users" href="http://crossbrowser.net/137/handling-users/" target="_blank">Handling Users</a></li>
</ul>
<p>In the past few weeks I improved the navigation and layout. I also made some improvements to help with SEO (Search engine optimization) (on this website too). If the traffic gets good enough, I&#8217;ll probably try to put up some advertisements (non obtrusive of course). In the meantime, I&#8217;ll keep posting to improve my writing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/129/blogging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The importance of having your own domain</title>
		<link>http://www.mbillard.com/125/the-importance-of-having-your-own-domain/</link>
		<comments>http://www.mbillard.com/125/the-importance-of-having-your-own-domain/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 12:49:02 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=125</guid>
		<description><![CDATA[Over at my other blog, I talk about the importance of owning a domain even if you don&#8217;t plan on having a website.
Here&#8217;s a quote from the post:
The most important use you can make with your own domain is having access to an infinity of email addresses. You probably already have at least one @gmail.com, [...]]]></description>
			<content:encoded><![CDATA[<p>Over at my other blog, I talk about <a title="Why you should get your own domain now" href="http://crossbrowser.net/89/why-you-should-get-your-own-domain-now/" target="_self">the importance of owning a domain</a> even if you don&#8217;t plan on having a website.</p>
<p>Here&#8217;s a quote from the post:</p>
<blockquote><p>The most important use you can make with your own domain is having access to an infinity of email addresses. You probably already have at least one @gmail.com, @yahoo.com, @hotmail.com, @whatever-free-email-service.com address, probably 2 or more, everyone does. However, none of these gives you as much freedom as having your own domain does.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/125/the-importance-of-having-your-own-domain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interviews with Google</title>
		<link>http://www.mbillard.com/41/interviews-with-google/</link>
		<comments>http://www.mbillard.com/41/interviews-with-google/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 14:55:35 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=41</guid>
		<description><![CDATA[Back in 2007, when I was about to complete my undergraduate degree in software engineering, I applied for a position at Google. They had just opened an office in Montreal and since I had excellent grades I thought I had a chance.
My friend Simon also applied at the same time and we both received emails [...]]]></description>
			<content:encoded><![CDATA[<p>Back in 2007, when I was about to complete my undergraduate degree in software engineering, I applied for a position at Google. They had just opened an office in Montreal and since I had excellent grades I thought I had a chance.</p>
<p>My friend <a title="Optimizing the World" href="http://simonfl.com" target="_blank">Simon</a> also applied at the same time and we both received emails informing us that we would be going through a few interviews, starting with the phone interview.</p>
<h3>The phone interview</h3>
<p>The interviewer kept asking me about network related stuff and heavy performance oriented problems. After the interview (which didn&#8217;t go well since I couldn&#8217;t answer most of the questions because they were all about things I don&#8217;t like doing), they informed me that I would not be doing more interviews because I was not a good fit for the position they were considering me for. I&#8217;m glad I didn&#8217;t go for that job, I would&#8217;ve hated it though I would have liked to be considered for a position where my skills were useful. I prefer working on the front-end part of applications, creating features and working on improving the usability. I asked them about other positions, but they wouldn&#8217;t reply to my emails (not because I was harassing them, just because my emails seemed to get lost in my contact&#8217;s inbox).</p>
<h3>Letting go</h3>
<p>In the end, I found a great opportunity at Oracle (<a title="ORA-01010: Oracle hiring process error" href="http://www.mbillard.com/39/ora-01010-oracle-hiring-process-error/" target="_self">what seemed like a great opportunity</a>) and decided to focus on that instead. Since that didn&#8217;t work out I finally landed a great job at Hint Innovation.</p>
<p>I&#8217;m glad I failed that interview: at the time, Google seemed like the ultimate workplace, but I would have missed on something even better.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/41/interviews-with-google/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A2P2</title>
		<link>http://www.mbillard.com/100/a2p2/</link>
		<comments>http://www.mbillard.com/100/a2p2/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 19:53:52 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[A2P2]]></category>
		<category><![CDATA[Laptop]]></category>
		<category><![CDATA[Polytechnique]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=100</guid>
		<description><![CDATA[That&#8217;s the name given to a special program at the Polytechnique de Montréal. I haven&#8217;t been able to track down the exact meaning of the acronym because all the references to this program have been deleted. The best approximation I can get is &#8220;Apprentissage Assisté par Portable de Polytechnique&#8221; which roughly translates to &#8220;laptop assisted [...]]]></description>
			<content:encoded><![CDATA[<p>That&#8217;s the name given to a special program at the Polytechnique de Montréal. I haven&#8217;t been able to track down the exact meaning of the acronym because all the references to this program have been deleted. The best approximation I can get is &#8220;Apprentissage Assisté par Portable de Polytechnique&#8221; which roughly translates to &#8220;laptop assisted learning&#8221;.</p>
<p>I got into the program when I started Polytechnique because it just made sense. I was studying software engineering and having a laptop with me at all times would help me do my homework anywhere I want. However, Polytechnique didn&#8217;t handle the program too well so it fell apart after the first year. This was their second attempt at such a program. Lucky for me, this time the failure of the program did not affect us as much as it did for the students of the previous trial.</p>
<h3>Impact</h3>
<p>Having a laptop with us at all times meant we could see the notes the teacher put online for us and we could experience the code snippets the teachers were showing. However, we also had access to the Internet and all its distractions. A lot of people from the group couldn&#8217;t handle the distractions and more than a few failed and dropped while others had trouble getting passing grades. There is so much that can be done online that is way more entertaining than listening to a boring teacher. Only the best teachers had the luck of having our attention.</p>
<h3>Errors</h3>
<p>Most teachers didn&#8217;t adapt their class to make use of the laptop. Most of them just released their notes online and allowed the students to open the laptop in their class. Furthermore, the group was a merge of students from many fields: some were studying computer and software engineering while others were studying civil or industrial engineering. Usually, the classes are grouped by domain to encourage the students to participate in their student committee. The year of A2P2 was the worst year for participation, only 3 or 4 of us were ever active in the committee instead of the usual 10 to 15 (I&#8217;m not talking about having a position in the committee, I&#8217;m talking about going to the events and helping the committee organize the said events).</p>
<h3>Program termination</h3>
<p>Fortunately for us, unlike the guinea pigs from the previous program, we bought our own laptops so when the program got canceled we were stuck with whatever laptop we had decided to buy instead of the one chosen by the school. We could still bring them to class and use them instead of the computers in the computer laboratories which were always full of students near the end of the semester. It was very helpful to always have access to a computer from anywhere in the school.</p>
<h3>Lesson</h3>
<p>Having a laptop during class can be beneficial so long as the teacher and the students are aware of the impact it can have. If the teacher is just a note reading machine then the students won&#8217;t pay attention and will either waste time on the Internet or work on their school projects. So long as the student doesn&#8217;t waste too much time, having a laptop can help, especially near the end of the semesters.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/100/a2p2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Giving back to the development community</title>
		<link>http://www.mbillard.com/103/giving-back-to-the-development-community/</link>
		<comments>http://www.mbillard.com/103/giving-back-to-the-development-community/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 15:30:40 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=103</guid>
		<description><![CDATA[I didn&#8217;t get where I am all by myself, I&#8217;ve had the help and support from many people and organizations. Some came from friends and family, some came from the various schools I went to and a lot came from the online communities and blogs that helped me find the answers to many programming issues [...]]]></description>
			<content:encoded><![CDATA[<p>I didn&#8217;t get where I am all by myself, I&#8217;ve had the help and support from many people and organizations. Some came from friends and family, some came from the various schools I went to and a lot came from the online communities and blogs that helped me find the answers to many programming issues and the inspiration to improve my skills.</p>
<p>Without them, I would not be doing what I do today, nobody would be doing what they are doing today without mentors. We all need a starting point and a way to learn more about something (in the form of a book, an Internet article or a person). Now that I am a qualified Web developer, I still need the help from my colleagues and from the online communities more than ever. I still read plenty of blogs and articles about Web and software development practices and I still don&#8217;t know everything about HTML, CSS, JavaScript, C#, SQL, etc. (I&#8217;m working hard on that).</p>
<p>If I need them, I thought that maybe my help could be valuable. That&#8217;s why I try to do my part and participate in helping others learn and get better.</p>
<p>This is how I try giving back to the development community.</p>
<h3>Blogging</h3>
<p>The first way is via blogging. I&#8217;ve started this blog here mostly for logging the important events in my career, but I&#8217;ve also started writing in a more technical blog which I hope will help others become better developers. I&#8217;ve been reading various development blogs for a few years now and it has had a big impact on the way I think and develop. By blogging here and at <a title="Web engineering and software development" href="http://crossbrowser.net" target="_blank">Crossbrowser</a>, I feel like I can reach and help many people at once.</p>
<h3>Academos</h3>
<p><a title="E-mentoring" href="https://academos.intraflex.ca/intr/Login.aspx?ReturnUrl=%2fintr&amp;l=ANG" target="_blank">Academos</a> is a web site built to help young students (high school) learn more about the jobs they are interested in. They contact someone who does a job they consider for their future and ask questions about what qualities are important to do that kind of work, what formation is required, the work environment, etc. No one knows what work is really like more than the people doing the job, so us E-mentors can really help them choose the right career.</p>
<h3>Development communities</h3>
<p>I&#8217;ve always wanted to help others on development forums. However, until recently I never had a community that I felt I could really connect with. That place is called <a title="Stack Overflow" href="http://stackoverflow.com/" target="_blank">Stack Overflow</a> (think experts-exchange, but free) and helps developers around the world find answers to their problems. Anyone can ask a question and anyone can post their solution and comment. There&#8217;s a reputation system encouraging people to answer which means a question rarely goes unanswered. There is still the problem of very specific questions that no one really knows the answer of, but so far all my issues have been resolved. I do my part there by contributing answers and comments on questions in my field of expertise.</p>
<h3>Web education</h3>
<p>Web development education has been lacking at University level (there was nothing about the Web where I graduated). During the Wine &amp; Cheese of January hosted by the <a title="Polytechnique de Montréal" href="http://polymtl.ca" target="_blank">Polytechnique de Montréal</a>, a great teacher I had mentioned the new class they had which is an introduction to Web development. He wanted to create three more classes about different Web development subjects but said that school needed to feel the need and support from companies.</p>
<p>Shortly after I came across two articles from <a title="A List Apart" href="http://alistapart.com/" target="_blank">A List Apart</a> which were talking about Web education. The first <a title="Brighter Horizons for Web Education" href="http://alistapart.com/articles/brighterhorizonsforwebeducation" target="_blank">article</a> mentions a few groups trying to help build the curriculum and talks about the state of Web education at University level (it&#8217;s pretty much nonexistent at most universities). The second <a title="Elevate Web Design at the University Level" href="http://alistapart.com/articles/elevatewebdesignattheuniversitylevel" target="_blank">article</a> talks about what we, Web development professionals, can do to help improve that.</p>
<p>So after talking with my colleagues and bosses, we decided to offer our help and support to the local university in building their curriculum or for anything else they might need us.</p>
<h3>Giving back</h3>
<p>It&#8217;s important for me to help others as I was helped now that I am in a better position to help. There are other ways to help, this is how I chose to do it and I&#8217;ll be on the lookout for other opportunities to give back. It feels good to help and if you have the tools to do it, you should.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/103/giving-back-to-the-development-community/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My undergraduate thesis (PFE)</title>
		<link>http://www.mbillard.com/80/my-undergraduate-thesis-pfe/</link>
		<comments>http://www.mbillard.com/80/my-undergraduate-thesis-pfe/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 19:02:33 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[PFE]]></category>
		<category><![CDATA[Polytechnique]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=80</guid>
		<description><![CDATA[During the final year of the software engineering degree at the Polytechnique, students have to undertake a major project which counts for one or two classes (3 to 6 credits). That project can be done alone, with someone else or in a small team. By choosing to work with a small team, you&#8217;ll get a [...]]]></description>
			<content:encoded><![CDATA[<p>During the final year of the software engineering degree at the <a title="Polytechnique de Montréal" href="http://www.polymtl.ca/" target="_blank">Polytechnique</a>, students have to undertake a major project which counts for one or two classes (3 to 6 credits). That project can be done alone, with someone else or in a small team. By choosing to work with a small team, you&#8217;ll get a good real-work experience by working closely with a company to do one of their research-and-development projects. If you do it alone or with a friend, you get to do any project you want, as long as your supervisor approves it.</p>
<p>I had an idea for a project that would allow me to learn quite a few things, so I decided to do the project alone (there was not enough in it for more than one person).</p>
<h3>The project</h3>
<h4>Description and Goals</h4>
<p>I decided to build a Web application to improve my Web development skills. Mostly, I wanted to learn how to use Ajax and to use the object-oriented design philosophy in a Web development project. I was also using <a title="phpMyAdmin" href="http://www.phpmyadmin.net/home_page/index.php" target="_blank">phpMyAdmin</a> regularly for my projects at the time and I always felt it had too many features and options. I was only using a tiny portion of the tool and felt a simplified tool could be useful for users like me who didn&#8217;t need everything. I also wanted to add some &#8220;on-the-spot&#8221; editing of the values in the tables as is possible with desktop applications like <a title="SQL Server Management Studio Express" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796&amp;displaylang=en" target="_blank">SQL Server Management Studio</a>.</p>
<p>So I started working on my Ajax-powered online database management system (DBMS).</p>
<h4>Requirements and Specifications</h4>
<p>The first step was to determine what were the requirements (which I was fixing myself) and which tools at my disposal would help me fulfill those requirements.</p>
<p>The requirements were:</p>
<ul>
<li>Object-oriented design</li>
<li>Ajax (no postbacks)</li>
<li>User-friendly</li>
</ul>
<p>And the tools were:</p>
<ul>
<li>PHP 5+ for its OO support</li>
<li>JavaScript</li>
<li>CSS for the styling</li>
<li><a title="xampp for windows" href="http://www.apachefriends.org/en/xampp-windows.html" target="_blank">XAMPP Lite</a> for testing</li>
</ul>
<h4>Features</h4>
<p>I then determined what features I would put in my first iteration of the application. My goal was not to have a full-featured product ready by the time the project ended, it was more of a proof-of-concept to show that it was feasible to create a simple online DBMS.</p>
<p>Here&#8217;s a list of the features that made the cut for the first iteration:</p>
<ul>
<li>Creation and deletion of databases</li>
<li>Creation, modification and deletion of tables within a database
<ul>
<li>Addition, modification and deletion of fields for the table (field name, type, default value, auto increment, &#8230;)</li>
</ul>
</li>
<li>Insertion, edition and deletion of rows in the tables</li>
<li>Query editor to execute written queries on the data</li>
<li>User-friendly navigation</li>
</ul>
<h4>Implementation</h4>
<p>I will leave the details of the implementation for a future post, but I managed to implement most of the features while respecting my requirements and specifications. The only missing feature from the list above was the table modification feature.</p>
<h4>Conclusion</h4>
<p>To me, this project was a tremendous success, I managed to do almost everything I had planned and at the end I had a mostly usable online DBMS. It had a few bugs and was missing some critical features, but I learned so much from it. It also helped me get my current job at Hint Innovation since the development philosophy I used for this project was really similar to the way we work at Hint.</p>
<p>Indeed, the way I designed my classes and objects was very similar to the way <a title="Domain-driven design" href="http://en.wikipedia.org/wiki/Domain-driven_design" target="_blank">Domain-driven design</a> (DDD) approaches design. At Hint Innovation, we embrace the DDD philosophy and I only have good words for it. While doing my undergraduate thesis I didn&#8217;t know that my approach to OO design was so different, but since I&#8217;ve started working at Hint, I&#8217;ve seen the similarities between my approach and the Domain-driven design philosophy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/80/my-undergraduate-thesis-pfe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
