Jump to content

Winder

Members
  • Posts

    20
  • Joined

  • Last visited

Personal Information

  • Location
    Colorado
  1. I haven't actually used Cachya, but I have tried 2 FreeTrack setups (one 30 fps webcam, one 100 fps Wiimote) and one HAT-Track setup (worst ever, do not buy under any circumstance). Plus, I have two TrackIR 4s. I’ll try to shed some light on what I understand and believe the differences to be… both technically and experientially. While the respective software--be it TrackIR, FreeTrack, or Cachya--can be important, the bulk of the performance comes with the camera. Good interfaces optimize your tweaking process, process the 6 DOF algorithms with more/less success, manage profiles, and regulate CPU footprint a bit (plus potentially lots more). All good, important stuff to consider. But, in the end, they're just the go-between. The camera determines the quality of data the software can work with. There are at least four (probably more) main aspects you should consider when evaluating the camera: resolution, frame rate, field of view, and processing. The resolution is probably tied for most important on that list. The more resolution you have, the more stable and responsive tracking will be. If you have very few pixels tracking your head movement, small head movements will either not be picked up at all or will be significantly exaggerated. The more resolution the camera has, the more granularity of the motion tracking. This is a good thing. More granularity = more stability = more native smoothness. Native smoothness means that artificial smoothing is less necessary. Since artificial smoothing is essentially an averager, it introduces latency. (It can't predict your future head position, so it makes you wait X frames before it can average their results and give you a nice, smooth motion... that waiting = latency.) So, if you need more smoothing (because your resolution is lower), you will have a longer delay in your head tracking and a much harder time "stopping" quickly. Many low-res/high smoothing head tracking demo videos on YouTube show this. The motion will often kind of crawl to a stop when directions change. Resolution is also important when tracking at further distances. The further away you are, the more physical space each pixel of resolution represents. Low res cameras assign large chunks of physical space to each pixel. This results in the unstable tracking described above (unless severely smoothed, which introduces problems already outlined). Frame Rate is basically just as important as resolution. The faster the camera updates, the more likely that when it reports your head position to the game, it will be correct. If a game updates at 60 fps and your head tracker updates at 60 fps, for your head position to be correctly represented, they need to be refreshing exactly in sync. This is essentially impossible. Their inconsistency is called phase drift, and you basically can't avoid it. So, the best solution is to pump as many frames to the game as possible. The more times the camera tells it where your head is, the higher the likelihood that it will be correct. So, a 30 fps camera will never give you an accurate reading of your head movement, because it just doesn't keep pace with a decent game refresh rate. An additional problem with low refresh rates involves the smoothing addressed above. Because smoothing requires a delay of several frames to take its average from, a slower refresh rate makes you wait potentially 3-4X as long to get your movement to register. A 30 fps camera will take 4X as long as a 120 fps camera if they have the same amount of smoothing. Field of view is important for obvious reasons. The higher the FOV, the more physical space you have. The only downside is that at really high FOV (maybe 60+), you start to get distortions at the edge of the viewing area. So, the marginal return after 60 degrees or so is likely pretty small. Processing can be hugely important... both type and location. If the processing is done on the camera, it lessens the footprint on your PC. If you have a monster of a machine, this probably doesn't matter. If it's older, this could certainly matter a lot. Processing type is also important, but kind of hard to explain. Basically the camera can see light in different ways. TrackIR 4 uses segment tracking, which is OK, but does cause some inherent jitter if completely unsmoothed. There is talk of a certain TrackIR 5 releasing soon, and I understand it will have grayscale tracking. This would be huge, because it allows the camera to see much more subtlety in light. This means way less jitter and a lot of stability. The problem with grayscale is that it gobbles up bandwidth. I think most smaller cameras couldn't handle it on-board. So, to summarize... A camera with high resolution and low frame rate (high-end webcam) will give you smoother tracking, but more lag. A camera with low resolution and high frame rate (Wiimote) will initially give you less lag, but will be more jittery. The jitter will require more smoothing to be steady, which wil reintroduce lag into the tracking. A camera with low resolution and low frame rate (low-end webcam) will be laggy and jittery, and if smoothed to reduce jitter, really laggy and mushy. Really, the most disastrous confluence of conditions when it comes to motion tracking of any kind. A camera with high resolution and high frame rate (TrackIR, others??) gives you the best of both worlds. It should accurately and quickly track your head movement, but also should have good native stability. Whether you really need stable, smooth, and fast tracking is a bit subjective, I guess. If you only doddle around cockpits, it’s not hugely important. :) If you race or play tactical shooters, a laggy or imprecise camera is worth little.
  2. Direct quote from the CH Control Manager Software EULA: (Emphasis added by me.) How appalling of them. How anti-competitive. I, as an owner of both a Saitek and CH Products joystick (which is true), feel like my consumer rights have been violated. :doh:
  3. Sorry for coming off kinda snarky in my first response. I don't want to argue, either. ;) I do wish to disagree, though. If there are text strings in the TrackIR software that are copyrighted, and someone elects to copy those strings in their own software without permission, are they not violating copyright? Some say that, according to 17 USC, interoperability purposes make them exempt. I would submit that this is irrelevant for two reasons: First, FreeTrack is, essentially, built on the TrackIR interface. Sure, it has some UI tweaks and some other features built on top, but it uses the same foundation, function calls, etc. Ergo, it's not a competing product, but rather a counterfeit of the same product. Interoperability implies two different interfaces working together, not one trying to scavenge another. Second, that USC provision applies to those that have an ownership claim at stake, which FreeTrack devs and users do not. (Kudos to Prophet for elaborating on this important point.) The FreeTrack devs don't own the copyrighted text strings... NaturalPoint does. FreeTrack users aren't claiming that they're trying to synchronize two products that they own (those being FT and TIR), only to have their interoperability efforts thwarted. I think it's fair to say that, almost universally, they are trying to establish interoperability with software that they do not own a license to (the TIR interface, which is made available for the purpose of supporting TIR hardware). TrackIR users pay for the right to license the TrackIR interface in games with TrackIR hardware. FreeLoad users do not. I will agree that many, and perhaps most, EULAs probably contain unenforceable demands. But, it's irrelevent. You have to evaluate on a case by case basis, and I think it's clear that, in the proper context, the requests that NP is apparently making are reasonable, enforceable, and totally normal.
  4. It's irrelevant how inane you could possibly make a EULA. Your example is unenforceable, misleading, pointless, and a complete red herring. It's very standard (and, I would submit, acceptable) practice to create a EULA that says, "Hey, you're using our brand new piece of technology. Hope you like it, because we're proud of it and worked hard to create it. But you know what? We're pretty decent people, so we'll risk the security of all our hard work in order to let you explore new and creative ways to use this stuff. We only request that you don't copy what we've done and distribute it to other people for free. It took us a while to make it, you see. Plus, this is our job, and how we feed our kids. Do you think that's fair? If so, and you agree to honor our request, please sign your name below." See the difference?
  5. Great point. I agree completely. It's not like NaturalPoint is Microsoft or General Electric. They're a relatively small business serving a pretty small market. Why penalize them for sustaining their profitability just because they cost a bit more than a webcam? (It's not like webcam manufactures are giving FreeTrack users support in games! Of course they can make their units for less money.) If another company wants to provide a similar technology, support it with R&D, tech support, developer relations, etc... so be it! The more the merrier. FreeTrack is different. Yes, they have their own interface. How many games does it support? How many does the TrackIR interface support? About a hundred or so more than FT. So, who is really giving us (*all* of us) the support? Even FreeTrack users depend entirely on TrackIR. They just don't have to pay for it like you and I did. I have a feeling that that's exactly what happened. "Oh, hi there NaturalPoint... hey, um, I'm on the development team for this new awesome flight sim. Can you send me your SDK so I can implement TrackIR in it? Oh, you will? Gee, thanks!" *snicker, snicker* You're dead on accurate, I bet. Except with one thing: "It's not illegal." Really? Have you ever heard of a EULA? Click through license agreement? Etc...??? I think you should try to track down a copy of the TrackIR SDK license agreement. Considering the fact that NP went through the effort of copyrighting the relevant text strings that the FreeTrack software retrieves (without permission), I have a sneaking suspician that they prohibit making derivative software in their license agreement. Which would make the situation that you described quite illegal, indeed. The point isn't how difficult or simple it is. It obviously wasn't too difficult, since the FT guys succeeded. But that has nothing to do with whether it's right or wrong. I shudder at that thought. I've been trying to get FreeTrack running to its fullest potential, for my own testing purposes. I've had numerous problems, and I've asked for help on their forums, only to be directed to the FAQs. "Thanks." Look, I don't begrudge them at all for the lack of support. It's free software, and any help that's provided is done so for free. But, there's no way that a couple of guys in France and Australia can handle the support burden of the entire TrackIR and FreeTrack communities in their spare time. When you need help with a TrackIR, you can call NaturalPoint and have someone on the other line within 15 seconds. No comparison. Unless one of the parties is hiding behind forum handles and Internet anonymity. Wonder which one that is? ;) I understand that, in the States at least, we are innocent until proven guilty, as far as the law is concerned. But that's not actually the case, in reality, right? If I go download a pirated copy of Black Shark, and I don't get caught (ergo, I don't get prosecuted), am I not in the wrong? If this is ED's position, I'm sure many of your customers would love to be informed. We could have saved some money. I'm just playing devil's advocate to make a point, but don't worry... I would choose to reward you guys for your effort, in either case. Seems like the right thing to do? ;) No kidding... I wonder why they don't take NP to court? Well, golly. It's just so hard to figure out... NaturalPoint: "Wait, wait, wait... you guys are suing us? For "anti-competitive" behavior? Lovely. Take a bite out of our copyright infringement counter suit. Tastes nice, hmmm?" That case would be so open and shut. I know all about your "interoperability" arguments. Do you really think you can exactly copy an interface (while, in the process, violating the very license agreement that allowed you access to it), call it a "competing product," and then claim that locking it out is an interoperability issue? Developers have a right to protect themselves from their hardware interfacing with software that pirates their own, which is basically what FreeTrack is doing (if not in name, at least in form). Quoted for truth. I think that much is clear. What 6DOF technology has ED supported from the beginning? Or any other developer, for that matter? Basically every game that has implemented 6DOF head tracking uses TrackIR. Why? Because NP are the ones that made it commercially viable. They are the ones that created an SDK to make integration simple. They gave it all to ED. Why would ED turn around and flip them the bird for it? That makes no sense.
  6. I think that what the OP is suggesting is that you might be able to get a cheap/free TrackIR from a generous fellow BS player. :) You might ask him about the details via PM. :) Then, you wouldn't be stuck with a substandard hack that violates copyrights on TrackIR text strings. :beer: For your sake, do your research on this. Look at the hardware specs. Look at the difference between sensor resolution and sub-pixel resolution. (Or, better yet, the combination of pixels/degree + field of view.) Look at sample rates and how important they are in addressing phase shift. Don't get suckered into investing "$15" (HA! More like $50-$75 by the time you're done) into something that won't like it should. Especially if you have access to something better for cheap/free from someone that doesn't need it any more. Untrue. (Very.) Do you own a TrackIR 4? I own two, and I've also used two different FreeTrack setups. (Trying my third right now, with a Wiimote, though I'm having some Bluetooth stack issues that are holding the process up... got a new dongle on order that should help.) I'm still trying to optimize my FreeTrack setups, but as of now, there's little comparison. FreeLoad running with a top of the line Logitech QuickCam is far less crisp than a TrackIR's responsiveness. The FT software "accounts" for this by increasing smoothing, which their lead dev claims is necessary for steady headtracking. All you need for steady headtracking is a slight deadzone while your brain acclimates to controlling a TrackIR. In order to mask its latency and phase shift problems, FreeTrack forces you to "smooth" your tracking. You will never be able to have a responsive experience with that kind of "solution." Basically, FreeTrack starts you out behind the curve, then blurs all of the brain's sensations that would normally indicate this, in order to fool you into thinking the experience is the same as a TrackIR. I've used both. They are not the same. Even a TrackIR 3 PRO will give you much higher FPS and sensor resolution than either a Wiimote or a good webcam. Or, if you want to talk about "sub-pixel resolution" (which Wiimote fanboys are obsessed with--thus the purported "1024x768" resolution), the gap in performance gets even larger. (TrackIR 4 can resolve up to 1/20th a pixel, compared to the Wiimote at 1/8th... this means that TrackIR 4 has sub-pixel capabilities of up to a whopping 7100x5760!)
  7. :clap_2: Very nice gesture, and a great idea! Rep inbound! :puke: You guys are flipping incessant with this misinformation. Why are you so determined to steer people into a crappy counterfeit? Do you even own a TrackIR 4? There's no comparison in hardware specs (except with TrackIR 1, which is ancient, and wasn't even designed for gaming). $15 is going to get you a webcam with a horrible frame rate and 30+ ms latency. Both are the death sentence for accurate tracking. This guy is trying to get a cool technology into the hands of people who'd like to try it, and the FreeLoaders just can't help but break into the conversation like a spoiled little kid. I feel like I want to have a dialogue with another adult, but my 4 year old niece just won't stop tugging on my sleeve so I'll look at the turd she just dropped in the living room. TrackIR 2 will work in mouse emulation mode (i.e. 2 DOF). It isn't as good as TIR 3 or 4 from a spec standpoint though. 2's resolution and sample rate is worse than both, and like the 3, the FOV is 33 degrees (compared for 4's 46 degrees). Still, with a higher combination of FPS and sensor resolution than just about any webcam or Wiimote, it's a start!
  8. Exactly. This whole mentality is absolute craziness to me. Aside from the completely flawed legal logic behind it (which sadly isn't suprising to me, considerng the wacky source), if NaturalPoint hadn't created their interface/technology, none of us would likely be using any form of head tracking in Black Shark (or any other game for that matter). The concept and technology did not exist prior to TrackIR. Additionally, the FreeTrack "developers" haven't invested nearly what NaturalPoint has, in that they neither created a new interface nor spent the time and money necessary to persuade developers to implement this technology in the first place. FreeTrack users, whether knowingly or not, are continually biting the hand that feeds them. Case in point: What if the guys at NaturalPoint just closed up shop and stopped pursuing implementation in new games? What would change? Nobody would have headtracking in any new titles. Black Shark would be the last title to support headtracking... at least until FreeTrack or somebody else decided to pony up the money, invest the time, and foster the necessary relationshiops to hound game developers all day long and get the code into their games. In other words, no TrackIR = bad for everyone. How about if the FreeTrack guys just went away? What would change? Nothing. All that FreeTrack provides users is an avenue to discreetly mooch off of the ingetuity and hard work of other people without giving them their due compensation. FreeLoad is more like it.
  9. Doesn't this post, and really the entire thread, constitute a violation of Forums Rule 1.8? "Material and links to material that includes information on and/or promotes software piracy is strictly prohibited."
  10. I understand that every credible source on the Web that I know of disputes that number as the actual resolution for the Wiimote, including the lead developer for FreeTrack as well as the most prominent sources on Wii Homebrew. I understand that I've provided sources to back this up. It's certainly much more than an "academic" detail. First, having a camera that refreshes at the same rate (or slower, for that matter) that the game refreshes is a problem. It needs to refresh at least twice as quickly. Why? Phase drift. It is inescapable, and it ensures that the camera will never perfectly update in sync with the video card/game. To account for this, you need multiple frames of motion capture to be available for each frame of the game. That way, even if it's not balls-on accurate, when the game updates the head tracking data, it will be very, very close. If you don't have that extra redundancy, when phase drift kicks in, actual real time updating becomes impossible. This is guaranteed to happen with any camera that has a low frame rate. This is why web cams and other low FPS cameras have motion blur, latency, and fidelity issues. Second, your understanding of FPS as it relates to motion tracking compares apples and oranges. Did you read my example about tracking a golf club? It's a pretty simple concept, I think--that being the difference between FPS as it pertains to an image/monitor/game's refresh rate versus a camera's refresh rate (especially when motion tracking is involved). In case you missed it, from a previous post: "Another way to look at it… imagine you’re watching video of a golfer practicing his swing. Let’s say his club head is being tracked by markers using a motion capture system. You’re watching the results on a monitor that’s refreshing at 35 FPS (5 FPS faster than television, I believe). First, his club head is tracked by cameras that update at 15 FPS. Then his club head is tracked by cameras that update at 400 FPS. In both instances, the monitor you’re watching on is refreshing at the same rate. But the tracking quality is going to be vastly different. Why is this detectable to the human eye? Because the FPS is not impacting what you see from your monitor. The FPS is impacting what the monitor receives. This concept is exactly the same as what happens with head tracking. Cameras w/ low FPS don’t accurately detect motion real time, which means that by the time your see the in-game view with your eyes, what you see is already outdated." OK, OK, noted. :music_whistling: TBH, I don't think this discussion has been about TrackIR or FreeTrack, really. Maybe on an ancillary level, but the bulk of the discussion has just been some spirited disagreement about the fidelity of a Wiimote-based tracking system--which I think is relavent, considering the nature of the OP's hardware setup. Nevertheless, consider my jets cooled, following this post. :pilotfly: I was thinking of something a little bit more masculine: ;)
  11. That's a good idea... I think my wife would give me way less grief if I tried something subtle like this, instead of a full on repurposed golfing glove. Unless it was an actual thimble, in which case I might as well present her my manhood on a silver platter. ;)
  12. Actually, the information that I quoted on the Wiki is correct. The specs you are referring to are based on early rumors that circulated before more in-depth reverse engineering was done on the Wiimote. While the Wiimote sensor's specs are not publicly circulated, I think it's pretty common knowledge that the most up to date information has the Wiimote sporting a 128x96 resolution. (See http://wiibrew.org/wiki/Wiimote#IR_Camera for another source... the go-to source for Wii hardware info.) The 128x96 resolution is the actual sensor resolution. Just like the TrackIR 4 has an actual sensor resolution of 355 x 288. The Wiimote's 1024x768 is actually the result of 8X subpixel analysis. Much like TrackIR 4's 710 x 288 effective resolution is a result of horizontal resolution doubling through subpixel analysis. I agree that the 100 FPS of the Wiimote is far superior to that of a typical webcam. I was saying that a typical webcam, with vastly greater actual sensor resolution, is superior in that respect to the Wiimote. Basically, if you want acceptable resolution, you need a webcam. If you want acceptable frame rates, you need a Wiimote. If you want both, you need a TrackIR. This isn't correct. As I noted, the actual sensor resolution is 128x96 for the Wiimote, which is practically Medieval. (Though the relative weakness of the hardware makes sense, considering what the Wii was made for... little kids and grandparents playing virtual ping pong together. According to a previous poster, the Bluetooth connection can result in some issues. I can't speak to these. FOV isn't limited only by distance. It's determined by the lens. We've already been over this though. :) Again, this is incorrect. Here, I'll send you to FreeTrack's lead developer to confirm what I'm saying: http://www.free-track.net/forum/index.php?showtopic=482&message=5033 The Wiimote uses 8X subpixel processing. TrackIR 4 uses 2X on horizontal only. So, if there's no substitute for "the real thing" (which I don't necessarily agree with, as subpixel analysis allows for much more consistency by integrating more stable averaging math in the tracking equations), why is it better to have 8X than 2X? :) Don't forget the Bluetooth dongle. I think that the pricepoint sounds about right--proportional to the actual sensor resolution. Plus, take into account the fact that TrackIR is made in the USA (with much higher labor costs), and I think you're closing in on the rationale behind the gap.
  13. Moving further away doesn't change the camera's field of view. That is always static, based on the lens. You're correct that you will have a larger area to operate in, though. But, then you're sacrificing a great deal of fidelity if you have a lower resolution camera. The Wii remote has a resolution of 128x96 (http://en.wikipedia.org/wiki/Freetrack), which is painfully low. At that resolution, the pixels will represent huge blocks of physical/3D space (like maybe 6 inches or a foot?)... which means that any pixels that get dropped from remotely quick movement will result in huge jitter. Mmmm.... this is only partially true, and I think not relevant to marker tracking. It's true that the human eye can't tell the difference between 35 FPS, 50 FPS or 500 FPS when it is viewing a video, but this kind of "FPS" is totally different. You're talking about how sensitive the eye is to an updating image. This FPS is related to how fast the camera is refreshing to track movement (and, accordingly, how in line it is with the video card/game). Higher FPS is always good, essential, and very noticeable in point tracking. Even the FreeTrack software accounts for the crappy frame rate in many webcams with its interpolation equation. Why? Because 35 FPS will have large gaps in point tracking with even remotely quick motion. Motion blur = inaccurate and jittery tracking. You've even somewhat addressed this in your statement below (saying that the Wiimote is superior to webcams because of its higher FPS). Another way to look at it… imagine you’re watching video of a golfer practicing his swing. Let’s say his club head is being tracked by markers using a motion capture system. You’re watching the results on a monitor that’s refreshing at 35 FPS (5 FPS faster than television, I believe). First, his club head is tracked by cameras that update at 15 FPS. Then his club head is tracked by cameras that update at 400 FPS. In both instances, the monitor you’re watching on is refreshing at the same rate. But the tracking quality is going to be vastly different. Why is this detectable to the human eye? Because the FPS is not impacting what you see from your monitor. The FPS is impacting what the monitor receives. This concept is exactly the same as what happens with head tracking. Cameras w/ low FPS don’t accurately detect motion real time, which means that by the time your see the in-game view with your eyes, what you see is already outdated. Probably because the Wiimote's resolution is atrocious, which means that most processers probably make light work of it. Maybe, additionally, the Wiimote does some processing on its own board? Not sure on this. It sounds like many FT users think that the Wiimote is the way to go. I'm going to try it myself (hopefully today or tomorrow, but maybe not for a week or so with holiday plans fast approaching), but I'm skeptical that it will be better than a good Logitech webcam (since its resolution is so much better). Certainly a TrackIR has way better specs, all around: Wii Remote Resolution: 128x96 FPS: 100 FOV: 41 degrees On board processing: yes (I think) TrackIR 4 Resolution: 355 x 288 (but, with their subpixel horizontal processing, it actually is accurate to 710x288) FPS: 120 FOV: 46 degrees On board processing: yes *Specs taken from http://en.wikipedia.org/wiki/Freetrack and www.trackir.com That Wiimote resolution is really troubling, especially if you take into consideration the resolution per degree. That would be about 3.12 pixels/degree with a Wiimote compared to about 4.06 pixels/degree with a TrackIR 4. If you're moving more than two feet or so away from your camera, 3.12 pixels are going to be handling very large amounts of real estate... even if you use high powered LEDs. It really seems to me like JonK's project might be even more accurate with a higher res camera--be it a webcam or TrackIR or whatever else is on the market. I like this idea. It would make me less nervous about damaging my LCD screen. I'd probably miss the touch feedback, though. Thanks for the tips on this. I'm trying to get a Wiimote up and running on my PC for some experimentation. This will help. :) Agreed. This is what I was trying to convey when I was talking about FT/Wiimote not likely being able to track multiple rigid bodies. I think that it *could* be done, but a whole new program would need to be created.
  14. I think a single Wii Remote would be insufficient here for simultaneously tracking the head and finger. The three points that track head movement would be probably at least two feet away from the monitor (which is primarily where the finger tip needs to be tracked). With a 41 degree FOV, I don't think that the Wii Remote could have a large enough capture volume to do double duty. Even if it *could* capture the head and finger at the same time, your freedom of head movement would be significantly restricted--probably to the point that you sacrifice the effectiveness of both types of tracking. Additionally, I don't think that the Wii Remote can distinguish between two rigid bodies. I might be mistaken on that, but if it can't distinguish between the single LED on the finger and the other three on the head, the software would probably switch them out quite often, resulting in very erratic tracking. I think you need at least two cameras--unless you have access to a very powerful IR camera with a really wide FOV... plus some software that will simultaneously track multiple rigid bodies. In that event, you'd also need more than one LED on the glove. Things would get complex and spendy. :) In addition to all of that, I think you might have some trouble exporting the positional data of two separate objects into two separate pieces of software... being tracked by one camera. EDIT: I forgot to mention... Not to hijack things here... but is this actually an accurate statement? Do you own or have you tried TrackIR 4? I've been motivated by statements similar to this over the past week to try FreeTrack out with two different webcams (I've got two TrackIRs for comparison). They're both from the Logitech QuickCam line, which is supposedly highly recommended by the FreeTrack devs. Anyhow, I got it up and running after 20 minutes or so, and loaded it up with ArmA. The settings seemed decent within the FreeTrack preview skull window thing, but once I got into ArmA... holy crap. It was so choppy, and it lost tracking so easily... I felt like I was going to have a flipping seizure. It was like Saturday morning cartoons in Japan--way too much movement for my tender eyes. What am I doing wrong? Anyone with some input can feel free to respond via PM, or direct me to a relevant thread, as I'm not trying to hijack this thread (which is extremely awesome, I must say). At this point, from a performance standpoint, my little competition has TrackIR leading FreeTrack by a ways. TrackIR doesn't track perfectly, but FreeTrack made my brain want to weep. I definitely want to give both equal opportunity though. I've heard a lot of statements made by both "sides," as it were, and I'd like to find the actual truth here. Anyhow, enough rambling. :)
×
×
  • Create New...