Jun

3

It has come to this.  Revision3, a new media company with it’s own shows and distributes them using new technology (P2P) is attacked by the “old media”.  Revision3 has its own shows, which I doubt the “old media” sees any “action” (i.e. money) from.  They use P2P technology to distribute their shows.  They made a technical mistake in that the way they used P2P also allowed non-Revision3 employees to “seed” P2P network with illegal files.  Once they found their mistake they, like good net citizens, locked it down.  “Old media”’s response?  DoS attack a legal ligitimate company.

If you or I were to DoS attack a company we would have the feds knocking at our door and probably be arrested.  MediaDefender (who’s media are they defending?) does it. . .  no big deal.  The way I see it since the “old media” saw Revision3 was making money on it’s shows without the “old media” getting it’s cut of the action, they decided to take them down.  Kinda like the guy who comes by your store and insists that you pay “insurance” for nothing “unfortunate” happening to your store.  Funny thing is, THAT is illegal.  However, RIAA or MPAA taking you out since they aren’t getting their cut of your “media”, that’s all well and good.

I’ve seen it pointed out that Revision3 was not “innocent” since they had a technical flaw in their system that allowed illegal seeding.  Isn’t that kind of saying “well, since you left your car door unlocked it’s partially your fault your car was stolen.”  Even if I make the mistake of leaving my car door unlocked, which IS stupid, it’s not less of a crime to steal my car.  I know techheads aren’t really into Christian philosophy but hey “he who has not sined cast the first stone”.  Or in this case “he who has not made a technical mistake defend MediaDefender’s DoS attack.”

P2P is great technology that has the potential to revolutionize data sharing on the intenet in the same scope that the “Web” revolutionized the use of the internet.  However, much like the horse buggy makers weren’t happy with the invention of the automobile, “old media” is not happy about P2P potential.  Unlike the invention of the automobile, world governments are slowly making use of the new technology illegal and empowering the modern equivilant of the buggy makers to be above the law.  Fighting this new technology only sets our modern advancement back.  But hey…..a lot of people want to put us back in the dark ages right now.

Jan

3

So, it seems that the “real” media has actually covered the latest lawsuit by the RIAA that I already discussed after coverage from the Washington Post.  A lot of coverage is saying “no, no, no, the RIAA did NOT say ripping CDs is illegal”.  However, what they are missing is that it is in fact the RIAAs stance that ripping CDs IS illegal.  You want to parse words?  Let’s parse words.  From the RIAAs website:

Copying CDs

  • It’s okay to copy music onto an analog cassette, but not for commercial purposes.
  • It’s also okay to copy music onto special Audio CD-R’s, mini-discs, and digital tapes (because royalties have been paid on them) – but, again, not for commercial purposes.
  • Beyond that, there’s no legal “right” to copy the copyrighted music on a CD onto a CD-R. However, burning a copy of CD onto a CD-R, or transferring a copy onto your computer hard drive or your portable music player, won’t usually raise concerns so long as:
    • The copy is made from an authorized original CD that you legitimately own
    • The copy is just for your personal use. It’s not a personal use – in fact, it’s illegal – to give away the copy or lend it to others for copying.
  • The owners of copyrighted music have the right to use protection technology to allow or prevent copying.
  • Remember, it’s never okay to sell or make commercial use of a copy that you make.

THAT is what the RIAA says about copying to your computer.  Notice the bold and especially underlined parts.  They don’t say it’s legal.  They say “it won’t raise concerns”.  In other words they are reserving the right to say it’s illegal should they so chose in the future.  Another way of putting it is to say “We promise not to try and sue you or this as long as you follow our little rules we have set up. 

I want to emphasis this the RIAA itself does not say that copying a CD for personal use is legal!!!!!!!!  What hey say is that it usually won’t raise concerns.  That means there are circumstances in which you follow their little guidelines and it can raise concerns.  I personally would like to know what my liability is.  Right now I don’t.  I know that I will “usually” be ok as long as I follow their guidelines.  I have no idea when I wont be ok even if I do follow their guidelines.

