Sunday, October 2, 2011

Minireviews 2: Electric Boogaloo

Wow, it’s been a while. I’ve been busy, trying to find a job and all that. Things are looking positive on that front and hopefully soon I can change that title on my twitter profile. But I haven’t forgotten about the blog. I actually have some posts ready to go, they just need some polish and I’ll be putting them up for you to enjoy. Anyway, enough with the meta, let’s get on to the meat of this post.

I enjoyed doing my last reviews of anime, so I thought I would do another. These won’t be as flattering as the last though.

Neon Genesis Evangelion


Status: Finished (Retellings being produced)

The Plot: “At the age of 14 Shinji Ikari is summoned by his father to the city of Neo Tokyo-3 after several years of separation. There he unwillingly accepts the task of becoming the pilot of a giant robot by the name EVA01 and protect the world from the enigmatic invaders known as "angels." Even though he repeatedly questions why he has accepted this mission from his estranged and cold father, his doing so helps him to gradually accept himself. However, why exactly are the angels attacking and what are his father’s true intentions are yet to be unraveled.”

Your initial impression of Evangelion may to classify it under “Action”. You wouldn’t be entirely wrong. It has it’s fair share of mechs fighting giant monsters. But, Evangelion is as much an anime about mechs as Moby-Dick is a book about a whale. It had mechs in it, but it is not a series about them. That becomes very clear by the end of the anime.

Just looking at it as a mech alone, it's not terribly good. 17 battles in the entire series, most without any real action. Most of the sci-fi mysteries and questions were left unanswered in favor of a finale that revolved exclusively around the psychological state of the main characters. As a result, the plot is left unfinished in regard to the sci-fi aspects of Evangelion. Most of these plot holes are filled in by supplemental material: video games, pack-ins with DVDs, ect.

That’s not to say that it’s a bad story (psych student’s probably go wild over it). Personally, it left a bad taste in my mouth.

Toaru Majutsu no Index



Status: Halted(waiting for more source material)

The Plot: “Toaru Majutsu no Index is set in Academy City, a technologically advanced Academic city located at western Tokyo which studies scientifically advanced superhuman students with powers, but is also set in a world where magic is also real. Tōma Kamijō is a student in Academy City whose right hand, the Imagine Breaker, has the ability to negate all magic and psychic powers, but also his own luck. One day he finds a young girl hanging on his balcony railing named Index. She is a nun from Necessarius, the secret magic branch of the Church of England, and her mind has been implanted with the Index Librorum Prohibitorum—103,000 forbidden magical books the Church has removed from circulation.”

The plot seems to jump around a lot. 2 or 3 episodes will concentrate on one thing, and then in the next episode, something completely different. Although some of the plots are really intriguing at times, it robs the series of a centralized plot that seemed to be building in the first few episodes. Also, some of the design in the series is rather unoriginal: spiky haired protagonist, magicians, school uniforms, ect. This may have been the suber’s fault, the anime’s fault, the source material’s fault, or my own fault for not holding a degree in physics, but at times the language was a bit cumbersome. It felt like some conversations were just going right over my head.

So, in the end, it’s a series with a lot of potential that could be really good if they just got a solid plot going. I’m interested enough to watch the second season when I get the time, but not enough to watch its spin-off Toaru Kagaku no Railgu.

Ergo Proxy



Status: Finished

The Plot: “In a future where the world has been ravaged by a nuclear apocalyse, there exists salvation in a domed city named Romdo, where humans and their android servants, the AutoReiv, live in. Under the implementation of complete management control, it is a paradise where feelings are literally discarded, and the governing council dictates the way of life the citizens should live. But this utopian landscape is soon broken by a series of mystifying murders.”

This one is a depressing anime. The setting and plot take a huge deviation from what the plot I posted says, but you’ll find that out if you watch it for a few episodes. The art is rather bland and “brown”, but that serves the mood of the series.

Unfortunately, none of the characters are particularly dynamic. They all seem to be on a rather heavy dose of Ritalin. And the plot is rather odd. It has a good plot at points, and the writers created an intriguing backstory, but it feels like the writers decided to bury it for some reason. The backstory gets “explain” in one very odd episode and then never really brought up again. The ending was also kind of strange and left me utterly confused.

