Skip navigation.

TrueJournals

Life of a programmer

Radical Atheism, or Antitheism

, , , ...

Today, I received a memory that I find I will have a hard time forgetting. This memory I received, first requires a bit of background.

Today in the Daily Herald, and in the Chicago Tribune (I have heard), there was an article about my high school, Buffalo Grove High School. You can see this article at http://dailyherald.com/story/?id=41511 . This article was about a freshman atheist at my school. For homecoming, I guess one of the songs on the list was the song "God Bless America." The freshman, Dawn Sherman, is on student council, and fought the song being on the list. She won.

That's not even what this is about. After reading this when I got to school (I receive the Chicago Sun-Times, so this article was not on the front page), I knew my last hour class was going to be at least a little interesting, because Dawn Sherman is in my eighth hour Spanish two class. The passing period was coming to an end when Eric (last name removed) walked in and asked if Dawn Sherman was there.

Dawn raised her hand; my guess is not knowing what was going to happen next. Eric walked up to her, handed her an American flag, and said "God Bless America," right to her. Now, I do not agree with this, but this isn't the part that bothered me. Personally, I don't agree with getting the song banned, however, I'm not going to be a jerk to Dawn because of it. What happened next is what got me mad.

Eric left the class room, and a couple seconds after the bell rang, Dawn walked up to the front of the room, and threw the American flag in the trash can. That is what I won't forget. That is where she crossed the line. I don't care if you don't believe in God, but it's when you go against America that I get mad.

I have thrown my opinion in here and there throughout my story, and I hope that my view doesn't differ too dramatically from what others would write. Perhaps my language was stronger than it should have been in some places, but I still hope I got the point across. Radical Atheism, or Antitheism is becoming a new religion, or, rather, anti-religion.

I normally agree with Voltaire, and how he said "I may not agree with what you say, but I will fight to the death your right to say it," however, there are some times when you can cross over the line, and this is what I observed today. In a free country, religious toleration is something we are in great need of.

Please, post your opinion in a comment.

[UPDATE]The principal e-mailed a letter to all the parents who subscribe to the bghs-parents mailing list. Summarizing this letter, student council was brainstorming songs to play over the intercom during homecoming week. For US day ("sports day"), the song "God Bless America" was brought up. Some arguments were brought up against this, but the final nail in the coffin was Dawn saying that we shouldn't play secular songs. However, I can't stress enough that the song not being played is NOT the point of this. I can deal with the song not being played; it's the events that happened before Spanish class that got me angered. You can read the note posted to the parent mailing list at http://lists.d214.org/pipermail/bghs/attachments/20070920/32ad61d0/HomecomingLetter-0001.pdf .

Anything Streamed can be Downloaded...

, , , ...

It's only a matter of how much effort you will have to put in to download the file, not a matter of if it CAN be done. As soon as I saw that blogmusik had opened back up, with the ability to stream music for free, I thought about this. With a little bit of work, you CAN download music from Deezer, however, at the moment, it is quite a bit of work. Perhaps I (or someone else) will work on an easier way to do all of this.

The basis is simple: use a packet sniffer to find the address of one of the files. Done. I found Weird Al's Bohemian Polka at http://proxy-0.blogmusik.net/encapsulation.php?ID=46a4f541-5db0-ff08-c65b-3e74d647b672 However, I was disappointed by the URL a bit. I was hoping that finding the URL, it would turn out to be some standard thing, but instead they use a unique ID for each song. Which only delays progress a little. Next, I wanted to see if I could hijack the "Search" function to find Song IDs. Then I hit a road bump.

The whole website is done in flash, and the search function is done with flash remoting. Unfortunately, Ethereal, the program I was using to packet-sniff, cannot decoding flash remoting communications. So, I had to find what could. I quickly found ServiceCapture, which claims to be "the only tool of its kind to deserialize and display all Flash Remoting or AMF traffic in a simple-to-use interface." I'm staying with service capture for now because there is a 15 day trial, however, this marketing sentence is written in such fuzzy wording that it's hard to tell EXACTLY what they mean. Anyway, I fired up ServiceCapture and was able to capture the Flash Remoting traffic VERY easily.

