Two Microwaves

I have two microwaves in my life that have design features I cannot understand.

The first, pictured above, is at my house. For some reason, you have to press "Time Cook" to get it to run through a timer. I understand the manufacturers were trying to create a distinction between timed and auto cook, but honestly, shouldn't time cook be the default? And then, whatever else can just be a special button. 

The second is at my office, and it beeps its full cycle of end beeps regardless of whether you've opened the door. What is the point of that? Yes, I get that it's an extra check for the manufacturer to test if the door is open. But pissing off your users is probably not the best alternative feature.

Also, I want to know what possessed the person above to post that video. 

Four Documentaries on Arcade Gaming and why most documentaries are boring recently

Couple quick thoughts on this group of recent nostalgic bouts:

Chasing Ghosts

With the most history and interviews, this is a good compendium of the rise of the arcade period in the early / mid-eighties. Sadly, it's not really interesting and there's nothing really to draw from knowing this information, or at least something the filmmakers want you to take away. The film has no key tension, other than an arcade champions reunion, which the filmmakers never underscore why this was the central crux of the movie, other than it's something that actually happened presently. 

High Score

The worst amongst the movies, the film follows a gamer attempting to break the Missle Command high score. While it's a good objective goal for the main character, it doesn't really have any actual impact on the film. It's just, again, something that happens. Video game records are usually video recorded and mailed in, so the attempts themselves are not very dramatic, and more importantly, achieving Missle Command high scores is an endurance challenge rather than a skill excellence. Since the most exciting event would be somebody to stay up for 80 hours playing video games, it makes this move really slow and ultimately says very little about gaming.

King of Kong

Another record attempt, in this case Donkey Kong high score, held at the time of the film by Billy Mitchell. Mitchell is the best arcade gamer of all time, and has an amazingly arrogant and proud personality, so this film, while the record is only a little interesting, is fun to watch because there's actually an antagonist to the main character's goal that registers with the audience. Doesn't say much about the game or gaming generally, but Mitchell's personality makes the film worth it. 

Space Invaders

Best of the bunch - Space Invaders documents several very elaborate personal arcade collections, delves into the history of arcade gaming and the video game hysteria in the 80s, and tries to get an understanding of why people would devote so much to such large, old fashioned games. Ultimately that answer is mainly nostalgia, and touching of one's youth, but the filmmakers discuss collecting more generally and what it is to maintain something that is horribly out of date. 

 

Most of these movies are bad. Not just low budget, but boring, dull and wandering. The problem in the ones above and in a lot of low-budget documentaries coming out is the miss the point of making a film - to make us feel something and connect with a different world, just like a fictional movie. Instead, most of these new documentaries are things just happening that are being filmed.

By far the worst I've seen is SOMM on a group of men trying to attain the highest rank of sommelier in the US. The movie just thinks that you can show peopel drinking fancy wines and somehow I'll care, because, you know, I like wine. However, even though it's a rigid test, the film never really sets up the conflict of passing it. They just create a mystique that it's hard, but I don't know why it should be that hard (say, if you watched a movie on astroanut training you'd understand why the bar is so high) and why I should care that people can pass the test. 

Likewise with the gaming films above, the filmmakers appear to have thought - hey, here's a gaming thing, let's shoot reels, throw in a couple transitions of close ups of joysticks and old game art, and we got a film. I'd like to say I'm insulted, but in truth, I figure the intentions of the documentarians were pure, it's just that the material is not all that exciting

Video game high scores just aren't that interesting to modern gamers nor are they visually very interesting. Watch some bad ass on Call of Duty pwn and you'll at least see something visually cool, but Donkey Kong, whether the first level or the last screen, still pretty much looks the same at every point in the game. Score are also very antithetical to the intent of the modern gaming community to be more open and inviting rather than ultra competitive. High scores breed people like Billy Mitchell, who don't make me want to play video games. This doesn't mean there aren't competitive people, it just means, the epitome of a great gamer is not necessarily his/her competitiveness. In fact, in games like Minecraft, it may be the exact opposite.

 

 

 

IE11 Reader View

A couple weeks ago I wrote about a number of things in Internet Explorer 11 that I had to learn. Well, since then I've learned a couple more things. 

First off, in reader view, if you have the skip ahead featured enabled, Reader view will actually skip ahead for you and preload the pages in reader view as well. This can be a bit problematic as you may have multipage articles, but you may also have skip ahead to unrelated articles as well, which could be disorienting. But you may want both features implemented at the same time. 

