Wednesday, December 17, 2008

Politics, Products, and Python

Well, it's been a very long time since I've updated this page (and of course, my original post was more of a vision statement then anything else). So I thought I'd start with some brief things before I jump right back into updating the blog. I plan to expand upon these in later posts, and I plan to have at least one new post a week, if not more, over the coming months.

So here I go again, right back into the fray, with some things that I've felt inspired (or uninspired, as the case may be) by to write about over the past few months.

Politics

Living in Illinois has it's benefits, as of course, it did when we were getting all of that positive attention during the 2008 Election. (Especially so shortly after the attention we got when Chicago was announced as the USOC's bid city for the 2016 olympics, something that those of us in Chicago are still excited about, even if our attention was ever so briefly turned fully to the elction).

And indeed, regardless of one's political inclination, it's great to see that we have an African-American President-Elect, even if it's not the end-all be-all of racism in America. But of course, that was short lived, when it was announced that Governor Blagojevich was trying to sell the US Senate seat vacated by President-Elect Obama. Not that the Governor's corruption was any surprise to those of us in Illinois, oh no. But the severity of his actions (he also tried to get members of the Tribune Editorial board who wrote negativity about him fired, in turn for which the Illinois coffers would make up the difference between the price the Chicago Cubs were sold for and their actual value) was quite shocking.

