Joined May 2011

Mike Hall

Senior Software Developer
Senior Software Developer
Crystal Lake, IL

Posted to Using Group By LINQ C# over 1 year ago

LINQ was my favorite feature when I was working on the .NET platform. Glad to see that the demise of Linq2Sql was overstated. :)

Posted to Web Design in Communist China over 1 year ago

Super neat insight. Thanks!

Posted to Web Design in Communist China over 1 year ago

Fascinating perspective. What technologies are popular in China? Are there any specific tools that are unique to the region or to Chinese language or culture?

Posted to Capistrano settings for Vagrant over 1 year ago

Does it matter whether I'm using private or public networking on the Vagrant instance?

What do the mount_options do? How does setting the dmode and fmode affect the mounting of the directory?

Great tips. Another idea that just occurred to me. I'm pretty sure that the shared folders don't need to be on the same path as the VM. I think it might be possible to have a single directory that is shared between multiple Vagrant instances that holds your personalized configuration settings. Then when you're on the Vagrant instance you can use the stow tool to expand and automatically symlink the rc files. I've done a similar set up before but using a public Git repo that I exploded in the Vagrant and then linked using stow. Ultimately I've ended up working outside of Vagrant because I got tired of shuffling around the configurations and keeping them in sync. So I run the app on the host machine but only run the dependencies inside Vagrant. Your article got me thinking about maybe giving running fully inside Vagrant (or Docker) another shot.

Install html2text on Ubuntu using sudo apt-get -y install html2text.

Posted to Shutdown all running Vagrant boxes over 1 year ago

That might be a good protip on it's own! :D

Posted to Shutdown all running Vagrant boxes over 1 year ago

That's pretty sweet. Although I've not ever used the $F array. Is that a file arguments array of some kind?

Posted to LaTex with Vim over 1 year ago

Nice explanation.

Posted to Vim oriented keyboard setup for Mac over 1 year ago


Hi Ivan! :)

Posted to Please, oh please, use git fetch over 1 year ago

I use git fetch as part of my workflow to keep track of several remote contributors work across several branches.

This is more an opinion piece that talks down to people who might not be aware of or sufficiently familiar with Git and DVC to understand why they should be using the command. Using an example and clarifying why and what they should be doing would more useful as a Protip. :)

Posted to JavaScript test framework comparison over 1 year ago

Might want to add Testium :)

Posted to New Homestead site over 1 year ago

What is Homestead?

Posted to just for myself over 1 year ago

Hi Daniel, Protips are really intended to be shared. It would be nice if you could give this Protip a more descriptive title and include an explanation of what this command does. :)

This really doesn't feel like a Protip and seems like it would be more of a team description.

I wouldn't limit this to Database configuration though.

@dvito I think the advantage of this vs just modifying database.yml is single source of truth though.

I was just chatting on Twitter about this exact topic. What timing. The advantages of this are stubbing and working with a clear API. Having ENV variables spread throughout the codebase can be hard to reason with. I'd like it if it were possible to add validation rules though ala a Yaml-backed ActiveModel record to mitigate malicious or simply invalid ENV variables.

What a nice article. :) I was just basing the dimensions off the visible rectangle, really cool that you dug in deeper and found out how much you can actually do with the banner.

Looks like the plugin isn't needed on Cedar repos. I just ran the command to GC without installing the plugin. :)

Nice direction. I've introduced username's for accounts on a side-project but haven't switched over to allowing login using them because it was a hassle I didn't want to deal with yet. Your approach seems cleaner and I'll probably refer back here when I'm ready to implement username login. Thanks. :)

Posted to Stop It With the Vars over 1 year ago

There's too much distance between the declaration of the variable and the actual use of the variable. It isn't painful in a very simple example but will end up being a mess of header declarations that have no clear association with their actual use. This will make maintaining of the code more difficult because the variable's intent will eventually drift and become obscured over time. It will also make refactoring much more difficult because code is splattered across the file making extraction an undesirable challenge.

Thanks for this great breakdown of the issue!

If there's a specific team issue that you need to be re-added to then please email me at mike[at] and I'll help get you squared away.

324 Karma
25,275 Total ProTip Views