Monthly Archives: July 2013

Using Angular’s `ng-bind` to Eliminate Pre-render Flickering On Your Index

Angular’s double-curly-bracket notation is super-easy. Nay, elegant. It’s a great, straightforward way to demonstrate the power of data-binding in templates.

But… there’s a drawback: until Angular has a chance to process those expressions, bind to them, and update, your users will see the brackets and the expression within them, rather than the content that should be there. This isn’t a problem with subsidiary templates that Angular is loading for you, because Angular is able to perform all the bindings before the template is rendered. But with your index.html page, things are different, and you see some ugly stuff before Angular kicks in.

Fortunately, there’s an easy solution: Angular’s `ng-bind` rides to the rescue. Simply use `ng-bind` as the attribute of an element, and make your expression into that attribute’s value. eg., instead of…


… just use instead:

<h1 ng-bind="model.header.title"></h1>

Should you have other text inside of your main element, just use an inline element like a <span> to attach the attribute to. That’s it. Once you know about it, `ng-bind` is very nearly as easy to use as double-curly-brackets, and you get better, flicker-free results for your user.

Transferring/Importing Emails Between IBM Notes Accounts

There are days when IBM (Lotus) Notes makes me lose my faith in the forward progress of humanity, and specifically of the idea that most people do, in fact, care about their jobs and the products they build. This is one of those days.

I am not the least bit convinced that anybody who works in the Notes unit (except perhaps the designers, who have made huge strides lately) gives a flying &^$% about their jobs. Definitely not their users. People: how hard is it to add a hotkey for “REPLY”, for chrissakes? FORWARD too, maybe? How about “File this message”? Is this all crazy talk, or are the people in Notes-land living in some other parallel universe where their users don’t actually use Notes principally as an email client? Or perhaps in their universe it’s still 1998? And Notes is still awesome.  Continue reading

Tagged , , , ,

An Epistle and Warm Welcome to New Learners of Web Development and Software Engineering

Hi! <Waves.> This is a cool, dynamic, super-rewarding field to live and work in. And we need all the new talent we can get. But there are certain predictable obstacles you’re going to encounter, and I want to prepare you for some of them, so you stick around with us.

What you’re going to encounter over and over… and over again… in the course of your learning about Web Development is articles and tutorials and other resources that refer to a million other additional things. Things… you DON’T KNOW YET. <gasp!> The writers of those items are going to act like it’s the most natural thing in the world for them to mention those things, even though they’re only tangentially necessary to the matter at hand. They might even be a bit smug about it. As if you’re really supposed to JUST KNOW those things, if you’re going to be privvy to the discussion.

Mmm-hmm. So… here’s the key lesson to remember in those moments: you *don’t need to know all these other things*. That’s right. Today, all you need to know is what you already know. And by reading that article/blog-post/tweet, you’re going to learn a little bit more on top of that. And tomorrow, a bit more. And you’re not going to understand all the references that the writer drops off-handedly. That’s OK, and as it should be.

But some fearful creature inside of you is going to look at all of these references to other stuff you don’t know, and to the terrible *certainty* with which the authors of these articles name-drop those things, as if *any idiot* must know this stuff, and that frightened little critter is going to try to say “Ahhh! Get me out of here! I’m not smart enough for this!”


Those people writing those articles have been doing this for a LONG TIME. (Plus, many of them are semi-autistic nerds of the first order, who have no other lives. Not that we’re judging. Just saying. And not that we’re in any position to throw stones, ourselves…) They have, in many cases, forgotten how hard it was to learn all of this the first time around, and what it’s like to read an article like theirs, and to wonder what all the other stuff means.

And, *ladies* (plus other kind souls), many of those writers are guys who are spouting off about something they don’t understand half as well as they think they do. Which is anathema to you. You (mostly) wouldn’t do that, because that’s just not how your ego works. You assume that if they’re spouting about it, they must understand it, and that you must be hopelessly behind them if you don’t understand it yet. Q.E.D.


Plus, the internet now means that we’re all participating in the discussions of the experts, as they happen. Back in school, when we learned physics (or whatever subject we found imposing and weird), we were learning it from books that had been filtered down to our level. We weren’t watching Newton and Leibniz contest the origins of the calculus in real-time on Twitter, or listening to Darwin and Richard Owen debate natural selection on their blogs. On a given day, we might not have understood everything in those school books just yet, but they had at least been calibrated in such a way that we *could* understand it all, eventually. But the UI Development internet isn’t like that.

The UI Dev internet is going to throw all kinds of stuff at you that you’re not prepared for. It’s going to throw all kinds of stuff at you that you don’t have time to learn, just now. It’s going to throw all kinds of stuff at you that you’ll eventually realize you don’t actually need to EVER know, because it’s very specialized. And the UI Dev internet is going to make you want to follow it down the rabbit-hole with the vague promise that: “If you can just understand THIS ONE MORE THING before dinner, then all of the other things will start to make sense…”

<Ahem…> Bollocks.

You will progress at your own pace. You will learn certain things if and only if you have a practical reason to learn them. You will come to understand what has value to you and what doesn’t. And you *will succeed*, provided you don’t let that scared little animal in your brain-stem get the best of you. You have a glorious, rewarding career ahead of you, as long as you recognize that there’s much you don’t understand yet, and *THAT’S OK*. Take your time. Learn what interests you. Learn stuff that builds on what you already know. Once in a while, take a flyer on something totally new. (But only *one* such something at a time, maybe.) And know that the rest will come when it comes. Filter it out for now, so you can wait for it to arrive in its own time. You’ll get to it. And it will be awesome.

Have fun. Have faith. Stick around. We need you.


Tagged , , ,