Chronicling the Failures of DRM

http://www.pcpro.co.uk/features/218559/the-online-music-ripoff.html

Take yourself back to the days when everyone bought only CDs. Imagine what you’d have thought of a store that sold discs that might work on your CD player now, but weren’t guaranteed to work on next year’s models. Imagine that some required you to phone the music store on a regular basis to reassure them that you were the legitimate owner, and were that store to go under, all the CDs you bought from it would one day cease playing. And once you started buying music from this store, you found yourself locked into a system that discouraged you from buying from a rival store down the street. Why, you might think, would you have bought anything from a place like that? Well, if you’re like millions of people in the UK, there’s a strong chance you already have.

All I can say is, “Burn, baby burn !!!”

I wouldn’t call MP3 an open format by any chance, but the article is interesting. DRM in my humble opinion is just a load of crap. Because anyone it is meant to actually stop, is more then smart enough (or equipped to) circumvent it one way or the other. That’s actually one reason why I rarely buy music, my opinion that the companies making the most money off of it. Won’t be happy until they’ve eventually figured out a way to charge someone four times for the same thing, then work on the next big thing, PayPerPlay hahah !!

I generally preer to have music on CD, because it lasts longer. Heh, I’d probably prefer vinyl if it was practical, but that’s a different story ^_^. Generally when I listen to music, it’s always on the computer. And I’m much to lazy to flick Audio CD’s around all day >_>

Yippie-Kay-Yay Micro$oft SFU !!!

Test one: I wonder if Console is a decent replacement for cmd.exe ‘s terminal emulator — It is

Test two: I wonder if the SFU pdksh can do completion? — It can, just had to find the ‘bind’ commands for it

Test three: I wonder if SFU’s pdksh will work with my %PATH% — it did

Problem one: SFU pdksh seems to require the formal name, e.g. ‘foo.exe’ for programs outside of it’s regular path and runwin32’s search path — That’s ok, I don’t mind much and can alias out stuff like flock.

Problem two: Because SFU follows the unix-style of open it, see if there is a she-bang line (e.g. #!/bin/sh) saying what to run it with, else pass it on to the shell…. It feeds .bat files into it’s pdksh unless they are manually executed, e.g. ‘runwin32 cmd /C foo.bat’ — that is bad, several programs I use wrap themselves in ‘batch’ files on Windows and ‘shell’ scripts on Unix.

Problem three: My universal bourne-based shrc (~/.${USER}_shrc) sets itself to the current Bourne-style shell (e.g. sh, bash, ksh-family, zsh) and Operating System (e.g. BSD, Linux, generic Unix) needs to inspect the $SHELL environment variable to determin what shell to set stuff for. — For some odd reason the SFU pdksh doesn’t seem to set SHELL !!!! To top it off, $USER is not set, but at least the Windows var: %USERNAME% is converted to $USERNAME.

Fix for problem one:

$ mkdir /dev/fs/P/bin      # creates P:bin
$ touch binmaker.sh && chmod +x binmaker.sh
$ vi binmaker.sh
#!/bin/sh
BINDIR=/dev/fs/P/bin

for CMD in `echo $PATH | sed 's/:/ /g' | awk '{ print $0 }'`
do
for EXE in `ls $CMD`; do
echo $EXE | grep -E '.*.exe$' > /dev/null &&
ln -s ${CMD}/${EXE} ${BINDIR}/`echo $EXE | sed 's/.exe$//g'` && echo "made link for: ${CMD}/$EXE"
done
done

$ ./binmaker.sh
.... # symlinks all foo.exe in $PATH to /dev/fs/P/bin/foo

Fix for problem two:

Launch a new session of cmd.exe through windows (e.g. not via SFU; use the run dialog, start menu, or desktop /or quicklaunch icon).

U:Terry> echo %PATH% > mypath.win

Return to SFU korn shell (pdksh):

$ touch batmaker.sh && chmod +x batmaker.sh
$ vi batmaker.sh

#!/bin/sh
BINDIR=/dev/fs/P/bin

make_wrapper() {
[ -e $2 ] && return # file exists, no wrapper needed
local MYFILE=`basename $2`
cd $BINDIR && [ ! -e $MYFILE ] && touch $MYFILE

echo '#/bin/sh' >> $MYFILE
echo 'exec cmd /C "set PATH=`cat ~/mypath.win` && `basename $0`"' >> $MYFILE

echo "${BINDIR}/$MYFILE created"
}

for CMD in `echo $PATH | sed 's/:/ /g' | awk '{ print $0 }'`
do
for EXE in `ls $CMD`; do
echo $EXE | grep -E '.*.bat$' > /dev/null &&
make_wrapper ${CMD}/${EXE} "${BINDIR}/`echo $EXE | sed 's/.bat$//g'`"
done
done

$ ./batmaker.sh
... makes wrapper shell scripts in /dev/fs/P/bin/ for all foo.bat in $PATH

The wrapper scripts this creates look like this:

Terry@SAL1600-$ cat bin/irb
#/bin/sh

exec cmd /C "set PATH=`cat ~/mypath.win` && `basename $0`"

Terry@SAL1600-$

it’s neccessary to set the Windows %PATH% before launch, so it can execute the program — using the path from the invocation environment won’t work, e.g. /dev/fs/P/Devel/Langauges/Ruby/bin/irb in SFU Shells but this woudl translate to CurrentDriveLetter:dev/fs/P/Devel/Langauges/Ruby/bin/irb which won’t work. Note, the program must be executed as P:DevelLanguagesRubybinirb.bat in Windows cmd shell, as that is where it is located on my system.

Fix for problem three:

I modified my ~/.profile from OpenBSD to take care of the $USER and $SHELL issues, which is also nice enough to load my custom initialization file.

$ vi .profile

export TERM HOME
USER=$USERNAME; export USER
SHELL="/dev/fs/P/Utilities/Services_For_UNIX/bin/ksh"; export SHELL

echo "Waiting for screen repaint...."
sleep 2
echo 'Korn power !!!'

ENV=${HOME}/.${USER}_shrc

I set the path to the physical rather then the /bin/ksh ‘shorty’ in SFU, so that if I later find any compatibility issues, I can always work around it ‘specifically’ if necessary.

I’m not sure if it is a problem with the Console2-Devel build I’ve installed or with how SFU’s korn shell expects to run. But a few seconds after startup the prompt disappears as if from a ‘clear’, giving any I/O that results in a line being drawn causes a fix. Since I haven’t figured this part out yet, I’ve just ‘side stepped’ the problem. It takes roughly the amount of time to sleep and echo the message before I am returned to my prompt. A quick parse of my $ENV and we’re ready to rock and all the output on the Console tab is from my ${USER}_shrc file.

I copied an old version of initialization file and made a quick edit. In the file I check for the systems unix name and use it to record the operating system type. The Services For UNIX subsystem still identifies itself as ‘Interix’ even though it’s been under Microsoft’s thumb for a bit.


case `uname -s` in
'FreeBSD') isFreeBSD=1
LSCOLORS='CxGxxxxxBxexExcxdx'; export LSCOLORS
;; # FreeBSD
'OpenBSD') isOpenBSD=1;;
'NetBSD') isNetBSD=1;;
'Linux') isLinux=1;;
'Unix') isUnix=1;;
'Interix') isUnix=1;isSFU=1;;
esac

