Android Galaxy Fit wpa_supplicant

I’ve noticed a few people have tried using a custom wpa_supplicant file to enable adhoc connections on their Android enabled device, I’ve also noticed that some of these people have not backed up their wpa_supplicant files.

For anyone looking for the original file, here it is: wpa_supplicant
My phone is a Galaxy Fit running Gingerbread (XWKQ4)

Dropbox changes their ToS, all hell broke loose

On the 1st of July 2011, Dropbox changed their ToS (Terms of Service) to make them clearer and easier to understand for the layman. The result of these changes was an uproar from many users, some of whom removed personal data, all data and in some cases closed their accounts.

Disclaimer: I am not a lawyer, I am not providing legal advice, I am purely stating my interpretation of Dropbox’s  ToS.

First of all, let’s look at the ToS as it stands on 4th July 2011:

You retain ownership to your stuff. You are also solely responsible for your conduct, the content of your files and folders, and your communications with others while using the Services.

 

We sometimes need your permission to do what you ask us to do with your stuff (for example, hosting, making public, or sharing your files). By submitting your stuff to the Services, you grant us (and those we work with to provide the Services) worldwide, non-exclusive, royalty-free, sublicenseable rights to use, copy, distribute, prepare derivative works (such as translations or format conversions) of, perform, or publicly display that stuff to the extent reasonably necessary for the Service. This license is solely to enable us to technically administer, display, and operate the Services. You must ensure you have the rights you need to grant us that permission.

So what is getting users so worked up?

One line: “By submitting your stuff to the Services, you grant us (and those we work with to provide the Services) worldwide, non-exclusive, royalty-free, sublicenseable rights to use, copy, distribute, prepare derivative works (such as translations or format conversions) of, perform, or publicly display that stuff …”

 

People are concerned that they are handing over copyright and IP rights and that their data will be used to make a profit for Dropbox, either by sale of the files or their derivatives. However, what these people are failing to do is to read the first paragraph and the remainder of the “problematic line”.

Let’s take a look at the first paragraph:

You retain ownership to your stuff. You are also solely responsible for your conduct, the content of your files and folders, and your communications with others while using the Services.

Interesting, it says quite plainly that you retain ownership. This implies that you keep your copyright and your IP rights.

Now we shall take a look at the remaining part of the “problematic line”, as it is very important and most people skip over it:

… to the extent reasonably necessary for the Service. This license is solely to enable us to technically administer, display, and operate the Services. You must ensure you have the rights you need to grant us that permission.

Hmm, to the extent reasonably necessary for the Service. Is it reasonable or necessary for Dropbox to sell access to, copies of or derivatives of your work? No. So what is the problem?

 

Looking at what Dropbox is requesting we can see “worldwide, non-exclusive, royalty-free, sublicenseable rights to”:

  • use
  • copy
  • distribute
  • prepare derivative works (such as translations or format conversions) of
  • perform, or publicly display

What does it mean to “use”? Personally I interpret that to mean they can store it and modify it.

What does it mean to “copy”? If you have, for example a desktop and laptop computer, you save a file into your Dropbox folder on your desktop. Dropbox needs your permission to duplicate your work onto their servers/the servers of Amazon and then to duplicate it onto your laptop.

“Distribute”, like “copy” implies the movement of the data from one computer to another. You may have a device in another country, or a shared folder with a friend or business associate; Dropbox needs your permission to distribute your files to these locations.

Why would Dropbox “prepare derivative works”? Those of you familiar with the “Get Shareable Link” feature may have noticed that it can display the contents of the file(s). In the case of a PDF, it is displayed not as a PDF, but as a Flash file, similar to a Youtube video. For an example, take a look here: http://db.tt/r3PGk1T

What about this “perform, or publicly display” stuff? If I send a shareable link to a friend and that friend posts the link on the internet, as a result, my file will be shared publicly. Dropbox needs your permission to do this, whether you intended to publicly share the file or not.

 

In short, Dropbox’s ToS allows Dropbox to operate and provide the functionality we all enjoy.

Will I continue to use and recommend Dropbox? Absolutely.

 

[Update 10/7/2011]

