Wednesday, May 15, 2013

Unjustified Mysticism

I have a great deal of interest in the subject of consciousness. It is a quality that is vastly important, but poorly understood. Many times I have stayed up late at night watching Youtube videos or reading web article on scientific theory and research into the subject. There will be a post about the subject eventually. But for right now, I'd like to talk about something else.
As I combed the web, it became apparent that pseudoscience had taken a liking to the subject of consciousness. Whereas science adhered to known biological and physical theories and adhered to the scientific method (propose theory, experiment to test theory), pseudoscience completely avoided any know scientific theories and lacks any supporting evidence, instead choosing to discuss the topic from a subjective view. I suppose the lack of understanding and formal theories around consciousness has made it a breeding ground for pseudoscience.

Go do a search for videos on "consciousness" and you will find many, many videos from this point of view. They're the ones with pretty graphics of space or nature rather than someone speaking in front of a classroom. One video in particular caught my eye, though. It's a clip from an episode of ABC's Face-Off of an exchange between Deepak Chopra and Sam Harris.

Deepak Chopra: "I believe that there is a transcendent core consciousness that is comprised of meanings, contexts, relationships, archetypal ideas that recycles itself."
Sam Harris: "So it's in no sense a product of the brain."
Chopra: "It's no sense a product of the brain and our whole endeavor in spiritual discipline is to go actually beyond that personal consciousness, that ego consciousness so we can identify with that transcendent reality which is the source of space, time, energy and anything else that exists."
 
Notice the vocabulary that Chopra uses. "Meanings", "contexts", "relationships". All very personal, subjective ideas. You can't measure them, and that works towards pseudoscience's advantage. You can't disprove that which can't be measured. Chopra then goes on to divorce the concept of consciousness entirely from any know theories of biology or physics and something presents something of an Assimilation Plot. Nowhere does he present a competent explanation for the spiritual consciousness, theories that could be tested. It works to pseudoscience to keep things vague, to keep them untestable.
And the last part of that exchange is perhaps the most interesting. Consciousness “is the source of space, time, energy and anything else that exists”. You can see more of this way of thinking at this article penned by Mr. Chopra: "Every quality in the outside world exists because you create the quality. Your brain is not the creator – it’s the interpreter and deliverer. The real creator is mind. It will likely take more to convince you that you are creating all of reality. We understand."
It is his theory that it is our consciousness that gives rise to reality. He’s not far off, but there’s a big distinction to make: It is our consciousness that gives rise our interpretation of reality. It’s actually pretty easy to test Mr. Chopra’s theory. Have you ever been wrong? Perhaps you sat on a chair expecting it hold your weight, but instead it collapsed. If your consciousness was truly giving rise to the physical universe, this would be impossible. In your mind, the chair would hold your weight, thus the reality created would be such. Even young children understand this. Just because you don’t understand fire, does not mean it will not burn you.

And Deepak Chopra is not the only one espousing this theory. I don’t suppose you’ve heard of The Landmark Forum. They are at worst an opportunistic pyramid scheme and at worse a cult. They too buy into the “reality as a creation of the mind” mythology: "We observe not so much the particulars of the realities we construct, but that it is human to construct such realities, and then forget that we are the ones who constructed them."
I think it’s more telling what they say latter on the page: "We explore choice as a profoundly human ability to create. When choice is understood and known in this way, what had previously seemed simply part of “the way things are” – inevitable or impervious to change – appears in a new light." And that’s really what is at the center of this pseudoscience mess: choice. What better carrot on a stick to those disenfranchised, depressed masses than choice. “You need not live life as a looser; you can choose a different reality.” Perhaps there’s even a little Social Darwinism in that thinking. “Your life is only bad because you are making that reality.”
But that’s not really true. Sure you can change your outlook on life, change your action in the world. It certainly doesn’t hurt to look at things from a new perspective. But no amount of belief will change your physical reality. You can not muster a home out of your consciousness, nor a happy family. Fire will always burn you. Belief alone will not make those things such. Sometime bad things happen for no reason. No one’s consciousness created it. Meaning can’t be found in everything. That is the nature of reality.
Perhaps it is a bit depressing to think in those terms. But you can still affect this world. You have agency as much as anyone else. However that doesn’t excuse pseudoscience from pushing a false hope that helps only swindler.
I think Mr. Harris phrased it best Mr. Chopra in that episode Face-Off:

Chopra: "You are so dismissive of subjective experience, which has given rise to poetry to music to art. I am saying that the whole universe is imbued with subjectivity"
Harris: "There is nothing more important than subjectivity. It's all we could possibly care about. The changes in our conscious experience have some relation to the physical universe."
Chopra: "Absolutely, they give rise to the physical universe."
Harris: "That is a statement of metaphysics that is totally unjustified and could not possibly be justified".

Wednesday, May 8, 2013

The Perils of a Long Transit

I live a few hours from a major city. Consequently, I saw a lot of job offers available in the area. One such was a small business I had multiple interviews with. About 3 if I recall correctly.
This means getting up quite early, putting on my spiffy suit and traveling on public transit for a few hours. This also meant a considerable expenditure on my part, as small businesses aren’t going to pay an interviewer for transit.
There was more than once that I was stuck at the transit hub waiting for the next ride out or the next interview to start.
In the end I didn’t get the position. On the plus side, one time as I walked down one of the crowed city streets in my full suit, a stranger told me I looked “cool”.

