Monday, February 23, 2015

Ingenuity Christmas Party 2014

Inspired by the great work we did the whole year of 2014 where everyone stepped up their game to be 'gangsters of coding,' we aptly chose the 1920's Gangster/Flapper/Great Gatsby theme for our Christmas Party for 2014. (Secretly, it was also an homage of sorts to Angels with Filthy Souls - the fictional gangster movie watched by Kevin McAllister in Home Alone 2, and Al Pacino's Scarface ---because we aspire to be kickass all the time)

Designer Shannen did a great job doing all the backdrop art and photo tarp for the party

Look how dapper the Ingenuity boys were and how lovely the ladies in their feathered, sparkling headpieces! It was, after all, Christmas, and people were in the mood to dress up.







The evening started out with a serenade from the Davao acoustic band Korde, singing era-appropriate tunes and jazzy, Frank Sinatra-esque renditions of classics like Fly Me to the Moon and Moonriver, among others.


Then an impromptu jam from our very own Ingenoobs, Nikko and Chanly, singing Starship's Nothing's Gonna Stop Us Now. Who would have known that they had it them to perform in front of everybody!? Cheers were overflowing from the moment they took the stage, down to the last note of their song. Yes, we have a very supportive team!

the #ChaNik ship is sailing!
We had 2 very ebullient hosts and a very efficient party organizer (who worked very closely with me and granted my every request and went above and beyond what was agreed! So perfect!) from Creative Kings who kept the night's energy level up all throughout the program until we ended at almost midnight.

our efficient team of organizers and emcees from Creative Kings
They were so effective, in fact, that after the party, John said it was the best ever Christmas Party Ingenuity has ever had to date.

A video montage, lovingly prepared by Jefford and myself was shown to everyone, highlighting every single victory great and small we had in the year. It was a fitting summary of the rollercoaster ride Ingenuity has had this year - an amalgamation of the thoughts, ideas, actions, and decisions contributed by each and everyone on the team that would propel us further into success.

John our CEO was asked to speak (he wasn't ready but gave a nice speech anyway!) and he expressed his gratitude to everybody who has pitched in to everything Ingenuity has accomplished in the past year.
"I would like to thank the Academy Awards..."

And what Christmas party would be complete without games? Of course, being the fun-loving people that we are, our party is never dull as we have a lot of fun playing parlor games.

pre-game huddle for Christmas Carol Battle
Koon gets ready to face off with JA on the 1st round of Name That Tune (complete with buzzer!)
And because they can't name that tune, losers were asked to dance as a consequence of losing! What great fun!
Koon, Ray, Nap

Marc and Russel

After this very funny interlude, everyone got to vote for the best #OOTN (Outfit of the Night), the winner of which would win a special prize. As everyone went the extra mile to clean up and look good that night, it was very hard to choose a winner! Gia, myself, and Nap were the top 3 and I won. Maybe because it was Christmas and it was everybody's way of thanking me for the (hopefully) great job I've been doing as HR (or maybe it was the glittery dress!). LOL

Gia, Nap, Gik - top 3 OOTN's
The team also wrote random notes (some anonymously) to those people they wanted to thank for doing a great job for the year, or just to say random sweet nothings to. These dedications were read by the hosts and as usual, rounds of teasing and laughter ensued.

At dinner, we were once again serenaded by the band, this time playing more contemporary upbeat songs. Everyone had a great meal as we had our favorite Edgar's lechon there among all the rest of the hotel catering. The desserts were nice, too.

After we've had our fill, it was time to present the group AVP presentations. Everyone was assigned to groups of 6-7 members and they were tasked to come up with an entertaining skit, song, or dance number. They were allowed full creative rights and we were all blown away by everybody's talents!

You may click here, here, here, here, and here to watch the videos!

As the judges were summing up the scores for the AVP presentations, a rousing round of Battle of the Brainiacs was played by the team.




And then the most awaited part of the night came which was the Secret Santa. People were asked to describe their Kris Kringles with only 3 adjectives and everybody would warrant a guess as to who it was.




After exchanging gifts, the prizes for the raffle and announcement of the winners of the presentation and other special awards were done.

just some of the raffle prizes, deeply coveted by such techie kids as the ones in the office

We then partied the rest of the night away!
check out their moves...so smooth!

Our pictures could be found on our Facebook page. You can click HERE, HERE or HERE to view them!

Everybody had a lot of fun - a fitting end to the year that was full of challenges, but was also full of successes, fun, friendship, new experiences, and learning! Onward to a great 2015 ahead!

Merry Christmas and a Happy New Year from all of us! :)





Thursday, February 12, 2015

Titanium JEP 8

In order to be consistent with our Titanium Alloy projects, we created something similar to Python's PEP 8 Style Guide, but for Titanium Alloy Code.

Feel free to add some things that you think might make developing with Titanium easier. Visit the JEP 8 wiki for more details.

Basics of Celery

Hello fellow Ingeneers.

I just would like to share to you what I've learned from tackling Celery.


By definition, Celery is a Distributed Task Queue. Its job is basically, to execute tasks. But what makes Celery great is that it is asynchronous in nature, meaning, it can perform various tasks in a separate process, without interfering with the main processes. Isn't it great or what?

Running tasks on Celery can either be Real-time or Scheduled. By scheduled, meaning, you can control your tasks as to when it will be executed by settings various time measurements such as day, week, seconds, or even an actual date. 

Celery is based on distributed message passing. It use messages to relay tasks to its workers. In order for Celery to be able to relay messages, message brokers are needed.

Message brokers are basically responsible for passing messages between your application and the Celery worker. Many message brokers are available, but RabbitMQ and Redis are the more popular ones, and widely used.

Basic Celery configuration: celery.py



either in your settings.py or a separate file (e.g. celeryconfig.py)



Creating tasks: tasks.py


And now, running the worker process



There you go, the basics of Celery. There are still a lot of cool features that you can do and discover with Celery. I hope this helps you get started.

Here is a link to my Celery Presentation if you'd like to view more resources and tutorial links.


Thanks.