Who am I and where does society fall?

Sometimes I wonder ‘Do I do these things because this is who I am or because this is who I feel society wants me to be.’ Two particularly recent examples come to mind that bring up this question and I will address each separately.

I recently read a large chunk of ‘Talk Dirty to me’ by Sallie Tisdale for philosophy. One of the discussions was an experiment where people were asked to rank themselves on a scale of 0-6 of how masculine of feminine they were. Very few people are either 0’s or 6’s. Most people fall in the five parts between this, and many more people would be described accurately if this scale was described by infinite real numbers.

Ask yourself that question, on a scale of 0-6 how masculine or feminine are you. Are you really a 1/5, or is 1/5 a number you trained yourself towards? Judging yourself is very difficult and between the face you show the world, and the real you BOTH of these can be determined by society.


  • What everybody else sees?

  • What we feel inside?

  • Which of these do we model on what we believe society expects?



The other more personal example of this came when I recently visited friends and family. Every time this happens, people say I am like my father, and remind me of him. Last time this happened I was a little bit surprised by myself.

On the outside, I am not an emotional or sentimental person. Very few people have ever heard me discuss anything about my father. Well it was a little out of the ordinary; I missed him, felt a need to make him proud and follow in his footsteps. Well I’m not one to really have these feelings. So are they my feelings, or are they the feelings that I believe society expects out of me.

Have I seen so many people on TV being sentimental about their fathers that I believe that is how I am supposed to feel?

Or

Are these actually my feelings but I’ve been hiding them away for years because that is what society says?

Tough questions. Look at yourself, find the distinction between how you act, how you feel, and which of those is most impacted by society.

Post TEDx: Coming off a ‘Honeymoon’?

How do you handle going from an extreme intellectual, emotional, or any kind of life high and go back to normal life. One moment you are listening to and having discussions with some of the most intellectual, inspiring and motivational people you’ve ever met. The next moment, you are back to your normal life. One moment you are having incredible fun with your friends. The next moment you are back to normal life. One moment you are in a world of excitement, the next moment back to boring life.

I love those extreme highs, but for some reason the following moments are boring, depressing lows. You realize that you miss friends, that you aren’t that accomplished; there are so many things in this world to fix. Anybody have any cures, descriptions of how hard they are hit, or discussions of how to deal with it.

Today I had the pleasure of spending 300 minutes listening to some of the best people around Penn State, and the world at TEDxPSU. Took a lot of work from many people, there were many worries around the event, but WOW. I would mention the great speakers, but they all were.

TEDxPSU.com

jFlowr: a jQuery and Canvas based Pie Menu

As some of you may know, I am a computer scientist; my research and work include web2.0, image searching, AI, database applications, and HCI.

For my August project I decided to work in the HCI field. I combined two previous posts, Whitespace, and Fitts’s Law into a project that tries to make webpage concentrate more on the content and be simpler to use. First of all I am going to remove a lot of junk from WebPages including the navigation. Hide the navigation until the user actually asks for it and requires it. Second of all use the principles of Fitts’s law to make all of the menu options easier to get to and as close to the user as possible.

In most webpage you have a small section of interest, the main content, and then a lot of filler that gets in the way. White space is good, so what if we throw away or hide all the filler and replace it with white space. Imagine that, a new site that has a big center region of content (text, images, animations), and around it is nothing but pure and clean paradise.

Unfortunately people like to navigate around webpage, they like to search, they like to go home and see what other sections the webpage has all through the help of the navigation that we are getting rid of. In the natural state of the webpage, we hide the navigation and make it only appear on a specific action the user takes. This way the webpage is more efficient and has less fluff.

The second way to improve your webpage and navigation is to make the links quicker to get to. Most horizontal and vertical navigations require you to move your mouse hundreds of pixels to get from one end to the other, then a few hundred pixels to go into sub menus, and submenus, and submenus. Since we hide the navigation, when the user actually carries out this action to we know that his focus is navigating. For that reason we can make the navigation be the centerfold, it can overlap content, it can cover things up, and it can exist anywhere, and most importantly, wherever is most convenient.

That puts our new navigation front and center. From here we can do whatever we want, and try to make each of our buttons as easy to reach as by placing them all equidistant from the current mouse position. This is where the circle comes in handy as we arrange all of our options around a circle. Leave a little buffer between the mouse position and where the options actually become active to avoid accidental miss clicks. Each option can in turn be its own circular menu as it opens another jFlowr and even recenters it around the new mouse click. This always keeps the user at optimum distance from all the buttons.

