Remote Recorder Sky login issues

I received a notification from a user last night saying that there were problems sending remote record requests because of a login issue. I just wanted to update to say that I have replicated the problem with my own account, and so I plan to work on fixing this issue this evening, as soon as I get home.

Based on a tiny bit of checking I think it should be a fairly trivial fix, but that’s without knowing the true details of the problem.

I will update again when I know more, and will get a working version on the Android Market as soon as possible.

Apologies for the down-time.

Pulitzer prize for a Twitter user

I am predicting that in the next year or two there will be a winner of a Pulitzer prize based on their Twitter updates. After doing some real research I have decided that the award given will probably be in the journalism section, using the following criterion:

“For a distinguished example of local reporting of breaking news, with special emphasis on the speed and accuracy of initial coverage, presented in print or online or both” from the PDF linked to above.

It’s pretty much got to happen, right? That whole criterion sounds like it was written specifically for Twitter.

Sky Broadband ADSL username/password hardware lock-in

NOTE:Β This post is very outdated. I’m no longer sure that the instructions would be correct, and the sites I linked to seem to be down now. I have modified the link to point to an archived copy of the page.

β€”Stu, 2016-12-24

I’ve been a satisfied customer of Sky Broadband for the last couple of years now. The router/modem you get sent is usually either rebranded Netgear or Sagem hardware, which is good. The problem with this hardware is that Sky modify it in such a way that they hardcode the username and password for the actual ADSL connection, and never reveal it to the users.

The other week my router decided not to work any more. Luckily I had a spare that my dad bought on eBay for Β£1 once. I plugged it in and that’s when I realised I didn’t have to enter any details to connect. Very strange. I contacted Sky to get a replacement router and I never got it. It was delivered to me, but I never went to fetch it from the Post Office because I thought I’d be fine with the spare. I regretted that decision last week when the spare died on me too. I now suspect a faulty power cable, for both to die in such a short time.

I contacted Sky and asked them to resend another one so I could connect again. I still hadn’t heard anything back from them by today, and I was getting bored, and fed up of using 3G on my phone for everything, so I went to Argos and bought myself a nice new Linksys router.

After I’d plugged it in I was prompted for a username and password for the ADSL. I typed in my Sky.com user details as they were the only details I thought would be even close to correct, even though I doubted that. When it didn’t work I did a little bit of a search from my phone and found lots of people with the same problem.

I decided to call Sky Broadband technical support to see if they could give me the information I needed to connect. I spoke to a very nice man on the other end of the phone who didn’t really have a clue what I was talking about. He kept saying that Sky can’t offer support for other routers, and I kept saying that I understand how a router works and I just needed my ADSL username and password. Eventually he said there was absolutely no way of him finding out any details that I could use to connect, and that by not using a Sky router I’d be breaking the terms and services. I told him that was ridiculous.

I then complained about ordering a router last week and not having heard anything back. He put me on hold and got one dispatched for me right away. Why had I been waiting so long if it only takes a couple of seconds?

After hanging up I did a bit more searching online and discovered that there way to find your login details is actually very basic. As long as you still have a Sky router/modem around somewhere you can use the details on the label printed on the bottom to generate the same details on this extremely useful website.

I entered the details for one of my Sky routers on the site, then entered the generated details on my Linksys configuration page and everything worked perfectly! πŸ™‚ I now have a working Sky Broadband Internet connection with a non-crippled router.

The only reason I can think of for this whole setup is to prevent Sky from getting support calls for problems that are nothing to do with their hardware from people who don’t know what they’re doing. This is fine for most people, but they shouldn’t be forcing people to use only their equipment. Sky should have a way of generating a username and password for users of non-Sky-branded routers, and they should provide them to customers who call and request them. It wouldn’t be that hard, and the people who would buy another router and configure it themselves are the people who are intelligent enough not to call Sky when something goes wrong with their Belkin router.

Lizz and I have broken up

Lizz and I have come to a difficult decision after both admitting to what has been there under the surface li: we’ve been drifting apart for a while now.

We chose to give things a good last try a couple of weeks ago. We celebrated our second year of going out with each other during this time. It was nice to reach such a long time, but we both realised that it still wasn’t working.

We had a conversation about everything recently and decided that we’d both prefer to have an amicable break-up now while we’re still friends than run the risk of leaving it for too long and end up hating each other. The next few weeks are going to be stressful for both of us, but we both think it’s the right thing to do, and that’s the important thing.