I found out that it sends a call to www.deezer.com/flashservices/gateway.php to the service rp_search_release2, the method search, with one parameter: the string you are searching for. The response I found contained an array (0 > serverInfo > initialData) with all the songs returned from the search. The ninth element of each item in this array contains the unique song ID. Choose any one you want, and you can easily use the URL http://proxy-0.blogmusik.net/encapsulation.php?ID= with your own ID, and download any song. Just a warning though: the songs are MP3s at 64kbps. This is really more of a proof-of-concept than something you would actually want to do.

Hope you enjoyed this. I shall now try to work on a PHP script to automate this. Wish me luck!

[edit]OK, thanks to the AMFPHP project, I was able to create a PHP script that automates this. Since this project is meerly for educational purposes, and I do not condone the use of this for illegaly downloading music, I'm not putting a link to a usable version on the web, I will only post some download mirrors. The zip file contains everything you need. deezerd.php is the script that actually does all the work, the rest is all AMFPHP stuff. Here are the mirros:
http://rapidshare.com/files/50663739/deezerd.zip
http://filevip.com/pages/download.php?id=8053488139
http://files-upload.com/files/452548/deezerd.zip

If a link goes down, let me know.

Instructions: Search for a song just like you would normally on deezer.com. The results will be shown after a little bit (it takes some time to search). Simply right click on the title of the song you want to download (album - artist are shown below the song, and album art to the left of the song title and ID#), and choose "Save Link As...". In the box that pops up, choose "All Files" for file type, and type in (...).mp3 for the file name (replacing (...) with whatever you want to call the file).

[edit2]I reported, based on a couple songs I tested, that the MP3s are 64kbps. However, I looked more into how deezer works, and know have a different answer for this after finding a song that was 128kbps. Deezer's MP3s are uploaded by users. Whatever bitrate MP3 the user uploads, that is the bitrate you will get. You may or may not get ID3 tags either.

Amarok 1.4 on... Windows???

, , , ...

Yes, you read it right. You CAN run Amarok 1.4 on Windows (well, kind of... I'll explain later). Don't believe me? Here's a picture, comment if you want more proof:


Now... how did I do this you ask? Simple. I used what's called "andLinux". The idea behind andLinux is to take coLinux, a port of the linux kernel to Windows, and take Xming, an X server for Windows, and by doing this let you run linux applications under Windows. This would normally be very complicated to set up yourself, but andLinux did all the work for you. So, first get andLinux running (http://wiki.gp2x.org/wiki/AndLinux), and then follow the directions at http://www.joachim-gehweiler.de/en/software/andlinux.php to get the andLinux launcher for Windows running (not entirely necessary, I don't think.. you could probably just install kde, which is required for the andLinux launcher). I choose to use the launcher because it gives a nice little menu.

Now, install amarok in the linux console, by following the steps at http://kubuntu.org/announcements/amarok-1.4.5.php. Configure the andLinux launcher by adding the line Amarok;amarok.ico;amarok to menu.txt, and run amarok!

Now, I did not explain all the steps in detail, and you'll need to know what you're doing with computers in order to complete these steps. That being said, the process could take from 30 - 45 minutes. But, afterwards, you'll have amarok running under Windows XP. Enjoy!

[edit]Hmmm... playing with it a bit more, I installed MP3 support. However, it seems that when I play MP3 files, no sound comes. Well, I'll look for a cure, but otherwise, we might have to wait until Amarok2 is released

[edit2]Nevermind, MP3 support works fine. My sound driver is just a bit screwy (it's been like this for a while...). You SHOULD have no problem with sound...

What people need to learn about Rockbox

, , , ...

Sub-title: And, presumably, other community-based open-source projects.

For those of you who don't know, Rockbox is my favorite open-source project. It's an alternative firmware for a wide range of MP3 players, and I eagerly installed it as soon as the H10 code was committed. Since then, I have been watching the project and have even started making my own build. I'm always excited to see when there's something committed, because it's usually something good.

Now, I was recently looking at the Golden Quotes page on the Rockbox wiki, and I decided to look at the origin of one of the quotes. Specifically, "I got Rockbox because i expect more out of them, and i have a right to expect more" ... "Now make me proud and make these updates i ask for done ASAP, by tomorrow or even this weekend would be great" -- From http://www.misticriver.net/showpost.php?p=518385&postcount=9. I decided to read through the thread and realized that there's a lot people do not understand about open-source. There should be a list of what people need to know before using a piece of open-source software. Let's see what I can come up with:

  1. Committing something to SVN/CVS is NOT the same as releasing it. Releases for Rockbox do not happen that often. The last release of Rockbox was at the end of 2005. For those of you who still don't get it, a release is when the Rockbox developers decide that Rockbox is at a very stable stage for all current targets. They will introduce a "feature freeze" before an actual release is made. A feature freeze is a period of time where only bug fixes, and not new features, are committed to the code. A SVN revision number is NOT a release version.

  2. Rockbox developers have lives. Seems obvious doesn't it? They don't just sit around at home all day thinking of ways to slack off from coding for Rockbox. They go do their jobs so they can get paid and continue living like they do. If they have free time, they will try to use it for developing, because (as far as I know), they usually enjoy it. Rockbox developers, unlike developers for corporations such as Microsoft, do NOT get paid for developing (Rockbox). You can never know when a feature will be released because it's hard to say how much time the developer of that feature will have.

  3. YOU DID NOT PAY MONEY! Meaning, you can not demand features. You have a right to demand features from (using my previous example) Microsoft, because you paid money for their projects. Yes, there is a DONATION button on their site, and as far as I'm aware, donated money goes toward server bills, and other various expenses. If you pay one of them $100, I'm sure they'd be glad to develop a feature for you (assuming it is possible). Don't quote me on this though... I don't want them getting angry at me :eyes:

  4. Don't yell at the developers. Once again, they are not there to please you specifically. If you are told, "It's being worked on," don't ask "ETA?" If you do, they'll most likely say something along the lines of, "It's hard to say." After this, drop it. Don't pester them. The best thing you can do at this point is offer to help them in any way possible. Respect that they are doing this project in their free time.

  5. As Daniel Stenberg put it, "first you R, then you go over to T while slowly considering F and the adjacent M" (for those of you who don't get it.. RTFM = Read The F***ing Manual). Unlike manuals by corporations, open-source manuals are surprisingly easy to understand. They are written for people, and by people who use the product. If you see something in the manual you don't understand, bring it up in the IRC channel, forums, or whatever and ask. People will be glad that you at least read it. Perhaps someone else will read it and say, "You're right... that doesn't make sense. I'll fix it." And fix the manual so you no longer have a problem, and everyone else no longer has a problem. Helping with the manual is one of the easiest and best ways to help with an open-source project.


OK, that's three things you should know before using an open-source project. I think it's a pretty good list. Think I'm missing a major point? Please comment and let me know!

Done with Team-DSX

It's official. I am done with Team-DSX. That's all I have to say in this post.

Podcasting

The team-dsx podcast should be coming underway sometime in the next... year.... seriously though, we should have it soon... (right after we record it..)

Anyway, in other podcasting news... it seems that Brian was on the wii60 podcast... and he'd be glad to tell you about it :ko: But, he told me that the wii60 podcast people want to interview the team-dsx erm... team.. in their next podcast! Should be pretty cool, and good advertising! Imagine, 30 members from one post... what could happen in a podcast :happy:

In my life news, I'm going to get my schedule today :happy:! Finally, a week before school starts, they decide to give them to us! Well, I'll be telling everyone and hoping I have classes with people I KNOW!

DS Tabs

My current project is being developed for Team-DSX. It's called DS Tabs, and it's just that. I have big plans for this project. Almost like making it a browser in itself. Of course, that won't be entirely possible... but I want to give a lot of customization and a lot of options. The prototype (http://team-dsx.net/ds/prototype) is the version I currently prefer, and it seems pretty stable.

Anyway, soon, the prototype will go into release, and the current version will become a basic version that anyone can use without registering. Stay tuned for updates!
January 2010
S M T W T F S
December 2009February 2010
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30