Anybody who played Crysis may have noticed a circular menu as a way to pick between speed, strength, armor and invisibility special abilities. If you remember all you did was right click and move your mouse slightly in one direction to activate the ability. This method was incredibly effective and quick as soon as you got over the cognitive learning curve. Yes learning the menu options in a circular menu is more difficult because our brains are used to reading horizontally and vertically, not circularly. Once this learning curve is mastered, the circular menu becomes muscle memory and is far more effective.



The only place I have ever seen a circular men was at songza. As you search for songs, when you click on one specific song you get a circular menu with four options. A few months ago I began hacking away at the songza webpage, scripts, images, html, and css to try and figure out what was going on. In the end I learned that the menu was one big image. It included multiple copies of the image to handle hovering over any option. These images are a pain to create. Part of the image shows what the flower looks like when one option is selected, one shows what it looks like with another option selected and so forth.




This is a major pain to do for any menu that becomes slightly complicated. On this page (original version was only written for FireFox), you can notice my original proof of concept, a circular menu, with sub options and actually mildly useful. To get the menu to work, just click on any of the ‘white space’ and the menu will appear. When you hover off the menu it will disappear and let you get back to work. The center button can either close your menu, or up one level. It worked pretty well.


(Each column represents a menu or submenu. The left side is the main menu, and each of its buttons open one of the other 3 submenus.)

The main problem was changing it, I would have to change the image completely and I refuse to do that. My project for August was to change the previous prototype, and make it much better. I had a number of possibilities, HTML elements (how do you get shapes….?), flash (Not on the iPhone, and I don’t know flash…) the new and spiffy html/JavaScript canvas that allows graphics through JavaScript. Html canvas was the winner. I began coding the drawing to actually create a canvas on a webpage, draw a circular menu, and handle eventing. As opposed to hard coding all the options into images, you can specify your menu through JSON objects (with future enhancements through XML)

Here you can find the same page as before, but done with html canvas so a lot easier to change.

Most of the bugs have been worked out in Firefox and Chrome (thus Safari). IE8 does not support the HTML canvas, but I found a workaround for that, only to be stumped by silly eventing issues. Please try in Firefox, and then abuse me all you want while trying in IE. The actual JavaScript file does contain features and bugs to work out in the next version. What I am releasing now is the beta version, I’ve named it jFlowr 0.5 and would love some contributors. If there is any interest, I can set up and SVN, get a bug tracker going and get a list of developers to take this to a public and maintained release.

Monthly Beta

I 'waste' a lot of time doing various things. I probably start two to three projects per month, and get ideas for one or two every week. Some actually get code, some get hours of research, some get hours of thinking, and some have actually gotten money put into them. My main problem seems to be finishing things. I have quite a large amount of projects at 90% completion sitting around on my computer and in my head. With my epic fails in mind, I am trying a new thing.

Every month take an idea, and get it to 'release' version. Release will obviously mean different things, however the idea is to have something that can be demonstrated, a prototype or a proof of concept. Obviously I have a life, and a job so I can’t dedicate that much time to each project so unfortunately they will not all be done on the 1st of every month. I am aware of my failure at deadlines so trying to put in a little bit of a buffer. I started this out at the beginning of August, so I should have something ready right about now.

Stay tuned for project #1. Let me know if you want to help out by working on current projects, or taking a previous project finishing it and enhancing it. At some point I will get a webpage posted with finished projects and get some contributors.

Lost in Digital Translation


Twenty to Thirty years ago people would get together every few days with friends and family and talk, discuss, and spend time together. They discussed things they had thought about, things that happened to them, and other parts of their lives. 

Five to Ten years ago, people started calling each other to discuss those same issues.  They would pick up the phone, and give friends and family a call. It became easier to talk to those same people every day or whenever something happened. We began communicating more. No more forgetting things, just call somebody when the things happened and talk. 

In the past five years, when something happens, people began texting when something 
happened. “I am having a bad day,” or “That person did something hilariously stupid.” Needless to say, we communicate even more. Right as things come to our minds, it becomes incredible convenient to grab out the phone, type out 160 characters and hit send, or hop on twitter, type out a sentence and post.

An inconvenient convenience.

If you know anything by know, you know I am far more skeptic than this, and things can’t be this good. So where is the bad part in communicating all the time, and as soon as things happen.  As convenient as it is to type out 160 quick characters about something and hit send. It is incredibly inconvenient to include details, emotion, personal elements, and in general cover everything you really want to say. Instead we settle for a few characters of facts. That same conversation that five years ago used to take 15 minutes over the phone, and included plenty of details and brought people closer together and shared deep details of their lives.

This same phone conversation was the reason, and topic of discussion for hour-long get-togethers between friends and family 30 years ago. 

