Getting the most from your SSD. Or, how to move programs to an SSD via symbolic links.

EDIT: There seems to be some issues with Origin and/or punkbuster. When using this method the game will crash on startup much more often than when using the normal HDD. I'm guessing the SSD is fine and that it's the link that's causing problems. I'll investigate to find out more.

So, I've been playing Battlefield 3 for a while now and the one thing that's really getting on my nerves is the load times. Not exactly BF3's fault, but the levels are quite large and take about 30-60 seconds to load. Not fun.

So I went and bought myself a solid state drive (SSD) in one of those fancy black-friday deals (60$ for 60Gigs, OCZ Vertex 2). But the trick is how to get battlefield on it. There are three ways that I can think of off the top of my head:

  1. Install windows on the drive
  2. Uninstall BF3 off of my traditional HDD and reinstall it on my SSD
  3. Symbolic links!

Method 1 is what my buddy used and although it brings vast performance improvements to windows itself there are a couple issues. SSDs break down after a while, rendering the NAND flash unable to perform write operations. SSDs also don't come in particular large sizes without paying a significant amount more, and 60Gigs isn't a whole lot for Win7.

Method 2 should work barring any issues with BF3 being installed on a different drive to C. I've had problems like that before, very annoying. The major issue here is that BF3 is a large game and this will take quite a bit of time.

Method 3 is probably the craftiest way of going about this. It involves NTFS symbolic links, which rather than explain it I suggest you read the wikipedia article: https://en.wikipedia.org/wiki/NTFS_symbolic_link. I use linux at work (Xubuntu) and I'm very familiar with both hard and symbolic links. NTFS symbolic links are pretty much the exact same as the linux variety.

What we have to do is pretty simple, and boils down to the below steps. Note this only works on Win Vista and 7, and that I'm not responsible for any loss of data should you want to follow these steps ;).

  1. Copy the "Program Files/Origin Games" folder to your SSD. I made a new directroy on the SSD called "mnt" and copied the origin folder into there.
  2. Rename the "Program Files/Origin Games" folder on your HDD to something else for the time being (in case you mess the process up). I called mine "Origin Games old".
  3. Open up a command prompt as the admin. To do this in Win 7 press on the start/windows/circular thing and type "cmd" in the search box, then press Ctrl+Shift+Enter to run the cmd prompt.
  4. Goto your Program Files directory, just type the following in the cmd prompt followed by enter: cd "C:\Program Files"
  5. Make a link to the folder you copied to your SSD. You'll need to know the drive it's on, as well as the full path to the folder you copied to it. In my case the command is:

mklink /d "Origin Games" "D:\mnt\Origin Games"

And voila! You have a new directory link in Program Files that will automatically direct you to a folder on the SSD. Go ahead and try it out; navigate there with windows explorer, and most importantly run BF3 to see that it both works and that it loads extremely fast.

Some caveats: I'm not 100% sure but I don't think you can remove the directory properly in windows explorer. If you need to remove the link do what wikipedia says and remove it via 'rmdir' in the cmd prompt.

Other than that you should be able to quickly move any currently installed program to the SSD without wrecking your directory structure.

Posted
 

Parallel resistor calculator

I made a parallel resistor calculator in Qt the other day, and it turned out to be a real time-saver both at work and in my personal projects. So I've decided to post it here so others can get their hands on it!

Why do you need a parallel resistor calculator you ask? Well, to start off with, manufacturers only make certain values of resistors based on a logarithmic scale. There are many times when you need a precise value of resistance and you simply can't find a resistor made in that value. To solve this problem, you need to put two resistors together in parallel in order to make the proper value (see wikipedia for more details). Because of the calculations and the resistors available it becomes really annoying and tedious to figure out which resistors would be able to match. That's where this program comes in, simply input the resistance value you need and it will give you the best match based on 1% or 5% resistor series. And it even gives you convenient buttons to search digikey for the resulting resistors, very handy!

I'm going to be releasing the source at some point soon, and I'll update this with a link once that happens.

EDIT: Here we go, my first open source project! Check it out under it's fancy google code website:

http://code.google.com/p/par-res-calc/

Posted
 

60-70's GE flip clock restoration

I got a really awesome alarm clock (GE 7-4300F) from my girlfriend for xmas but when we plugged it in we heard a loud grinding noise from inside the clock. "Ah-ha!" I exclaimed, "A pesent and a christmas project, perfect!" And so I proceeded to carefully dissasemble the clock with the intention of greasing the drive mechanisim. Dissasembly involved ripping the knobs off the side and carefully removing the innards, which turned out to be vastly more difficult than it ought to be!

I used WD40 to grease up the little gears inside of that plastic orange case (which I had to break to remove). Remember when using WD40 you can't spray any of the black-plastic, that would be ABS and WD40 will probably eat right through it. The white plastic gears are some kind of nylon and WD40 doesn't wreck those.

Anyways, got it all working and now it's sitting pretty in our bedroom.

 

(download)
(download)

Posted from Burlington, Canada
 

Canonet QL19 Battery Replacement

OK, so I totally forgot to post pictures and more details on this! Here are some pics of the little tiny voltage reference, as well as the guts of the canonet and how I wired it in there. Some things of note:

  • I used a MAX6160EUS+T adjustable voltage reference as the basis of this design. Using some resistors I managed to get a nice clean 1.35V out of the circuit.
  • I glued the voltage reference to the paper, then once that was down I glued the resistors in place. After everything got a bit tacky I soldered it up. I would suggest you use really sticky glue as mine got runny once it heated up and stuff started shifting around.
  • The case of the Canonet is actually +1.35V, not ground like you would expect. Crazy Japanese bucking conventions, haha.
  • Don't leave the battery in the device, the circuit will just kill it eventually.

I can't find the schematic that I drew up but it isn't much. Just check out the MAX6160 datasheet on the Maxim-Dallas website. Pretty easy stuff.

Going to pick up the first pictures tomorrow, hopefully they turn out!

 

(download)

Posted
 

Canonet QL19 Voltage Reference

It's been a while since I've updated (busy and all that, not to mention no-one reads this :P) but I finished the tiny voltage reference for the 3V lithium battery to drop it down to 1.35V. I used a novel twist on the deadbug circuit method that uses paper as a 'substrate', in that you glue everything down to it and then solder it all together. What you get is a super small circuit that has an insulating barrier on the one side.

I'll be posting pictures/schematics/writeups later today.

http://www.mattdentonphoto.com/cameras/canonet_QL19.html

Posted
 

1965 Canonet QL19

While vacationing I managed to find a working Canonet GIII QL19 for 4$. So far it's a really cool camera; it has all the manual modes you could want, a super fast (f1.9) lens, and a light sensor built in to the lens. The problem is that it needs a now defunct mercury PX650 battery for the light sensor. These things run at 1.35V and are a tiny bit taller than a normal watch battery. There are replacements (which only last a year and cost a lot) and there are voltage converters (which cost about $40-50 Canadian).

My idea is to use a really thin voltage reference chip and try to sandwich it between the contacts and a normal 1.5V watch battery. Looking for parts right now, will update the blog when I make some progress :).

Posted
 

Intro

This is just a quick intro to what essentially amounts to my first blog. Do I expect people to see this? No. I do however like the idea of keeping a simple blag of sorts :)
Posted