For the past few months, the feeling of lugging around a 15-inch mid 2012 MacBook Pro has been something literally painful, especially for my back. I’m living a pretty mobile lifestyle now, where I have to go from one place to another, giving workshops, participating on events or attend meetings. Doing that with a 3 kg laptop on my backpack, is like asking for trouble in the future. It has been an issue for at least a year now, therefore, I’m on the market for something lighter but doesn’t hinder me from doing my regular coding practices, which most of the time, involves graphical programming.
One of the common problems I found when dealing with people who wants to make something, whether it’s app/website/others is that one sentence put on as the title of this post: “I Want More Features”. Said loud and proud, as if having more features equals to having a better product. Maybe it’s the direct artefact of living in an age where quantity matters? I don’t know.
In the age where everybody seems to make new app every now and then, it would be extremely hard for your digital product to shine and turn few heads to your direction. That is, unless, you design in with specific feature in mind, something that you believe would be meaningful to your product’s user. That’s why we keep on hearing the term UX design, or user-centric design, because that could be the key for your product to strive in the market. Basically you’ll want to answer 2 key questions: “What’s one central issue that you’re trying to address?” “And how can your product central feature answer it?”
And let me be honest, that’s probably the easiest part of the picture.
Last week, between spare time from making material for coding classes at Framework, I made a small prototype of a finger gesture-controlled robot. Gestural control has been something that fascinates me for quite a year now and since I have a robot kit idle, I thought that this would be a good time to use gesture as an input to something other than pixel-based material.
I use Leap Motion as the sensor and input, get Processing to read the data of finger numbers and transmit it via serial to Arduino which in turns, orchestrate which wheel to move and its respective movement direction. I use a 2-wheel robot which is controlled by an L298 motor shield.
Few months ago, I had the chance to gave workshop on making data visualization using Processing. The course were designed for someone who didn’t come from a technical background, who wished to hit the ground running making something using programming or specifically, Processing. On that day I had several people coming who are designers and architects.
For several hours, I sat there, talking, explaining, running some examples and gave short exercises for them, guiding them to the magical world of creative coding, and they did grasp it. The best thing about working with these creative people is that I could plan seed in their mind and I would instantly watch as they bend codes into their will. One guy has made his own brand identity using Processing code at that workshop. Another one, I know, is still exploring and happily tells me new things he learns.
Baiklah, sesuai janji saya, kali ini kita akan mempelajari bagaimana menggunakan live video di OpenCV. Kalau sebelumnya kita menggunakan gambar diam, maka kali ini kita akan menggunakan OpenCV untuk menganalisa video live dari webcam di komputer/laptop. Bisa dibilang, inilah kekuatan OpenCV, di mana ia bisa menganalisa objek bergerak, sebagaimana manusia mampu mengenali objek yang dilihat langsung.
Sudah beberapa bulan ini saya kesengsem lagi dengan bahasa pemrograman Python. Mungkin karena sedang getol-getolnya baca-baca soal data, statistik dan Machine Learning, jadi ingin belajar Python lagi. Maka dari itu, saya tulis blog ini sebagai catatan perjalanan saya belajar Python lagi.
So, 2016 is here, I know it’s pretty late to post this sort of thing now (it’s 26th January!), but I think I need an extra motivation by writing down a reminder that’s publicly accessible. Anyway, this year I’m running full steam, working on 2 business that I co-founded. One is at Labtek Indie, an R&D company and the second one is at Framework, a company that provides IT development related courses and workshops.
With those in mind, it’s natural then for me to upgrade my skill to stay sharp in today’s era of fast moving tech. I decided to set up a short list of things to learn, so that I can master them without having to overwhelm me. Here they are:
- Clojure. Because Labtek Indie will do a lot of rapid prototyping and after some tests and suggestions from close friend, REPL in functional paradigm will suit this. Moreover, learning a new way in thinking programmatically should benefit me., especially when crunching data in…
- Machine learning. I suspect that this skill will help a lot of business and knowing this won’t hurt. Plus, I think it can leverage my computer vision skill. Also, I need more targeted algorithm training.
- Meteor. Again, after running through the tutorial, I’m pretty convinced that this tool could help me rapidly build app.
- Various front end skills. I need to keep up while brushing up on this.
I think those three should keep me in company throughout the year. I also keep a list of secret projects that could be helpful in applying those newly acquired knowledge.
Oh, and on the other hand, as a business owner, I owe myself to learn more about business, whether it’s through books or courses. So, this year is gonna be packed.
Bring it on 2016!
Mixed Reality is a term for technology that mixes the daily, physical reality, with something virtual. Lately, this term has been implemented in the form of Augmented Reality (AR), which augments something on top of a certain object, that can be seen using external display, thus making it an augmented one. On the other hand, over the past 2 years, development of VR has been accelerating swiftly, mainly because of the rise of Oculus Rift, a Head-Mounted Display (HMD) that enables its user to experience a Virtual Reality (VR) World.
This is long overdue, my bad, I should’ve written this months ago. Haha. Anyway, I had the chance to speak at GNOME.Asia 2015, a regional level conference on GNOME and open source software in general. In case you didn’t know, GNOME is one of the available desktop environment for Linux-based OS. If you’ve used (or still uses) Linux for the past few years, chances are, your application window (among others) is managed by GNOME. That’s how important GNOME is. Therefore, it’s such an honour to be able to speak hear, even though I didn’t register until the very last day of abstract submission.