Thursday, November 19, 2009

Cluster Analysis and the announcement of Chrome OS

In statistics, there is this thing that we call cluster analysis.  It's where we try to find different groups among the data that we are working with.  Currently, when it comes to computer use, there is more than 1 basic group of use cases.  There is heavyweight application use, but much (if not most) of computer time is spent solely in the browser, possible with some music playing.  It's good that Google has decided to create an OS that is designed to specifically cater to this new use case.

No, Chrome OS isn't going to be your new desktop OS, it's going to be your netbook OS.  Netbooks are designed to be portable internet portals, and a super-lightweight OS that's specifically designed for them is just what they need.  And when a device debuts with it next year, I'll likely get one.

Furthermore, this shows Google's dedication to making the internet a better place.  Between Go, SPDY, Chrome, Chrome OS, it's pushing toward HTML5, and it's various web-apps, it is becoming a better place.

Thursday, November 12, 2009

Lo, and Google Chrome was good.

I'm very impressed with Google Chrome, and I must say, Google's venture into the browser world has been very interesting, to say the least.  However, Chrome's release wasn't about profit.  Is Google profiting from it?  Probably, but that's not why they made it.

Prior to the release of Chrome, there were 4 browsers really worth talking about: Internet Explorer, Firefox, Opera and Safari.  Each of these browsers has its issues, but Internet Explorer had (and has) the most; unfortunately, it's the most popular.  Google saw that most common internet browser being used was Internet Explorer 6, and this was problematic, since Internet Explorer 6 is very old, and has little to no modern features (like tabs), and is ridiculously sluggish.  This was keeping Google and other websites from pushing their site design forward.  So, for the greater good of the internet developer, and the internet user, Google made Chrome.  That alone, however wasn't enough, they also started putting notices on their websites for users that aren't using Chrome suggesting that users upgrade to Google Chrome.

Now, Chrome has a very small market share, the last I heard was 3%.  However, Google made Chrome open source (much like Firefox), so any improvement that's made in Chrome, any revolutionary feature, can be inspected and understood by other browser makers, and incorporated into their browsers.  Google doesn't want to win, they want the world to win, by making every browser better, and to provide a better browser themselves.

Wednesday, November 11, 2009

Should we teach programming in schools?

When I went to Catholic High, there was a computer course.  But in this course, all we did, all year, was learn how to use Microsoft Office, and I felt like it was a big waste of time.  It's true, there is some merit to learning Word, Excel and Powerpoint, but I don't feel that they are something that you should need to take a class for.  I don't feel that they would take that long to teach either.  So, I was wondering what it would be like to teach common programming to all high school students.

To begin with, I'll admit that learning how to program is not a skill that any large part of society needs to know.  It's a very niche skill.  However, there are several programs out there, where, if the users has some idea of how to program, they can enhance their use of the program.  Excel and Word themselves support the use of macros, userscripts for the nicer Web Browsers can greatly enhance a person's use of the internet, and MMO players greatly benefit from the ability to use macros and addons.  Programming is moving from being a niche skill, that is mainly used in very large projects, to something that everyone can use in small ways to improve/make more efficient their life.

Furthermore, programming uses a type of thinking that many people don't exercise enough.  When you program, you have to first come up with a general solution to a problem.  This often involves identifying different parts of the problem, that when solved separately, can be stitched together to form a complete solution.  Then, once you have figured out how to solve it yourself, the programmer must translate the instructions to the computer.  Hopefully this would help foster growth in the problem solving area of their brain.  Of course, by the time they would be taught programming, it will be too late for many of them.  This, I feel, is a shame.

So, you may be wondering, what would be the best way to teach kids problem solving skills?  Personally, I think it's games.  Games, games, games.  Board games.  Card games.  Video games.  All games.  Shamefully, too many kids don't play games.  TV is easier.

It's been a while

It's been a while since I posted anything on the blag, so I figure I'll give you a look into what's going on with me recently.

First of all, I have tons of homework that I need to get done within the next two weeks.  It's ridiculous.  I have to do a great amount of statistics work, and that's going to be a PAIN.

