Jeff Friesen is a freelance tutor and software developer with an emphasis on Java and mobile technologies. In addition to writing Java and Android books for Apress, Jeff has written numerous articles on Java and other technologies for SitePoint, InformIT, JavaWorld, java.net, and DevSource.

Jeff's articles

  1. Happy Holidays from CoffeeScript

    The holidays are upon us. To help you get into the mood, I’ve created an HTML5/CoffeeScript application that presents a festive and animated scene (with background music). Although this application is frivolous, it demonstrates HTML5 and CoffeeScript concepts that you might find useful in other projects. This article first introduces you to the application, presenting […]

  2. Gaming: Battle on the High Seas, Part 5

    This entry is part 5 of 5 in the series Battle on the High Seas

    This entry is part 5 of 5 in the series Battle on the High SeasSeaBattle is an HTML5 game that demonstrates the usefulness of HTML5′s Audio, Canvas, and Web Storage APIs. This article completes our five-part gaming series covering SeaBattle by exploring its draw() and allResourcesLoaded() functions. It also reviews these APIs, by discussing game […]

  3. Gaming: Battle on the High Seas, Part 4

    This entry is part 4 of 5 in the series Battle on the High Seas

    This entry is part 4 of 5 in the series Battle on the High SeasLast week, our gaming series dug deeper into SeaBattle’s architecture by discussing the SeaBattle object’s update() function along with its makeShip(x, y, bound1, bound2) constructor. This is the fourth article in our five-part series, and continues to explore this architecture by […]

  4. Gaming: Battle on the High Seas, Part 3

    This entry is part 3 of 5 in the series Battle on the High Seas

    This entry is part 3 of 5 in the series Battle on the High SeasLast Friday, in our series on gaming, I started to explore SeaBattle’s architecture by focusing on the SeaBattle object’s init(width, height) function along with the related rnd(limit) and supports_html5_storage() helper functions. This article, part three of five, continues to explore game […]

  5. Gaming: Battle on the High Seas, Part 2

    This entry is part 2 of 5 in the series Battle on the High Seas

    This entry is part 2 of 5 in the series Battle on the High SeasLast week, I introduced an HTML5 game known as SeaBattle, as a demonstration of what you can accomplish with HTML5′s Audio, Canvas, and Web Storage APIs. I then showed you how to embed this game in a Web page, and overviewed […]

  6. Gaming: Battle on the High Seas, Part 1

    This entry is part 1 of 5 in the series Battle on the High Seas

    This entry is part 1 of 5 in the series Battle on the High SeasWeb browsers supporting HTML5′s Audio, Canvas, and Web Storage APIs are an exciting gaming platform. These APIs can be used to create interesting games with money-making potential. As a demonstration, this article begins a five-part HTML5 game development series focused on […]

  7. Getting Started With Corona: Building Your First Corona App

    Earlier, in Getting Started With Corona: Building Apps for Multiple Platforms and Markets Simultaneously, we covered the benefits of developing with Corona, as well as installing and configuring the SDK. If you haven’t read it yet, starting at the beginning will give you a much more thorough understanding of Corona. Now, let’s move on to exploring […]

  8. Add a Web Console to Your Toolbox, Part 2

    A console is a software artifact for reading line-oriented textual input from the keyboard and writing line-oriented textual output to the screen. Part 1 of this two-part series introduced you to a console library for embedding a console in a web page, and demonstrated the usefulness of such a console via a browser shell. Part 2 shows […]