We have lost the interest in details, the art of telling full blown stories that have emotions, the ability to get into a room and just talk. Instead we send our lives to each other in fragments, skipping out on all the human part of it.

Credit where Credit is due



Ok let's please stop the Microsoft versus Apple flaming for many reasons; it is really not doing anybody any good besides creating lots of anger and worthless arguments that lack substantive backing to them. People, in general, cannot argue the Microsoft vs Apple discussion properly because they let it get personal. One side of the argument is part of their identity, and nobody can argue about things in their identity objectively (PG: Keep your Identity Small).

These two companies have two completely different outlooks on business, customers, and goals. Let's begin with a metaphor. You have two choices when it comes to the country and government you live under. One is a police state. Here you are very limited, and live under rules like "must drive on the right side of the road", which are restrictive but guarantee you a number of standards and expectations. You are guaranteed to have roads where they matter. Guaranteed to have some form of social service and guaranteed to be on the road with mostly competent drivers. On the other hand in this state at the age of 14 You cannot hop into a truck and drive  it to earn some money or for any other reason. Nor can you at the age of 20 drink wine with the gourmet meal you spent 2 hours cooking. Some may argue that is it good that people cannot do those things, while others may argue that you should be able to choose. Obviously people do break these rules but these are all exceptions and they happen all the time.

The other side of this story is a free state. Here you can do whatever you want. Drive a car, fly a plane, ride a bike without anybody bothering you or asking you for credentials. However with all this freedom comes the problem of no guarantees. I no longer have the guarantee that everybody on the road is a safe and reliable driver. (Granted this guarantee did not hold before, but there was a high confidence level that the rules would be enforced).

This is really what the microsoft vs apple argument comes down to. A choice of freedoms versus guarantees. I can install Windows anywhere, ranging from the brand new computer i got from dell, to the computer i built myself from random parts, to the computer i had 10 years ago. I however have no guarantee that these will have the ability to run with windows properly. Microsoft lets you do whatever you want. If you have windows you are their customer and they will support you, effectively forever. People who bought a windows 10 years ago, are still considered customers, and there is still code to support their legacy hardware and software. Microsoft does not force them to upgrade for new things, does not force them to use limited hardware or do anything. Apple on the other hand said if you bought something from us 10 years ago, you are no longer a customer, they do not need to support your old hardware and software. They will not support you, so you need to upgrade your hardware, your software to follow us. Your old code will not work on the new platform. You cannot buy a random computer from dell and put OS X on it (well you can, but that is a different story, similar to people driving without a license),and  you can't put OS X on your 10 year old PC.

Apple is fully controlled and at the expense of freedom they guarantee you a number of functionalities and securities. The OS will always function the same way. It will be compatible with everything, all the UI's will look the same, and none of the programs will be harmful.

This applies to mobile solutions as well. Windows mobile is designed for a WIDE variety of hardware. Hardware that may support a camera, 3G, GPS, touch screen, Wi-Fi, accelerometer and a bunch of other features, or may not support any of them. iPhone OS is designed for the iPhone and iTouch. It is designed to work exactly with that hardware, the Wifi, the Touch Screen, accelerometer a specific screen size and resolution. They do not need to worry about platforms that do not support this, they do not write code to work outside of this platform, they do not care if it works outside this platform.

In the end you are trading guarantee of stability versus freedom and sacrificing bugs and bloatware for this freedom to handle any situation or platform you want.

I respect both companies equally. I love the design of apple, and some of the features or stability of their OS X. I also love the ability to use Windows XP on an ancient machine, move it to a new machine and never upgrade hardware or software. OS X has many wonderful features, (UNIX base, spotlight, etc.) that are great to use. The limitation is that i need to spend $1500 to get this on a decent machine bothers me. Windows also has a number of features (simplicity, task bar, massive amount of ready to install programs etc.) that make my life simpler. I also have the ability to use it on a 200$ computer, or a 3000$ computer.

You may have noticed that i left out a side of this argument, the linux side. I did this for a number of reasons, mostly personal issues that keep me from objectively judging linux due to my experience with it is personal, and i would be very biased (biased with, or biased against does not matter). Linux has its place, but it is not really developed by a company as a product.

In the end let's stop the war. You are on one side or another because of personal reasons, the choice is part of your identity, and in the end your arguments will be a large flame war. 

Acknowledge the fact that both of these companies accomplish something orders of magnitude more complicated and better than anything you could ever do, so stop criticizing without providing viable solutions.

The state of our education system

