Categories
Corona SDK Lua Others

What’s your favorite programming language now?

Having been programming since I was a teenager, I’ve used numerous programming languages on many different platforms over the years: from high-level languages to microcode, from general-purpose languages to task-specific ones, from languages suitable for graphics and multimedia to business and mobile applications.

One privilege of having my own company is I’ve worked on all sorts of projects with both tiny and huge companies, with individuals and large enterprise teams. This experience I gathered over the years has allowed me to understand projects and software development much better than if I were working at the same job and at the same company.

As this tech industry evolves (much quicker than many other industries), I have noticed that things repeat and the pattern is often similar. New technologies (languages, frameworks, tools, etc.) come along and people get excited. Then as these new technologies become more popular, people write books and talk about them in conferences. Soon more people jump on them, and they become bigger and more complicated, and code becomes harder to maintain, leading to more bugs… So, people start to look for something different again – something simpler.

It is interesting to hear one of the most famous game developers talk about his favorite programming language. John Romero, who founded id Software and created influential games that shaped modern-day 3D FPSs, told the audience his favorite programming language (YouTube link).

Incidentally, Lua is also my favorite programming language. It is easy to learn, simple, flexible and fast, no wonder it is used by many top games. The only disadvantage is that not many people realize how powerful Lua is, or they may look down on it because of its simplicity.

And here’s the recommendation that Romero gives for someone who wants to start making games: Use Corona SDK. It is Lua-based, free and open-source. Needless to say, Corona is my tool of choice ever since I first started using it when it became available around 2009.

Categories
Others

This site was hacked

Thanks to hackers from around the world, this site was hacked and code was injected into the blogging system. Spams were sent from my server and I finally found the source of the problem.

As a result, this site was taken down and the blogging system was reinstalled from scratch with a couple of security measures to prevent the same hacks. Some external files (graphics, images, external scripts…etc.) are missing for the time being.

Categories
Others

It’s all about solving problems

Having been a software designer and developer, what I’ve been doing is really just problem solving. For more than 2 decades, I’ve been solving problems for different clients on various types of projects – from live multimedia presentations, digital mixed media software, off-the-shelve games, computer-assisted learning, last-minute project rescue, enterprise apps, sales apps, educational apps, to native device apps… and more.

In the last couple of years, I’ve decided to spend more time on solving my own problems for my own projects. And it’s been even harder than solving problems for clients.

The main reason it’s harder is because I’m my worst critic. Or I’ve set my standard too high after solving problems for clients for so long. I want to do the best work – my own work, and most results are simply “not good enough”.

As I look at various apps on different app stores, I know I’m being too harsh on myself. But how do I solve this problem?

Categories
Others

DigitalOcean VPS $10 credit

If you’ve been thinking of having your own virtual private server, here’s a referral link to get $10 credit from DigitalOcean. While I won’t be getting any referral credit until $25 has been spent by you, it’s still a good deal to check it out with the two months credit (if you sign up for the $5/month plan).

Categories
Others

Embed Getty Images for free

Getty Images announced their images can now be embedded for free!

Here’s an image of Hong Kong as an example:

Categories
Android iPhone Mobile & Devices Others

Addictive Games

I’m putting together a list of current and previous addictive games for mobile (iPhone, iPad, iPod Touch, Android, Nokia…), desktop, console or other devices.

What I mean by addictive is games that keep pulling the player back, games that keep players up for hours. Here is a quick list to start off with (I’m not including version or edition to keep things simpler):

  • Zynga Poker
  • A Monster Ate My Homework
  • Angry Birds
  • Bejeweled
  • Plants vs Zombies
  • Call of Duty
  • Halo
  • Myst
  • Pacman

Why am I putting together this list? First of all, I want to identify the ingredients of successful and addictive games. I’d also like to find out what people are interested in and why? And hopefully this would be a place where other game developers can find inspirations to create more addictive games.

Please add to the comments of games that you feel are truely addictive (max one self-promotion allowed if you think your game qualifies as addictive to other people). Thanks!

Categories
Others

Welcome Visitors!

Thanks to the Visitor Map plugin, here’s a map of recent visitor locations:

What surprises me is there is not a single visitor from inside China (excluding Hong Kong and Macau). Is this an issue with the geolocation database or the plugin? Or the Great Firewall of China blocks my site?

If you’re from China, can you please leave a comment that you can reach this site?

Update: I uploaded the latest image, and there are two dots at approximately Shanghai and Tianjin or Beijing!

Categories
Others

Screen sizes

From left to right: Dell 15.4″ XPS m1530, iMac 27″ quad-core, 13.3″ Macbook, Dell 24″ monitor (connected to the iMac as a second monitor).

The Macbook feels tiny. Using it for development outside of my office (e.g. at client’s office), especially when using Adobe suite, is frustrating. I often find myself swapping windows, opening and closing panels, and dragging things around. Spoiled by the new iMac screen resolution (2560×1440 + 1200×1920), compared to Macbook’s 1280×800 – that’s 5,990,400 total usable pixels vs. 1,024,000. However, my favorite screen is only at 480×320 – my iPhone 3GS (used to take this photo).

But these don’t come close to the life-size working iPhone costumes (YouTube video)!

Categories
Others

Getting to the end of spams

After installing Vista on the laptop (XP had problem with some hardware device on this particular computer), I forgot to activate a email account that catches spams. After close to one and a half month, I got notification from the email server that this account was full. Checking the account revealed 5586 email stuck on the server. It took all night and morning to clear them up.

Categories
Others

Crazy weekend of spam

Never had I experienced spoofed email bounce like I did this past weekend. It started on Friday evening, and I received about 7000 bounced email that were spoofed using my quantumwave.com domain.

The problem was, the hosting company did not have SPF (Sender Policy Framework) set up, and I had a catch-all email account that accepted *@quantumwave.com. All the spoofed email were sent using some random account names selling illegitimate software or other goods.

I contacted the hosting company and they suggested that I turn off my catch-all email account and activate SPF on the email server.

One little problem with the catch-all account: Whenever I register email at a website, I usually use their domain name as my email account (e.g. at somecompany.com I’d use somecompany@quantumwave.com as my registration email). This made it easy for me to filter email, track the source of spam and know which company distributes email to third parties (I was surprised by a few big name corporations doing that).

Anyhow, before I could terminate the catch-all account, I had to set up all previously known email aliases I registered at every website I used. The last count is 330 aliases; so it took some time to track all those down and add them to the server. After that was done, I terminated the catch-all account and it was back to normal.

I’m sure I’ve missed some email aliases and those accounts will no longer work (senders will get notification that those email accounts do not exist). A rough estimate of the time I spent on this madness is approximately 5 hours (racing with/deleting incoming email, adding aliases, setting up server-side filters).

One important piece of information I learned: Activate SPF on the email server.