Tuesday, May 7, 2013

Spam: Stupid Pointless Annoying Messages?

Spam: Stupid Pointless Annoying Messages?
I meant to post this as part of the post on AI, but I felt that some of this information fell out of the scope of that post. So, why the post on spam? Well, it something all of us has run into in some way and it makes a wonderful case study, as you are about to find out.

I’m sure most of you have at one time or another looked at you inbox, found the countless spam messages, and though “why?”. What could these spammers, who go to such extreme lengths as to compromises other’s computers to add to their bot-nets, possibly hope to gain? Well, like most things, it boils down to money. Garry Pejski has an interesting DEFCON presentation on his time as a malware developer. Some reputable company, say GM or IKEA, will want to advertise their product or service in the hopes of attracting more customers. Another reputable middleware company, say Google, creates ads for these companies for a price and offers others a cut of this money if they display these ads on their website or product. Here’s the problem, some unscrupulous individuals look to capitalize on these offers by having others view as many of these ads as possible, whether they would actually buy any of these products or not.
There are other reasons why spammers are doing what they’re doing. Some could be trying to perform a phishing attack. But, here a more interesting case, also coming out of DEFCON, by Grant Jordan on the use of spam to affect the stock market. A spammer buy a stock, spams others to buy that stock, and then sells when it hits its height. Some interesting things brought up in this study: similar looking ads came from same spammer and would usually perform the same. Also, due to the advent of spam catching techniques, text based spam never worked.
Spam filtering is actually a highly intellectual field of computer science. It relies on computer learning, but there are two ways it can be preformed, using classification in the case of supervised learning or using clustering in the case of unsupervised learning. Both use features of a message (tokens that occur, number of capital letters)to add it to a group with similar features. In the case of classification, training data provides examples of the groups (spam and non-spam), while clustering uses input data to define groups and may only require the number of clusters to start the algorithm.

Monday, April 1, 2013

Artificial Intelligence: Finding Ourselves

I suppose you’ve heard of Watson, the Jeopardy playing robot. It’s a great case study for artificial intelligence. Watson has an almost limitless amount of information at its disposal (several terabytes). But, yet it gets things wrong. How is this possible? Consider the question “Its largest airport is named for a World War II hero; its second largest for a World War II battle”. Watson’s response: “Toronto”. Watson kind of works like a search engine, it gives a weight to key words in the question and the categories. It makes adjustments based on previous answers and produces a set of results it chooses from. So, it does a search for airports, people in WW2, battles in WW2, and cities. Then it combines, weighs them appropriately and produces an answer. The answer was probably right, but not “right”, the game show is US based and therefore a US answer is more likely.

The problem is universal to computers, they lack the basic assumptions you and I have. When I say a person X is dead, people understand what that means, a person that is dead is no longer animated and will always remain dead. But if you tell a computer that (say, in Prolog) it doesn’t understand that, I just assigns “person X” the value “dead”. Computer learning can help, but as with Watson, it can’t make this problem disappear.
One of the greatest problems facing the field of artificial intelligent is figuring out how to determine intelligence. One of the early computer scientists interested in this question was Alan Turing, who proposed the Turing Test. The idea was, essentially, if a person, through conversation, could not differentiate between a computer and a person, that computer was capable of thought.

An interesting aside about Alan Turing. Although a brilliant scientist, he was sentenced to chemical castration for being a homosexual as was the law in Britain during the time. Unable to live with the treatment, he committed suicide by ingesting an apple laced with cyanide. Rumor is, Apple’s iconic logo is in tribute to Alan Turing’s contribution to the field of computer science.
Back on track, there are several problems with the Turing Test. In practice, human judges become too suspicious and end up actually rating several humans as bots. In theory, there is the Chinese Room. In this theory, a man sits in a room with a book with responses to Chinese symbols. Chinese characters are passed to the man in the room and, after consulting the book, the man jots down the response and passes it out of the room. The theory holds that even though the outside observer may believe the box to know Chinese, the man inside the box does not actually “know” Chinese. Similarly, a computer just follows instructions (a program) and can never really “know” things.
Well, it’s an interesting view, but lets take the example a little further. The book that our man would be consulting would be very large, it would need to responded to every inquiry one could make in Chinese. Our man is only doing the simple work of finding and responding. Essentially our book plus man combo, and not the man alone, would be able the Turing Test.
Perhaps the problem isn’t the question we’re asking, but rather understanding what we’re trying to find in the first place. Perhaps the question should be: What is consciousness? It’s a question philosophers have grappled with for some time. Some define it as self awareness, emotions, or, if you’re religious, a soul. The best way that I have found to describe it is “our first person perspective”. When your body experiences something, your body does not just respond with a reflex “you” feel it. This raises some interesting questions. How do we know others are conscious, are they intellectual zombies? Are animal? Babies? Those that have undergone brain damage? How can we tell if a computer has gained a consciousness?
If a computer did become conscious, how would people react? Looking at popular fiction, some might accept it, as in Neuromancer, others may look to prevent it’s existence, as in Ghost in the Shell. Perhaps some would react in disgust, knowing that something exists like you but “different”. That is certainly the case of the Uncanny Valley.

