Monthly Archives: April 2012

My Tumblr Wish List

If you don’t wish to read the ravings of a mad, static weblog publishing, fool, just leave now. If you are curious to hear what I’d like to have from Tumblr, stick around. It’s not actually that much.

Hosting

I know I can host my domain at Tumblr, but that’s not what I’d like. I’d like to have Tumblr push content to my domain. Blogger did this for years, and I’m not sure any other, centrally managed, publishing system does this today? Blogger stopped publishing via FTP a couple years back. That’s what prompted me to move to WordPress, I wanted to have the content published at my site. The big downside to WordPress? It’s all dynamic, but we’ll get to that later.

How?

What if I could install a bit of software on my server that Tumblr could use to publish to by box? I’m not sure what the downsides are to FTP publishing, but obviously it’s not such a great thing or Blogger wouldn’t have shut it down, right? What if I could install a REST service, created by Tumblr, that had one simple endpoint, publish. Basically that publish method would accept a payload of an RSS feed, main page, and the archive page. Pretty simple. What’s the downside? I’m not sure, but, I’d imagine, there are some.

Static Publishing (A.K.A. Baked Weblog)

The other thing I’d really love to have is a static publisher, or as Brent Simmons calls it, a Baked Weblog. Why should content always be rendered from the database every time the site is hit, or cached by Tumblr’s hardware? It makes no sense. Why not publish a static HTML file to a location and load that? GASP! The nerve! Static HTML? Yes, static HTML. There’s nothing wrong with it and it would be just fine for my uses.

Upside?

Tumblr gets an enormous number of pageviews per day. Of those how many are actual pageviews for a weblog and not the user’s Dashboard? I’d imagine most of those are for the Dashboard, which could be offloaded by using an RSS reader and creating your own “Dashboard”, but I digress. I’d imagine having weblog content published to another domain could be good for Tumblr’s overall reliability. No more creating a page each time the weblog is hit, no need to update and maintain a cache of the weblog when it’s been updated. I’m not sure how many people would opt for static publishing, but I could imagine quite a few might enjoy it.

You’re Crazy

AHHHHHH!Yeah, I know. This is one of those things I harp on all the time. It’s not something Tumblr would ever be interested in doing because it could potentially decrease their pageviews per day. Why? Because the weblog would no longer be hosted on their hardware. You avoid the middle man, and go right to the source.

But, but, but…

I like Tumblr, I really do, but I’m not sure I’d like to put all my content on their servers. I don’t mind composing and storing it there, as long as I can get it out, but I’d really like to have the final published text on my box. Then again, who knows, I may take that plunge and go whole hog with a Tumblr weblog. Our oldest daughter, Haileigh, has a great Tumblr based weblog, and it’s served her quite well.

There. Nothing will come of it, but at least I got it off my chest.

Apple, not popular among developers

AppleAppleInsider: “The two-hour sellout is the fastest ever for Apple’s annual developers conference. Last year, WWDC sold out in a record 10 hours, while in 2010 it took Apple 8 days to sell all of the tickets.”

Last year I had the pleasure of attending my first WWDC. This year it wasn’t in the cards, which is OK, I have a new business to build.

It’s incredible that in three short years we’ve gone from 8 days to sell all the tickets to two hours. I’m not sure it can sell out any faster?

Saving Prince of Persia

Wired: “The geek squad’s goal is not simply to find out if Mechner’s old disks work. Today is about getting that old code out of its magnetic tomb and getting it onto the internet. That’s why they need Diaz’s Gordian knot of boxes and cables and not just any old Apple II — because Diaz has wired his computers into a network via Ethernet cable. Underneath, he plugs in a modern Dell laptop to serve as the receptacle for whatever treasures the crew manages to unearth.”

What a great story. A few years back I did something similar for some old floppies I’d been carrying around for years. They’ve been archived to DVD, but who knows how long that’ll last.

Once piece of code I grabbed off the floppies was my first Windows application, Tic-Tac-Toe. I’ve placed that code out of GitHub.

Maybe one of these days I’ll get around to posting more code out there. I have a whole bunch just collecting dust.

At one point I had a single 3.5″ floppily with all the source code to pre-Visio 1.0. I really wish I could find that. The UI, at the time, was so different than what was shipped. We had one tool, the pencil tool, and the toolbar icons were more rectangular. Not that I’d publish the source. I’d like to publish some screenshots.

Get Shacked

Get Shacked: “If you are a web / mobile designer, and would like to come out for a few months, and work on one of our many app ideas, send us a link to your portfolio. If we like what we see, we will fly you out and put you up in your own grass shack (it will have a roof, don’t worry). What better way to try out living in Hawaii then cruising out here for a 3 month workcation. We work hard and play hard also!”

Who’s with me? Let’s go to Hawaii! I’ll bet it would be easy to convince my wife to spend a bit of time there.

