Nov 262012
 

This is the second in an article series about Android development, open source software, audio production, and so much more. You can read part 1 here.

Preface – A New Game!
Using the Hardware at Hand
Capture List, Gotta Capt’ em All!
Fun with Audio Capture
Editing your Audio – Audacity
Removing Ambient Noise with Audacity
Recording a Title Theme with Audacity

Preface – A New Game!

When I wrote the first article in this series, I never thought It would take me where it has. I’ve been all over town recording audio samples on my little boom mic, learned quite a bit about basic audio and recording techniques, and received a ton of excellent feedback from friends and strangers alike. My original intention was simply to update all of my previous Android apps to use my new audio library, but the sparks of creativity cannot be contained. I am therefore starting work on a new minigame collection titled ’5 seconds’. It will; of course, be fully open source. Expect cameos from all of my previous game characters and a good dose of fun. You can also expect site updates describing the game development process and how ’5 Seconds’ is evolving. You can checkout the GitHub page for it here.

Continue reading »

Share
 Posted by at 2:04 am
Sep 042012
 

I’ve been off tramping through the back alleys of the city, recording audio for my article series about my Android Audio Library. On one such trip, I realized that I had long ago discarded any traditional watch in my possession. Having to pull my cell out of my pocket while in a crowded bus is a pain. As I usually have a pair of Bluetooth headphones on (I do work at Rhapsody, after all), I realized it would be great if I could have the time read out to me at the press of a button.

Hence, Easy Bluetooth Time is born. It will be filtering out to all of the various Google Play market countries throughout the next day or two. You simple select which ‘media button’ it responds to, and whenever that button is pressed you’ll hear a voice in your current language say the time. It’s open source and available on Google Play here. You can snag the source at GitHub here.

You can read more at Easy Bluetooth Time’s permalink page here.

This is just another example of why I love the Android platform. There’s a feature I want, so I go out and code it up in an hour or two, then I push it out on the play store and GitHub. I have an app I need, there’s no lengthy approval process, the code is out there for everyone to benefit from, and I make a few extra dollars per month in app income. Everybody wins.

Share
 Posted by at 2:54 am
Jul 212012
 

About a year ago, I wrote many, many Android apps. Some of them were games. All of them were written under a “one app in one day” constraint and as such the games never had any sound. No sound effects, no background music, no waveform generation, nothing. Fast forward a year and they’ve all become open source on GitHub. I’d wanted to update them all while re-using as much code as possible. How then was I to maximize the effect (all the games get all the features) while minimizing the effort of adding sound to all of those previous games simultaneously? And how best to share the effort with other Android programmers? In this, the first of a three part article series, you’ll find out. For part 1, I create the project, setup the environment, make a plan, and update the waveform generation code on my currently in-market apps. You can follow-along with this article series in real-time by watching the commit log to the Android Simple Game Audio project on GitHub. And stay-tuned for the upcoming part 2, wherein I become a Foley artist and make use of some interesting and (not quite) antiquated technology.

Creating an Android Library Project
Including an Android Library Project in Your Android Project (Yo Dawg)
Planning (Knowing Exactly What You Want To Accomplish)
Iterating (One Feature At A Time)
Low Bar: Waveform Generation
Update Your Markets and Ad Copy
Mid Goal: Sound Effects

Continue reading »

Share
 Posted by at 12:58 am
Jun 112012
 

If you grew up in the 80s or early nineties, there’s a good chance you remember the AD&D goldbox series from SSI. These were top-down strategic RPG games based on the advanced dungeons and dragons pen and paper RPG series. While the first (Pools of Radiance) was my favorite, there were at least 10 or 11 others to play. Then there’s the Elder Scrolls, Fallout, X-Com, Master of Magic, Wizardry, Bards Tale, Albion, Superhero League of Hoboken, and about 1000 others. These games were great fun back in the day, but with some of the new improvements to DosBox you can actually improve the original experience on your Android handset or tablet.

Here’s a quick guide for playing your classic games with touchscreen and transparent keyboard on your Android.

  1. Install a DosBox port for Android. I highly recommend DosBox Turbo, as they are bleeding edge.
  2. If you’re using DosBox Turbo, also install ‘DosBox Manager’, it adds easy custom DosBox Profile Support
  3. Locate the game you wish to play, and extract it to a directory on your android. I recommend /dosbox/GameName/
  4. Install a good software keyboard for Android. I recommend ‘Hackers Keyboard’, as it comes with a transparent theme you can select
  5. Fire up Dosbox Manager, or manually edit your DosBox.cfg to have an appropriate amount of memory (32mb) and low frameskip
  6. While you’re editing the config, go ahead and enable mouse support, with absolute (perfect for touchscreen!) positioning
  7. Finally, edit the autoexec.bat in the config and add a couple of lines to start your game such as ‘cd dosbox/gamename/’ ‘startgame’

Update – Wizardry 7 by special request:

Share
 Posted by at 4:53 am
May 212012
 

