This is

theresaanna's blog

about

web application development

and other nerdy things.

Defensive Git usage for the relatively green

Wednesday, June 27, 2012

I've been helping Dan learn Git and Github. The team he's working with had gotten themselves into a pickle and I got the inevitable panicked newbie question:

How do I undo it?

VCS veterans will know that undoing or rolling back often sounds like a better option than it is. Unlike hitting "undo" in your text editor, there's potentially orders of magnitude more complexity rolling back to previous states if forethought wasn't put into the likelihood of moving backward. Things get even trickier if you start to try frantically to patch up whatever problem arose.

Twitter has not 'rolled back to a server side architecture'

Wednesday, May 30, 2012

The Hacker News link to Twitter's blog post about their most recent bout of re-architecting reads "Twitter rolls Twitter.com Back to a Server-Side Architecture". If Twitter does indeed lose the glitchiness of the past several months with this re-re-architecture, then Pinterest will move up to the #1 spot on my list of Products I Love But Can't Stand The Implementation Of.

Dear Amazon Kindle team,

Thursday, May 24, 2012

There are many things I love about my Kindle. However, there are some usage details that are very frustrating. As an engineer, I know that these problems are solvable, though I admit that #6 could get hairy. Might you consider prioritizing the following features? Thanks so much.

Love,

T

1) I'd like to be able to bulk edit my library contents from the "Manage Your Kindle" interface in my account panel on the desktop website. For example, if I want to delete multiple items, I'd like the option of selecting each of them and then clicking "delete" once.

2) I'd love to be able to read RSS on my eInk Kindle by signing into Google Reader on my Kindle and accessing my feeds directly.

3) It'd be cool if I could upload documents while I'm in the account panel on the website. Its ok if they're not available immediately - I can accept a few minutes of lag.

How, as a developer, your day gets away from you

Wednesday, December 21, 2011

  • Start out looking for a library to build your project with, feeling like this feature is a piece of cake
  • Get pulled into a meeting about said feature
  • Leave meeting, have suggested that you might leverage existing feature instead of implementing a new library
  • While doing a feasibility analysis, have script running on existing feature crash your web inspector
  • Ping feature author for details
  • Be given site with documentation for existing library
  • Determine that its too complex for what you need, continue with your own chosen library
  • Find that a version of a dependency of your chosen library is required which is newer than the one you have installed
  • Go to talk to person who is working on upgrading said dependency, find they're busy
  • Decide to create the content architecture changes required for your project in the meantime

The case for client side developers being valued equal to server side developers

Sunday, May 22, 2011

Client side development, for the most part, has long been treated as a second class citizen to server side development. Writing code on the server side is seen as more complex and requiring of more foundational knowledge than client side development. Its true that there are a bazillion potential solutions to back end architecture, and a developer worth their salt should have comfort with a number of them. Not every back end developer is alike, and I have tremendous respect for those that are skilled at it and are, personality-wise, an asset to any team. Being slightly lower on the stack, albeit still fairly high up, a deeper knowledge of computer science principles will undoubtedly be useful, which no doubt contributes to the air of complexity.

Javascript absurdity #1

Wednesday, May 11, 2011

From a section on inheritance, or more specifically, constructor functions in Douglas Crockford's "Javascript, The Good Parts":

"The new function object is given a prototype property whose value is an object containing a constructor property whose value is the new function object."