Tuesday, February 26, 2013

Goodbyes

Last week was a week of goodbyes.

We would like to say farewell to a few of our team mates who are spreading their wings and flying to greener pastures.



BEA - Our resident movie queen. We would like to thank you for your perseverance on every challenge thrown your way - from being a software dev on internal projects to PM to accounts handling and finally to automation of business processes. We appreciate all your help and effort Bei, may your new job guide you to your real calling and fulfillment!

ARIK - The mic hogger. Thanks Arik, for all the effort you put into every project that has come your way. We also greatly appreciate the friendship and fun times (Bash likes all the hugs she gets from you, for sure!). Thank you for sharing the awesomeness of Project X, as well as your diverse but very decidedly rock-y taste in music, as well as your PHP skillz. We wish you the best in all your new undertakings.

JOEL - Mr. Laugh Out Loud. Joel has left us before, but has returned for a brief time to offer his assistance on a project. It was also our way of helping him out in turn, for his ultimate American dream. Now he has left again to pursue his calling in the Land of Milk and Honey and we sure hope that may all his dreams come true there! Thanks Jo, for the BYOB Dinuguan on lunchtime, the scientific explanations with diagrams during meetings, and the super duper loud laugh. You sure know how to appreciate humor!

LELIT - The Older Sister. For every suggestion and every information about everything from beaches to Japan, thank you. We really appreciate all the contributions you made to the team. We hope that now you get to spend more time with your dog and kids and won't miss them as much as before.


Thank you guys, we are grateful that you became a part of our team. 

We are hoping that wherever you might end up going, all the good stuff that you've learned from Ingenuity will always remain with you.

Good luck on all your future endeavors!


Tuesday, February 19, 2013

Code Review: Ayra Diaz



Our Software Developer Ayra is a pretty, girly girl. She always looks put together; exuding a womanly vibe that is fierce and feminine at the same time. But don't let the sultry loose curls, red lips, and comely face lure you into thinking that she's anything less than an ace programmer.

Last February 6, at her turn on the code review, she showed us precisely that.

Her talk focused on Django Memcached, an entirely memory-based cache framework that is open-sourced and used by high-load sites to reduce database access and significantly increase and optimize site performance.

According to Django online references, Memcached "runs as a daemon and is allotted a specified amount of RAM. All it does is to provide a fast interface for adding, retrieving and deleting arbitrary data in the cache. All data is stored directly in memory, so there's no overhead of database or filesystem usage."

Simply, it speeds up web transactions by “caching in” frequent data that are mostly used throughout the website.

Ayra explained to us how this particular system does what it does so good. Basically, it lessens the frequent requests of "on database" transactions and other data, which performs calculations that take up most of the time in sending out requests. She also gave precise examples of when to and when not to use Django Memcached. One very useful tip she shared is that the system is awesome and pretty much indispensable in accessing common data for all users. However, if you're using it for something else or when the site requirement is different, it wouldn't be as effective.

She also mentioned using Quix.Pay as opposed to Authorize.Net in her current project. The issue she encountered was very specific to the size of Authorize.Net. As an app, it's jam-packed with features she did not necessarily need. So, she opted for Quix.Pay since it’s smaller and the code is quite straightforward and easy to use. More importantly, at its size, it has all the features she needed: a function for validation, for sale, and for checking credit card validity. Plus, it caters to test transactions.

Her talk was well-presented, lively, and very informative. Kudos Ayra! (Not only for this code review, but also for being a girl who kicks ass in a boy's world!)

Thursday, February 14, 2013

Happy Valentines Day!

Thanks to our designer, Andy for this very nerdy Valentines greeting card. :)

HAVE A VERY HAPPY VALENTINES, PEOPLE!
Don't do anything we wouldn't do!

Keep safe. Cheers!

Wednesday, February 13, 2013

Quantum Information Technology Convention



Xavier University-Ateneo de Cagayan's College of Computer Studies Student Council organized the 6th Quantum Information Technology Convention held in Chali Beach, Cagayan de Oro City last February 9-11, 2013 with the theme "Technopreneurship: Ideas of Technology, Future of Business" and they invited our very own CEO John to speak at the event.

John's talk was titled "Tech Trends and What They Mean For You." And it was about, well, tech trends but as he saw the opportunity to help mold young minds, he focused on everybody's favorite things: computers and the internet.

He spoke about these as being the great equalizer -- meaning, whatever your status is in life, computers and the internet continue to be accessible to all, giving everybody equal shots at everything; an equal footing that levels the playing field.

