New Project Management Tool for my Freelance Work

Bigger Playground for my Website Building Projects

I’ve recently moved my domain, bernardic.ca, to Network Redux web hosting servers. Chris Lowry originally registered the domain for me, in return for some advice I gave him and out of the goodness of his heart. The network redux account is provided by Mark Johnston for free. Mark is my friend and mentor who I met at a call centre I previously worked at. The new hosting allows for more websites to be hosted, so I installed a project management web app written in PHP, called Project Pier.

Professional Project Management Tool

This app provides me with a way to enter projects I am working on, enter associated tasks, and indicate when the tasks have been completed. I can create accounts for clients, so they can keep up to date with the status of the project, add new tasks, and share files. I hope this will improve the communication, as well as act as a reminder of what is left to be done, and it should work well as a central repository of information and files related to a particular project. It is fairly easy to install and use, and since it is written in PHP, I will probably tweak it to my need, and contribute bug fixes & feature enhancements back to the project.

Hello, CentOS

Recently I installed CentOS using a USB Stick on my laptop, and blogged about it.

I am currently using CentOS, and it is a fairly good experience, although I am still not able to connect with wireless, although it is almost set up correctly (I even had it going for an hour or so, then rebooted 🙂

Anyway, I am glad for the opportunity to learn to use the RedHat set of administration tools, and switch distros for a bit.

First Blog Post at Canada’s Web Shop

My new employer, Canada’s Web Shop, encourages its employees to blog and tweet through the company’s blog and twitter accounts. They encourage everyone to tweet twice a week, and we take turns blogging weekly. Some people tweet daily, and blog once each week. There is an opening for another weekly blogger, since an employee who was blogging weekly left recently. Is this a good opportunity for me?

Recently, it was my turn to blog, and I wrote an article about PHP development support tools that I like to use.

Mai V2

Mai decided to refresh the look of her portfolio site, and created another clean and crisp design, ready to be implemented into her website.

Mai is a visual designer originally from Japan, currently living in the U.S.A. We met through ProgrammerMeetDesigner.com

I’ve created a WordPress-based site and developed a WordPress theme based on the PSDs she provided.

Technologies used:  PHP, HTML, CSS, JavaScript, jQuery, MySQL, WordPress.

Wordpress theme developed for MaiKSDesign.com
Wordpress theme developed for MaiKSDesign.com

oDesk

I recently discovered odesk, an online marketplace website, and joined it. The thing I like the most about it currently is the test-taking feature.

You can take tests for knowledge within different areas of Web development, and once you are done, your profile lists that you’ve completed the test, what score you achieved, etc. They even give you badges to put on your website, and they link to the oDesk profile page:

oDesk Certified CSS 2.0 Designer
oDesk Certified SQL Database Administrator
oDesk Certified PHP5 Developer
oDesk Certified Advanced PHP Developer
oDesk Certified HTML 4.01 Designer
oDesk Certified jQuery Professional
oDesk Certified LAMP Developer
oDesk Certified YAML Professional
oDesk Certified XHTML 1.0 Designer
oDesk Certified TCP/IP Consultant
oDesk Certified DHTML Developer
oDesk Certified AJAX Developer
oDesk Certified WordPress Expert
oDesk Certified Twitter Programmer
oDesk Certified Drupal Web programmer

I can write, too:
oDesk Certified English Writer
oDesk Certified English Spelling (U.S. Version) Professional
oDesk Certified English (Sentence Structure) Expert
oDesk Certified Resume Writer

A writing writer! 😀 It’s meant to be Resume Writer.

Refactoring PHP

Here are some common opportunities for improving the maintainability of code through refactoring that I find when reading code.

  1. Replace Duplicated HTML with Iterating Over an Array

    The purpose of most PHP code is to output HTML that the web server will send back to the browser. If you have a table that has 20 rows, and all those rows have the same structure, but the data in each row is different, you could write it 2 ways:

    1. Duplicated HTML

           <tr>
             <td align="center" valign="middle" class="messageFormTd3">2010-05-04</td>
             <td align="center" valign="middle" class="messageFormTd3">Copenhagen</td>
             <td align="left" valign="top" class="messageFormTd3">City Hall</td>
             <td align="center" class="messageFormTd5">10:15</td>
           </tr>
           <tr>
             <td align="center" valign="middle" class="messageFormTd3">2010-05-02</td>
             <td align="center" valign="middle" class="messageFormTd3">Zagreb</td>
             <td align="left" valign="top" class="messageFormTd3">Main Square</td>
             <td align="center" class="messageFormTd5">12:30</td>
           </tr>
    2. Iterating Over an Array

                 <?php foreach (array(
                   array('date' => '2010-05-04', 'city' => 'Copenhagen', 'venue' => 'City Hall', 'time' => '10:15'),
                   array('date' => '2010-05-02', 'city' => 'Zagreb', 'venue' => 'Main Square', 'time' => '12:30'),
                 ) as $event) { ?>
                 <tr>
                   <td align="center" valign="middle" class="messageFormTd3"><?php echo $event['date'] ?></td>
                   <td align="center" valign="middle" class="messageFormTd3"><?php echo $event['city'] ?></td>
                   <td align="left" valign="top" class="messageFormTd3"><?php echo $event['venue'] ?></td>
                   <td align="center" class="messageFormTd5"><?php echo $event['time'] ?></td>
                 </tr>
                 <?php } ?>

Hello World – First Post

Hello world!

I am really excited to be writing my first blog post as part of setting up my online presence at bernardic.ca.

Since I work as a programmer, and have a Bachelors degree in Computer Scrience, I think it would be good to start with a hello world. Here it is in all the programming languages I use or have used. The constraint is of course that I don’t look it up on the Web or in other people’s source code, but rather either go by memory, or memory plus the help of a compiler/interpreter:

PHP

<?= 'Hello World!'?>

Ruby

puts 'Hello world!'

Python

print 'Hello world!n'

Java

public class Hello {
  public static void main(String[] args){
    System.out.println("Hello world!");
  }
}

LISP

(print "Hello, World!")

Perl

print "Hello World!n"

C

#include <stdio.h>
int main() {
  printf("Hello World!n");
}

bash

echo 'Hello World!'

Javascript

alert("Hello World!");

or

window.onload = function () { document.write("Hello World!"); }

C#

using System;
public class Hello {
 public static void Main() {
    Console.WriteLine("Hello World!");
 }
}

There it is. I also tried C++, but could not figure out the whole stdout << “Hello World!”, or however it would actually go. 🙂 Happy Coding!