Showing posts with label hackathon. Show all posts
Showing posts with label hackathon. Show all posts

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 8, 2014

Having to type "NS" and "@" is Front of Everything is Not Ok.


This weekend I attended a hackathon at the AT&T Foundry in Atlanta. As always, I learned some new things, got different perspectives on coding, and met some cool people. That was the good stuff, the not-so-good stuff was the way that the event was structured. This was only my third hackathon, but I have gotten used to all of the ideas being pitched and then being able to join that team and work on the idea that I liked the most. This was not that. When we got there, it was basically: find a team and make something, which meant finding someone to work with, agreeing on a problem to be solved, and then agreeing on the solution. I think that putting so much of the burden on the participants made for a much less productive event than it could've been.  Most of the people at the event spent the entire first night trying to find a team and come up with an idea. Personally, my team didn't even have a viable idea until 4 hours before the judging and we ended up not even presenting. 

One of the things that really struck me about this event, was people coming to the event in teams and being really secretive about what they were working on. This wasn't a widespread issue or anytihng, just something that stuck out. In an environment where everything is going to be open-sourced in the end, I think that this attitude in non-productive. I think that people do this for two reasons: a.) they want to split the prize "money" with as few people as possible, and b.) they overestimate their idea and underestimate what new perspectives and talents bring to the project. When people come to hackathons with this mentality, their time is wasted if they don't win a prize, and if they do win a prize they exposed their idea to others on the cheap. They don't learn anything new that they couldn't have gotten form just going to a coffee shop or other work-space and building the project, they open their ideas up to appropriation, and most importantly, they don't meet new people. Sucks to be them.

Anyway, I think that my most positive take away from this weekend was my need to either learn Java or Objective-C so that I can work on mobile apps. While I love Ruby and Python, I also think that being able to convert my applications to mobile apps is going to be important in the future. To that end, I have started learning Objective-C and I'm completely missing the point. I haven't gotten too far into it, yet, but from what I've seen, I can't understand Apple's decision to devote resources to build their own languages for their applications. Ruby and Python seem like way better solutions at this point and I just really don't see the appeal of Objective-C.

 Although, I am enjoying taking some time to look at a new language. I can't really see myself spending a whole lot of time on it, right now, but I'll be really ready to get something out of my study when I decide to. I'm going to start building stuff in Ruby and Python in the immediate future, but soon..

Also, I did manage to get some cool T-shirts from Crittercism this weekend, though. 


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. 

Tuesday, May 27, 2014

I Need A Programming Job



I feel like I'm finally at the point where I can get a job coding in ruby and ruby on rails, learn pretty fast, and be an effective member of a team. I'm on Chapter 11 of my book, Beginning Ruby: From Novice to Professional, and I took my python midterm yesterday. I'm at the point where the basics are just boring and it's really time to start building stuff. The only problem is that I don't like to leave things unfinished, so I need to finish this book, stat. However, I still don't know everything; I just have gotten the hang of how everything works, so nothing is surprising anymore.

One of the things that I was really excited about was using ruby, and python, with other information like files and the internet. I'm not saying that I'm the master of doing this, yet, but I do understand it. I took my python midterm last night and got a 95. The thing is, I didn't study and I didn't even go there to take the test...I just wanted to look at it. It's not due until Monday, but when I was looking at it, it was easy for me, so I finished it.

The thing that I'm really looking forward to, though, is the National Day of Civic Hacking, this weekend. I can't wait and I'm trying to learn as much as possible before Friday, so I can join a really good group and have a lot to contribute. I had a lot of fun at the last hackathon.

In other news, one of the guys I met at a meet up a few weeks ago is doing the Michael Hartl tutorial and ran into a jam. I have a love/hate relationship with jams. :) I'm going to get to that. I love coding. Peace.


Thursday, May 15, 2014

Learning to Ruby



I've had a pretty busy two weeks. Last week was Atlanta Big Data week, and event that was put on by Emcien. On Tuesday, I went to an event called How to Become a Developer, which featured a panel of developers who talked about how they got started. There was a lot of good information from the panel. It was a little annoying that so much of the Q & A time was taken up by people who just wanted to prove what they knew, but overall, it was a great experience.


The next event that I went to for Atlanta Big Data Week, was the two-day Hackathon that they held at hypepotamus. This was a really great learning experience for me, because I ended up being the team lead, which was odd because I have only been programming for a little over 1/4 of a year now. I was in way over my head on the project, but we had fun working on it, I met a lot of cool people, and was exposed to lots of new stuff. I'm going to stay in touch with those guys.

Hacklanta 2014

As a result of the How to Become a Developer event, Al Snow and Gerry Pass put together a meet-up called Career Planning for Ruby Newbies, where we got a lot of good information about learning Ruby on Rails and landing our first job. Afterwards, we all went to the monthly Atlanta Ruby Users Group meet-up, where John Saddington had a talk about blogging/social media, and how it can affect your career as a programmer and entrepreneur. Ruby on Rails rockstar, Obie Fernandez was also there and let us look at some of his code that involved using a gem called Wisper to do some publishing [it think?]. To be perfectly honest with you, though, I didn't really understand what his code did, but It was cool looking at it and just seeing how much it looks like mine. I was a good day all around.

Now, the plan is to get all of my ducks in a row: I will be blogging a lot more and getting my programming and development skills where they need to be. I'm going to re-do the Michael Hartl tutorial and instead of doing the application again, I'm going to turn the project that I've already done into something more personal. There is also a free 6-week web development boot camp that starts next week. I plan to meet up every Monday with some of the new people that I've met through this learning process to work through it. 

Another thing that I'm doing to work on my programming is Project Euler. I've completed the first two problems and I plan to do the next pretty soon. Over the past few weeks I've gotten lots of good information on programming and web development. If you're trying to learn, the meet-ups are a strong step in the right direction.

Code for America

The next event that I'll be attending is the National Day of Civil Hacking . I'm really looking forward to this. Probably the only short coming of the hackathon that I went to last weekend, for me, was that I was the best developer in my group. I hope to learn from some real coders at this one...but I sure I'll meet more awesome people as well.