I want to make a few changes to my shrc, but I don’t think they will work *properly* with SFU. My shrc file also pulls in a local ‘extension’ of itself, called ~/.site_shrc that makes things specific to the current system, for example adding the TexLive binaries to my $PATH on FreeBSD and noting the IP address or doing things that won’t work in the shells/v7sh that I use for testing. It looks like I’m going to have to write a site_shrc for Windows hahaha !!!

There’s more then one way to skin a cat, and this bloody hoge-podge of an operating system ain’t gonna best me !!! I will have a decent CLI interface if I’ve got to invoke a hex editor…

You know, the more I try to give IDEs a fair chance, the more I find. That in the end, THEY ALL SUCK !!! Either that, or it has proven impossible to find something with even so much as a decent editor that’s worth more then notepad or /bin/ed, is it really to much to ask; a decent editor?

Even on Windows XP, where cmd.exe has proven to be the worst damn CLI I’ve used, *my way* still seems to beat any IDE I’ve tried, and that is pretty damn sad lol. And so far I have found nothing that bests my personal combo of term+zsh+vim+tools, and tending to the more ‘IDE like’ features myself >_>. The only bad thing about cmd.exe, is it doesn’t have emacs based line editing out of box lol, that and the tab completion works like a kinder garden program compared to bash/tcsh/zsh/pdksh.

Writer’s Block: Your Online Hot Spots

Where do you spend most of your time on the web?

Live Journals Writer’s Block

I maintain what some might consider a near omni-presence around [SAS], the PC-BSD support forum, and when time permits visit DaemonForums, but over there I very much prefer to read rather then comment.

I have almost non-stop music running on my PC, sometimes I use my local collection. But many of the times I stream radio. 94.9 The Bull is one that I’ve listened to a lot, but lately I’ve spent most of my time on pandora.com thanks to hearing about it. I’ve set up a station that gives me a nice mixture of the kind of music I like, typically country and rock. Some times I listen to BBC Radio 1, I like some of the stuff they put on but not all of it.