In other words they hold the keys to the kingdom.  The U.S. government has relequished control over copyright enforcement to the RIAA.  Don’t get me wrong; they should be able to do some enforcement of their copyright.  But should they be the ones to decide what is fair use and legal and what is not?  From all appearances and practical purposes, right now they are. 

 

Dec

12

From arstechnica: RIAA: Those CD rips of yours are still “unauthorized”.

So, you buy a Sony MP3 player and use the Sony software that comes with it to RIP a Sony CD to your Sony computer and copy it to your Sony MP3 player.  Sony then pays the RIAA to sue you for copying the Sony CD to the Sony MP3 player with the Sony software.

Can anyone else see what’s wrong with this picture?

Nov

19

Favorite C.S. Quote

November 19, 2007 | Leave a Comment

I took a C.S. elective course my sophomore year of college that used “Structure and Interpretation of Computer Programs” as it’s textbook. I will never forget the first paragraphs of the book (emphasis mine):

We are about to study the idea of a computational process. Computational processes are abstract beings that inhabit computers. As they evolve, processes manipulate other abstract things called data. The evolution of a process is directed by a pattern of rules called a program. People create programs to direct processes. In effect, we conjure the spirits of the computer with our spells.

A computational process is indeed much like a sorcerer’s idea of a spirit. It cannot be seen or touched. It is not composed of matter at all. However, it is very real. It can perform intellectual work. It can answer questions. It can affect the world by disbursing money at a bank or by controlling a robot arm in a factory. The programs we use to conjure processes are like a sorcerer’s spells. They are carefully composed from symbolic expressions in arcane and esoteric programming languages that prescribe the tasks we want our processes to perform.

A computational process, in a correctly working computer, executes programs precisely and accurately. Thus, like the sorcerer’s apprentice, novice programmers must learn to understand and to anticipate the consequences of their conjuring. Even small errors (usually called bugs or glitches) in programs can have complex and unanticipated consequences.

Fortunately, learning to program is considerably less dangerous than learning sorcery, because the spirits we deal with are conveniently contained in a secure way. Real-world programming, however, requires care, expertise, and wisdom. A small bug in a computer-aided design program, for example, can lead to the catastrophic collapse of an airplane or a dam or the self-destruction of an industrial robot.

Master software engineers have the ability to organize programs so that they can be reasonably sure that the resulting processes will perform the tasks intended. They can visualize the behavior of their systems in advance. They know how to structure programs so that unanticipated problems do not lead to catastrophic consequences, and when problems do arise, they can debug their programs. Well-designed computational systems, like well-designed automobiles or nuclear reactors, are designed in a modular manner, so that the parts can be constructed, replaced, and debugged separately.

cover.jpg

Feb

13

IDEs in a Commercial

February 13, 2007 | 2 Comments

I heard a co-worker calling someone nasty names. I turned and looked at him like there was something wrong with him.

“What, a guy can’t curse at his IDE?” (he uses Eclipse)

If there was a commercial with IDEs represented as people in it, Eclipse would be the Windows Guy and Idea IntelliJ would be the Macintosh guy.

Jan

23

After not really getting into the Oblivion or KoToR I finally gave up and asked my buddy half a nation away to name his game and I would play it online with him. Being an old IL2 fan he said “IL2″. So, I loaded it up and started practicing my flying. Although they are passe now flight sims are the old standard of computer gaming.

Although flight sims are the most advanced type of gaming in terms of realism that is available on computers there is one aspect that has interfered with compelling gameplay. That aspect is the one of looking around. In other games you point to where you are “aiming” or you have a third person style view. However, in flying (and driving for that matter) it is common to be going one direction and looking another. You have to in order to maximize your situational awareness.

With this in mind I started to want a way to move my head around to dictate where I was looking out of the airplane. My buddy first link this to me. I quickly dismissed it as being counter intuitive. After all, you may be moving your head around but you have to keep your eyeballs straight ahead. I thought this wouldn’t work.

