Random musings from the world of an Open Source geek
So, I thought I might like to tell you all that I am working the life of the working man now. I recently (on Thursday) started work at my first real full-time job at Digital Pacific.
It seems like a pretty good place, and even though it means moving from my current place in residence, which is Newcastle to Sydney, around two and a half hours away; working there really is worth it. All the people there are great, and my job is lots of fun.
So, I have not really been working on many projects for quiet some time, so today is actually the first day that I started working on some of my new upcomming releases.
Just can’t wait to find a place to live in Sydney 🙂
A few months ago, when I started working on MyBanco, I wrote a special RPC, or Remote procedure call protocol, a network protocol that allows a computer program running on one host to cause code to be executed on another host. This protocol, which uses HTTP/HTTPS and JSON is called MyInfo.
MyInfo was designed so that it could be used for anything, and be self-documenting. It’s not perfect (yet), but it does work.
There is a small typo around line 115 of backend/Plugins/transfer.php, where a line that says:
$SQL = 'INSERT INTO `myinfo`.`temp_data` (
should actually say
$SQL = 'INSERT INTO `temp_data` (
You can either change this typo manually by hand, or download the patch from my patches folder my MyBanco.
|mybanco-0.05-bad-query.patch.md5||15-Oct-2008 07:52||md5 checksum|
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.
More about it later 🙂
Ever tried to register a domain name, and realise, there is nothing that identifies something small? I mean, sure, there is .com for commercial enterprises, and there is .net for big network (companies) and even .org for national/international organisations, but what about if you want to do something… small?
Well, your good friend is now here, the .micro. dotMicro is a new top level domain (TLD) that is hosted on OpenNIC that is open for business to anyone that has something micro to share. Wether it be a local economy or a small micronation, even a microuniversity! It can all be given a name thanks to OpenNIC.
How do I get the .micro top level domain? Well, it’s simple, all you have to do is get your computer to use OpenNIC domain name servers (see the client setup guide here). Boom, there it is! What, did you expect to be hard?
But the fun just doesn’t stop there! Any domain that you register on .micro has the best possible price tag on it. Free. That’s right. You pay absolutely nothing for the priveldge of owning your own dotMicro domain! So what are you waiting for? Get out your favorite brower, and go register your .micro domain today.
I have always wanted to be able to write my own software to run a stock exchange, but I have never been able to get a full grasp on how the whole stock exchange system worked. I always had been left with many questions.
- How exactly are the prices decided of the buying and selling of shares? Say I own 50,000 shares, and you own 25,000 shares, but you want to buy another 25,000 shares – how is that price determined?
- How would selling be done? Say I want to sell my 50,000 shares, what if no one wants to buy them straight away? Does the price rise or fall?
- Do I get to say how much I want to sell my shares for?
- Are you able to put down an order for 25,000 shares and wait until someone else sells shares? If so, are you able to set the price that you want to buy at?
The market determines arbitrarily the price that shares are sold to the buyer for. Say you’ve got a range of prices that different people are willing to buy shares for. The first guy selling shares will go to the guy paying the highest price. The one coming after will have to sell to someone who’s only willing to pay less.
Say you’ve got a range of prices that different people are willing to buy shares for. The first guy selling shares will go to the guy paying the highest price. The one coming after will have to sell to someone who’s only willing to pay less. Brokers only automate this process.
If you are buying shares, you’ll want to buy cheap first.
Say for example, you have two people. Person one has 1,000 shares for sale for $1.50 /each and person two has 1,000 shares for sale @ $1 /each. If I wanted to buy 1,500 shares, the price I would pay would be:
So my buying price per share would not be $1 or $1.50, rather it would be $1.17 each.
How would I go about recording buy prices, so I can make funky graphs like Yahoo Finance / Google Finance does? Basically, I would record all transactions that occur, like the purchage above that I did for $1.17 a share, and then have the computer work out the average price of all transactions done in every say, 1 hour. Once I have all these averages, I just plot those numbers on the graph.
How would I go about automating buying shares if no one is selling anything? Well, there is margin buying, which is buying shares with money that you don’t have. Also, there is short selling, where you are selling for money shares that you don’t have, but there is not really an economic concept for buying shares that don’t exist. There is no real to implement on a small scale anything like margin buying or short selling.
special thanks goto Ari Rahikkala
This text has been translated from an article written in freiesMagazin 10/2008 page 60. The article was written by Marcus Schulderinsky
For a project to be successfully managed and to be available on the internet, it needs a website and various small tools. The so-called project-hosting “has to have all the services required together and do not require the installation and maintenance of these services.” The problem however is not that such a platform is hard to find, but finding one that matches needs from a variety of sites to choose. For my first “big” project, I needed a hoster who could provide me with the services I required, and finally I had a small selection which I could choose from, which I will test this series. Unfortunately, it is not possible, the systems for large medical teams to test, but for “small” developers like me, I try the right solution.
ShareSource is a relatively new open-source project hosting platform, it was launched on 22 July 2007. It was created to be the “perfect” platform for developers to use. While only in version 1.98 – the ShareSource team try to ensure that it is as easy to use. Special emphasis was on good support from Mercurial, which is next to Subversion version control system than can be used. The only one downside is that ShareSource lies only in an English-language version.
Register and Login
In the website (link), you can register and once registered you get an e-mail with an activation link. You can now login with your new user name and password or your OpenID.
The management interface
The administrative interface is simple and clear design. ShareSource however does miss a few opportunities, such as information regarding the ability to make, for example, other developers be able to see what programming languages are being dominated [is this a correct translation?]. This would allow the formation of (international) development teams to be simplified. But unfortunately you can only here to change the password.
Create a new project
To create a new project, simply click on “add project”. Now you will be greeted with a short introductory welcomes held that describes the various services and pointed out that one of ShareSource’s licenses must be used if the project is to be created. The next step will be invited to give a brief project name, for example, “Firefox” or “KDE”, enter. Thereafter, the full name is required, such as, “Mozilla Firefox” or “K Desktop Environment”. You then can select the desired open-source license. The choices are GNU General Public License, Mozilla Public License, Qt Public License, Artistic License, Open Software License and many more. Then you should be project briefly describe and define a category. Now it takes a loud indication about 48 hours before the project administrator is running. In the test, this was even happened the next day.
With a click on “Project Administration” on the side of the project, the administrator can manage the various services that are available to the project.
First, you should repeat the Options button, which is behind, “Project Administration” Main information “to hide, such as what services a user can view, edit the description or the name used programming languages.
Messages and files published
Next would be a new message about the project entirely appropriate, therefore, Project Administration “news”. However, if it is a project without data, this is relatively useless, so you need to have the appropriate upload files. This should be a “package” (a kind of publication, for example, “release” or “testing”) for support. Then you should set up a version, for example, 0.1, and all files in the program as an archive on the website upload.
Upload photos Screen
Now would be a few screen shots of the software worth seeing. For this you click on “Project Administration” Gallery “and loads a new image with a short description high.
The wiki create
Any good project needs its documentation and a Wiki is doing good services here: this you click on “Project Administration” wiki “and within a short time it has created a new main page. If you are finished, one searches in vain for a button for a new page. Putting on the main page to link to one that does not exist yet, it is a question mark next to the link. Now click on the question mark, to get to the page and can edit them. In this way can be Create the wiki completely.
The mailing list
Next is a mailing list handy. A new mailing list is simply the ‘Mailing List Manager is created. This requires you to, add a mailinglist “button and the desired data. After we now have a new mailing list, you can below, Manage a mailing list for a few settings.
A tracker for bugs and wishes is automatically activated. If it is not covered, “Project Administration” Main information.
Statistics and repositories
As we now have a website on ShareSource.org up, is described below. You can now have the statistics, Project Administration “Statistics” and look again to devote programming. When one works in a team, but it is appropriate, or even subversion Mercurial set.
Apart from the project site, you can still create a Web page. These can be relatively easy to create, you must see the HTML pages into a new repository with the name, “www” upload. The site is shortly thereafter (5-10 minutes) at the address http://PROJEKTNAME.sharesource.org/ reachable (link). Upon request, PHP can also be activated.
Errors in the system
ShareSource, still has a a few small errors, however, these are not noticed in the test. The only problem is that no one with Firefox can add tags for his project, but this works fine with Opera. For smaller problems the administrator can always be easily contacted via IRC (see below).
The community around the hoster
On irc.sharesource.org in the channel #sharesource, it’s nice to get help. If you have questions to the administrator, you should be aware of the eight hour time difference, since Tim “timgws” Groeneveld, the administrator, lives in Australia.
The big problem of ShareSource is probably in its awareness, because ShareSource is not quite so well known (Google Pagerank: 4) like other Project hosts (SourceForge, Launchpad, BerliOS) it has some “dead” projects.
Conclusion and other peculiarities
One of the peculiarities of Share Source counts especially the small, but very friendly and fast community. An extremely dedicated administrator also fulfills special wishes and little simple fixes problems very quickly. Furthermore, in an interview timgws (see below) Mercurial is repeatedly noted, because ShareSource is able to use it so easily.
However, ShareSource does not yet have very well definied acess lists. The rights for the administrative area is not very flexible. There is, “none”, “Basic” and “ALL”. There is unfortunately not yet any more precise settings. It would be interesting for example, if it would only be possible that only a GUI designer would be able to upload screenshots.
ShareSource is still wonderful for smaller programs, because it is uncomplicated and easy to use.
Free Magazine -> How would you describe Share Source?
Tim Groeneveld <- ShareSource is a site for the software development team. We (Jordan “webs” Bracco and I) had problems with other sites like SourceForge or Launchpad and did not,’ find the “perfect” project host. ShareSource is our idea of a truly open development platform.
-> Was that also your motivation to administer ShareSource?
<- I love open-source software and I try to do everything possible to ensure the further development. Most people here see this hopefully. * grins *
-> Why should we ShareSource for this project use?
<- Good question. As I said, this was the site developed for myself and webs, so we no problems with the version management system could develop, which we liked best. We also wanted to be able to support well Subversion and Mercurial.
-> Speaking of Mercurial, what are the strengths of version management?
<- You can have its source outside of ShareSource. That means that you check the current status offline, make any changes to it, and then commit it after a year later. Moreover, it is really fast and platforms. In comparison to Git, I like the ease of use, simply enter hg serve and get a Web interface that allows you also can manage the changes.
-> And what kind of uses Share-source developers?
<- Cool developers? No, seriously. I think developers who love their freedoms. For one thing, ShareSource is Open Source, on the other hand, everyone can have the source code, not the platform on which they host. In addition, we aim, to improve our services, and do not exist to profit.
-> Is there still something to the conclusion that you want to say?
<- ShareSource is obviously not perfect, but it can only get better.
-> Thank you for the interview.
<- Thank you.