A lot don't realize it, but a veritable wealth of information is just within reach; a finger stroke away, to be sure, but IF it will make a difference will be measured by HOW you use it. John says that today's students shouldn't have to wait for graduation before acquiring skills that would give them an edge over the rest of the work force; they should start NOW.

There are tons of FREE reference materials that one can study to learn the ropes in the technology industry. And even if you did not study entrepreneurship, you can wing it at first and test the waters. Start small by offering your services (no matter how simple they may be) to others and build from there. Surely there is a market for almost anything under the sun. Most technopreneurs started small anyway, but they progressed onto bigger things by virtue of a courageous combination of risk-taking, hard work, and an unflappable confidence in the product (yourself).

The trick there is to always continue to aim for improvement. Do not rest on your laurels. Do more to achieve more. Your education does not stop when you leave the four walls of your classroom (or the computer lab!). Continue to challenge yourself to learn, to acquire knowledge that will give you a leg up on the competition. This is especially crucial to the technology industry where innovations come fast and furious, and if you don't keep up, you will be deemed obsolete.

It is not as hard as you think. After all, clicking a mouse button only takes just one finger -- the world is literally at your fingertips! Use it and use it well.

In the immortal words of the late Steve Jobs: "STAY HUNGRY, STAY FOOLISH."


Monday, February 4, 2013

Code Review by Mancio Basoc

by: L. Barrios





Mancio Basoc, a senior ( and i mean SENIOR ) programmer, and undoubtedly one of Ingenuity's pride and joy, took his turn as  the Code Reviewer of the week on Jan 23 '13.

He began by discussing his current project and on towards the main subject which is a site monitoring/ alert tool that can be installed on a web server running python.  This particular tool can run seamlessly without needing any package other than what's included in the small program that is being delivered.

Then, he proceeded to the introduction of Bottle Framework, a fast, simple, and lightweight WSGI micro web-framework for Python. Basically, it is distributed as a single file module and has no dependencies other than the Standard Python Library. He also cited some of the similarities and differences of Bottle and Django, which is the commonly used Python Framework.

Mancio also discussed an issue he encountered regarding adding a password authentication for users to update the settings of the project, as well as, to adding /updating the site's to be monitored by the site. He then talked about the solution he came up with, which is adding up functions to handle the authentication and re-employing the password encryption/ authentication used by an older version of Django

Papi, as he is lovingly called by team mates, is reliable, fast, and efficient... a true Ninja. Oh and did I mention that he can belt out tunes like some Rock God? Simply awesome, thats Papi Siyo!

Sunday, February 3, 2013

Code Review by Jan Chua


Sitting cross-legged on a low table, his laptop and the projector in front of him, Jan prepares for his code review. He then endlessly adjusts and re-adjusts the settings, anxious. Finally, he pushes back his glasses all the way up the bridge of his nose and begins almost sheepishly.

As he gains steam, the audience can't help but be enthralled. Here is someone who is speaking Programmer-ese, but is truly easy to understand. That, and the fact that his code is close to flawless, makes for one afternoon of kick ass code review.

The following is a summary of his report:

What were you working on? 

I am working on a basic form for entering data with files for entering time schedules (no automatic allocation of time slots and other complicated shenanigans). Frankly, there is nothing new about the problem as its idea is common and usual.


What was the issue / problem you encountered? 

• Keeping the problem complexity at bay
• Keeping code clean, readable, and easy to work on
• I needed to handle time data such that it:
          ◦ is easy to compute (for me and the computer)
          ◦ makes me not have to worry about timezones when doing the computations


What cool solutions did you find for it? 

I took advantage of the MVC pattern (for client and server-side code) as much as possible to keep code organized, cleanly separated by purpose, reusable, and at some degree, pluggable. Leverage on the usual object-oriented concepts to localize and isolate computations and other operations, hence, preventing the problem at hand to escalate in complexity due to implementation approach. As for the date and time information, store them as “epoch” – a representation of time since January 1, 1970 00:00 GMT+0 in seconds, computational errors due to uses entering date time data in different timezones.


Jan then goes on to share a lot more of his ninja moves beyond the topic of his code review, thus having his peers' undivided attention for more than an hour. June, our Training Director, could not find fault in his code as it is as close to perfect as can be. Other developers also expressed amazement at the level of Jan's adeptness in coding, as well as the ease at which he conducted his report and how easy he made it seem so that everybody understood it well.

That's Jan for you. A humble guy who ever so quietly does his job, but does it in a super mindblowing way that both his superiors and clients couldn't help but marvel in awe.