Lately I’ve been doing a bunch of product development for WLMLabs.com including a couple of quite different apps for Google Play and the App Store
Author Archives: lmjm
Relish.net Downtime/Issues
Last update: 29 July 2015
I’ve had some downtimes/issues on my Relish.net connection and wanted to track them (these are reported by a two different checks run every five minutes to monitor the connection)
Most of the time everything is fine and with the 3 to 4 bars of signal showing on the router I get around 24 Mbps download (often as high as 30 Mbps) – UPDATE: see the July 29 2015 entry below
Unless an entry says otherwise “lost internet” means I couldn’t ping outside beyond my router but had signal. “soft reboot” is rebooting the router via its management web page. “hard reboot” is powering the router off, waiting for 10 seconds, powering it back on.
- August 10: Lots of weird issues connecting to sites. Turns out the DNS server in the router had stopped working reliably. A soft reboot fixed it.
- August: My network speed sometimes recovers without me doing anything.It effects my wired machines so its not wifi congestion. So I’m guessing its a network or router issue?
- Wed July 29th – I was away for a few weeks and on my return found my connection had slowed down. Now with 4 bars of signal I get around 5 Mbps. I’ve tried repositioning the router, restarting it… but thats the maximum I can achieve. I’m wondering if the Relish network is saturated?
- Sun May 10th 23:00. Too slow to be usable even with 4 bars of signal – soft reboot fixed it.
- Sat May 9th 23:00. Too slow to be usable even with 4 bars of signal – soft reboot fixed it.
- Note I was away for most of April visiting my girlfriend in the US
- Sun March 22nd midnight. Too slow to be usable even with 4 bars of signal. Working online and pressed for time so did a hard reboot
- Wed March 18th 22:21. Too slow to be usable even with 4 bars of signal. Tried a soft reboot but afterwards system was still too slow and now only had one bar of strength. A hard reboot fixed both issues.
- Tue Feb 17th 23:30. Lost internet. Router said it had lost signal which was unusual. A soft reboot didn’t fix it so had to hard reboot.
- Wed Feb 8th 23:30. Lost internet. Router said it had lost signal which was unusual. A soft reboot didn’t fix it so had to hard reboot.
- Tue Feb 3rd. Lost internet – soft reboot fixed it. I was working online so I didn’t wait to see if it fixed itself.
- Wed Jan 21st. Lost internet – soft reboot fixed it. I was working online so I didn’t wait to see if it fixed itself.
- Wed Jan 14th 2015. After almost a month of uptime a problem: Lost internet – soft reboot fixed it. I was working online so I didn’t wait to see if it fixed itself.
- Thur 15th Nov 2014 23:00-23:15 Internet was up but was very slow (as low as 100Kbps) and web pages started timing out. I was using the internet so couldn’t wait to see if it self fixed. Soft reboot fixed it.
- Tues 4th Nov 11:45-11:55 Lost internet – soft reboot fixed it. I was working online so I didn’t wait to see if it fixed itself.
- Fri 10th Oct 00:20 – 00:50 Lost internet – hard reboot fixed it. Wasn’t at home so couldn’t try anything else.
- Sun Oct 5th 8:00 – 8:15 Lost internet – soft reboot fixed it. I was working online so I didn’t wait to see if it fixed itself. After reboot only had two bars and speedtest.net showed the rate at 10 Mbps (half its usual speed). At 8:50 speed still hadn’t recovered – moved the router a couple of inches and it dropped to one bar. Moved it back to its original position and now it had three bars and speedtest.net shows 20 Mbps.
- Tue Sep 30th 17:20 – 17:30 Lost internet – soft reboot fixed it. I was working online so I didn’t wait to see if it fixed itself.
- Mon Sep 29th 21:12 – 21:28 Lost internet. Tried a hard reboot but made no difference. Eventually it fixed itself but when the network came back speed had dropped from its usual 20 Mbps to 3 Mbps which was so slow connections were failing, web pages were timing out. Speeds slowly increased and by 23:30 was getting around 14Mbps. By 1 am (at the latest) it was back to normal.
- Sat Sep 20th 10:30 Lost internet – soft reboot fixed it.
- Sat Sep 20th 01:20-7:00 Lost internet – hard reboot fixed it (was a bit bleary so forgot to try the soft reboot first).
- Mon Sep 15th 00:00 – 8:00 (approx) Lost internet – fixed itself. See also the note below. The power was out in my building from 8 – 10 (yes it was one of those days) so I don’t know exactly when it recovered.
- Sat Sep 13th 11:05 – 13:50 (2 hours 45 minutes) Lost internet – fixed itself
- Sat Sep 6th 18:56 – 19:20 (24 minutes) Lost internet – fixed itself
On the Mon Sep 15 outage I called Relish customer care. Talking to the helpful people at 1am (I really like that they have 24 suport) at their suggestion I tried power cycling the router, removing and re-inserting the SIM, resetting the router… But none of this helped. So its possible the outage is due to a Relish base station problem of some kind. I had a look but couldn’t find a Relish.net status page. Followup: 15 Sept got a call from Relish.net checking that the problem has been resolved for me and confirming that it has been a network outage. Pretty nice of them.
Note: almost always the problem is fixed by soft rebooting the router which suggests that the problem is in the router not the network or signal or anything else. I’ve looked for an alternate router but not found one yet. If you know of one please contact me
Please enter your contact details and a short message below and I will try to answer your query as soon as possible.
Relish.net vs Webcams
I have a webcam so when I travel I can keep an eye on my place. A webcam is one of the few things you might have at home that you connect into from the outside world.
Relish.net, unlike most ISPs, does not allow ordinary non business users to connect in to things like webcams.
Having a dynamic hostname (from somewhere like dyndns.com) will not help. Yes you can find your home IP using it but the Relish internal network will not allow the incoming connection.
This is a pretty big failing on the part of Relish. I can get by without my webcam but what about people wanting to access their PC while travelling or access a media server (like Plex)…
So if you are considering Relish bear in mind this limitation.
I just called Relish and they only offer a static IP on their business broadband. On their website the business offering starts at £25 elsewhere I’ve seen that a static IP adds £5 more and there is probably VAT on top of that. So to access my webcam would add £16 a month and a 12 month contract!
Geek advice: setup a vpn or an ssh tunnel
Relish.net an Alternative to ADSL
Since I moved to Canary Wharf I’ve had intermittent problems with my ADSL. Mostly its OK. But sometimes for days the speed will drop from 6 Mbps down to 1 Mbps or worse. It will stay like this for a couple of hours or sometimes a few days. Apparently this due to the line or exchange or something that several BT engineers were unable to fully fix although they did work hard to solve it.
I guess I shouldn’t complain because a large part of the Isle of Dogs has such slow ADSL that dial-up is faster (sadly not an exaggeration).
My block is wired for FTTP (Fibre To The Premises) but most ISP’s are only geared up to sell FTTC (Fibre To The Cabinet) so if FTTP is available at all its usually pretty pricey or has a lot of limits or both. BT have a competitive offer for FTTP but on an 18 month contract which seems way too long to me.
Then a short while ago I saw Relish.net advertised at the Wharf . Its unlimited and there is an option for a month at a time contract so I decided to give it a whirl and a few days after ordering it the router arrived and was installed in just a few minutes. It uses 4G/LTE technology rather than a fixed line of any kind. So installation is plugging into the mains!
Thats where the fun starts. Relish have a postcode based checker on their site which estimates the bandwidth you’ll get. They estimated 30 Mbps and on turning on the router I was getting 24 occasionally drifting up to 30. Since I’d just sat it down on an empty space on my desk I thought I’ll try moving it around to get a better signal.
By some weird coincidence that one spot I first sat it down in is the best signal by far! If I move it as little as an inch in any direction the rate can drop down to 8 Mbps or worse. Not sure why its so location sensitive but its something to be wary of.
Relish don’t offer a static IP to home users (only to business users) so I used dyndns.org to get its address so I can connect in from outside. Although there is a dyndns client built into the router unfortunately the way the Relish network works meant the built in dyndns client registers the wrong address. So I disabled it and ran up a client with more options on one of my servers.
After a few days of use all seems well with it. The download speed is a little variable but is still such a huge improvement over what I had before.
Android and iOS Mobile App/Game Software Development Kit’s (SDK’s)
Name Targets Cost for Commercial Developer 2D/3D High Level Scripting Language Animation/Tweening Device Camera Native Menus, Buttons... Own Native Plugins Documentation Book(s) Notes
AppGakeKit Android, iOS, Blackberry, Windows, Mac OS One off $69 2D & 3D C++ Extended version of Basic Animation Yes No Hands On AGK BASIC
Monkey Android, iOS, Blackberry, Windows Phone, Windows, Mac OS, Linux, XNA, Flash, HTML5, PSM, OUYA Free No Extended version of Basic Animation & Tweening via 3rd party framework called diddy No Translates from Monkey to source for target.
Shiva3D Android, iOS, Blackberry Playbook, Nintendo Wii Shiva Editor $400 per machine 3D C++, Objective C Lua Animation Yes
Gideros Mobile Android, iOS Free with their splash screen, $149 Lua No Yes
Marmalade Android, iOS, Windows Phone, Blackberry, Windows, Mac, Smart TVs 2D & 3D C++ Lua Animation C++ yes, Lua no C++ yes, Lua no
Qt 5.2 and newer Android, iOS Free C++ Qt Qt Quick & QML - javascript like
v-play.net Android, iOS $14/month C++ Qt Qt Quick & QML Qt 5.2, Builds only on their server
MoSync Android, iOS €199 per seat C++
Corona Android, iOS Free - limited, basic $16/month (Enterprise $79/month) 2D Enterprise package only Lua Yes Yes Only with Enterprise Lots! Builds on their server (for offline build buy at least Enterprise)
Unity Android, iOS, Blackberry 10, Windows Phone, Windows, Mac, Linux, $225/month or $4500
Useful links
Servers, stacks and clients
One of the biggest issues I’ve yet to get across to my colleagues is how in massively multiple systems (like Private Planet) you cannot think of the system as a collection of discrete components. You have to realise these all interact in complex ways. How the client talks to the server can deeply affect how the server performs. The protocol stacks use to carry messages are not just a minor component they have deep and widespread impact on both how the server and client works. How the server makes database queries will affect its design and reliability.
And unless you have a bottomless pit of money to spend on your server you need to get the overall design right for your client-server application right. Failure to do so can result in the server being swamped with work unnecessarily.
Mobile Game Development
I’ve worked on business apps for mobile but never games. So a while back I decided to look into what was available for multi-platform development.
I already knew about Marmalade (formerly AirPlay) which is a pretty powerful C/C++ system that can target a wide range of mobile platforms. Last year they also introduced Marmalade Quick which was a 2D gaming platform based around Lua with some of the full Marmalade system underneath. But its a little expensive and there is a lot to learn. Quick is clearly targeting the gaming market and skips any features most gamers dont user. It can be extended but only if you know the SDK well.
Corona is one of the most popular. Its Lua based but with builds done on the Corona servers. But isn’t extensible unless you spend a lot on your license (enough to pay them to extend it for you).
Came across two that look promising: Gideros and Monkey
Gideros on paper looks like Quick or Corona except a lot cheaper (Lua based but local builds). But it comes with a plugin system so you can extend it yourself.
Monkey is an odd one. The programming language is based on Blitz (a descendant of Basic but extended all the way up to classes). Instead of having a Blitz interpreter for each target it cross compiles into a source code project for the target. Because of this is supports a very wide range of targets. The downside is for each target you’ll need to install its dev kit. Its very competitively priced.
I’m going to work on a simple project in both in my (sarcasm on) copious free time (sarcasm off) and see how they compare.
Marmalade Quick on the Mac
I was looking to develop a fairly simple app and thought Marmalade Quick would be a good starting point.
It can target multiple platforms (Android, iOS…) and I can develop on my Mac. It allows the app to be written in Lua and provides a wealth of other libraries.
I had a Marmalade license and so downloaded and installed Marmalade v7.1.0
In the past I’ve used ZeroBrane Studio, an IDE for Lua. So first thing after installing Marmalade I started Marmalade and in other Other Tools found ZeroBrane Studio Lua Editor and clicked LAUNCH. A terminal window popped up and clearly tried to start ZeroBrane Studio but instead printed an error.
So I tried running ZeroBrane Studio from my existing copy in Applications. I copied an example from within Marmalade to my Documents. Then in ZBS Used Project > Lua Interpreter to select Marmalade Quick. Then opened main.lua, set the project direct and tried to run the app… lots of errors from Marmalade…
Google’d for the errors but nothing relevant found… sigh.
Guess Windows might be a better platform at the moment!
Server Side Needs its own Language
After spending years working on the server side of cloud software I’ve yet to find a really good solution. Tools and libraries help to overcome some of the lacks but are only a stopgap measure. What I really want is a high level language that addresses the needs of big, C10K, server side.
I want:
- data structures that map seamlessly onto databases
- data structures that have locking built in
- stateful objects that can be started on a thread, suspended and later restart on another thread
- direct interfacing to RPC’s
- … more to follow
Given I’m grossly overworked already I doubt I’ll have time to work on this at the moment but maybe in the future