Recently, I can't get the idea of being a High School Mathematics teacher out of my head.  When I was writing this down in my personal diary yesterday, the word that flowed from my pencil was 'calling'.  This almost disturbed me, since a discussion of one's 'calling' is a very powerful statement.  But I still can't stop thinking about it.  I think that I might like to teach at Catholic High for a period of time following my graduation from UALR and before I pursue more graduate studies.  I even think of lectures that I would give if I were teaching a religion class, this obsession is ridiculous.  I plan on writing a lengthier blag post about this at some point in the future.

I'm also trying to get back into my programming groove.  I recently put a small amount of effort back into the accounting program that I was working on.  It's still not at a 1.0 release, and I really need to fix that.  I don't have the file writing part of it worked out, or the file reading, or the graphical portion fixed, which is pretty much everything.

I also came up with the idea again for my networked board game suite.  This would ideally use the idea of reflection to allow users to easily patch in new games that they could play (provided they had been programmed).  I intend for their to be a dedicated server, a lobby area, inter- and intragame chat.  I have some of the design down, but zero implementation.  But I'm really excited about the idea, since it would actually allow me to make board games of my own and test them w/o a physical prototype, as well as implementing old/forgotten board games.

Lastly I decided that I'm tired of not having access to a geometric sketching program.  I want a straight edge tool and a compass tool so that I can have fun with geometric constructions.

Staying on the theme of computers, I plan on digging up old computer that I have and changing it into a Linux-based computer so that I can toy around in a Unix environment AND start programming in Google's new 'Go'   programming language.  I want to use that so much, it's ridiculous.  I had forgotten just how much I enjoy programming and such.  Also, I really wish that Google would get around to releasing some usable form of the Chrome OS that they've been working on.  I would gladly try that out on my laptop, and then I could program in Go on my laptop and I wouldn't even need that computer.

Tuesday, November 3, 2009


Number of Cards:
Size of Subdeck:
Xth instance of subdeck:


Touchscreen eBook for Math

I believe that a touchscreen eBook for Mathematics would be of great benefit to Mathematics education, and a great tool for mathematics students.  I can think of several advantages.  This could all also apply to physics books and other texts, although some more than others.
  • Size/weight - ability to store multiple books.
  • In the actual text, figures, example problems, and other on-screen clutter can be minimized and only shown when the students selects it to be shown to reduce visual distractions.
  • Since figures would be more efficiently stored using programming code and parameters as opposed to storing them as images, it would be easy to make each figure interactive, allowing the student to see the effect that changing different parameters has on the figure.
  • Since example problems start as minimized, it would allow the student to try and work the problem on their own, and if they get stuck, slowly reveal the solution, and allow them to check their procedure AND answer.
  • The student would be allowed to write minimizable notes in the 'margins' of the book, allowing them to summarize the text w/o the fear of visual clutter or of damaging the book.  
  • Homework could be done in the book itself.  Imagine this scenario:  A student goes to do the homework, selects the problem they are to do and the problem moves to the top of the page, becoming the sole element on the page other than the student's work area.  Then, the student can make the solution area smaller to allow them to browse the text if they need help solving the problem.  Furthermore, graphing and other solution utilities can be available to the student, removing the need for a separate calculator.  
  • Homework could be transmitted wirelessly to the teacher and the final answers could be checked automatically by the teacher's 'reader', allowing the teacher to focus on checking the solution process.  Furthermore, the teacher's 'reader' could easily provide statistics regarding the class' work (mean, median, mode, standard deviation, histogram of scores, etc) and serve as a grade book.
  • Updates and corrections to book material can be made easily.
There are however problems with the idea.  It seems to me that if this product actually came from a textbook publisher, it would be terrible, restrictive, and have depressing licensing issues.  Also:
  • Reader would have to cost something, and there is often no explicit cost to young students w/ traditional textbooks.
  • Batteries suck, but should be manageable
  • Licensing of book material - permanent? temporary?  Should students license it, or should schools license it and rent it to the students?
All in all though, I think that the idea is amazing and is definitely worth pursuing.