Friday, 1 July 2016

WhatsApp on the iPad, advert free!

There is no official WhatsApp iPad app, its frustrating. What's more frustrating are the apps in the app store which allow you to access the WhatsApp website while looking at adverts and dealing with pretty bad lag. Here is a method to get WhatsApp working on iPad by using Google's Chrome browser.

1. Load up Google Chrome and go to https://web.whatsapp.com/ , it will take you to their homepage

2. Click on the Chrome menu and choose "Request Desktop Site"


3. Scan the QR code with WhatsApp on your phone, enjoy!

Saturday, 1 March 2014

Raspberry Pi Baby Monitor with IR Camera

I wanted to build a video baby monitor, using a Raspberry Pi and Android Tablet. For now it is video only, I'm looking to add audio via a USB microphone in the future. Here is what happened..

Acquire Hardware

After a bit of Googling here is the parts list I came up with, where I had to buy things I have included links.

Put the hardware together

  • Solder LEDs to stripboard, 4 LED series sets, in parallel.
  • Solder Power LED cable to the stripboard (I used this as the connectors fit onto the GPIO port).
  • Drill holes in stripboard to fit the camera case, and Pi case.
  • Cut out corner to leave space for the GPIO cables.
  • Assemble camera into case and bolt to the stripboard.
  • Connect 5v to the GPIO (pin 2 and 6)
  • Assemble Pi and Camera into their cases, bolt it all together.
  • Trim bolts down.

The Software

While setting up the software I plugged the Pi into a monitor, using a hub to connect the keyboard and wifi at the same time. My hub seemed to be having a good time ;) I'm no Linux Guru, this setup is the result of 3 evenings of trial and error. I'd welcome any suggestions to improve efficiency (there is roughly a 2 second lag on the video output)
  • Install Raspbian - http://www.raspberrypi.org/downloads
  • On the installer screen:
    • Expand filesystem
    • Enable camera
    • Enable SSH
    • Finish!
  • Get the Wifi working
    • wpa_cli
    • > add_network (it will return a number which we'll refer to as 'x')
    • > set_network x ssid "Your Network SSID"
    • > set_network x psk "Your Network Key"
    • > enable_network x (it will then connect to the network)
    • > save_config
    • ctrl+c
  • Wifi is now configured to auto connect with DHCP, I use my broadband router to reserve IP addresses so I can now connect to the Pi knowing the IP.
  • Make sure everything is up to date..
    • sudo apt-get update
    • sudo apt-get upgrade
  • Install Screen and VLC
    • sudo apt-get install screen vlc
  • Disable the camera activity LED:
    • sudo nano /boot/config.txt
    • add : disable_camera_led=1
    • Save/exit
  • Launch the camera streaming at startup. After a lot of experimenting this uses raspivid and VLC to stream the video. These parameters provide nice performance with a good frame rate. Experiment with the startup string to suit your own needs.
    • sudo nano /etc/rc.local
    • insert this line before 'exit 0'
    • screen -dmS webcam bash -c "su -l pi -c 'raspivid -w 440 -h 240 -hf -vf -t 0 -o - | cvlc -vvv stream:///dev/stdin --sout \"#rtp{sdp=rtsp://:8554/pi.sdp}\" :demux=h264'"
    • Save/exit
  • Reboot, camera should auto start..
  • From VLC on your tablet/PC, load the following URL:
    • rtsp://IPOFYOURPI:8554/pi.sdp
  • I also found the software 'anPlayer' useful as VLC does not store/bookmark URLs

Friday, 20 December 2013

Transformers Legends/Mobage Rip Off!

This is a little off topic but is really 'grinding my gears'. Transformers Legends is a mobile game which I play on Android (I believe it is also available for iOS devices). It is a trading card game based in the Transformers universe. The idea of the game is to assemble a virtual 'deck' of virtual 'cards' representing various Transformers characters. All good, up to this point. It is an enjoyable casual game which doesn't demand a very large time commitment, and is easy to play and put down. As with any 'free' mobile game the publisher has decided to make a living from micro-transactions within the game. Again nothing strange here, except when we come to the prices..

Oh look, a chance to buy a high spec card at a reduced price!
Yes, we all know who Megatron is, this sounds good!


Ah, we need 6000 'Mobacoin' to buy the cards, that's ok, the game is enjoyable, lets support the developer this time.
WHAT THE! £39.99 and I won't even have enough 'Mobacoin'??? That's right, over £40 for 3 DIGITAL trading cards!

I can't be the only one who thinks this is utterly ridiculous, such a large amount of money for 3 pieces of digital artwork. I can only hope that any parents who let their children use this game have not left their payment details on the device inadvertently! 

Wednesday, 4 December 2013

Selling Bitcoin / Litecoin on eBay, an eBay Live Help Transcript

Given that GPU mining Litecoin seems to be financially viable at the moment I've been researching different ways to cash in the coins I create. One obvious place is eBay although the seller can be at risk if the buyer later disputes the transaction and no physical goods have changed hands. I wondered what their stance would be if the coins were placed on a USB drive and posted out. This is how it went down...

UPDATE: 10 Dec 2013, this article was mentioned on the great Crytocurrency website Coindesk :) eBay Loophole Allows Sale of Bitcoin

