Speaking in Code

Hello again,

Today I am hoping to explore my thoughts on the world of coding and computer programming. I have been interesting in learning computer language for several years now, and the time seems as ripe as ever to start learning. The trouble I’m having has several prongs. The first and probably most important of these is that there are so many languages and so many things I would like to do that I’m having trouble focusing and narrowing down to one language or one learning tactic, and so I end up with a set of skills that is extremely limited and broken to the point that I can only do very little. I have a basic understanding of linux alias and shell scripting, but anything beyond a few lines quickly becomes too complicated for me. I spent a good part of the past 6-8 months trying to learn C and C++ using an online course and its resources at Harvard, and did get a fairly good understanding of the basic concepts surrounding programming, but no actual knowledge in terms of being able to write a program myself. I can navigate in windows and linux command-line interfaces, but actually performing meaningful tasks usually requires a few minutes of google search followed by pasting code from the web and letting it do what I was looking for. This solution does work in theory, but it can be very time consuming. A solid understanding of any of these programming languages would definitely be preferable to what I have now, but this is very difficult for me, especially when I cannot commit all my time to learning or using the languages. The CS50 course at Harvard taught a lot of basic information about a few languages, but doing a Masters while trying to take a distance learning course proved a little bit too much.

All of this is not to say that I am not computer literate. When it comes to solving problems on any of my electronic gadgets, I can efficiently solve them, and even my intuition for these matters is fairly high. The issue I’m having is that when it comes to understanding how what I do solves my problem, my level of understanding is extremely low. It seems to me that in attempting to learn these skills, I am met with oversimplification. I realize that there are reasons for explaining things in this way, and that it will always be this way, at some point I will want to have all the layers peeled back and be able to see what I am actually doing while programming. Maybe if that ends up happening, I’ll finally be able to understand what I’m doing wrong and how I can truly learn and use programming to mine and everyone’s benefit.

This week’s App:

Panamp (iOS)

This app is a music player which should be able to completely replace the default iPod app for only $2.99. The app consists of three screens, in order a search screen, library screen and finally current playlist screen. Playback and search is most easily performed through swiping. For example, selecting a song to play from the library screen is as simple as swiping it to the right into the playing screen (the queue picture on the left). Once a song is in the queue, you can move it around easily from the right of the song (on the right), and swiping it off the screen removes it from the playlist. Playback is also controlled from the bottom of the screen by swiping the currently playing song to the left (next) or right (previous). Playlists loop automatically. It is a very simple intuitive app which is extremely smooth and whose menu transitions are meaningful rather than distracting and slow down navigation.

Jailbreak app: iFile

This is a must-have app for anybody wanting to use their phone as a computer in any sort of meaningful way. The app now also integrates beautifully with Dropbox, meaning that transferring files to your phone from your computer has never been simpler than now.

Installing Google+ on iPad or iPod Touch

I have seen the last couple days that there is a way to install Google+ on iPad or iPod Touch using the iPhone configuration utility. I tried that and when I plugged in my iPad I just got an error message from the utility, and after some minor troubleshooting I gave up. This morning, a thought occurred to me. I can just use Installous to install the .ipa. All I had to do was add the Google+ .ipa file to the filesystem (/var/mobile/Documents/Installous/Downloads) and then open Installous and install the .ipa through the downloads menu. I personally used iFile’s new Dropbox integration for this so connection to the computer wasn’t even required. Anyhow, now I have Google+ on my iPad, and the only part of the process using a computer was getting a copy of the original .ipa file. I hope if the original method didn’t work for you either, that this one will!

