Archive for the ‘Code Logic’ Category

The Movies Were Right About Robots

Tuesday, October 19th, 2010

The story of a killer robot traveling through time to knock off John Connor is pretty far fetched. Everyone knows time travel is very expensive, and robots just don’t have that kind of dough. But will there be a Skynet self-aware network that turns machines against humans? Yeah, probably. But rest assured, before the Terminator movies become reality, we’ll all have robot servants that go haywire and Will Smith will save us. Then they’ll take over, disguised as the Governor of California. Then we’ll wake up, connected to a matrix, and realize we’re being harvested by machines for energy. Hollywood has been trying to warn us of these inevitable events for years. If you need proof of what’s coming, check out the video below. Just in time for Halloween, here’s a creepy robot to chill you to the bone (and other dancers to warm you back up).


Ruby on Rails

Monday, October 4th, 2010

For anyone that has been following my blog posts, this week I was supposed to post my findings switching from the Rokon Android library to the AndEngine library. Things are progressing, but not as quickly as I would have liked, so I’m instead focusing this post on a small intro to Ruby on Rails.

We have been looking closely at different modular platforms that are easily expandable. Two that initially came to mind are Ruby on Rails and Django (because I love python). Last week I installed Ruby on my local Ubuntu machine and set up rails 3.0.0. Then I set up Passenger with my local host Apache and a virtual host set up on port 8080 to my new rails environment.

The first thing that I noticed when diving into Rails is that everything seems a bit more structured. The Ruby on Rails community has things set up in a very particular way, making some important decisions for you. I’ve run through a few different small demo projects and I have to admit that Rails does some pretty awesome stuff. For example, when naming your database names/tables, main classes and methods, Rails will take care of database inserts for you. I’ve gotten pretty quick at writing php functions that do the database functions, so it’s not that big of a deal, but it’s still nice to have all of that covered by default.

If you are looking into Ruby on Rails and come from a php environment, I highly recommend the book that I have been going through, Rails for PHP Developers. They introduce you to the whole MVC setup that many different software development platforms use, and can be confusing to PHP developers that don’t separate their style and functionality code. Once you have that book, the site www.railsforphp.com/ will become a pretty great reference tool.


High Fives for Efficiency, Elegance, Ease, and Cost Effectiveness

Wednesday, September 29th, 2010

Under Cabinet LEDsIn the kitchen area here at Zoom HQ, we had under-cabinet lights which helped us see the food we prepared for lunch. There were nine 10 watt halogen puck lights. They had a few problems. First, they were always falling apart. Just bumping a light would make the innards fall down and dangle from the short wires. Second, the bulbs were very expensive, hard to find in stores, and only seemed to last for a few weeks before burning out. It was a rare occasion to have all the lights lit at the same time. Also, they were hot. Not fire-hazard hot, but hot enough to be uncomfortable if you get too close.
(more…)


The Pros and Cons of Rokon

Friday, September 24th, 2010

After working with the Rokon Android game library for a few weeks, I’ve been able to wrap my brain around it. This is a great library that helps set up your development to work with Sprites and Layers, helps you set up views and more. I ran into some problems, and the documentation is vast, but there are very few tutorials.

Pros:

  • Very easy to set up your view in either landscape or portrait mode, and lock it that way.
  • Moving sprites around on your display is easy, and the game loop makes complete sense.
  • Very active community, quite helpful and responsive in the forums.
  • Integrates Box2D physics.

There are many other pros to using this library, and as I’m new to Java I’m sure that I am taking many of it’s strengths for granted.  I did run into a few cons though, so lets go over those.

Cons:

  • Collision detection isn’t great – There are a few ways to check for this, but in my game I was getting some inconsistencies that kept me from properly debugging and fixing the issue.
  • Display text on screen – There is no object that I could find to print out debug messages to anything other than Android’s built in Log class.  This was also something that I was hoping for to make displaying game information easier.
  • Simple shape drawing – Drawing simple objects like squares, circles, or even line segments was either undocumented or not implemented.

