Vim + Kotlin + Android App
It has been a long time since I've written about programming. I used to write a lot about Actionscript back when I was a professional Flash/Flex/Actionscript developer. It was one of the things that helped me to become an expert in the field. For reasons, mostly having to do with employment agreements that scared me, I stopped writing. I also created a disclaimer, which I linked on all my social media, for this reason.
I want to learn like that again. It is for this reason that I've challenged myself. I have challenged myself to create an Android App, in vim (or a vim variant), with Kotlin. This seems like quite a bit of pain. Why would I do this to myself?
Vim + Kotlin + Android App
It has been a long time since I've written about programming. I used to write a lot about Actionscript back when I was a professional Flash/Flex/Actionscript developer. It was one of the things that helped me to become an expert in the field. For reasons, mostly having to do with employment agreements that scared me, I stopped writing. I also created a disclaimer, which I linked on all my social media, for this reason.
I want to learn like that again. It is for this reason that I've challenged myself. I have challenged myself to create an Android App, in Vim (or a Vim variant), with Kotlin. This seems like quite a bit of pain. Why would I do this to myself?
My main reason for all this is learning. I've yet to use Kotlin for anything more than small scripts I learn Kotlin with. Working on a whole application in the language will force me to get more comfortable with it. Since I currently do Android development for work, it can help me to be able to jump to Kotlin when we start using it on our team.
But, Why?
But why would I build an Android App in Vim (or neovim/veonim more likely)? That just seems like torturing myself. Android Studio is a really great IDE. If I want Vim key bindings, IdeaVim is a very decent option. The reason is still learning. IDEs are great, but it's that 'I' that hides the inner workings from us. This is a great thing. Most of the time we don't want to be bogged down with how things work, we just want it to work. If we use the metaphor of a car, most drivers just want them to be able to drive but don't really care about the details. It's time for me to understand how different things work? How do I build? How do I install? How do I debug? All of this, from the command line. Then, how do I present it to myself in my neovim setup? Can I also learn about creating a Vim plug-in?
I've been using Vim key bindings for years. In recent months I've gotten very comfortable in command line Vim and am now using neovim quite a bit. In the past couple days I've been testing out veonim, an IDE-esque experience based on neovim. So far, it seems like neovim but with a bit of presentational polish. So I'll be learning that as well.
Conclusion
So, it is time to learn again and I've got a plan. This is actually what I always recommend to people. If you want to learn some aspect of computer programming, make something. It is in the process of making something, running into and overcoming problems, that you learn.
So, what's the project? I'm going to work on creating an App for my podcast, The Spoilers with Diacre. At the most basic it will be a podcast player. That's a complex enough App to last me quite a long time and hopefully a few articles.
This article was written in neovim with the vimwiki plugin and a few learnings from the book Writing with Vim by Anthony Panozzo
Magic Monday - Phone Cam Magic
One of the people who was parto of EMC in 2010 and again in 2011, probably because he is one of the people behind it, is Marco Tempest. The thing I liked in 2010 and 2011 from Marco is his use of technology. He is updating old tricks with the new technology and new media. He is creating all sorts of magic that may not have ever been seen before.
Recently, I finally broke out my EMC2011 DVD as I begin my resolution in 2012 to get back into magic. Because I was less involved in magic last year I didn't watch much of the conference live or even semi live. So far I've watched the first two discs and I've seen and heard some very inspiring stuff. From Rudy Coby's talk How To Be The Coolest Magician On Earth to Jonathan Bayme's Magic 2.0, I have been inspired by what is possible if you just keep moving forward with you goal in mind. One of the people who was parto of EMC in 2010 and again in 2011, probably because he is one of the people behind it, is Marco Tempest. The thing I liked in 2010 and 2011 from Marco is his use of technology. He is updating old tricks with the new technology and new media. He is creating all sorts of magic that may not have ever been seen before.
One of the things that he experiemented with was youtube and the perspective of a phone camera. These are great bits that take a little bit of the old and rejuvenate it with the new. Take it away Marco... [youtube http://www.youtube.com/watch?v=nvbQQnvxXDk?wmode=transparent&w=420&h=315] That was a fun little video (pun completely intended) to start off the series. In his eighth video entitled "Proximity", he shows us a little more of the magic behind the perspective of a phone cam. What I like about this video is that it almost feels like he is throwing away some of the magic that he is showing. [youtube http://www.youtube.com/watch?v=qWCJ4CkR_qM?wmode=transparent&w=420&h=315]
As always, I'd love to hear what you think of these bits of magic. Did you like them? Did they wow you? Did they inspire you? Let me know in the comments. With my forthcoming experiment of JAMM Live, I'm wondering how much actual magic performance I should put into it.
First test with the g1 Cupcake update camcorder
The following video was shot with the Android Cupcake update camcorder app. It seemed to upload fairly quick over the air and the quality isn't too bad for what it will be used for. I wouldn't be shooting a movie with it, that's for sure.
PS - the camera reacts much quicker as well, which is very nice.