I'm building out a Node application - in this case a Blogging engine - and these posts are my adventures building this thing. This is part 8. http://www.overclockersonline.net/?p=50001662 Feedback So Far I've received a number of great comments - thank you! People seem to be
I'm building out a Node application - in this case a Blogging engine - and these posts are my adventures building this thing. This is part 7. Image Credit: http://cobaltpm.com/keep-it-simple-and-succeed/ This Can Be Simpler In my post about building the model I kicked up Sequelize, defined an
I'm building out a Node application - in this case a Blogging engine - and these posts are my adventures building this thing. This is part 6. So Much Code For Such a Simple Thing... I can barely type that sentence without feeling a twinge of ... not-happy. In the last
I'm building out a Node application - in this case a Blogging engine - and these posts are my adventures building this thing. This is part 5. http://mashable.com/2012/07/28/tetris-god-video/ Before We Get Too Far One of the reasons I like spiking things is so I
I'm building out a Node application - in this case a Blogging engine - and these posts are my adventures building this thing. This is part 4. http://threa.deviantart.com/art/marionette-196331073 Where To Start? All I have right now is the notion of an Article - a pretty
I'm building out a Node application - in this case a Blogging engine - and these posts are my adventures building this thing. This is part 3. http://shop.lego.com/en-US/Death-Star-10188 What's a Model? If you're a Rails fan, a Model is where you drop validations, hooks, and
I'm building out a Node application - in this case a Blogging engine - and these posts are my adventures building this thing. This is part 2. What Are We Doing? I have an idea, now it's time to flesh it out. In a traditional setting you may have sat
This is the first in a series of building out a Node application. The repository is here and if you'd like to help - please do! My Boss Wants Me To Build This Node App... I get quite a few emails like this - all centering on a single question
For as long as I have been running Tekpub, my goal has been to expand things. Our subject matter, our market, and above all: Your Minds. Today I'm happy to announce that I'm joining forces with Pluralsight: Tekpub has been acquired. This is good news all around - for you, for me, and for the online learning industry.
I'm a fan of BDD, but I find that many examples (and codebases and default settings) fall short of the original philosophy. Here's Why.
When I read things like "Callbacks as our Generations Go To Statement" I’m like maybe we need that. Maybe we need some time where we’re walking around with a donkey with old rusty GO TO statements clinking on the sides.
There's a thought in neuroscience/psychological circles that words are much more than sounds that represent things: they are the abstraction of our higher brain function. Words are language, code is language. Restricting yourself to one or two languages is limiting your cognitive abilities
I love experimenting with text editors and occasionally IDEs. In the last 6 months I've used no less than 5 different ones... each time I learn just how valuable Vim is to me.
It can be confusing when trying to structure a client-side application, especially when it comes to separating models from controllers and services. Doing this in Angular means diving into some details.
The Ember guys are having a hard week. I promised Tom Dale I'd try and help by "arm-waving" an API together that I feel expresses a bit more about the main ideas behind Ember. It's Friday, I've had a beer or two... but I got inspired...
Get up from your desk or chair or floor and go for a walk. Right now - I challenge you to do this. If you can walk through a crowded place - that's even better. Go by yourself, and soak it in... all of it...
Convention over Configuration is now simply an assumed thing for modern frameworks - and this is (mostly) a good thing. Sometimes I wonder if it's being taken too far.
I was lucky enough to get some help from Ryan Niemeyer (KnockoutJS core contributor) recently, and, like I do, I asked if I could record it. I love stuff like this: I need this to work well for the Real World, and I want to do it right.
If you've ever sent a support email to Tekpub, you know I'm in the habit of asking questions. I think truly serving the Customer sometimes means asking questions, and sometimes even saying "No"...
It was a beautiful night, and I was propping up my new telescope that my wife had given me for Christmas. The scope was amazing, but the alignment routine fired up the geek in me...
Some people have a code editor they use all their life. Others, like me, jump around a bit depending on the need. I thought I'd share with you what I've found out, as I get asked about this a lot.
Once the script outline is set and you have a skeleton of the words and tone you want to use - it's time to bake the demos. Yes: Bake.
It was exactly 1:32pm, HST, when the motor died. I stared at the throttle... hoping it was a joke. Land was 50 miles away, and the sea was building, and we were drifting. I thought: "This time dude... this time you really fucked up".
You have a solid idea of what you want to say - now you just have to say it. The uphill climb begins. This is part 2 of how to improve your screencasting skills.
I get asked a lot about my process, software, and microphone for the screencasts I do at Tekpub. I figured I'd blog about it because the world needs better screencasts. This is part 1 of more to come...
Any tool can create a mess. Some seem more prone to messes then others - that's what I thought of KnockoutJS until recently when I had a chance to catch up with Steve Sanderson - Knockout's creator. We talked, I tried some different things. I've changed my mind.
Postgres is gaining more and more attention - deservedly so. Open database systems like Postgres are standing up squarely against the massive, sprawling (and expensive) "Enterprise" systems like SQL Server and Oracle - usually with feature parity that works better. Of all these systems, Postgres is the smartest, fastest, and most capable.
At NDC 2012, I was set to give a talk on NodeJS, and what it's like to work with it. I dislike the quick "hey neat wow" demos - but how do you show what it's like on a daily basis to a room full of people who have likely never tried it?
For some reason I'm reading more and more how the iPad is "only for consumption". I tend to favor my laptop given that I do a lot of video editing and code - but recently I leaned heavily on my iPad for more than just watching movies.
The tech industry, like many, is rife with sexual discrimination and muted policies towards equality in the workplace. I used to let it ride. No longer - this is my story.
One of the tomes we live by: "Global Variables are EVIL!!!!!!" - so we abstract our stuff into patterns and build up highly ceremonial and ornate bits of dramaware called "IoC Containers". For what? To use Global Variables - That's Why.
Nothing but respect for Yehuda, but I'm thinking the Kickstarter model for creating a tool might not fit terribly well in the OSS landscape. I could be wrong. Either way - I have an idea.
I'm really liking what's coming together with this Hypermedia-ish API. So many ideas and approaches are starting to come into focus. Like this one: how much structured data do I pass on the initial load of the API?
Continuing on with building out a NodeJS app with Express and other buzzwords - I decided to build out a page using my API, while I build the API.
One of the perils of riding blind into the Wild West of Web Programming: Everyone has an opinion on what you should do. What tool you should use, what language you need to flex. It's almost as if they don't want you here...
The best way to build an API is to use it while you're building it. At least that's what I find the most effective. But how am I going to consume this API?
I asked for help with the Alt.Tekpub API from the RESTafari because I grew incredibly weary of the constant talk and Fielding quotes. Here are my results.
Tekpub just pushed its latest production: Hello PostgreSQL - and I invite you to take a look at some of the very compelling and interesting features this Open Source system has. No seriously - it's worth a look.
The Alt.Tekpub site is coming together... all the pieces are starting to play nicely. But I still don't have an API. I have an *idea* what I want to do - but I'm waiting on a few more opinions.
Right from the start I've known this application would serve a number of clients over its lifetime: HTML, Single Page JS Apps, and Mobile. How do we lay this thing out? A touchy subject of late, to be sure.
I made the mistake of publicly commenting on someone's idea of a RESTful API. And already - I've probably lost you. I don't know any single term more explosive and zeal-inducing than REST and "what it means to be RESTful". Oh - you say "it's quite simple?" You say "what's so hard?" Pedanticize away my pedantic pedant...
NodeJS has a pretty specific convention when implementing callbacks in modules - function(err,result). Does this always make sense?
Mongo is installed, our data is ported. Time to roll together our first model: the Customer. How do you model this stuff with MongoDB and Node?
The data has been rolled into MongoDB - at least the first round - and now I need to get the API up and tested.
I love learning in the open. The simple process of relaying what you see/do/think/learn/fear/love can, itself, be illuminating. So here we go again - I'm going to fuddle around live, with some edge technologies, and you get to laugh at me.
I was given a copy of the fictional MonoStudio 2015 last week so I could pretend to write a review about it. In short, I'm impressed with what I dreamed up - and incredibly happy that the Xamarin team took this challenge on in my dreams...
... In which we reflect on my ego-mania and just how in the dark Enterprise Devs using OSS really are...
Rails 3.1 marks a strange turning point in the evolution of Rails: many hard-core fans are feeling the framework is losing its edge and becoming over-engineered. That might be a premature opinion.
Some interesting posts flying around about how ActiveRecord is rotting people's brains and how Rails is "pants on head retarded". I figured I might as well respond.
OK maybe the title is a smidge dramatic - but it's the truth. I sweated over each and ever second of Tekpub's latest production and I really believe that it's the best work we've done to date. It's basically a This Developer's Life, in video.
I'm not opposed to swearing in presentations, or anywhere for that matter. I don't cringe when I read F-bombs nor do I care if you have the word "Fuck" embroidered on your Calvins. Swearing says more about your abilities as a speaker then it does your content... that's the problem.
We just recently pushed Tekpub over to Posgres and all in all, it was very simple. I won't talk about the reasons we moved from MySQL - that's another post. This one is all about making sure your backups go off nightly.
My last post was a bit of a pulpy, prosey trope about a problem I had debugging an issue in IE 9. It was supposed to be a fun read - but it turns out I might have actually uncovered an issue with IE 9... so giving the team due respect, here's a bit more detail.
Last night, around 8:30pm, I was sitting in my backyard with my 9 yr. old daughter, Maddie. We were looking at stars, trying to identify constellations, when one of them started moving...
This was a multi-day bug with 10 deployments behind it. I was tired, frustrated and hateful of the incessant problems Internet Explorer brings to the world. I was about to give up. To hack in Yet Another IE Workaround, when I noticed something strange in the response headers...
I get asked, quite often: "Where do you put your business logic in a Rails model?" This question typically comes from .NET developers who are dabbling with Rails/Ruby and trying to wrap their heads around it. A bit of a slippery-slope - I'm no expert here - but I'll tell you what *I* do...
Thought I would take a minute or two and update Tekpubbers out there on what's happening in the near future....
One thing I really like about Ruby is the ability to refactor to one line. Note that this isn't some spartan thing I have going, nor some geek-macho :) "look what I can do". Instead, I find it a lot more readable. Here's why...
One of my favorite movies of all time is Pulp Fiction. There are so many lines... so many scenes that it's hard to describe one as your favorite - but one that comes to mind often is Harvey Keitel as "The Wolf". When Ving Rhames says "I'm sending in the Wolf", you knew something good was about to happen.
The startup world has an exaggerated sense of competition - almost as if each "player" is a puppy struggling for access to the funding teet. This serves the VC puppet masters just fine, but can ultimately destroy the very business you're trying to start.
Time for another music post - this time one of my all-time favorites: Killing Joke. Yes, they're still around and yes, they still rock.
Go ahead and write this off as a Fanboy post - just read this one point: when I bought a Mac as my primary dev machine, my work life became a whole lot easier. I know Macs don't resonate with a lot of people - and that's fine. I find it to be a highly versatile bit of hardware.
In the last post I showed the basics of the Todo List app that I refactored from the original. I'll say it again - I'm fairly certain I don't know completely what I'm doing. I'm sort of following my nose a bit and trying to use what I've learned over the last few weeks. In this post - I'll wire up some events to make the Views dance.
This is a long post with lots of code. I want to be complete, but I also don't want to bore you to tears. If you want to see the refactor right now - here it is. I'm fairly certain I don't know what I'm doing - and that I probably lack the experience to even be writing this post. All I can tell you is that I have a feeling… a not so good feeling… when reading the current Todo List tutorial up on Github. So I figured I'd refactor it and submit a pull request. Is this correct? You tell me…
Magic Strings - they're bad right? What are these repulsive warts on good design? And why do they want to melt my code? The fear of strings drives otherwise talented and wise developers to do some extraordinarily ridiculous things...
We've been running for a little over a year and a half and I'm happy to say that we're doing really well as far as startups and small business go. It's my goal to be as transparent and communicative as I can be - so if you're a Tekpubber (or are thinking about joining) - here's what's going on.
TL;DR: I turned my Twitter account back on because as much as I like the silence and increase in my efficiency - Twitter helps me in a lot of ways I'm beginning to miss. Go ahead and crow. You were right.
Having a lot of fun with this little tool - and more great comments are coming in. I've added some good stuff in the last few days - like Paging and streamed results.
I've been having a lot of fun with Massive and people are really giving me a lot to think about - and change/improve! I'm about to push an update today that will break stuff but that's OK, it's still newish.
I read Scott's post today about Interview questions and it made me chuckle a bit. They're great questions - no mistake about it - but you could almost (just barely) hear an audible set of mouse-clicks as managers around the world copy/pasted those questions into their "What To Ask Developers" Word Doc. I'm not sure the problem is the developer...
In a previous post I showed some fun stuff with System.Dynamic and Data Access. I'm happy to say that I tweaked it, loved it, and pushed it to Github if you want to diddle with it. This post is a tad long and dives into Dynamics at the end - read it if you want a fun mental exercise. Otherwise the code is upfront.
I don't normally use my blog to pimp Tekpub, but this is just too good. I've been holding my breath while we get this production together - and all the pieces recently fell into place. I'm giddy like a goose.
I promised myself I'd never do this again: create an ORM-y/Data Tool for .NET. But I needed some utilities for some work I'm doing, and I extracted the databits because I can't help myself. I like to share - mom taught me right.
I've spent the last 4 hours cleaning up my hard drive. 2 Tb of space fills up rather quickly when you do video/audio work - and today was the day to flush all the stuff I didn't need and organize the stuff I want to keep.
You would think that someone would have tried this before - but I haven't seen anyone blog on it yet. I'm sure I'm not the only knuckle-dragging mouth-breather who eschews High Concept for Dumb-simple solutions when available. Today I think I might have broken my own record for ugly: I deployed a site using Git and Dropbox. And I love it.
I was incredibly skeptical when I heard about WebMatrix. I was dismissive and snotty about the WebMatrix data access story. I called the WebMatrix IDE a "MySpace Code Editor". I was wrong. They got it right, and I'm really impressed.
Fight Club is one of those movies that you can take at face value and have a great time, or dig a bit deeper into David Fincher's directorial excellence and unravel some crazy stuff. The shifting reality of the film leaves a lot to be discovered.
I'm a fiend for good documentaries and it's great that you can stream some outstanding ones from Netflix. Last night I watched one that blew me away: Maynard James Keenan (lead singer from Tool) moves to Arizona and begins to create wine. But this isn't about some rock star in a crisis - he's actually leading a wine revolution...
Haakon Langaas Lageng asked me the other day "How do you make your videos?" His question was less technical, more procedural. I answered him and thought that I would share this with you. You might be thinking "why would I do such a thing?" - the answer is that a well-made screencast saves everybody time and is 10 times as effective as a book.
Many have noticed that I've shut down my Twitter account. No, I wasn't suspended and no, I'm not having a mid-life crisis meltdown. I finally "got smarts" and did the math: Twitter costs me a lot more than I get from it.
Believe it or not - this title isn't link-baiting. I have to deal with encoding video on a near-daily basis and it can be mind-numbing, frustrating, and time-consuming. I finally got fed up and rolled my own. It took 5 hours and 100 lines of Ruby. This is my story.
We just pushed the latest build of Tekpub - and it's a pretty massive rewrite. I bounced between frameworks during this rewrite, eventually settling with Rails 3. A few people have asked why. Here's why.
I'm working on my keyboard-fu a little bit more today, making sure I know my shortcuts and how to get around. A lot of "oh... yeah!" and "oh wow!" as I'm discovering ways to turn my mouse off. You'll know some of these... some you won't. Either way I thought I'd share what I'm putting together.
I've always been a major proponent of Open ID. I love the idea and the intention - it's a great solution to a long-standing problem and solves a lot of issues for developers. Unfortunately it creates a ton more for business owners.
I made a rather strong comment about HAML the other day and I think I regret it a bit. I was feeling cheeky - so I thought it might be worth it to ... uncheekify that comment and add some code for context. I love HAML - it helps me do the right thing. Here's why.