Friday, March 29, 2013

Job Search Dos and Don’ts

I’m sure you’ve seen one of those articles about “10 tips for job seekers”. They usually speak to some analysts or hiring managers and get some choice quotes about what they thing job seekers should do to improve their odds of finding a job. I actually had an entire college course similar to this. The problem is, hiring isn’t scientific. There’s no “best way” to hire, so different hiring managers will give different answers.

In my course it was explained that the job seeker should always ask for when a hiring decision will be made and if they haven’t heard back by then, they should call back to follow up. My instructor explained that a job seeker should never call before then, because it would be seen as needy or bothersome to the interviewer. About a month into my job search I read an article explaining the same tip. However, the article explained one should call up before the decision date, in order to remind the interviewer of their qualifications. Clearly, these two people have a different job selection process.
So, with that in mind, I’ll try to avoid specifics, and keep in mind, every interviewer is different.

Always research the company you’re interviewing with. Be informed of recent news and what their business does.
Have questions. There’s always a “do you have any questions” section of the interview. Always have a question, even if it’s “what’s it like to work here”.
Never bring up salary. Until the offer, be as vague as possible about your price. Say you have to research it.
Be timely. Arrive on time to interviews, if not early.
After an interview, send a thank you email to the interviewer. The idea is it will remind the interviewer about you. Don’t be afraid to list some of your qualifications.
Have a 2 minute ad for yourself, as short story about your qualification. In case the interviewer asks to “tell me about yourself” or another open ended question.

Thursday, March 28, 2013

The Power of C in the Cloud

In my last post, I introduced you to the cloud IDE Codenvy. The primarily reason I used it is because it has a simply way to hook into Google App Engine. However, for a more robust cloud IDE, I would recommended Compilr. Compilr has support for many of the languages Codenvy does (Ruby, Java, PHP, Python) but it also has support for Objective-C and C# as well as low level languages like C and C++.
That last point leads to some interesting results. Because we have access to such low level languages, we can use the Compilr servers for general computing. From what I can tell, the Compilr servers that execute the code are running a Unix-like operating system on x86 hardware. So if you’re in a pinch and need access to a Unix like environment, Compilr can be very useful. I happened to run into such a situation while trying to make use of WoLF PSORT for a rather long sequence and lacking the necessary Linux PC to compile and run the program locally.
So, how do you execute commands on commands on Compilr’s servers? First, create your C++ project. Your program will be run in the “content” folder of your project so if you have any external files you need, place them there:
 

If you get an error message when uploading, but you also get “Upload complete”, you upload has finished. Refresh the page for the files to show up in the project panel.

The key to our program is the system function. Simply hand it commands to execute and it will do so. To untar our WoLF PSORT file execute the following:
system ("tar -zxf WoLFPSORT_package_v0.2.tar.gz");
Remember to mark the files for execution if nessessary:
system ("chmod 777 ./WoLFPSORT_package_v0.2/bin/psortModifiedForWolfFiles/psortModifiedForWoLF");
There are a few restrictions Compilr has placed on free accounts.
First, you are forced to make public project and you are restricted to 50 builds/runs. These aren’t huge problems and you can always create a new account and port code if you go over 50 builds. In fact I have noticed the build counter often reset after refreshing the page, so this never became an issue for me.
Second, you are limited to 4000 characters of output. A very simple solution, pipe output into a log file by appending > log.txt to your command:
system ("./WoLFPSORT_package_v0.2/bin/psortModifiedForWolfFiles/psortModifiedForWoLF -t ./WoLFPSORT_package_v0.2/bin/psortModifiedForWolfFiles/all.seq > log.txt");
You may also need to pipe errors and warning, in which case you can log to the same file by appending >log.txt 2>&1 to your command. Or you may wish to disable errors and warnings completely while still capturing output, in which you would append the following 1>log.txt 2>/dev/null .
Third, if your program has not accepted input in 40 seconds, it will be terminated. This requires a tricky work around. I ended up spawning a child process to accept input while the parent process was busy. The child process will send an alert for input every 30 seconds. If you choose to do something similar, remember to flush stdout before sleeping. The syntax is as follows:
fflush(stdout);
sleep(30);
Interestingly, this method triggers a security measure when one process exits before the other and will terminate the program. So make sure no process exits before your program has finished doing it’s work.
Some final points about Compilr:
Much like Codenvy, Compilr has issues with Internet Explorer. I managed to get it working in Firefox.
The first compile of every session will fail with “Lost connection to server”. Simply use a dummy application to trigger it and continue your work. If you run an application that takes a long time and it loses connection, it could block you from running further applications until it finishes.
Always backup your progress! I can’t stress this enough. If the server that stores the code loses connection to the server that runs the code while “Syncing application data”, you can lose large chunks of your work.
Finally, I’ve attached some sample code on the download website.

Tuesday, March 26, 2013

Programming with Java on Google App Engine

