The Future of Hackathons

reblogged from Jennifer Rubinovitz  

Worth reading the whole post.


This is a post I have been afraid to write for a while, because I could not find a happy ending for it. I went to my first hackathon, PennApps, in Fall 2011. I did not have any friends in the hacker community yet, so I mainly hung out with dev evangelists and eventually ended up asking a Tumblr…

posted on September 10, 2014 at 12:43 PM

40 notes

You Are Awesome.

posted by Dan Mundy  

Love yourself. Breathe in. Breathe out. Love yourself. You are awesome.

There’s a lot to love about you. Sometimes you hate yourself, and that’s fine. Come back to the truth: you are awesome. Despite all your failures, all your anxieties, all your traumas, you’re gonna make it. In fact, all of those things make you stronger, and that’s just another reason to love yourself. You are so strong. Think of all you’ve been through! And you’re still here.

Don’t worry about messing up. You were taught that failure was a sign of deep flaws, that perfection was the only way. You were taught that confidence came from being perfect. You were taught wrong. It’s not your fault. You couldn’t have known better. The truth is that you’re awesome, and mistakes are the most effective way to learn. Don’t worry about failing; embrace it. To worry is to miss an enormous opportunity to experience a wonderful mistake. You can’t control what happens to you, but you can control how you react to it. React with love, react with curiosity, react with radical self-forgiveness. You owe it to yourself. After all, you’re awesome.

Love yourself. Breathe in. Breathe out. Love yourself. You are awesome. Start from there.

posted on August 20, 2014 at 9:44 PM

4 notes

Hangouts Troubles

posted by Dan Mundy  

Fred Wilson wrote a post the other day about how terrible Google Hangouts for Android is.

But the biggest problem is the load time on launch. It often takes a minute or more to launch the Hangouts app on my phone. Maybe there is something wrong with my phone (memory, storage?) but I know I am not the only one with this problem so I think the Hangouts app is a problem for many.

That’s pretty awful, and it used to be like that on iOS. Just days before Fred’s post, though, Google released a major update to Hangouts on iOS. This update fixed a number of issues, including its molasses-like speed and its weird design on iPad—it didn’t even have a split view for showing the list of conversations alongside the active conversation. It makes me pause and marvel at the fact that an ostensibly good company like Google would release such garbage. Had they not even tested it?

But Hangouts for iOS is now really good, and I don’t believe it’s just in contrast to how bad it used to be. It loads instantly (faster than Facebook Messenger), its notifications go to the right place, and its UI got a whole lot prettier. In my opinion, it’s even better-looking than Messages, which is saying a lot. But even though I’m satisfied with the update, I’m left wondering: why would Google update one of its flagship apps on iOS before Android? Perhaps it has something to do with the problems the BBC faces with the development of its iPlayer app.

I can’t speak from experience with developing for Android, but I would think the fragmentation alone would be enough of a setback that even Google would have no choice but to release an update for iOS first. I’ve collaborated on a few small iOS projects recently that probably would have failed if we had to support more than a few devices with unpredictable SDK fragmentation. Developing for iOS means developing for predictable hardware and software, and that makes all the difference.

posted on March 20, 2014 at 10:04 PM

0 notes


posted by Dan Mundy  

I’ve been writing a lot of software tests lately. It’s been great. Finally, on this increasingly complex app I work on, I’ll be able to collaborate with others with true confidence (which, according to Mike Monteiro, is being alright with failing).

In the world of tests, you need a lot of fake data. In the world of programming and computers, you want to do as little as possible by hand, and use automation strategically to your productive advantage. Well, at least I do. Faker is a gem that does exactly that. As the name suggests, it provides fake random data for just about any reason you can think of, from populating a development database to filling in test objects. Why, just the other day, my friend needed a placeholder last name, and I gave him the output of Faker::Name.last_name. I don’t think he actually expected me to have an answer.

My most typical use of Faker, however, is in test factories. I use thoughtbot’s wonderful factory_girl to generate fake objects in a mostly declarative DSL. Each attribute of a factory can be either a raw value (calculated once per invocation of rspec), or the return value of a block of code (calculated each time the factory generates a new object). Since I want fake values generated for each of my factory-generated objects, I just stick a Faker method inside a block, like this:

factory :person do
  first_name   { Faker::Name.first_name }
  last_name    { Faker::Name.last_name }
  phone_number { Faker::PhoneNumber.phone_number }
  workplace    { }

