A description of my coding environment

The context

I code simple projects.
Let say that the project is hosted at http://thomasdt.com/myproject
Most of the time, I am the only developper. I code from different platform : iPad, Pc and Mac.

My solution

I will detail here my coding process

I Use dropbox
I work in a folder myproject_dev inside dropbox folder
These is where the last version of my development is located
To edit the file depending on the platform, I use :

I use beanstalkapp (http://beanstalkapp.com) as my private git repository (a free account is ok)

When I would like to test live my code : I push my dev files from my dev folder to beanstalkapp

beanstalkapp keep a version of all my work help my colleagues to review the code.

beanstalkapp is set up to automatically deploy my dev file to a ftp server.

I use ovh and a public dev folder http://thomasdt.com/myproject_dev

This is a php-sql project so :

  • I maintain a duplicate of the public database
  • If you are browsing the application through :
    • http://thomasdt.com/myproject, the php files are pointing to the live database
    • http://thomasdt.com/myproject_dev, the php files are pointing to the test database

When I would like to push the dev to the live site. I commit my files with the keyword: [deploy: production] and the files are also pushed to the production ftp server.

If I need to alter the sql database structure, I do it in a sql.php file rather than in phpmyadmin. This sql.php file is automatically triggered (like a web hook) by beanstalkapp just before deploying the file to the development and production server.

Things I could improve

  • On windows, I am pushing files to git with Git Bash and this is not optimal. I could find a better IDE with integrated git.

CRM for Dance School and Fitness Club

Hi, In the last year, I have been developing a CRM for some very good friends that own a salsa school and a fitness club in Lyon, France. The software fits perfectly their needs. After some moments of hesitation, I have decided to write a public version so that any interested school can give it a try.

Features

  • Store all your customers data
  • Manage your classes and attendees
  • Send group emails
  • Fully billing system to send your customers their bills
  • Manage cards with point system for non-regular customers
  • Get customers birthday reminders
  • Get bad-payers list in your mailbox every morning
  • Export function
  • Take customer pictures directly from Smartphones and tablets into the CRM
  • A lot more…

How to try it ?

Signup

Pricing

I don’t know yet… So let’s say that this will be free as long as it is in beta version. Anyway, the basic version will not cost more than 200$/year.

How to search in databases spread all over the company

The problem

Knowledge is spread all over the company and hidden inside excel files. During the development of new products it is crucial to have a state of the art of what has been already done to save money.

The context and some contraints

  • Engineering department
  • Each engineer manages its own formatted list of product datas using excel

    Examples of lists
    Examples of lists
  • The headers may have different names (example : list 1 refers to temperature as  “Max Temperature” while list 2 refers as “T”)
  • The values may be in expressed in different units (exemple : list 1 expresses the temperature in °C while list 2 in Kelvin)
  • No extra work for the engineers

My solution

  1. Using a scheduled task, the different excel lists are uploaded from the windows file system onto the company server

    Scheduled Task
    Scheduled Task
  2. Using a server scheduled task (cron), the excel files are converted into sql format
    List 1 in sql format
    List 1 in sql format

    List 2 in sql format
    List 2 in sql format
  3. A conversion sql database helps to uniform the parameters designations and units
  4. The result is quite powerful

    Result from the master search
    Result from the master search

Conclusion

With this method, we authorise the engineers to work with their own excel files and still provide a solution to search among all the different files.

Future improvements

  • Make sure that there is an unique identifier for each excel lines so that any project can make reference to it.
  • Auto update the sql databases structure to match structure changes in the excel files.

Valuable note conversion

Taking meeting’s notes or minutes is one thing.

It helps the note taker to remind himself about important facts discussed in a meeting or during a presentation.
You can make them way more useful if you convert them into organized knowledge.
Under organized knowledge I mean a document recorded in the company database.
A good practise would be to convert every items of your freshly-taken notes into :

  • An assigned action with due date
  • An update of documentation like a specification or a handbook
  • An update in the project decision log
  • An update in the risk (or opportunity) register
  • A short communication to colleagues
  • A planning update
  • A change in the software
  • Whatever you want but something else than a hand written document than no one will use

Don’t wait too long to do this. Try do do it live or at least within one week period.
Doing it quickly after the meeting prevents :

  • People to wait too long for your feedbacks
  • Having to convert tons of notes at once.
  • forgetting anything

This seems obvious but sometimes it is useful to recall obviousness.

Note that this process is a lot easier is you take your notes paperless.

Going Paperless

This idea was going through my head for a couple of months and I am now determine to give it a try : Going Paperless. I would like to stop using notebooks at the office.

Motivations :

  • It’s green
  • It will probably contribute to a better management of my project notes
  • I could travel lighter
  • My paper book has a lack of functionalities :
    • I cannot use Ctrl+F to find in my paper notebook !
    • I can tag my notes but I cannot rearrange them by tags!
    • It is difficult to share my notes with colleagues.
    • I cannot paste pictures within my notebook.
    • If I lost my notebook in the train, I lost everything !
    • I have to retype everything when I am at my desk in front of my computer

What I think I need :

  • An ipad with sim card
  • The Evernote suite : Evernote, Penultimate, Skitch
  • A stylus
  • A keyboard for ipad
  • An Ipad case that can hold the keyboard and the stylus

I will start in september and keep you posted about how it goes and if I am missing the paper. Please if you have any suggestions feel free to post a comment below.

My Favorites Project Management Tools

A little update after one more year of practising as a pm :

I have separated tools by usage (project management core activities):

Planning

  • Ganttproject
  • MS Project
  • Excel

Reporting

Reporting

File Collaboration

  • Google docs
  • Office 365
  • Dropbox
  • Windows file system

Discussion

  • Slack
  • Basecamp
  • Skype
  • Emails

Knowledge Management

Task Management

Notes

  • OneNote
  • Google docs
  • Word
  • Power Point

Lausanne

Une liste de mes brunchs et restaurants préférés à Lausanne.

Brunch:

  1. La Couronne d’Or
  2. L’Hermitage
  3. Le Café de Grancy
  4. Tom Café, au Musée Olympique
  5. Le café des Avenues
  6. La Café Saint Pierre

Restaurant:

  1. Nadanam
  2. Brasserie du Palace
  3. L’Eléphant Blanc
  4. L’Orchidée
  5. Fratel e Napule

Café:

  1. Café des artisans
  2. Bar Tabac

Apéro:

  1. Le Café Saint Pierre
  2. Midi 20

Les prochains sur la liste à essayer :

  • L’Antica Trattoria
  • Le petit boeuf
  • Le Tramway

Pour d’autres adresses, visitez mon profil tripadvisor.

Bon Appétit.

RFID pour controle d’accès de salle de sport ou de danse

Voici mon dernier petit développement. Un système de contrôle d’accès par badge pour salle de sport ou salle de danse.

Principe :

Chaque client à une carte associée à son profil. Chaque fois que le client veut rentrer dans l’école, il passe sa carte devant un système autonome. Le système doit juste être branché à l’électricité. Le système dialogue avec un serveur qui renvoie l’image du client et toutes les informations associées à son profil. Le système est déjà couplé avec le CRM que j’ai développé mais vous pouvez aussi le coupler avec votre propre système de gestion client.

Démo :

Prochaines étapes :

Installation dans une école pilote

Si vous êtes intéressé, je le vends. Pour les tarifs : dokithonon@gmail.com

The role of an expert knowledge manager

As I go on with the development of the Rocket.pm and especially the Document Managing System (DMS) function, I came across the definition of a key role in knowledge management : expert knowledge manager.

Let’s assume that I have a document database in which documents cover different fields of expertise (like steel materials and ceramic material). I can define one (or more) colleague(s) as an expert in a given field; For example, Bruce is defined in the system as an expert in ceramic materials.

The document creator (let’s say a colleague from the ceramic material engineer department) has not been able to fill in every form field (or attributes) when submitting the document. I really don’t want to make all field mandatory because it may make the document creator reluctant to add its document to the database. That is why, the system let him submit its document with an incomplete form and as a consequence the entry in the database has some missing information.

Here comes the Expert Knowledge Manager in action.

The DMS will regularly ask the right Expert Knowledge Manager to fill in the blank fields. If a document cover the ceramic material subject then Bruce will be asked to improve the database entry. In other words, the expert knowledge manager make sure that all documents in his field of expertise are well documented and can be found in the database.

The philosophy behind is always the same : a DMS will work only if all documents are properly defined and all attributes are correct.