Sunday, November 16, 2008

Silverlight Warning

For browser plugins; this one worries me.

Worries me enough to blog an entry - which will hopefully do something useful. Now, I'm not bashing the program - but the EULA and privacy statement. I know Vista has started collecting a lot of information, but this goes way beyond what I would have ever expected.

First, it transmits a bunch of stuff to websites that you visit, like a regular browser:

  • IP Address
  • OS Version
  • Browser Version
  • Application Version
  • Regional and Language Settings
Ok, and this irregular stuff about your hardware (which really shouldn't be needed - but I can live with):
  • Device manufacturer
  • Device name
  • Device version
Some information is sent to Microsoft, now let's list this.  Oh wait, there's no list, but interesting quotes:
  • Content of communications (communications to who is not specified... could be any data silverlight sends - that's communication).
And think Microsoft will keep it to themselves?
  • Share it to uphold the law - ok.
  • Protect Microsoft's rights and property - ok - sounds like DRM.
  • To protect the safety of people - I want examples of this - seems too far fetched, and I could see weird things happening - must be my imagination in overdrive that finds ways to use this as a 'carte blanche'.
Ah, the DRM:  The component just gives me the chills.  The only interesting point is revocation - which happens on a per-individual basis.  For me to even use it - there must have a way to bypass it, or a promise that if the servers go down, the DRM will be disabled.

Lastly, my favorite: Microsoft can change this privacy statement at any time.  Please, check the date and time, remember it, and check it again every so often.  I know this hasn't been used for evil so far - but it's still there and annoys me to death.

I like the EULA though.  Nice, simple, compact.  Essentially Microsoft will only give you 5$ if Silverlight destroys your system.  Much nicer than the BSD license - or any license for that fact - which essentially say you're on your own.

In the end, there is not enough transparency for me to trust them.  And given how much data collection goes on in Vista - the paranoid bone in me says it's a huge data grab.

Here's the privacy statement - the one I bashed - and tell me if I'm crazy: http://www.microsoft.com/silverlight/resources/privacy.aspx?v=2.0.31005

Thursday, July 31, 2008

Google Reader

This is, as much as I don't like giving Google too much information, a good thing. It's a simple RSS reader. It saves my progress where I'm reading, and passes on what others in my GMail contacts read. Why an entire post for Google Reader? I used to manually check slashdot/digg/etc for updated posts. Now, just check reader, less often. So I have more time to write blog posts, like this. Now back to what I should be doing - correcting a paper on computational physics before I submit it.

Saturday, July 19, 2008

Thoughts and Spoilers on Wall-E

This movie wasn't what I was expecting, but that was my fault for even having a hint of an idea of what was going to happen. I'm overly happy with the movie, and will discuss multiple layers of themes that seem to be going on.

The simple story is about Wall-E that falls by love at first sight for a robot called Eve. Wall-E is a trash compactor, Eve is a plant-finder - searching for evidence that earth can sustain life. It basicly boils down to Wall-E trying to get closer to Eve, which is aided by the fact that he has found a plant. The story ends happily, like every other story.

The first hidden layer is that of all the Mac references. They're out there, and fairly easy to find. Like Wall-E's Mac boot-up chime when he has collected enough solar power, the one-button mice, the iSight eyes, Eve's designer is an Apple designer, and Wall-E watches a video on an old iPod.

Looking at the stereotype card, the story plays very well. The simplest is that Wall-E goes out every day, compacting trash whereas Eve once given a seed (plant) incubates it until a ship returns to pick her up with the plant. Wall-E is used, Eve is new.

The story is a social commentary on consumerism, and how consumerism prefers and thrives off of human independence. Focusing on the "me, myself, and I", whereas humans off this grid of commercial obsession are humane. Then there is how this commercialism is drowning us in garbage. With a few added snides as to how children are indoctrinated with brand-names from school, and how the mini-world bubble just makes people ignorant of the world around them.

The play between Wall-E and Eve is just a continuation of this, Eve having to admit that individualism to accomplish her goal for the corporation is not always the best route.

Overall I enjoyed the movie - and should edit this post for clarity and details.

Saturday, July 12, 2008

Is this fair?

Today, my beef deals with licensing, owning, and lies. The problems are lesser for the pirates - they really don't have to care. Neither would they care, the license agreement is just a bunch of text that they blindly click "next" with without any chance of repercussion.



I have fun reading license agreements for software. You can really only read them AFTER having bought the software, and you can't return the software if you don't agree. So the solution is make the license agreement a contract people must read and sign at the cash register when buying software. Also give them a pop-quiz to make sure they read it and understand that by using the software all their rights have been violated to a certain degree.



The next is allowing companies to change a license at will. Either through system critical updates, or just writing it in the contract. My solution: all contracts, digital or not, must be editable by the user who can propose amendments to the contract if they don't agree. And to make this perfect: if a user does not agree to a contract for a software update, and obtain a virus from lack of patching, then the user of the program can sue the company that made the program for the cost of the program. The last part is to keep free software free.



And lastly, people are told that they "own" media. "Own it today" the ads say on TV. Then you notice that after all the nice restrictions, they own the media, and the user has the license. Any fault in advertising in saying "own" instead of "license" will give the user of the media the right to "own" the media to do whatever they wish. Also, clear license agreements must be drawn up so we know what we're getting as consumers (a la iTunes)



The last thing deals with transfer, and the idea of not being allowed to resell/transfer a product. Again, I think that's lame. The goal of all this DRM is to ensure that a digital copy becomes a physical copy - that no-one makes more copies out of thing air. Then why can't we share our digital copy like a physical copy? Or is this a one-way street where it's all the positives according to the company?



I think I'm just peeved that the pirates have it better than the legit user. They can preview a movie/game/whatever before buying. They don't have to care about a ridiculous contract they have to sign and agree to only after they can no longer return the product. They don't even have to care about activation. Nor do they have to care about invalidated keys. Things just work with little effort or fear of revocation from some anonymous remote entity.



At times I wonder why I put so much extra effort in trying to "be legal" when I could even more easily not care like the rest of the masses and fire up an illicit p2p program and access all the media/software I could ever want.



If that were the case, my money would always go to the best producer of a given media. The best movies, the best games, etc. This is because of unlimited previews, I get to try new things, not fearing about the $30+ hole it'll burn in my wallet. And when I do buy something, I know it's the best... So companies can't rely on rehashing the same thing for consumers that feel safe paying into the same old thing. This is more my fear of stagnation - people not creating new IP but shifting from existing ideas to ensure profitability. Who would pay $50 for a new, innovative, untested concept without trying it first or getting good word-of-mouth reviews?



This is the end of my rant. All to say, pirates have it nice. Pirates and rich people will try the new innovative products and get the word out. The rest of us prefer the tried and true media - and get iffy and not buy into anything else.



My solution to all you media companies out there: follow what I outline above. At times you make people sign contracts such as "we are not responsible if your system contracts a virus from using our software" when given software is a single-player-game with no required internet connectivity, etc... That's beyond lame. You expect us to buy something using a medium who's demo can be easily distributed at a low cost thanks to P2P technology.



So here's something to ponder: All my favorite media I tried before buying - either through demos, cartridges borrowed from friends, etc. All my worst purchases are from hype and reviews. And trust me that affects companies as a bad purchase = ban of producer/studio from my "safe to buy from" list for life.

Thursday, July 10, 2008

Why post?

I barely read blogs (bad thing given this one gets occasionally updated), don't really care if anyone reads it (or else I would have told everyone), so why do I keep on adding stuff here?



  1. Personal Reflection: Keeping thoughts in my mind is difficult. Writing just ensures that the thoughts come out - and enforces concentration.

  2. Global Log: Easily accessible from anywhere in the world given Google remains alive.

  3. History: So many other things I've lost, or have just gone. Each post is like a snapshot of who I was before.



Ah, time for my favorite part - the devil's advocate:



  1. Why Share if it's Personal? Not personal in that sense. More my thoughts on various things. For example, game reviews - something that I hunt for whenever I try to purchase a game - I appreciate having access to. (hundreds of bloggers is better than a few big-media as more things will come out of it - ok, I read blogs found through the web randomly, none followed in particular. Something to add for those who are being attentive)

  2. History? Yes, people change. This is a snapshot of who I am, today, July 10th. The best example of this is a hard drive I had in my old 386. Popped it into my current machine, booted it up, and boy did it bring back memories and set me straight. I wanted to be a cartoonist - so a little protagonist I had invented while in high-school graced the desktop as my wallpaper. I envy those days, things were less complicated because I didn't know any better to make things complicated.



Which comes to maybe the greatest reason. Blogger is the easiest method (so far) that I've found to keep my past alive. And I know complexity - as a programmer - I can tell how we overcomplicate our lives. For example, to access a database there's SQL that, for many things is overkill powerful, but works great. It needs to parse statements, check against the schema, and do a ton of things. I could do the same with a flat-file (and at times flat-files are better). We like complications, I like how things were much simpler when I was younger.



I digress - keep it simple stupid.

Monday, July 7, 2008

Better Terrain Rendering

After work, I get home. I spend the day in front of a computer, and wish to rest by writing even more code. What could be better?



Well, I'm currently working on a special project as a portfolio piece/awesome thing for the yearly Apple developer competitions. On the side, I've given up on GameLib - too much code with too little return - objective-C suits my needs. I still miss GameLib for it's ability to cram all implementation details in the .c file as opposed to C++/Objective-C - but if I keep with that route, I'll spend more time maintaining the library than taking steps forward with my interests...



Now, on to the meaty part, the rendering! I love ray-tracing, but it's not the solution that I'm searching for. What I want is a fast, detailed, renderer for terrain. Something that could draw the smallest pebble to the longest blade of grass.



So here's my first solution to my little problem: render a special mesh that is the terrain. Simply, have a mesh with concentric circles - where the user should focus the circles are closer and denser. Then, the further, the sparser they become. The fun part comes when it's time to render - use a height-map to display the mesh and to do bump-mapping. So as the user approaches something they see a wonderfully high polygon count, but further away it appears blurred (which I use to mask all the other shortcuts I've used)



Now I want a million blades of grass with such features -- sending me back to the drawing board, even though I may have a solution resting in my head. I just haven't thought it through enough yet.

Monday, April 28, 2008

Shortcuts

Down the winding road we walk. Past tall oaks, thick grass, a rickety trail laid in the center, created by generations of travelers.

Father and son, off to the village through the scenic route. The quick way would be through the village's nice wide roads, but the unnatural build of the city, it's perfect corners, its people, all seem artificial.

The fashion craze sweeps the city, manufacturers hunt for shortcuts. They found them half-way across the world. Something not even a madman would have considered eons ago.

The rickety forest trail, with all it's detours is faster than the straight road once red lights are factored in.

Now, where's the evolution? Unless if the human is not really the master, but the slave to a bigger creature. A creature, where a human is merely a cell, a very complex piece of DNA, expendable as there are millions. Soon, the transport system will be the arteries, and the computer the brain.

Life creates life, and forms life. We aren't doomed, we just fit perfectly inside a machine, for galactic-sized creatures. To become the ants of the galaxy, in order to be observed by the humans of the galaxy.

Mario Kart Wii

I was skeptical. Reading review after review, either from 1up, IGN, GameSpot (who trusts them?), EGM, and any other site that was captured by the Google web crawler. Every person seemed to be really beating down on the game. It felt like -- this is yet another addition to the Mario Kart series. You know what to expect.

After having played the game for a while (finishing the 50cc, now working on the 100cc), that this is Mario Kart as I'd expect it. You have read all the bad from other sites - and I can state that they are correct in their analysis. At times you win by luck, items are rigged so that the racers remain close together, there is one AI that is destined to be your main competitor chosen at the beginning of each race...

But this is nothing new. All people who know the franchise must be aware of this. It was like that in the GBA version, and it was like that in the N64 version.

Before continuing, Mario Kart is a kart driving game, but it's also an action based kart driving game. If I have a power-up, I want someone to target it with. This puts the blue-shell and star in perspective. If you're behind, you'll want some action or else the race will be boring - and these power-ups rarely, if ever, pull you to the top 3. They just bring you towards where all the activity is. If you want a racing game purely involving skill - look elsewhere unless you only want to deal with the multiplayer/vs mode. I'm defending their decision, yes, but do agree that some of the complaints of reviewers were well founded.

The choice of maps from previous games seems questionable. None of them I was truly fond of (my favorite still being Yoshi's maze on the N64 version). The new courses though are great. Wario's Gold Mine is amazing, so is blasting across the highway in the star cup. This game deserves at least to be rented to play all the courses (on 50cc mode, you'll see them in about a day max, half a day or less if you're good).

Speaking of the N64 version, I played that a day before, so it's fresh in my mind. First, blue shells are much more commonplace in Mario Kart Wii. If this is a good thing, we'll know in the long run. It is annoying, thus forcing you to stay behind until the last minute... which I never do - thus always getting hit by the shell.

The wheel actually plays very well. I thought I'd go back to my classic controller, but have been hooked on it. (use the Wii Wheel for a few laughs...)

But there's one glaring failure of the game. The manual. For example, why do I get random boosts in speed for no reason I can tell in game (not from drifting, just regular driving)? What's the difference between heavy-weights and light-weight classes? This gets into how karts are coupled to drivers, and other nuances of the game. For gamers, this doesn't matter - it's for the Mario Kart uninitiated that I worry about...

Tuesday, January 29, 2008

Raytracing Woes

Well, last semester I wrote a raytracer for class. Now I'm currently adapting it to other projects this semester, and working on it to be fast enough to become the default renderer in GameLib.

It's amazing how much a month of neglect of code brings out all the flaws. Rested mind, I easily found spots where the logic was questionable - and impossible to enter if statements. And all that in the core ray-shooting code.

Right now I'm adding amortized rays, and removing bad code. The program is somewhat faster - from 0.8fps -> 1.8fps max on a 256x256 texture. I had hoped for more than just a single fps gain - so will revisit the code next week to improve subdivisions.

The implementation from last semester used Altivec to amortize rays - the problem being that if rays diverged paths then a lot of useless calculations would be done (the higher the resolution, the better the benefit, or so is the bet).

Saturday, January 26, 2008

Review of Advance Wars: Days of Ruin

Apart from scaring the person at the counter in the electronics department at the local grocer as I bought the game the day it came out; I've been quite pleased with the latest installment in the series.

Compared to Advance Wars DS and Advance Wars 2, this game seems even easier. I have managed to get through the first dozen levels with mostly S-ranks all over the place. The AI doesn't seem to defend their home base making capturing it a much more trivial affair (my favorite strategy involves a dozen War Tanks surrounding the enemy base while it's being captured). For example, the first level with boats, the AI moved all of its forces to attack my tank leaving its base free (about 3 moves away) - long enough to load up a lander (moving with 3 decoy ships that couldn't attack - they were destroyed, the lander survived) and they had enough time to dock and capture the enemy's HQ. In a subsequent level, the HQ was defended by missiles (the things only useful against air units) - again, with a lander (boats carrying units) it was trivial to bring two tanks to hold off the attack and a motorcycle to take care of the HQ.

The audio is good, but the music for certain COs feels like noise - but it doesn't feel out of place either. Actually, put on headphones, it sounds less like noise.

The graphics are much better - except for the wooden areas which look more like grass. But given this game's strength is not graphics (Final Fantasy Tactics Advance 2 looks much better); I don't really care as much.

The battles scenes are nice, but feel slower. For example, in DS they would be zoomed in or out then attack. In Days of Ruin, opposing forces appear on a different screen - the first attacks, while the second waits for the bombs to arrive.

The story within the campaign is good, and easy to get into. The amount of text to read to follow the story can seem tedious, so if you lose hit start to skip all the text. (something I've noticed with Intelligent System's games as I've been recently playing Fire Emblem for Wii - where they go to a point of mocking that fact in Paper Mario).

Downloading maps and uploading them was very easy. Too easy some could say. I have yet to see if playing against random opponents compares to playing against the AI (this is primarily a game I play on the bus)

The gameplay is standard Advance Wars fare. Some units found a new name, and some now can do more. Also, CO powers a not to be found in the first 17 or so levels in the campaign - meaning you can't rely on a CO power to save the day - which is a good thing in my opinion. The motorcycle units are extremely useful and remove the need for the transport/mech combination used to initially capture properties.

In the end, I'm really enjoying this game - except for the fact that I haven't sumbled onto an overly difficult level yet (still have hopes that one will slow me down).