I’ve recently started going through the Project Euler problems. It’s an awesome site that basically has a list of math problems that usually need computing power to solve. There are close to 500 problems on there right now, but my OCD means I gotta do them in order! I started working on them a bit and realized I was forgetting why I did things a certain way. Many of their problems can be brute forced, but also have elegant solutions available. I wanted to keep a record of what I was doing so I decided to make a page for it. I’m still working on the site, but it’s almost done. This post is actually not about Project Euler, but about what I learned making the site, especially when I moved from jQuery to AngularJS.
Continue reading
All posts by rajdas88
Hello 2014!
A new year with new resolutions! But I’ll be honest, new years resolutions never really did it for me. I kinda set mini-goals throughout the year so I usually don’t need to make drastic changes on January 1st. But, to keep in the spirit of things, I’ll tie in what I’ve been doing since December and call them my resolutions.
Continue reading
Security Fundamental Comparison
During the last few weeks at my previous job, I was working on a little project which was originally produced in Excel; so naturally I had to make it… better. I decided it was time to put what I’d been teaching myself to the test and built up this tool using Python (SQLAlchemy, Flask), JavaScript (JQuery, D3), and MySQL.
Using a predetermined universe of companies, the app allows you to compare company fundamental data based on certain accounting figures. Eventually, this is summarized into one number for each of the 5 categories (listed below) as well as an overall figure. A higher number is better, except for those values below with an *. Each category consists of multiple figures:
Continue reading
Coursera Scraper
A programmer will always aim to take out human repetition. Usually, this means a small investment in time leads to a much larger windfall later when the magic happens with the click of a button (or more likely a command sent to the shell). Sometimes, however, the opposite happens.
Continue reading
MapReduce Emulator in R
Even with a cursory introduction to “Big Data”, you will likely see some mention of MapReduce. It provides the framework to Hadoop which in turn has been used (with some modifications) by many applications such as Facebook, Google, Twitter, and Yahoo. MapReduce is a programming model that actually abstracts the complexities of parallel computing and allows users to tap into the power without having to get into the low level architecture. I covered this in my Data Science class and was surprised at how easy it was to pick up. So I copied what they did in Python and created a MapReduce emulator in R.
Continue reading
Digit Recognizer
I had actually worked on this interactive digit recognizer a while ago. I planned to make it more comprehensive, but will do that later. The basic premise is to have a canvas for the user to write a number between 0 to 9. Then run an algorithm to guess which digit was written. This is a very common problem and has been tackled thoroughly before (For examples, see post offices, license plate reading, Google books). In fact, current methods have over 99% accuracy (but significantly lower on noisy data) when dealing with various inputs. I started with the basics and have a few ideas of my own on where I want to use it next.
Continue reading
Couchsurfing (and how to fix it)
I just hopped on the CouchSurfing.org bandwagon (yea, a couple of years late) and it is a truly fascinating experiment. For those unfamiliar with it, the original premise was to allow travelers to stay with locals and get a more personalized experience when exploring the world. That was then. Recently, it has expanded rapidly with 6 million members, secured $15M in Series B funding, and has become the go-to couch-surfing service. A member can use it to host their couch or find places to crash around the world. They also have a (messy) stream that allows users to ask for tips and plan meetups. I signed up for it because I was bored. I want to meet more interesting people and share experiences with them. Plus, if I travel in the future, it’ll be awesome to know locals around the globe.
Continue reading
Charitable Giving Trends: Part 2
So far part 2 of this post (Charitable Giving Trends: Part 1), I’ll focus on the tools I used to create these charts. I’ll assume a working knowledge of HTML and CSS, and ignore those parts to get to the fun part of the code. I taught myself JavaScript over the last week or two, so I wouldn’t be surprised if there is ample room for improvement in the code. But I’ll explain everything as a newbie which hopefully will make it easier to follow (and less technical). I used various web resources, and will try to remember the ones I used to help out below.
Charitable Giving Trends: Part 1
For this project, I decided to look at giving data from around the world. I find most fascinating the psychology and sociology behind charity, but I can only infer on that given that I don’t have the means to test various ideas. Most numbers given by organizations are dispersed among many sites making it hard to collect. But, luckily, Gallup conducts a survey that provides some numbers so we can entertain such a discussion.
Data Analysis Assignment 2
I just turned in Assignment 2 for my Data Analysis Course so I can now share it on here (Unfortunately, I’ve been warned that people have been plagiarizing so I’ve removed my files to prevent cheating… which ironically I did not list as a challenge for a MOOC below, but should be added). In this assignment, we were given sensor data from the Samsung Galaxy SII recorded while users performed specific activities. The goal was to develop a model on some training data to predict what activity the test subjects are performing. As usual, I wish I had more time to spend on it because I always feel like there is more I can add. Using random forests, I got a misclassification error rate of about 5% on the test subjects. Not too shabby, but at some point I would like to compare it to other models such as SVMs or Neural networks. Continue reading