I wrote a draft post about Google App Engine many moons ago when it was Python only. As I’m not a Python man, the post isn’t very technical. Anyway, things have changed and GAE now supports Java. Albeit a customized subset of Java, which I’ll go into later.
Google App Engine is a cloud computing service: run your programs on their servers and pay by CPU usage. It’s similar to Amazon’s EC2 and Microsoft’s Azure, but unlike them in there is an absolutely free trial. You’re only required to provide a telephone number when signing up.
Step 1: Create the proper account
Sign up for a Google account here and a Google App Engine account here. After the GAE account is created, you should be prompted to create a new Google App Engine ID.
Now, if you’re like me, I won’t want to have to download and install the various SDKs and IDE to make your GAE app. So, I suggest Codenvy. Be sure your logged in to your Google account and click “Connect with Google”. Be sure you’re not using Internet Explorer, Codenvy seems to have issues with it.
Step 2: Create a project
On the welcome screen, choose “Create a New Project From Scratch”

Choose  Java Web Application (WAR) -> Google App Engine

You have to select the sample project, but you can skip using the JRebel plugin.

Use the Google App Engine ID you just created.

Step 3: Clear out the sample code

Click the project tab in the left menu (next to the Package Explorer tab)
Delete the src\main\java\com folder.
Delete the src\main\webapp\display.jsp file.
Open src\main\webapp\WEB-INF\web.xml and empty the “servlet” and “servlet-mapping” items. You can add java code to the src\main\java folder at a later time and add the proper information in these tags to specify it as a servlet.
Add the following in the “web-app” item after the “servlet-mapping” item:
<welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
Open src\main\webapp\WEB-INF\appengine-web.xml and make sure the “application” has enclosed your Google App Engine ID
 Customize src\main\webapp\index.jsp as you wish.
Step 4: Run your app on Codenvy servers
Make sure you save! Codenvy does not auto save changes when building.

Run -> Run Application

Step 5: Load your app into Google App Engine:
Make sure you save! Again, Codenvy does not auto save changes when building.
Go to Project -> PaaS -> Google App Engine

Select Application Update


If you get an Oath token error:

PaaS -> Google App Engine -> Logout

PaaS -> Google App Engine -> Login

Also, see this link for setting up cron jobs.

Monday, August 6, 2012

The Job Search

I’m going to be writing some new types of posts, and therefore introducing a new tag. They’ll be about the time I spent on my job search. I’m now (luckily) employed, but I was on the job market for about 9 months, not including the job searching I did while in college, and have quite a few tales to tell.

I was speaking to a friend recently about our job hunting experiences, and the one thing we immediately agreed upon is that job hunting is a soul crushing experience. Between making cold calls to doing interviews to following up, it’s all a massive time sink. The worst of it is, even if you put in all that time, you have no guarantee of success, just better odds.

The one comfort you can have is this: You have a skill. If you’re in a technical field and you’ve gotten proper training, this skill should be easily identifiable and valuable. Maybe you can program or cook well or can translate another language. And as a job seeker, this skill will be something employers are in need of. And if a business is hiring, they obviously have a need for that skill.

Thursday, August 2, 2012

Technological Singularity: an Unrecognizable Future


Do you ever feel like technology just moves too fast? I’ve already posted on how technology has past me by in many ways. But there might be more to it than people falling behind current trends. There’s the idea of a technologic singularity.

The technological singularity is an event in the future when technological progress becomes so rapid that it makes the future “different”. Central to this concept is the concept of accelerated change: technologic breakthroughs allow the next technologic breakthrough to occur sooner and easier. For instance, our technologic improvements in computers have allowed us to study genetic data faster and advanced our knowledge in genetics.



(Ignore that calculations per second, they are a poor measure of intelligence)

Some interesting consequences occur. As we build faster computer and create better algorithms, it allows us to create faster computers and better algorithms. But, that’s really all just an evolutionary trend, when our computers reach a high level of AI it will become revolution. It will be a paradigm shift: a social change so large that will occur and a new generation will be created.

And after the singularity? We will be able to construct machines smarter than us. And in turn, we will become more intelligent. We will become something else.

Before I finish, I would like to recommend The Gentle Seduction by Marc Stiegler as a look at what our future may become.

Monday, July 16, 2012

Loss Leaders

I’m a big fan of Valve’s Steam service. It took me a while to come around though. Even today I still keep local copies of all my games in case of a doomsday scenario. It takes a lot of trust to buy into a Digital Distribution service. Will they respect their customers, because it’s not like you can take your library someplace else if they decide to change their Terms of Service for the worse? Will they remain competitive, or will I have to start buying from other services and fragment my library? Will I still be able to access the things I paid for in 10 years?

One of the things that push me over the edge was their amazing sales. Amazing games for just a few dollars. As someone who was unemployed at the time, or even just price conscious, it was too good to pass up. The basic idea is loss leading. Valve, or the publisher, takes a hit on the sale of a game hoping you’ll come back and buy more games from Steam or from that franchise. In the end, gaining a returning customer at the cost of a game that they may have never bought anyway.

David DeMartini Origin’s, EA’s competing DD service, boss was asked in an interview about these sales to which he responded, “We won't be doing that. Obviously they think it's the right thing to do after a certain amount of time. I just think it cheapens your intellectual property.” Take from that what you will considering partiality of the speaker.

Valve’s business development chief, Jason Holtman, responded to the criticism, “If all that were true, nobody would ever pre-purchase a game ever on Steam, ever again. You just wouldn't. You would in the back of your mind be like, okay, in six months to a year, maybe it'll be 50 per cent off on a day or a weekend or during one of our seasonal promotions. Probably true. But our pre-orders are bigger than they used to be. Tonnes of people, right? And our day one sales are bigger than they used to be. Our first week, second week, third week, all those are bigger.”