Here’s a quick pro-tip for a lazy Sunday. Want to run an obscure Linux app on your rooted android tablet? Maybe you want to do some Wireshark Snooping, run a Linux game with sound, or download a set of Linux images at maximum speed? With the convergence of a few awesome technologies, we can now install and run pretty much any Linux application or environment on your Android device. Follow the steps below or check out some of the example photos of apps running on my Dell Streak 7.

  1. Install Linux in a chrooted environment, you can use Install Linux from the app store to save time.
  2. (For first-timers, open setup under the ‘menu’ in ‘Install Linux’, allow writing to root filesystem and set your loop device size and you should be good to go)
  3. For more advanced users, choose ‘Armhp’ for the hard floating point speed improvements and Debian testing for the additional package support. There will be some broken packages as a result from both, but the performance increase is worth it.
  4. Install Xserver (for graphical apps), or you can use a VNC client if you wish.
  5. Install an SSH client to connect to your installation
  6. Run the ‘X Server’ application
  7. Connect to localhost via terminal (select ‘local’ in connectbot), run ‘linuxchroot’. This will give you a root console on your local Linux installation if you like.
  8. Switch back to your terminal and set your display variable with export DISPLAY=127.0.0.1:0.0
  9. Still in the terminal, install xterminal with apt-get install xterm. This will install a bunch of X prerequisites as well.
  10. Fire up an X terminal for your X Server app with xterm &
  11. The X terminal process will continue to run in the background, so switch on over to your ‘X Server’ application and you should see your XTerm!
  12. From here the sky’s the limit. You can install a window manager, try out expiramental packages, play games with sound, install SSH and FTP servers, etc.

Let’s say there’s an extremely rare Linux distribution from Russia that you can only download from an encrypted private torrent tracker. These things happen, but your android bittorrent application may not support protocol encryption. This is easy to do with your new Linux install.

  1. Open up a console either graphical or text as describe above.
  2. Install your client of choice (deluge, say) with apt-get install deluge
  3. Fire it on up with deluge &
  4. Add the Torrent
  5. Voila! Even with the crappy screens on most Android tablets it’s pretty useful. (check out my 800×480 Streak downloading an Ubuntu torrent)
  6. For others with limited screen space, transmission-daemon is good as you can interface with it through Android’s local browser.
Share
 Posted by at 1:50 am
Apr 132012
 

After all the hullabaloo over my open sourcing of my Android work Wednesday night, I neglected to post up about how my impress.JS resume project has been coming along. I’ve finished the initial layout, and all the initial information pages and frames. There’s a lot of good embedded multimedia in there now (videos, the tuner, QG graphs, images, charts, etc) and I’m finally starting to refine the style a bit and add some CSS. I also added a slide discussing the open source Android update from Weds.

Here, have a screenshot.

* Oh and a quick update, apparently my site got over 3 million hits yesterday, can anyone else confirm this? I’m just estimating from rolling Apache logs. It’s a shame I removed all advertising from the site, eh? hehe.

Share
 Posted by at 3:15 pm
Apr 122012
 

Just throwing up some statistics for posterity and new readers. Sometimes it’s helpful to give a little context to the state of my work and the site etc. These come from the advanced GitHub search box and manually going over the top user profiles by number of repositories, and I implore anyone with contrary data to let me know so I can update these. The text of the infographic image is below the jump for those of you who don’t like to load large images in posts.

Continue reading »

Share
 Posted by at 9:17 pm
Apr 122012
 

After combing through the site archives, I’ve found another 11 applications from 2001 to 2007 that I wrote. I thought they could use a good home on GitHub. You can check them out on my GitHub page. They are

  1. Ping Rebooter
  2. Title Bar Scroller
  3. SNES Screensaver Script
  4. Super Simple RSS
  5. Python Food Statistics
  6. Paint Camera With Laser Pointer
  7. Gmail Save Game Saver
  8. File Metadata app
  9. A Pair of THC Calculators
  10. Easy Execute Library
  11. CSServer Adventure (A console RPG)
Share
 Posted by at 12:34 am
Apr 112012
 

I’ve been studying my site and app traffic for a while now, and I’ve come to a very sure conclusion. Open-sourcing an app does nothing to decrease app sales or ad traffic, but increases web traffic significantly. Therefore I’ve decided to open source everything I’ve ever done, BSD licensed so you can use it at work.

Seriously, all the sources. Every one. To start with, I’ve created repositories for the roughly 70 Android applications I’ve released. As of today, you can browse through them all on my GitHub account page.

Unfortunately for me, the task of open sourcing 100+ projects is a daunting one, so I set about writing a script to troll my folders and create GitHub projects. This script itself is also available on GitHub here. Read on for more info about the construction of the script.

Continue reading »

Share
 Posted by at 10:50 pm
Mar 202012
 

A helpful reader (thanks Remo!) suggested I update the sign language fingering Javascript project to display the fingerings on screen without a timeout.  It sounded like a good idea, and I thought it would be a synergistic addition as I’ve been wanting to do some dynamically created impress.JS presentations.  So, I’ve gone ahead and implemented dynamic impress.JS presentations in asl.JS.  As you’ve probably seen from my interactive resume (or its source code),  impress.JS is an open source Javascript library that allows you to create 3d presentations and slide shows in HTML5.

You can see it in action live on my website at http://hunterdavis.com/asljs/, or view the source at its github page here.  With this update asl.JS is fast becoming a modern, and hopefully useful web tool.  Everything still runs on the client in Javascript, and no personal data or strings are ever sent to the server (I don’t even run analytics on the page).  I have quite a few useful features and improvements I’d like to get in there eventually, and I hope that others will find the code useful in their own work.  Incidentally, this has all grown from a project that was essentially a code doodle from a bored hacker.  It just goes to show that even the smallest of contributions to open source can increase in value exponentially over time.  You never know what others will find useful, so get out there and share!

Share
 Posted by at 7:05 pm