Category Archives: Blog

Thinking Aloud: Web Frameworks

Posted on by rballou

So thinking back on my own experiences with web frameworks and also checking out some new ones, I’ve come across some thoughts that I wanted to put down in a post.

Size

There’s a tendency to make two very different style frameworks these days:

  • Large
  • Small

The small frameworks include the micro frameworks which exist on a level just above responding to requests “by hand” to more complete frameworks that seem to offer a few nuts and bolts for you, but not everything you might need if you need to create something user based. Small frameworks might include just request routing and processing, or it might include templates, sessions, and maybe some testing.

The large frameworks aim at giving people the ability to write any application, even some complex ones. Often large frameworks are dubed full stack. These of course handle sessions, users, database interactions, routing, templating and likely include other pieces that will help you create an application.

Furthermore, there are two interesting things I have also started to notice. There is a tendency to rely more and more on JavaScript frameworks which craft their sites with words like “web applications”. Are these truly web applications? Typically these seem to be just a front-end tool for doing asynchronous requests and doing things with the responses. Which, to me, seems more like part of an application. But perhaps I am wrong to think that.

The flip side to some of these front-end style systems is a (seeming) lack of data-facing application framework. I guess the closest thing I can think of are object relational mapping layers. But these tend to just be about representing data in a programming layer, not really exposing all aspects of a CRUD. It seems there is a gap between this and a front-end app. Front-end apps usually need something to talk to if data is involved and I don’t always see this readily available on their own. Where is there a framework that interacts with an ORM (or something), but provides a basic RESTful API, on it’s own with only a little bit of tinkering? Some of this is likely because data often relies on some sort of logic before it hits the front end. And by this point, we’re almost all the way back to our full stack frameworks.

Complexity

Part of tonight’s exploration was based on the desire to take a piece (or two) from a more complex app idea I play with from time to time and distill that into a system app. So to lay out what the app entails on the technical side:

  • Data in a database
  • Sessions
  • Users
  • Basic functionality like login, logout, profile management, etc.
  • Custom functionality mostly centering around some forms for inputing data
  • Data output

The micro frameworks are often too simple to take this on. Perhaps they’re not too simple, just not well suited because you would go from simple, small, lightweight to I’ve written a bunch of code to do stuff other frameworks might offer me. Large frameworks offer all the pieces for what I want, but can often be a bit unwieldy when it comes to configuring some of the basic things. This is because they don’t want to assume what you are building. You could be building a session-less, user-less, pretty much static web app for all they know. Or you might have your own authentication layer you want to include. But with some configuration here or there, maybe some scaffolding and you will be pretty darn close to what I’m after.

Medium

This leads me to one of two conclusions:

  1. Pick your large framework and just do it. It’s more forward thinking, you get what you need and often can find examples or contributed code.
  2. Pick one of the more robust small frameworks and deal with the extra overhead. Most of it is likely not too complex.

But that said, I’m not sure if it’s via scaffolding, via configuration, or if this reaches too far into the land of providing too much magic, but I would love a framework that let me say something like:

  • A have a database with some data in it
  • I want sessions and users
  • Users should be able to sign up at: /register
  • Users should be able to login at: /login
  • Users should be able to logout at: /logout
  • They can view their profile at: /profile
  • And I simply want to add/edit/delete data from the database

This ideally would be mostly “configuration” (for lack of a better term) and would be pretty simple. Maybe this means it then scaffolds out code (not my favorite thing) or maybe it can import the pieces I need and live with the configuration influencing that. Maybe this exists. Perhaps it’s even something I am familiar with and am just glazing over. This is my rambling thought exercise for the evening. What do you think?

Posted in Blog | Tagged frameworks, programming, tech, web, webdev |

Recipe: quick veggie couscous

Posted on by rballou

spacer Quick Veggie Couscous

A quick, simple veggie recipe:

1.5 cups veggie broth
1 cup couscous
1 can black beans, drained
2 bell peppers
mixed greens
salt
other spices

Bring the veggie broth to a boil, then add the couscous, remove from the heat and cover.

Meanwhile, cook the black beans and bell peppers in a skillet on medium heat (I used a little EVO here). Season with salt, but I also used used chili pepper and some cayenne for some kick. Add some mixed greens and stir, cooking until things are heated up and the greens are wilted. Once the couscous has absorbed the liquid, mix that with the veggies briefly and serve it up.

Posted in Blog | Tagged recipe |

Winter Colorado Trail Hike

Posted on by rballou

spacer One of the perks, and challenges, of having moved to Colorado is exploring what to do in the great outdoors during the winter months. Growing up in the midwest didn’t amount to much time in the snow and most of that was building snowmen, forts, and sledding. Living in an area with a “real” winter means I can explore so many new things!

So I have started to take up snowboarding recently and having a fun time of it. Fun, albeit slightly painful with the learning curve … but I definitely feel like it’s coming around. The last time I went up the mountains I had the pleasure of crashing a few times which left me slightly sore and trepidatious at the thought of doing too much that risked falling. Or pushing myself up off the snow. Or anything that involved a very sore rib.

spacer But the new year came around and I wanted to get out for a bit of an adventure. I decided to head up to Kenosha Pass and get in a snow hike on the Colorado Trail (the hike on Strava). And I was pleased to see I wasn’t the only one up, taking in the sights. In fact the first couple miles of the hike we well packed … so much so I almost wish I had brought a bike! And I found that a nice bit of energetic hiking kept me pretty warm as well, so everything was great. In the last mile or so of the out-and-back hike the snow started to become powdery and deep but made for some fun. It was beautiful watching the clouds in the distant peaks.