What’s underestimated in Holtman’s response is the importance of the social side of gaming. If all your friends are playing a game now, you’re more likely to buy it now to be able to discuss it with them or play it with them. Not to mention, if you happen to pick up a multiplayer game several months after launch, your libel to be greeted by many an empty server.

I’ve recently started dabbling in another Digital Distribution service, Amazon MP3. They too have been a major user of the loss leading tactic. It’s not odd to see a $10 album drop to $3 or songs drop from 99 cents to 25 cents. And boy do they give away free credit like there’s no tomorrow.

They too faced scrutiny for their tactics. One unnamed retailer is quoted in a report as saying, “I love it when they have a successful loss leader pricing deal. I can't stop laughing every time I think about how much money they must be losing”.

The problem is that music doesn’t have the same social aspect as gaming. Outside of people who are really into the technical aspects of music, most really don’t discuss it beyond “like” or “dislike”. There’s no real analog to multiplayer in music. So, there’s no pressure to buy music quickly beyond a few special circumstances like social gatherings. At the same time, this means the price of music will generally stay constant over time. What is a 99 cent song now will remain so for the remained of its life, barring sales.

While Amazon certainly has the money to keep their MP3 Digital Distribution service afloat for quite some time, I question how effective their loss leading strategy will be in the long term.

Sunday, June 24, 2012

The Scorpion of Baldora Field


I’m not going to do a lot of the typing this post, this time I have a story. It’s a monolog from Night on the Galactic Railroad about the scorpion of Baldora Field:

Our father told us once about the scorpion of Baldora Field. The scorpion killed other bugs and ate them.

Then one day, a weasel found him. The scorpion fled, and fell into a deep well. He was trapped, and knew he'd die.Then, he thought to himself,"How often have l eaten other creatures? And now, the one time that l was the prey, l fled in utter terror. And look what came of that. I'll die in this well, alone."

"Life is filled with uncertainty. Why didn't l accept my fate? If l had freely given my life to the weasel, I would have given himanother day of life.But now my death will help no one. I am useless. Dear Lord, I beg of you, look into my heart and hear my prayer. In my next life, don't let me waste myself.Let me use my body for the truehappiness of everyone in the world."

And then the scorpion burst into flame: a brilliant crimson glow. And by the light of his burning body, he lit up the night forever.

How beautiful!

I always liked the story. “Put the others before yourself” is a very nice motto. Even if it has a subtle communist overtone. The world would probably be a better place if everyone thought that way. But like the story says, when death has you in its clutches, even the courageous falter.

There was a story a few months ago on 60 Minutes about the cost of end of life care to tax payers. It reminded me of this story. It’s easy for most to expect the old and sick to accept their fate and save the tax payers a few dollars, but it’s much harder to accept it when your time comes.

Sunday, April 29, 2012

Web development: HTML, PHP, and SQL


First thing’s first, lets set up our environment. My IDE of choice is Netbeans, but that’s of little consequence. Next, install your PHP stuff. Later down the road, when we use MySQL, these tools will make yourlife a lot easier. In your php.ini file uncomment - extension=php_curl.dll to activate curl.

This post will tell you how to set upyour project. The easiest thing to start with is how to scrape a feed, basically cut and paste, see here. Quick posts to brush on your PHP:






Now let’s tap into Google APIs. Sign up for your Google License Key. Read how to use the Google API here and here. The Google News API is similar.

Next API were going to use is Twitter, well technically 3 Twitter APIs. The first is to get trending topics, seehere. Next, twitter searches, similar to Google’s search API, but you don’t need a key, see here. The third is a bit trickier, see here for help. Basically download Abraham's TwitterOAuth library add it to your project and go to http://dev.twitter.com/apps, register your app and get your keys.

Now before we jump in and start using SQL, I feel it’s important that you keep in mind the scope of your project. If you simply want to store a small amount of information with no respect to order, you might consider plain text. There’s a certain cost to setting up and maintaining a database and it may even hurt performance if you are just doing a simple project.

OK, ready? Start your server. Open up MySQL Query Browser. Right click on a Schema, create a new one or use a default, and create a new table. Now, let’s connect our new table to our PHP, see here. We’ve been getting json objects for our searches, so let’s store those in the database. For help see here, here, and here. I managed to get away with just using serialize() and mysql_real_escape_string() but not addslashes().

And there you have it. You are now the proud creator of a web application.

Sunday, April 15, 2012

Free Energy: E=MC^2


I’ve been interested with some of the more exotic aspects of physics since watching NOVA’s The Elegant Universe. It was mostly about the up and coming String Theory, but also covered the history of the field. By the way, interesting thing about String Theory, it proposes that there is a small chance that you can walkthrough a wall due to quantum tunneling. However, the probability is so small, the time it would take you to try is longer than the projected life of the universe.

E=MC^2 is probably one of the most famous equations in the world. Everyone’s heard of it, but few actually know what it means. Energy equals the product of mass and the speed of light squared. Now the speed of light is a very big number (299,792,458 m/s). So, this means any mass can be converted to energy (a lot of energy!).