So, I started looking for headtracking VR goggles. Wow, even after 15 years of promises this technology’s price point is still way to high for me. Not only that but many of them don’t even have headtracking as part of their functionality.

But after reading forum ravs on IL2’s website about the TrackIR and watching video of it’s use I started to come around. I decided that if I got serious about playing that I would get one. I probably would have bought one yesterday if they were carried at Fry’s or Best Buy near my place of work.

After remembering that I have a pretty nice webcam and I wondered if I could use that somehow to do the headtracking. Well, I found Cam2Pan. I was pretty happy to see you could demo it before you bought it. Last night I tried it out to see how well this headtracking technology really worked for flight sims.

The Bad

It would now be a good time to explain how the software appears to work. The software uses an algorithm to recognize the ambient light coming off of your nose. As it tracks the movements of your head it sends that data to NewView who then translates that into a view position that it tells IL2 to use. This can be some of the cause for the “Jitters” because if it’s not fine tuned then the translation for where it wants your view in the game to be will be arrived at by using large steps instead of small steps (or something like that I think). This is also the cause for loosing center. If I moved my head around where the tracking software lost my nose or had trouble keeping a track on it then when it found my nose again it might not recognize exactly where it should be (again, something to that affect I think).

The Good

After I was done I went to spend time with my wife. However, I continued to think about what it would be like to go back to playing the game without Cam2Pan and whether I could do it. I decided that I don’t think I would want to play the game without it anymore. It really is that intuitive and adds that much to the game.

TrackIR

I don’t have, nor have I used TrackIR. However, after trying Cam2Pan out I think I could take a guess at how well it would work.

I think it would be smoother. The new versions of IL2 have TrackIR capability built into the software. This would decrease background CPU required, increase smoothness and likeness to mouselook and allow more CPU for graphics and the program.

I think it would be easier to fine tune and have less recognition issues. Since the device is specifically designed for this use, it uses a “dot” (either sticker or in the latest version a clip that you attach to your head) to track then I would imagine the recognition would be easier. I believe it also comes with software that is easier to get your “profile” to know how to recognize your movements. So, Cam2Pan is the poor man’s TrackIR and I think TrackIR would bring better quality that is worth the price.

The question for me now is $10 Cam2Pan or $180 TrackIR 4: Pro.

Jan

22

It’s old news now but Steve Jobs said “No one uses Java” (or something like that). There has been a lot of discussion about this. I’m not a Steve Jobs disciple or a huge Mac fan but I have a healthy respect for both of them. But his statement and the discussion around it has threatened my “world view” (from a Java perspective).

Early in my career I decided to hang my hat on Java. It appeared to be a great up and comer. A language that could solve world hunger and cure cancer. Although it’s not quite done that yet, it had always appeared to me to be rather healthy. I also specialized in J2EE and even though I haven’t created an EJB in years I’ve been pumping out servlets and started using open source frameworks to my advantage (a la Spring/Ibatis).

After Steve’s comments I’ve started to question whether I’ve “maxed out” on Java. I’m not an expert by any means on Spring/Ibatis nor any other popular Java frameworks. But the difference between one who knows a subject and one who is an expert on a subject is experience. Not the “I’ve coded 50 million of my own applications in my spare time that no one uses” kind of experience because in that context you can always change the parameters of your project. I’m talking the experience where you have to conform to a customer’s requirements. In that context I can pretty much pick up any framework I need to and the only experience I lack to become an expert is completing projects for customers that REQUIRE those frameworks (or where I chose those frameworks).

To be fair the context of Steve’s comments appear to be directed to Java as a client language. I’ve never coded client side Java in my professional life. I’ve even lost the opportunities for jobs I really wanted due to my lack of experience with Java UI. The Java I’m experienced with and have “hung my hat on” is the server side Java. This has always been my direction. I view Java as the 21st century COBOL. That’s not meant to be degrading, it’s simply where Java has thrived. Where COBOL (or FORTRAN) programs on mainframes were once used as tools for business now Java on small servers are used.