In the end, it left me disappointed and wanting to know more.

Monday, May 30, 2011

My Favorite Programming Language

Having spent some time on technical message boards, I've seen this topic pop up a lot. “What programming language should I learn?” “What language is the best for beginners?” “What’s better C#, C++, or Java?”

When I was in high school, I was taught a stripped down version of C++ that avoided a lot of the Object Oriented concepts. When I went on to college, Java was emphasized in the intro courses and then C in high level courses. There were those courses that would force you to learn some eclectic language (x86 assembly, Scheme, Prolog). Outside of the mainstays, I’ve also run into C#, SQL, PHP, and HTML (which are not programming languages and, rather, scripting languages).
As far as what language you should learn first, in my opinion it really doesn't matter. As long as you go on and learn more about programming, your first language is going to affect you all that much. All programming languages have their pros and cons and one may solve a specific problem better than the other, but at the end of the day, it really won't matter which one you choose.
C is much simpler than a higher level language like Java or C#, however it can be less forgiving than them as well. Java gives you nicer errors whereas C relies on the programmer to catch a lot of those dumber mistakes like running over the bounds of an array. Some of that can be solved using the right IDE (Visual Studio is very good in my opinion).  C# and Java introduces Object Oriented concepts, which can be too complex for first time programmers and can add unnecessary bulk to smaller projects. I’ve also heard that Java’s garbage collection can be extremely cumbersome, as a CPU heavy task that pops up at random intervals.
Nothing beats being taught in a formal course, but here are some learning resources I would recommend:

The first is A Guide to Programming in C++. This is basically baby’s first programming book. It will hold your hand the entire way. We’ve all got to start somewhere and if you’ve never taken a formal class in programming this is the book I would recommend. The book is a little old, so, you’ll need to do a few tricks to get code to run on current versions of visual studio.

Java Concepts is a great Java introductory book. It will introduce you nicely to object oriented concepts. If you read some of the later chapters,  it will also touch on some of the higher level concepts in computer science.

Next is Computer Systems: A Programmer's Perspective. This is a very advanced book. I would almost say the material in “separates the boys from the men” in the programming world. After you’ve finished with intro books, consider picking this one up.

For C#, I recommend Learn Visual Studio’s Absolute Beginner's Series for Visual C# 2005 Express Edition. The entire series used to be available for free on MSDN, and you can still find some of it in existence on that site.

Tuesday, May 24, 2011

Photosynthesis and Cellular Respiration

I was going to make a detailed post on the formation of kidneys (mostly to make the joke “Zac Efron the Nephron”) but I found the subject to dry and uninteresting. However photosynthesis and cellular respiration is a much more interesting subject in my opinion. In a way it is the basis of all life.
Photosynthesis is the process by which plants (and certain other organisms) store solar energy in carbohydrate molecules: 6CO2 + 6H2O + photons => C6H12O6 + 6O2. This is how most new energy enters the food chain. This reaction takes place in the chloroplast. Photosynthesis is split into light dependent and light independent reactions.
That internal structure is called the thylakoid. The light dependent reaction takes place right at the membrane of the thylakoid. Basically, this reaction takes sunlight and uses it to attach a phosphate to ADP to create ATP (the energy “currancy” of the cell) and hydrogen to NADP+. The molecules hold the energy in these bonds. For a summary of the light dependent reaction, see below.
The light independent reaction (aka the Calvin Cycle) occurs outside the thylakoid in the lumen of the chloroplast. It basically uses the ATP and NADPH created in the light dependent reaction to take CO2 and create carbohydrates.
Cellular respiration is kind of the opposite of photosynthesis. Carbohydrates break down and release energy: C6H12O6 + 6O2 => 6CO2 + 6H2O + energy. The main method of cellular respiration is aerobic respiration. A lot of biological reactions operate as a cascade of small reactions, and aerobic respiration is just such a reaction. See below for a summary:
Glycolysis is a 2 phase reaction takes glucose and creates 2 pyruvates.
The pyruvates are then converted to Acetyl coenzyme A.
The citric acid cycle converts Acetyl coenzyme A to coenzyme A. This creates 2 ATP.
Electron transport generates a whopping 32 to 34 ATP!
Anaerobic respiration (fermentation) requires less oxygen, but releases less energy. Glycolysis runs and releases 2 ATP, but pyruvate is converted to lactic acid or alcohol depending on the organism instead of continuing on through respiration.
Now, you’re asking, what about all the other stuff we eat, how do we get energy from that. Well they enter at different parts of the pathway. See below.

