Wednesday, May 4, 2011

Wedesday: New Co-op member, new projects, actual programming

My first week is now long gone, and now I'm no longer the new guy here at iQ. This week, we already have 2 new members on the team: Wilson as another devel co-op member and Phil as the QA lead (not sure exactly what that is). Hope they have a good time fitting in. 

Looking back on the first week, there were a lot of meetings. Tons of meetings. Talking about design, planning, agile development estimation workshops. I did my fair share of reading. I went through a few books here and there, trying to fill in the gaps in knowledge that came up as the tasks came up. I first read a few chapters of Agile Samurai, having to do with estimation, then tried my best at reading a DDD and Design something book, but had a really hard time getting through it. I finally got settled into the book called Domain Driven Design, by Eric Evans, and finally found one that was readable and accessible. My knowledge of DDD is still a little limited though, and I think that has to do with the exact applicability of the design practice. Since I have little experience with designing anything, I think the examples are still a little inaccessible. I'll continue with it, and I'll comment on DDD when I get a better understanding of how to describe it.

The last week also had a lot of setup and a lot of wiki writing. Glossary writing so that there was a defined Ubiquitous Language. Making sure that with the rapid expansion of our team, we had enough ramp up documents to help people get through their training. I'm now though finally getting ready to do some actual programming of my own. I've read a bunch of people's sample code, and got a little more acquainted with unit testing. I'm still not sure how to define it, but it seems like unit testing is simply a way to test out code for correct results. That is, instead of debugging once the code is finished, a developer can write a unit test that simply tests for correct results in real time. There's a document written by another co-op member, Andy Tan, that describes the unit testing process very well. The two unit testing regimes or frameworks that I'm using are NUnit and NUnit with MSpec. Still not sure how the two differ yet, but I'm actually researching that now. I'll be researching the pros and cons of each, and then writing a program to check the availability of wsdl services.

Saturday, April 30, 2011

PhoneGap, Android, GitHub and iQ

Man...working on a bunch of things.

Following the instructions on PhoneGap, creating a PhoneGap app. It's sort of slow going, and I was held back by some problems with java and eclipse, but now it seems to work now...at least a bit. Let's see, to give it a run down, I went to build.phonegap.com and I forked a repo to the phonegap repo, and I took that out of the box app. I installed the Android SDK (Software Development Kit) onto my computer, and had to install a few of the packages necessary to Android virtual machines. I launched an machine, installed the apps on and voila! we have an app on Android. It's pretty cool. It's fun to see a phone emulating on your computer top. I of course don't have an Android, but now I'm tempted to get one to program for. Unfortunately though, the app's functionality wasn't really there... It consistently dies right after being opened, so there's definitely a problem.

At iQ, I'm trying to read through source code and read textbooks. Once again, I have to conceal a few things (and it's not like I know anything really...). What I can say is that we're developing a product with Domain Driven Design. What I can't say is what Domain Driven Design is...because I don't know what it is... I've been trying to read books and blogs on it, but it's all pretty cryptic. I feel like I'm missing something, but I also feel like I don't know where to find that missing something. I picked up the book "Domain Driven Design" today and when I tried to give it a read, I ended up passing out for a little bit...but I woke up soon after, and I gave it another shot. It's not the book that made me fall asleep, but just that I was getting confused. I'll give it a shot this weekend, and I think I can make some major headway into it. I'll also be forking into the work repos and reading code about some other software. I might take notes of some techniques or findings here on my blog, but I won't be discussing anything business related. What I do know is that this thing is huge and almost unnavigable. Thanks to Andy's help though this afternoon, I was able to get a bit of a bearing, and I hope to look a few of the projects this weekend.

Tuesday, April 26, 2011

Confluence Wiki

Getting to work on building a wiki glossary page. Won't be public, but I'll mark down a few things that I'm working on as they come up.

Writing the wiki is a little confusing. We're using Confluence wiki which seems to be a proprietary wiki type. I'm starting by looking at example markup here. It's a nice set up. No navigation abc's, but still nice and organized. I would ideally like to find some sort of tutorial that provides an auto sorter fills in parenthesis and such. I think latex has something. I'll take a look.

3:55 --
Dang...well. I'm looking for templates, but the iQ wiki is down, so I won't be able to test out anything I find. I have heard of some eclipse ide tools and something called includes macro. I'll give it a shot later. As for now though, I just got my GitHub account theLearningChan linked to my computer, and now I'm able to ssh in. http://help.github.com/win-set-up-git/ Success!

Monday, April 25, 2011

My hotrod -- PhoneGap

I got the okay from the other boss (my dad and Richard) to do some research and potential coding for his business. I'm going to be researching PhoneGap for a platform independent development tool for my dad's mobile app.

Followed the steps on these pages. http://developer.android.com/sdk/index.htmlhttp://developer.android.com/sdk/eclipse-adt.html#installinghttp://www.phonegap.com/start#android, but especiallllly https://fedoraproject.org/wiki/User:Hpejakle/Android#Install_ADT_plugin_for_Eclipse . It says it's for fedora, but it seems like it should work for most Unix. I ran into a problem when first trying to install the packages (I think that's what they were). The packages failed to install and there was an error message reading "failed to create folder ........./temp". Here's the answer. At least for me, it worked to start the "tools/android" program as superuser, which allowed for the temp folder to be created. So without further:

Here's my first virtual android:

And here's phonegap.com on the android.

-----------------------------------------------------------------------------------------------------------------------------
HELLO, FEDORA 
Here's my first app!



To come, my first phonegap app!

TLChan

Just getting oriented on the mac...

Here's a few very basic tasks.

To unzip using terminal, simply type

unzip file.zip


Still haven't found out how to get terminal working as a keyboard shortcut...


This is kinda lame...to start a program from terminal, gotta write 


open -a Program


but Google Chrome (with a space) has to be put in quotes. :'( so much unnecessary typing. Maybe I'll just get rid of the space.

First Day at the Co-op!

I've been in and out of meetings for the first day. It's the start of a new iteration on a brand new project, and there's just a whole smackload of information being thrown out there, but it's exciting and it's fascinating. First jobs are pretty basic. To be void of specific details (of course), I'll be getting me git setup going, wiki account rolling, I've got Facts and Fallacies of Software Engineering and 6 other books to read sometime, code to read, and glossaries to build! The hope is to do it all at a relaxed but efficient pace. That's the hope at least.