Recently I had to opportunity to discuss and analyze the two extremes of education. The bureaucratic, organized side that is run by the ETS and functions primarily through standardized testing like the SAT and GRE (I will concentrate on the later for this). The other side of this is the more idealistic view that believes learning can happen in many environments and can benefit greatly from virtual environments, video games, and other new age ideas. So which side has the right idea, or better idea? Neither.

 

Both sides have very naive looks at what education is. Video games are a phenomenon. Most people play them for entertainment, and the rest of the population looks at them and doesn't understand the attraction, time spent or benefit. All criticizing set aside, video games have been shown time and time again to have absolutely incredible developmental benefits.  Creativity, problem solving, socializing, and scientific methods are just a few of the benefits that video games may inject into players.

 

The virtual worlds that are experienced in a game are fantastic and for developing children by provide a plethora of imaginative ideas. They are a spark of creativity, a vital yet frequently overlooked element of our entire lives. Mostly creativity is associated with the arts, a false association since creativity is needed in any field including mathematics, science, engineering, and business. Creativity allows a whole new outlook on problem solving, it provides for new solutions and ideas to be experimented with and tried. A video game is nothing but a massive problem to be solved. Win the game. Win the game by solving millions of problems ranging from the simple path from city a to city b, to the incredible complexity of conquering seven enemies at the same time while researching new technologies, building a military and managing a massive military from a macro to a micro perspective. Academics who study video games and the people that interact in them have noticed some very interesting activities like the application of the scientific method to very informal problems. Not only does a user use the scientific method to win, but they do so socially and collaboratively. Forums have appeared where gamers discuss what they tried and how it failed. Together these communities come up with ideas as to why things failed and what steps to try next. Later, new users try these new ideas and post their results. This is a massive scientific community that builds on the work of previous experiments, sometimes even citing their sources, and providing incredible record keeping and interactivity around an informal science.

 

Imagine how incredible would it be if every person in industry and academia would have mastery of these concepts and ideas. Video games tend to have a bias towards the science and technology field. The people in these fields benefit most from them as well as learn most from them, while those who play video games seem to get pushed into these fields. Video games are a massive gateway drug into science and technology which are constantly growing fields.

 

Our education system is not built to handle this entire idea though. Sorry idealists. Professors get fired for saying that they will give the entire class A’s.  The education system is not a very adaptive one and is extremely content based. It is all about the content that education can offer which is needed later in our careers. Video games cannot offer this. Most games that attempted to teach content have failed. Users do not want to be inundated by different information, and the poor quality of these games.

 

On the opposite end of the spectrum from content lacking video games are content based standardized tests. The general tests of the SAT and GRE test the mathematical and verbal ability of students in a 2-4 hour multiple choice and writing test. Apparently a 4 hour session can tell exactly what kind of an education I have gotten and how qualified I am. At least the education that relates mathematics and verbal skills, since those are the only topics that seem to matter.

 

The GRE and SAT are scored in the same way, an 800 point scale, and a 6 point writing scale. The most complicated thing on the GRE mathematics section is two variable equations and standard deviations. These questions are in no way different from the SAT math section that was administered 4 years ago. Four years of college is not expected to increase my mathematical ability at all. The English section of the GRE on the other hand contains massive amounts of words like opprobrious, supercilious, and recalcitrant. While these words are great to use, when is the last time anybody wrote using them, or when is the last time you read one of these words? The difference between the SAT and GRE in terms of vocabulary is astonishing, it basically requires massive studying of the vocabulary for four years.

 

The writing section is a whole other playing field. You get a text box to write an argument about a topic for 30-45 minutes. Topics are uninteresting, and disinterest can be easily shown to create lackluster work and no dedication. The text box is on a computer, yet provides zero spell checking. When I write by hand, I can write slow enough to write every word out correctly. On a computer typing speeds are ridiculous and simple typos get made very day. “i went to teh stor eto buy this.” Nothing official is accepted anymore that is not typed, and edited. Nobody ever has the opportunity to write on a computer without an active spell checker. Even a little task like posting to an informal website gets spell checked by the browser. FAIL on the testing communities’ side.

 

Finally lets analyze the need for the writing section. It is a demonstration of your critical thinking ability. In 30 minutes I am supposed to think about a topic enough to write a coherent argument. This is without any research, any external information, or any sources at all. Fantastic idea. Let’s prepare our students to argue topics without properly thinking about them, preparing an argument, and performing

 

What are the properties that GRE’s tests for: talkative students who act before they think, students who do not bother to learn any mathematics in college, and students who learn large amounts of obscure vocabulary and use analogies. This is all coming from a country that has been for the past 10+ years saying there is a large need for students to enter the sciences and engineering fields.

 

Our education system is incredible flawed. The testing system just screams broken and the alternatives are extremely naive and do not give students the content that every job will require of them.