Your Behavior Doesn’t Matter. The Republican Right Wing will Escalate Anyway.
I keep hearing the dumbest take from the “not-right-wing” imaginable. They keep saying stuff like, “Don’t get violent, cause they’ll use it…
Read more →Technical posts covering web development, tools, and experiments
Technical posts covering web development, tools, and experiments.
Topics include:
Browse through posts exploring web technologies and development practices from 2007 onwards.
I keep hearing the dumbest take from the “not-right-wing” imaginable. They keep saying stuff like, “Don’t get violent, cause they’ll use it…
Read more →The Right built an empire on values. The Left strangles itself on defense with data.
Read more →Democrats don’t even know how to think about fighting back, let alone know how to fight.
Read more →What do we need in American transit?
Read more →Responsible people can handle dangerous things — it’s the irresponsible ones we need to regulate. We need responsible gun regulation…
Read more →Blame lies ultimately with Democrats, because it’s their refusal to learn even a little bit about how moral messaging works that lets the…
Read more →Microsoft is uniquely unable to solve a problem Apple solved ages ago.
Read more →Democrats have a better set of moral world views specifically, progressive "nurturing" morality, and liberalism, but rarely ever even…
Read more →Republicans will take it back because they are aligned with 1 of America's 3 moral world views with plenty of nods toward liberalism, while Democrats mostly placate progressives through identity …
Read more →My suggestion for looking forward; we need an inclusive in-group label that let's everyone in. We can't start with a division between…
Read more →The white identity is the most harmful of all racial concepts. It's a nonsensical grouping, created out of convenience to build a fake race based majority group, to divide the population by immutable ...
Read more →The concept of left/right in politics is debilitating in it’s lack of dimensions, but it’s useful to structure discourse. I thought I’d…
Read more →Medium and the debilitating concept of left and right
Read more →Our morals are better. Let’s fight for them.
Read more →All politics is moral. The facts of any given political issue are filtered through a moral world view. Every determination is colored or…
Read more →Understanding that all politics is moral, there’s an even simpler way to view this. Rather than understanding the supportive role that…
Read more →The media keeps asking for your messaging, because what you’ve said is not good enough.
Read more →A novice take on the way Modern Monetary Theory MMT explains inflation from a permanent K shaped economy.
Read more →The E.M.M.I. are a hateful, game breaking gimmick.
Read more →Republicans don’t get the vaccine, because their “in-group” authorities tell them not to.
Read more →A conservative Republican would look at this meme, and see no contradiction.
Read more →“They hate fair elections. This is about Republicans subverting democracy for those who vote against them. Vote suppression is the only…
Read more →Mark Zuckerberg is a smart guy, and from most accounts, tries to do the right thing with his influential platform. Given the newness of…
Read more →The social media echo chamber problem is caused by a simple algorithm mistake which seemingly all of the social media platforms have baked…
Read more →The professional left through the DNC delivered us an impressive defeat, snatching victory from the jaws of defeat by installing unpopular…
Read more →I’ve been trying to figure out what Hillary Clinton would have to say to turn this Bernie Sanders supporter into a Hillary Clinton…
Read more →An update on Quint Dice. I turned on all the Facebook registration and login stuff that’s actually been done for a while, but I had off for a few reasons. Users may now sign up with their Facebook account, to make it easier to get started. Adding Facebook support has been one of the bigger …...
Read more →I’ve been working on a game for the last few months in spare time. It’s a dice game called Quint Dice, a social dice game. What makes this different from so many dice games out there is that it’s based on dice that have color pairs, and you can play it with more than two …...
Read more →Adding HiDPI and Retina screen support to a CreateJS (Flash HTML5 canvas publish with EaselJS) is easy enough. Just add this code after where the stage is defined in your published html file (either inside the generated init function, or handleComplete if there are external assets to load): [js] if (window.devicePixelRatio) { // grab the …...
Read more →Instead of making dozens of PNG files for all the various screen sizes for icon assets, I wanted to use vector graphics (such as SVG) in an Android app I’m building with Xamarin.Android. There is a tool for generating images, and that’s better than nothing, but SVG is even easier, and I’m all about easier. I …...
Read more →Quick update/note: Zynga has pulled the source for PlayScript, and no one has taken it up. Safe to assume it’s a dead project. A while back, Zynga employees demonstrated a project they are working on called PlayScript, an implementation of AS3 and an ASNext wish-list language they named PlayScript on the Mono Platform. In order …...
Read more →It’s a been a while since I posted. What’s up? I’ve been working on a ton of stuff, and learning 10 new platforms it feels like. There’s a lot of excitement out there in both mobile development and HTML5 spaces. I’ve been deep diving into WordPress, learning CoffeeScript and TypeScript (I even started a Backbone.js …...
Read more →I’ve got XAMPP installed on a Windows 7 machine. I wanted a way to test multiple sites locally. Set up the local host file In your host file, add (replace with the domains you want): [code]127.0.0.1 sub.domain.com.dev 127.0.0.1 www.example.com.dev 127.0.0.1 www.unfocus.com.dev[/code] UPDATE: Thanks to xip.io the host file edits are optional if you use the …...
Read more →I decided to finally learn unit testing, so I downloaded QUnit (after looking at the 20,000 different unit testing options), and figured I’d give porting tiny SignalsLite to JavaScript a try, and see how the process goes. While doing that, I found a crazy IE7/IE8 JS bug, that I’m sure has had me scratching my …...
Read more →I’ve been playing with some 2D API ideas built on top of Flash’s Stage3D and Actionscript 3.0. I call it Backstage2D, the GPU augmented flash display list. Currently, Backstage2D’s code base is mostly a playground for proof of concept of some API ideas. Some stuff in this post may not match the git repo (for …...
Read more →Scripts n Styles received a major update today. The two big features added are LESS.js support and Dynamic Shortcodes! The “Global” Settings page now has a LESS editor with syntax highlighting (via CodeMirror) and on-the-fly compiling so you can see how it’ll be outputted on the theme-side. The per-page meta-box has gained a new tab …...
Read more →I was playing around and ended up writing a lite Signals class (ok, 3 classes). The set works like a basic AS3 Signal, minus most of the extra functionality of AS3 Signals (run-time dispatching argument type checking as one example). The goal was to create a very fast Signal dispatcher, with very little overhead, and …...
Read more →Update: Mike Chambers posted an explanation and clarification on where Adobe is headed with Flash and AIR. Update 2: TechCrunch picks up (part of) the narrative. I published an old post with my thoughts on the “Flash is Dead” thing that pops up routinely in media circles after anything happens to shake things up (like …...
Read more →Preface: I wrote this one of the last few times the Flash is dead thing made the media rounds, because it seems as though many participants in the discussion are simply missing the bigger picture, that the market for rich interactive work is splitting between app store apps (native applications), and desktop browser-based apps (websites), …...
Read more →I’ve been working on this Benchmark based on Iain Lobb’s BunnyMark. Being a bit confused sometimes about what things speed things up or slow things down, I didn’t want to guess anymore, so I grabbed Iain’s code base (cause I’m lazy, and didn’t want to start from scratch), and added some tests for things I …...
Read more →Scripts n Styles is a tool to allow admins to add scripts and styles without editing template files, or worrying about authors overwriting the code.
Read more →I was recently asked my opinion on what makes a “native” app, and this was my response: It depends on how you split that hair. I think it depends on what platform level (hardware, OS, etc.) the particular user of the word native thinks that word applies to. It seems many use the word to …...
Read more →Here’s a quickie for WordPress Theme designers: If your theme is getting unwanted scroll-bars because of the new Admin Bar is WordPress 3.1, the core team included a way to handle it. Add Theme Support for it! With a full height layout, you’ll want to avoid adding a margin or padding to a height that …...
Read more →My first Android app is in the market place! Built with Adobe AIR, unBrix Alpha is a quick take on the classic breakout style game. This is more of a “lite” game at this point (hence the “Alpha” suffix), but it is already more complete than many of the other Arkanoid clones in iOS App …...
Read more →Well, it’s only a tech demo at the moment. I’ve been playing with this Breakout like game for a while, trying to learn the ins and outs of Flash mobile development – particularly as it relates to performance. I now have the unBrix demo running at close to 60FPS (59.1) – smooth as silk. This …...
Read more →Introducing a new plugin for WordPress from unFocus Projects! Ever need to add a CSS style or some code snippet to just one page or post in WordPress? We release an admin tool to do just that. On the post edit screen of the admin, Scripts n Styles adds a meta box where you can …...
Read more →Someone asked how to store a key value pair in HistoryKeeper recently, and this was my answer. History Keeper does not provide any state management features beyond the information you store on the actual deep link (URL hash). However, you should be able to use the deep link information to grab the data you need …...
Read more →Warning: RANT ahead Steve Jobs is full of crap. I could actually understand and respect a straightforward admission that the Flash Platform is a threat to Apple’s iOS business model – which is the real reason Jobs won’t let Flash on the iPhone and iPad. That’s not even a very good reason – the App …...
Read more →Recently, It occurred to me while writing a plugin dealing with custom post types and taxonomies for WordPress that it’d be nice to have some custom templates to go along with it. I seemed onerous to ask the the user to add template tags to their theme to be able to display a better page …...
Read more →UPDATE: I intended to post the source for this a long while ago (after cleaning it up), but I never got around to it. Here it is in it’s current state. I wanted to see how far I could push that exploding Actionscript 3.0 code – see if Flash could handle updating each animating pixel …...
Read more →Update: I posted a follow up an exploding video! Well I guess technically the pixels don’t explode as much as the DisplayObject explodes into pixels! I recently needed an effect that would make a bitmap image look sparkley, so I did some goggling, and game across a Firefly particle effect on a blog post belonging …...
Read more →I’m totally signing up for Final Fantasy XIV. It seems to say I need a fan site. Does this count? 😀 BTW, Final Fantasy XIII is wicked cool.
Read more →Just a quick note. The old theme (iNove) was creating extra history entries for some reason when you came to unfocus.com. I have no idea why, but that theme is now history. This new theme (iCandy 1.4 by Nischal Maniar) fixes the problem and looks nicer anyway. 🙂...
Read more →After I watched Avatar in 3D, I became curious about PC gaming in 3D. So I did some research on the subject. There are three kinds of home 3D solutions on the market today (and a few more in theaters); active shutter glasses, and polarized LCD monitors are the two full color technologies. Each have …...
Read more →While trying to come up with a way to get two different movies loaded at the same time, to play at different frame rates, I came up with a method to recursively stop all child movies of an as3 MovieClip. I didn’t end up using it, but I thought it might be useful for someone, …...
Read more →Testing Flash apps in a browser can be cumbersome, but it needs to be done for some browser only functionality, such as deep linking and back button functionality – as well as checking other things that might change once you are out of the Flash “test movie” sandbox, and into the browser – things like file …...
Read more →unFocus History Keeper is a JavaScript based library for managing browser history (back button) and providing support for deep linking for Flash and Ajax applications. What I’m proposing is taking History Keeper and making a jQuery plugin, and also a WordPress plugin to include the History Keeper library for use in WordPress. I am primarily …...
Read more →Just testing the iPhone app. Seems pretty spiffy. Can’t manage plugins and whatnot but that’s ok. This is pretty good for posting on the go. It supports landscape typing too. 🙂 For fun (and for testing I attached some pics of some cool clouds that rolled right accross the road on the way into work …...
Read more →I got a suggestion that unfocus.com needs forums (well, forum). So just for fun, I thought I’d dig up the old archive, and see if I could get it to work. And it did! Pretty easily too. You will have to register to post, since I can’t get the anonymous plugin to work yet – …...
Read more →I have decided that LGPL is overkill for a tiny project like unFocus.HistoryKeeper (and friends) – so I changed it to MIT. LGPL would have been a pain for anyone selling or using a commercial product with history keeper, and I really don’t think the code is substantial enough to be such a headache. But …...
Read more →Internet Explorer 6 is approaching its end of life! I did a quick Google search and found an “End of Life” movement calling for developers to abandon support on December 31, 2009 or January 1, 2010, but according to the Internet Explorer’s “Lifecycle Supported Service Packs” , it looks like support officially expires on July …...
Read more →A brand spanking new Beta 4 of unFocus.History Keeper is out, and ready for download! Download it from Google Code. (If you are wondering what happened to Beta 3 – I actually rolled that update about half way, and had it sitting in SVN for a while, but I never made the archive, or release …...
Read more →I made a promise on someone else’s blog to post the code for the Tetris clone I made a while back, probably in fatigue induced delirium, a little bit ago, so here it is in a new Google Code project called unFocus.Games. The post on bit-101 post was about game architecture. While developing the code for …...
Read more →I have to say, I didn’t “get” Twitter for a while. In the midst of all the pre-IPO buzz, I finally signed up, downloaded TweetDeck, and started tweeting. I hooked up just to see what the deal is, but I have to say, it’s a quite a tool. So now you can follow me on …...
Read more →Adobe has updated their versioning system for Flash Player. This welcome change, creates a few backward compatibility problems with FlashPlayerInfo though, since the terms I applied to each version decimal place, do not match Adobe’s new terms (they are off by one place-ish, sorta). To address these changes I added a new set of methods to check for …...
Read more →I added an initial round of AS3 files to the SVN trunk to make HistoryKeeper more accessible from Actionscript 3.0. If you are feeling adventurous, feel free to check it out of the trunk, and give it a try. There is also a small resurrected Actionscript to Javascript communicator (eh, it’s totally new actually, but …...
Read more →In the debate over whether web browser makers should implement .eot font support for Firefox in addition to their support for .ttf files (and .otf), their is an alternative that rarely gets any mention – SVG Glyphs in an html context. This is already supported by Opera 10, Safari 4, and Google Chrome (all prerelease …...
Read more →So for some reason MouseWheel.SCROLL events don’t work on Mac OS X. There is a fix! Gabriel over at Pixel Breaker created a script which fixes it up nicely. The script did require some modification to get it to work with SwfHTML, since it was designed to work with SwfObject. It took very little modification …...
Read more →I couldn’t find any way to set ResponseEncoding in IIS7 for static html files in web.config. The system.web setting using globalization doesn’t seem to fit anywhere in system.webServer like it seems like it should (someone please let me know if there is a way to do that). Anyway, I did find a way to sort …...
Read more →Update #2: It looks like a couple of days after I posted this, the Mosso guys sent word on fresh clicks that the issue has been fixed on their end, rendering this plugin completely useless, days after I put it up. 🙂 I stumbled across a problem running WordPress on Mosso (Rackspace Clould) servers (which …...
Read more →I thought the site needed a new coat of paint, and so I think Tetris is in order! Update: Moved to a separate page. Click to give flash focus – arrows move, up arrow rotates. There’s no start button, or end to the game – and no levels or scores either. But it’s a start. …...
Read more →Just a quick post. There have been a couple of fixes and changes that have gone into HistoryKeeper, SwfHTML and SwfShim that are now in the SVN trunk, as well as a few other issues that have been nailed down, and put into the issue tracker. Among the fixes are finally a fix for the …...
Read more →As you may have heard, Adobe recently released the first beta of Flash Player 10. It looks like unFocus.FlashPlayerInfo has been checking for single version digits, rather than multiple: [cc lang=’javascript’ ] _versionRaw.match(/Shockwave Flash (\d)\.(\d)/); [/cc] The fix is easy enough (I could swear I actually fixed this at one point too): [cc lang=’javascript’ ] …...
Read more →unFocus.History Keeper 2.0 Beta 2 is now available for download. Feel free to download, test and use the new beta. Here’s what’s new and fixed: History.js – There was an odd error, from a mixed up function, keeping History Keeper from working at all in the last release. It was the first issue reported by …...
Read more →Well I guess it’s not really hidden, as much as it’s a tag along to unFocus.History Keeper. I’ve had an interesting (to me anyway) battle in my own head about whether to even continue maintaining SwfHTML and it’s companions SwfCommunicator, and FlashPlayerInfo, since there are many solutions to the problems they address out there already …...
Read more →I had a planed to replace the use of Prototype.js in the Share This WordPress plugin, since that was the only plugin using it. Prototype is quite large, and my server isn’t currently set up to gzip javascript files. I started to replace it with jQuery, and add an option to switch between the two. …...
Read more →I just finished four days of trying to install Adobe CS3, and I thought I’d mention what the problem was (or more accurately, what the solution was, since I’m not entirely sure what the root cause was), in case it will save someone else the trouble. First let me say, Adobe‘s technical support is top …...
Read more →For a while I have been creating and sending links to History Keeper to /projects/HistoryKeeper/. When I moved that page into WordPress the URL became lower case, and case sensitive. This can be a problem for those used to Windows and IIS non-case sensitive URLs. To get around the problem, I added a hack to …...
Read more →Update: This information applies to Giraffe AJAX Calendar 2.3.1. AJAX Calendar 2.4 was released on September 3, 2007. This information is incompatible with that new version. Update 2: It seems that this new version is supposed to simply replace the functionality of the old Calendar, without requiring any extra work (so you’d just use the …...
Read more →Well, it seems that Object Patent Magic is not without it’s problems. I originally intended for this to be a super tiny drop in patch that could be used on any existing site to solve the click to activate issue in IE. But while it does work on everything that I’ve deployed it with, it doesn’t work on all …...
Read more →I occasionally come across an argument against the implementation of embedded web fonts in web browsers and I wanted to comment on it. The argument is that embedding fonts in web pages should not be allowed, because either people don’t have the rights to use fonts that way, or because it’s too easy for users …...
Read more →Gah! I’d like to apologize to anyone who received a ping of a very early draft version of this post, or had to suffer through that unfinished thought dump or any of the hurried revisions in between. I’ll post the finished article in a little while. I hit the publish button accidentally on my way …...
Read more →I’ve updated Object Patent Magic. It was broken for a while. It seems that doing the swap using a deferred script (which loads sooner than window.onload does) causes some problems with if you interrupt already loading content, then try to load it again (which is exactly what Patent Magic for swfs and some PNG transparency …...
Read more →The official Google Code name is unfocus-history-keeper. You can find the latest source in SVN. I will be doing development from trunk for now, until I can get to the tags and branches and whatnot to keep things organized. For now, here is a snapshot. I’ll call it History Keeper 2.0 Alpha 1 for now. …...
Read more →I just finished work on a new site for my place of work – adcSTUDIO. It’s not quite finished yet, as there are a lot of things missing, but it’s launched, and most importantly from an unFocus Projects perspective, it’s using the latest versions of all the unFocus scripts! Feel free to take a look …...
Read more →Well, here’s the new (sorta) blog. I’ll try to post here more frequently than I have in the past, but no promises. In the next few weeks, I’ll be getting things in order around here. I’ll eventually pick out a permanent skin, get permalinks working, install Atom 1.0 support, and maybe get maybe get around …...
Read more →