One fun aspect of new adventures is figuring out what I need to take along and how to deal with new conditions. This trip I wore:

  • Snow pants
  • Hiking boots with gaiters
  • Compression socks, toe warmers, and warm hiking socks
  • A long sleeve base layer
  • Windproof vest
  • Windproof softshell
  • Hardshell jacket
  • Basic stocking cap
  • Liner weight gloves

I probably could have been fine with the vest and hardshell or the softshell and hardshell. Having the hood on the hardshell proved to be a good thing when the wind picked up or when I felt a bit cold. But most of the hike the layers were a bit much but taking off the gloves or other things allowed for easy adjustments. I had also shoved my goggles in my bag, but never really needed them as the day was fairly calm. Despite “knowing better” I also took a long a hydration bladder instead of water bottles. I shoved this close to my body and it was fine for the beginning of the hike but was unusable later in the hike … so next time water bottles it is!

Here’s to a great 2013!

Posted in Blog | Tagged colorado, snow, winter | 1 Comment |

Best Adventures of 2012

Posted on by rballou

spacer The year is pulling to a close and in an effort to pass along some of the adventures I had this year, I present this blog post. There is so much to recap, I will probably keep thinking of new things!

Dirty Kanzaa 200

This was a fantastic event and one that I am still amazed by. So many great stories from that one that it took me so long to recount all that transpired. In many ways, moving here to Colorado has changed my mind on doing this in 2013, but only because there are so many new adventures to conquer. I will always love and promote DK and hope to see that beautiful country again in the future. And with that said, registration is set to open at January 12th!

New state, new trails

One of the biggest adventures for many years past has been moving to Colorado. And moving means exploring new trails.

Many times I headed out as a shot in the dark. I would find out there was a trail somewhere, go out and ride it. Sometimes this meant learning some interesting things like Dakota Ridge is pretty technical (especially when looped in which a bunch of other trails which gave me one of the most elevation heavy rides I’ve done…). But I’ve had so much fun despite fighting altitude and the strange feeling of climbing for hours.

Some favorites:

  • Green Mountain for it’s views and easily accessible trails
  • Flatiron Vista for more fun trails and beautiful views
  • Heil Valley for slightly technical, but fun riding
  • Kenosha Pass to Georgia Pass on the CT, a Colorado classic with beautiful vistas, aspens, and a rippin’ downhill
  • Buffalo Creek for miles of exploring and some more fun ripping
  • Monarch Crest, another Colorado Classic that I got to enjoy with some St. Louis friends!

Find more of where I ride on Stava!

Mount Bierstadt

I’ve long tried to tackle Missouri Mountain (a 14er) and it’s still not marked off my list. This year though, after getting farther in that trip than I previously had it was on to attempt something new. So after a few days of fun mountain biking, I went up to this beautiful Guanella Pass and tackled this mountain. Even though this is one of the busiest 14ers, the adventure was fun and certainly epic. Even had a close encounter of the moose kind to make things interesting.

Breckenridge

spacer I’ve written about my experiences in and around Breckenridge with the Breck 32, but I went back a few months later to tackle a new kind of adventure: bikepacking in the Rockies. Again, I just kind of picked an itinerary that I thought I could knock out and again Colorado taught me a set of lessons. Mostly, I bit off way more than I could chew. A section of the trail that I thought would take about 6-8 hours took the entire day.

I started by climbing up the ski roads to Wheeler Trail and finally crested the pass. After that I bombed down to the Colorado Trail and immediately began climbing again. And immediately began feeling the effort of this trail. There were beautiful views of near by Copper Mountain, but it took me a very long time to reach the top. By the time I was over the top looking down from the top of the Ten Mile range, I just wanted to get down from elevation. The adventure had taken it’s toll and I felt pretty ill. I made it down the tree line eventually and found a good place to put up the hammock, where I promptly fell right into my sleeping bag and just went to sleep without eating.

The morning brought a new day and I knew that I would knock out the rest of the trail and then go up to town via the bike path. And most of the day I spent riding the bike (rather than pushing it) which was awesome. I did take one “fun” spill over the bars but survived (mostly). The pavement was still a bit tiring but eventually I made it back to the car and back home. I only accomplished half of my planned trip but it nearly wiped me out. My next bike packing will be much more tame!

  • Day one
  • Day two

New things

And finally, just this weekend I returned from a great work retreat at Keystone resort, where I also started learning how to snowboard.

Posted in Blog | Tagged biking, colorado, mountains |

BADCamp 2012: Javascript, Testing, and Drupal

Posted on by rballou

Thank you for everyone who was able to head out and see my BADCamp presentation: JavaScript, Testing, and Drupal. If you saw the presentation or even if missed out, you can grab a PDF version of the slides. Also if you have questions, please leave a comment or contact me on Twitter.

The presentation was a beginner/intermediate level intro to a few concepts of using JS with Drupal:

  • What comes with Drupal 7?
  • How to add JS to a Drupal site
  • A quick look at testing in JS and how to do that with Drupal
  • And a very quick look at Drupal 8 and changes coming down the pipe there.

It was fantastic to be able to present on this topic and I also wanted to provide a couple notes from the Q&A as well:

  • You can use theme preprocess functions to add JS to a particular page
  • Also there is a module that can aid in adding JS to a specific page.

Afterwards, I also had a chance to meet with Théodore Biadala on some Drupal 8 JavaScript initiative work. He gave me a good overview on the state of things and a good basis for how to help, which is very exciting!

Posted in Blog | Tagged badcamp, drupal, javascript, presentations, tech |