I'm not sure when I first noticed this, but while using the context menu (right-clicking on a file) I noticed there were some blank options which is not a good sign. Testing them seemed to launch Acrobat so I went looking for the cause.
I found the solution on the Adobe site. It seems this behaviour is the result of having the Google-drive desktop application installed. I suspect it's more likely an issue with having the Adobe suite AND Google-drive installed but since the behaviour seems to affect Acrobat, the Adobe fix is to remove Google-Drive (I wonder if Google's fix is to remove the Adobe suite?).
Anyway I tried it and sure enough the invisible options are now gone. You can still use G-drive by going via the browser so it's not a major loss. I'm sure Google will fix this in a future version (if they haven't already) but for now paranoia levels are back to satisfactory. Incidentally when I logged back into the browser version of G-drive I had some invisible files there and it prompted me to see my 'new look' G-drive. I followed this link and after setting my view back to list-view, everything appeared back to normal.
Usual disclaimers: I'm not a doctor, legal professional or financial advisor. This article is for information/education only and reflects my own opinions. It should not be taken as financial, legal or medical advice. Do your own research and never invest anything you cannot afford to lose (including your time).
10 December 2014
8 December 2014
Code School Revisited: Back 2 Skool?
A short while ago I wrote a pretty scathing post about Code School following some difficulties I'd had with their Angular.js tutorial. Strange issues with a very retentive stance on how variables should be named even though it was not necessary to follow this convention to get the code working. I also reached a point very early on in the course where I could not progress.
Today I found myself learning to use Git & Github. My first tutorial came from http://try.github.io and I thought that was a really good starting point. It somehow linked me through to the whole open badges thing and then afterwards I noticed the big orange 'Continue Learning' button which takes you to gitreal.codeschool.com. I have to say that this offering from Code School was a much more pleasant learning experience than the free Angular course. The video training was good (maybe a little fast paced if I hadn't already done the previous tutorial) and the challenge seemed intuitive, offered help at just the right places and more importantly didn't argue about the unimportant parts (e.g. user.name) having a certain value or using specific case... AwE$0m3
I found the first chapter (which is all you get without paying) to be a very positive experience and through these two tutorials I now have a much better understanding of Git. I will no longer automatically rule out Code School in future. One thing I do think is missing from their system is some sort of ability to make notes. There didn't seem to be a quick recap button for when you miss a point being made (Pluralsight by comparison has a button to make the video go back 8 seconds). Also when you do the exercises you are trying to remember what you've just seen but you need to press pause to make notes. A simple "Note-this" button which takes a .jpg of the current video frame would be ideal and of great benefit when going through the challenge at the end.
Anyway well done Code School.
Today I found myself learning to use Git & Github. My first tutorial came from http://try.github.io and I thought that was a really good starting point. It somehow linked me through to the whole open badges thing and then afterwards I noticed the big orange 'Continue Learning' button which takes you to gitreal.codeschool.com. I have to say that this offering from Code School was a much more pleasant learning experience than the free Angular course. The video training was good (maybe a little fast paced if I hadn't already done the previous tutorial) and the challenge seemed intuitive, offered help at just the right places and more importantly didn't argue about the unimportant parts (e.g. user.name) having a certain value or using specific case... AwE$0m3
I found the first chapter (which is all you get without paying) to be a very positive experience and through these two tutorials I now have a much better understanding of Git. I will no longer automatically rule out Code School in future. One thing I do think is missing from their system is some sort of ability to make notes. There didn't seem to be a quick recap button for when you miss a point being made (Pluralsight by comparison has a button to make the video go back 8 seconds). Also when you do the exercises you are trying to remember what you've just seen but you need to press pause to make notes. A simple "Note-this" button which takes a .jpg of the current video frame would be ideal and of great benefit when going through the challenge at the end.
Anyway well done Code School.
3 December 2014
BootKammp
I really wanted to like Bootstrap 3 however I now think it's oxidizing my hair and I get the feeling I'll be bald by this time next year if I continue with it.
It's a shame as at first I was really impressed when my return to javascript seemed to be going so well. I was following my mentor heading due N (-tier) and I managed to get my json into a javascript object and make it look pretty in an all-mobile-apps-look-like-this kind of way. The world was my lobster and there wasn't a cloud in sight even though I was making use of other peoples clouds. All was well with the world...
...and then the sky fell down (or was it the network admin guy?). Ninety minutes of no connectivity, no productivity and a resolve that I must be able to continue my work and I've reached the point where hair-loss might just be the first step towards a padded cell. It seems I cannot replicate the same pretty results on a local server that I get when using the maxcdn.bootstrapcdn.com cloudy links, even when using the same libraries.
I am grateful to those who have gone before me. The best guide I found was at Revillweb. Unfortunately the results I got were not equal to those shown. I suppose it could be me trying to power everything locally using the Analog-X simple server but my results using nginx on Linux Mint have also failed (less surprising since I never used it before today). It seems that every browser I test insists on rendering the example files slightly (or completely) differently. Nothing new there then, except now we have all these tablet screens to cater for as well.
My options now seem to be either revert to using the maxcdn links (and hope they never ever go offline or change... ever!!!!), see what happens in another developer environment (like xammp maybe) or accept that network downtime is a fact of life and that most of the users were probably more upset about being unable to get to Facebook than our applications not working. It's a real shame as the initial results with bootstrap looked great but when the project is expected to go live in 12-18 months time I really am concerned about how those links could change. I suspect the best way to avoid sudden panic will be to come up with our own similar looking style sheet. I will miss the bootstrap grid system, but not the strange results I'm currently getting.
It's a shame as at first I was really impressed when my return to javascript seemed to be going so well. I was following my mentor heading due N (-tier) and I managed to get my json into a javascript object and make it look pretty in an all-mobile-apps-look-like-this kind of way. The world was my lobster and there wasn't a cloud in sight even though I was making use of other peoples clouds. All was well with the world...
...and then the sky fell down (or was it the network admin guy?). Ninety minutes of no connectivity, no productivity and a resolve that I must be able to continue my work and I've reached the point where hair-loss might just be the first step towards a padded cell. It seems I cannot replicate the same pretty results on a local server that I get when using the maxcdn.bootstrapcdn.com cloudy links, even when using the same libraries.
I am grateful to those who have gone before me. The best guide I found was at Revillweb. Unfortunately the results I got were not equal to those shown. I suppose it could be me trying to power everything locally using the Analog-X simple server but my results using nginx on Linux Mint have also failed (less surprising since I never used it before today). It seems that every browser I test insists on rendering the example files slightly (or completely) differently. Nothing new there then, except now we have all these tablet screens to cater for as well.
My options now seem to be either revert to using the maxcdn links (and hope they never ever go offline or change... ever!!!!), see what happens in another developer environment (like xammp maybe) or accept that network downtime is a fact of life and that most of the users were probably more upset about being unable to get to Facebook than our applications not working. It's a real shame as the initial results with bootstrap looked great but when the project is expected to go live in 12-18 months time I really am concerned about how those links could change. I suspect the best way to avoid sudden panic will be to come up with our own similar looking style sheet. I will miss the bootstrap grid system, but not the strange results I'm currently getting.
22 October 2014
Code School: Your report in three words - Must Try Harder
I'm currently attempting to learn AngularJS so discovering a free course on the Code School site seemed like a good starting point. Unfortunately I was wrong on this. Let me explain (rant warning)
The videos are very good, maybe a little fast paced as you don't really get chance to code along to them unless you keep freezing the video. Sadly this is how I recommend using the site so you can visit the suggested URL's and set up your own test environment free from the clunky VLE they propel you into once the video ends
At this point you see, you are launched into possibly the worst text editor I've ever used. I was also not convinced that I needed to call my module 'gemStore' rather than 'gemstore'. I tried it in my own test environment and now I know I was right but my on-line teacher insisted I used the same case-sensitivity they used before it would give me the green tick needed to proceed.
I reached the point where I was so frustrated that I opted for the solution just to copy & paste their answer back into the system. Even this failed to work for me and my third tick was denied again and again. Now I wouldn't be surprised if it turns out the solution is to use Chrome rather than Firefox but even then if my code works in the real world but is not acceptable in the teaching tool then it would seem that the tool needs more work - after all isn't working code the desired end-product?.
Despite these initial setbacks I am compelled to continue my work with angular but I think I will ignore the achievement badges on offer (/denied) from Code School. It reminds me too much of Edmond Blackadder trying to come up with a suitable definition for aardvark after burning the first ever dictionary. I suspect it will be a long time before these tools are capable of understanding people or become capable of testing alternative solutions to see if they produce the same result.
The videos are very good, maybe a little fast paced as you don't really get chance to code along to them unless you keep freezing the video. Sadly this is how I recommend using the site so you can visit the suggested URL's and set up your own test environment free from the clunky VLE they propel you into once the video ends
At this point you see, you are launched into possibly the worst text editor I've ever used. I was also not convinced that I needed to call my module 'gemStore' rather than 'gemstore'. I tried it in my own test environment and now I know I was right but my on-line teacher insisted I used the same case-sensitivity they used before it would give me the green tick needed to proceed.
I reached the point where I was so frustrated that I opted for the solution just to copy & paste their answer back into the system. Even this failed to work for me and my third tick was denied again and again. Now I wouldn't be surprised if it turns out the solution is to use Chrome rather than Firefox but even then if my code works in the real world but is not acceptable in the teaching tool then it would seem that the tool needs more work - after all isn't working code the desired end-product?.
Despite these initial setbacks I am compelled to continue my work with angular but I think I will ignore the achievement badges on offer (/denied) from Code School. It reminds me too much of Edmond Blackadder trying to come up with a suitable definition for aardvark after burning the first ever dictionary. I suspect it will be a long time before these tools are capable of understanding people or become capable of testing alternative solutions to see if they produce the same result.
28 July 2014
Another bit of a M$ rant
I've been using Windows 8 for a while now. I upgraded it to 8.1 as soon as I could and I've been using Classic Start Menu (4.0.4) for a while because well it (or an M$ equivalent) should have been built-in to begin with.
There is something missing in the M$ camp these days and I'm not convinced just shedding jobs will fix their problems. They seem to have forgotten the customer. Let me explain what I mean by that. Around 10 years ago, my boss (back then) tried to introduce me to Linux, specifically a distribution called Slackware. I was slightly amused at the notion that you sometimes had to spend an hour trying to get the mouse & keyboard working. I'd been spoiled with Windows XP where if you set it up correctly, you could remove the drive, put it in another PC and at start-up it would try to match any drivers it knew about with the installed hardware and you usually ended up with a working system. Not necessarily a clean and efficient system and you might eventually run into issues with conflicting drivers, but it would get you out of a fix if your hardware died suddenly.
Eventually everything with drivers started to go the certified-for-Windows way. There would be logos on boxes and this stuff was supposed to be guaranteed to work on Windows (whichever version it sported the logo for). There is a lot of this old kit still out there which still works, but is no longer supported and the peripheral manufacturers are not that bothered about re-writing drivers (since they have made new products and certified them with newer versions of Windows and are now concentrating on that new market). This is why I think M$ have forgotten the customer.
This morning I tried to get an old usb wi-fi adapter working on Win 8.1. Now when I upgraded to Windows 8 (from XP) I did not consider how much additional hardware I had which might need replacing so again I think I can say that M$ have forgotten the customer. I may have skipped a few versions (which were downgrades from XP in my opinion) but I have things like USB drives, wi-fi adapters, hubs, digital cameras etc. which should still work; but some will undoubtedly not work with Windows 8. Still after 15 years in the tech industry I know there's usually people in the same situation who go on to fix these things and then post details for the benefit of others caught out in the same way. I even found an article on PC-Pro about how to turn off driver-signing enforcement to allow installation of custom drivers (always make sure these come from reliable sources).
So after finding the hard-to-find new app (it did not show up in search), I got thrown into Metrohell (where the app launches itself full-screen, hides the browser you had open and the easiest way to get back to the desktop is CTRL+ALT+DEL ->task manager -> minimise. I managed to re-read the instructions and then back to the app, through 2 or 3 other screens to find the reboot option I needed and rebooted. Then there were more options after the reboot but I eventually managed to turn off driver-signing protection. I hacked my driver .inf file, replacing the NTamd64.6.0 mentions with NTamd64.6.2. I got a warning about installing the unsigned driver which had a red-box around it (which reminded me of the old CBM-Amiga guru-meditation messages when something went wrong). After all that, the driver appeared to install ok but at the end, it came up with another error (the device cannot start - code 10)
At this point I plugged it into my Linux Mint box (v16) which instantly installed it and gave me a list of SSID's for my wi-fi network(s).
This functionality is what made XP great. Back then Linux was a chore if it didn't work properly but these days I'm finding more and more that it's Windows which is becoming a chore. From important control panel applets changing name with every new version to changes in how the sound mixer system works. I am being forced to re-learn Windows with every upgrade and then I discover there could be additional costs of replacing peripherals which are no longer supported. It's now Linux Mint which reminds me most of XP with it's robust desktop and compatability. I really hope M$ will at some point see what they are doing and bring the Windows franchise back to it's former glory (XP2 maybe?). Lets not forget they gave us XP, Kinect, the Xbox360, FSX etc. so it is sad to see M$ in a state of decline; but not unexpected.
There is something missing in the M$ camp these days and I'm not convinced just shedding jobs will fix their problems. They seem to have forgotten the customer. Let me explain what I mean by that. Around 10 years ago, my boss (back then) tried to introduce me to Linux, specifically a distribution called Slackware. I was slightly amused at the notion that you sometimes had to spend an hour trying to get the mouse & keyboard working. I'd been spoiled with Windows XP where if you set it up correctly, you could remove the drive, put it in another PC and at start-up it would try to match any drivers it knew about with the installed hardware and you usually ended up with a working system. Not necessarily a clean and efficient system and you might eventually run into issues with conflicting drivers, but it would get you out of a fix if your hardware died suddenly.
Eventually everything with drivers started to go the certified-for-Windows way. There would be logos on boxes and this stuff was supposed to be guaranteed to work on Windows (whichever version it sported the logo for). There is a lot of this old kit still out there which still works, but is no longer supported and the peripheral manufacturers are not that bothered about re-writing drivers (since they have made new products and certified them with newer versions of Windows and are now concentrating on that new market). This is why I think M$ have forgotten the customer.
This morning I tried to get an old usb wi-fi adapter working on Win 8.1. Now when I upgraded to Windows 8 (from XP) I did not consider how much additional hardware I had which might need replacing so again I think I can say that M$ have forgotten the customer. I may have skipped a few versions (which were downgrades from XP in my opinion) but I have things like USB drives, wi-fi adapters, hubs, digital cameras etc. which should still work; but some will undoubtedly not work with Windows 8. Still after 15 years in the tech industry I know there's usually people in the same situation who go on to fix these things and then post details for the benefit of others caught out in the same way. I even found an article on PC-Pro about how to turn off driver-signing enforcement to allow installation of custom drivers (always make sure these come from reliable sources).
So after finding the hard-to-find new app (it did not show up in search), I got thrown into Metrohell (where the app launches itself full-screen, hides the browser you had open and the easiest way to get back to the desktop is CTRL+ALT+DEL ->task manager -> minimise. I managed to re-read the instructions and then back to the app, through 2 or 3 other screens to find the reboot option I needed and rebooted. Then there were more options after the reboot but I eventually managed to turn off driver-signing protection. I hacked my driver .inf file, replacing the NTamd64.6.0 mentions with NTamd64.6.2. I got a warning about installing the unsigned driver which had a red-box around it (which reminded me of the old CBM-Amiga guru-meditation messages when something went wrong). After all that, the driver appeared to install ok but at the end, it came up with another error (the device cannot start - code 10)
At this point I plugged it into my Linux Mint box (v16) which instantly installed it and gave me a list of SSID's for my wi-fi network(s).
This functionality is what made XP great. Back then Linux was a chore if it didn't work properly but these days I'm finding more and more that it's Windows which is becoming a chore. From important control panel applets changing name with every new version to changes in how the sound mixer system works. I am being forced to re-learn Windows with every upgrade and then I discover there could be additional costs of replacing peripherals which are no longer supported. It's now Linux Mint which reminds me most of XP with it's robust desktop and compatability. I really hope M$ will at some point see what they are doing and bring the Windows franchise back to it's former glory (XP2 maybe?). Lets not forget they gave us XP, Kinect, the Xbox360, FSX etc. so it is sad to see M$ in a state of decline; but not unexpected.
4 July 2014
Raspberry Pi for Secret Agents
I've had one of those rare luxuries this week; a couple of spare hours to go through something I've been meaning to try out for a while. Yes I've got hold of a copy of the Raspberry Pi for Secret Agents book and the task of creating a custom SD card for our Pi lab to accompany the book.
The Pi lab is really starting to take shape and we have more equipment coming later on this year. I'm currently working on a Minecraft install with python API, finishing off the old recycled recycling truck time-lapse-dolley using a Pibrella and a few additional bits & pieces, but today belongs to the secret agent book.
To start with, I was getting on well with the book and setting bits up while waiting for some components to arrive. To do the audio exercises in chapter two, you really need a USB microphone, so I installed the packages, ordered one and put this project on the back burner again while I waited for snail-mail to arrive. Luckily it arrived yesterday which coincided nicely with a very rare quiet spell so I went back to chapter two
I noticed there were some flaws in the chapter. Some alias commands did not seem to work, they would not survive a reboot and I got errors when I tried to play back a recorded mp3 file using SoX (even though the file appeared to be created ok). There were also some things missing, like how to stop a recording (CTRL+C seems to work. If you're getting lock-ups from trying to fix the aliases, you can also try CTRL+X or CTRL+Z).
Lets start with fixing the main problem then. If you manage to get SoX to record and pipe it to Lame, you end up with a file that you can't play back and you get the error message "no handler for file extension mp3". I eventually found a fix for this which is:
The next issue for me was the Alias commands refusing to survive a reboot. The author suggests adding them into ~/.bash_aliases. I tried this and the commands were there in the file after reboot but didn't seem to work after I logged out and logged back in again. I came across this forum article about a custom message of the day (motd) which I thought would be good for us to use to provide some help to anyone using the card. It not only provided the inspiration for our own custom message, but also got me thinking 'well if that gets displayed to anyone logging in then any commands I put in there will get run as well'. It uses a file called ~/.bash_profile and if you put aliases at the end of that file they will indeed be there and usable by the person logging in. I then decided to customise this a bit further. I can see no point having weather information on a terminal which is right next to a window but I figured the one thing which is missing from that script is the infinitely-more-useful SD-card free-space remaining. I have added this bit in quite a crude way (using grep with character offsets discovered by trial and error)
Anyway here is my current .bash_profile in all it's glory. No doubt I will come back to this at some point. I also used Sudo mkdir ~/agent to create a working directory but you can skip that bit if you remove the last line of this script (cd /home/agent).
If you're wondering how I managed to get this hidden profile off my pi, just copy it as a text file first (cp ~/.bash_profile bash_profile.txt). Then you can use WinSCP to grab it from a Windows machine. If you're trying to go the non-M$ route, you can start up Midori on the Pi and upload it to Google docs (or more likely pastebin :) ).
The Pi lab is really starting to take shape and we have more equipment coming later on this year. I'm currently working on a Minecraft install with python API, finishing off the old recycled recycling truck time-lapse-dolley using a Pibrella and a few additional bits & pieces, but today belongs to the secret agent book.
To start with, I was getting on well with the book and setting bits up while waiting for some components to arrive. To do the audio exercises in chapter two, you really need a USB microphone, so I installed the packages, ordered one and put this project on the back burner again while I waited for snail-mail to arrive. Luckily it arrived yesterday which coincided nicely with a very rare quiet spell so I went back to chapter two
I noticed there were some flaws in the chapter. Some alias commands did not seem to work, they would not survive a reboot and I got errors when I tried to play back a recorded mp3 file using SoX (even though the file appeared to be created ok). There were also some things missing, like how to stop a recording (CTRL+C seems to work. If you're getting lock-ups from trying to fix the aliases, you can also try CTRL+X or CTRL+Z).
Lets start with fixing the main problem then. If you manage to get SoX to record and pipe it to Lame, you end up with a file that you can't play back and you get the error message "no handler for file extension mp3". I eventually found a fix for this which is:
sudo apt-get install libsox-fmt-mp3
It seems the author must already have this (or something similar) installed. That should get those mp3 files playing. The next issue for me was the Alias commands refusing to survive a reboot. The author suggests adding them into ~/.bash_aliases. I tried this and the commands were there in the file after reboot but didn't seem to work after I logged out and logged back in again. I came across this forum article about a custom message of the day (motd) which I thought would be good for us to use to provide some help to anyone using the card. It not only provided the inspiration for our own custom message, but also got me thinking 'well if that gets displayed to anyone logging in then any commands I put in there will get run as well'. It uses a file called ~/.bash_profile and if you put aliases at the end of that file they will indeed be there and usable by the person logging in. I then decided to customise this a bit further. I can see no point having weather information on a terminal which is right next to a window but I figured the one thing which is missing from that script is the infinitely-more-useful SD-card free-space remaining. I have added this bit in quite a crude way (using grep with character offsets discovered by trial and error)
Anyway here is my current .bash_profile in all it's glory. No doubt I will come back to this at some point. I also used Sudo mkdir ~/agent to create a working directory but you can skip that bit if you remove the last line of this script (cd /home/agent).
let upSeconds="$(/usr/bin/cut -d. -f1 /proc/uptime)"
let secs=$((${upSeconds}%60))
let mins=$((${upSeconds}/60%60))
let hours=$((${upSeconds}/3600%24))
let days=$((${upSeconds}/86400))
UPTIME=`printf "%d days, %02dh%02dm%02ds"
"$days" "$hours" "$mins" "$secs"`
# clear the screen
clear
echo "$(tput setaf 2)
.~~. .~~. `date +"%A, %e %B %Y, %r"`
'. \ ' ' / .' `uname -srmo`$(tput setaf 1)
.~ .~~~..~.
: .~.'~'.~. : Uptime.............: ${UPTIME}
~ ( ) ( ) ~ Memory.............: `cat /proc/meminfo |
grep Memfree | awk {'print $2'}`kB (Free) / `cat /proc/meminfo |
grep MemTotal | awk {'print $2'}`kB (Total)
( : '~'.~.'~' : ) IP Address.........: `/sbin/ifconfig eth0 |
/bin/grep "inet addr" | /usr/bin/cut -d ":" -f 2 |
/usr/bin/cut -d " " -f 1`
~ .~ ( ) ~. ~ SD Space left......: `df -h |
/bin/grep "rootfs" | /usr/bin/cut -c 28-34`
( : '~' : )
'~ .~~~. ~'
Agent Pi: Our SD card to accompany the 'Raspberry Pi for Secret Agents'
book.
Read the section on tmux (p34) before you start.
Extra packages installed: tmux, sox, espeak, lame, vorbis-tools
This message is:/home/pi/.bash_profile
Use Alias to list shortcuts
"
#back to white
echo "$(tput setaf 7)"
#(0)Black (1)red (2)green (3)yellow (4)blue (5)Magenta (6)cyan (7)white
#Alias commands here as .bash_aliases does not seem to work for some reason
alias recordmp3="sox -t alsa plughw:1 -t wav - | lame - "
alias record="sox -t alsa plughw:1 -t wav - | lame - "
alias recordwav="sox -t alsa plughw:1 -t wav - "
alias recordogg="sox -t alsa plughw:1 -t ogg - "
alias recordflac="sox -t alsa plughw:1 -t flac - "
alias play="echo 'use sox filename.ext -d for playback'"
alias encmp3="lame - "
alias encogg="oggenc - "
alias micvol90="amixer -c1 sset Mic 90"
alias micmute="amixer -c1 sset Mic 0"
alias headphones="amixer cset numid=3 1:"
alias hdmi="amixer cset numid=3 2:"
#go to working directory
cd /home/agent
If you're wondering how I managed to get this hidden profile off my pi, just copy it as a text file first (cp ~/.bash_profile bash_profile.txt). Then you can use WinSCP to grab it from a Windows machine. If you're trying to go the non-M$ route, you can start up Midori on the Pi and upload it to Google docs (or more likely pastebin :) ).
Hello again Google, all is forgiven... well you are the slightly lesser of two evils... this week anyway.
Yes my move away from Google over removing security options from the Android system on my phone has come to an end. Not because I am pleased with any new implementation of the system they previously removed (in fact I've had some updates recently but not really had a chance to check out the changes yet).
No, this weeks most evil award goes to Microsoft for managing to stuff up the connection to my home network by virtue of their attack on No-IP.com. If you missed it, some judge in Nevada sided with M$ and gave them control of a large chunk of No-IP's business all done in the name of stopping malware from infecting Windows installations (as long as it is possible to make Windows invulnerable without actually patching the faults I presume).
Essentially No-IP works like a telephone directory which fulfills a need for many of their customers. They provide dynamic domain-name-resolution service (Dynamic DNS or DDNS). It works something like this. Your ISP might charge you a kidney or two for a connection to the internet which always has the same IP number (a static IP address). After all IPv4 addresses are getting scarce and since not all of the ISP customers are online at the same time they can share fewer numbers by allocating what they have between many users. So when you connect, the ISP may give you an internet address which was recently used by someone else because it's cheaper than having a dedicated address for everyone.
That was all very well when we only used PC's to connect to the internet but these days people want to rig up cameras, fridges and just about anything else they can think of. But how can you get to it when away from home if your internet address keeps changing and you don't know what it has changed to? That's where DDNS comes in. You typically have a client (a script or app) which updates your DDNS entry from home so you can always put http://mymegafridge.no-ip.org (for example) into your browser and a server at the other end looks up the current IP address for your fridge and forwards your browser to the server running on your home device. These update scripts can even be built into the software running on your home broadband modem or wi-fi router
So why did M$ get control of No-IP.com's web addresses? I can only put it down to ignorance on the part of the judge in Nevada. Imagine if Apple were allowed to shut-down Verizon because some of their subscribers were using the network to place prank calls to Apple employees. There is an obvious conflict of interests here and this decision needs investigating. Microsoft may not provide an alternative DDNS service but it claims to have known about No-IP domains being used to hack Windows machines for at least 12 months. So what have they done to fix these weaknesses in Windows to prevent the malware from spreading? Well M$ release regular updates for Windows on a monthly basis (known in the biz as patch Tuesday). Kind of hard to beleive then that they are still being affected by something they've already had 12 months to fix? That sort of thing can happen in industry though because IT depts will check each patch to see if it screws up their systems before rolling-out the fixes to all the employees (or not if the patch has a more detrimental affect than the malware risk). Even so, there are other DDNS services out there which were still running, still being used for exploits. The only real way to stop them is to build a big off switch which links the whole internet and just turn it all off - I suggest a custom 404 page to go with it with a big game-over logo.
Taking down my ability to link to my home network does only that. If there was a device spreading malware at my home, it would still have been connected, still trying to spread itself - I just wouldn't be able to connect to it while away from home to check or fix it. And the thing that really wound me up the most was the video being posted on twitter about some sweaty Ron character giving away free cupcakes with hair in them. The punchline goes "not everything that's free is good". Yes but Windows certainly isn't free and if it's being affected by 12 month old malware then it certainly isn't good either. The real irony is that Microsoft probably could have had a greater impact on reducing their malware crisis by shutting down their own hotmail service which is a frequent source of phishing and exploit invitations. Anyway, rant over and I'll be Binging no more and back to Google it is. Lovely, imperfect Google with their phone O/S on which I've turned off 90% of the functionality to get a 7-day battery life and who haven't scuppered my home network connection in some botched attempt to stop the spread of malware. And if you're going to attack things which are free then kindly remember that also includes free speech - so your actions could be considered unconstitutional.
What I will take forward from this experience is that reliance on a third-party service can create issues should anything happen to that third-party. I'm sure I could script something (maybe on a pi) to watch my IP address and contact me when it changes. Luckily my home network is purely for a couple of home security devices so the outage didn't have financial consequences for me. M$ should definitely be forced to compensate anyone who did lose money as a result of this action.
No, this weeks most evil award goes to Microsoft for managing to stuff up the connection to my home network by virtue of their attack on No-IP.com. If you missed it, some judge in Nevada sided with M$ and gave them control of a large chunk of No-IP's business all done in the name of stopping malware from infecting Windows installations (as long as it is possible to make Windows invulnerable without actually patching the faults I presume).
Essentially No-IP works like a telephone directory which fulfills a need for many of their customers. They provide dynamic domain-name-resolution service (Dynamic DNS or DDNS). It works something like this. Your ISP might charge you a kidney or two for a connection to the internet which always has the same IP number (a static IP address). After all IPv4 addresses are getting scarce and since not all of the ISP customers are online at the same time they can share fewer numbers by allocating what they have between many users. So when you connect, the ISP may give you an internet address which was recently used by someone else because it's cheaper than having a dedicated address for everyone.
That was all very well when we only used PC's to connect to the internet but these days people want to rig up cameras, fridges and just about anything else they can think of. But how can you get to it when away from home if your internet address keeps changing and you don't know what it has changed to? That's where DDNS comes in. You typically have a client (a script or app) which updates your DDNS entry from home so you can always put http://mymegafridge.no-ip.org (for example) into your browser and a server at the other end looks up the current IP address for your fridge and forwards your browser to the server running on your home device. These update scripts can even be built into the software running on your home broadband modem or wi-fi router
So why did M$ get control of No-IP.com's web addresses? I can only put it down to ignorance on the part of the judge in Nevada. Imagine if Apple were allowed to shut-down Verizon because some of their subscribers were using the network to place prank calls to Apple employees. There is an obvious conflict of interests here and this decision needs investigating. Microsoft may not provide an alternative DDNS service but it claims to have known about No-IP domains being used to hack Windows machines for at least 12 months. So what have they done to fix these weaknesses in Windows to prevent the malware from spreading? Well M$ release regular updates for Windows on a monthly basis (known in the biz as patch Tuesday). Kind of hard to beleive then that they are still being affected by something they've already had 12 months to fix? That sort of thing can happen in industry though because IT depts will check each patch to see if it screws up their systems before rolling-out the fixes to all the employees (or not if the patch has a more detrimental affect than the malware risk). Even so, there are other DDNS services out there which were still running, still being used for exploits. The only real way to stop them is to build a big off switch which links the whole internet and just turn it all off - I suggest a custom 404 page to go with it with a big game-over logo.
Taking down my ability to link to my home network does only that. If there was a device spreading malware at my home, it would still have been connected, still trying to spread itself - I just wouldn't be able to connect to it while away from home to check or fix it. And the thing that really wound me up the most was the video being posted on twitter about some sweaty Ron character giving away free cupcakes with hair in them. The punchline goes "not everything that's free is good". Yes but Windows certainly isn't free and if it's being affected by 12 month old malware then it certainly isn't good either. The real irony is that Microsoft probably could have had a greater impact on reducing their malware crisis by shutting down their own hotmail service which is a frequent source of phishing and exploit invitations. Anyway, rant over and I'll be Binging no more and back to Google it is. Lovely, imperfect Google with their phone O/S on which I've turned off 90% of the functionality to get a 7-day battery life and who haven't scuppered my home network connection in some botched attempt to stop the spread of malware. And if you're going to attack things which are free then kindly remember that also includes free speech - so your actions could be considered unconstitutional.
What I will take forward from this experience is that reliance on a third-party service can create issues should anything happen to that third-party. I'm sure I could script something (maybe on a pi) to watch my IP address and contact me when it changes. Luckily my home network is purely for a couple of home security devices so the outage didn't have financial consequences for me. M$ should definitely be forced to compensate anyone who did lose money as a result of this action.
7 May 2014
Still no replacement blog as yet... sometimes things get in the way
Like my old Samsung NC10 netbook still having Windows XP on it. No M$ I will not buy another version of Windows for it as I still think XP is the best one you've ever done.
This lead me to a new alternative and I wanted to sing the praises of LinuxMint. I've been using this since version 12 to reset lost Windows passwords but this will be my first attempt to use it as a replacement for XP. It's a nice bridge between Windows and Linux and installation was a breeze. I downloaded an iso and booted it on an old PC. From there it let me install it to a USB stick which my NC10 was quite happy to boot from so I now have Mint with the Cinnamon desktop which is pretty impressive. Only hitch so far is that I can't get the Disks utility to create backup images of my SD cards (error g-io-error-quark, 13 mean anything? anyone? @cport80). I'm going to use this PC in our Pi lab so backing up SD cards has been a down-time project for a week or two. At one point I even considered making myself a custom Pi case with a couple of USB connected SD-readers for this very purpose. Anyway I was quite impressed when I discovered the Disks utility had an option for backing up to an image file and no doubt the issues will be resolved in time (next update?).
I have been having some issues with backing up SD cards for our Pi lab as SD cards from differing manufacturers seem to have slightly different capacities which comes to light when you try to use dd to backup the cards. It frequently reports there is no space left on the drive when you try to transfer the image. I found a forum post with the answer though and this appears to work in Mint. Download the Gparted partition manager and then with the SD card installed but unmounted, select the SD drive and use the resize partition option. I chose to shrink the ext4 partition, leaving a nice big 512MB block of unused space at the end of the card and then applied the changes. Then I used the usual dd command line to transfer the data to an image file. Swap cards and reverse the in/out file options and even though dd still reports a lack of space during the write, it has booted up fine on the Pi.
Nice to see the fix works on the Linux platform after trying various Windows tools (Win32DiskImager, Roadkil's Disk-Image utility, the official SD consortium format utility and another SD formatter which I think originated via HP). Hope this is helpful to anyone out there still struggling with this issue and thanks go to Gary A Stafford for his post. Incidentally he references the Pixhawk website as being helpful to him (but it was his Gparted post which got things working here - so thanks Gary).
This lead me to a new alternative and I wanted to sing the praises of LinuxMint. I've been using this since version 12 to reset lost Windows passwords but this will be my first attempt to use it as a replacement for XP. It's a nice bridge between Windows and Linux and installation was a breeze. I downloaded an iso and booted it on an old PC. From there it let me install it to a USB stick which my NC10 was quite happy to boot from so I now have Mint with the Cinnamon desktop which is pretty impressive. Only hitch so far is that I can't get the Disks utility to create backup images of my SD cards (error g-io-error-quark, 13 mean anything? anyone? @cport80). I'm going to use this PC in our Pi lab so backing up SD cards has been a down-time project for a week or two. At one point I even considered making myself a custom Pi case with a couple of USB connected SD-readers for this very purpose. Anyway I was quite impressed when I discovered the Disks utility had an option for backing up to an image file and no doubt the issues will be resolved in time (next update?).
I have been having some issues with backing up SD cards for our Pi lab as SD cards from differing manufacturers seem to have slightly different capacities which comes to light when you try to use dd to backup the cards. It frequently reports there is no space left on the drive when you try to transfer the image. I found a forum post with the answer though and this appears to work in Mint. Download the Gparted partition manager and then with the SD card installed but unmounted, select the SD drive and use the resize partition option. I chose to shrink the ext4 partition, leaving a nice big 512MB block of unused space at the end of the card and then applied the changes. Then I used the usual dd command line to transfer the data to an image file. Swap cards and reverse the in/out file options and even though dd still reports a lack of space during the write, it has booted up fine on the Pi.
Nice to see the fix works on the Linux platform after trying various Windows tools (Win32DiskImager, Roadkil's Disk-Image utility, the official SD consortium format utility and another SD formatter which I think originated via HP). Hope this is helpful to anyone out there still struggling with this issue and thanks go to Gary A Stafford for his post. Incidentally he references the Pixhawk website as being helpful to him (but it was his Gparted post which got things working here - so thanks Gary).
7 April 2014
Hello Moto; Goodbye Moto; Moto what's wrong?
Ok one last post because I haven't yet sorted out an alternative blog and I wanted to record something for posterity. Last week I picked up a new phone from Tesco. An 8gb Moto-G and apparently I can return it within two weeks if there are any problems. I wonder if that's standard sales patter or if I was expected to return this one. I am still making up my mind.
When I got back to the car and opened it up, it looked like the security seal had already been broken and there was a scratch on the screen. I used my glasses cloth to wipe this and it vanished otherwise it would have gone back there and then (always check the seal folks). I got back to the office and charged it up after which it insisted on doing a whole load of updates. It took a while but I eventually realised it's an Android and I wasn't asked for my Google account at first start-up. When I checked, it had already been linked to someones account and the phone was packed with their family contact numbers. It was registered to an account called 'thehamills'. Well ok maybe it was Mark Hamill (a.k.a. Luke Skywalker from Star Wars). Probably not but do I want to risk calling the number listsed as 'Dad'? (always reset your phone to factory defaults before you part with it)
So I reset the phone to defaults and wait while it goes through all the updates again. I left it on charge (on my PC) and at the end of the day slipped it into my pocket and went home. That was Thursday night. Fast forward to last night (Sunday I recall) and as I'm going up to bed I realise my phone is still in my coat pocket and it's set up as my alarm clock (Android has great alarm tones imo). On fishing it out of said pocket, I noticed it was powered off and it wasn't happy about me trying to wake it up - just like me before 7am.
This morning I tried plugging it back into my work PC and it wouldn't charge. I've since read all sorts of forum posts about issues with updates and charging problems. Some people say use a different charger (worked for me), others suggest putting the phone in the freezer for 5 minutes (only recommended if you want to call Captain Birdseye) and various other suggestions about holding the power button for a couple of minutes until the LED flashes or lights up (top left by the camera).
I had to switch to my Nexus-7 charger which got things going again, but then when I checked on the battery screen (at 1%) it said it wasn't charging. At that point I switched it back to the PC usb socket and now it's up to 9% and still going. The battery screen reported it also lasted 2 days, 11 hours and 38 minutes on that first charge. It also appears to have had wi-fi turned on the whole time so I've now turned that off (I'm using it as a phone, not a tablet - see my previous post for why).
I can't help thinking that the battery life is a bit low compared to my old LG KS360 which I can charge on a monday and it usually goes the whole week. Obviously it doesn't have all the bells and whistles but until recently it's been reliable at what it does (except the Orange sales texts started getting too frequent and there have been a couple of times recently where it's turned itself off without me knowing - not even because of a flat battery). Maybe they don't make phones with long standby times any more. It's good that Android has that log though as now I know what to expect. I am a bit dissapointed by the faffing around needed to get the Moto-G charging again and the various comments about the network dropping out and going into stealth aeroplane mode are currently cause for concern. I still have time to decide whether to keep it or not though. I think I need to use it a bit more this week while ~I still have time to decide.
Edit: 23/4/14
I decided to hang on to the Moto after some tweaking (turning off 3G data, location, wi-fi etc and just using it for phone & sms). After charging and leaving it like this I got 7 days & 22 hours with around 40% charge left before I decided to charge it up again before a weekend away. All was going incredibly well it seemed, but while I was away I tried to sms someone and forgot to close the messaging app afterwards. There was a very sharp penalty for doing this. Even though the screen turned itself off, just having this app running overnight seemed to cut my battery life down to 50%. I have to say I'm also not that keen on the un-intuitive contacts interface. So many times now I have called the person I was trying to text by pressing the wrong photo. It's also a pain to update someones mobile number when you discover they changed it. I'm sure these are only minor annoyances once you get used to the phone but if any of the devs are reading this then please add some sensible icons for these features (which I'm sure you will agree are very important basic functions). There are probably plenty of icons around for call, edit & message functions so there's no excuse for a confusing UI these days.
When I got back to the car and opened it up, it looked like the security seal had already been broken and there was a scratch on the screen. I used my glasses cloth to wipe this and it vanished otherwise it would have gone back there and then (always check the seal folks). I got back to the office and charged it up after which it insisted on doing a whole load of updates. It took a while but I eventually realised it's an Android and I wasn't asked for my Google account at first start-up. When I checked, it had already been linked to someones account and the phone was packed with their family contact numbers. It was registered to an account called 'thehamills'. Well ok maybe it was Mark Hamill (a.k.a. Luke Skywalker from Star Wars). Probably not but do I want to risk calling the number listsed as 'Dad'? (always reset your phone to factory defaults before you part with it)
So I reset the phone to defaults and wait while it goes through all the updates again. I left it on charge (on my PC) and at the end of the day slipped it into my pocket and went home. That was Thursday night. Fast forward to last night (Sunday I recall) and as I'm going up to bed I realise my phone is still in my coat pocket and it's set up as my alarm clock (Android has great alarm tones imo). On fishing it out of said pocket, I noticed it was powered off and it wasn't happy about me trying to wake it up - just like me before 7am.
This morning I tried plugging it back into my work PC and it wouldn't charge. I've since read all sorts of forum posts about issues with updates and charging problems. Some people say use a different charger (worked for me), others suggest putting the phone in the freezer for 5 minutes (only recommended if you want to call Captain Birdseye) and various other suggestions about holding the power button for a couple of minutes until the LED flashes or lights up (top left by the camera).
I had to switch to my Nexus-7 charger which got things going again, but then when I checked on the battery screen (at 1%) it said it wasn't charging. At that point I switched it back to the PC usb socket and now it's up to 9% and still going. The battery screen reported it also lasted 2 days, 11 hours and 38 minutes on that first charge. It also appears to have had wi-fi turned on the whole time so I've now turned that off (I'm using it as a phone, not a tablet - see my previous post for why).
I can't help thinking that the battery life is a bit low compared to my old LG KS360 which I can charge on a monday and it usually goes the whole week. Obviously it doesn't have all the bells and whistles but until recently it's been reliable at what it does (except the Orange sales texts started getting too frequent and there have been a couple of times recently where it's turned itself off without me knowing - not even because of a flat battery). Maybe they don't make phones with long standby times any more. It's good that Android has that log though as now I know what to expect. I am a bit dissapointed by the faffing around needed to get the Moto-G charging again and the various comments about the network dropping out and going into stealth aeroplane mode are currently cause for concern. I still have time to decide whether to keep it or not though. I think I need to use it a bit more this week while ~I still have time to decide.
Edit: 23/4/14
I decided to hang on to the Moto after some tweaking (turning off 3G data, location, wi-fi etc and just using it for phone & sms). After charging and leaving it like this I got 7 days & 22 hours with around 40% charge left before I decided to charge it up again before a weekend away. All was going incredibly well it seemed, but while I was away I tried to sms someone and forgot to close the messaging app afterwards. There was a very sharp penalty for doing this. Even though the screen turned itself off, just having this app running overnight seemed to cut my battery life down to 50%. I have to say I'm also not that keen on the un-intuitive contacts interface. So many times now I have called the person I was trying to text by pressing the wrong photo. It's also a pain to update someones mobile number when you discover they changed it. I'm sure these are only minor annoyances once you get used to the phone but if any of the devs are reading this then please add some sensible icons for these features (which I'm sure you will agree are very important basic functions). There are probably plenty of icons around for call, edit & message functions so there's no excuse for a confusing UI these days.
4 April 2014
How Google lost the plot and got me using Bing (rant post)
Until recently I've been quite a big fan of Google. It's true over the years they've occasionally over-stepped their mark and needed reminding that they are a service, not the internet police. I have often been amused at how a U.S. marketeer frequently ranks higher than me in their searches for a specific term where I have both the .com and .co.uk domains registered. I also remember their move to rapidly demote pages where ink & paper colours were the same to hide things (like hidden comments which could be used to recognise direct copying of parts of your website). I have often praised their services and products. I use their calendars and we have multiple Nexus tablets in our household. You might then wonder what they have done to make me consider turning my back on their wonderous acheivements; and why now?
It all stems from my new phone (Moto G for anyone interested). I have ditched my old phone primarily because as part of the networks deal to get free texts with my top-ups, I have to receive a certain amount of 'offers'. These started out as irregular SMS messages every month or so but just recently they have started to become annoyingly frequent. Not only that, my old phone has been getting a lot more cold calls than normal. It's not even a smart phone and I'm very careful about who I give the number to as I consider it my personal hotline for my nearest and dearest to contact me in case of dire emergency. Such is my insistance on this that any web-site requesting my personal mobile number will invariably be given my old number or a completely made up one instead. In short, this one is for me, for my family and is for emergencies rather than for chancers trying to sell me junk.
Now while I may be willing to install anything which looks like it might be even remotely useful on my Nexus-7, this experience with Orange has left me unwilling to take such chances on my Moto-G. The first person who manages to cold-call me on my Nexus-7 would be worthy of a few minutes of minimal attention while I figure out how they managed to do it. On my mobile however, I take a lot more notice of what permissions apps are requesting. So much so that before installing anything from the Play store, I have been trying to find something that gives me control. Along the journey I came across references to Whispercore and Snoopwall, both of which had some negative feedback. I then found App-Ops starter only to discover that the hidden permissions pages it allows you to access have since been removed (by Google).
This seems very unprogressive and appears to have removed my choice of whether or not to allow apps to transmit my personal details to god-knows-where. I may no longer have the choice to set these myself, but I do have a choice over what browser and search engine I use. I am therefore going to register my protest by making this my last blog post, ditching Chrome and no longer using the mighty G for web-searches. My new smart phone will have no apps other than those which were pre-installed and all location reporting will be turned off (which probably won't be enough these days). Hopefully Google will see the error of their ways and in time restore the privacy options. If not, my next phone may be a Windows phone. I don't consider Microsoft to be any better in the area of privacy but usually there are third-party apps to get the job done. If Google don't restore the privacy options then the next step will be to find a way to filter-out adsense adverts from web-pages (and I better start looking for a calendar replacement as well).
As this post is essentially mud-slinging at a large powerful corporate the usual disclaimers apply - "all oppinions are my own and blah-blah-blah etc".
It all stems from my new phone (Moto G for anyone interested). I have ditched my old phone primarily because as part of the networks deal to get free texts with my top-ups, I have to receive a certain amount of 'offers'. These started out as irregular SMS messages every month or so but just recently they have started to become annoyingly frequent. Not only that, my old phone has been getting a lot more cold calls than normal. It's not even a smart phone and I'm very careful about who I give the number to as I consider it my personal hotline for my nearest and dearest to contact me in case of dire emergency. Such is my insistance on this that any web-site requesting my personal mobile number will invariably be given my old number or a completely made up one instead. In short, this one is for me, for my family and is for emergencies rather than for chancers trying to sell me junk.
Now while I may be willing to install anything which looks like it might be even remotely useful on my Nexus-7, this experience with Orange has left me unwilling to take such chances on my Moto-G. The first person who manages to cold-call me on my Nexus-7 would be worthy of a few minutes of minimal attention while I figure out how they managed to do it. On my mobile however, I take a lot more notice of what permissions apps are requesting. So much so that before installing anything from the Play store, I have been trying to find something that gives me control. Along the journey I came across references to Whispercore and Snoopwall, both of which had some negative feedback. I then found App-Ops starter only to discover that the hidden permissions pages it allows you to access have since been removed (by Google).
This seems very unprogressive and appears to have removed my choice of whether or not to allow apps to transmit my personal details to god-knows-where. I may no longer have the choice to set these myself, but I do have a choice over what browser and search engine I use. I am therefore going to register my protest by making this my last blog post, ditching Chrome and no longer using the mighty G for web-searches. My new smart phone will have no apps other than those which were pre-installed and all location reporting will be turned off (which probably won't be enough these days). Hopefully Google will see the error of their ways and in time restore the privacy options. If not, my next phone may be a Windows phone. I don't consider Microsoft to be any better in the area of privacy but usually there are third-party apps to get the job done. If Google don't restore the privacy options then the next step will be to find a way to filter-out adsense adverts from web-pages (and I better start looking for a calendar replacement as well).
As this post is essentially mud-slinging at a large powerful corporate the usual disclaimers apply - "all oppinions are my own and blah-blah-blah etc".
Subscribe to:
Posts (Atom)