Apr 13

Every time I go to my Inbox every morning; I seem to have three or four questions waiting for me regarding MyBanco. Starting from the most asked question, and going down to questions I seem to get less often, I thought I might answer a few of those questions so that I will never have to type out the same repetitive answer again.

How can i download MyBanco 2009.1?
MyBanco 2009.1 is not yet released, I know that the site is a bit out of date, and that the release is way over due, all I can say is hold your horses and go download the latest release, which you will see on the very same download page that talks about MyBanco 2009.1, http://mybanco.org/download.html

Is this for real? Is MyBanco really meant in production environment of real banks?
Well, yes. This is the aim of the game. The application is not yet fully feature rich, so don’t expect Citi Bank to start using it just yet, but with enough programmers hands, it will become an application that can be used in production environments, not just for small community banks but also larger national banks.

I can’t install MyBanko. I do not use XAMPP. I use real web server. I can’t found where to write the MySQL server address on page 3 ?!?
Firstly, do your research. XAMPP is just a nice and easy way to get a webserver with Apache, PHP and MySQL installed on Windows without little work at all. It is a real server, just as much as a LAMP server is. I don’t know what you mean about MySQL, all you need to do is create a database with acceptable permissions (say with phpMyAdmin — which XAMPP also comes with…) and enter those login details into the installation script for MyBanco. The install application for MyBanco will come up when you go to the domain for MyBanco for the first time.

Is it possible to install with the following url: http://localhost/mybanco? Because, with the original installation method I have to sacrifice other websites.
No, it is not possible. The internet banking module is built to run off it’s own domain/subdomain. The easiest way to do it is to just create a virtual hosts configuration in Apache, where you have something like http://mybanco.localhost :) The reason this is here is to make MyBanco comply with PCI DSS (https://www.pcisecuritystandards.org/), which are rules created by the major credit card issuers on the subject of how machines must handle credit card information. https://www.pcisecuritystandards.org/security_standards/pci_dss_download.html

PCI DSS Requirement 2.2.1 specifies ‘Implement only one primary function per server.’, which basically means that the internet banking interface must be on a separate server then say the backend server or the MySQL server. Of course, for testing it is OK for this to not be the case, but for the reason that there are rules to worry about, making it run the way you want in a testing environment has not really been a big concern.

PCI DSS Requirement 6.3.2 requires that test/production environments must be seperate, and it is recommended to have the same config. between both environments, yet another reason not to implement what you are saying.

MyBanco throws some errors even at installation. Step 4, i.e. stop after sql writing and gave no clue for me. And, also some undefined variables message after that.
If you encounter errors, please copy and paste them so I can fix them.

I manage a banking program at a community college. We are setting up a model branch for students to practice retail banking operations in a simulated environment and would like to use your retail banking solution. Does an extensive amount of programming need to be done before we can use the software. We only need the basics -nothing fancy. How exactly do I download it and get it to run? What hardware/operating system/database platform etc. do we need to run it? We will have about 5 – 25 work stations running it.
At the moment, MyBanco does not perform any lending functions, this is it’s only downfall. To get it running is very easy, if you look around the MyBanco website at this link http://www.mybanco.org/about-us.html you will see that there is a link to this blog post: http://timg.ws/2009/01/26/installing-mybanco-with-xampp-on-windows/ It describes all that needs to be done to install MyBanco on a Windows system.

You can download MyBanco from here: http://timg.ws/downloads/mybanco/ No fancy hardware is required, a basic Core2Duo machine, which costs less then $2,000 will be able to handle not 25 work stations, but 250!

MyBanco is very fast. No programming will need to be done, unless you want to offer loan support.

written by Tim Groeneveld \\ tags: , , , , , ,

Oct 15

With the help of researchers Robert Marks, Blake LeBaron and John Holland, I have been able to start implementing an algorithm for a “self operating” stock exchange. Called MyStocko, it is an application that will be able to operate a simulated stock exchange automatically without any user or operator intervention.

It records all buy/sell transactions, and works out figures such as the high and low sell price of any stocks. It is not yet complete at all, but it is coming there.

There is no user interface for buying or selling shares, but when it is done manually in the MyInfo database (from MyBanco) most of the other figures are worked out automatically. Already it is starting to draw graphs showing the history of buy and sell prices, and I can’t wait for it to be released.


Click on the image to enlarge it.

More about it later :)

written by Tim Groeneveld \\ tags: , , ,

Aug 11

What’s fixed in this hotifx?

  • Domain Cron is less verbose
  • Started removing hard coded values inside the domain cron.
  • Fixed a bug in the domain cron; where a domain would not be marked as being updated when it had beed
  • Included the missing ‘switch’ function… woops!

Galium 0.29 hotfix

written by Tim Groeneveld \\ tags: , , ,

Aug 10

Galium 0.29 released!

  • 100% Fixed the confusing template, where logout showed up, without being logged in!
  • 100% You can now (again) switch between local and remote hosting of domains :)
  • 90% Users can now add A, AAAA and CNAME records.

How to upgrade?
If you have installed Galium 0.2 or later, updating is as simple as just replacing all the updated files. If not, go to the directory where you installed Galium, and type ‘php ./apps/doUpdate.php’

tim@timg:/var/www/galium$ ./apps/doUpdate.php
=> Galium Cron Service v0.2b
--> Loading configuration ...
--> Connecting to MySQL ...
=> Checking if the database needs an update ...
=> Updating to database version 4
--> Running UPDATE-0002.sql ...
----> OK!!!
--> Running UPDATE-0003.sql ...
----> OK!!!
--> Running UPDATE-0004.sql ...
----> OK!!!
--> OK!