Dropbox updated their ToS again on the 6/7/2011, in an effort to clear up people’s misconceptions; it now clearly says what I have been saying all along.

 

Riven crash on save/load

Skip to the solution

After completing realMyst (and enjoying it a lot), I decided to get the sequal, Riven.

Riven was originally written for Windows 98 and has a number of known problems running on Windows XP, Windows Vista and Windows 7. Most of the problems have been fixed through patches, changes to settings or other work-arounds.

At first Riven wouldn’t launch, so I tried changing compatibility mode to Windows 95 – which sorted that problem out. The next problem I encountered after playing for a while; I decided it would be a good idea to save the game, which is exactly when disaster struck. Riven packed up completely, no error dialogues, no crash dumps, it just disappeared from the screen and returned me to the desktop.

I tried to save and load a few more times but each time the same result, so I did a bit of Googling and discovered a few people with a similar problem on various forums. Some people had managed to fix their problem simply by creating a new game folder and and copying the files across, as follows:

  1. Navigate to C:\program files\
  2. Create a new Riven directory.
  3. Copy the contents of the old Riven directory (except the “data” folder) to the new Riven directory.
  4. In the new Riven directory create a new folder named “data”.
  5. Copy the contents of the old “data” folder into the new one.

This particular procedure didn’t work for me, so I decided to investigate further and fired up my favourite debugger, OlyDbg; as riven needed to be run in compatibility mode, I decided to run OllyDbg in the same mode and then launch Riven from there. Unexpectedly, however, as soon as I clicked”File>Open”, OllyDbg crashed, leading me to believe there was perhaps a problem with the GetOpenFileName API in compatibility mode.

Changing tack, I launched Riven in compatibility mode and OllyDbg in “ordinary” mode and attached the debugger. I then set a breakpoint on Comdlg32.dll’s GetOpenFileName export and proceeded to attempt to open a saved game in Riven. The breakpoint triggered, indicating that the program was crashing after the call, not before – this was a good sign as it meant that there was probably an unhandled return value or something similar.

After setting a breakpoint on the ret instruction at the end of the API stub, I pressed Run and Olly immediately returned with an access violation (attempting to access 0x000004). I tried repeating the steps a few times to see if it was always the same error – it was. I decided the best course of action was to look at the parameters being passed in via pOpenfilename and check that the structure was valid, when I noticed that the current module was “GrooveUT”. Bringing up the Executable Modules window, I quickly spotted “c:\Program Files\Microsoft Office\Office12\GrooveUtil.dll”.

Why is an office component loaded into Riven?  GroveUtil is a shell extension that can be used for syncing files and is part of the Groove application, but for some unknown reason it is loaded into every running application.


Since I don’t use Groove I decided to uninstall it:

  1. Open “Control Panel”.
  2. Open “Add or Remove Programs”.
  3. Scroll down to “Microsoft Office” (I am using 2007).
  4. Click “Change”.
  5. Remove the component “Microsoft Office Groove”.
  6. Restart your computer.
  7. Enjoy Riven.

Update: This fixed the OllyDbg crashing under compatibility mode bug also.
Update 2: Official Microsoft instructions for uninstalling Groove: http://support.microsoft.com/kb/907504 – Thanks to Paul W.

Homemade PVR/DVR with Mythbuntu – Part 1: Intro & Hardware

The Australian Government has decided to close down the broadcast of all analogue TV signals, replacing them with SD and HD digital broadcasts. Whilst moving forward is a good thing, the closure of analogue stations presents a problem for anyone wanting to record free to air television, namely my family and myself. While there are (and have been for a while) a number of commercial solutions to this problem, they are all (at the time of this writing) quite expensive and lacking in features and functionality. There is, however, another solution to this problem, the home made PVR; I will be documenting the steps I have taken to design, build and fine tune this system here.

Home made PVRs are not all that new and have in fact been around for quite some time, however they have not been something I have had any interest in, until the Government made its announcement late last year, that is.

My aim was to build an HD PVR that could do what I want, for less than a commercial unit; as it turns out, it is rather easy to beat the current prices.

Existing Systems
Harvey Norman sell a range of devices varying from $280 to $1000, the cheapest being the Topfield PVR Ready High Definition Set Top Box and the most expensive being the Topfield 500GB High Definition PVR.