Bluetooth (Not space, sorry :( )

Hello all! It’s been a very busy week and I know you are all eager to read, because the Internet is just a horrible black hole without anything worth reading. I just briefly contemplated using that as a really terrible segue into talking about space (see my last post and how I had planned to talk about it), but it’s been a week and a lot has happened since then.

First, and most importantly to me, I finally finished my last class ever (with an A-), which means that to finish my degree all I need to do is give a seminar (which will very likely be on the topic of real-time MRI, an AWESOME technological advancement which could easily revolutionize medicine) and then write and defend my thesis. I’m hoping to have this done by mid-October, and it’s really all I’ll be doing until then. So that’s pretty hella exciting.

Secondly, last week Dell was having a summer sale, as they do quite frequently. I scan the deals they offer as there is usually one or two really good deals, and since I do enjoy technology and electronics in general, I’ve made a few of these purchases. The really exciting one which I’ve been using non-stop all week is a pair of Bluetooth headphones. I wasn’t sure of the purchase as I was making it, because they are over the head headphones, which are a little bulky and make the wearer look like a huge nerd (or in some cases a rich, snobbish audiophile depending on the size). They were $50, down from $100, and I had a little disposable income, so I decided to jump even further into the world of wireless audio. Last time I had used Bluetooth was probably 2006-7 when I needed to transfer phone numbers from one phone to another without a SIM card. As I remember it it was a horrible clunky technology which was mainly used either for moving small data such as contacts from point A to point B, or connected to a jawbone headset for phone calls. While these things are undoubtedly convenient, I basically ignored the technology for the intervening 4 years.

Now that I have these headphones (which were delivered in less than 24 hours from the time of order, another small plug for Dell and Purolator here, they are awesome) my mind has completely changed on the technology. In the week I’ve been using my wireless headphones I have just charged them a second time since opening them, although they weren’t dead (4 days seems to be the average, but I didn’t want them to die). I should also make the point that I have been using them almost incessantly and the battery life is just stupendous, although they are still very light. The right speaker has volume and playback controls, as well as a talk button, microphone, pairing button and power button. It is the easiest thing to use and is easily made compatible with everything. All Apple products come with Bluetooth adapters, which made it incredibly easy to connect to the headphones. My computer (which would have come with bluetooth for an extra $20) doesn’t come with it, but that was easily remedied with a small bluetooth dongle, which is actually much smaller than the end of my thumb. The part which sticks out of the computer is about half the size of the part which is required to go in. This (which as you can see attaches to my keychain really easily) can plug into whatever computer I’m sitting at and connects me instantly and wirelessly to the audio coming from that computer. It a wonderful setup, and the last thing I’ll say (besides the obvious of not distracting people around you) is the 30′ radius which allows you some freedom to move around without having to bring anything with you. The example I’ll use is for television, but it applies equally with other media. When I was watching the office in the living room but wanted to get some water, normally I would have to bring the tablet or if I was watching it on tv I would just miss part of the show (or pause it). Now I can simply walk away and the audio will follow me. It’s great technology!

Anyhow, this is long and I want to save something for another day, so I’m going to delay talking about space, though I do really want to.

My app of the day for today is the Google+ app, which has been on Android for a few weeks and was recently released for iOS as well. It’s all very exciting and to all my Facebook friends who are complacent, please do consider getting Google+, I’m sure none of you remember saying “Facebook. What’s that? Sounds cool, I haven’t talked to my high school friends in a while” Well this is so much better than that. I implore you!

My jailbreak tweak of the day is called DeepEnd. It came out today and can be found on Ryan Petrich’s repository. It gives your wallpaper a cool 3D look using the gyroscope in the phone and doesn’t use a noticeable amount of memory, it’s just a neat little effect!

My desktop application of the day is called Teamviewer. I have spoken with many of you about it, and it works on Windows, Mac, Linux, iOS, Android and can access computer via the Internet as well. I will only give a teaser of what it does, but if you have more than one computer, or a phone and computer, it allows you to control and view your desktop remotely. There are INFINITE uses for this technology, and I strongly recommend you try it. Those looking for a demo or instructions, feel free to ask, I would be more than happy to help!

Hopefully I’ll be back again this weekend to write more!