It’s always sad when a relationship comes to an end, but I feel like at least with us doing things this way both of us can be satisfied by the fact that we’re not arguing, and we’re resolving our issues with consideration for each other.

So yeah, two years together and it was a hell of a lot of fun! There are lots of fond memories there for me.

Some random highlights off the top of my head

  • Buying a house together
  • Going on holiday to various places
  • A first date at a science museum (we’re so cool)
  • Lots of gigs
  • Both of us getting new jobs
  • Living in one room, sleeping on an inflatable mattress just to be together
  • Trips to Ikea, buying so much furniture before checking it would fit in the car
  • Inside jokes like “Two slices”

There are far too many other things to list in full.

Sky Remote Recorder update for Android

I made some changes to my Sky remote record app for Android available on the market today. The changes are fairly basic, and are mostly there to make the user experience a bit better.

For example, if your recording fails then you receive a screen where you can choose to test your login details on Sky’s website to make sure you’ve got them correct, you can also view the help on my site, or open the preferences to change your username and/or password.

The update will make it much easier for people to be sure their details are correct and solve any problems they may encounter when setting up remote record requests with Sky.

How to Solve a Mystery in a Film

Before I begin I just want to point out that this post contains spoilers for a couple of movies that are worth watching: Drag Me To Hell, and Horsemen. Read this after you’ve seen them to really understand what I’m talking about, and to avoid ruining the movies.

Lots of different types of films contain mysteries, or puzzles for the viewer to solve. Often the viewer is not required to actually solve these puzzles because they will be presented to the viewer as the story progresses. Using some of the information that you get early on in a film it is often quite simple to come up with accurate conclusions.

Usually, the information given is quite small. It could be a small habit that a character has that doesn’t receive much focus but later gives away a secret identity. Often the information is just something that strikes you as a bit odd when it happens, can be considered insignificant to the story, and is therefore forgotten until later on.

A good example of the latter can be found in the movie Drag Me To Hell. The lead character visits her boyfriend and part of the scene is dedicated to her presenting him with a coin for his collection. This is quite a strange thing to include in a movie, and therefore it is quite likely that it has significance. What makes it more unusual is that the boyfriend takes the coin and places it in a blank envelope. Who does that?

DragMeToHell

Later on in the movie the scene is forgotten because it is deemed to be unimportant. The lead character takes a cursed button (yeah, lame, I know) and puts it in an envelope. As the lead character and her boyfriend are driving along the envelope is dropped and the lead character freaks out until she finally picks up an envelope. Yes, you guessed it, the envelopes got switched. Only, nobody notices this because the act of the boyfriend placing the coin in the envelope appeared to be such an insignificant detail at the time.

The lead character gives the envelope to a dead gypsy in a ridiculously fast filling watery grave in order to remove the curse, and then goes about her life feeling like everything is fine. The next day her boyfriend meets her at the train station and produces the button which he found in the envelope that he thought contained his coin. Suddenly everyone remembers that the boyfriend put the coin in an envelope, and that the two items would be roughly the same size and weight.

The ending of the film was obvious from the moment the button was put in an envelope, but it requires that you notice the details and don’t forget the things that strike you as a bit odd. Why would a horror film take the time to show you that the lead character’s boyfriend collects coins? Why have him put the coin in an envelope?

Another example can be found in the movie Horsemen starring Dennis Quaid. A woman is murdered and the protagonist is a detective in charge of the case. He turns up to the house and discovers that the murdered woman has three children. When our protagonist sees the children it is apparent that 2 are white, and the eldest one is Asian. A fellow officer tells our protagonist that the eldest one has was adopted, and the protagonist ironically thanks the officer for the tip.

Horsemen

Later on it is discovered that the Asian girl is actually complicit in the murder. This should really be quite obvious to anyone watching the film, but it’s easy to disregard a detail as insignificant. Why would the writer of the story bother to add the detail that one of the children was adopted, and make it so obvious by having the child be of a different race? Because the detail is what helps to solve the mystery in the movie!

Essentially all you have to do while watching a film is think “Why am I being shown this weird little detail?” Don’t forget the things you’ve noticed, and try to link them together. More often than not the entire puzzle can be solved long before the end of the film.

Bring It! – Bullet Time

One of the most important parts of the entire game is the ability to shoot at the bad guys. For this you’ll definitely be needing some bullets (and I’ll get to the bad guys soon).