UPDATE: 13 Dec 2013, now also on wired.com! How to Sell Bitcoins on eBay Without Getting Fleeced? Use FedEx

ebay rep1
Welcome to Live Help, my name is Sarah. How may I assist you today?
Me
Hi there, i'm interested in selling crypto currency on ebay, such as this http://www.ebay.co.uk/itm/10-LTC-Litecoin-litecoins-lite-coin-not-bitcoin-feather-etc-/271338827885?pt=UK_Coins_World_RL&hash=item3f2d0df06d. I'm aware that the seller is at risk if physical goods are not transferred, so I wondered if the coins were placed on a USB drive and then posted with proof of delivery, would this be sufficient to receive seller protection?
ebay rep1
Please give me few minutes to check this for you.
Me
thank you
ebay rep1
Thanks for waiting. With regards to get a clarification for this, I need to transfer this chat to our concern department. May I go ahead and transfer this chat now?
Me
ok thanks
ebay rep1
Has transferred you to:ebay rep2
ebay rep2
Thank you for contacting eBay Live Help! My name is Melissa. Please give me a moment to review what you've discussed with the previous representative.
ebay rep2
Thank you for patiently waiting.
Me
that's ok
ebay rep2
I apologose for the long wait as I've checked this situation, for you.
ebay rep2
Hello Roger. Good morning.
ebay rep2
Firstly, I appreciate your time contacting us regarding this matter. Don't worry, I'll do my best to assist you on this issue.
Me
thanks
ebay rep2
And to further assist you on this situation, I will need to direct you to the relevant team so you can get better assistance on your query.
ebay rep2
May I go ahead and transfer you now?
Me
yeah sure, must be a complicated query!
ebay rep2
Thanks for confirming. Please stay online while I connect you to them.
ebay rep2
Has transferred you to:ebay rep3
ebay rep3
Welcome to eBay Live Help, my name is John. How may I be of assistance?
Me
Hi John, can you see the chat history up till this point?
ebay rep3
Hello, Roger.
ebay rep3
Due to technical issue on my end, I’m unable to see previous chat transcript. I apologise for this. Could you please summarise your question? 
Me
Hi there, i'm interested in selling crypto currency on ebay, such as this http://www.ebay.co.uk/itm/10-LTC-Litecoin-litecoins-lite-coin-not-bitcoin-feather-etc-/271338827885?pt=UK_Coins_World_RL&hash=item3f2d0df06d. I'm aware that the seller is at risk if physical goods are not transferred, so I wondered if the coins were placed on a USB drive and then posted with proof of delivery, would this be sufficient to receive seller protection?
ebay rep3
Yes, if you’re delivering the item in physically condition and also keep proof of postage, you will be covered under Seller protection.
ebay rep3
Moreover, to safe guard a sale on eBay, you may:

- Post the item only after you track payment in your PayPal account.
- Get confirmation about the delivery address of the buyer before posting the item.
- Provide the tracking number to the buyer for the item that you post.
- Keep proof of postage.
- If necessary, also take postal insurance for the item that you post. 
ebay rep3
You can also visit the below given link to check how you’re protected as a seller on PayPal:
ebay rep3
Me
oh that is good to hear, thanks for your help :)
ebay rep3
Thank you for appreciating my assistance :)
ebay rep3
You're welcome. Is there anything else I can assist you with today?
Me
Looking at the terms it does say that "items equivalent to cash (including, without limitation, gift cards)" would NOT be eligible, so should an auction listing be presented for example as 'USB Memory Stick with Free Litecoin Wallet' ?
ebay rep3
Yes, you can sell this item like USB Stick with Free Litecoin Wallet or have the title as Litecoin Wallet free in USB stick
ebay rep3
I think the best title will be as Litecoin Wallet free in USB stick as when member will perform a search with the keywords Litecoin Wallet, your listing will appear soon. 
Me
great, thanks for confirming!
ebay rep3
You're welcome. Is there anything else I can assist you with today?
Me
No that's everything, thanks again.
ebay rep3
You're welcome again. Thank you for contacting eBay Live Help.
Chat Session Ended, Goodbye. (5010)

Saturday, 19 October 2013

Debugging PHP for FREE with Netbeans/XDebug/PHP

For a long time I've been looking to replace Dreamweaver as my main development tool, recently I've been trying various different programs such as PHPStorm, Sumlime Text. One feature I really wanted was the ability to step through and properly debug PHP code. Netbeans is a free IDE which supports this feature.

I've spent quite a lot of today getting XDebug to work with Netbeans on Windows 8.1, most of the help I found online was incomplete so I've decided to compile it here into a guide that works (at least on my workstation!).



  1. Download and install the Java runtime (I used version 7 update 45).
    http://www.java.com/getjava
  2. Download and Install Netbeans (I used version 7.4, HTML5 & PHP option).
    https://netbeans.org/
  3. Download PHP 5.4 zip file and extract to "d:\php" (I used "VC9 x86 Non Thread Safe"). Make sure to get a Windows Binary zip file.
    http://php.net/downloads.php
  4. Download and install "Visual C++ Redistributable for Visual Studio 2012", (get the x86 version regardless of your PHP choice)
    http://www.microsoft.com/en-us/download/details.aspx?id=30679
  5. Download the version of XDebug which corresponds to the version of PHP you downloaded, place the DLL file in your "d:\php" folder (I used "PHP 5.4 VC9 (32 bit)")
    http://xdebug.org/download.php
  6. Create a "php.ini" file in "d:\php" and populate it with the following (replace YOURDLLFILENAME with the precise filename of your XDebug DLL. Mine was php_xdebug-2.2.3-5.4-vc9-nts.dll). :
    zend_extension=YOURDLLFILENAME
    output_buffering = Off
    date.timezone = Europe/London

    [xdebug]
    xdebug.remote_enable=on
    xdebug.remote_handler=dbgp
    xdebug.remote_host=localhost
    xdebug.remote_port=9001
    xdebug.remote_autostart=1
    xdebug.idekey=netbeans-xdebug
  7. You can now test the PHP install by running the following from a command prompt (note the capital S!):
    D:\PHP\php -S localhost:80

    Assuming that works, push Ctrl+C to stop the service, then type 'exit'.
  8. That's everything installed, now on to the configuring. Open Netbeans!
  9. In Netbeans, go to Tools > Options > PHP > General, on this tab set 'PHP 5 Interpreter' to 'd:\PHP\php.exe'.
  10. In Tools > Options > PHP > Debugging. You shouldn't need to change anything here, the important thing is that 'Debugger Port' matches 'xdebug.remote_port' in your 'php.ini' and that 'Session ID' matches up to 'xdebug.idekey'.
  11. Create a new project, or edit the properties on an existing project. The important setting here is 'Run Configuration'. Make sure that 'Run As' is set to 'PHP Built In Web Server', Hostname is 'localhost' and Port is '80' (this doesn't have to be 80, but it must be different to the port used to send debug data).
  12. The project must have a file called 'index.php'. Create the file, enter some code and create a breakpoint (Ctrl + F8).
  13. Cross your fingers and start 'Debug Project' (Ctrl+F5) a browser window should pop up, and your code should stop at your specified break point. The Windows Firewall may pop up at this point, you don't need to grant any access for the local debugging to work.
This post was compiled from quite a few answers found on Stack Overflow, as well as some of my own experimentation/research.

Thursday, 3 October 2013

PHP MVC Framework

I have started work on a PHP based MVC framework for education and fun! Once it has enough features I will be basing my personal sites on the framework.
SuperMVCFramework on GitHub