Showing posts with label Eclipse. Show all posts
Showing posts with label Eclipse. Show all posts

Sunday, January 24, 2016

Back to School

I have just started the coursera course Algorithms Part 1.

I half-heartedly tried out the course before. I listened to some of the lectures, I glanced through some of the exercises and programming assignments, and I may have tried to do some quickly (using Python instead of Java). But this time, I am going to give it a good effort and do all of the assignments and try to really complete and pass the course.

On Friday, the course began, and I started watching the videos. After the introduction video, I found it easier to just read the lecture notes and the slides. It was quieter and I felt myself concentrating a little bit more. As things get a bit more complex, I may watch the video, especially when there are demos that don't animate in the slides.

By Saturday, I finished the first round of lectures, and I began looking at the programming assignment. Since it's the first assignment, I've been spending a lot of time getting my environment set up. I tried the recommended IDE called Dr Java, but it felt a bit unpolished. I decided to use Eclipse, which I had to re-install. Eclipse is not as light-weight, but I think it makes things a little easier to do, especially since I am a novice Java programmer.

It's a bit annoying getting all of this started. I wish they had set up an initial pre-class assignment before. Before the class started, I could have tried to set things up, and we could have had a simple HelloWorld style project where I could iron out the process of creating files and submitting them. Oh well, once I get this working right, hopefully it won't be so bad in subsequent weeks.

Ok, time for breakfast, and then I will go ahead and give the first week's programming assignment a try.

Monday, July 15, 2013

Google App Engine - Python

I already spent some time building a Google App engine product in Java. Java was a natural choice because because I was already working with Java (and Google) as I was building an Android App.  While I was/am making some progress it has been slower than I had hoped.  So, for my next Google App Engine App, I am going to give Python a try.

Again, similar to Java, I'm not very familiar with python, so this will be another learning experience.  I started by following this tutorial, https://developers.google.com/appengine/docs/python/gettingstartedpython27/introduction, after which I was able to do many fundamental web actions (displaying a site, reading/writing to a datastore and responding to events).

My initial feeling is that it is great to develop without eclipse.  I believe that eclipse can be a great and powerful tool, but I have not mastered it yet.  Learning a new programming language and a new framework and a new IDE has been slow for me.

Just using a terminal to start a development server, mvim to code, and a browser to view is refreshingly simple.  Eclipse worked like magic, but for a beginner like me, it felt like black magic where I didn't what was going on.  One feature that I know I will miss when coding with mvim is code completion.

So, without further ado, here's the app I created.
http://englishtokoreanforum.appspot.com/
As of right now, it is the final product of the tutorial.  In the future, I envision to make a forum where users can view and enter english to korean translations.

As a final note, I mistakenly chose this appspot domain name.  I was playing around with different titles, and hit enter by accident.  Anyway, I'll live with it for now.

Wednesday, May 8, 2013

Better Android logging

Programming is a humbling experience.  It seems like everything I code has room for improvement.

Today, I found out about android.util.log.  This class gives you a better way to print out logging statements.  So, instead of doing,
System.out.println("Look! Code finished, the value is:"+value);
which would print data to the LogCat window in Eclipse with a logging level of INFO, you can do something like,
Log.w("MyTag","Look! Code finished, the value is:"+value);
which prints data to the same LogCat window in Eclipse with a logging level of WARN with a tag of "MyTag".  You can adjust the logging level by using Log.v, Log.d, Log.i, Log,e, Log.a which are verbose, debug, info, error, and assert respectively.  

The best part of this logging is the tag.  With the tag, in Eclipse you can create a filter in the LogCat window, and just see your tagged logging messages.  This is very nice if you are testing on a real phone or tablet which may have a lot of other logging messages unrelated to the app you are testing.

This is much better than just using a System.out.println, because the system messages are sometimes very hard to find among the clutter of other logging output.

I think small changes like this reduces developer frustration and friction, which ultimately leads to improvements in developer productivity.

Wednesday, April 3, 2013

Day Two with MacBook Air

So, today is my second day with the MacBook Air.

One of the driving forces I had for switching from Windows to Ubuntu in the past and now from Ubuntu to Mac OS X  is to learn new things.  But of course, on my first days of using a new computer, I need to do some sanity checks and make sure that I have the same functionality that I had before.

One of my biggest difficulties with my old computer was that it was completely incapable of running an Android emulator.  To do so, rendered my computer pretty useless.  So, I wanted to see how this new computer stacked up.  To test, I wanted to run one of old Android projects with an emulator.  These are steps needed to get started:
  • Downloaded and installed Eclipse
  • Downloaded Java support
  • Installed the Eclipse Android Developer Tools (ADT) plugin
  • Downloaded the Android SDK and told Eclipse where to find it
  • Downloaded an emulator (virtual device)
  • Used Git Hub for Mac to pull my old code from my repository
  • Downloaded one library which I didn't include the git repository
  • Cleaned and built the project
And, after all that.  I got my Android app to work with an emulator.  It worked much faster than on my old laptop - which is expected and good.  

So today, on day 2, I spent a bunch of time re-creating my old setup, struggled against my muscle memory as I fumbled with new keyboard shortcuts, confirmed that my new laptop is much faster than my old one, and started to use one new program, GitHub for Mac, which is pretty cool.

And as a final checkpoint for the day, I just checked and I'm now down to 91 GB of free space. This is down from 97GB from the time I first opened this laptop.