Friday, May 13, 2011

Osama bin Laden: a Postmortem

I’ve stayed away from news posts, although I am still considering some news-round-up posts if I can find the time, and stuck mainly to content rich posts. This post will be no different, although the death of Osama bin Laden is news, there’s a lot going on in the Middle East, and I want to explore that.
I want to start out by saying I was not one of the ones out in the street cheering when Osama was killed. I just have something against celebrating the death of another person. I suppose it has to do with my belief that the world isn’t so black and white as to lump people into extremes. But, if you ask anyone who lost someone during the attacks or in the subsequent war that followed, they weren’t celebrating either. This was a time for reflection.
A lot of people like to cite the Muslim religion as the driving force behind Al Qaeda. That it was a clash of culture that led Osama on his path: “They hate us for our freedom”. While there was religious influence in the group, it was not the driving force. The Middle East is a region in which religion is all pervasive, with many operating theocrats. So, the real goal of Al Qaeda is political.
There is a huge disparity of wealth in many Arab countries; a small ruling elite controlling most of the wealth and resources, leaving the rest in poverty. It was easy for Al Qaeda to recruit terrorists when there were so many that are disenfranchised, poverty stricken. Many believed they had no future. It was easy for Al Qaeda to point their finger at ruling elite and the west, who had given their blessing to many of these rulers, and rally support against them.
But, Al Qaeda’s motives were never the problem, it was their modus operandi. Drawing support against a dictator is a noble pursuit, and many in the international community would support it. But when you attack civilian and peace time military, that is inexcusable and will label you as a murderer. And you will have to face the consequences, as Osama bin Laden did.
But, Osama bin Laden’s death was largely ceremonial. Al Qaeda’s support in the Middle East had waned. And it was not just the military operation in the Middle East that had minimized their influence.
In late 2010, a series of nonviolent protest swept across the Middle East. Known as Arab Spring, disenfranchised and impoverished citizens challenged the established dictators. In a few months, several countries had ousted their dictator and undergone revolution. People had found a way for change that didn’t require terrorism. Al Qaeda was left to watch as they became irrelevant.
Many claim that Osama bin Laden’s death was a turning point in the “War on Terror”, but that point came month ago when people chose peace over violence.

Saturday, May 7, 2011

Upgrades

There’s some big news in the death of Osama bin Laden. I want to make a post on it, and we’ll see if I get around to it. It will be up if/ when it’s finished.
It may surprise you, dear reader, that being as technologically savvy as I am, I am probably one of the last people to upgrade my electronics. However, that is not to say that I do not plan upgrades, just that financial circumstances (read: unemployment) prevent me from making the final purchase.
Let’s start with the big one: my PC. My current motherboard is this beast, which I have had for the last 5 years. I envisioned it as a kind of transition PC, but here it is 5 years later, still pulling it’s weight. I would like to upgrade it to an AM3+ or Intel LGA2011 board when they get released. Hopefully it has SATA 6Gbit, USB 3.0, PCIe 3.0, and DDR4 out of box, but that’s kind of unlikely. Lightpeak (Thunderbolt?) looks to proprietary for my tastes.

I recently received a Blu-Ray burner, but my monitor isn’t HDCP, so I can’t actually watch Blu-Rays on my PC. So, I’m looking to pick up this guy when the price drops to $280 or this guy if it goes on sale again . I could even modify it for 3D.
 My device on the go is the iPhone 3G which, as you may have heard, Apple decided to unceremoniously drop support for. But I’m still considering buying an iPhone 5 or whatever iPhone happens to feature LTE. What can I say, Apple makes a damn fine mobile OS, up until the point when they make the next model.
