Jajan for Android Open Sourced at Github

Jajan for Android is now Open Sourced at Github a few hours ago. I personally hope that by looking at the source code provided, more and more developers will sync to the tune of how easy it is to create an Android application. I wrote most of the codes 7 August 2011 in under 4 hours. Using ready made libraries already available within Android and also other third party libraries, it helped to ease the complications.

The source code is NOT perfect, there’s a lot of places where it could be optimized aggressively even more. More of the optimization will most definitely lie within the ListView. At any case, it will load 100 search results, you can make this endless by loading an incremental of your choice.

The codes are available at https://github.com/tistaharahap/jajan/.

Excerpts from the README shown below:

JAJAN by Urbanesia
==================

Jajan is a simple app to showcase Urbanesia's API v1.0 and how you can extend for your own apps.

As of this writing, the initial commit is at sync with Jajan's binaries at Android Market which is version 1.1.1. Upcoming Jajan versions will NOT be published from the codebase here in Github, this repository is treated as an example for future third party apps by you.

Jajan is available in multiple platforms, go to , if your device is one of the supported platform, it will redirect to your device's application store or it may have you download a binary for your platform.

Hacking CodeIgniter for Persistent Timestamped Cache with Memcache

I’ve got myself a long title for a blog post this time. This post is exactly what the title says. Been twisting my head figuring out how to bypass CodeIgniter’s internal to hack CodeIgniter’s ability to do a persistent timestamped cache of generated HTML contents using Memcached. I couldn’t find any other way to speed up cached HTML content serving within the framework, so after a long talk with @chazzuka, I made the choice to skip framework.

The main purpose is actually what all websites want, to spit out content as fast as possible and maintaining a high satisfactory levels of perceived speed for users. CodeIgniter wasn’t built for that. To make matter more complicated, CodeIgniter has its own session handling mechanism, this made fundamental changes to caching for logged in users a risky business. Comparing the benefits and losses of the change, 0.00001242 second execution time outbid even the fastest execution time on our servers.

Please share the codes :)

Error when loading gists from http://gist.github.com/.

HandlerSocket Client Library for CodeIgniter

These past weeks, I’ve been amazed by the amazing performance offered by HandlerSocket right out of the box. You’d amaze yourself after reading a blog post by Yoshinori Matsunobu about the topic, he managed to get 750 thousands queries per second!

Well I wanted to try it on my own and see how it goes. Here’s a CodeIgniter library intended just for that!

Error when loading gists from http://gist.github.com/.

Amazon SES with Sendmail as Relay

Over and over, sendmail keeps getting whacked out of configuration and it’s puzzling why this keeps happening. I followed everything at Amazon SES’ instruction here with no luck.

So to set things straight once for all, here are the steps to make the changes permanent.

  1. Open up sendmail.mc typically located at /etc/mail
  2. Add FEATURE(`mailertable')dnl below where all the FEATURE() codes are
  3. Add the lines below at the end of file
    • MAILER_DEFINITIONS
      Maws-email, P=/etc/aws/ses-send-email.pl, F=mDFMuXn, U=mail, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, A=ses-send-email.pl -r -k /etc/aws/aws-credentials -e https://email.us-east-1.amazonaws.com -f $f $u
  4. Save the file
  5. Generate sendmail.cf by doing m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
  6. Open up mailertable typically located in /etc/mail and add .[TAB]aws-email:%0. Replace [TAB] with a real TAB character
  7. Build the mailertable database by doing makemap hash /etc/mail/mailertable < /etc/mail/mailertable
  8. Test the configuration by doing sendmail -bv test-email@domain.com
  9. If all goes well, restart sendmail by doing /etc/init.d/sendmail restart

OAUTHnesia for PHP

It’s 2012 now and Urbanesia is publishing a new OAUTHnesia client for Urbanesia’s API. This time it’s for PHP. Why it took so long to actually finish a PHP version is because we gave up on a third party library that is too complicated to do simple things. So without further ado, the codes are available below.

MSDN Blogs

MSDN Blogs.

The Improbability of The Impossible

How many strands of thread does it take to keep us from being naked everyday? A whole lot for sure! How do you somehow collect all those strands and weave them into a single united strands that we wear everyday? Easy, a needle, strands with enough length and a significant amount of time and energy should suffice. So what’s the substance connecting all the dots? Technology.

Dissecting and subordinating the impossible usually starts with HOW. How did you do it? How do we sew the strands to finally forms a piece of clothing? Technology in this virtual age is all about data. They are the fundamental element that shapes a computer as we know it today. Data on its own is useless, no matter if it is 1 Byte or 1 Terabytes, it does not hold any value unless value is added to them.

Instead of starting with how, let’s start with WHAT. In the stone age, a piece of clothing we wear everyday might seem like Star Trek for the humans of that era. It is unthinkable because they don’t know there is clothing, yet. The opening paragraph has described the whats. It seems today we can manufacture a needle and strands quite easily, albeit I’m sure with a hefty amount of knowledge already there. Long story short, the very definition is here.

Knowledge plays a big part in dictating what you CAN or can’t do. So now the question is What is The Impossible? Every one of us are slaves to our own knowledge about our own understanding of how things work. Not limited only in a technical sense but more general even life’s very own existence. How well do you know your lives? How far will you go the distance between impossible and Possible. As stated before, technology is knowledge while knowledge is power (material) so technology equals power. The power that comes from own existence, the thirst for understanding and always wanting to learn. Most importantly, the power to say NO when needed and saying YES to admit own mistakes.

Individuals often seek others to empower themselves, this is not a very healthy way of expressing one’s self. More often than not, consumed by the myriad of foreign knowledge not yet proven by ourselves. Rejecting, resisting or even denying seems to be the first acceptable solution. Questioning if it is right for ourselves. Unit testing the knowledge with past experiences. This leads to approval from someone more experienced. Approval also sometimes means acknowledgement by our peers.

The learning process of it all will sometime redefine our understanding about how things work and in extreme ways make us rethink and conclude a whole different set of knowledge. Knowledge that will add value to a set of data, transforming it into one of those moments when you just stop for a while and smile at it. To put it in a more familiar term, INSPIRATION. Undefined (null) moments when you found a solution for a problem you’ve been having or someone else’s. The very essence of what a startup is.

So what is the improbability of the impossible? I say greater than zero, it will take time and be possible when it’s due. Between time and energy, I believe energy will have a significant impact in cutting down the amount of time needed. Energy according to Einstein is mass times the square of the speed of light, I don’t think so, here’s my equation:

Energy = Inspiration ^ Passion

Connecting the above equation with the opening paragraph, I can conclude The Improbability of The Impossible as the following equation:

Impossible < I < Possible
I = (int (Boolean TRUE)) / (Time + Energy) * Experience
I = 1 / (Time + Inspiration ^ Passion) * Experience
I = Experience / (Time + Inspiration ^ Passion)

The equation conclusion:

  • The more the experience doesn’t necessarily mean it’s more possible
  • With more Time and or Energy, the more possible the impossible

There are other conclusions to be made and I welcome it all in the comments. Have a great POSSIBLE day!

This blog post is dedicated to my friend Rama Mamuaya who is getting married this month. Through his examples and undying passion for technology and startups, Founders alike have been connected in so many ways. Congratulations bro! Have a great POSSIBLE days ahead of you and Puspa ;)


photo of Batista Batista R Harahap batista@bango29.com
Jl. Bango II/29C, Pondok Labu
Cilandak , DKI Jakarta , 12450 Indonesia
62817847023

This hCard created with the hCard creator.