For reference I was using Rokon 2.0.3, and by the end of my development with it, there was a 2.1 version release.  I didn’t switch to it because I had read that many games were failing when the core libraries were updated.  While the library didn’t end up working out for me and my current project, I wouldn’t write off Rokon completely.  It’s a great tool set and could be perfect for your project.  Look forward to my next blog post where I try to code the same game using AndEngine, and let you know the pros and cons of that engine.


Who wants PI?

Friday, September 17th, 2010

PIRecently, a team of nerds were able to find the 2 quadrillionth digit in PI. Let’s put some perspective on this.

2 Quadrillion looks like this: 2,000,000,000,000,000. But if I were to write out that may digits, it would take a long time to load this page and your computer (and the web server) would crash. If it takes 4 bits to store a number from 0 to 9, then we could store two digits in a byte. That means it would take one quadrillion bytes to store two quadrillion digits. If you’re still with me, lets simplify this. There are 1024 bytes in a kilobyte, so you need 976,562,500,000 KBs to store this number. That’s 953,674,316 Megabytes, or 931,322 Gigabytes, or 909 Terabytes. If your computer has a 500 GB harddrive, you’ll need about 2000 more harddrives. At about $60 per drive, that’ll be $120,000.00. That’s an expensive number. I’m sure there must be a more efficient way to store it.

Actually, the team did not find every digit of PI up to 2×1015 decimal places. It skipped most of the digits and jumped right to calculating a digit far to the right of the decimal place. It took 23 days and a cluster of 1000 computers to find it. The article says that the digit, expressed in binary, is 0. It doesn’t say what it is in decimal format. Read the source article to geek out on all the fascinating details.


Android Game Development

Monday, September 13th, 2010

As you can probably tell, my recent obsession has been with the Android platform. I’ve been doing a bit of research on different libraries to make things easier on Java developers, like myself. Here’s a collection of things that I’ve been working with, some with great success and some with less than stellar results.

  • andEngine
    AndEngine is an Android game engine that has very little documentation. It has a bunch of examples that help show you the use of the engine, and has many games and apps in the market that use this library.
  • Rokon
    Rokon is a 2D game engine that I am currently using to try and port a flash game I wrote last year. I will be blogging about the success of this over the next few weeks.
  • Shiva 3D
    Shiva 3D is a 3D development engine, IDE, and tool set that helps you build full 3D apps and games.
  • Mages
    Mages is a multi-player platform that helps developers make apps that work over the internet. A chess game is included in the source to show how player turns are handled, and other features.

There are many other libraries and platforms available for Android development, with new ones popping up all the time. With the growing number of Android devices, these libraries are going to mature and develop into real tools to help with app creation. Leave a comment if you’ve used these tools, or any others that you’d recommend.


Top 5 Free Resources For Business Tweeps

Friday, September 3rd, 2010

TwitterGrade for Zoom Creates

As of the writing of this post, there are 7,682,986 registered users on Twitter.  Once your business has made the leap in to the Twitterverse, you’ll need to have some resources at-hand to monitor and contribute to this additional way of sharing yourself. Your adoring customers, clients, fan-boys, and industry peers will begin following you. How do you stay on top of the flow of followers, and keep everyone engaged?

For businesses to grab a share of those potential customers, they need tools to research, track, and position themselves correctly.  Here is the short-list of business-oriented resources you should be using for Twitter.

TwitterGrader
Find out what your business rank/grade is on Twitter.  Great tool to start your research.

TwitterCounter
Register for this free tool to begin tracking your subscribers, get weekly reports, predictions, and advice on who you should be following.  You can also overlay your competitors in the graph to see how you compare.

HootSuite
The “do-it-all” tool for business tweeps.  Register and set up scheduled tweets to be posted days, weeks, and months in advance.

LocaFollow
Geo-located Twitter happenings in a specific area.  Set it up to track your city or neighborhood, and keep an eye on what is trending near you.

TweetScan
Similar to Summize (AKA Twitter Search), get reports on topics which affect your business.  Sign up to generate email alerts. Find out who is talking about your business or brand instantly or report daily and become aware of how your brand is viewed by the Twitter masses.

If you incorporate some or all of the above resources into your Twitter endeavors, you will definitely see better results than if you hadn’t done any at all. How much of a difference will it make? No one can say for sure, but at least you’ll be able to see how your numbers and metrics are being affected and what measures you’re taking that seem to be paying off. Happy Tweeting!


