Showing posts with label Volunteering. Show all posts
Showing posts with label Volunteering. Show all posts

Sunday, September 21, 2014

And Now Back to Our Regularly Scheduled Programming...



So about that long post that I was going to publish...yeah, that's not going to happen. :)

I had a little adventure going that didn't quite work out, but now I'm back to focusing on Ruby, Ruby on Rails, and the STE(A)M Truck app, which I plan to deploy for the initial test run at the end of the month. To that end, I have restarted my reading of  Pragmatic Agile Web Development with Rails 4, from the beginning and I'm on Chapter 4. I have also restarted reading Beginning Ruby From Novice to Professional, from Chapter 6. Because I've been learning so many different languages, I just want to make sure I have everything straight, before I start the actual coding on the STE(A)M Truck app, so I'm doing little small apps, exercises, and programs to test out my ideas. I'm pretty sure that I have it under control, the only thing that's really giving me a little trouble is allowing the users to add images to the projects and how to display them, but that's something that I'm going to work on after I get everything else in order. It would be cool if I had someone around my level to work with; It would be better if I knew someone who was already good at Ruby and Ruby on Rails that could answer my approximately 13 billion questions. Sometime I go on IRC to ask questions, but it's a little bit frustrating trying to get answers on there. Always helpful...but still, a little bit frustrating. Sometimes I think that people may not like that I only come on when I have a question, so that's a thing, too.

I started catching up in my Algorithms class, this weekend. I had only watched the intro lecture before yesterday, but I'm over half way through week one. I think that I'm learning a lot and some problem solving things are starting to clear up, but there are some math concepts that I really need to brush up on. I've also realized that I don't know enough Java to actually do the programming assignments for this class, but I'm going to still work through the class for the exposure to the material on algorithms and Java. It's not that I don't understand what's going on, I would just have to stop the video and figure it out, and I would rather start learning Java by reading books and doing tutorials, and take what I can from the class. I learned about Koans about a week ago, so I'm going to try those, as well. At this point I can take my time learning Java and just do the class for fun. I'm actually learning a lot about algorithms. I signed up for another Algorithms class at Stanford that starts in October, though. So I should definitely be ready for that. I just looked at my Coursera schedule, I have two more classes that start in 8 days. It's probably best that I'm not going to try to do the programming assignments and learn Java, too. I have a few Java books that I'm going to read. I'll probably start reading the first one on tomorrow; I want to spend today getting set up to get the app that I'm working on done in time.


OT: I don't know how I feel about the iPhone 6. I think that I have a free upgrade, but I'm just not excited about getting a new phone. For one thing, I don't know if I want the 6 or the 6 plus and I know, for sure, that I don't want anything that takes my fingerprints [pic related]. I don't really understand how people can still be so trusting of this kind of thing in the wake of the Edward Snowden leaks. Regardless of how you feel about what he did, we now know the types of things that our governments are doing with technology and surveillance and how companies are cooperating, forced or otherwise, with these efforts. While it may be unavoidable, I'm still not super comfortable with supplying bio-metric information to a large corporation that supplies governments and other companies with my personal information, know what I'm sayin'.

Another issue, is that Apple has been disappointing me since Steve Jobs left. It seems like I've been having all sorts of problems with my upgrades and iTunes. Last night, I upgraded to iOS 8. In order to do that, I had to erase all of my music...since the update required over 4 gigs of memory. I was okay with that. The problem was when I went to load my music back onto my phone, iTunes, on my computer, just assumed that I no longer wanted to enjoy that 4 gigs of music and deleted the whole playlist. So I would just like to thank the good people at Apple for allowing me to spend my Sunday morning rebuilding my playlist for the gym today: 'preciate that.

I don't know anything about Android phones, but I do know the frustration of trying do things on my friend's phones. I think that I'm probably not going to worry about trying to change phones, right now. I'm relatively happy with what I have since I got my music back on this one, for now.

In other news, this was pretty funny...so now I'm also reading The Soul of Man Under Socialism, by Oscar Wilde. I like this guy.


Wednesday, June 25, 2014

Programming for Everyone #PR4E


Last weekend, I did Goodie Hack ATL and found another project to work on: STE(A)M Truck. I like this project. My team is coming up with a technology solution to interact with the students, maximize the time at each school, and organize mentors; this is something that I plan to work on over the next few months, at least. We're going to start with a Ruby on Rails web app and an Android mobile app; it should be a pretty neat project to work on.

I really got back into Ruby on Rails, in earnest, this week. I restarted the Michael Hartl's Rails Tutorial, and I'm currently on Chapter 4. I'm finding that I'm able to complete a lot of the sample_app without using the code in the book for anything more than comparison. It's amazing how much more I understand what's going on in this tutorial the second time. I think that my biggest take away from learning to program, so far, is that no matter how enigmatic and mystifying something may seem when you first start, as long as you stick with it and do the work, it will eventually become clear to you. I was confident that I would be able to pick this up, but that doesn't mean that I'm not impressed by the difference in where I was when I started, and where I am now.

Dr. Chuck with one of his sweet tattoos

