Jon Wong

Marshmellows, nougat, and oreos?

I've begun the foray into the world of Android application development. It is a development enviroment that is an interesting mix of XML and Java. My initial start was fraught with frustration trying to visualize the blend to create an app. However Udacity does an excellent job of teaching.

Developing the first few "Hello World" apps was satisfying, however once you learn to create interaction and process user interaction to create an automated response, that is when it gets really fun.

The apps I have created so far can take user input through form items and produce some form of output. Next I will move into the world of pure java.


Popular programming

The 2018 Top Programming Languages of ieee - Link versus TIOBE Index for August 2018 - Link

Ahh, today's flavor is tomorrows, yesterday. Here are two comparison of frequently used programming languages to peruse, rather leisurely or with great scruitny, when you have a free moment. It use to be C++. Then it was Java. Now it is Python. Programming should be like street fighter, pick a character that looks interesting and master it.

Do you C?

I am currently in the process of learning C because I've always wanted to know a little more about the way PCs work, how code closer to the metal works, and plain curiosity. This portion of the site will serve as my exploration into C. Below are some useful links that I am exploring.

My journey begins here with LEARN TO CODE WITH C – FREE RASPBERRY PI BOOK. A raspberry pi is not required. You could easily go through the book with a text editor and a C compiler, which is how I am doing it. I am using a Pi Zero in OTG setup because I like dedicated hardware. However Virtual Box with any variant of Linux running in a virtual machine would work. Below I've linked some compilers to compile your C code.

The book

So far, LEARN TO CODE WITH C – FREE RASPBERRY PI BOOK has been a relatively easy read. The concepts are introduced at a seeming shallow learning curve, going through you garden variety data structures, logic control, and data flow. However for the uninitiated, pointers might take some additional pondering.

I'll post my code later as well as a few bash scripts I use to make compiling faster and easier. After all, typing out "gcc -o file file.c" then having to type "./file" to run it, can be a bit tedious, especially when debugging.

As promised I have completed the book and here is my completed code and some miscellanious notes. I was using gcc in a linux enviroment so the file is for compiling in that enviroment.

cksum: 3547599228
4796 bytes (5K)

To compile with the file use the following syntax:

./ file1.c file2.c(optional)

This will in effect run the following line:

gcc -o file1 file1.c file2.c


Since the book limited it to two input files, more can be added by modifying the script and adding additional parameters, as in this case for an additional file ${3}.

Here is where my next set of C lessons begin:

Here is a link to some open source C books Link

Raspberry Pi

I run Raspberry Pis for many things, mostly toying around with linux.


I installed Java on my Pi and by mistake install OpenJDK as opposed to the Oracle variant. The Orcale variant runs slightly faster since it is optimized for the Pi, on a Pi Zero this can make things a bit more zippy.

If you did as I did and installed OpenJDK, you can get Oracle on there by doing the following:

  1. sudo apt-get purge openjdk-\*
  2. sudo apt-get install oracle-java8-jdk

Data Science

A project was recently started that used a map from d3. The data required parsing to get the correct results which took some work so I produced a tool and here it is, Pick state counties.

This app allows you to generate a Topojson file, a subfile of Geojson, to produce maps that display counties with d3. This is Mike Bostock's map. If you would like to see a sample, take a look at the demo, demo.


Here is a company that posts its hard drive reliability statistics: Blackblaze HDD test

New Topic in the making: