Wednesday, November 16, 2011

Shake Shake Tricks

The Android phone has a lot of sensors and one of them is the accelerometer and that can detect shaking.

So what can be a casual app that utilizes this ability?

I remember the magic 8 ball for pseudo fortune telling.... "Magic" tricks to change a kids flash card may be fun too.

How about paper-scissor-rock if you are too lazy to even open your hands.

Get yours here

Monday, October 24, 2011

Please give rating and comments

Your star ratings and comments on my apps will be both encouraging and helpful.

Solveduku

If you have never seen a Sudoku puzzle. You have never flipped through newspapers in the past few years. This Japanese originated puzzle has enjoyed worldwide attention.

The rules are extremely simple: fill up the grid using 1-9. Each digit must only be used once in each row, column, or the neighbor mini-grid. Each puzzle yearns a solution. I am not good at solving such puzzles... it takes a lot of trial and errors and it is ideal work for the computer.

Decent computer science students should have some idea how to solve this immediately upon seeing such puzzle. Real programmers should be able to crank one out in a few hours. This is just like the 8-queens back-tracking problem if we are to solve this using some trial-and-error approach.

Indeed, there are many such solvers on the Android market, and on the web. A few years ago I have written this program in command line, reading a puzzle in text file, then converted to java applet. I recently ported this to Android. That solver code is untouched, just the UI is different.




Get yours here

Tuesday, October 18, 2011

Math Experiments

I had a dream, way back, perhaps a decade ago, before there were anything remotely looking like ipads: "One day learning will be evolved by interactive books"


My original vision was PDF files can be embedded with little programs, like there are some movable elements in children's books.

I accumulated a decade of programming into this app: Math Experiments.


These are originally written as java applets accompanying my book.  http://www.amazon.com/Math-Journey-Joseph-Mak/dp/B004J0T3SW


I converted the helpless applets into Android. Applets are now warned with yellow bars or won't run at all. Applets are so 1990s. However, android view programming has a lot of same ideas as applets... and android can do more, even OpenGL 3D graphics (which my little math experiments do not require).

So now you can enter your own parameters and experiment with it. How I so much want a calculator to do fractions for me when I was doing drills in elementary school. I long hoped to play interactively with the parameters that move the sine wave (like the knobs on the oscilloscope) and parabola.

The limit as h->0 can now be shown visually out of imagination. yippee.

Get yours free
at the Android Market










Thursday, August 4, 2011

Finger Artist

This app lets you paint with your finger. Choose a color and start drawing! You can also draw straight lines, ovals and rectangles. You may load/save the file you are working on. When you are proud of it you can send it out via email (and other ways).



This built on top of the FingerPaint sample app that comes with the Android SDK.

Get yours here on the Android Market

Alphabet Swipe

This app is customizable deck of Alphabet Flashcards.

Just swipe to get to the next alphabet. The background color is customizable.

You may design your own flash cards by taking pictures, providing a word, and record your own sound, such as "A for Apple"





This is known to work on my Comet. Yes I know the camera/audio may not work on your phone.

Try it here on the Android Market.

Wednesday, June 29, 2011

Days Since

Here is a handy utility to keep track of events and how many days have past (or in the future) Enter events and date occurred and you will see it in the ListView. For example, use it to log the last time you visit that fast food restaurant or change that filter. You can also add it as a phone top widget.







Get this free app here from the Android Market.

Friday, June 17, 2011

Game of 24

The 24 Game is a classic game involving a deck of cards (minus the jokers). Draw 4 cards and see who comes up with an equation that makes 24, involving +, -, *, /. For instance, if you have 1, 2, 3, 4. How do you get 24? multiply it all up! 24=1x2x3x4. Another example: 4, 5, 8, 9. One solution is ((9-5)x4)+8.

Little elementary school math whiz may find it fun and challenging to compete with their friends.

Now for the computer science student: how do you solve this problem? Given 4 numbers, how do you come up with an equation? (It may not always exist, for instance if you get 4 aces)

Sure, trial-and-error works. But do you have a quicker more elegant solution?

Ask some title inflated "solution architects" of your company and they probably DON'T HAVE A CLUE. But the real CS student should.

One way is to break down the problem in smaller pieces.
Let's say the first card is 4.
If you can come up with 20 with the rest of cards you got a solution.
If you can come up with 28 with the rest of cards you got a solution.
If you can come up with 6 with the rest of cards you got a solution.
If you can come up with 96 with the rest of cards you got a solution.

Keep breaking down the problem (recursively) until you have 2 cards. Then you do trial and error. (the base case of recursion).

There is a drawback however, this approach does not solve ALL cases, such as 5, 5, 10, 10 (solution is (5x5)-(10/10))

This basic app merely draws 4 cards and show you a solution if it can find one.
There is also a custom mode for you to enter your own card values.

Enjoy this app at the Android Market here:



Wednesday, May 11, 2011

CDC Flu Informant

This is my entry to the CDC app challenge contest.

CDC provides lots of frequently updated news feed articles and other data. The goal is to communicate effectively to the public to raise awareness and educate everyone. Today many people have powerful phones and an phone app is a great for that.

I used google map and geopoint coordinate data to draw weekly report apps.


I also wrote a RSS reader to parse news feeds.


Get the free app here from the Android Market.

Ok folks, the bottom line is this: to prevent the flu, wash your hands frequently with soap!

Visit this page to vote for this app!

Monday, April 25, 2011

300 Tang Poems

Poems from the Tang Dynasty are classic Chinese poetry. They are quoted so often and only the educated people would know it being quoted. There are already some apps out there with this classic collection but alas, some have annoying ads and some seem to load poems on the fly... and the real issue is, they are all simplified Chinese! They OUGHT to be in traditional forms.

So I copied/pasted these 300+ poems into an xml file and have the android app build a database and then query by style, author, title, etc. I even allow you to add to your own favorite list.











This app is FREE, because I want to promote poetry literacy. Here is the Link

Friday, April 15, 2011

The Art of War

The Art of War by Sun Tzu is truly a classic. These short 13 chapters are packed with important ideas about war. War is of utmost importance regarding life and death and cannot be taken lightly. Read it on wikisource or download this free app.













Here is the link on Android Market.

Thursday, March 24, 2011

Vocabulary List

In high school English class, I was sometimes given lists of 20 vocabulary words weekly to store in short-term memory to recite for the weekly test. Many of the words were hard and I never get to use them in real life after the test. It was painful experience to learn new words.

Flash card is a good way to learn words. Write words on one side, write definitions on another side. Flip through them and memorize them.

Now this learning process can be even better with this app.

You can type your definitions or use google translate to translate vocabulary to your native language, and hear it pronounced to you with the Text-To-Speech library from Android.

You can use virtually flip flash cards or quiz yourself. I wish you score high in your next vocabulary test.















Get Yours On Android Market

Graph 2D

Most phones come with a handy 4 function calculator. Android's calculator even give you some scientific functions. Nice. How about graphing? Most of your algebra and calculus class want you to find out properties of functions... where are the zeros? what are the y intercepts, etc. And graphs give you a visual view.

The idea of graphing is real simple. Give a list of x, plug that in the function to get a (x,y) to plot. But the catch is... how do you evaluate a function given a String of it? and how do you put a graph, let's say a box of (-5,-5) to (5,5) to a computer screen of (0,0) to (width,height)?

Evaluating a function is no trivial task for a non-interpreted language like C or Java. If you are interested you can see here. About plotting, we need to scale and translate the points.

Now with the touch screen, I can do something that a typical graphing calculator cannot do... and that is swipe on the screen and see the graph move.



Get Yours on Android Market

Arithmetic Demo

Kids grow up doing arithmetic drills. Dozens of them on a worksheet, for days, weeks, months. I did not need THAT many to master my arithmetic.

Kids (and adults), do you know why we do paper-pen methods of arithmetic the way we do them?

Sure we can do 1 digit calculations in our head. But adding a 2 digit by 2 digit gets too hard. We need to break down into pieces and add up the results... and our base-10 system makes it easy to do so.

I want to automate the mundane calculation process. Sure, there is the calculator, a very important invention.

But calculators do the job too fast. The steps are missing.

Here we are: the Arithmetic Demo. Enter your own numbers and see the calculation in process.
Just keep hitting the Next button.















This app is merged into Math Experiments.

Wednesday, March 23, 2011

Welcome

Welcome to my Android blog! In this blog I will tell you about my Android apps as well as sharing about Android programming tips.