Well, I tried a couple of different approaches to make this happen. 

First, I tried to hook into the event that fired when you pulled up reader view. While, IE11 has a bunch of events tied to pinning sites, I couldn't find any events that fired when launching reader view. They might be out there, so if that's the case, I'd love to hear it. 

So I tried onfocus or onblur events, which weren't firing at the right time. I was hoping that I could follow these events and then remove the rel="next" attributes so the next page fo reader view wouldn't load. I noticed even on sites like MSN that reader view actually removed the ability to swipe ahead anyhow.

Second, I looked around and found a Stack Overflow article that mentioned that <pre> tags prevented reader view, saying this was a bug. I disagree, I think this is intentional as it completely ruins the point of <pre>. Regardless, this led me to realize that if I had a <pre> tag,  I could prevent reader view from working when the reader looked ahead at the next page. Thus, I added a <pre> tag to every page. 

This doesn't break reader view if I remove the <pre> tag as the page loads using JS.

So now I have reader view for the page I'm on, but because the <pre> tag on every page I'm not on prevents reader view, I still get swipe ahead without getting look ahead reader view. 

 

When web dev goes political

The release of HealthCare.gov and its subsequent failure is not something that most web programmers would be very surprised about. 

This has nothing to do with 500 million lines of code, which is bull anyhow, but instead has to do with the organization of any project of the scale, and what most people would anticipate how the government runs code projects.

There are probably some groups within the government, particularly within the military, that run awesome and would put most private enterprise groups (including my own) to absolute shame. However, with HC.gov, we knew that we were dealing with a new team, new objectives, in an untested user market. So that team was going to be green in their field regardless. 

Furthermore, we knew that this green team was going to have to scale up immediately. Consider a large application like Facebook. Its user base did not show up on day one. It's feature set, for all it's photo and tagging capabilities was not even close to what it was in the beginning. Facebook was something that a motivated developer could design and test with a small group, making incremental improvements as the software was used.

Not so, for HC.gov - everything had to work day one. What happens if you need to udpate the system? You can't - it's just gotta work. 

This is not how most web applications are developed. This is how a lot of desktop applications are developed - basically, choosing what bugs to ship with. And this makes fixing the problem, "A website should just work" a real problem, because there is no version 2.0. This is now and now it should fucking work.

What those of us in this industry could not have known is another most common problem of green teams - a lack of testing. 

As so many books on testing will tell you, you are not down with something unless it passes a test. I would say "the home page loads" or "A new user can sign up for insurance" would be a pretty big deal of a test to pass. A beginner tester might note that sign-up is not something that would ever be one test, and that's more to the point - the failure of that intergration is obviously something that would have most likely thousands of smaller tests behind it. You wouldn't even get the chance to test that larger one if those other tests didn't pass. So yeah, obviously someone skimped somewhere.

And take note, none of this has to do with benchmarking tests or the like. But if processing applications was just hung up by performance, we could run that by hand at 3am and gain success. And fixing it would be like AOL - the government would spin up more distributions and db backups, something pretty trivial at this point in time. To my knowledge, that isn't the issue.

Most often when you're trying to trim costs, TDD and adequate QA is not done. Therefore, it would be no surprise that this is where fat was cut, but they weren't cutting fat, they were cutting meat. 

I'm not a behind-the-scenes coder who could actually verify these issues, but it doesn't take a big leap to guess and take heed of the troubles a disaster of this magnitude demonstrates. The President looks incompetent and his opponents look spot on correct in that the government is incapable of providing healthcare. 

The truth is that the last point has not even been demonstrated - the government and the Obama administration just didn't produce the software to provide healthcare, and really it's gotten to the point it really makes no difference. 

 

 

 

Magic

When I was a kid, I watched the video above. I love the hell out of the Magic Secrets revealed series. I love that it had that guy from the X-Files in it, I probably loved the assistants, and I definitely wanted to know who the Masked Magician was. When I saw who he was I was disappointed. Truthfully, the only magician I knew was David Copperfield, and obviously, it wasn't going to be him. 

After a side comment about David Copperfield tonight, I ended up watching a bunch of magician videos, which led me here.

I remember the masked magician's message from when I was a kid. Namely, that by revealing tricks, he was pushing magicians to even greater heights. What I missed was the message that by discussing the elements of magic, that Val (that's the guy) had actually encouraged kids to get into magic. 