I’ve always had the attitude that I will pickup whatever technology I need to keep myself marketable. Since all I’m hearing about lately is how Ruby can solve world hunger and cure cancer I guess I need to start picking that up. But I’m getting older and the older the dog the harder the new tricks come.

Jan

3

Code in Books

January 3, 2007 | 1 Comment

NOTE: My OCD may be a factor in the following post:

If there is one pet peeve I have about reading technical books it’s errors in the example code. For example, in the Spring: A Developer’s Notebook that I’m reading right now on page 45 the following line appears:

protected RentABIke getRentABike(){

As soon as I saw the line I recognized the error because I had done the same fat-finger several times during the first two chapters (the I in RentABIke should be lowercase). As far as code errors in books goes this is a very trivial error. But it does point to the fact that the person who wrote the example, in this case not the primary author, didn’t even enter the code in an IDE much less compiled or tested it.

The most egregious of errors are when the example code not only does not work but the entire way in which the code is structured or framed doesn’t work. I’ve seen this where you have to basically re-write the example to get it to function. The re-write may demonstrate what you need to learn from the example but it takes so much time to do so you might as well teach yourself and forgo even reading the book. Most books at least forget to include some xml configuration entry or possibly a small method required somewhere. It can make it hard to learn the subject matter if your busy trying to figure out some small bit of configuration or code that has been left out.

I don’t learn from actually entering the example code and running it. I can do it with my mind completely shut down. The way I learn is to look at something that works and change it. The best case scenario for me to learn from examples in books is to enter the code, get it to run and the change it around. I want to look at it, think of some change I want to do (starting small and making larger changes until I feel I understand), make the change and test the results. For me it just takes too much time to do this if I am wasting my time fixing the example code.

I remember in my comp-sci 101 class the Pascal book we worked out of had the example code in the text but had an appendix in the back with full and complete code for the examples in the back. To me this is the best way to use example code in books. The code in the back should be fully tested by someone other than the author to make sure it compiles and functions the way the author desires. I guess not having this in the back saves a lot of money in printing. Why bother these days anyway when you can (usually!) download the code from the publishers site. BECAUSE THE BOOK IS INCOMPLETE IF YOU DON’T, THAT’S WHY!!!

I think I would be good at going through books and verifying the quality of the examples. I would enjoy doing it also. If any authors are interested, drop me a line, maybe we could work something out. I doubt it though. I just can’t see making the same amount of money I do now editing example code.

Dec

22

JUnit’s Usefullness

December 22, 2006 | 1 Comment

Since, I have just finished chapter 2 of Spring Developer’s Notebook I have a question (I feel foolish for even posting these thoughts but here goes). I have never understood the usefulness of using JUnit in testing web applications. I know that’s blasphemy. I know every good Java developer should be using JUnit to test their code. This is especially true if they are using iterative development.

Although I have never researched how to use JUnit properly, from the few examples I have seen it used in books it seems rather pedantic. The tests you setup you know will work from the program successfully compiling. Testing with your local web server and testing the app seems like it would be faster than coding the JUnit test cases.

I am guessing that I am missing complex tests and proper ways to use JUnit to test with.

Dec

21

Spring Dev Notebook

December 21, 2006 | 1 Comment

Inspired by Erik Weibust I have started working through the “labs” in Spring Developer’s Notebook. This is good since I have already implemented a Flex/Spring/Ibatis application that allows mapping of comma delimited files to database tables to upload for a client. Oh, well. Better late than never.

In case your curious, before I implemented the app, I had never worked with Spring/Ibatis (although I had worked with Flex 1.5). I spent 3 days researching and two days implementing before I got my first “slice” (a single function of the application that goes from the client all the way to the DB) working with the framework in the object configurations I wanted. The rest was implemented in the setup I did without problems (spent more time on the Flex front end than the Spring code).

I’ll mark my progress to the right.

Search


Links

Archives