Ten Forward Blog
tech • mobile • web • madison, wisconsin

How to write a good bug report
Published: September 23, 2016
By Staff
Even if you have a technical background, it can be hard to find the words to accurately describe a bug or error. If you're able to provide a thorough account of the issue at the beginning, however, we as developers can in turn provide a much better solution, and much faster. With that in mind, we've compiled the following tips on how to write a solid bug report, including several examples. (Read more)

Slack's Meme-Bot: A review, with examples. (Lots of examples.)
Published: July 25, 2016
By Hilary Stohs-Krause
Memes for all! (Read more)

Atlas Providers launches free digital marketplace for entrepreneurs
Published: July 20, 2016
By Brian Samson
Recently, Ten Forward became one of the first tech companies to be featured on Atlas Providers Network, a new digital marketplace partnering with the Wisconsin Technology Council to connect local entrepreneurs and startups with vetted service providers in the area. (Read more)
Integrating an array column with Simple Form in Rails
Published: July 14, 2016
By Hilary Stohs-Krause
Sometimes the first blog post tutorial you find just ain't enough. (Read more)
New Crew Member: Cerise Pipson
Published: July 5, 2016
By Staff
Our newest intern takes the time to answer crucial questions, like "Star Trek or Star Wars?" (Read more)

How to make Github magical
Published: June 30, 2016
By Hilary Stohs-Krause
Programming already feels a bit like magic; I just upped the ante. (Read more)
Sprinkling Little Bits of Behavior Using JavaScript Modules
Published: June 14, 2016
By Mark Norman
We often encounter scenarios where we need a small piece of (somewhat) simple functionality on a single page. After a successful 15-minute yak-shave-code-off, we've figured out a solid way to tackle this requirement. (Read more)
What we’ve learned about great client relationships
Published: April 18, 2016
Ten Forward has developed a ton of different projects over the years, but we've turned down a fair number, too; here are some of the characteristics of a client or company that attract us to their project and make us eager to work together. (Read more)

Startup Weekend 2016 returns April 22-24 to Madworks Coworking
Published: April 13, 2016
By Staff
Have an idea for a startup? Come to Madison's Startup Weekend and get your idea off the ground! Startup Weekends are events that bring together entrepreneurs, designers, developers, sales people and more to create businesses, all in 54 hours. (Read more)
Automating timecop gem for testing time-dependent Ruby code
Published: April 11, 2016
By Staff
Want to (literally) save some time? Start using config flags with timecop. (Read more)
When testing in Rails, don't use the gem Faker for things that need to be unique
Published: March 30, 2016
By Brian Samson
Fake it 'til you break it. (Read more)
Make a sweet mobile menu with CSS
Published: March 28, 2016
By Staff
Using CSS (or, in our case, Sass) and minimal JavaScript, make an animated open/close button for your website's menu. (Read more)
Why you should get a custom design for your website
Published: March 23, 2016
By Kari Kay
Websites are quickly becoming the primary mouthpiece for brick-and-mortar and online companies alike. Here are some pros and cons to consider when deciding between using a pre-built web template or investing in a custom-built website. (Read more)
Gadgets Mark Hates: Amazon Echo
Published: March 22, 2016
By Mark Norman
His name is Mark Norman, and he's addicted to buying new gadgets so that you don't have to. In this new series, Mark reviews those gadgets, including the boring, the just plain bad and the ugly (in Mark's experience, there is no "good"). This month, he talks about the Amazon Echo and 10,000 bananas. (Read more)
Jellybean-surprise! (Or, how to change "localhost" to whatever you fancy)
Published: March 16, 2016
By Hilary Stohs-Krause
It's quick and easy and doesn't really matter (most of the time), but if you're easily amused, it's well worth the 30 seconds. (Read more)