Apr 22

MyBanco 0.09 has been released. This release has a few new (minor) features in it, and a few minor bug fixes as well. The installer now ‘phones home’ to tell how many installations have been done. This is a new feature that I am working on where you can automatically be subscribed to new releases that occur, however, this is not fully complete.

[   ] mybanco-0.09.tar.bz2 21-Apr-2009 11:32 256 KB Unix/Linux .tar.bz2
[   ] mybanco-0.09.tar.bz2.md5 21-Apr-2009 11:34 55 bytes md5 checksum
[   ] mybanco-0.09.zip 21-Apr-2009 11:32 304 KB Windows .zip
[   ] mybanco-0.09.zip.md5 21-Apr-2009 11:34 51 bytes md5 checksum

Also, by popular demand I have started to write documentation for all the code. It is not fully complete (there really are only five files that contain this documentation). It is however a start.

You can download the documentation for version 0.09 here, or you can read it online at http://timg.ws/downloads/mybanco/docs/read/.

A new minor version will be out in a few days which will expand the documentation built into MyBanco, and provide a ‘Makefile’ for building documentation. Also, this new feature will expand on the new features brought in by the ‘phonehome’ function, such as update notifcations.

Please note that all data saved with the phone home feature is anonymous, and in the future it will be used to track the ten most commonly used functions on the MyInfo server, the number of users on the system and a list of the enabled features.

Also, there is now a bug tracker at http://mybanco.org/bugs/, so please report your bugs if you see them!

written by Tim Groeneveld \\ tags: , , ,

Apr 20

I have had a few emails regarding whether it would be possible to add Interbank communication support into MyBanco such as SWIFT, and I would just like to say here, YES! It is possible, and it is very easy to do.

If you are looking to write a new plugin to do SWIFT transactions (or any other type of external transactions) would be to do the following:

  1. Add a new $method to backend/Plugins/transfer.php
                    'swift' => Array (
                             'title' => 'International bank transfer via SWIFT',
                             'description' => 'Transfer to another {bank} account',
                             'icon' => 'swift'
                     )
  2. If necessary, change __transfer_listValidTransferMethods to make only particular users/bank account types to be able to transfer money via swift (it’s near the bottom of the function)
  3. Implement the following functions:
    • function _t_swift_required – This function returns a list of extra information that is required for the transaction to take place. (ie, extra fields that the user must enter, the account # and $amount is not necessary, as these are sent by default)
    • function _t_swift_check_data – Ensure that the data that has been imputed from the user is correct, for example, this would mean checking the LEK of a credit card transaction…
    • function _t_swift_preview – Send the data for preview. Nothing exciting here really
    • function _t_swift_transfer – This is where the fun stuff actually happens. This is where money would be removed from the account, the message put into the cron queue (if desired) or a real time message sent to SWIFTNet for the transaction to occur.

I would recommend that the way it be done would be to move the money wanting to be transferred into a temp. settlement account, and then add the item to a queue which would run on (another?) machine every 2-5 minutes. I really want to add an open source implementation of the SWIFT messaging system to MyBanco, however, like I said earlier, I no longer have access to any of the information or to any of the SWIFT servers to make this possible. If you have access to this sort of information, I would be happy to continue my development.

Hope this helps people out. By the way, if anyone has access to development documentation for SWIFTNet, I would really love to be able to access it, so just drop me a comment on this blog post.

Thanks,
- Tim

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 09
  • 100% Detect if all required modules are in PHP
  • 90% Insert SQL dump into MySQL
    • Could be improved on the SQL file import side

Coming to the next release, which is due in seven days, is the ability for people people to gain money for posting on a forum!

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

Aug 09

The new version of MyBanco will be out within the next few hours, boasting a few new handy features, such as:

  • An installer, which will insert the SQL dump into MySQL automatically.
  • A few minor bugs fixed.
  • Patches for SMF to enable the ability for people people to gain money for posting on a forum.

Watch this spot :)

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

Jul 28

I am currently working on the next version of galium, the software that runs the .ing top level domain name. This update will be minor upgrade-wise (going from a 0.2 to a 0.3), but will provide a few new features, and will pave the way to galium 1.0.

What Galium 0.3 will do:

  • Enforce domain limits per user
  • Fix the last cron update “bug” (it’s not really a bug, but it is annoying)
  • Finally allow the adding of A, NS, MX etc records, so a glue name server is not required (this means that requests are handled by the slave servers directly! Can anyone spell speed increase?)
  • It will not have hardcoded SOA records…  this will be able to be changed. Somehow.

The future (Galium 0.4 and higher):

  • Allow domains to be registered via an API (probably with MyInfo)
  • Keep a backup of all (or some) previous generated TLD configurations somewhere
  • Support more backends then just BIND
  • Have a WHOIS server

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: , , , ,