I also finished my first MOOC this week on Cousera: Programming for Everyone(Python) with Dr. Charles Severance. If you are interested in learning Python, or if you are interested in learning to program and you don't have a language in mind, then I highly recommend this course. The course was better than any of the other Coursera Python courses that I have taken because:


  • It was real world programming: there were no virtual environments. You set up Python on your computer and used it like you would in the real world. I have taken other Python courses that were based in controlled environments and didn't like it. In fact, I was taking one when this course started and I un-enrolled and concentrated on this course.
  • The assignments were appropriate: the assignments for this course were challenging and helpful without being so hard that they required an inordinate amount of time to finish. I only completed two exercises easily; one of them was the homework for week one.

  • Dr. Chuck is awesome: I enjoyed the lectures. He wasn't going over the top attempting to entertain the class, but he kept the videos pretty light and very informative. I also feel like he used the appropriate amount of time covering each topic, I'm not a fan of courses that go too slow and I have dropped courses for that reason. He also wasn't moving through so fast that the average person couldn't keep up [imo]. Another thing that I liked is that Dr. Chuck travels a lot and has office hours with the students in the cities that he visits. Although he didn't visit my city, I enjoyed the suspense of whether he would. If he had come to Atlanta, I definitely would have been there. [He travelled all over the would during this session]
Anyway, I finished the course, did all of the homework, and got 100 on my final. So I'm pretty stoked about the whole experience. The only draw back of the course is that there isn't a part two. If you are interested in taking this class, the next one starts on October 6th. 


Sunday, June 1, 2014

National Day of Civic Hacking [post-event report]



This weekend I participated in the National Day of Civic Hacking at the the Atlanta Community Food Bank. The event started on Friday at 6PM and was catered by Chik-Fil-A. The first night they also had veggie wraps, but for breakfast and lunch, on Saturday, I had to work around the chicken based diet. It turned out to be a little bit too much for one of my vegetarian friends: those delicious chicken nuggets. R.I.P. vegetarian diet. This is the second week in a row that I've had my vegetarianism tested.

I had tossed a few ideas around in my head, but most of them involved being in D.C., so by the time that I got there, I was just really looking for a project to join that would allow me to work on my ruby and/or python skills. When we got there, the food bank already had about nine specific issues that they wanted to have addressed and 3 other people pitched ideas of their own. I ultimately joined a group that was addressing the need of the smaller agencies of the food bank to have a presence online. Best. Decision. Ever.


When I joined my team the first person that I met was Josh, a designer. Josh worked with the Mathew to get the overall design together and he was attending the event with his business partner, Morgan. When I met Josh the first thing I said was "this needs to be a ruby project." Luckily, that was what they worked with, so I was on board with the project at that point. [I had considered working on another project first, but I didn't for reasons that I won't go into.] Morgan was the backend developer for th business that he and Josh were partners in: Polar Notion. Morgan had wayyyyy more experience than I did and I had got an amazing opportunity to learn from him and gawk at how fast he could get stuff done. The other members of my team were Greg, Cashif, Vivianne, Mathew, Ben, and Jeff. Jeff was apparent excellent with mapping technologies, but unfortunately he didn't show up for the second day, so we didn't have a chance to leverage those particular skills.


Once we had the basic idea down, we split up into three groups: designers,
 a think tank, and developers. Morgan, Greg, and I were the development 
end of the operation, with Morgan acting as the team lead.


Morgan easily did over 90% of the coding, and that's probably understating it. seriously. He was getting things done really fast, helping me with my code, and contributing to the overall project at the same time. Morgan, also knew a lot about gems and API's and had lots of great advice. He's one of the coolest people I've ever met and just meeting him alone was an awesome part of my experience. However, my entire group was awesome, as well as the people attending overall.

What we decided to build was something that I called "foogler", even though that name is under dispute, because several people in the group wanted to call it "foogle." The biggest mistake people make in marketing is putting marketing decisions to a vote among non-creatives, imo. I'm pretty sure I was the only one on our team with a background in marketing, but that's the thing about marketing: everyone thinks that they can do it. :)

Anyway, what we made was basically a search engine to be attached to the food bank's website, that allowed smaller agencies to make a "profile"that was searchable by clients using zip codes. Other than my disagreement with the name, I feel like my team worked together extremely well. Everyone did their parts and pretty much everyone involved with the event was impressed with our team performance.


When the judging started, I was pretty confident that we were going to win, but then a team that did a SMS based application that allows people looking for food banks to connect with food bank agents through text messaging. This was really good idea, and I think that something like that would be ideal for places like Africa, where people use SMS for many commercial activities, already. I had seen this TED talk, so I immediately understood the impact that something like this could have. My only concern about that project was whether or not it had already been done in Africa by someone else. 

When the judges had finally made a decision the results were as follows:
  • Fourth Place: Originally, there were only supposed to be three winning groups, but one team took on the inglorious task of patching up a few bugs in the SQL database system and they were properly rewarded with the "Honorable Mention" award. [I'm so glad that these guys didn't get overlooked. Their work went into effect right then and will have an immediate impact.]

  • Third Place: Went to a group that did an Internet of Things project that was pitched by Concrete Jungle that involved placing sensors on fruit trees to determine when the fruit was ready to be picked based on bending of the branches. This would have been a fun project to work on had they had python developers and implemented Raspberry Pi. The reason that I didn't consider this one is because of their lack of coders and my lack of experience. This was definitely an interesting project, but it may have been a little bit much to take on for a project that had less than a 24 hour turnaround.

  • Second Place: Rightfully went to the SMS group.

  • First Place:  Team Foogler!!!!

front row(from left to right): me, Vivianne, Morgan
back row: Greg, Cashif, Josh, Ben
not pictured: Mathew and Jeff


The whole team got these sweet $50 gift cards:


After everything was said and done, we had an extra card. We're going to use that when we get together on Wednesday for drinks! I can't say enough about my experience and I'm going to stop now, but if you have a chance, you should definitely participate in the National Day of Civic Hacking next year and get involved with Code for America...I had a great time. Learning, using what I've learned to give back, and meeting new people was awesome; winning gift cards was just icing on the cake.