Nuclear reactions rely on this principal to create energy. In a nuclear reaction that produces energy, two atoms combine (fusion) or one atom splits (fission) and at the end of the reaction the products weigh less than original reactants. That lost weight is responsible for the sun’s energy and the destructive power of an atomic bomb. That’s a lot of free energy.

Now, when I say free energy, I don’t mean G, although some of the energy that is released is. I mean using the dirt on the ground or particles of air to power our cities. But we’re not there yet, and perhaps we never will be.

You have probably heard of the second law of thermodynamics. Basically it says that entropy can never decrease. When energy is used to do work, some of it is lost as heat and friction and can never be used again. There is an absolute limit on the amount of work that can be done in the universe. One day, the universe will be nothing but entropy with no organization. Rather depressing isn’t it.


I would like to leave you with a story: The Last Question by Isaac Asimov. Perhaps a bit optimistic about the future of human race, but an amusing tale nonetheless.

Saturday, January 28, 2012

Blogamania

Good news everyone! I've imported my blog to tumblr. I'm also making use of ifttt so that every subsequent post I make here, Blogger, should show up there too. It should also post links on twitter and Wordpress. Ain't that just grand!

I've actually planning to do a massive toy project that incorporates ifttt and some other neat little things. Problem is, I just have to come up with what the project will be in what little spare time I have.

Anyway, welcome to all the new viewers and I hope you get some enjoyment, and possibly information, out of my posts.

Thursday, January 19, 2012

Open Source Software: Doom and Gloom

A few years ago there was a rumor that the Linux Hater's Blog was being abandoned. I took the opportunity to read through his old post. Most of his posts were filled with immature rants and filled with swears, but he had a genuine point at times.

Open source software may not cost you any money, but poorly designed software will cost you time and effort. I have seen more than my share of dropped projects; projects that start out with a small team that slowly erodes away until that last person leaves up a “Thanks for all the fish” post.

The greatest evil of OSS is probably fragmentation. The mantra of OSS source software has always been freedom of choice. And it’s good if you’re a consumer trying to pick a media player or web browser, but it is hell for software developers. Each distro has a different set of libraries and a different kernel and a different set of binaries. Your software might work on distro and not on another at any given time. That’s one of the reasons companies are so afraid to make software on linux, they have no clue what libraries they can support.

I recently found out about the Linux Standard Base, who are attempting to standardize binaries across distos. However, the LSB has failed, to a certain extent. The LSB doesn’t have the influence over the distros that they need. How many distos are going to listen to the LSB and use older binaries for compatibility when they can update to the latest and greatest?

Check out what distros the LSB has certified:


Ubuntu: the latest release certified is 9.04, which is no longer supported. 8.04 (LTS) is also certified, but support ends next month. And having used an LTS this late in this life cycle, I can tell you, they are unusable.


Mandriva: the last desktop version certified is from 2006 (2007.0)!

SUSE: version 11.0 is no longer supported.

Debian: not certified at all.

Fedora: not certified at all.

Mint: not certified at all.

Congratulations Linux Standard Base, you’ve managed to standardize a bunch of Linux distros no one is running!

But that’s not to say OSS is the only software affected by these issues. Let me illustrate it with an example. Before Microsoft released Vista it was codenamed Longhorn and it was a much grander undertaking than the released product. There were, what Microsoft called, the “3 pillars of longhorn”; 3 key technologies that would form the backbone of the finished Longhorn. One of these pillars was WinFS which called for all the files on a computer to be stored in a database. For those less technically minded, this was a big deal and allowed for some neat things to be done.

At the beginning, everything seemed to be going fine; Microsoft released multiple preview releases of Longhorn and, with the exception of the normal bugs, everything was moving along. Then nothing was released to the public for several months; no preview builds, no progress reports, nothing. One day, Microsoft announced that they would be releasing WinFS after Longhorn’s release and would be porting the other 2 pillars back to XP. The reason was, they simply bit off more they could chew, they kept on adding more and more features, they had to eventually crunch bugs and make a release. In the end it WinFS was further delayed and then outright canceled.

At the same time, linux had a similar open source program: Gnome Storage. Like WinFS, it planned to put every file on a computer into a database for organization purposes. What happened to it? Well, it was abandoned. It was done almost entirely by a college student, maybe he graduated, maybe he got a job, maybe he just was no longer interested in it anymore. The end result is Gnome Storage is in a perpetually unfinished state.

Two separate project failed for entirely different reasons.

Monday, January 2, 2012

Banking: Money for Nothing

Happy new year everyone. I've been quite busy recently. So, excuses the large gap between posts. I meant to have this in my last post, but it was already such a meaty post I’ll just create a new post for it. It's not as timely as my last post. It certainly seems like the Occupy protests have wound down, which is a shame. There's rumors of something happening in March, but we'll have to wait and see.

I’ve always had a bane for banks, specifically insurance banks. You pay every month in case something unfortunate happens, making the insurance company nice and rich without providing a single product or service. And when something actually does happen, you have to fight them tooth and nail get them to give you what they agreed.

To understand banks, you must first understand money. A long time ago, paper money was simply a substitute for a real product: gold. You could take your $1 to the bank and receive $1 in gold. This was called the gold standard. But, our economy grew beyond the amount of available rare metal, so we switched to a fiat money. Money now has value because or government says it does, and we have faith in our government and the value of our currency.