Wikipedia makes up a large amount of my daily web intake. Most often articles related to technology or computer science. I’m really horrible when it comes to Wikipedia, I remember once during research for a history exam. I was looking up something from the 19ths century, I forget what — but the text book wasn’t good enough. By the end of it, I wound up reading about the country of Vietnam lol. The hyperlinks and search ability removes what I hate about book-based encyclopedias, it’s easy to find interesting stuff without jumping between many volumes!

When I’m interested in News, I usually check my RSS feeds. Along side my online-stored bookmarks, Flock lists RSS headlines in the my world page. I skim BBC’s international edition, because I find it superior to CNNs various offerings. And also to Slash dot, because I can usually find interesting sci-technical tibbits there that I other wise wouldn’t hear about.

xkcd.com often makes a pass through my web surfing habits, thanks to friends sending me links over AIM lol.

I often use various resources depending on what I’m dong and Google is my search engine, because the results are just better. And unlike other crap (Yahoo, Live search) there is less of a “Is your search engine really this bad, or did most of these results paid to be here?” feeling. Google just works!!! For resources, it ranges from programmer documentation, English-German and English dictionaries, and various software related sites (FBSD ports, sourceforge, etc).

When time permits and I have something to say, I’ll usually try to update my LiveJournal. What good is a LJ unless you actually use it? I’d like to update every day or two, but my life’s not that interesting. In fact, if I did update it that often, it would be rather depressing lol. The one big problem I have on spending time on the web, is keeping up with my E-Mail lol. I’ve got over 130mb of largely unread mail piled up, and that is just in my primary box.

Aside from that stuff, I’m usually logged into 5-7 instant messenger accounts and occasionally either a VoIP or IRC based system to boot. Hmm, considering how little HTML I typically use in posts, I wonder if I could cram any more hyperlinks into this post loool.

Writer’s Block: The Meaning of Love

What does love mean to you, and why? Have you always felt this way?

Submitted By rynanne

Live Journals Writer’s Block

Hmm, a question I’ve somewhat been pondering since I noticed the entry in the WB/QOTD-block. Mm, what does love mean to me?

I would rather watch the flesh melt off my bones then be without that person.

Perhaps a tad morbid, but particularly apt to the strength required to describe such a thing. In a way, maybe it is that simple as well, for me at least. Because that is generally how I feel. I’m not heroic, I’m not suicidal, but my heart can outweigh good sense — the people I care for have to make it through whether I do or not, because I wouldn’t be able to go on alone.

Any ways:

Love is forgiveness, if you really love someone, can’t you bring yourself to leave wrongs aside?

Love is endless, I believe if you truly do love someone; you never stop loving them. At least, if there is a way to stop, I’ve never found it lol.

Love is blind, each can see the blackest moments of the others life, yet love them just as much. I’m not proud of every moment of my life, nor those of everyone I love, but I still love them. If anyone can’t love me in tern, despite such things. Well, unfuck’em lol.

Love goes in both directions. Hmm, I have no idea but for a strange reason, the film Now, Voyager comes to mind. In my opinion, things have to work both ways… Haha, the Dining Philosophers problem comes to mind, I really think I need to get out more >_>.

Love isn’t a bed of roses. If you expect to ever get along perfectly with someone in this life, you’re positively nuts or dreaming IMHO. Love doesn’t just dwell in special moments, but throughout the relationship. From spending time together, to picking up something on the way home, to the most intimate moments, why have any of it unless you loved them? To quote myself, “If I didn’t love you, I’d tell you to go fuck off instead”

Love takes many forms, we each love different people in different ways. For example, it would be a bit abnormal to feel the same way about ones best friend as ones spouse, unless they are the same person lol.

When it comes to a more personal point, as in “as I do”. Generally, if I love someone, I’ll do just about anything within the terms of the law. In some cases, willing to stretch that a bit… Although that’s never been necessary (thankfully). Also I’m usually more willing to ‘bend’ my schedule when needed, at least when it’s not consistently a one-way affair. Although I almost never ask such things of others (hell, I don’t even ask people to fetch me a drink 99% of times lol), I just don’t like being ‘monopolized’ and won’t do it to others. Or as I have told my family on a number of occasions. Only GOD has a right to control my life without my permission, and you’re not GOD and you certainly don’t have my permission !!!

Mm, one thing that comes to my mind is my parents. As fate would have it, after they got engaged, there was about 20 years difference and 3 marriages between them before they finally got married. Before my father died, they were only together for a few years, but during that time they were very much together. One thing I somewhat regret, is that I never really got to see how they both interacted with one another. Although, odds are if I did, I would’ve spent the first decade of my life rolling my eyes every day >_>. I very much like spending time with people that I care about when I can. Odds are, if I didn’t, I could actually get more done. But that would be a bit selfish. In general, I do generally consider myself self-centered at times. But I do care very deeply about others, I’m just not an extrovert lol. Hanging out with friends and doing something == usually fun, finding a party just for it’s own sake != fun (by comparison).

