With the internet having become an integral part of our Americans lives, it is necessary to protect and preserve free, open and nondiscriminatory internet access for all of us. Internet Service Providers are tasked with connecting users with the content and services available on the internet, not with regulating and managing what content users are able to connect to and how they connect.
It would be unacceptable for a phone company to redirect phone calls from one business to another and would be unfair for a phone company to charge different rates for equal service to two equal businesses. It would also be scandalous for a phone company to record customers phone conversations and then sell that data in order to inject advertisements into a customers telephone conversation.
In the same manner, it is and should be unacceptable for an Internet Service Provider to redirect requests from one website to another, and for an ISP to provide more bandwidth when requesting one site over another. It should be illegal for an ISP to record a customer’s web history and later sell that history to advertisers in order to inject targeted ads into the pages a customer has requested.
Title II places restrictions on phone companies that both protect consumers and create fertile ground for a healthy and robust communication infrastructure. In the same manner the public needs restrictions on ISP to both protect consumers from ISP overreach and create a healthy and fertile internet communication infrastructure that benefits all.
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety.
There has been a recent push by governments and government agencies to ban End-to-End Strong Encryption, all under the guise of stopping terrorists and pedophiles. My hope here is to provide simple arguments in layman’s terms as to why banning strong end-to-end encryption will not improve the government’s, nor it’s agencies’, ability to catch the “Bad Guys”. In fact banning strong encryption will only daemonize legitimate users of strong encryption and undermine the rest of the population’s security, while having almost no effect on those who wish to use it for nefarious means.
A Markov Chain is a set of transitions from one state to the next; Such that the transition from the current state to the next depends only on the current state, the previous and future states do not effect the probability of the transition. A transitions independence from future and past sates is called the Markov Property. What we are going to do is explore Markov Chains through a little story and some code.
What it is
Lets start this post of with some techno-babble. Minimax is a depth-first search algorithm to find the least-lost strategy for zero-sum two person turn based games.
A zero-sum game is a game where, if one player loses, than another player must win the same number of points and vice-versa. For example chess is a zero-sum game because if one player wins (Lets say winning a score of +1) than the other player must lose (getting a score of -1), or the game is a draw and both players get a score of 0. We don’t give players that lose a score of 0 and the winner +1 because that would mean than one player won the game and the other player is at a draw, which is impossible in chess. The same goes for other games such as tic-tac-toe, Go, and four in a row. Another set of zero sum games are games where the total number of points is constant (think poker where players can’t buy chips) and if someone wins (a bet) than the rest of the players must lose points (money) equal to the number of points won.
Depth-first search means that we follow the algorithm all the way down until the end, and then start moving backwards, looking for the best move as we go. The reason why we have to follow the algorithm all the way to the end will become clear soon.
The other day I was playing with my Tor node’s configuration when I found out that with absolutely no trickery you can get Tor to log some interesting addresses. One of the things Tor logs is the address of edge (aka. exit) connections, which tells you what the node is connecting to but not who the connection is for.
Naturally it would be interesting to know what other people are using Tor for, so I kept a couple of days worth of logs and wrote this little perl script to parse them out for me.
I’ve been running Ubuntu as my main OS for pretty much a couple of years now and I have to say I LOVE it. The hardware support is great, tons of apps, and its free. Well “free” as in beer for sure, but not really “free” as in freedom.
This past summer I moved back to Syria, where, as you all know, the US has restricted the imports on software products for “National Security” reasons. So I’ve gotten used to Google Code being blocked, SourceForge not letting me download stuff and all that jazz. Still Ubuntu worked like a champ and I could download anything I wanted from the repos. That was until I decided to update my system to 11.04.
It sure seems easy to make a table. Anyone can do it, right? Get 1 large flat rectangular piece of wood, 4 equally tall wooden poles, 4 nails and a hammer. Nail the 4 poles to each corner of the flat rectangular bit, and you have a table. Ta daaa!
Gotta love CoreImageFunHouse!
openFrameworks is a set of C/C++ libraries for “Creative Coding”.
I heard about openFrameworks a while back off of reddit. The video on there home page had me sold! So one Saturday morning when I wasn’t too hung over I made this.
It only took me 100-150 lines of code to write that app. You can get the Xcode project here.
Xomnad… The new and hip tiling window manager written is Haskell, the new hip language. I’ve been hearing about xmonad a lot and have been trying to get into haskell. Ya know, gotta follow those trends.
So I go and grab a copy of xomand (0.8) and all the depends (I had haskell setup already). Compiling and installing was a breeze. At the time I had a pimped out gnome setup (compiz, emerald… the works). Just to see what would happen I run the fresh new binary called xmonad. All the friking windows start bouncing around the screen. It was kind of cool to see the two programs fight for control over to poor windows.
Well I’m posting this entry using gnome-blogger. I got my old laptop up and running Ubuntu again for work. I still have my Mac that I use for school and stuff I prefer to develop on Linux machines. I have written a whole three lines and I still don’t see what so special about this app. I might as well use emacs and copy/paste. Any way hopefully I’ll post some interesting stuff later this week.
This is probably the third or forth one of thoes “I’m gonna start writing again” posts that I’ve done. But yes I think I’m gonna start blogging again. I’ve been carzy busy lately and I have to go to class in a couple of minuts so I’ll try to post something useful tonight
^—Completly useless post
So I’ve been messing around with Mac development for the last little while. I got a copy of “Beginning Mac OS X Programming” and I’m reading it. I also got my iCal script to work, here it is
I started to fiddle around with apple script the other day. I down loaded an example script that exports you iCal events. I tried to write a trimmed down version of it but I keep getting this error that I dont understand. I just signed up at MacScripter and posted my question so hopefully I’ll get an answer soon
So me being the ADD fuckup that I am decided that I want to write pretty coca app for Macintosh. So I went out to Barns & Nobles and the only Mac Development related book I could find was about how to use Xcode. Well it had an example app as the introduction which I used as a starting point. I have to admit I didn’t get very far after that. Any way I’d upload it for you all but blogger wont let me :-(.
A while back I was reading Beginning Linux Programming. I never worked that much with the examples. Partially because I really never had time. So the other day I had some free time and I wanted to see what would and wouldn’t work with my Mac. So I open up the part on threading and I re-read the mutex part. A couple of man’s later and I found out that Macs supports pthread. I wrote up this little example for mutexes.
Ok so I wanted to do a little something in perl because it’s been a while since I’ve written anything in it. Since I still have the code from my myspace profile I decided to write a little script to extract the css classes from it. Well here it is:
So today wasn’t very interesting computer wise.
I found this job for a java (yuc!) programmer at this bank in Jefferson City. I fixed up my resume an made it all nice and pretty. I put it on google docs and head over to my sister desktop to print it since my laptop isn’t hooked up to the printer. Well, I was warned that the printer wasn’t working very well so. So first off I go to mapquest to get directions. I select the part I need, File, Print, Ok…. “Cannot communicate with printer”! wtf!. The little dialog says that I should try and unplugged than replug the printer.
Ok I know it’s been a while since I’ve posted anything here but I kinda went to Syria then I ended up moving to Columbia, Missouri. I’m still not settled in and stuff is still crazy…. The last month/two months have been really crazy.
Ok so today at around 11:30PM I decided to go back to the link tester and write it in python…. Well that ment that I had to write a parser to get the urls. Which also ment that I had to handle relative urls which means I would have to write somthig to parse the value of the href attribute… In other words I have better things to waste my time on tonight
Ok so I was going to write a python counter part to yesterdays script. It’s kind of funny because the difference between Python and Perl are so big that it’s hard to write a good counter part in python.
For starters python doesnt have a HTML::LinkExtor module so I have to write my own link extractor which isn’t hard. It’s actually kind of easy. But it’s also somethig I didn’t have to do in perl.
Well a while back I read a book to learn perl. I have seen perl code before and I, like very one else, have heard about it. I did the standard programming practices (e.g: Remove blank lines) and wrote a couple of utilities that I used to clean up some data I had. But after that I dropped it for about 4 month. Today I was looking a my copy of the Perl Cookbook and started reading the web stuff chapter. I read a couple of recipes and came up with this:
QtDesigner + Python + Mac = Some really cool shit
Well It’s aas far as the former issue of figuring out how to get Mac and FreeBSD to play nice together I haven’t done anything. I think I’m just gonna install BootCamp, create a small partition to boot freeBSD off of and get it over with.
Ok I figured out why the external USB wouldnt boot. I was playing around with Disk Utility and in order to get the external to boot there is a special partitioning format thats needed. So I plugged in the usb and formatted it in the needed from for it to boot. I poped in the FreeBSD CD (Again) and booted from it. It turns out freebsd doest understand the partition table format the apple uses so I dont know what to do now. I remember Gentoo had something about Mac OS X partitioning so I might check that out, but that was for PPC based macs. I’m pretty sure freebsd has a way to do what I need it to do but I’m kinda getting tired with all the problems I’ve been having with it lately. I usually like freebsd but the last week it’s just been a pain in the ass.
So I got a freebsd 6.2 CD and popped it in tne mac and it booted up all nice and pretty. The installation was a breeze, freebsd saw both the external hard drive and my wireless card, gentoo didnt see my wireless.
Ok so I figured freebsd should work on my MacBook. Every one that installed freebsd on MacBooks used BootCamp but i really dont want to to install it. After reading about it. I dont think I need it. So I hook up to irc.freenode.net and joined ##freebsd and asked the nice people there what they though. Th only useful piece of information I got was to try with freebsd 6.2 instead of 6.1. So get home and get ready to d/l 6.2 and I remembered that I dont have any blank CD’s….. Thank god tomorrow is friday so I can get 6.2 and try to install it on Saturday.