I’m not sure it’s that appropriate given the circumstances surrounding my extended family, but today is the eve of the lunar new year, so an early “Happy Chinese New Year” to all. Technically, it is more like “Happy Lunar New Year”. Having meant to put up a random post last week, and not really having the motivation to get around to it, it’s another sizable post this week.
First Anniversary at Ziphosting
The 23rd Janurary 2014 marks the first anniversary of being hosted at Ziphosting. It was a turbulent year, with some down-time of the SQL server, slow responses at times, settings which broke the commenting system and slow support times.
I’m glad to say that most of that is no longer the case. Even the comment system seems to have miraculously fixed itself, and so we enter the second year of being hosted at Ziphosting.
In my first year, the final visit count to my blog area (excluding legacy pages) was 150,000. I hope to see this trend continue into the future, as I try to bring you more interesting and diverse technical content. Thank you all for your support.
FlightRadar24 is a pooled ADS-B live plane position tracking service. It is available for free, in sessions up to 30 minutes between refreshes, and gives you plots of the detected plane positions all around the world. It’s pretty awesome to watch.
One thing I always wanted to see was just how “real time” it is. Lets just say, these photos say it all:
The top image is of the Airbus A380 operated by Singapore Airlines. My mum was on this flight on her way to visit grandma. I was monitoring the flight for its departure time, as she had to connect with another flight at Changi, so I had my own ADS-B set-up and also FlightRadar24 to rely on.
All I can say was that FlightRadar24 was bang-on for timing. I rushed outside with my D3200 and my 70-300mm lens to snag a picture of it. It was a hot day, so the rippling of the unsettled air-mass is apparent as the “limiting factor” as to the sharpness of the shot. The plane was where FlightRadar24 said it would be – and this time, it was closer to our house due to weather track-variance.
The bottom image is the shot of an Airbus operated by Cathay Pacific. Again, my mum was on this flight, just last week, flying back to Hong Kong to attend the funeral. Again, FlightRadar24 was right-on with positioning and time – this time, the plane was further away due to taking a different track. You can see the local electricity pole with manually operated contactors on the HV lines, indicating the “low” angle of elevation as observed from my home.
Of course, FlightRadar24 isn’t perfect, sometimes the ADS-B feeds contributed in drop-out, resulting in planes disappearing and re-appearing every few seconds. Other than that, coverage is incomplete in the sense that the plane will “disappear” over the sea and in remote areas, although I must say the coverage is pretty good as it is. Best of all, it’s free – so next time you want to make sure the plane’s taken off, try giving it a look-up at FlightRadar24.
Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP, known as DASH or MPEG-DASH, has been implemented at a major video on-demand streaming site. You probably know which one I’m talking about.
I noted earlier that the request format for 1080p on that site had changed, and that third party tools and APIs that used the service were unable to offer downloads at 1080p quality (some of them, contravening the terms of service). Lately, these sites have had trouble offering any downloads at any quality and third party programs which interfaced with the site (contravening terms and conditions) stopped functioning correctly.
The reason for this coincides with the introduction of MPEG-DASH.
MPEG-DASH is a “new” streaming technology that leverages the existing HTTP infrastructure (including CDN, caching, load-balancing, etc) to deliver the audio/video content in “chunks” of a given length. Each of these “chunks” is encoded at a different bit-rate/quality, and depending on the player/client’s experience, they can switch between different bit-rates/quality chunks seamlessly during playback, altering requests as the bandwidth reduces or increases.
This is behind the new experiences of users which have seen automatic quality switching – some to 240p and others to higher quality, without having touched anything. It’s also possibly the cause of “seek failures” where the video fails to load after a seek, or stuttering audio/video between chunks in some cases. So far, it’s not completely without problems, although it’s working okay for many.
This is similar, in some sense, to the proprietary Real servers with multi-stream encoding, where depending on bandwidth, the output stream could automatically switch between qualities, and depending on loss and CPU/memory constraints, scalable video coding would allow each to experience the best that they could. However, instead of requiring a specialized server, now it’s more standardized.
It’s also similar to Apple’s HTTP Live Streaming, which breaks long streams into fixed length chunks linked by a playlist, although I don’t think Apple’s HTTP Streaming is quality adaptive.
I had made some private analysis of packet captures of the request mechanism used by the new player at this site, and looking at the chunks, I can conclude that indeed, it appears to be MPEG-DASH judging from the file header.
Interestingly, in what seems to be a protection of their copyright holders and content, the requests for the chunks are encoded with the requester’s IP address, session cookie, and a time-out/keep-alive system. The chunks requested are about 20/30 seconds, normally of one type of media (audio or video). As a result, it is much more difficult to unravel such a system.
I won’t talk about how one can obtain DASH streams themselves as this will probably contravene terms of service (and cause considerable anger), but there are ways which can fall within the terms of service. I encourage users to read the terms of service carefully and decide for yourself if what you’re doing complies with the terms. Likewise, I do not condone the use of any information provided in breaking the terms and conditions of video-streaming sites, nor do I endorse any copyright-infringement.
Again – this information is provided purely as an academic analysis of MPEG-DASH files. I don’t think it’s a problem when we’re just discussing how to work with the DASH format itself. DO NOT USE THIS INFORMATION TO INFRINGE COPYRIGHTS.
Having gotten that out of the way, you can also identify a DASH coded file using MediaInfo:
You can work with DASH files directly using some tools, although, it is much easier to play them in a supported player. The majority of DASH files will have a .mp4 extension, but you will find many existing players will not play these files. The latest version of VLC 2.1.2 supports DASH files.
You can also use VLC to un-DASH your files without loss. This involves using the convert feature to convert into an MP4/MOV container.
If you have a DASH video and a DASH audio stream, then set up individual profiles that directly copy the video and audio respectively, as below:
By selecting to keep the original tracks, you are effectively de-multiplexing the stream and re-multiplexing it into an ISO Media MPEG-4 container (i.e. the usual MPEG4 encapsulation).
MediaInfo now shows the above DASH clip as an ISO Media format after going through the above process. Note that the incorrect stream parameters have been corrected by processing through VLC.
Maybe you have separate Video and Audio .mp4 files. No need to worry – the last step is just to multiplex these into a single .mp4 file. MP4Box can do this for you, although I like to use a GUI, so I use YAMB.
As a result, you can get ISO Media style files which older players will be able to play. Increasingly, the DASH format will be supported by more players and devices, so this won’t be a problem in the future. But now you know – things have been changing all over the internet, and some of the “luxuries” we’ve enjoyed are starting to evaporate.
Earlier in the year, Yahoo had an issue with malware being served through their advertising channels. Suffice it to say, such attacks are an annoyance to many, because ads are used on a multitude of sites, and while they may look innocent sitting in an animated box, it appears that ads that are run are merely “code” and “images” which aren’t very much vetted by advertising companies.
This can have nasty side effects. Lets just say, certain sites have become annoying experiences because of this:
It’s not only this, I discovered another set of annoying ads, these revolving around mobile apps. Several games advertise on the Cheezburger Network sites (e.g. icanhazcheeseburger.com, failblog.org, verydemotivational.com) and they have even worse consequences:
See this ad? It looks innocuous. But in fact, it does something which I didn’t expect … in barely 30 seconds, it launches …
… the App store. I was browsing, and now I’m in the App Store. I didn’t touch anything, I didn’t click anything. In fact, if the page loads with the ad in it, after a pre-determined amount of time, it will launch a link which invokes the App Store handler.
This also happens for this game too on my old iPad too …
It’s worse than a pop-up. It brings you out of your app, and can confuse novice users. Switching back takes time, and the fact it commands your attention “full screen” is just annoying. It might convince users to install it by virtue of the fact that it costs nothing in order to rake in money from in-app purchases. Further to that, it might skew the popularity charts if view count is a metric, because there are many automated views generated by code, and not users.
At least, I haven’t seen anything bad from Adsense … not yet anyhow.
iOS Mail App Glitch
This week, I came across an interesting glitch between the iOS Mail app and my mailboxes. I had an e-mail, with no sender, no subject and no content, labelled as 1/01/1970. You can’t open the message (it says No Message Selected), and you can’t even swipe to delete it. Refreshing the mailbox several times still results in the message persisting and claiming it was unread. These things drive me nuts.
Eventually, it self-cleared, but I haven’t seen anything like it in ages.
Voice of Vietnam
I had tried to claim a QSL from Voice of Vietnam earlier, although I didn’t manage to get the QSL as I didn’t get enough of their program to be eligible for one. I had always meant to write back and claim one finally, for listening to their English overseas service.
However, I did get some goodies from them through the mail, a while back.
There was a Happy New Year card.
Inside it, was the message …
They also provided a mini pocket calendar …
That wasn’t all. A few days later, I received this rolled-up package … I was totally not expecting this …
Thanks very much VoV for taking care of your listeners. A Happy New Year to you all, and I promise, I will write back for a QSL in the future!
Zoom H1 Handy Recorder Firmware Upgrade
I purchased a Zoom H1 Handy Recorder many years back as a high quality field-recorder. I used it only very occasionally, and its low price and 96khz/24-bit recording quality was the main attraction.
Unfortunately, as it was the cheapest option in the Zoom range, it didn’t have USB audio interface. I took that as par for the course – the low end often has to do without these features.
It was shipped with firmware V1.00, but the other day, I decided to see if there was an upgrade. To my surprise, there IS! The firmware upgrade is easily applied by extracting the file to the SD card, and powering the H1 on with the Play button depressed. Then press the record button to confirm upgrade, and once again to begin.
The new firmware brings USB audio interfacing to the H1, making it even more useful! It’s also capable of recovering some files due to loss of power, and is much quicker at checking the card on boot-up. In other words, a much needed update. You can even get ASIO drivers for it, if you want to use it in low-latency applications, but appears it’s only capable of 44.1khz/16 bit or 48khz/16 bit and is selected upon connection to USB.
A worthy upgrade that costs nothing! Just make sure your battery is good before you start – you don’t want to kill it by losing power during the firmware upgrade!
Chewed Netbook Charger Cable, Assembling a System
I got a bulk lot of stuff from a friend – one of the things included a netbook which I wanted to get going as a secondary experimental system (for light Linux work only). Unfortunately, I found it wouldn’t charge, and the cable was warm in one particular spot. Inspecting the cable showed three regions where it was chewed through, one spot was so bad that the inner and outer wires had welded together!
Lets just say, it was a labour of love to make three soldered splices and then heatshrink it together – but it’s been saved from the bin for now …
Things like that are like the “bread and butter” of any home-repairer – soldering a few wires together is easy. But to do it properly, and make it look decent takes a bit of effort. Lots of people just throw money at the problem – but money doesn’t solve everything. For one, it doesn’t improve your skills, and it doesn’t stop the waste from disposing old electronics which is an environmental issue at the moment. All it does is save a little time (if that, because seeking a replacement adapter takes time too!).
The bulk lot also involved a Gigabyte GA-P35-DS3P, Intel Core2 E8400 with heatsink, 6Gb DDR2 800Mhz RAM, a pair of IDE hard drives (a Maxtor refurb and an unhealthy Samsung HD300LD), a LiteOn iHAS120 DVD+/-RW and the nice Fractal Design Define R2 case.
I decided to give it a go by throwing in some more spares – two spare 500Gb SATA drives, one spare 250Gb SATA drive, a Gigabyte GTX560Ti graphic card, a Soundblaster Xtrememusic PCI and a repaired Antec 550w Truepower 2.0 PSU. That one had formerly blown its caps, but with a little bit of solder, managed to return to life.
It’s probably the neatest build I’ve ever done, considering the non-modular nature of the PSU, I used every hole I could. Not that neatness ever fazed me. The case itself being a premium case is something entirely different – bitumen-matted panels for noise control, it weighs like a tank!
Overclocking it was a mandatory experience – I managed to go from 333 x 9 to 385 x 9 (about +15%) with slight overvolt (1.425v, pre-droop), Prime95 stable 24 hours – 390 x 9 just wasn’t stable even with significant overvolting.
Now I’ve got another box I can use for experiments or “real-time” tasks when I need to.
Canon Powershot A530 Sensor
My Canon Powershot A530 5MP point-and-shoot retired many years ago due to a jammed lens motor gearing (and having upgraded to an SX110is). Eventually, it came time to dispose it, so I took it apart to get at the heart – the sensor. It’s been sitting on my desk for a while, and I came across it while cleaning.
Interesting how this sensor seems to be on a ceramic-style grey-colour substrate, with gold pads inside to wirebond to. The number of connections are comparatively few, implying some intelligence within the sensor possibly. It has a lovely, uniform clear appearance to the glass.
Getting closer wasn’t really possible. Maybe I’ll look at it under a microscope another day …
But the lovely part about looking at sensors is the fine micro-structure within that leads to iridescent colour when viewed at different angles. This is similar to how peacocks get their nice feather colours … all diffraction of light.
We finish off this random posting with no further good news about my ankle. Unfortunately, it’s a case of waiting and seeing if the treatment is effective, and getting another round. The right side feels a bit tingly, which suggests it may be on the virge of recurring again, although we don’t know this for sure.
Unfortunately, as a result of my absence from my PhD work due to the ankle, it’s been a busy week trying to co-ordinate with my supervisors as to the best course of action in regards to scholarships. Unfortunately, there’s just no motivation to do the small amount of work that I can at home – as most of the work is experimental and requires attendance. Sometimes, not being able to get out of the house, I feel like completing a PhD is just impossible … and I’m just trying to do the impossible. Other times, I feel like it’s pointless to worry myself about the PhD … if I’m not going in to do the work, I shouldn’t think about it at all … I’ll be suspended somehow anyway. Every time I think about it, I think about how much I miss doing work in the lab, seeing my supervisors and my friends and talking to them about interesting findings.
Instead, now, I spend my time at home making my own findings within my room. At least this way, my brain doesn’t turn into a vegetable, and I can keep developing skills which could come in handy in the future. It also stops me from focusing on the depressive elements when I can do something exciting.
Not the best start to the “new year”, most definitely, but I do what I can …
Late Addition: Things are NOT FOR SALE
I seem to have had a bit of an issue lately with several e-mails which seemed to think that I am offering products for sale. I AM NOT offering anything for sale. I do not sell anything. Don’t contact me looking to buy anything you find on this site – they are not for sale. I am not a supplier, I don’t know the suppliers for Product X or Product Y, etc.
If I receive such e-mails in the future, you will not get a reply no matter how many times you send me the e-mail.