The financial crisis of that started in 2007 seems like a complex issues, but it’s actually quite simple. Read a few articles, here and here, and you begin to get the idea. Large investment banks invested sold loans to people who probably wouldn’t pay them back (sub-prime loans). And then sold “insurance” on these “investments”. When people stopped paying their loans, the investment banks were in trouble. Had these had been smaller banks it would have been no big problem. But these were huge international banks, they had insured and invested in many other companies. They were “to big to fail”.

Bear Sterns was lucky, they found a buyer. But Lehman Brothers was allowed to fail. Some blame it on the government wanting the free market to take over, others blame Lehman Brothers for being uncooperative. And it sent ripples across the market. When later financial institutions when to the government and essentially held the market hostage for government money, they got what they wanted.

Years ago, this would not be possible. There were laws to prevent banks from becoming too large and taking stupid risks. They were implemented around the great depression to prevent what happened then from happening again. But, our representatives repealed those laws. I don’t know if it was greed or stupidity that led to that decision.

Let me explain, to the best of my abilities, how banks create money out of thin air. Most people believed that money is created at a mint and makes it’s way into everyday life by some form of government magic. But this is not how it happens for most money. Most people know, when you deposit currency at a bank, that bank can loan out the majority of the money to generate income from interest in loans. As anyone can who’s watched It’s a Wonderful Life can tell you, this can get banks in a heap of trouble if everyone wants to withdraw their deposits. What most people don’t know is that banks can loan out more than you deposit (called a monetary base). Lets say you deposit $1 in a bank and the government has set a reserve rate of 1:9, the bank can now conjure $8 into existence and loan out $9!

Now remember how I said our money is fiat currency? How I said our money has value only because people believe in it? That is why preventing counterfeiters is so important, if we did not protect our money, it would become worthless. What would happen if the average person found out that the “money” on their credit card was conjured into exist out of thin air?

Saturday, December 10, 2011

Corporations

