I should have posted this 3 months ago. Looking at my post drafts, hey I had this, so let’s post it.
This Valentine day, I have a love confession to make… I have an affair.
For front-end side, I’ve been developing in iOS development platform for 6 years now, and I love it! I still do. But now, I have a new love.
Although never spoke it out loud, mostly only among friends and team, or in my mind, it was quite often I underestimated Android development platform, generally judging from most Android apps available, that to my judgement are lost in term of overall quality compared to iOS. Just look at Path app for Android (Path is quite popular in Indonesia, so I use it as example), for example, is quite different from the iOS version. Or from reading at a glance the news updates around Android development. For example, how developers tend to choose iOS over Android, how fragmented Android is, bla bla bla.
I often thought, hey Android development is kinda sucks, no?
I had this story in mind since 7 months ago. But I was powerless to write it, my time’s so much consumed by works.
Allow me to share a bit of story tentang Pivot…
Since 2011 my company had a mobile app called Jepret. It’s basically a social photo sharing app, but designed and developed only for feature phones, esp. Nokia’s. Simply put, it’s Instagram for feature phones.
Everything went great. 1 million users in one year. Not bad, considering the minor marketing effort from our side. At that time, a lot of help coming from friends at Nokia Indonesia. Special mention and thanks for Narenda Wicaksono and friends at Nokia Indonesia for all supports during development and marketing.
1 million users, not bad, what about revenue? Don’t ask, very small! The conversion from free to premium (or in-app purchase) is less than 1%. But still exciting at that time.
But every party must be over. As we know, feature phones market is declining. Nokia Store will be shut down. The end of Jepret?
Logical obvious step is ported Jepret app, from feature phone to your smartphone (Android, iOS). But we are quite realistic on the “depth” of own pocket and considering market photo sharing / utility app on iOS and Android are already very crowded. I have not calculated the total, but there may be hundreds of apps, or even thousands. Actually, we had ported and released Jepret for Android, but not really taking off. Continue reading
2014 is one of the important year of my life, possibly the most. It’s the year that I decided to end my life as single entity, formally united with another entity named Gina.
(continued in Bahasa Indonesia)
I started the year with 200% focus on the wedding preparation. Terbiasa hidup mandiri dan menopang biaya hidup sendiri sejak kurang lebih 12 tahun lalu, cukup malu untuk minta bantuan orang tua, alhasil perlu membiayai pernikahan sendiri semuanya. Biayain bareng sama calon istri sih, tapi ternyata ideal wedding that I have in my mind butuh biaya yang lumayan. So, it’s been a challenging preparation.
Apparently, need more time to finish this post, will come back later. For now, I describe my 2014 life story in photos, here it is:
View in new window
You’ve served me well for the last 9 years.
A lot of decision and idea made when I sat on you. Tons of creations were born when you supported my back.
Uncountable farts you withstood. You witnessed things that aren not supposed to happen on top of chair.
It’s time to retire. My a** will miss you.
Out of nowhere, on Monday (Oct 6) I got an email from Google Play saying that my company’s app, Movreak, got suspended. It’s gone from Google Play.
This is the email excerpt:
This is a notification that your application, Movreak: Movie, Cinema, Review, with package ID **********, has been removed from the Google Play Store.
REASON FOR REMOVAL: Violation of the intellectual property and impersonation or deceptive behavior provisions of the Content Policy. Please refer to the IP infringement and impersonation policy help article for more information.
- Your app and/or elements of its listing on Google Play, including title, description, logo(s), or promotional screenshots must not include unauthorized usage of protected works belonging to a third party.
- Your app icon and promotional screenshots must not contain images that appear confusingly similar to existing products.
Never in my adult life, I tell the world about my political stand. This will be the first time and the last time (not until the next 5 years at least), and hopefully you don’t judge me anything by this small post.
I’m never interested in politics. Until today and probably still in the future (but who knows…), I choose not to be involved – either professional or personal - in any political activities or parties. I still keep thinking that my personal, professionalism, and business can grow without having to piggyback political party. But again, who knows…
In less than 5 hours, Indonesia will celebrate the biggest party in democracy in every 5 years, the presidential election. Not even once until today I talked, involved in useless debates, or even implied my political stand out of two presidential candidates, in public space or even online. You may say I’m apathetic, or simply coward. But the truth is I simply don’t have time and energy to do that, and choose to spend more and more time for things that I do best, taking care my family and company, and build software. But in silence, I kept researching of the two candidates. Continue reading
Node.js adoption is quite slow in Indonesia, also in Bandung, at least that what I know of (I’m trying to find Node.js developer to help on my company projects, and so far found the same guys ). So, when I’m asked to deliver a talk on a regularly hosted Tech Thursday by Telkom Bandung Digital Valley (BDV), I quickly jumped into the event to talk about Node.js. Much better, I also talked about how to deploy Node.js app to Windows Azure. Hopefully that 2 hours talk gave the idea how easy to get started developing on Node.js and also deploy to Windows Azure.
Everything I talked is on this slide:
I put together the demo source code and published it on GitHub: https://github.com/andriyadi/NodeAzureStorageSocketIO. Make sure to follow the instruction on that repo to try the code on your machine.
The live demo of that project is here: http://intro2node.azurewebsites.net/
I’ll try my best to keep it alive as long as possible
That live demo is actually reflecting master branch of the GitHub repo mentioned above. If you’re wondering how I managed to publish to Azure from GitHub repo, make sure to follow this tutorial: http://azure.microsoft.com/en-us/documentation/articles/web-sites-publish-source-control/
The demo source code is based on sample from Windows Azure website published here. If that demo is based on Jade template, I use EJS view engine instead. I find Jade is intimidating So for all of my Node.js project with ExpressJS, I always use EJS.
The demo also implements Socket.IO 1.0. All this time I always use Socket.IO 0.9.x and it works without significant problem. But when I use v1.0 in this demo, I can’t make it work right away. Finding examples of v1.0 was quite hard, so I decide to struggle myself. So, here it is, working example of Socket.IO 1.0. You are welcome
My company was asked to deploy a system managed by an Indonesia government department to Windows Azure infrastructure. Apparently, the biggest concern of enterprise and government to deploy internal information system applications to 3rd party cloud infrastructure is security. There should be a way to avoid unwanted access to the data by any parties (including the cloud infrastructure owner), but the owner of the system.
In my case, the system uses Node.js as development platform and MongoDB as database system. MongoDB document encryption needs to be implemented in addition to any built-in security measure.
Please note that this post is used as my note of my research so far, not as a guideline. As the project is not yet started, there’s no way I know which one of the alternatives I describe here that actually works. Will update later with more practical guide.
It’s not really important post and the post title sounds weird But it’s important for me as my note.
Today I stumbled upon Azure CLI installation in my Mac machine when trying to repair permissions on /usr/local. I know that’s based on Node.js and it seems the installation has its own Node runtime in it. Hey, I already have latest Node.js runtime installed on my machine. Why need another one.
So I decide to uninstall the “standalone” Azure CLI, and decide to install it using NPM. To uninstall, you can just run this command on Terminal:
To install it again using NPM, type on Terminal:
A bit trick I found. If you uninstall and install using the same Terminal window, make sure to quit that Terminal window first. Open new Terminal window, type: azure –version, and you should see the version of Azure CLI.
I’m dying to get client software to access my SQL Server from my Mac. All this time I use Navicat for SQL Server Lite, as name, a lite/free version, which has been very outdated. The full version is more up-to-date and more features, but honestly it is a bit expensive for me.
Another option is using SQuirrel SQL which happens to have SQL Server support. Since it’s developed in Java and as long as you have JDBC driver of DBMS to access, I think it can access that DBMS well. It’s a great piece of free software. Just sometime it’s a bit complex for simple query operation that I want, for example.