Engineer & Entertain

Ideas I grapple with

Archive for the category “Computer”

Google Reader has been read

First they came for Google Notebook, and I didn’t speak out because I used pen and paper.

Then they came for Google Health, and I didn’t speak out because I used a spreadsheet to track my health

Then they came for Google Wave, and I didn’t speak out because like others I wasn’t sure what it was for.

Then they came for Google Reader, and now I am not sure I know how to read the Internet.

Google Reader is a ritual for me. Men of yesteryear read the newspaper first thing in the morning; I had Google Reader.  It effortlessly brought me news, satirical news, updates on my friend building a program to play bridge, and all the cat videos I could stand.

I know – all things are impermanent. And I have heard all the axioms before:

  • The problem with being a user is that you are only a user.
  • If the service is free then you are the product.

I also know that Google is a search company which provides data to advertisers, but it felt like this is one of a few products Google nailed. It was simple and elegant.

I feel you, Adolf.

Speaking your language

My previous attempt to learn to program and code was met with failure.   I have been far more successful; however, while learning to code with Codecademy.  The main reason I failed was because I did not have a friend to code with.

Now that he’s back from vacation I see nothing but success!

Actually, the reason why I failed before was from the fact I did not make enough time to watch the lectures and do the homework. Pretty obvious reason for failure, right?  The silver lining to this failure is that I realized my programming needs are vastly different than those who plan to make a living with a computer science degree. I just wanted to learn to program so I can make a roomba do something that does not suck.

What I like about Codecademy is how thoroughly everything is broken down. While this is likely aggravating for someone becoming a computer engineer, for the man who brought you the ifelsefor it is appreciated.  I am also a big fan of their forums to allow users to post questions and I like their use of the see one, do one model to check for understanding.

For someone like me with rudimentary knowledge of coding, there are no drawbacks to Codecademy.  Once I work my way through the tracks I’ll have learned Javascript, Python, and HTML (which as I understand it is not actually a language despite having language in the name).  Even for someone with more advanced skills there are perks to Codecademy; namely, you can create lessons to teach others to code.  How better to check your own mastery than to see if you can explain it to someone else?

All in all, I am pretty pleased with the progress I’ve made so far with Codecademy and I’d recommend it for others who are interested in coding.

Ciao Mondo!

My loving wife recently gave me an Arduino Uno along with the book, Getting Started With Arduino.  I have no appreciable experience with microcontrollers and I intend to change that with an Arduino.

The first project (after setup) in the book is equated to making a computer display, “Hello World!“. It is not exciting, and all I did was follow directions, but I was able to do it.

While it is too early to provide any type of review, I would recommend purchasing an Arduino if you have an interest in learning more about microcontrollers.  I like having a book to work from so I do not have to switch between tabs or screens.  There is no need for the book though as there are plenty of free tutorials from Lady Adafruit, Instructables, SparkFun, and Make.  In short, I am geeking out about what I will be able to do with the Arduino and what I will learn.

Today’s Google doodle is Turing heads

Today’s Google Doodle is in celebration of Alan Turing, a mathematician and computer scientist whose discoveries are still useful today.  He would have been 100 years old today had he not killed himself with a cyanide laced apple.  Turing made countless contributions to math, computer science, artificial intelligence, and aided in chemistry & biology research.

During WWII, Turing played in a park and showed he was da bombe by solving some German ciphers.  Aside: You can make your own Enigma machine out of paper here.  His Turing machine is a hypothetical device able to follow a procedure i.e. an algorithm. The Turing test gives us a basis to evaluate artificial intelligence.  He also studied plants’ predisposition to arranging their leaves in a Fibonacci sequence.  Despite solving ciphers, testing human-computer interaction, and papers on morphogenesis, Turing’s greatest contribution is solving the halting problem if only because it gave us this comic.

Turing’s work and life are utterly fascinating.  Who knows what other contributions he would have made had he lived to 100.  If you are wondering how to use today’s Google doodle see the video below.

Clearly Linux Wins

I was drinking something, watched this, laughed out loud, and got GUI on my interface.

SOPA My Windows

On January 18 of 2012, Reddit, Wikipedia, and a handful of other websites are going offline to protest the Stop Online Piracy Act (SOPA).  Without Wikipedia, many students will have to actually do research.  Some may even learn what a library is.  I know I will actually do my job rather than read about zebras.

Google and its services will remain online.  This a shame because some institutions would be utterly lost without Gmail and its services.  It is also a shame because this is the one chance for Hotbot, Lycos, and Ask Jeeves to make a comeback.

Take A Number

An iPhone developer anonymously recorded iPhone users’ numerical passcodes.  Using statistical analysis i.e. mode and average, he created a list of the ten most common PIN.

Because I am concerned about unintentionally selecting a number or password with meaning I use a random number generator to create a PIN.  I still have a bias; however, because I dismiss numbers like 7777 or 1234 even thought they arise randomly.  The most common numbers are listed below.  Every phone, GPS, and garage keypad I come across will experience me entering these numbers.

  • 1234
  • 0000
  • 2580
  • 1111
  • 5555
  • 5683
  • 0852
  • 2222
  • 1212
  • 1998

Also of note, 1990 – 2000 were in the top 50 passwords and 1980 – 1989 were in the top 100.

Python Now, Asp Kicking Later

I have two goals in life:

  1. Be better than sliced bread
  2. Know everything

I am not sure how to do the former and I am woefully behind on the latter.  To combat my lack of knowledge I have been picking an area of knowledge I am deficient in and I learn as much as I can about it.  Areas in which I have notable aptitude include obscure trivia from the space race and performing cheap tricks better than David Blaine.  My next foray is learning computer programming.  MIT’s Open Course Ware is allowing me to take 6.00 Introduction to Computer Science and Programming to satiate my thirst for operants and operands.

Lecture 1 focused on the syllabus, course mechanics, and introduced students to terms and concepts which will be used through out the course.  Points of interest include:

  • Memorization: The professor stated the ability to memorize was not nearly as helpful as the ability to think.  This is a point I believe all educators should try and get across.  It does not matter if you memorize “The Raven” or know all the knowable Mersenne primes if you cannot consider the impact of what it means.
  • Plagiarism: Plagiarism is relatively tolerated in programming.  The instructor encouraged us to look at other codes to see how they solved similar problems.  He did suggest we try working on the code rather than search for it, copy, and paste and call it our own.
  • Work: The instructor also commented that students do well if they attend class twice weekly, attend recitation (which is sadly not broadcast), and perform homework.  While this is an obvious statement for those who excelled in college, all too often I observe students who do not see the correlation between practicing what you learned in class.

Problem Set 0: Write a program that does the following in order: 1.  Asks the user to enter his last name.  2.  Asks the user to enter his first name.  3.  Prints out the user’s first and last names in that order.

Consideration: I encountered a road block immediately as I did not know how to query for input.  After discussing it with Corrie, who is also taking this course, I learned about raw_input.  I also learned there is a Wiki* workbook for Python to which MIT specifically refers.

Solution: The solution is remarkably simple and many with any form of coding experience will scoff it took me more than two minutes to do this.  When coders decide to learn first aid, I will scoff at them for taking a pulse with their thumbs**.

>>>lastname=raw_input(‘Enter last name’); firstname=raw_input(‘Enter first name’); print firstname, lastname

*There are many wikis for python, but the specific one listed by MIT provides decent examples.
**There is a palpable pulse in your thumb.  You may feel your pulse in place of the pulse of the victim.

Post Navigation