Experience with bitcoin atm in singapore

So I heard that singapore has installed its first bitcoin atm machine in the city – kudos to coinrepublic. Operating the machine was dead easy. I had a go at it – Keep up the good work guys.

The machine was installed at 29 boon tat street (inside Bar Tini). There was a big 31 boon tat street sign beside the shop.

IMAG0218

IMAG0219

This was how the atm looked like.

IMAG0220

The user interface was dead easy. I thought of selling some bitcoins for a trial.

IMAG0002

So I decide to purchase $1000 sing dollars worth of bitcoins. It would cost me 1.748 btc. Looked like the fee was 5%. Thanks to china for bringing the rate down.

IMAG0221

IMAG0222

The atm dispensed a ticket consisting of 2 qr code. The code above was the wallet address to send to. So I used my blockchain app on my phone to send 1.74 btc to them.

IMAG0223

I scanned the bottom qr code to check if the payment has been made.

IMAG0224

Noped. I was to fast. I needed to wait for the transaction to be verified. I needed at least 1 verification.

IMAG0225

5 mins later, I scanned again.

IMAG0226

It went through this time round.

IMAG0227

and I got the receipt.

IMAG0228

IMAG0229

and of course the money! all in 10 dollars note!

IMAG0230

Welcome to the future of currency.

Adding / Embedding signature with images in gmail

Creating a nice signature in gmail with graphics is cool but there are some tricks to get it to work. It is easy if you link the image source to some url, ie , <img src=”http://blarblar.com/my_pic.jpg”/>. To do that, design your signature in html and open it up locally in your browser. select the whole signature and copy it, then go to gmail -> settings -> general ->signature and paste your image in there. Unfortunately, you can’t type html in your gmail signature settings, else things would have been easier.

Embedding images in your signature instead of getting it from a http source is better because it doesn’t allow people to hotlink your image. To do that, go to gmail -> settings -> labs -> turn on canned response. Now create a base64 version of the images (just google around for some tools that you can use) used in the signature, your image tag will look like this <img src=”data:image/png;base64,iVBORw0KGgoAAAANSUhEUg…”/>. Again, design your signature in html and open up your signature your local browser, copy and paste the html in gmail. Send this mail to yourself. Now that you have receive this mail, forward it to yourself and you will get an option to create a new canned reponse from it. You have just created a signature template that you can insert in your mail in the future. Next time you reply a a mail, you will see a canned response option (a drop down icon on the lower right) for you to insert a saved signature, just insert the canned response after everything.

have fun.

running multiple mysql connections from localhost

sometimes you might need to connect to different db within the same app. The trick is that the username, passwd and hostname cannot be the same! The easy way out is to use username as root and password as nothing -> this will cause hours of grief.

another work around is to add another “true” parameter to mysql to indicate the connection is new.

$db1 = mysql_connect($dbhost, $dbuser, $dbpass);
$rv = mysql_select_db($dbname1, $db1);
$db2 = mysql_connect($dbhost, $dbuser, $dbpass, TRUE);
$rv = mysql_select_db($dbname2, $db2);

Now, $db1 should have selected $dbname1, and $db2 should have selected $dbname2.

Google Ads Error

sometimes you get script errors in your browser when you run google ads. It is most likely that you have flash in the ads.

Based on normal broadband speed, there is a very high chance that the full page is rendered even before the flash ad started downloading (as it gets redirected to a 3rd provider which needs to run through certain process before pushing the flash to our site -> then the browser need to call the flash plugin…blar blar). As a result, you will see spacing / layout issues near the place where the ad is. Again, if the flash is in the browser cache, user will not experience the layout issue.

sometimes, it can take a long time to debug the issue and most of the time, it is the fact that the flash or images are too big.

10 Checklist For Starting A Software Business

I am eager to write something based on my experience in the software business. Hey, it is a good reminder for me in the future as well!

1. Backup Plan

Do you have a software or script to backup both database and raw files regularly?

2. Failure Plan

What do you do when things fall apart? How do you retrieve the backups? What happens if there is a motherboard failure? What is the worst that can happen? What happens if the server is hacked?

3. Monitoring Plan

How do you monitor the cpu, disk usage? If using a software, what service do you need to monitor? How does the software alert you in times of emergency?

4. Upgrade Plan

Are you able to upgrade the existing software and hardware easily? What is the impact if you want to implement new technologies to your existing system?

5. Test Plan

Do you have a test environment? What do you need to do if you want to test new changes to the software or hardware?

6. Security Plan

Where do you store the passwords? Is there a centralised user authentication plan? Do you have different layers of defence if unauthorised user logins into the server? Restricted access to server room? Temperature control?

7. Collaboration Plan

What do you need to do in order of mulitple people to work on the same project concurrently? Do you have a centralised repository system?

8. Human Resource Plan

What happens if your lead developer leaves today? Do you have another person who can cover his/her duties temporarily? Do you have a knowledge sharing portal for other staff to pick up new skills easily? Do you leave enough room for developers to upgrade themselves? Is there a project manager? Is there enough accountability and who does what?

9. Documentation Plan

How long do you keep server logs? Does your software log what the user is doing and tells your enough when things fail? Do you write User Acceptance Testing Document? Is there enough end-user and developers documentation?

10. Budget Plan

Did you try to cost cut too much? Did you set aside enough budget for emergencies, software, hardware upgrades, social and drinks?

Project Manager Is Important

I was involved in a big project and our team couldn’t deliver the product in time. We went through a 3 hr debrief and everyone agreed that our biggest problem is the lack of a centralised person, ie a project manager to bring all resources together. We thought that was simple but often overlooked. In big projects, the project manager should do nothing except doing coordination work.

1. Get scope from client.

2. Understand resource needed.
a) Skills
b) Technology Needed (Hardware and Software)
c) People (who to be involved)
d) Scale (timeline)

3. Appoint Project Manager

4. Assemble Project Team – Individual Accountability

5. Regular Meetings, Discipline

Constantly review the scope and note of any changing requirements. Any change of requirements should reflect on the date of delivery.