<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8818718</id><updated>2012-02-16T19:19:09.354-05:00</updated><category term='bus principal employee departure business processes'/><title type='text'>Martin Giroux's blog about business and programming</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8818718.post-7826735259477658760</id><published>2009-08-21T03:32:00.004-04:00</published><updated>2009-08-21T04:27:00.053-04:00</updated><title type='text'>Business Cloud is DOA</title><content type='html'>If you ever read this blog in the past few years, you can see that I've been a strong believer in what is now called cloud computing. Previously known as web apps, I was always attracted to the idea that it was relatively easy for someone to build an application that is very easy to deploy and provide to customers using the browser and the Internet. I view applications delivery through OEMs to be a model that is getting old and increasingly inconvenient. While it's not bound to disappear; we will still be purchasing store bought boxed software for some time still, this model will become a secondary method of acquiring applications. Downloading programs or using Web Apps will become the primary way of using computers in the very near future. For some system it's the only model (iPhone).&lt;br /&gt;&lt;br /&gt;That said, I can predict that while cloud computing and Web App usage will continue to grow for the social and personal market, it will have problems taking a stronghold in the business sector. The fact is, a business consider its data to be its business advantage, its competitive intelligence. In the past two decades, businesses have been used to storing that data intelligence on their own hardware, feeling secure that they can keep it within the realm of their office walls, away from the prying eyes of their competitors. It may be a false sense of security, but it's there.&lt;br /&gt;&lt;br /&gt;My personal opinion is that their will be a half-hearted move to their business dataset to cloud storage using the Web, but they will come back to a @home system once the cloud buzz has evaporated.&lt;br /&gt;&lt;br /&gt;I don't have facts to back this up, but here are some reasons I see that the business cloud is not going to work well:&lt;br /&gt;&lt;br /&gt;1. Businesses will keep wanting to have all their business intelligence within their office&lt;br /&gt;2. They will not like the fact that that business intelligence is spread amongst different companies ( Google Docs, Salesforce, etc )&lt;br /&gt;3. They will not like the fact that some of their business dataset resides out of home, and some does ( Photoshop docs, etc )&lt;br /&gt;&lt;br /&gt;Is the current model of purchasing software and keeping all that business dataset on the company's workstation or server the solution? I don't think so. Is business cloud really DOA. No, it's another business model that will be used in a big scale. But pure cloud computing is not the solution for most businesses.&lt;br /&gt;&lt;br /&gt;The mini-cloud is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-7826735259477658760?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/7826735259477658760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=7826735259477658760' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/7826735259477658760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/7826735259477658760'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2009/08/business-cloud-is-doa.html' title='Business Cloud is DOA'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-3195986925319999967</id><published>2008-04-12T08:55:00.003-04:00</published><updated>2008-04-12T13:55:24.875-04:00</updated><title type='text'>Sw4P is alive</title><content type='html'>I've been spending many nights putting together the Sw4P engine. The Sw4P engine is basically a renderer that takes a fixed type data structure and converts it into a valid HTML page. Given an application name and a page name, the application is converted as a python package and the page is converted as a file and the package.page is imported in the engine. Each page has the same structure: a data area with one tupple making up the page elements; a function area for the user's custom code and a final anchor function used to copy the page's data structure into a changeable array, call the custom function and then return a rendered page.&lt;br /&gt;&lt;br /&gt;It's a bit hard to say in one sentence but that's the most of it. Add a few tools to connect to a database system with another structure base schema defined system, basic tools and a wsgi connected server to run it all, and that's what the Sw4P engine is all about.&lt;br /&gt;&lt;br /&gt;While the Sw4P can now be used to drive Web Applications, It is not one itself. It contains a few interesting tools like menus, AJAX hooks and the ability to incorporate external tools like nice menus, Javascript objects or any other type of libraries that actually exists right now. However there's still the need for a user to build the page layout structure by hand and write the custom code used to interact it. In fact, a Sw4P developer would need to create each page by hand. That's probably why the first Sw4P application I created is the Sw4P editor.&lt;br /&gt;&lt;br /&gt;And it uses Sw4P to build itself.&lt;br /&gt;&lt;br /&gt;The idea is simple. Build an editor in a few pages that will actually create Sw4P pages. Once it's working enough to create applications, add new pages and edit them, use the editor to build itself. It imports a page I'm working on, fills the property fields based on the object being looked at and if the user changes some properties the structure is updated at the next load, it is saved and then redrawn.&lt;br /&gt;&lt;br /&gt;As I'm writing these lines, all I need to do really is to transfer the changes to the Sw4P engine and have the custom code in the editpage.py Sw4P editor application make a call that saves the modified file to disk. When I reach this point, tonight perhaps, the Sw4P editor application will be able to edit itself. This will speed development considerably.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_e_I_lyAK11o/SAD2kc8-76I/AAAAAAAAAE8/srevmMhMlNM/s1600-h/editor_v0_20.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_e_I_lyAK11o/SAD2kc8-76I/AAAAAAAAAE8/srevmMhMlNM/s320/editor_v0_20.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5188417876838510498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm developing this a few hours every night, after everyone has gone to bed. I use Python 2.5, Apache 2.2, MySQL 5.1, mod_wsgi, MySQLdb and Komodo on an Inspiron 4150 with 512Mg RAM running XP I bought in 2002. I would use Eclipse with PyDev, but there's just not enough RAM to run it all, plus Firefox 2 with Firebug, IE7 and Safari.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-3195986925319999967?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/3195986925319999967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=3195986925319999967' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/3195986925319999967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/3195986925319999967'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2008/04/sw4p-is-alive.html' title='Sw4P is alive'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_e_I_lyAK11o/SAD2kc8-76I/AAAAAAAAAE8/srevmMhMlNM/s72-c/editor_v0_20.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-7952405756431740127</id><published>2007-12-23T08:24:00.000-05:00</published><updated>2007-12-23T08:47:16.810-05:00</updated><title type='text'>The ad blocker</title><content type='html'>I was at my brother's place and was demonstrating to my mother the site I am working on in my sparingly small time off, &lt;a href="http://www.idliketohave.com"&gt;www.idliketohave.com&lt;/a&gt;. The idea behind the site is that it should pay for itself with the ads that are on the page.&lt;br /&gt;&lt;br /&gt;My brother however had an ad blocker and none of the ads appeared on the screen, totally defeating the usefulness of my site and robbing me of any small profit I may make if someone had wanted to click on the link.&lt;br /&gt;&lt;br /&gt;Now my site gives a service I don't charge for and it costs me $30/yr to keep the name and $220/yr to host. Now I know it doesn't sound a lot because you're probably rich, but to me that's money spent for nothing, and that's not calculating the amount of time I spent on it. I'm sure I'm not the only one in this position. In fact I'm sure there are a lot of people with low revenues who are hoping to make a bit of money from their site (they pay for). Apart from the scum sites, rare the huge corporations who rely on ads to survive, except perhaps some like amazon, dell, etc.&lt;br /&gt;&lt;br /&gt;So the ad blocker is really killing the little guy, telling him he has no space on the Web. How can this bother the Web user if s/he sees a few ads on the Web page they are on (popup ads are a different beasts altogether because they are obtrusive)? It doesn't cost them anything to go there, so why block the ads on the actual page. What they're doing really is taking away a very small income from the author of the Web page and asking him to fork all the money for his site, something s/he doesn't need to do.&lt;br /&gt;&lt;br /&gt;It's ironic that SuperAddBlocker .com relies on affiliates and ads for their sales. Now I wonder how many of their ads their product has blocked.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-7952405756431740127?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/7952405756431740127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=7952405756431740127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/7952405756431740127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/7952405756431740127'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2007/12/ad-blocker.html' title='The ad blocker'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-7129768134947829315</id><published>2007-04-19T21:03:00.000-04:00</published><updated>2007-04-19T21:47:43.250-04:00</updated><title type='text'>$8.42</title><content type='html'>It's been a while, and for the first six months since Matt's been with us I have been rather lazy (tired, exhausted, name it). I'm also working hard as a contractor for now. But it's time for a status report.&lt;br /&gt;&lt;br /&gt;$8.42&lt;br /&gt;&lt;br /&gt;That's what I've made so far with idliketohave.com. It may not seem much but it's more then $0.00 -- Furthermore, it's unsolicitated money and that makes me proud. If it can become viral, this amount may come to an interesting amount.&lt;br /&gt;&lt;br /&gt;Idliketohave.com is currently down, I'm redoing a la AJAX and hope to be back in the next few weeks for a big push. So far the rehaul is going well.&lt;br /&gt;&lt;br /&gt;SW4P is also going well though more slowly. The design is done, all I need to do is to complete the engine and the renderer should come right after.&lt;br /&gt;&lt;br /&gt;I have more time now, and it's time to get these things running.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-7129768134947829315?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/7129768134947829315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=7129768134947829315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/7129768134947829315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/7129768134947829315'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2007/04/842.html' title='$8.42'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-8627998887122100931</id><published>2007-04-18T20:35:00.000-04:00</published><updated>2007-05-04T20:24:05.867-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bus principal employee departure business processes'/><title type='text'>The BUS principal</title><content type='html'>Two events of significance have happened to me in the past six months. The first and foremost is that I have welcomed my third child Mathieu, brother to sister Sabrina and big brother Max. They have been my pride and joy and have tought me the meaning of true love. The other is that I am now contracted by the best speech recognition company in research and development as a senior data engineer.&lt;br /&gt;&lt;br /&gt;My job is simple and complicated at the same time. Over the years the company has saved hundreds of millions of pieces of data from many acquisitions and that data needs some serious organizing. There are terabytes of data and hundreds of millions of entries coming in continuously and all this information needs to be organized for safe storage and data mining. Add to this that there is tons of legacy data coming in the shape of many different types of databases, some relatively well documented, others without a shred of info, except for the engineers who have created them. This company is a prime target to become a victim of the bus principal.&lt;br /&gt;&lt;br /&gt;I worked for 10 years in a small company involved in targeted learning. It would go to a client, analyze what it did and transferred that knowledge into skills. Skills were assigned to jobs, employees were evaluated and then trained only on the skills they needed to do the job. My participation had to do with software: I wrote every major applications which involved many versions of an LMS, the last being a full-fledge Web app; an elearning course editor system used to write training modules that have create thousands of pages and been seen millions of times; other tools and experimentations to make things better. The software is now being used by a greater part of the North American Pulp and Paper industry. Overall I have written almost a million lines of code in these 10 years.&lt;br /&gt;&lt;br /&gt;During a meeting, management came to realize that I was the only one who knew all of this code and data and the question came out: what happens to our company if Martin gets hit by a bus?&lt;br /&gt;&lt;br /&gt;It is important to evaluate your business processes and determine which one are invaluable to your company. It's in fact quite simple: you need to analyze what is it that you do you can't live without and who are your resources that know how to do that particular process. Then determine how many people in your organisation are able to fill that need. Are these processes documented? Can you turn around and easily find new resources if you lost the the ones you have? Do you have any plan to at least transfer some of that knowledge? It's naive to assume that you would never lose someone at the worst possible moment.&lt;br /&gt;&lt;br /&gt;A simple method is to look at each of your employees and to ask yourself: what happens if she or he gets hit by a bus?&lt;br /&gt;&lt;br /&gt;Personaly, if I get hit by a bus, my employer's problems will be the least of my worries. However, as a company you need to set yourself up in such a way that you have some sort of backups, may it be through documentation or by task sharing, after a thorough analysis of your complete business processes, known and unknown. It's not that hard to do, trust me. Worst case get some help from someone who is knowledgeable about it. It's a bit like backing up a filesystem: you never know when you need a backup but are you ever happy when you do. Survival can depend on a good backup strategy. We could probably help you with this.&lt;br /&gt;&lt;br /&gt;Send me a note if you have some good bus principal adventures.&lt;br /&gt;&lt;br /&gt;See you Saturday Pascal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-8627998887122100931?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/8627998887122100931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=8627998887122100931' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/8627998887122100931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/8627998887122100931'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2007/04/bus-principal.html' title='The BUS principal'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-6907835533095005990</id><published>2006-11-15T07:51:00.000-05:00</published><updated>2006-11-15T08:42:00.864-05:00</updated><title type='text'>First hits</title><content type='html'>I always get excited with the first unsolicited hits I get on one of my sites. Idliketohave.com is starting to generate traffic and that's making me smile. It's not yet advertised, and I'm barely finishing the second version (which works a lot better then the first).&lt;br /&gt;&lt;br /&gt;Since Idliketohave.com is a wish factory, a place where people can make wishes and have others answer them, I hope for my new friends to have their wishes answered.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-6907835533095005990?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/6907835533095005990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=6907835533095005990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/6907835533095005990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/6907835533095005990'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/11/first-hits.html' title='First hits'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-745421980575498310</id><published>2006-11-08T12:13:00.000-05:00</published><updated>2006-11-08T12:45:57.499-05:00</updated><title type='text'>Web Application Stats</title><content type='html'>I visited a company that had just released a Web App, and were quite surprised w/r to its popularity. Within weeks of operation, they were receiving a lot more hits then they had anticipated, resulting in speed problems. When discussing their infrastructure, I asked them what type of metrics they were using to analyze their throughput. They answered that they did not have time to do this.&lt;br /&gt;&lt;br /&gt;I knew at this point in the conversation how green these people were. A big mistake in this business is that someone gets a great idea, writes it with little or no consideration for the entire infrastructure needed to actually run the application, then finds themselves spending a lot of effort, time and money to keep the setup running.&lt;br /&gt;&lt;br /&gt;There are already many mistakes done w/r to the above procedure, many that could have been avoided had their been a global vision in the planning of the project, one that involved all of administration, infrastructure, marketing, programming, database management, support, documentation, etc. It's very important to have a solid plan that encompasses all of the above departments.&lt;br /&gt;&lt;br /&gt;And I'm not even talking about specifics like QA, Unit Testing, Sourcing, Methodologies, others.&lt;br /&gt;&lt;br /&gt;A very important part of the whole project (actually, all parts are important) is that of metrics. If you don't know what's happening, you have no way of fixing the problem you will encounter in the first place. It could be that adding servers will temporarily solve speed problems, but there is so much that can be added before the increase in speed becomes insignificant. You need to know where it hurts.&lt;br /&gt;&lt;br /&gt;In the book "Information at the speed of thought", Bill Gates states that you should be happy with good results, but it's primordial for a business to live to make sure bad news also get through to management. Often someone will avoid propagating bad news for fear of reprisals or because they think they can fix the problems themselves. A firm that doesn't reprimand bad news has more chances of knowing they exist, and then do something about it. Or they can fall, look at Airbus.&lt;br /&gt;&lt;br /&gt;It's the same in a Web Application infrastructure. You need to be able to monitor what's happening at the level of your user hits, bandwidth, disk memory usage, to recognize when there's a problem with respect to access. Tools like Analog (http://www.analog.cx/) and Webalizer (http://www.mrunix.net/webalizer/) are excellent for this. I use them a lot. &lt;br /&gt;&lt;br /&gt;But that's not all. You need to know what's happening at the database level as well. You need to measure how long your SQL requests take under light, med and heavy load to see if they need to be optimized. Maybe you're having problems with the machines. Use top, iostat and netstat to see how much demand your apps are asking of the computer. You also need to go further by profiling your applications, just to see where the time is spent. If you use a scripting language and it takes 6ms every time you load the page (say PHP) and opcode it, then you must realize that 100 pages will take 600ms, just in setup time. And that eats away at one important metric, which is the user/second hit rate. Users don't like slow pages. A slow site may never be used again.&lt;br /&gt;&lt;br /&gt;Like Unit testing, setting up a good metrics strategy may seem annoying at first. But I can tell you it may well become a life saver in the future, or a simple yet effective benchmark you may use to tell management that all going fine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-745421980575498310?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/745421980575498310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=745421980575498310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/745421980575498310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/745421980575498310'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/11/web-application-stats.html' title='Web Application Stats'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-5176039199843043614</id><published>2006-11-08T10:01:00.000-05:00</published><updated>2006-11-08T10:19:31.061-05:00</updated><title type='text'>Your First Time</title><content type='html'>Do you remember your first time? I do.&lt;br /&gt;&lt;br /&gt;I had just purchased a magazine that had an article on Basic programming and mathematical functions. There was this code that was used to infinitely draw a sine curve. I had never programmed before, I was 18 and I didn't have the money to buy a computer. I didn't even know anyone who had one.&lt;br /&gt;&lt;br /&gt;It was 1980.&lt;br /&gt;&lt;br /&gt;So I wandered in my college's computer center and sat at one of the two CRT terminals. I had no real idea what I was doing, I didn't have to type a password or anything, I just started to type the code I had studied so diligently. When I was done typing it I did something and it just ran ( I don't think we saved files at that point, just typed run or something ). &lt;br /&gt;&lt;br /&gt;Et voila, the sine curve is drawing itself on the screen, dancing graciously from one side of the screen to the other. It was an amazing moment in my life, I was getting the feeling that wow, imagine all the things I could do ...&lt;br /&gt;&lt;br /&gt;My ambitions were abruptly cut by the sysadmin standing behind me going: "What are you doing? Who are you?". I jumped, having no idea what to say. "Do you realize you are slowing down the entire school computer system?" he continued. "You are BANNED from this room".&lt;br /&gt;&lt;br /&gt;That was the first time I got someone banned from a computer room. The person whose unattended station I used to cripple the system, that is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-5176039199843043614?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/5176039199843043614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=5176039199843043614' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/5176039199843043614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/5176039199843043614'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/11/your-first-time.html' title='Your First Time'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-4214850001651039377</id><published>2006-10-27T11:22:00.001-04:00</published><updated>2006-10-27T18:46:23.150-04:00</updated><title type='text'>A new management theory: let everyone know what's happening.</title><content type='html'>When working on a project it's very important to be aware of everything that's happening in it. Better decisions can be taken at this point.&lt;br /&gt;&lt;br /&gt;For example: I was asked to upgrade a certain project I wrote from Delphi 5 to Delphi 2005, because the cie wanted to modernize the application. So I did just that, for a given price. 3/4s in the project I saw this email stipulating that the upgrade will hopefully solve the speed problem their clients are having. So I did a quick dip in the code, found out there was some (foreign) code in there that was causing the slowdown, solved it and voila: the slowdown disappeared at the Delphi 5 level. An hour and half of work. Now the transfer cost 1000's of $$$. Had I known WHY they wanted me to do the transfer, I would have saved them a lot of money. But the cie thought it was best to keep me in the dark.&lt;br /&gt;&lt;br /&gt;I have seen the "need to know" attitude very often and have found it very stupid everytime. I don't know where it stems from: perhaps from insecure managers who have less knowledge then the sum of their operating staff and  are afraid of losing the control they have; maybe it's terrible management altogether; maybe it's a lot of both.&lt;br /&gt;&lt;br /&gt;We in the computer fields have often been faced with a dilemna when it comes to management. It's rare to find someone who's as good a programmer as s/he is a manager. Non-technical managers find it hard to manage technical people because they can't really understand what's happening and that frustrates them to no end. A programming outfit will often promote their best programmers to a managerial position, a move that most of the time creates a string of bad managers. Or they promote other employees with better managerial skills, which in turn bruises the good programmers egos and usually results in a decrease in productive on their side.&lt;br /&gt;&lt;br /&gt;The equation is not simple. I know, I've been described as hard to position at my previous job. The next step from being a grunt in a manager's mind is to become a manager. But it's a job I didn't want because I was the only one who could run the code. And I don't believe in doing two jobs at once. It's dumb to put someone in that position.&lt;br /&gt;&lt;br /&gt;Isn't it weird that the salary structure for managers is better then the ones of programmers? AFAIK anyone with a personality and some responsability can become a manager. OTOH not many people become good programmers. If you're a manager you're not going to agree with the next statement but I will tell you how it is:&lt;br /&gt;&lt;br /&gt;A Manager is easier to replace in an important project than the programmers who know the code.&lt;br /&gt;&lt;br /&gt;In fact, replace the manager and the code will go on. Remove the programmers and the code may well die.&lt;br /&gt;&lt;br /&gt;As an example, I worked with someone who mastered the codebase of a particular unit for a company. The master left for company B, the codebase died and the unit closed a few years afterwards. Recently, for some reason, the master left company B to join some other outfit and I heard the new codebase is dying. In both cases we're talking about codebases on which hundreds of millions of dollars of revenue are and were based.&lt;br /&gt;&lt;br /&gt;Now I wonder if there were manager changes during that period of time. I'm pretty sure there was.&lt;br /&gt;&lt;br /&gt;A good manager (one I will respect and follow if need be) will really know his material and will be able to bring the team to want enthusiatically to accomplish the project, no matter what the pressures are on top of him. He will not project (i.e. making you say what he wants to hear, like: "These 10,000 lines of code you are starting today will be ready and flawless tomorrow morning, right?"). Because he or she knows the project inside out, s/he will know what's needed.&lt;br /&gt;&lt;br /&gt;Employees under pressure only perform well for a bit of time. Fatal mistakes start happening after a while.&lt;br /&gt;&lt;br /&gt;A good manager will hold daily (short) meetings with the entire team to make sure everyone knows what's happening, keeping no secret from anyone. His job will be to help make sure that every member of a team has what's needed to do the job not critizize people or explode when there's a problem. &lt;br /&gt;&lt;br /&gt;And a good manager will make sure that everyone is in the know when there's a problem. This way, people won't lose hundred's of hours to fix problems that may be resolved in an hour and a half.&lt;br /&gt;&lt;br /&gt;Agile, anyone?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-4214850001651039377?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/4214850001651039377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=4214850001651039377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/4214850001651039377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/4214850001651039377'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/10/new-management-theory-let-everyone-know.html' title='A new management theory: let everyone know what&apos;s happening.'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-2513217910887693442</id><published>2006-10-27T10:09:00.000-04:00</published><updated>2006-10-27T12:57:54.626-04:00</updated><title type='text'>So what am I good at?</title><content type='html'>For the past few days I have been asking myself this question. What am I really good at, and am I really as good at it as I believe I am. Of course it depends on my frame of reference.&lt;br /&gt;&lt;br /&gt;My last conversation with someone has made me question myself w/r to my knowledge, my knowledge of knowledge (will explain lower) and my abilities in the computer field. The conversation did not affect my beliefs in my capacities, for nothing we talked about I didn't know, I didn't know of, I couldn't figure out or was overly complicated. It's more a question of knowing it or not.&lt;br /&gt;&lt;br /&gt;In a corny way, I still think I drive pretty fast on the computer highway, faster then most, but I do recognize there are faster drivers then I, and it's OK.&lt;br /&gt;&lt;br /&gt;I know a lot of stuff because I have dealt with a many different domains in the computer field. Some for work, some for personal interest. I've written my own editor, once in assembler, then in C, because I wasn't satisfied with what I had at the time (I still can't find one I like). I was involved in speech rec, I wrote my own RDBMS complete with indexes (but no SQL), I've built huge apps from research, design to completion that are very reliable and almost maintenance free (I'm very lazy in some ways, even if not stopped I can work 16 hours a day). I've been involved in marketing, planning, sales. I have managed.&lt;br /&gt;&lt;br /&gt;Even if I have not done much work in some fields, I have a lot of knowledge about many fields (I have knowledge of knowledge). Though not rich in practice I have read a lot about what I find interesting and I'm certain I would quickly be able to put that knowledge into reality, as I have done in the past. Many projects I have done are basically the result of a need born out of what I had previously learned, and realize I could used to accomplish it. So some material I know about I've never really used, but given the opportunity I would love to work with it.&lt;br /&gt;&lt;br /&gt;BTW I own at least 300 computer books. It doesn't seem like much but at about $50 a pop that's a lot of money on PC books. Now though I use Safari.oreilly.com . It's great and it does the job quite nicely, and takes little place on my bookshelf.&lt;br /&gt;&lt;br /&gt;Though programming is what I enjoy the most, I thrive on taking an idea and pushing it to a successful completion. I've now began to do this for myself.&lt;br /&gt;&lt;br /&gt;So what am I good at?&lt;br /&gt;&lt;br /&gt;I believe I see the big picture, from start to finish. While there are parts where I am weaker (say marketing, evaluating market shares, sales), I have a fairly good idea on how to do it all. Of course, the complete development cycle, along with the infrastructure I am totally comfortable with.&lt;br /&gt;&lt;br /&gt;I am very good at that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-2513217910887693442?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/2513217910887693442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=2513217910887693442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/2513217910887693442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/2513217910887693442'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/10/so-what-am-i-good-at.html' title='So what am I good at?'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-3189865245100839929</id><published>2006-10-26T09:22:00.000-04:00</published><updated>2006-10-26T09:23:07.140-04:00</updated><title type='text'>If programming was a perfect science...</title><content type='html'>...we wouldn't need unit testing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-3189865245100839929?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/3189865245100839929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=3189865245100839929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/3189865245100839929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/3189865245100839929'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/10/if-programming-was-perfect-science.html' title='If programming was a perfect science...'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-3970218184693182912</id><published>2006-10-26T09:16:00.000-04:00</published><updated>2006-10-26T09:34:28.189-04:00</updated><title type='text'>A new status metric: your Google ranking</title><content type='html'>I rank #2, what about you ???&lt;br /&gt;&lt;br /&gt;That's what I thought!&lt;br /&gt;&lt;br /&gt;p.s. A famous performer here has my name, so my competition is fierce.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-3970218184693182912?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/3970218184693182912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=3970218184693182912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/3970218184693182912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/3970218184693182912'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/10/new-status-metric-your-google-ranking.html' title='A new status metric: your Google ranking'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-5899165326382019083</id><published>2006-10-26T08:37:00.000-04:00</published><updated>2006-10-26T09:30:16.227-04:00</updated><title type='text'>"I don't want to hurt your feelings, but you're an idiot"</title><content type='html'>I know a lot of very bright people in the computer field. I like to think that I'm not dumb (I have high IQ scores (but I don't believe it means anything)) but some people I met are very intelligent. In the past few weeks alone I have met truly exceptional human beings who literally don't think at the same level as the rest of the world. And I love being with these people.&lt;br /&gt;&lt;br /&gt;By nature, I prefer being the dumb one in a group of geniuses, then being the bright one in a group of dummies.&lt;br /&gt;&lt;br /&gt;One thing I find interesting w/r to most good programmers is that they assume that everyone thinks at their level. We build tools that do complex things with but a few parameters to help everyone in their work. These switches or parameters are simple to use and to understand for anyone. If they don't they are just idiots.&lt;br /&gt;&lt;br /&gt;Well you're not an idiot, but it took me some time to figure that one out. Starting my own business, and writing software for civilians (non computer people) as taught me that we write stuff that is both very complicated in nature, and sometimes very hard to operate.&lt;br /&gt;&lt;br /&gt;We may think it's easy, exceptionally straight forward but trust me, I now realize that we still do it, all of us. Now. &lt;br /&gt;&lt;br /&gt;If you want to make sure your applications are as easy as you think they are, make a demo and send it out. Have a realistically large base of people try it out and listen to their comments. Use people that will be part of your target audience, for sure. If they start questioning certain functions, or start asking you really dumb questions, then you have problems with your app. It's that simple.&lt;br /&gt;&lt;br /&gt;It's not them, it's you.&lt;br /&gt;&lt;br /&gt;Intelligent companies see this as an opportunity to sell training to their clients. I personally believe that the programming group just failed to write intelligent software, and that's a big failure.&lt;br /&gt;&lt;br /&gt;Let me see. You have to explain to your target audience how your application works to answer what is supposed to answer their needs, needs they probably know better then you. It doesn't add up.&lt;br /&gt;&lt;br /&gt;It doesn't work in the Web App field either. Imagine having to explain to 100,000 people how such and such feature work.&lt;br /&gt;&lt;br /&gt;Oh and by the way, help doesn't work. People will RARELY read the help pages, and they BARELY read the text on the screen. You and I know they should, but that's because that's how we think (though I rarely read other people's help).&lt;br /&gt;&lt;br /&gt;Even programmers do it to other programmers. We've managed, as a community, to not make things better but to make them more complicated as time goes by. I know it's hard to understand, believe me, but I don't know why the person who's going to use my tool for one minute of his programming life to accomplish some specific, complicated, elegant task, doesn't understand all the switches of my tool I worked so hard during a four week period to lovingly build, giving every minute of these four weeks to help him do what he needs to do in just a few minutes... -F is filled and -E is empty, it's written right there in the -H. What's not to understand?&lt;br /&gt;&lt;br /&gt;Maybe he's an idiot.&lt;br /&gt;&lt;br /&gt;The moral of this story is that you should be writing your tools or applications with a couple of targeted users. I've learned from experience that while it can be frustrating at times, you won't feel your targeted audience is idiotic at the end of the process.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-5899165326382019083?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/5899165326382019083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=5899165326382019083' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/5899165326382019083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/5899165326382019083'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/10/i-dont-want-to-hurt-your-feelings-but.html' title='&quot;I don&apos;t want to hurt your feelings, but you&apos;re an idiot&quot;'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-7668511957862629837</id><published>2006-10-26T07:47:00.000-04:00</published><updated>2006-10-27T10:27:39.108-04:00</updated><title type='text'>Is programming a science or an art?</title><content type='html'>I believe it's a lot of both, mixed with a healthy dose of experience, savoir-faire and pleasure in what you do.&lt;br /&gt;&lt;br /&gt;I was on a phone interview with respect to a position or contract recently and I was grilled for a while on the subject of hash tables and binary trees. I know the person at the other end was testing my knowledge, and I understand, but I've been out of school for over 15 years and this has tainted the way I look at projects and actually build them.&lt;br /&gt;&lt;br /&gt;Hash tables and binary trees are just some other tools in a programmer's arsenal and while important they are just another tool in the hundred tools we should know. I find it's more important to know when tools are required then how they work. Learn how they work once, understand them, know their needs then move on. When you need to install them, pick'em up from a book.&lt;br /&gt;&lt;br /&gt;Now in 15 years I have built major apps, and I have been part of some small groups who have built major apps, and I can tell you that unless you're writing a search engine or some other heavy type of data collection system, you will rarely use a hash table and a binary tree. For sure I have, don't take me wrong, but it was one of those points where I thought: "I need a binary search here" so I took an hour, and I picked it up from a book, and that was it. Object built, job done, unit test positive, everything works, it's time to forget about it. And I did. And it worked. Well.&lt;br /&gt;&lt;br /&gt;I worked on software I am pretty sure you've used, a very scientific piece of code that I participated to (but could not make design decisions whatsoever, I had to transfer the code from one platform to another) and I don't remember a single hash table or a single binary tree in it.&lt;br /&gt;&lt;br /&gt;On the other hand I've worked (and designed) Web App code that had to deal with real time requests, that worked on millions of pieces of data on every request, and had to perform in milliseconds to increase my connection per second ratio. In this case I did have to use, and modify, hash tables and binary trees, unbalanced that is.&lt;br /&gt;&lt;br /&gt;We talked about a binary tree speed. Valid question but then again I lost my time trying to remember the actual formula while my mind was busy showing me the jumps from node to node that would happen in a perfectly balanced tree. Don't ask me why I had a fix on that. I have learned from experience with dealing with live, real world data that your trees are never balanced, but they are never so unbalanced that they become a dumb linear search. Unless you're inserting a dictionary in a binary tree (we talked about that too), you have more chances of winning a huge price at the lottery then having a near totally unbalanced tree. If you're dealing with large data sets that is.&lt;br /&gt;&lt;br /&gt;I'm looking for the right term to describe a totally unbalanced tree (i.e. build your binary tree from a dictionary starting at the first element, instead of the mid). Where's my Horowitz book ?&lt;br /&gt;&lt;br /&gt;I am a tad messy, it's under some stack of paper somewhere.&lt;br /&gt;&lt;br /&gt;I believe it's important to understand the science behind the techniques used to build applications. In fact, I believe you should have an idea how a specific component works before you use it in your app. Though I try to avoid them if I can, especially in long term applications, I have to use some because you shouldn't rewrite everything. And technology is not that hard to learn. You can just pick it up from a few good books.&lt;br /&gt;&lt;br /&gt;The reason I avoid components and frameworks is that I have found myself many times evolving my application from version x to x+1, using new technology, but the components that worked for x don't work for x+1, and even worst the &lt;&lt;&lt;company&gt;&gt;&gt; that created them didn't exist or just didn't care to evolve their tools. So I give you a bit of experience here, for free: if you work on a long term app, if they are crucial to the app only use components and tools that you have access to the source, a source you understand. &lt;br /&gt;&lt;br /&gt;While the questioning process was mostly based on my intimate knowledge with respect to some very small parts of the computer field, it totally shun my previous work. To anyone who's mildly good in this field, knowledge is usually a book, or a Google search, away. At one point in your life, if you're good, I believe it becomes important to recognize you not only on the level of your knowledge but on your successful accomplishments as well. Those you CAN'T pick up from a book.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-7668511957862629837?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/7668511957862629837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=7668511957862629837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/7668511957862629837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/7668511957862629837'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/10/is-programming-science-or-art.html' title='Is programming a science or an art?'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-8277083785129087718</id><published>2006-10-23T14:41:00.000-04:00</published><updated>2006-10-23T15:09:45.411-04:00</updated><title type='text'>Coding and performance ...</title><content type='html'>Another pet peeve of mine are the fast coders who have no respect for performance, relying on their hardware to fill their weakness. This can lead to major problems down the road.&lt;br /&gt;&lt;br /&gt;I visited a company recently whose just put an application on the Web and they received higher then expected traffic because of a newscast. During the meeting someone said that had to back down from the PR to focus on their existing clientele. Very noble, except for the fact that they had been online for less then a month. Further research on the Web indicated they had a great and crazy idea, but most articles talked of slow speed, sometimes extreme slow speed.&lt;br /&gt;&lt;br /&gt;To design a system like this you need to have hands on experience at every level of the setup, from the hardware to the database setup to the coding of the pages. If you intend to run something big on small hardware, you must make your code performant, and easily replicable. So when the going gets rough, you must be in position to just add servers to counter the load.&lt;br /&gt;&lt;br /&gt;It doesn't mean that you don't write for performance. It does mean that you have to write, and plan, carefully, and intelligently. Also this is the Web, expect heavy loads.&lt;br /&gt;&lt;br /&gt;Their software is made up of PHP pages serving code on MySQL databases. During the meeting I kinda understood that the pages were load balanced on 4 servers (that's good) and the database was layed down on 4 database servers in replication mode (less good).&lt;br /&gt;&lt;br /&gt;If you have large traffic, and you need to have your database in one place (no locals), you have to set it up from the start in a cluster setup (see MySQL Cluster, or a better solution would be Continuent). Replication is a nice idea, but it demands a lot of cycles. Clustering is the way to do it.&lt;br /&gt;&lt;br /&gt;While I find to PHP ok (Python is much better), neither should be used to generate complete (x)HTML pages. Even if the php is cached, it still needs to be interpreted for every request that comes in and that demands a lot of time if your page is complex. And at this point, ALL the work is given to the application server. My favorite solution puts a good part of the work on the client browser with the help of Javascript and xmlHTTPrequests. &lt;br /&gt;&lt;br /&gt;If you're really into PHP, have it generate the XML for you. If some parts are too slow rewrite them in a language that's more performant. You don't need to rewrite everything at that point, and you can adjust to the demand. Of course if you wrote the XML generator in Python, you can easily add some C extensions to speed up the work where it hurts.&lt;br /&gt;&lt;br /&gt;Whatever you do, it will be less costly for you if you design with high demand from the beginning. It may save you a lot of headaches later on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-8277083785129087718?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/8277083785129087718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=8277083785129087718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/8277083785129087718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/8277083785129087718'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/10/coding-and-performance.html' title='Coding and performance ...'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-6160087029461281538</id><published>2006-10-23T07:45:00.000-04:00</published><updated>2006-10-27T10:57:37.215-04:00</updated><title type='text'>The beauty in simplicity</title><content type='html'>When I write code I try to keep the code simple, and I make performance a major issue. Unit testing is important as well, since I don't believe in first draft code, especially when you're programming a new functionality or implementing a new technology.&lt;br /&gt;&lt;br /&gt;Simple code is easier to debug. "Real" coders like to write amazingly complex code that does amazing things in a few lines of code, making code that's often hard to read even for seasoned programmers (I admit that when I'm a real hurry, my code can fit in that description). While these programmers may be seem like geniuses by greener folks, you learn with experience that these coders are just lost in their own bad habits.&lt;br /&gt;&lt;br /&gt;A real programmer writes code that lasts. As programmers we also jumps from one project to the next, or we switch company altogether. The task of maintaining the old projects are usually given to someone with lesser experience who will, ultimately, have to pester the original programmer to help him decipher how to do such and such a change, or how to weed out a specific bug. Ultimately, this is an annoyance to the original writer, and costly to the company where the code resides.&lt;br /&gt;&lt;br /&gt;A great programmer is rarely bothered with such calls.&lt;br /&gt;&lt;br /&gt;It burns me when we come to a job and the code is either unreadable, so complicated only the original writer understands something, or has not a line of comment in it.&lt;br /&gt;&lt;br /&gt;Then again, sometimes we don't know we sin, because what is simple to us may be complicated to others.&lt;br /&gt;&lt;br /&gt;I wonder if people can read my code ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-6160087029461281538?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/6160087029461281538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=6160087029461281538' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/6160087029461281538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/6160087029461281538'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/10/beauty-in-simplicity.html' title='The beauty in simplicity'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-5840382468928675625</id><published>2006-09-21T12:04:00.000-04:00</published><updated>2006-09-21T12:05:08.323-04:00</updated><title type='text'>Delphi 2005</title><content type='html'>Since 1995 I've been doing a lot of Delphi. Since May 2005 my language of choice was Java, now Python. I've been doing some contract work for my previous employer with Delphi 5, and it worked well&lt;br /&gt;&lt;br /&gt;I've been updating the app from Delphi 5 to Delphi 2005 and it's definitely not a pleasure to work with such a complex, and unstable, application. I reboot the IDE constantly, I'm not totally sure if the libraries are stable, it's really not pleasant to work with.&lt;br /&gt;&lt;br /&gt;I'm a big Borland fan, and I understand the implication of Businesses that need to make money, but putting an app out before it's ready is a no-no, no matter what. &lt;br /&gt;&lt;br /&gt;Now a major problem is that management probably pushes the developpers to ready the application as fast as possible, and they probably do a lot of personal projection. I can imagine a manager saying: "it's ready isn't it" and the developper going "I guess ..." and the manager: "you know we're losing a lot of money" and so on.&lt;br /&gt;&lt;br /&gt;The result is always a poor application. And the more complex the program the more time it needs to go to market and the more resources it needs.&lt;br /&gt;&lt;br /&gt;Management, to "help" speed up things will probably find resources, that the already very stressed developpers will need to train as well as work like dogs to get the software running.&lt;br /&gt;&lt;br /&gt;Management should always factor flexible time in the development of their new applications, along with how much the business needs to survive in the dev. cycle.&lt;br /&gt;&lt;br /&gt;Agile is the way to go, but it doesn't fit with packaged applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-5840382468928675625?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/5840382468928675625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=5840382468928675625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/5840382468928675625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/5840382468928675625'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/09/delphi-2005.html' title='Delphi 2005'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-115849890322895250</id><published>2006-09-17T09:08:00.000-04:00</published><updated>2006-09-17T09:15:03.243-04:00</updated><title type='text'>When we have time</title><content type='html'>It's amazing how different a week makes. The last few years have been spent working a few hours here and there to try to get everything to go. A lot of planning has been done to get the business organized. However little work was done to get it going. Lack of time because of work or other reasons made it impossible for us to move at a pace that's acceptable.&lt;br /&gt;&lt;br /&gt;No more&lt;br /&gt;&lt;br /&gt;iSw4p is now moving at an agreable pace and is promising to be even better then expected. Already the software makes a connection between objects and items, building it's first page:&lt;br /&gt;&lt;br /&gt;"Sabrina is a charming human being"&lt;br /&gt;&lt;br /&gt;where "Sabrina" and "charming human being" are properties to an object that accepts two parameters.&lt;br /&gt;&lt;br /&gt;I expect the evolution to be fast from now&lt;br /&gt;&lt;br /&gt;I'll keep you posted.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-115849890322895250?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/115849890322895250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=115849890322895250' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/115849890322895250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/115849890322895250'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/09/when-we-have-time.html' title='When we have time'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-113761275202247052</id><published>2006-01-18T14:26:00.000-05:00</published><updated>2006-01-18T18:06:46.713-05:00</updated><title type='text'>Happy employees well placed is good business sense.</title><content type='html'>Face it: if you're in the service sector, then your employees are one of your greatest assets. Good employees can make you soar, bad ones can make you sink. And in some ways you are the one making your employees: you can make bad employees good, and you can also make good employees bad.&lt;br /&gt;&lt;br /&gt;If you have the greatest employee in the world, and after a couple of years becomes a thorn in your side, chances are, it's your fault.&lt;br /&gt;&lt;br /&gt;It may be because of actions taken that went against the employee's belief. It may be because you promised something you did not deliver, or perhaps because you did not pay enough. Whatever it is, your asset at this point can become liabilities, and these liabilities can hurt you very much, especially since you may see them as assets, still.&lt;br /&gt;&lt;br /&gt;Another important point is that the employee must be well placed. It's hard to pass a sphere through a square hole, and it's hard to pass a cube through a round hole. You may be able to do it, but you'll have to bend the item you're trying to pass through the holes. If you don't have the right piece to the puzzle, you're going to have problems. If you bend the pieces, they are not going to produce satisfying results.&lt;br /&gt;&lt;br /&gt;I've seen studies saying that it's more important for an employee to be happy in his or her job then it is to be well paid. That might be true, but it's also important that employees are remunerated to their right value, and perhaps a bit more. I have a friend who's been at this job for quite a few years now, and is often complaining about it. He stays though, as the salary increases are substantial, and he keeps on doing good work.&lt;br /&gt;&lt;br /&gt;I had another friend who became president of a company lately, who said he admired and believed in some CEO at a big company who once a year would terminate 10% of his workforce, to weed out the bad and to keep the other employees on edge. I'm sure the morale over there is great.&lt;br /&gt;&lt;br /&gt;The way I see it, if you have happy employees, happy clients and a good relationship with your environment, your chances of succeeding are much greater then if everything is tense and negative. The more positive you spin your business the better.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-113761275202247052?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/113761275202247052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=113761275202247052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/113761275202247052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/113761275202247052'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/01/happy-employees-well-placed-is-good.html' title='Happy employees well placed is good business sense.'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-113655853145827465</id><published>2006-01-06T09:25:00.000-05:00</published><updated>2006-01-06T09:42:11.503-05:00</updated><title type='text'>When you do it all, be as focus as can be</title><content type='html'>Until the end of January, I'm alone in building Simplifia. That's why I am building an engine I will then use to create Simplifia. Instead of being pure code, Simplifia will be a collection of text commands read when the engine starts.&lt;br /&gt;&lt;br /&gt;The beauty of this is that the code base is a LOT smaller, there is less to test and to maintain, it's much easier to port to another (language perhaps), unit testing is much smaller. In short, everything is smaller, thus quicker, and less prone to mistakes.&lt;br /&gt;&lt;br /&gt;I've seen a few friends start businesses over the years, and I find that a common mistake was that they tend to squander their time and money. A dear friend of mine spent some time and money on her office desk, time that was taken away from the business at end. It's a long and hard process to start a company, and it's very important to focus.&lt;br /&gt;&lt;br /&gt;I shouldn't be one to talk: I've started Simplifia in Python then moved to Java, before deciding to build the engine. The reason is simple, finding good programmers is hard. Finding good programmers who are willing to work for nothing is even harder. Especially when the application takes a long time to show.&lt;br /&gt;&lt;br /&gt;With an engine the application will start showing fairly fast, and the people get discouraged a lot less. Furthermore you don't need to have the entire engine working, just the basics. I don't know many people who can run with only an idea as fuel. Most people need to see something to believe.&lt;br /&gt;&lt;br /&gt;That's why focusing on an engine gives a project a better chance of surviving, especially in the beginning. Then if all goes well it should grow and grow. I just need to keep on starting small.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-113655853145827465?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/113655853145827465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=113655853145827465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/113655853145827465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/113655853145827465'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2006/01/when-you-do-it-all-be-as-focus-as-can.html' title='When you do it all, be as focus as can be'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-113470888116833700</id><published>2005-12-15T23:46:00.000-05:00</published><updated>2005-12-15T23:54:41.183-05:00</updated><title type='text'>When the going gets tough</title><content type='html'>As programmers we have a lot of power. More power than we can usually think about. I have this huge application to write, something that would require many programmers to work on for a good part of a year and half. Programmers willing to work for a paycheck that would come in two years are hard to come about, so I got to innovate. At this point we are four people on this project, with two programmers, one techy and one HR. The task is so big there's no way we can do all of this by ourselves&lt;br /&gt;&lt;br /&gt;Unless we think out of the box ...&lt;br /&gt;&lt;br /&gt;I have been building an application maker we will use to build the app. I have created a language, complete with parser and tokenizer, that can be used to create our application. I can truly say that I can reduce the work we need to do for each page in the app to about 30 lines of very simple code, something that should help us build it quicker. It also helps that a non-programmer could probably do it, and that changes are done on the fly, meaning that we can adjust the application as we go along.&lt;br /&gt;&lt;br /&gt;Interestingly enough, the application builder is a much smaller program then the full application would be, as it takes care of a lot of the background work. Another interesting tidbit about it is that it uses itself to build itself (more on that later maybe).&lt;br /&gt;&lt;br /&gt;I call it SWAP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-113470888116833700?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/113470888116833700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=113470888116833700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/113470888116833700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/113470888116833700'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2005/12/when-going-gets-tough.html' title='When the going gets tough'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-113111743513635916</id><published>2005-11-04T06:31:00.000-05:00</published><updated>2005-11-04T10:17:15.193-05:00</updated><title type='text'>My 2 cents worth</title><content type='html'>Yesterday I made my first money with one of my Web site. Someone came in and actually clicked on an ad, making me two cents richer. It doesn't sound like much but to me it's an amazing amount of money. For one thing these two pennies is the first money I ever make without having to find clients while working for myself. These two pennies come directly from a Web site I created and activated a few days before. These two pennies come two days after inserting adsense on my Web Site.&lt;br /&gt;&lt;br /&gt;It's certain that I won't be able to live with just a few cents a day. Therefore this time next year if I'm still getting a few pennies out of my Web sites I will not be as ecstatic as I am now. Like everyone else I need to put food on my table which is located under a house I must pay. And since my job right now is to build a few Web sites and a company, there's not much income coming in our family from my side.&lt;br /&gt;&lt;br /&gt;The victory stems from the fact that I actually got someone to do something that generated some income to me. That person got something from my Web site, from the work I've done, and I got something back in term of payment.&lt;br /&gt;&lt;br /&gt;Now if it could only happen 100,000,000 times, I would become a millionaire!&lt;br /&gt;&lt;br /&gt;p.s.: I know that 100,000,000 times 2 cents is 2 millions, but we're taxed over 50% in Canada.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-113111743513635916?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/113111743513635916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=113111743513635916' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/113111743513635916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/113111743513635916'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2005/11/my-2-cents-worth.html' title='My 2 cents worth'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-113090697228284739</id><published>2005-11-01T23:30:00.000-05:00</published><updated>2005-11-02T00:01:25.696-05:00</updated><title type='text'>Building an empire (and taking care of a baby)</title><content type='html'>I'm working from home. I take care of our baby Sabrina who is 14 1/2 months old. I quit my high paying job to dedicate my day to her. I now take care of a baby and a home. I will do some business in the daytime, but it's not the main focus. About 9:00 pm I sit in front of the computer and work often until 2:00 am or more depending on what's to be done. At 5:00 am I get up and start a new day.&lt;br /&gt;&lt;br /&gt;I'm one of those lucky people who don't need that much sleep.&lt;br /&gt;&lt;br /&gt;I have a few projects going on. Three projects are simple and hopefuly will bring some income to finance my work on the bigger projects. These larger applications are real incorporated businesses that involve many individuals. Because I'm not interested in financing right now, I use the money coming from the little projects to pay for the bigger ones. These big projects, if they work well, can bring in a lot of money. They are on track and will be done.&lt;br /&gt;&lt;br /&gt;So I got a lot of work to do. And that's not counting the consulting work I do for the company I quit as well as the other stuff (associations, others) I'm involved with. I actually like working. And though the money that comes in from that work is interesting, it's not the end goal. The reason I work so much is to be able to have control over my life, the satisfaction of building something useful and most importantly to be able to spend free relaxed time with my family and my friends.&lt;br /&gt;&lt;br /&gt;I am fortunate to be able to do this, and to see my that my long term planning is coming together nicely.&lt;br /&gt;&lt;br /&gt;Almost everyday I get to see Sabrina grow and do amazing things. I am fortunate to be a witness to her growing and I hope that her mother will be able to stay at home too and see her daughter grow. This way I'll be able to work a few more hours during my day. Working from home I can still see my daughter grow, and spend time with my son and my wife.&lt;br /&gt;&lt;br /&gt;She's going to drop her big job soon anyway. Sabrina is now calling her "papa".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-113090697228284739?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/113090697228284739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=113090697228284739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/113090697228284739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/113090697228284739'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2005/11/building-empire-and-taking-care-of.html' title='Building an empire (and taking care of a baby)'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-112981617727945356</id><published>2005-10-20T09:18:00.000-04:00</published><updated>2005-10-20T10:05:46.990-04:00</updated><title type='text'>The First Hit</title><content type='html'>As a programmer there's nothing better then the first hit, or the first time someone uses your program, your creation. The feeling I get when someone uses my material and expresses satisfaction is better then all the money I get for the application. It's hard to explain, but it's an amazing personal reward.&lt;br /&gt;&lt;br /&gt;I just wrote a Web App and posted it two days ago. The current implementation is rough and only phase I is functional. The membership options are not yet functional. The reason I posted it before completion was to answer the need of my two beta testers who are not very computer savvy. My testers are older (in their 70's) so it's got to be extra simple. It's easier for them to do: &lt;a href="http://my.website.com"&gt;http://my.website.com&lt;/a&gt; instead of &lt;a href="http://1.2.3.4/Test/something.php"&gt;http://1.2.3.4/Test/something.php&lt;/a&gt; for instance. They understand it better. Furthermore, once the app comes live, it's not very easy to explain why the URL has changed. It causes confusion, and confusion is the last thing you want your user to experience. The least amount of confusion the greater the chance of keeping your users.&lt;br /&gt;&lt;br /&gt;Also, my targeted market is the older crowd and they tend to be less technologically advanced then the younger crowd, in general. Thus it's very important for the software to be very easy to use.&lt;br /&gt;&lt;br /&gt;With my hosting company (canaca.com) I have enough information to see who comes in when. They are actually very good. So I'm able to follow my testers as they go through the application. One day after activating the site, I saw that someone else then my two testers had gone through the application and attempted to register. There were a few other hits, but they were by bots and other crawlers.&lt;br /&gt;&lt;br /&gt;This is what I consider my first hit. That individual came in the day after, and once again attempted to register. I hope that individual saw the message that registration will soon be available and not get discouraged because I consider this person to be my first hit, my first real client.&lt;br /&gt;&lt;br /&gt;And I felt a little something when I following her/him through the application.&lt;br /&gt;&lt;br /&gt;Whoever you are I hope you come back again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-112981617727945356?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/112981617727945356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=112981617727945356' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/112981617727945356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/112981617727945356'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2005/10/first-hit.html' title='The First Hit'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-112852152712772511</id><published>2005-10-05T10:11:00.000-04:00</published><updated>2005-10-05T10:13:09.026-04:00</updated><title type='text'>JBuilder 2006 - or the never ending workshop</title><content type='html'>I have to admit I'm just a programmer. I love to take a problem, a business idea, and then transfer it into code. Any other technical exercise external to the programming process to me is an interesting annoyance. I do it if I have to, but I prefer not to.&lt;br /&gt;&lt;br /&gt;For the Simplifia project I wanted to go totally open source. I want Linux servers, Java, MySQL or PostgresSQL, Tomcat. Nothing real complicated. My Web app expertise lies mostly with Delphi and WinNT, but to me programming languages and O.S.s are just tools, no more, no less. I use what's best for the task, and leave the technical religion to others. My time is precious and I don't want to take the time to debate or defend the advantages of one system or another.&lt;br /&gt;&lt;br /&gt;That's why I like JBuilder 2006. I got 2005 a few months back and really liked it. Yesterday I received 2006 and like it even more. I installed the application and 10 minutes afterwards I was working. I didn't have to spend a couple of hours arranging everything to my liking, I just put it in and started working.&lt;br /&gt;&lt;br /&gt;My father used to work on our old house when I was a kid. In spring he would build his workshop in the barn. It would take a better part of the summer to complete. It was an amazing workshop, usable and everything. He usually would complete it around the end of summer. Then came fall and winter, and he would build his workshop in the basement. It would be a long process but did it ever look great. He would complete it around the end of winter. Then came spring and the process would start again.&lt;br /&gt;&lt;br /&gt;End result: he barely worked on the house, but had kick-ass workshops.&lt;br /&gt;&lt;br /&gt;When I start to fiddle with my work environment, I am quickly reminded of my dad's workshops. Then I evaluate whether or not what I want to do is a need or a want. If it's a need I spend some time on it. If it's a want, it's discarded right away.&lt;br /&gt;&lt;br /&gt;Don't take me wrong, I thrive for the perfect work environment, may it be on my systems or in my home. But a perfect work environment doesn't bring home the money, just the product that comes out of it.&lt;br /&gt;&lt;br /&gt;That's why I like JBuilder 2006. It may not be perfect to anyone but it's very good. With it I can say that my workshop was installed in a few minutes and I can continue working on my house&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-112852152712772511?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/112852152712772511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=112852152712772511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/112852152712772511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/112852152712772511'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2005/10/jbuilder-2006-or-never-ending-workshop.html' title='JBuilder 2006 - or the never ending workshop'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-112847918582004625</id><published>2005-10-04T22:12:00.000-04:00</published><updated>2005-10-10T18:57:59.826-04:00</updated><title type='text'>Finding people to help you realize your dreams</title><content type='html'>I have been working on this application for the better part of a year and a half and it is a big one. If it were my only project it would be easy, but I still have to help make sure the house and the Volvo are paid. Being a stay-at-home dad I find that it's best to work at night between 9:00pm and 3:00am. During that time I do have to do some contracts that come my way. Hence Simplifia is sometimes stopped for a week or two then comes back online. The project is starting to look actually pretty good.&lt;br /&gt;&lt;br /&gt;But it would be much better if I was not alone to make it. It's possible to get people to help you temporarily to get things going but it's very hard to keep them in the long run, unless some sort of financial reward is provided. Then real life hits, and these people must return to work to make sure their own houses and cars are paid.&lt;br /&gt;&lt;br /&gt;You would think it to be frustrating, but it's part of the game. I believe in what I do, therefore I give a lot of myself to it. I have a lot of experience in that domain, so the work is much easier then it would be if I was starting from scratch. I have also key players ready to come online when it comes to marketing, real financing, managing.&lt;br /&gt;&lt;br /&gt;What I need is programmers and techies experts in Java, Linux, Tomcat and MySQL/PostgreSQL. What I have to pay is nothing, except for a few %s in the ownership of the company.&lt;br /&gt;&lt;br /&gt;But then again, I owned 10% in one company and my departure brought me some good money. And between you and I, wouldn't you like to own 1% of Microsoft, Apple or Sun? I sure would.&lt;br /&gt;&lt;br /&gt;And I'm also sure that one of these companies was started in someone's garage with a relatively low budget. So if they can do it, why can't we?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-112847918582004625?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/112847918582004625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=112847918582004625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/112847918582004625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/112847918582004625'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2005/10/finding-people-to-help-you-realize.html' title='Finding people to help you realize your dreams'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-110321271757305629</id><published>2004-12-16T10:56:00.000-05:00</published><updated>2004-12-16T10:58:37.573-05:00</updated><title type='text'>Read the label</title><content type='html'>My friend Mike and his wife Gene came over the other night for a fondue supper. It was the first time we were receiving since the arrival of Sabrina and it felt good. We had gone to their place for supper, as well as Pascal and Kim's, but this was a little different. I had to unwind, I have a lot of my mind these days and it was great to be able to have some good beer with a friend and then some corner store wine for supper (our liquor store is on strike).&lt;br /&gt;&lt;br /&gt;Mike and I were chugging the beer down, a new one he brought in, and I was starting to relax real good, and to feel no pain. We were laughing and all, and it was really nice to forget about business and our day to day.&lt;br /&gt;&lt;br /&gt;That's when I read the label on the beer bottle.&lt;br /&gt;&lt;br /&gt;"Mike ..."&lt;br /&gt;&lt;br /&gt;"Since when do you drink 0.5% beer ?"&lt;br /&gt;&lt;br /&gt;I exploded in laughter when I saw his face, as he definitely didn't know this was de-alcoolized beer. In fact I still giggle as I read this.&lt;br /&gt;&lt;br /&gt;I'm in charge of a Web App here, and our app has a lot of good explanation text and some help to describe exactly what the page is about. Yet we do receive calls from users who ask what a certain column is, or what to do next.&lt;br /&gt;&lt;br /&gt;I guess in life and in business, we sometimes forget to read the label.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-110321271757305629?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/110321271757305629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=110321271757305629' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/110321271757305629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/110321271757305629'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2004/12/read-label.html' title='Read the label'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-110245158656126390</id><published>2004-12-07T16:12:00.000-05:00</published><updated>2004-12-07T15:33:06.560-05:00</updated><title type='text'>The CRM to the SMB</title><content type='html'>An interesting &lt;a href="http://www.itbusiness.ca/index.asp?theaction=61&amp;amp;sid=57557"&gt;article&lt;/a&gt; from Siebel talks about how the CRM may be better aligned for the SMB (small-medium business) market then it is for larger companies. An interesting statement coming from Sieble as the big business market is Siebel's main bread and butter.&lt;br /&gt;&lt;br /&gt;In the article they state that CRM solutions don't work well with large companies because they lack "focus". As far as I'm concerned there are two reasons why an application doesn't work well: either it's crap, or the user doesn't understand the principals behind it (note that all of you who say the user is not well trained comes back to the fact that the application is crap, as a good app is easy to use).&lt;br /&gt;&lt;br /&gt;Is Siebel experiencing failures with big businesses and is trying to reach smaller businesses to expand their market? Possible. There is an untapped potential in the SMB market.&lt;br /&gt;&lt;br /&gt;Now can a big business like Siebel help the small business operator? I don't know. There is a different mentality between dealing with large businesses and dealing with very small ones. Will big companies like Siebel be able to adapt themselves to answer a market that's not ready to pay as much for the same product they are selling at a very high price to big businesses? Only time will tell.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-110245158656126390?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/110245158656126390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=110245158656126390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/110245158656126390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/110245158656126390'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2004/12/crm-to-smb.html' title='The CRM to the SMB'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-110184886967176134</id><published>2004-11-30T16:55:00.000-05:00</published><updated>2004-11-30T16:53:51.916-05:00</updated><title type='text'>Today I broke a business rule (again) ...</title><content type='html'>I have a few rules with respect to business. For instance, while I'm starting Simplifia with Scott I do my darndest not to work during my current employement's company time. It's not ethical and I don't feel comfortable about it. It's also in my best interest for that company to make profit as I have shares in it. Honestly though it is quite hard. If I have an idea for Simplifia I do write it down. I also check on some of the work we've done to make sure it's right. All in all though I do my Simplifia work at night and I make sure I complete my tasks and spend the time alloted to work to my company.&lt;br /&gt;&lt;br /&gt;That's one rule I have.&lt;br /&gt;&lt;br /&gt;Another rule I have is to never do business with friends. It's one of the quickest ways to destroy a friendship, especially when things go sour. We will get into shouting matches and one or another will have his ego crushed because his suggestion is simply not taken into account in the grand scheme of things.&lt;br /&gt;&lt;br /&gt;Well to date I have broken this rule twice, and I hope it's for the best&lt;br /&gt;&lt;br /&gt;I have been building Simplifia and its business model for a better part of two years now. I have read, bought books, questionned, evaluated, talked with small business owners, just to see if my idea would fly. I have also created a test case called Chronogia to see how it would react, if it would easily be picked by search engines, how good it would perform under stress. This has took a lot of time from me, as well as cost me over $10000 in hardware and other.&lt;br /&gt;&lt;br /&gt;I first talked to Scott in June 2004 about some sort of partnership to become a partner on Simplifia. I've known Scott since 1984 when we were both in Cegep (after high school and before University). Once I came back from a party and Scott was sitting in front of my C64 playing games. After a while I had to kick him out. Then started a frienship that has lasted for years. We did lost touch while he was studying at Queens, and when he left for Brazil, except for an email here and there. Even then I would visit his Web site regularly, and have considered him to be one of the few closest friends I have ever had.&lt;br /&gt;&lt;br /&gt;Breaking the rule was easy with Scott. He's somewhat like me, a workhorse, a guy who never stops, very inquisitive. If you ask him he'll probably tell you that he's lazy (like me). Yet he accomplishes a lot, is very bright, interested in many fields, and whatever he's doing he will make it work. He's the closest genius I have ever known. Though we'll discuss a subject with strength when we're in opposition, both of us are able to understand the other's point of vue and back off when we feel the other may be more right (note that I say "more" right). I trust his technical knowledge without a doubt. I trust my business sense though. Time will tell if these trusts are well placed.&lt;br /&gt;&lt;br /&gt;I have broken the rule again with Mike. He is one of my closest friends and was best man at my wedding. Mike is different then Scott and I. He has an acute interest in the field, is not as much of a hacker then we are but understands the principals of project management (though if you ask him he'll tell you he doesn't). He is perfectionist, wants to make sure the client gets the right deal, can talk to people very well, will hold his own very well in a conflict and will do good for both the company and the client. I strongly believe he's got what it takes to do the work Scott and I won't want nor will have the time to do. While I enjoy most the application processes and the business strategies, and Scott swims in the technological and programming part like a fish in water, my observations of Mike in real life indicates that he's quite resourful in all the rest that needs to be done in a business (dealing with banks; managing people; making things happen; the nitty-gritty). Mike completes us well.&lt;br /&gt;&lt;br /&gt;I have two good friends in Scott and Mike. After Suzanne and my family they are the only two people I blindly trust. They are probably the only ones who really know me, outside my family. It's my goal that the Simplifia endeavour will make us happy and reasonably wealthy, and that this friendship remains untill I grow old and pass on.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-110184886967176134?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/110184886967176134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=110184886967176134' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/110184886967176134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/110184886967176134'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2004/11/today-i-broke-business-rule-again.html' title='Today I broke a business rule (again) ...'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-110088029076705465</id><published>2004-11-19T11:04:00.000-05:00</published><updated>2004-11-19T11:04:50.766-05:00</updated><title type='text'>On the other end - (Subscription based software - part II)</title><content type='html'>There is still a place for desktop programs in our society. Until a time comes when Internet links will be very fast and totally reliable, we will still need to use some applications that work a lot better at the desktop level then they do on the Web. Examples are word-processors, spreadsheets, games...&lt;br /&gt;&lt;br /&gt;We have an Xbox at home and I like it. I like the idea that I put a DVD in a drive, press a button and the machine takes care of the rest. Of course I would prefer it if I didn't have to insert a DVD and would just have a menu with the list of games we purchased. No need to have those games around, just store them in a box somewhere.&lt;br /&gt;&lt;br /&gt;In fact I would like to have a central server in my house which is used to do everything, from entertainment to lighting to communications to security. I don't understand why this is not a standard in every home today. We have the technology. All we need to do is organise it correctly.&lt;br /&gt;&lt;br /&gt;I'm not sure if Linux in its current status would be the O.S. for that server. Windows surely wouldn't be. There's a major need for simplicity in all of this, one that isn't provided by either one of the two.&lt;br /&gt;&lt;br /&gt;I remember that great Apple commercial where a man comes in his office, opens a folded computer and starts conversing with a funny looking character with a bowtie. As far as I'm concerned, this is how future computers will have to be - they adjust to us, not us to them. We now have a learning curve that is totally unacceptable when it comes to using computers.&lt;br /&gt;&lt;br /&gt;Will this be a desktop game or a subscription kind of game (like Larry Ellison thinks) ?&lt;br /&gt;&lt;br /&gt;A bit of both. Some software will reside on PC's hard-drives and some will not. The subscription model will be adopted where it makes sense business wise. The purchased software will still be bought in store (for a while) and then downloaded on the owner's hard-drive where there's a need for absolute real time access.&lt;br /&gt;&lt;br /&gt;Technology will catch up to business dreams one day, but business needs will always dictate how it's done. Maybe one day we can make airplanes for $2000 a piece, but will we sell more? Not if they use the same technology as today. Not many people can drive planes.&lt;br /&gt;&lt;br /&gt;That's my take on it.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-110088029076705465?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/110088029076705465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=110088029076705465' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/110088029076705465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/110088029076705465'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2004/11/on-other-end-subscription-based.html' title='On the other end - (Subscription based software - part II)'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-110080688371948848</id><published>2004-11-18T13:52:00.000-05:00</published><updated>2004-11-18T15:02:46.860-05:00</updated><title type='text'>What the client wants ...</title><content type='html'>It fascinates me when I'm on a Web page and there is some specific information about how long the page took to generate or how many bytes the page is. Unless the site's target audience is a technical in nature, it's a waste of screen real estate. Even worst, if you are writing a Web Application, it can become a reason for the client not to go with your service.&lt;br /&gt;&lt;br /&gt;Case in point: if you write that you're using IIS as your Web server, a user on the Linux side will say that what you're using is crap. The user will look at your service from a negative point of view and give every reason in the world to discredit it. Replace IIS with Apache and Linux with Windows in the previous sentence and its conclusion stands. As an application vendor involved in the Web App market for almost 6 years now, I can tell you from experience that this logic applies to Visual Basic and Java, Oracle and Ms-SQL, ...&lt;br /&gt;&lt;br /&gt;A good professional programmer will tell you there is good and bad in every systems and programs out there. I never listen to a computer zealot to whom his choice is 100% perfect and the competitor's choice is 100% crap. It just doesn't work like this in real life. Only a few programs are truly innovative and amazing enough to make us go "wow". Linux and Windows are not part of this elitist group.&lt;br /&gt;&lt;br /&gt;I believe that only the information that is really needed should appear on a program page. Stuff we find "cute" or think the user will appreciate can only be validated with your client base. Often enough, we are surprised by what it is users actually want.&lt;br /&gt;&lt;br /&gt;I remember this quote from a product manager's handbook: "your opinion, while interesting, is irrelevant". If the application does not resolve your client's needs, two things will happen: either the client adapts to the app and hates it, or the app is discarded altogether. Especially today. The competition is fierce and programs are adapting more and more to client needs, not vice-versa.&lt;br /&gt;&lt;br /&gt;Remember that your clients often don't care about the hows, they just wants it to work.&lt;br /&gt;&lt;br /&gt;I love my Volvo. I put gas in it, maintain it and clean it. It takes me where I want to go. I don't care at all about what's in it. I don't know. It's the same for users who are not computer litterate. They just want it to work.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-110080688371948848?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/110080688371948848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=110080688371948848' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/110080688371948848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/110080688371948848'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2004/11/what-client-wants.html' title='What the client wants ...'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-110070114843403592</id><published>2004-11-17T08:44:00.000-05:00</published><updated>2004-11-18T13:49:40.200-05:00</updated><title type='text'>The emergence of subscription based software</title><content type='html'>I'm a strong believer in the subscription base application, where the user doesn't have to do any complex software installation on their own PC or server. While some small businesses have IT departments, many others don't, especially mom and pops enterprises. These owners do their accounting on software they don't really understand using principles known to accountants who have years of schooling behind them. To have to understand how to install software is just another irritant. What they should do really is do what they do best: business.&lt;br /&gt;&lt;br /&gt;When a non computer litterate user needs to install software on a computer, he or she goes through a process rarely understood. Basically, if I listen to users, they are putting the program in the hard drive (the hard-drive being the computer unit). That user cares nothing about memory left in the machine and on the drive, the 0.0045 seconds it took to generate a page or its size in bytes (bytes, what is a byte anyway?). Users just want to do what they do, which is run their business, plug in data in on screen that's connected to a hard drive, and have the form the government needs printed at the right moment.&lt;br /&gt;&lt;br /&gt;I like Linux a lot, and though it's becoming easier to install and use, there are still many moments when we need to edit a conf file with something like: asd: "\var\home" or "use_mnd=1" which means a big fat nothing to most people and creates a whole lot of frustrations to the non computer person who wants their system to work. For them, Windows is hard to understand.&lt;br /&gt;&lt;br /&gt;With subscription based software, users don't have to learn a lot of stuff about their computer. As long as it turns on and they can reach the application, the rest should be child's play (or adult play to be more exact). It's just a question of learning the program.&lt;br /&gt;&lt;br /&gt;I believe Microsoft is more afraid of Web Applications then they are of Linux.  Would the application world become subscription based, there would be no difference which operating system the computer is using. The famous $300 PC could become a reality for small businesses. At which point Linux would make a lot more sense then Microsoft.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-110070114843403592?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/110070114843403592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=110070114843403592' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/110070114843403592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/110070114843403592'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2004/11/emergence-of-subscription-based.html' title='The emergence of subscription based software'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8818718.post-109838571647481144</id><published>2004-10-21T14:50:00.000-04:00</published><updated>2004-10-21T15:08:36.473-04:00</updated><title type='text'>Having your own business or working for others</title><content type='html'>I've always wanted to have my own business but never really felt ready to do so. I did try 10 years ago but the results were less then succesful because I couldn't take care of advertising, production, marketing and sales all at once.&lt;br /&gt;&lt;br /&gt;Working for others is frustrating in many ways... no direct benefit except for a constant paycheck; specific work times (8 - 5) when my best work is done at other times; Mon to Fri - I prefer a different arrangement; no real control on how the business is going, you have to follow someone else's ideas and ambitions, even if you don't agree with them.&lt;br /&gt;&lt;br /&gt;It's not a question of money, it's really a question of control. I prefer being in control, or sharing that control, then having no control.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8818718-109838571647481144?l=martinsgiroux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinsgiroux.blogspot.com/feeds/109838571647481144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8818718&amp;postID=109838571647481144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/109838571647481144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8818718/posts/default/109838571647481144'/><link rel='alternate' type='text/html' href='http://martinsgiroux.blogspot.com/2004/10/having-your-own-business-or-working.html' title='Having your own business or working for others'/><author><name>Martin</name><uri>http://www.blogger.com/profile/14633327545399845516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