Where to start? There is so much I could say on the topic of corporations. People are always so scared of what the government does; believe it or not, the government is probably the least of your worries. The law tell you exactly what they are allowed to do, meanwhile corporations are a lot more free to do what they want. I could talk about class warfare and wealth disparity. That’s the popular thing to talk about, but I don’t feel the need to repeat what you’ve already read. I’m here to tell you things you might not have heard.
I would first like to start by talking about something that, on the surface, is wholly unrelated to corporations. Immigration reform in America. This is a hot button issue. Some people believe that support of stronger immigration reform is tantamount to racism. Not in my opinion. There are laws already in place making illegal immigration just that, illegal. Illegal immigration is disrespectful legal immigrants (they made the effort to immigrate legally), to the illegal immigrant (they are exploited for cheap labor) and America (lost tax revenue).
But why am I talking about it in this post? Arizona, known for it’s controversial immigration policy, was recently considering 5 bills to try to curb illegal immigration. But it did not pass. That’s not why it’s interesting though. It’s interesting because of the reason why it did not pass:60 businesses sign a letter asking them not to do so. Why would they refuse to tighter laws on immigration? Well they cite bad press for being Arizona located corporations, but how does that apply to Wells Fargo, Intel, or Cox Com.? The implication is that these corporations profit, directly or indirectly from illegal immigration, it wouldn’t be the first time a major corporation has been caught doing such.
But even more disturbing is that even though 6,500 citizens could not prevent the turning of the first reforms in the state, just 60 businesses could do so today. The reason for that is lobbying. Not many American know what it is. Basically, it’s legalized bribing. I know, I know, you were as swoon as I was when my grade school teacher recounted the tales of how the muckrakers exposed all of societies ills in the early 20th century and did away with corruption. But today bribing is as alive as ever was, there’s just a few technicalities now. In a 12 year period our public officials accepted $30,529,002,364 in bribes! And if bribes aren’t enough, they offer to hire them! All of this is exacerbated by career politicians, being a statesmen is now a job and not volunteer work. We’ve created a buffer between representatives and the people they represent. It’s not a bad idea, considering you don’t want every yokel in America to exert direct control over the entire nation, but politicians have forgotten who they're representing.
“Too big to fail” has become a buzz word these days to describe some financial corporations. But I think is an apt phase for some of other corporations: super large, super connected companies who pose a systemic risk. Comcast, AT&T, too a lesser extent Disney, and Sony. These corporations dominate a market to the extent that every action they take has an effect on the market. They are able to dictate market conditions beyond what would occur in a competitive environment. And when these corporations are in trouble, the effects are felt even outside their market. When corporations are able hold our economy hostage for a government bailout, it is no longer a question of free market capitalism and instead a question of national security.
CNBC sometimes runs biographies on companies. They’re not really journalistic, more of an hour long commercial for whatever company their doing. But for every one that I can remember seeing, there is always something awful that the company has done to get where they are. And they are not ashamed of it. One of the executives of Coke boasted how they made a killing in South Africa when other companies were boycotting the region at the behest of Archbishop Desmond Tutu because of apartheid.
What do you expect though? Corporations aren’t people, but we treat them as equals under the law. The case of corporate personhood is rather complex and hits on some constitutional issues. First, some background. There’s no definitive corporate law. That is to say, there’s no international law on how these multinational organizations are treated. Most contain some form of idea of Ownership and Separate Legal Personality from that owner. Worst still is the fact that this is one of the few areas where the 10th Amendment is at play and the federal government has left states to create their own laws governing corporations. So, you get odd cases of a Delaware company suing a New Jersey man in a California court. Add to this that federal law is being applied to these corporations and you end up with 50 different pegs being fitted to one hole.
Now, you also have to understand how different companies are structures. One of the core differences between an incorporated business and an unincorporated business is the concept of limited liability. Limited liability prevents owners of a company for being sued for the improprieties of their company.
Let’s take an example: Mom and Pop form a partnership (a form of company that does not provided limited liability), Mom and Pop Company, and start a shop. A customer walks in and slips and falls due to a slippery floor. This customer sues Mom and Pop Company and wins, but Mom and Pop Company has not had a good year, it doesn’t have enough assets to pay the customer. However, because it is a partnership and it’s owners don’t have limited liability Mom and Pop personal accounts must pay the remainder. Now, let’s run this scenario again and assume Mom and Pop incorporated their company to form Mom and Pop Corp.. This time our customer can only sue Mom and Pop Corp. and not Mom and Pop individually. Assuming Mom and Pop Corp. hasn’t done well this year and can’t pay the judgment, there’s nothing our customer can do. Now that’s an extreme simplification, but this is a very important concept, Mom and Pop Corp. is a different legal entity from Mom and Pop. It has its own responsibilities and rights under the law.
So, let’s put this all together. States create laws allowing the creation of corporations, distinct legal entities under that state’s laws. The federal government enacts national laws intended to protect a person’s legal rights. These federal laws are then applied to corporations because they are distinct legal entities. The end result is corporations with far more rights than anyone intended. I'm honestly surprised they haven't been given the right to vote.
But corporations aren’t like us. Corporations aren’t moral. They aren’t people. Regardless of the theory of stakeholder, corporations don’t have a vested interest in their community beyond profits. Look at the job situation. You’re a business and you’re in it to make a profit, so you want the best person for the job. So, you through up insane requirements like 2-3 years of experience for the exact same entry level job because you know it’s an employer’s market and a bunch of 401k’s just dried up so you can maybe get someone. And then you use come up with strange requirements like GPA, irrelevant courses, even SAT results because it might lead to better candidates. And because it’s an employer’s market you can ask for unreasonable things: unpaid training, substandard pay, and employer benefiting agreements. Or maybe you just have one of your employees do the job instead of hiring someone new, you save on hiring and training someone new in a tough economy. All the while you have a buildup of perfectly good, fresh graduates filling up unemployment.
Corporations poison our land, our air, our water, our food, our medications, our military when it makes them a dollar. They are the greed manifest: “every man for himself”. And we look the other way.
Because we get our high fructose corn syrup and our reality TV. We’re not poor, we get our stomachs filled and our promotions and we’re happy. That’s something that all those dictators in the Middle East forgot. So, you’re not likely to see a wholesale revolution or something like the end of Fight Club anytime soon. And I wouldn’t want to see one; life is pretty good compared to other times and places. So, what can we do?
In the past we had regulation. And not just regulation that intended to foster R&D but instead created loopholes. We had trust busting laws. We broke up Standard Oil once! But no more. Now we make sure Microsoft includes a ballot screen in Windows. Blame it on globalization, I blame it on corporations learning who to bribe.
Outsourcing is another devious thing corporations tend to do. Can’t get cheap labor to come to you, go to it. So counties that have laws that protect laborers lose jobs to countries that don’t. Right now, our tax code actually rewards corporations for doing so.  What about heavier import tax or, dare I say, embargos? It would certainly create a niche where that company used to be. Kind of artificial trust busting: when a corporation gets big enough, it outsources and can’t sell their goods in their original country anymore, opening up the market again.
And on the topic of taxes, a flat tax is not unobtainable. Some simple calculations will tell you that based on the total income taxes in 2008, $1,091,473,000,000, and the 2008 budget, 2,900,000,000,000, that a flat tax of %8.76568 would yeild the same amount of income tax and that a flat tax of %23.29017 would cover the entire budget. Especially when you factor in removing all the loopholes from the current tax code, a flat tax becomes less absurd. Capital gains are treated differently than earned income in our current tax code, millions of tax dollars slipping passed. If the adjusted flat tax puts too much burden on lower income brackets, increase the minimum to compensate. It’s been kept artificially low through our tax system, and that’s not what a tax system is for. The role of a tax system is not to supplement low income or reduce wealth disparity; its role is simply to generate income for the government to operate.




Back to the topic of corporations, perhaps the solution to corporate greed is simpler than regulation.
In the 1960s and 1970s a company called IBM had commanding control of the computer industry, which was at the time relegated to mainframes. There were other companies that manufactured mainframe, but IBM was so much larger than them that they were referred to as “Snow White” and the others as “the Seven Dwarves”. Everything was going swimmingly for IBM up until the 1980s. By this time IBM was bloated and slow, allowing technologies that they owned to be replaced by newer technologies and allowing their competitors to undercut their prices. When the PC revolution came, they lost their core business, mainframes. To this day, they have never regained the market control they once had.
So, perhaps there is a chance that, if left to their own devices, corporations that grow too big will be consumed in a similar way, without posing the systematic risk of “too big to fail” corporations.

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.