On the more, hmm I guess the romantic side of the coin. To me sharing life is a very important thing in that regard.

My train of thought arguably wonders as far south as any other mans but that’s not what I truly desire in life. There is a very big difference between sex and making love, and in this day and age the former is easy to come by compared to the latter. I sometimes warn friends when they get to, uhh ‘zealous’, too think closer at what they desire. A ‘good time’ or something lasting — my definition of a lover goes beyond sex.

I suppose, to put it to words beyond the obvious points ^^, if I ever got married there would have to be a lot more in the relationship then just the physical aspects. I have a very active mind, and life has made me, shall we say, devoid of an intellectual counter part for much of my life. Or as I like to think of it, if bra size exceeds brain size times heart capacity; I’m not prone to being involved for long, I already have to deal with enough stupid people.

My mind comes with me, just the same as my heart and everything else does, and what future would there be unless one could share both?

Although I would say one of my favorite songs among what I would classify as ‘love songs’, paints a rather optimistic view of things (imho). I really do think of things a bit differently. I guess you could say, it’s the difference between a song you’d love to dance to with the woman of your dreams, and what you expect out of the rest of life together ^_^. All in all, I expect I’ll probably be single for my entire life; unless GOD has something else in store…. But I guess that’s just life. Still, I think that my idea of a ‘perfect’ moment. Would be to have the love of my life and our children in my arms… That would just be sublime, but I’m to rational a person to count on it happening in my life time.

Todo: Toolkit and Library madness

Examine for portability the following toolkits under these OSes: Windows NT, Mac OSX*, Unix-like.

*I sadly don’t have a Mac, although I would really love one. So a OSX binary of some form will have to pass.

GTK+ — C, C++, Perl, Python, Ruby, PHP, C#.NET (Java bindings also avail but seem to be gnome-centric)

Qt4 — C++, Perl, Python, Ruby, Java (C#.NET and PHP bindings seem to be questionable and only C++/Python and possibly Java bindings can be depended on).

WxWidgets — C++, Perl, Python, Ruby, Java, C#.NET

Swing and SWT would be considered if they were available under more languages !!!

Evaluate portable standard/add-on libraries to each language for the following capabilities:

String handling (they all do well in the language standard)
Regular Expressions (Only Perl and Ruby get this great imho)
XML Processing
Network programming — both sockets based API and protocol support (IMAP, POP, HTTP/S, FTP)
Database handling — must support MySQL, SQLite, and some form of flat file.
Basic compression and archive format support (e.g. tar; zip; gz; bz2; lzma)
Inter-Process Communication (IPC) methods and related process control (e.g. fork(), exec(), signal(), kill() type routine-families).
Ease of use and deployment

Goals:

Build up a standard frame work of toolkits/libraries/etc that are portable across both my general operating environment and the various languages I use

Attempt to standardize myself on few languages rather then rubber banding between various programming languages + sh/awk/sed/friends

Ensure full development environments are available to me under FreeBSD 7 and Windows NT 5.1 (e.g. I can code from either machine and not change tools)

At least one language for scripting/prototyping and one for more efficient execution when implemented in that language (e.g. 1 interpreted + 1 compiled)

and try to stay sane along the way without writing a few libraries in the process >_>

Oh how glad I will be when work is done for the week…..

So I can drown in other work lol.

The years of my life are taking their toll upon my soul. Bit by bit, more slips away.
Sometimes even the strongest light of hope burns dim, unto ash.

*SIGH* watching my wireless connection flubber-band between 6mb/s and 24mb/s at a distance of ~2.5m, I think it’s time to go to bed, and download a few api references in the morning….

Grrr…

EDIT:

Even worse stroke of luck, took a break and loaded up XGalaga (a nice Galaga based game), got a powerup of tripple-missle launcher in the first wave, only to lose it seconds later when I took my eyes half off the display lol –> just long enough to zig when I should’ve zagged ^_^

That’s it, I’m going to bed.

A busy day

I was busy trying to catch up a bit with GTK+, I set out to begin making tests of the various language bindings, starting with C++ and Windows; since I know they all work fine under FreeBSD and GNU/Linux. The first thing I did, was download the GTK Development Environment, which proved to be a disaster.

In allowing the installer to “Register Environment Variables”, the installed nuked my systems %PATH%. So I’ve had to reset it, one bit at time. To ‘shield’ it from any future assaults, I’ve split it up into other system environment variables that get sucked in. That should at least eep me from having to backup the registry… Once if ever, I actually manage to get the XP machine up to snuff again, I’ll need to take a proper backup of the system.

Spent a lot of my time today in training with Jonsi and Caern. First doing training with Jonsi, then dealing with Caern after tending to family business.

I’m omni tasking to the point, that I don’t even get to finish LJ Posts loool