My laptop is similar to this bad boy. I’m honestly surprised it still runs. I made upgrades to the hard drive and ram. But I no longer have the need for a laptop, so I won’t be upgrading. But if I did I would want something with a touch screen and discrete graphics card. This is a little old or a nice ThinkPad.
Finally there’s my car. It’s almost 2 decades old. I’m not a car person. But as I previously posted, I’ve started watching Top Gear and I did a little research and would love to get the Chevy Volt when it’s price comes down.

Thursday, April 21, 2011

Creating a DLL in Visual Studio


This was another subject neglected in my formal schooling. I picked it up through trial and error, but you won’t have to as I’m about to run through an example for you.
In this example I’ll be using Visual Studio 2010 to create a dynamic link library out of a C file and use it in a managed C++ project.
For the C DLL:
Create a Win32 Project. Application type: DLL. Empty Project.
Create your C file. I called mine retnum.c.
The text of my retnum.c is very simple:
__declspec(dllexport) int retnum()
{
        return 5;
}
The __declspec(dllexport) lets the compiler know we want to use this function in a DLL.
For the C++ project.
Lets create a simple CLR Console Application project under the same solution as our C project.
Right click on your solution and go to properties, set startup project to be your C++ project. Also, go to project dependencies, on the “Project” dropdown menu select you C++ project and check off your C project.
Right click on your C++ project and go to properties. Go to Common Properties, Frameworks and References, click “add new reference”. Select your C project.
Create a header file under your C++ project. I called mine cdll.h.
The text of my cdll.h is:
extern "C"
{
   retnum();
}
The extern "C" lets our C++ program know we will be using C code.
The meat of my C++ project was in my app.cpp file. Condense as follows:
#include "stdafx.h"
#include <iostream>
#include "cdll.h"

using namespace System;
using namespace std;

int main(array<System::String ^> ^args)
{
    int i = retnum();
      Console::WriteLine(L"Your number is: "+i);
      cin.get();
    return 0;
}
So, that’s how you create a C DLL and use it in a C++ project in Visual Studio.

Project files now available on the download website.

Wednesday, April 6, 2011

Why US TV Sucks?

I’d like to start out this post with a little story. I used to watch CNN every morning to catch the news before heading off to the day’s business. One day I got up a little earlier than usual and caught the end CNN Worldwide broadcast rather than the usual CNN America broadcast. This day had been a particularly bad day in Iraq, a particularly important Golden Mosque had been bombed. CNN Worldwide was covering the attack, explaining the importance of the mosque and how the attacks would mean further setbacks to the piece process in the area.
Then the broadcast switched to CNN America. They were covering the death of Anna Nicole Smith. For the fifth day in a row. No mention of Iraq or the bombing at the mosque. That was the last time I watched CNN.
I understand why they do it. They need to be entertaining because, while informative is their job description, entertaining pays the bills. Entertainment brings in viewers, those viewers show up on ratings, advertisers use those ratings to justify the price of their advertisements. But, do you know how the ratings system works?
The principle rating system in the US is done by Nielsen Media Research. Many people assume that whenever you watch a program, Nielsen (if people actually know their name) or some other company records this information, aggregates it, and then reports this information to the advertisers. People may believe this because it seems obvious with the extensive use of digital satellite or cable boxes. But I’ve seen people who believed that ratings could be collected over analog as well.
However, this is not how Neilson collects their ratings.
Neilson will call up, at random, households and ask if they would be interested in participating in their ratings service. These families receive a box and the demographic information for each family member is added to the box. In total 25,000 families are used in the study. There are 114,500,000 households in the US with TVs. That means that 0.03%, the 0.03% that picked up that call and agreed to be tracked, of US household have direct control over what shows stay and go on US TV.
And boy does that 0.03% love their cheesy sitcoms, crime dramas, and reality shows. And their love for those perticuar shows are the reason you see wresting on SyFy or the Jersey Shore on MTV or one of the other hundreds of networks become just another Spike TV. It’s called network decay.
I should mention, that some good came out of my ban on CNN, I began getting my news from BBC America. And because of that, I discovered Top Gear. Even though I’m not that into car, I love Top Gear. In a way it’s similar to Giant Bomb. You watch it for the chemistry, to see 3 guys hang out just hang out. You would watch it even if the show was about kitchenware.
I guess it’s a bit unfair to say only US TV sucks. Perhaps, other countries have bad TV. Perhaps, all TV is bad.