The company is Shacked and I discovered them because of this great little app, TeleTweet. How cool is that?

Call Stacks

I find it interesting how deep we tend to go as developers when we’re building on top of other code. I’ve been debugging a memory leak in our app and this is part of a call stack for a potential culprit.

	ntdll!RtlLogStackBackTrace+7
	ntdll!RtlpAllocateHeap+C4
	ntdll!RtlAllocateHeap+23A
	msxml6!LEVEL2::operator new+16 (d:\w7rtm\sql\xml\msxml6\core\base\pointer.cxx, 68)
	msxml6!AddPointerToCache+70 (d:\w7rtm\sql\xml\msxml6\core\base\pointer.cxx, 204)
	msxml6!SlotAllocator::NewPage+40 (d:\w7rtm\sql\xml\msxml6\core\base\slot.cxx, 546)
	msxml6!SlotAllocator::Alloc+98 (d:\w7rtm\sql\xml\msxml6\core\base\slot.cxx, 339)
	msxml6!Node::operator new+26 (d:\w7rtm\sql\xml\msxml6\xml\om\node.cxx, 257)
	msxml6!Node::newNode+F (d:\w7rtm\sql\xml\msxml6\xml\om\node.cxx, 295)
	msxml6!Node::_clone+1C (d:\w7rtm\sql\xml\msxml6\xml\om\node.cxx, 2971)
	msxml6!Node::clone+13 (d:\w7rtm\sql\xml\msxml6\xml\om\node.cxx, 3028)
	msxml6!Node::cloneChildren+66 (d:\w7rtm\sql\xml\msxml6\xml\om\node.cxx, 3080)
	msxml6!Node::clone+63 (d:\w7rtm\sql\xml\msxml6\xml\om\node.cxx, 3050)
	msxml6!Node::cloneChildren+66 (d:\w7rtm\sql\xml\msxml6\xml\om\node.cxx, 3080)
	msxml6!Node::clone+63 (d:\w7rtm\sql\xml\msxml6\xml\om\node.cxx, 3050)
	msxml6!Node::cloneChildren+66 (d:\w7rtm\sql\xml\msxml6\xml\om\node.cxx, 3080)
	msxml6!Node::clone+63 (d:\w7rtm\sql\xml\msxml6\xml\om\node.cxx, 3050)
	msxml6!Node::clone+34 (d:\w7rtm\sql\xml\msxml6\xml\om\node.hxx, 486)
	msxml6!DOMNode::cloneNode+9A (d:\w7rtm\sql\xml\msxml6\xml\om\domnode.cxx, 1642)
	msxml6!W3CDOMWrapper::cloneNode+17 (d:\w7rtm\sql\xml\msxml6\xml\om\w3cdom.cxx, 254)

It’s kind of fascinating, isn’t it? Notice all the steps we go through to allocate memory. All the way from Node::operator new up to the actual call into the NT runtime, RtlAllocateHeap.

Cat Scratch Fever

The Christian Science Monitor: “He don’t speak good. Nugent’s words aren’t rhetoric, in the sense of being an attempt to convey coherent thought. It’s better to think of them as derogatory words strung together at random. Given that, where’s the threat?”

This is something extreme people do. They try to intimidate via rhetoric, or stick their foot in their mouth trying to make point. President Obama should invite Mr. Nugent to the White House for a beer and have a nice talk. The Oval Office would be the perfect spot.

Facebook, one giant app

ars technica: “Because Facebook’s entire code base is compiled down to a single binary executable, the company’s deployment process is quite different from what you’d normally expect in a PHP environment. Rossi told me that the binary, which represents the entire Facebook application, is approximately 1.5GB in size. When Facebook updates its code and generates a new build, the new binary has to be pushed to all of the company’s servers.”

As much as I rail against Facebook, they don’t mess around when it comes to their technology. If they can’t find what they’re after, they build it.

Most web sites are built from a little of this and a little of that. Now doubt Facebook has many components that make it up.

The idea that they’ve gone against conventional wisdom and built a monolithic application is kind of refreshing. They own the world because they’ve continued to make their own path.

The Hacker Way, indeed.

Illustrator Joey Ellis on Dribbble

Dribbble Blog: “My tools are my red and black Polychromos pencils, Illustrator, Photoshop—all the usual suspects. My studio is in a room above the garage. It’s not cool or glamourous and is filled with crap. It’s kinda like an episode of Hoarders, but there aren’t any dead animals in here yet. I have my iMac and an old Wacom along with a few iPads for iOS stuff. I have tons of toys and half-filled coffee cups strewn about.”

I love reading stuff like this. It’s interesting to see the process others use and how they structure their work environments.

One of these days, when I grow up, I want an actual desk with a big display, or two. Some day. Until then, it’s the couch.