I thought adding bullet sprites would be quite complicated because it would involve finding the angle to be fired at, the start position based on the position and rotation of the character sprite, but that turned out to be quite simple in the end.

Rather than use any complicated mathematics I determined that the centre of the character sprite is something that won’t change because the character is on top of a non-moving tower. I modified the Sprite.java file in the Rokon files to include centreX and centreY values. If I eventually let the character sprite move then I will need to make sure that value gets updated, but that’s a very minor issue.

I create the bullet sprite when the user presses the trackball button, or the centre of the directional pad if that’s what the device has. The bullet sprite appears at the centre of the character sprite and has X and Y velocity applied to it like so:

bulletSprite.setVelocityX((float)Math.sin(
  Math.toRadians(arrowSprite.getRotation()))*100);

bulletSprite.setVelocityY((float)-Math.cos(
  Math.toRadians(arrowSprite.getRotation()))*100);

This gets the bullet moving in the direction the character sprite is pointing as is demonstrated in the video.

The next thing on my list is creating some bad guys that can get hit by the bullets. I imagine that’ll be more complicated than I think at the moment, but I hope to be proved wrong. πŸ™‚

Bring It! – Getting started

To begin developing my game I downloaded the latest Android SDK and set up Eclipse as explained in great (and hopefully up-to-date) detail on Google’s instructions page.

Once this was working I got the latest version of the Rokon game engine and extracted it into my workspace folder. I imported the existing project into Eclipse and added my own class to the list. I copied one of the examples into my own class and then removed the com.rokon.examples class and files. I changed all references of the com.rokon.examples class to my own class in files like the AndroidManifest.xml file. I missed a few places at first, but Eclipse is pretty good at telling you what’s wrong. I found it helpful to clean the project using the Project->Clean menu item to make sure no errors were left over from before certain changes.

Once I had eradicated all errors from Eclipse I ran the source in an Android Virtual Device. To my immense surprise it was working!

I went into the code and started to strip out all the bits I didn’t want. I kept one sprite around, but changed the sprite texture to my own arrow, and made it considerably smaller.

That was all pretty easy, and I thought things were going to well until I realised that I now needed to get down to the harder stuff. The user would need to aim in different directions from one point, so I needed a way for the person to change the angle. My first thought was to use the scroll ball that appears on most HTC devices these days. I thought that might be a bit of a problem though, because I was planning on using the scroll ball press as the trigger, and that might lead to people accidentally pressing it when they didn’t want to.

I decided that it would be cool to have the character point towards where the user pressed on the screen. The problem with that is that code is required to work out what angle to rotate the character by depending on where the character is, and where the player has pressed on the screen. I managed to find various little bits and pieces online that helped me come up with a decent solution.

That looks very complicated, but it’s not that bad, really. The angle is worked out using the position of the centre of the sprite and the position of the press on the screen. I’d explain it in more detail, but that might take a while. You may notice the +90 near the end of the rotation line. Unfortunately that’s a bit of a hack to add 90 degrees of rotation to whatever angle is given to me. It works, so I’m fine with that for now.

Now when I run the “game” I see an arrow on the screen. If I press on the screen then the arrow points at where I pressed. If I move my finger while it’s pressed then the arrow follows my finger around. A good start to coding the actual character.

Now to climb the rest of the mountain!

Bring It! – Android Game

I decided that I wanted to get a bit more into Android development, and I decided to go with a game this time. I have made a game for Android before, well, a kind of puzzle more than a game. It’s called Petals Around the Rose, and it basically just sits and waits for user input before anything happens. So it’s not a real-time game. This next game is going to be very different.

My aim is to make a game called Bring It! that is along the lines of the tower defence games you see quite a lot of, but with elements of games like More Rooms by Sean Cooper and Burn Zombie Burn by Doublesix Games to it.

The player will control a single character in a tower and will begin the game with a basic weapon. Waves of creatures will begin to invade and try to reach the character, and the player must kill all of these creatures. As the waves progress the creatures will get stronger, and/or come in different numbers. The player will have the ability to earn better weapons, or upgrades for current weapons. There may also be the possibility of moving to other towers depending on the level. The towers will not all be the same and will differ in strengths and weaknesses.

I am writing the game (for the time being) in Java, using the Rokon engine for Android. This uses OpenGL to create and manage the graphics.

I have never written a real-time game before. I have never written anything using OpenGL, or any other similar library. I have only ever written two things in Java. These are the hurdles I have to overcome to get a working game.

I plan to document my progress here. πŸ™‚