The Topfield PVR Ready High Definition Set Top Box is not much more then a glorified set top box, capable of tuning in to one HD digital channel and recording it to an external hard drive.

On the other end of the spectrum we have the Topfield 500GB High Definition PVR, a much more functional system, capable of recording 2 HD channels at the same time. It also has an optional 10/100 LAN connection (presumably for acquiring TV recording schedules and moving recorded video across the network), 3 USB ports for connecting optional external storage and an internal storage of 500GB. Furthermore, there are features for advert skipping and is able to fast-forward up to 128x speed and can function as an MP3 player.

Whilst the Topfield 500GB High Definition PVR appears to be the best all-round system, it is a bit on the pricey side and quite frankly, I wouldn’t want to spend so much.

Designing a homemade system
Whilst browsing the web a few months a go, I came across a very interesting piece of software called MythTV. MythTV is a Linux based PVR system designed to record cable/satellite, analogue and digital (both SD and HD) television. It can also playback the recordings, automatically detect commercials and skip commercials or remove them entirely to save HDD space, pause and rewind live television, burn recorded shows to DVD, stream live TV and pre-recorded shows to multiple frontend systems or even over the internet, function as a jukebox, tell you the weather, be controlled via the internet (eg schedule recordings, etc) and much, much more.

MythTV setups are highly modular and can consist of multiple back ends and multiple frontends and hybrid systems.

Backends are used to record and distribute video, manage the database (used to store recording information, programme guides, etc); they tend to be located in rooms other then the viewing room or locked in cupboards, the basement or under the stairs as they usually are noisy (due to fans) and aesthetics don’t matter.

Frontends sit by your TV or projector, they are usually designed to be quiet,  can be diskless and only have the job of streaming the video file and outputting it to your viewing device and/or sound system.

Hybrid systems are a mixture of a frontend and backend system and are generally used by people on a budget or those who do not care how their setup looks or whether or not it is noisy.

After learning of MythTV, I did a fair bit of research, including reading through the wiki, mailing list, forums, reviews and hardware specs. I then joined the Ubuntu forums where I asked for advice on designing and building my first system. I had already decided that I would need at least 1TB of disk space and a dual layer DVD writer as well as being able to record at least 2 channels at once.

After discussions with several of the forums members and looking around the MSY parts list, I came up with the following hardware:
Motherboard: GA M85M-US2H ($70)
CPU: AMD Athlon II 240 ($65)
RAM: 2x Kingston 1GB 800 DDR2 ($29) – I intended to buy 2 1GB sticks, however due to a mix-up at the store, I bought 1.
HDD: Seagate SATA 1TB ($101)
TV Tuner card: Hauppauge Nova-T 500 ($64.67)
DVD-WR: Aopen SATA ($33)
Case: Coolermaster RC360 ($85)
Thermal Grease: Arctic Silver 5 ($9)

Total: $456.67

The motherboard I chose is a Micro-ATX with an inbuilt Nvidia 8100 chipset which is capable of VDPAU (allowing an MPEG encoded file to be sent directly to the GPU, removing the burden of decoding from the CPU), furthermore it has an inbuilt HDMI port and the integrated sound card is hardwired to the HDMI output and 10/100/1000Mb Ethernet. The board I purchased was the last of its  model at the South Australian MSY stores; it was returned under warranty as it was missing its backplate, so they kindly took $5 off the original $75 price.

The Hauppauge Nova-T 500 is a PCI card capable of tuning in to 2 HD channels at the same time and is well supported under Linux and MythTV. I bought mine second hand off ebay; brand new it costs ~$190. It is unable to tune in to analogue stations.

The case is a Micro-ATX/ATX case, specifically chosen for its dimensions and ability to be used as either a tower or desktop. It came with a PSU and has a nifty screw-less drive mounting system, which I found holds the drive tightly and securely and was easy to use. The case will fit nicely in our cabinet, replacing the VCR with a 4mm clearance above it and several inches clearance either side.

Here is a picture of the “completed” unit. It is still missing IR (for the remote).

Assembled MythBox - Click for fullsize image

Assembled MythBox (Click for larger image)