More shocking still, was the reaction. The internet went alive with comments about Pres.-Elect Obama (who, by the way, doesn't really seem to be involved in this at this point), and so on and so forth, comments from bloggers, people's Facebooks and Myspaces, digg and other social bookmarking sites, and so forth. All in all, the comments seemed to suggest that Chicago politics were clearly all corrupt and what not.

This, despite the fact that most of the things Blagojevich tried to do seemed, ultimately, to fail. No one was fired, several candidates refused to "pay to play," and in fact, the only real worry was the Jesse Jackson, Jr. connection-everything else seemed to point to people refusing to play Blagojevich's game.

I'm hopeful that that will be what this is eventually remembered for.

Next up, the appointment of Chicago Public Schools (CPS) CEO Arne Duncan being appointed as the Secretary of Education in Pres.-Elect Obama's administration. Well I'm not honestly as worried about this as some, it does come as a bit of a surprise, especially seeing as Illinois constantly claims to be 49th in education (a claim which, coincidentally, I can find no proof of. Why lie about something bad? I assume to get people involved in donations or whatever might help us). All I can say, is President-Elect Obama, please don't let this guy anywhere near your computers. This year we were forced to switch to a different grading system which caused a bunch of students' grades to look wrong (some classes graded on a 91+ is an A, 81+ is a B, scale and went to 95+, 88+, etc-which looks really bad for the people in classes where an A- is recorded as a 91, which is a B on this scale). And further, we were also forced to switch our school email over to a ridiculous and annoying system called FirstClass. I suppose it has nothing to do with politics, but I assume that some of my fellow CPS students and at least my fellow Northside (Northside College Prep High School, www.northsideprep.org) students will side with me on that.

Products

In the last few weeks, I've seen a ton of consumerism. In my opinion, there's something wrong when not one, but two 11-year old kids whose parents use Macs comment on my Dell laptop and ask me why I have a Dell when "Dell sucks." This results in a "Why?" from me, and the unfortunate recognition at their responses being completly unrelated, such as pointing out I have an iPod, and that's "a Mac," so if Dell's so good (which I never said it was in the first place), why would I need an iPod.

To make matters worse, it was a Dell running Linux (the idea that Dell and Microsoft were separate and that neither was directly "evil" was clearly confounding for them). Now, I'm not a big fan of Corporate America, but this isn't about Mac vs Windows vs Linux. This is plain and simple a recognition that this is how children are being raised. Not just do we live in a society where we identify somehow with companies and products, but we fail to recognize it to the point where 11-year-olds are certain that there must be something wrong with anyone not using (or, as one of them suggested, that I'm stupid for using over ).

These were kids I know well through my leadership positions in my Boy Scout troop, by the way.

Further, we have companies manufacturing things that they are not associated with and trying to get people to buy them based on consumerism. NASCAR has chapstick and now Burger King has a cologne. It's mind boggling, and I can't wait to expand on this one in the coming weeks.

Python

No, not the snake. Or the British comedy troupe. I know it's probably old news for some of you, but the new version of the Python programming language (www.python.org) came out at the beginning of the month.

Python 3 (also known as Python 3000) is significant in the programming world because the update breaks backwards compatibility. (Backwards compatibility means that the language is compatible with previous releases, so code written with Java 5, for example, still works when compiled under Java 6, because Java 6 is backwards compatible).

Obviously, there are reasons why this might seem like a bad thing. A programmer working on a large project would find the majority of their work unable to operate under the new compiler, and would be forced to either completely update the project, or sacrifice the option of using the new features. Further, a programmer well trained in their language would have to learn a bunch of changes or be unable to continue programming. And for these exact reasons, among many others, backwards compatibility is maintained with most programming languages.

The way these languages do it is through a system called depreciation. Say, for example, you have a built in function called oldPointer(). oldPointer() doesn't work too well, and the developers found a brilliant way to change oldPointer(). The only thing, is it changes how it functions (ie, what it returns, what it accepts as a parameter, what data types it accepts/returns, etc). Since old code would compile oldPointer() incorrectly on the new system, they create a brand new function, called newPointer(). oldPointer() is left in, but marked as depreciated-this means that new code shouldn't use it (not that it doesn't ever get used).

Sounds great, right? Only the system is extremly flawed in several ways:
  1. Buklyness-The old function is left in the compiler. This means the compiler has to have more instructions, including relativly useless ones.
  2. Removal-Eventually, the language maintainers will probably completly remove the function. At this point, anyone using it gets hit by the same exact problem-sure, less people were using it, but everyone had to stop at some point anyway.
  3. Training-As I mentioned above, backwards compatibillity being absent means a programmer has to learn a bunch of new stuff. As they should, to stay up to date in their language.
  4. Renaming-Look at the new Python release for examples of this. They redesigned print. If they had wanted to create a new name for it, it would have meant everyone would eventually be using lineout or printtoscreen or something (they usually aren't actually as uncreative as my example, but newPrint is a possibility too, I suppose).
  5. Progress-When computer industries move on, they move on. Look at how quickly framed websites died, or flash intros to websites (both of which, by the way, are still possible to create, though framed sites require a special doctype of XHTML-created just for frames). Why save things that shouldn't be used anymore?
So, ultimately, the real problem comes down to progress, which the others all kind of fall under. Think about it. In fact, many of the things changed in the Python 3 release couldn't have even been changed if not for the broken backwards compatibility. In the end we have a nice language using the same terms but in different, more efficient or proper manners.

For anyone wondering, Python 2.6 (the version before 3) is still being maintained for the next two years. So that big Python project won't actually be fully scrapped. But upgrading code is a part of the process. Java 6 came out years ago and there are still tons of programmers using Java 5, but it's not noticeable. What happens when Java 10 comes out? Python has made a step in the right direction by forcing programmers to update and take a look, and pushing them to adapt to a new system.

For those interested in learning to program, I highly suggest you give Python (3, of course) a look. For those of you using and loving Python 2.x, at least download the new compiler and try upgrading small programs to it-I personally love the changes and if you like Python, chances are you will enjoy them too. For those who aren't interested in Python but are interested in computer science, I'd still recommend taking a look at the what's new page (http://docs.python.org/3.0/whatsnew/3.0.html). If anything, it will clearly show what absolutely could not have been done without breaking backwards compatibility.

This ended up being a lot longer then I expected. Not sure what I'll right next, probably a stem off on the new Python features.

-The Nuge

Sunday, April 13, 2008

An Introduction

Hello,

My name is Dylan Nugent. My friends call me Dylan, "Dyl," or "The Nuge." Of course, for the most part, anyone reading this is likely to already know me. Just in case someone happens to stumble upon it without knowing me, I am a high school sophomore attending Northside Prep. I specialize in computers, especially programming and software design. I have been trying to set up a company for some time now. I was always interested in starting a blog, since I commonly have a lot to say, but I never got around to it until now. As anyone who knows me can tell you, that should be quite a lot.

Other then computers, I am also fascinated with music and nature. I am a registered Boy Scout, but despite the reputation some give us, the fellowship, leadership, and life skills are invaluable, and camping out in the wild is just plain fun. I play two instruments, guitar and piano (I've only played guitar for a little while, whereas I have been playing piano for almost 6 years). I also like to sing and write my own songs.

Even though it might seem like that takes up most of my time, especially if you through the huge amount of schoolwork I get every day into the mix, I still watch TV and movies and play video games like just about every other teenager my age. I don't just watch any crap that comes on the TV, though. Other then sports, of which I watch football most of the time, follow baseball, and watch soccer or basketball if they are on and I'm interested enough, I like a few interesting dramas (like Lost) and some very funny comedies (like The Office or Scrubs). Similarly, I try to watch movies with subjects that interest me. The best movie I have seen recently is Into The Wild, which I highly recommend to anyone who doesn't mind watching a somewhat depressing movie. It chronicles the life of Chris McCandless, who in 1990 left behind the world to head into the wild, but it also talks about why he went, his parents, and everything that he discovered on the way. It is truly an inspiring film, and a beautifully shot one at that.

Enough of that for now though. Every blogger has things they want to talk about. That's why we start one in the first place. So, here are a list of subjects I will be discussing through this blog:
  • Computers
    • How they affect us
    • New/emerging technology and trends to avoid
    • How to's and helpful tips
  • Nature and Camping
  • Movies, Music, and More
  • Politics
  • Global Issues
  • Misc
Of course, I don't apply equal weight to all of those topics. In fact, I started this blog for the same reason everyone does, and despite what I said earlier, that is just to express one's self. It doesn't matter what about.

However, and once again with that said, some of the topics I express may have my opinions among the facts. In fact, all of them will. Except for this...well, nevermind. Even my introduction included a brief review of Into the Wild, my favorite TV shows, and why I think bloggers write blogs. Notice any of that? It's important to be able to differenciate between opinion and fact. So, please take comfort in the following fact:

Nothing, and I mean absolutely nothing, in my blog is to be taken as fact unless it is extremely clear that it cannot and could never be an opinion.

In other words, "computers are expensive," is an opinion. "The power supply is part of a computer," is a fact. "Am7 is a chord," is a fact "It is relatively easy to switch between Am7 and Am or C," is an opinion. And so on, and so forth.

When it comes to opinions, I, like everyone else, have bias. Anyone who says they doesn't is either unaware that they have them or just plain lying. I hope my brief introduction to myself has served its actual (masked) purpose as a bias declaration. My political standpoint is that everyone should be entitled to their basic freedoms, and that no law or person can infringe on these freedoms. If you were the media, you might label me as a Democrat or "liberal." I take my own views on issues, and try to look at every angle. Just because I personally have done that doesn't mean that you can get every angle by reading my blog. Instead, you need to take this as a single angle and find the others for yourself. As a personal policy of mine, I will not delete comments unless they are either spam or extremely offensive (tons of vulgar language and nothing but, insults to either me, other comment posters, or groups in general, etc.)

Thank you for taking the time out of your most likely frantic day to read through this introduction. I hope you will continue reading my blog, since I plan to have many interesting topics raised and provoked. I'll see you there.

-The Nuge