Options for Online 3D Content

Thursday, September 2nd, 2010

The Flash plugin is required to view this object.

3D movies, 3D TVs, 3D cameras and camcorders, 3D cell phone displays… The 3D craze is well underway. So here’s a list of my favorite 3D development apps.

3D in Flash – Since Flash CS4, Movie Clips could have 3D transformations (position and rotation, but not scale). It’s a primitive 3D engine. In fact, Adobe calls it 2.5D. It’s more than 2D, but not quite 3D.

There are also 3D libraries such as Papervision3D and Away3D that can be imported into your Flash project that will give you a real 3D engine. These are great if you need to use Flash for your project, but you’re still limited to bending a primarily 2D program into 3D. Also, Flash comes with a lot of overhead and it is not the most efficient or fast solution for 3D content.

Virtools – Virtools offers a unique coding experience in which the programmer adds functionality by linking together behavior blocks in a schematic drawing, similar to a flow chart. It’s a very fast way to get basic functionality on your game assets. For example, to make a box rotate, just drop the box model in the 3D view to add it to the scene, then drop the Rotate behavior on it. In the schematic view, draw a link from the output of the Rotate behavior back to its input and you’re done. There’s not a single character of code to write, and it only takes about 5 clicks of the mouse. Of course, this is a pretty simple example, but most of it really is that easy. If you want more control, you can click a few more times to specify how fast it rotates and in which axis. You can also create your own behavior blocks if the hundreds that come with Virtools doesn’t have what you need. The downside to Virtools is that it is ridiculously expensive. Seriously, Virtools, offer a free version and lower the price to build your install base. You’d make up for it in volume.

Unity3D – Like Virtools, Unity is an integrated development environment (IDE) for building 3D games and simulations. I just started playing with it, but so far I like it a lot! Programming in it is not nearly as easy as in Virtools, but it is about the same as coding with Actionscript. It beats Flash with Papervision or Away3D when it comes to everything else. It’s a pain in the neck to get 3D models into Flash. In Unity, just save your assets in the Assets folder. They’ll now show up in your assets list in Unity. Also, because Unity is a real 3D engine, Flash can’t compare in visual quality to what you can do with Unity. Unity comes in a free version and a pro version, plus add-ons for developing for iOS or Android. And Unity 3.0 is coming out soon!

So there you have it; 4½ 3D development solutions (Flash by itself only counts for ½).


How to Read a Binary Watch

Wednesday, August 11th, 2010

The Flash plugin is required to view this object.

A while ago, I received a Binary watch as an anniversary gift. Since then, I frequently get asked how I read it. So let me break it down for you.

First, note the Flash app to the left. I built this for my Chumby, but the inspiration came from my watch. The main differences are that I put in a line of bits to show seconds, and I gave it the ability to show the date. Tap the watch face to view the date for five seconds. If you’re reading this, 01 The One, take some notes.
(more…)


Jolicloud 1.0 – Social Netbook OS

Friday, August 6th, 2010

Have you heard of Jolicloud? No? Well, if you’re like me, running around the world with a tiny netbook, you may want to give this recently-released (August 4th) 1.0 operating system a look. It’s simple to use, responsive, and has a really nice GUI (that’s the interface, for those not familiar). Jolicloud is geared towards people who have a netbook, but you can try it out even if you’re running Windows/Mac/Other.

I had a spare partition on my machine, and decided to install Jolicloud in its own area. There’s an option for running it under Windows 7, but I wanted the full boot-up experience. Bad news is I ran through the install a bit too quickly, and wrecked my Windows 7 install. Boo!! I started from scratch, and now I have dual boot options at start-up. Good news is that I’ve been using Jolicloud now for 2 days, and I am very happy with it. As my work inside “the cloud” draws closer to 100%, I am excited to see where these operating systems designed for the cloud are going. This could very well be my core OS, and I’ll just need to switch over to Win7 when absolutely necessary.

NOTE: This post written while using Jolicloud

Download Jolicloud now and try it yourself

[More reading] Engadget post: Read it