Sunday, October 23, 2016

ACM-W Expert Hackathon and Base 10 Uppsala Hackathon

Had a super awesome weekend. Did two back to back hackathons Friday and Saturday. Friday was at Pollacks and it was the first hackathon put on by the ACM-W chapter. Super nice. The concept was to get some industry experts to lead groups in a hackathon and it went super well. I totally had the best group and the best expert. We worked on a charades board game rip off in react and I was so stoked to finally do a project in react and our expert knew how it worked so good and we managed to do so much in just a couple of hours. If you have to learn a new language or tech, I think it's about a million times better to learn it from someone who knows it as opposed to trying to teach it to yourself with reading and example code. But yeah, it was super chill, and ton of free food and it was really relaxed.

Saturday was more of a competition, startup, competitive kinda atmosphere. (I was quoting so much silicon valley in my head... like all the time.) Not super my jam, but I really liked the project. Me and my roommate met a guy who had the idea to kinda make chatbots for internet-of-things devices in the home. I thought it was really cool. So we worked with a heroku server, and tried playing with IBM watson stuff, and I started setting up a front end client in react (which was pretty much a react open source project I pulled) but super stoked. We got the heroku server and the watson thing hooked up, but didn't manage the front end connection before the presentation. But hopefully I'll get it working in the next week or so. Should be fun and yeah had a super awesome day.

Saturday, September 24, 2016

CD Machin

Working for several hours today on the CD Machin website. Really hard time trying to fix a flickering problem in the navbar but after ripping it all apart and putting it back together i think i can put it to bed for the day: http://cdmachin.tk/cdmachin/

Sunday, July 31, 2016

React whaaaaa!!!

So getting back into mobile development I heard about a new way to "do" apps so that they run on iOS and Android and it's called React.js. My friend told me about it and then I saw this Code Academy module and thought this might be interesting.

I don't really have a lot of experience at JavaScript but the first half of the module seems straight forward enough, and it seems interesting how react.js keeps track of virtual DOM elements, and then only re-renders DOM elements when they change; as opposed to re-rendering everything all-da-time. This is supposed to make it super performance efficient and I'm excited to see how it works out in practice.



Athletic Web App

So after several months of sitting on top of a database that I have been saying that I should build a web application for--I finally did!

My uncle who is really into track and field, is paying for an expensive web app service that manages 3 pages and a 17MB database. So I've been saying that I should develop a simple web app and host it on digital ocean for 5 bucks a month.

So over the last couple weeks I've spun up my first droplet, installed all of the necessary software (with the help of my good friend and classmate Dekker), and developed a really simple, but astoundingly bootstrap beautiful, web application: Ă…land Athletics.

It was my first time working with AJAX calls to make a dynamic dropdown, it's built on a LEMP stack, and I used git on bitbucket to keep track of version control.

There are some things that are still a little buggy, and one thing that I would like to do is to move it over to a model, view controller framework, because right now it's just accessing the DB from php files that then echoing <html> tags. #thatGhettoDevThough And the DB isn't even in first normal form so that needs a total renovation, but I'm definitely proud of what I've made and it's super nice to get back into web development and actually make something myself.

Saturday, July 30, 2016

Interface Aha Moment

So yesterday programming from this Android training document: I totally realized what interfaces were actually used for. Albeit, I am a little embarrassed to say that I hadn't learned this properly earlier. Nevertheless, I am very happy to wrap my head around what an interface is and how it is used.

My understanding is that when you have two classes, one can create an object for the class and then call it's public methods to communicate with that object. Now if that object wants to communicate with the first class object there is a problem doing it the same way. Because if the second class creates a new object and calls public functions of that class, then there are actually two instances of the first class.

The way to navigate this properly is to make an interface in the second class, which is pretty much a method declaration, get a reference (a cast) of the first object, and then in the first class write the method implementation. This way the second class can pass an argument through that interface method to the first class.



Back to basics

Coming back from a little bit of a break from this blog, I feel really good to get back into keeping up with/ and track of some of my new computer science projects.

This past year, I've finished my first year of my masters program in computer science at Uppsala University in Sweden. It's been a great year and I've taken some amazing courses from some top notch professors and PhD students. The classes I've enjoyed the most this year are: Computer Assisted Image Analysis I, Secure Computer Systems (an awesome hacking course), Advanced Computer Architecture and Computer Graphics. Another valuable lesson I've learned this year has been what subjects in computer science I don't especially care for. I had a very difficult time in my functional programming course where we learned SML and I also had a rough time in Data Mining I and Data Mining II.

This past year I haven't done a lot of personal projects because I've been in the leadership for my student orchestra, but this Summer and for this upcoming year I'm going to focus more and building up my CS toolbox. I'm looking forward to getting some practical experience making things on my own and without an instruction guide or course assignment.

Tuesday, October 7, 2014

Android.. I still got it

So after a few months away from Android I'm back working on a project at Uppsala University. Of course one of the hardest parts of a project is getting the code to run on your machine. Case in point, I spend 35 minutes on adding libraries, fixing dependencies and reconfiguring android.

In detail, the main project relies on three external libraries, two of which compiled and generated their jar files in the right place, but Google play services wanted to play tough and not see any of the Android libraries. It took me a while, but you don't actually fix this problem in the build path menu, you have to go to the Android tab in the properties window.

So after a slow start I can actually start running the code and making changes. I hate to say it, but I really didn't miss Eclipse during our "break."

Wednesday, July 9, 2014

Haha Glasnost

So finishing up some lest over work from last Spring, I've been writing one of my first shell scripts to do some data analysis for me. It's been really fun and I've learned a lot. Defiantly better than counting results manually. lolz

Anyway, so I was having the problem that I had 6 tests show up positive for traffic shaping, and when I was going into more detailed analysis I realized that I was actually dealing with 7 records. So I was quite frustrated. How could I be counting 6 results and then somehow have 7?

After a little "#!/bin/bash -x" and 20 minutes later (picture enclosed) I realized that one result file could yield up to three different types of positives. Ahhh.... Sweet, sweet Eureka!