And voila, the computer gets creative. No more hardcoded names or sequenced phone numbers.

posted on March 18, 2014 at 9:23 PM

0 notes

Leo Babauta says to write more

posted by Dan Mundy  

I agree, and I have to get back on this train. I’ve lost it in the past year, and I don’t want to become yet another person who “would write more if only I had the time.” I have as much time as anyone else. It’s time to get this going again. The same is true for playing guitar, drawing, and reading—skills/activities I fear will atrophy soon enough if I don’t keep them up.

Plus, I mean, I designed this blog around looking good with blocks of text. Reblogging images and other people’s posts just doesn’t do it justice. That’s as good a reason as any.

posted on March 5, 2014 at 1:54 PM

0 notes

The "blah blah blah on steroids"

reblogged from Bijan Sabet  

TL;DR: Don’t make your product “___ on steroids,” because steroids are bad for you. Simplify, less is more, but be unique.


We often hear about new products that promise to beat the current market leader by being the “blah blah blah on steroids”

I’m not a big fan of this strategy

That doesn’t mean that the market leader isn’t vulnerable but it’s a question of the approach.

Apple didn’t put a hurt on Microsoft…

posted on February 11, 2014 at 10:26 AM

106 notes

Dear Professor,

reblogged from SW1TCH  




Attached is my business week paper summary.

As I mentioned in my note turned in when this paper was intended to be submitted, I have been very busy starting a company from the website I showed you in class. I am taking trips up to New York more than twice a week; sleeping…

posted on December 10, 2013 at 6:51 PM

47 notes

posted by Dan Mundy  

Such a thoroughly beautiful album.

(Source: Spotify)

posted on November 21, 2013 at 11:54 AM

0 notes

Jumbyl, a command line tumblr poster.

posted by Dan Mundy  

Jumbyl is awesome. Now I can post to Tumblr without having to copy and paste articles into its janky, unreliable markdown-parsing textbox. If you like the command line, I highly suggest getting this thing.

posted on November 16, 2013 at 9:56 AM

1 note

How to connect your Raspberry Pi to two Wi-Fi networks at the same time

posted by Dan Mundy  

For a pretty cool project I’m working on, I need to connect to an array of GoPro cameras. A GoPro, if you don’t know, is a powerful but tiny camera that can record in very high resolutions as well as withstand extreme conditions, which makes it super useful for sports recording.

Unfortunately, it’s a pain in the ass to use at every turn. Its only Wi-Fi access is ad-hoc, which means you need to connect to it directly instead of connecting it to a Wi-Fi network of your own. That means the computer you’re using can’t have Internet access while connected to the GoPro. Which, conveniently, means you can’t look anything up while you’re trying to reverse-engineer the GoPro’s API. It also means that you can only connect to one GoPro at a time, which is problematic for this project.

Fortunately, we got some Raspberry Pis to play with where I work. I used one to bridge a connection between the GoPro’s limited ad-hoc Wi-Fi network and an ordinary Wi-Fi network, which not only gave me access to the GoPro and the Internet at the same time, but also allowed us to start writing a proper API for the GoPro that lives on the Raspberry Pi. Here’s how we did it.

First, you need to go to RadioShack and get some stuff:

Then, follow these instructions, to make sure you don’t accidentally hard-reboot your Raspberry Pi every time you plug something into its USB ports. For this, you need the capacitor and soldering iron. When you’re done, plug the two Wi-Fi adapters into the USB hub, and plug the USB hub into the wall and the Raspberry Pi. Trust me, you need the USB hub so the Wi-Fi adapters can run at full speed.

Next, edit /etc/network/interfaces on your Raspberry Pi, and replace its contents with, roughly, this:

auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto wlan0
iface wlan0 inet dhcp
wpa-ssid YourNetworkSSID
wpa-psk YourNetworkPassphrase

auto wlan1
iface wlan1 inet dhcp
wpa-ssid GOPRO-BP-D89685340Ed5 # or whatever your GoPro's SSID is
wpa-psk goprohero

This will allow wlan0 and wlan1 (the two USB Wi-Fi adapters) to each connect to a specified Wi-Fi network using DHCP. To make sure WPA authentication works, similarly edit /etc/wpa_supplicant/wpa_supplicant.conf:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev



Then either reset the Raspberry Pi’s Wi-Fi interfaces or reboot it, and you should be connected to two networks. Happy hacking.

posted on November 4, 2013 at 3:56 PM

4 notes

  Next Page ›