Easy! Download the latest Galium here.

tim@timg:/var/www$ diff -ur galium.old galium | diffstat
 galium/apps/domainCron.php                                |  150 +++++-----
 galium/conf/config.php                                    |    4
 galium/www/Applications/User/Manage.php                   |  149 ++++++++-
 galium/www/Libraries/Backend.php                          |   32 ++
 galium/www/Skins/bea../Template.php                       |   16 -
 galium/www/Skins/bea../Temp..s/Man../Dom..Records.php     |   18 -
 galium/www/Skins/bea../Temp..s/Man../lis..omains.php      |    6
 12 files changed, 273 insertions(+), 103 deletions(-)

written by Tim Groeneveld \\ tags: , ,

Aug 04

In the past few days, I have been working on making ShareSource a little more search engine (and in some cases user friendly).

The changes all round are pretty minor, but they were necessary things that had to be done, as Google Webmaster Tools said that ShareSource had around 3,000 pages with the same title!

Well, most of the changes have been pushed to the live server, and include changes such as:

  • The commits log showing what page you are on if the page is not page one.
  • The ShareSource project Search showing the query that you have made.
  • Project file releases have a nicer title … which is based on the project’s info.
  • Screenshots is similar, all screenshots now have a (pretty) unique title
  • The ShareSource Wiki knows that it sometimes needs to ditch useless parts of it’s URL, so it redirect to a better, nicer and shorter URL
  • Fixed a few spelling mistakes again (like facilies => facilities on the home page!)
  • Fixed a few broken URL’s on the project link bar.

Did I mention that is only the top seven? Plenty more changes were made as well as those.

The fact of the matter is now ShareSource will be a nicer place for search engines to crawl. The aim is also that the site will now get a bit of a bigger Google Rank, because there is no more duplicated content on the ShareSource site.

written by Tim Groeneveld \\ tags: , ,

Aug 04
# diffstat mybanco-0.03-to-0.04.patch
CHANGELOG               |  4 ++++
Skins/Simple/Simple.php | 38 +++++++++++++++++++++++++++++++++++++-
backend/index.php       | 28 ++++++++--------------------
backend/test.php        |  7 +++++++
libs/MyInfo-Client.php  |  7 +++----
5 files changed, 59 insertions(+), 25 deletions(-)

Mainly a bugfix release. Fixes the following issues:

  • Data sent to MyInfo is now always unescaped.
  • Nice pretty runtime errors for MyBanco.
  • The right MyInfo server is now always selected.

Most of these are changes I have made because of errors that were seen on dr-spangle’s local install of MyBanco. You can download either the update package (14KB) or the entire package (200KB) at the MyBanco website.

written by Tim Groeneveld \\ tags: , , , ,

Jul 27

My Galium top level domain software will get a minor update soon, which will fix a few [minor] outstanding issues.

  • Usernames can now contain the “-” character
  • The zone file generator will not always give the outputted revision as being “0″ (this stopped all updates from not appearing on slave DNS servers until the following update on the next day … bad).
  • The cron that generates the zone file now reloads bind!

I will release this version as soon as it’s commited, and then begin working on the ability to add A, MX and a few other types of records. At the moment it only works via glues.

UPDATE: the new version of Galium was released, and can be downloaded from http://sharesource.org/project/galium/files/136/

written by Tim Groeneveld \\ tags: , , , , ,

Jul 27

A good friend of mine, Jordan Bracco recently forced me to rediscover Ruby on Rails. He told me that the new version, 1.9 is “5000x faster”, so I thought, well, why not!

The last version of Ruby I tried was either version 1.7 or 1.8, and it was not really something that I would say rocked my boat. It was slow, and just plain did not do (at that time what I though) I wanted.

Me being a version freak – and a speed freak, decided that I would go to the Ruby, check out their CVS repository out (seriously, these guys need to update to mercurial, just like Mozilla has!) and compiled Ruby’s latest trunk version.

The speed speaks for it’s self. A basic “Hello World” Ruby on Rails app does 700 requests a second, while a basic “Hello World” in PHP does 800. For this use case, yes, PHP is faster, but what you have to remember is that Ruby on Rails is much, much, much more sophisticated in terms of functionality.

I recently rewrote a page that is on ShareSource.org, and it is almost twice as fast. The difference here, is that the Ruby rewrite had no cache. Every single hit with Apache benchmark was generated on demand, while the PHP version of the ShareSource.org page in question was kept in cache for five minutes.

Aaaahhh, I am loving Ruby already.

written by Tim Groeneveld \\ tags: , ,

Jul 26

Ever wanted to run your own bank? Well, my new [experimental] web application allows you to do exactly that. While some may say that I just have way too much time on my hands, others might just say that I should get top marks for my IPT [Information Processing Technology] assignment.

We had to build a database system, which implemented relational databases, and I thought, well, I could make my very own banking software, and fulfil one of my many dreams: to run my own bank.

The software, written in PHP was a testing ground for many new things that I have wanted to go and try, but never really had a project to try them out on.

I must say that MyBanco would have to be the first application that I have written with the mindset of handling around 700 transactions every second.

MyBanco uses a backend for it’s database which I have dubbed ‘MyInfo’. MyInfo is a JSON-RPC like protocol, which is easy to use, and can send multiple packets (I just thought then it might have been better to call these chunks… hmmmm) all at once, and get a response from all those packets. Think of it as a easy to read and faster to pharse version of XML-RPC.

I will chat at MyBanco a little more later, when the time is right, but for the moment this post will do :)

(hope you like the new blog!)

written by Tim Groeneveld \\ tags: , , , ,