It's a practical message. Obviously, not everyone is going to watch this show. And there's more to magic than just knowing how its done. Shit, for the most part I know how a plane flies. As Val mentions, you need to have showmanship like Copperfield to do this well. 

I've watched Val's reveal of the above illusion, and I can still only guess that one of the men on the other side, has a fake arm to produce David's face, or just assume it's all a stupid video trick. If it's not, I don't believe David's magic, but I'm still interested. 

There's two careers I gave my heart to: cooking and programming. 

I was very fortunate to work for an exceptionally talented chef, who taught everyone on his line that food was about skill. It was not magic. It was not about "authenticity" or "real X cuisine". I worked for a guy who made fucking fantastic northern Italian food from Colorado. 

In particular, I remember working front of the line, while he worked wheel and some folks came back to ask for the secret recipe to our boar sauce. He flatly told them, there was dick special about it. Cream, demiglace, rosemary, time. 

And that's exactly the point - you can't cook that, because you aren't good enough to handle BASIC ingredients. The secret isn't ingredients, it's time. Which you haven't got or put in. 

Now that I work as a programmer and lead teams, I dispense with any notion of genius or rock star programmer. The deeper you in get in code - from high level to assembly to virtual machine to specific circuits - you realize that everything is pretty direct. It's just a lot building up simple elements. 

Yes, there's geniuses, brilliant chefs, but if you're reading this, you're unlikely to be one of those people who can skip steps intuitively. Funny thing is - even those folks know those steps are there, but that's another discussion I won't diverge into. 

So I've revealed the secret, I've shown you the secret ingredient, but you're not any closer to wowing people with that card trick, because you gotta practice it to make it look good, let alone make a profession.

I think Val did a good thing. No one today hardly remembers him, but I'd guess that he made a few kids interested in magic who are damn good at it, because he revealed the trick, made them focus on perfecting that one tiny thing, forced them to develop the hundreds of other microskills that support it, instilled the confidence to make it look real, and created magic in their lives. 

 

Drupal Summit in Vancouver

There's a scene in Eurotrip, where a group of dudes heads to a nude beach expecting to see girls, only to find that the entire beach is filled with dudes, also expecting to see women.

Every summit/convention/expo I've been to for tech has this feel to it. It's as if everyone going there is looking to connect and make this break in their career with a new contact, see a new product or company. Maybe finally get that real coding job they've wanted for so long. But with everyone there with the same objective, it's hard to make any progress.

I'm not sure what I was looking for when I went to the Drupal Summit in Vancouver this last month. I wanted to present, which I I did - Stealing from the Core and Elsewhere. I hoped this presentation would be a challenge to me and involve me with perhaps with some more serious Drupal developers. 

Unfortunately, I may have put too much into my session, which lesson learned I suppose. Because I presented on application development in JavaScript, folks (some) thought I was just a Node.js geek and this system was just imitating it. Given the fact that my application was not an asyncronous server tool, even explicitly saying my server side code was handled by PHP, I found this frustrating, but perhaps I should have been a better presenter. 

But how can I actually be annoyed? Drupal is a divided community. With those who are serious backend folks and those who are serious GUI-end folks looking for the next module / theme that they feel will give them the edge or at least the final amount of control without needing to code. On the edges are folks like me who use it tangentially so don't really geek out about it. 

Given that divided ground, it makes me worry about the future of Drupal. Because its curators aren't all in the same place mentally, it's difficult to drive towards synced goals on the code and feature levels, unlike what I've seen in the Rails community. However, maybe this makes Drupal have a bright future, because it's end users (the GUI-folks) are so demanding of the coders to come out with things that work better together. 

Does the real guts of Drupal really lie in the salt of the earth conferences, or is it at the big conventions each year? I typically trust salt of the earth, actual use day to day, but perhaps that is much like the quickly stated, poorly thought out, immediately downvoted answers on Stackoverflow.

In order to see the real state of Drupal, it's not in everyone who uses it, but those who do so the best. Maybe Austin and Amersterdam might be worth it to change my mind. 

 

 

IE11 Things I Had to Learn

I've dealt with several quirks of the new version of IE in the last couple days. Here's what I've uncovered:

First, in IE11, you can setup a standard anchor tag to open up an app. This will try to load it side-by-side with IE, but typically it will navigate you to a blank window in IE11, which is not ideal experience. To launch an app directly into a side-by-side window without this problem, use a hidden iframe (0x0) and set it as your app link's target. such as "<a href='skype:5555555' target='helper'>Call us</a>"

The reason is that the app loading apparently needs an window to run its launch command in. Since the window will have no content (it's all in the app), you'll get the blank window. But if you use a hidden target in the web page, only this will get the blank window, which is hidden, leaving your webpage uneffected.

The second thing I dealt with was automatic Skpe links. The new feature in IE11 is that phone numbers (plain text) will turn into automatic Skpe links. Not a bad idea, but the browser decides to style these links for you. Without your permission or control.

I had to maintain the links' functionality, but also keep the original styling. Well, you can't just write CSS. It automatically underlines, changes the color, and removes the custom font. 

Working with this, I discovered that IE11 will attempt to match the color of the link based upon its background with a couple standard defaults. EXCEPT if you have an image background, then it will let you control the color. So you'll have to force one - either with transparent background applied or some solid color background. Unless of course, you have a background image already.

The underlining (even using !important inline) won't go away. The hack here is pretty simple - set a height on the element and overflow-y to hidden. Adjust the height until the underline goes away. It's typically 1px away from actually trimming your text. You'll have to adjust a few positioning components to realign things. 

I couldn't figure out a workaround for the font, but it will respect serif/sans-serif. 

That's it so far. The first issue is not necessarily a problem. The ability to quickly open apps especially things like Bing Maps is pretty cool and fast, but I just wish that I could've found documentation or an example someplace to get this behavior. 

The second issue however is crap. There is no point that a browser should be given the right to restyle a page. The standard for phone numbers thus far has been to create "tel" hrefs. Those are in fact ignored by the Skype linker, meaning, if you want to give users the option for your site, you have to have 2 layouts. And one of those will not let you style it. 

I know it's intended for convenience, but some numbers I may not want highlighted. In fact, that was the only information I could find on this subject - to simply eliminate it. Well, if you're in the middle ground, you have this struggle, which isn't empowering. It's now a quirk, alongside all our other fun tidbits with the legacy browsers. 

 

10 Print


10 Print
 is boring, code fetishist, smary, unbalanced and probably worth a read. 

Officially titled some long string of code I won't bother to repeat, the collection, part of MIT's Software Studies series, is made up of small essays surrounding a one-line program that when run on a Commodore 64 produces an infinite random maze.

Hitting on the general topics of mazes, the hardware of the 64, porting the program to other platforms, the nature/history of BASIC, randomness and traversing the maze produced, the book does a fine job of trying to hit this topic from every possible angle. Doesn't hurt that the cover is pretty freaking cool and the nods to the platform itself (64-style font for page numbers, listing chapters like BASIC line numbers, and the emblatic Blue of the 64 system) are also fun, especially, I imagine, if you were learning about those elements for the first time. 

The technical discussions, the historical tangents and the play with the program are the goods of the book. Showing the program in various 3D formats using the Processing language, porting it to the Atari and explaining path traversing in BASIC would really on point and carefully walk the line of exploring a technical subject with the aesthetic value of its output. 

The writers do a fine job of drilling down technical topics, emerging why subtle details of chip design, BASIC and business decisions have large reprecussions on computer function and expressiveness.

I insulted the book at the beginning of this post, and I should explain it. The book is aware that it's both smart and cool. While I enjoy feeling smart and cool, the subject is actually very interesting on its own and doesn't need attachments of hipness. Unfortunately, a lot of the chapters read like grad student responding to a writing prompt, pulling in complexity and reach as much as possible. While the authors never overreach, there's a lack of what makes good computer enjoyable which is genuine interest and exploration of a machine or language. 

There's already so much to say and go into, that reaching far out isn't necessary and is detrimental to the actual work ahead. A discussion on the history of mazes, regularity and randomness in art, while interesting, are essays about those matters that touch on the 10 Print program or use it as a jumping off point simply because that's what the book is about. While this makes the book far richer and posed for general audience acceptance, they clash with the books later more technical chapters and come off as "Look at all the tangents I can go off this small subject." 

I don't feel the authors failed in answering the prompt, but unfortunately this isn't about grading. The chapter on grids in art definitely turned me onto to new artists and have enriched my appreciation of organization in art, but they told me nothing new about the core subjects of the book. Essentially, they were out of scope.

But what is on about this book is spot on. 

 

Pages