I hereby decree

by David LeMieux

 

I am a fan of art generated by code. I even gave it a try a little bit. There is a lot that can be discussed about the topic as a whole, but I want to only take a moment and spotlight a project that I found recently through browsing my Github feed.

var t;

Jenn Schiffer (who's posts on Medium, by the way, have caused a sufficient amount of confusion at work to make me an instant fan) is dissecting different artists and art styles and how one might replicate them using code.

Example step in the process
Example step in the process

This includes first figuring out the patterns and replicable parts of art and then trying to reproduce them procedurally with code. What is interesting to me about the process is that this method almost completely ignores the question "What is art?" and instead says "Here is some art, lets break down the parts. How can I make a similar art with similar parts?" Which itself is an indirect answer to the first question, if even unintentionally.

It sort of reminds me of The Artist is Present Game where you relive the experience of the performance of the same name, only digitally. It isn't the same as the original, but it becomes its own thing by being an approximate replica in a different medium.

I don't mean to draw conclusions from things that don't need them. I enjoy art and code and art made from code. Maybe someday someone will create an interpreter that runs code based on art.

 

Comments (View)

 

I am a fan of Coins but only recently did I discover this album of Beastie Boys/Daft Punk mashup tracks. I have listened to it a lot over the last few weeks and I have to say that each track is better than the last. The only exception, for me, is the _Disco Breakin track which, while still a fun listen, doesn't follow the crescendo of increasing quality and instead takes us back to around _Pass the Mic. That could just be me, though.




Bonus: There is also a new CVS Bangers

 

Comments (View)

 

I went to Eastern Washington University for a year between 2000 and 2001. While there I had the opportunity to be in the Marching Band, Wind Ensemble and Pep Band as third trombone. We would be required (and also paid) to play at sporting events. Because of this we would often have need to coordinate with the cheer team because they wanted to be sure to have time to do their cheers and they also wanted to know when we would play different songs because they had worked out little dance routines that accompanied them.

The thing is, though, we didn't really get along with the cheer squad. I am not exactly sure why, but there was some enmity there that perhaps had persisted through time. I was a freshman and so I bought in to the culture of animosity, and that is a topic for another day. It is enough to say that we felt occasionally inspired to upset the cheer team.

We would play this song at the request of the cheer team:



Normally when a band from an opposing school would play this song we would shout over the top of the "Go Team Go" part and instead shout "High School Band" in a mocking tone. We felt we were above this simple melodic rally cry. When the cheer team would insist we perform the tune we were always reluctant to comply. We would use this an opportunity to upset the cheer team.

Since the cheer team had created a little routine to go with the song, and since it was loop-able (as is the song) we would purposefully put extra measures at different parts of the song, adding extra beats here and there, throwing off the rhythm of their dance. They would never quite figure out what had gone wrong and we wouldn't do it frequently enough to have it be common.

 

Comments (View)

 

A Dead Colors fan emailed me a request:

 Could you, by any chance, make a color palette containing all of the dead colors for PhotoShop? 


When I finally found the email I was sitting at the @Scale Conference and decided I'd give it a try. I could have, of course, gone in to photoshop and created a new palette manually and then exported it (which, due to my finding the email late, was what the fan ended up doing before I could respond) but I didn't want to take the time.

I did a quick search for the Adobe file specification for .aco files and found this information by Larry Tesler. The code that generates the dead colors list was originally written in PHP, but I decided that with the specification and a quick refactor I could generate the color file using Node.

I did find something perhaps noteworthy. The spec information says that the versions are 0 and 1 but I could never get the file to work until on a whim I tried using 2 - so either I am tapping some undocumented third version or the values are supposed to be 1 and 2. On top of that I ran in to some issues early due to my not using unsigned integers.

The resulting library is on Github. You give it a list of color information including the display name and hex color value and it will create a color palette that you can import in to at least the latest version of Photoshop. Next steps would include adding reading, but due to the many different color encoding types this will take some time and I really only needed the write capability to satisfy the original request.

The dead colors aco file is available on the Dead Colors page. I was able to send it to the fan but too late. He had already done it manually taking hours of his time.

I may have had to go through the hours of pain of making one myself before receiving this message, but it still makes me so happy that you responded.


It was a fun exercise and I was able to get most of it done while I also listened to talks at the conference.

node-aco on github

 

Comments (View)

 

There is a not-too-recent design trend that websites are designed to not scroll but instead animate or change the information on the screen as the user uses the scroll wheel on a mouse or the scroll bar. A limited example of this can been seen on Dropbox's Carousel site.



As you can see in the video, as the use scrolls downward some animations play and at a certain point the page stops scrolling entirely and only the animations continue, even though the page is still scrollable. There are other, more extreme examples of this as well. Some sites seem to handle this new take on information disclosure in a way that makes sense but many miss the mark and become confusing.

This breaks usability. The animations are visually interesting and the end result (displaying more content) is essentially the same, but there is no longer a 1:1 mapping of the actions a user takes through the interface or the input device to what is happening on the screen. The timeline, for lack of a better term, becomes arbitrary. The different portions of content are harder to track because they lose their sense of placement on the page. If a user is using touch device to scroll then that relationship can be further harmed. (Though in the case of carousel, the site removes this and scrolls as you'd expect).

Timeline may be the right term to use inasmuch as the design of the pages treats the scrollbar like a scrubber going through the time of some animation or even a video, even though the presentation is interactive. If the designer wanted to present the user with a timeline of information then she/he should stick to a more readily identifiable mechanism for the same.

It can also be tempting to misuse animation. Animation really isn't the issue, though. The issue is the disconnect between the scroll action and what you see visually on the page in terms of mapping movement. You wouldn't turn the page of a book and have it only change the picture on the page you are on. That is a bad comparison, but the idea is the same.

Let pages scroll, otherwise use a different navigation mechanism and make it obvious.

 

Comments (View)

 

Getting a random value in JavaScript is pretty boring;

 var random = Math.random(); 


This will give you a floating-point, psuedo-random number between zero and one. This is not very random. When I ask for something random I should be able to get back whatever. Spork. Waffles. Things that are totally random and cool.

That is why I've taken the first step toward making Math.random more random.



As you can see, this updates the regular Math.random to also sometimes return a totally random string (cheese). (This is another example of how random it should be.)

DOOM!

 

Comments (View)

 

I am at an interesting point of my career and the only name I seem to be able to give to it is indifference. In the last six years I have been at Flite the world of software development has changed and not even just once. I do not expect it will slow down either, but my willingness and interest in keeping up has certainly waned.

Recently I have been surveying the job landscape and technologies that didn't even exist (or were definitely not mainstream) three years ago are now listed on almost every job description. There isn't anything wrong with that necessarily but I haven't personally had the time nor inclination to try and do anything with those new technologies but if I wanted to go get a new job I am now expected to know about them.

What makes things seemingly worse is that, in my casual observance of the landscape, we seem to be loosing any subtlety and compromise and instead everything turns in to a Holy War. Everybody is looking for people who are on the same side. Which platform do you use? Which text editor? Which project management methodology? (Which phone platform? Which OS? and on and on) The big players like Google and Facebook and Twitter then throw their weight in the mix. Sometime I think it is because that, as large companies, they don't actually have enough work to do and so spend their time dreaming up their own ideal vision of how things should work. And why shouldn't they? I am still not convinced that their ways should be my ways but it looks like there is no avoiding making a choice.

Take bower for example. It is neat and works as it says on the tin, but I cannot figure out how or why I'd use it in a production environment. If I need to download dependencies I can do that and package them. I am not about to change my deployment infrastructure just because a new tool exists to replace something I maybe do one or twice a month, tops. That said, maybe I am missing the bigger picture. I guess the point is that right now I don't care.

I will own up to the fact that I am falling behind on my own school of thought that if you like something you will do it on your own and gain experience through trial and error. It isn't like I've been sitting at work doing nothing. We don't always have the opportunity to adopt new technologies at the drop of a hat and if we did we might not ever get anything done. I could try harder to stay current.

This complaint is not original nor unique. I feel a little bit like an inflexible curmudgeon by admitting these reservations, but what else can I do?

I am just getting tired of feeling like I need to have an opinion about everything. I am much more comfortable saying that I will use the best tool for the job as I find them, but if "the industry" is going one way I guess I also don't want to be on the side that gets left behind.


Update: This video is great.





 

Comments (View)

 

Portfolio Image
Scratch it away!

Its been like eight years since I updated my personal portfolio but I'm glad I did it.

Check it out.

 

Comments (View)

 

I was informed today that E.ggtimer gets too much traffic to remain on my original hosting plan which is both exciting and scary. In response, my web hosting provider shut it down without warning. I was able to get it set up on Amazon's services using EC2 - so hopefully it will run smoothly and now allow me some freedom in terms of feature enhancement.

E.ggTimer was down for several hours today. Sorry for the inconvenience.


 

Comments (View)

 

I hereby decree that while the world has moved on from feeds and blogs, or at least appears to have done, I feel like what we've lost isn't completely replaced by what we've gained. That said, I communicate more than I did before, in spite of the connections having less meaning.

 

Comments (View)

 

I've made some minor tweaks to please. Now inputs use readline instead of stdin so that command line tab completion can work. Second, if you mistype an alias it will try and show you something that might match. This second part is super fleshed out, but if you leave out a work or a character it should at least show you something.

 

Comments (View)

 

Halloween is my favorite holiday. Other holidays are also great, but Halloween is the one time a year I have an excuse to make something that would otherwise seem unnecessary. Usually I decorate my car for the annual Trunk or Treat. This year, however, my son wanted to dress as a robot with "lights and working gears." And so I felt compelled to grant his request.

Full Costume, sans wearer
Full costume, sans wearer

My wife and I decided to team up. I did most of the robot body and electronics and she did the other decorating and made some cool pants and other accessories.

The front ended up having two sets of LED lights. One set blinked at an interval, the other chased back and forth. A third set of lights, in the head/helmet, ran in a circle.

Image of Costume Detail
Two sets of lights and some decoration

Switch controlling the lights
Switch controlling the lights

A switch on the left side of the costume, reachable by my son, controlled the lights in the body.

The body and head were made with carboard boxes that we taped up and painted silver. I glued an extra poster-board panel on the front to give it a cleaner looking finish. On the bottom of the front panel were spinning gears. I made those out of high-density foam and connected them to a gear box and electric motor that were inside the box. I cut the gears from a template but since I don't have a band saw I cut them by hand and therefor they were quite inaccurate and would jam frequently. Fortunately since they were foam, any fingers or other things that got trapped in them were safe from harm.

Gears
Foam Gears

Gears
Push button switch

The gears were switched on by a push button on the right side that my son could use whenever he wanted to add some flourish to his costume. While the lights could stay on as long as they were turned on, I made the gears operate with a push button that had to be held so that they wouldn't run all the time, draining the batteries. Also, the motor and gear box were kind of loud.

The wires were all just on the inside of the box.

Wires and Such
Wires, taped in.

In the end, my son loved the costume and everyone we met while trick-or-treating seemed to enjoy it as well. Many houses we went to even claimed to be giving him extra candy just because the costume was so great.

There was a costume contest, but he lost to some very well made life-sized Star Wars Lego mini-figs (sorry, I don't have a picture.)


Video

 

Comments (View)

 

In High School a few friends and I had this idea that the local marching bands, which competed in marching competitions, should also have a friendly flag football game. Instead of asking the schools for permission we organized it ourselves and put homemade signs up sheets in the other schools' music rooms asking for band kids to sign up and contact us. We put our own names and contact information, mine on top.

We may have used some copy that didn't sit well with school faculty who found out. Something like "get revenge" or "beat down your opponent." The schools, not wanting any liability, put an end to it. During Wind Ensemble one morning in front of the whole class our music director called the three of us out by name and asked why we would even do such a thing. In that moment, caught off guard, I failed myself. I shrank. I didn't respond. I pointed to the other guys and essentially threw one of them under the bus.

I am ashamed. I was a coward.

I think about this event often. I am still friends with one but the other I haven't ever talked to since.

Sometimes when I think about what happened I can't decide if I've gotten any better at taking responsibility for my actions, especially in public settings. Had the director pulled us aside privately I may have done better, but in front of my peers I did something terrible. I lied and lost a friend.

 

Comments (View)

 

CSS is a powerful language used to describe how a webpage should look. It has come a long way over the years and can be used to create seemingly limitless design. Except for when it can't.

I am not great at coding with CSS. I will admit right here that while I have an understanding of the language and the way it should work, I couldn't get by without having to look up every property on the web. I feel like I must not be approaching web design in the right way because I look at all the wonderfully designed websites in the world and it becomes apparent to me that CSS can do a lot and is used to great effect. Whenever I try to use it I bumble around and ultimately end up in a situation where nothing seems to work.

For example: vertical centering. I know there are ways to accomplish it but it always seems like I am implementing a work around and not letting the language do its thing. Why can't

vertical-align: middle
just work?

Another thing I find myself wanting is a way to do math in the CSS. I know with things like SASS some expressions are available, and I know, as with vertical centering, there are ways to get this done, but doing something like having one box be 100% width of its container minus 10px would be more awesome if I could just write 100% - 10px. I understand there is support on the way yet I remain confused why we don't have it already.

Really this is the rant of an ignorant developer saying something is 'too hard'. I can certainly try harder and try to learn and apply the styles as needed to achieve my desired output, but so many times I find myself trying and then just revert to JavaScript because it seems to be that much easier.

Each new design project I get I try to use CSS as much as possible. Last year's family card was just such an exercise. I also want to be clear that I like to design and lay things out. I am not just a coder why has to do a GUI from time to time. That said, CSS seems to provision and provide for great depth in design and layout, yet the simple, obvious answers never are.

I will continue to learn and try and grow, but I also have CSS will do the same. We can grow together. Hopefully in another year you'll hear me singing the praise of CSS and looking back at this post with some embarrassment.

 

Comments (View)

 

Air Cannon
Fully Loaded Air Cannon

Nearly fourteen years ago I was in a musical performance group called "Thump." We were a bunch of high-school students ripping off, er, paying homage to Stomp and Blue Man Group. We played mostly percussive arrangements and put on, what I would call, a pretty rockin' stage show.

My job in the group was Lighting and Effects manager. I didn't play an instrument but I ran the lights, help make the tickets, ran the website, and handled other duties to help make the performance more professional. One project that I had for our second round of shows was to make an air cannon to shoot paper streamers across the audience during a particularly impactful part of the show. Air cannons of this sort were nothing new, but we didn't have a budget and so everything had to be made or acquired on the cheap.

I studied the basic mechanics of air cannons for a while. I consulted with local college and high-school physics professors to make sure my design was sound and would work. When I thought I had a good design I built a prototype. I used a small compressed air tank, some pipes, plumbing, an air gage, and a large aperture manual valve. I had wanted to use an electric valve but they were too expensive. After a few test runs I figured out the right way to pack it, how to add a paper cap at the end to ensure proper pressure distribution, and how to fire it on cue.

The night of the first performance things went better than expected and the air cannon effect provided an exclamation point to the already great performance. It went so well that as a group we decided we wanted two for the next night. The stage was pretty wide and the air cannon only effectively reached half of the audience. We wanted more coverage. Since I already had a working design I went out and bought all the same parts and put them together in the same way, or so I thought.

The second show was a few hours from staring and so I began to prepare the cannons. I packed them carefully with rolls of paper confetti. I checked the valves and all the connections. Then I asked a friend to fill them up with air to a predetermined pressure. I would have done it myself, but since I also ran the lights and other effects I needed to get those set up before people started filing in.

As the final number came we got the cannons in to position. We quickly reviewed firing them (I had been doing it on my own the night before, and this time I needed help) and we got the timing down with a non-firing practice. We armed the cannons and got in to position. The cue came, we turned the valves and nothing.

"Well, at least they both failed together" I thought when I saw the absence of paper streamers, but I was wrong. The cannon on the far side, controlled by my friend, didn't fire. I forgot to tell him that the air gage was stuck and so when he was filling them he thought it already had air in it. My cannon had fired, but it took a few seconds for me to realize that I was left holding only half of it. The entire barrel, a long length of 3-inch PVC pipe filled with confetti rolls, had rocketed in to the audience much like an untied ballon when the end is let go. The barrel weighed anywhere from three to ten pounds. I instantly remembered I had failed to add the last application of PVC glue. The result was that when I opened the valve it filled the barrel with air then sent it in to the audience like a rocket. The barrel cleared a four foot pit wall, sailed over the aisle, and back many rows in to the audience. I never asked how many exactly, but given the angle of launch, it had to be at least ten.

Luckily it "landed" in the lap of a friend and not on the head of a stranger. Actually, it landed in his girlfriends lap and she was okay. I could have seriously injured or possibly killed someone.

I don't know what happened to those air cannons. They were at a group member's home for a bit. I left for college and so did everyone else. They were probably thrown away. Sometimes I wish I still had them though. Those kinds of projects, in high-school, college, and throughout my life have been key in forming my education and experience. I learned so much from almost killing someone with a failed air cannon than I wish everyone could have similar, if perhaps safer, experiences of their own.

Is "killing" hyperbole? Sure, but how I felt in that moment I was afraid I had. I imagined all the worst scenarios.

I am grateful I had the opportunities I had when I was younger and it is a personal dream of mine to be able to enable others to do so in the future.

 

Comments (View)

 

I hereby decree has successfully migrated to better versions of core technology.

 

Comments (View)

 

Inspired by the current NSA Scandal







Enjoy!

 

Comments (View)

 

Code libraries and frameworks are great. They provide so much of the heavy lifting that developing with them becomes easy and predictable. In most cases, code libraries are a perfect remedy.

In JavaScript, for example, jQuery not only provides a nice interface for dom manipulation, but also normalizes all the browser quirks so that, regardless of how a method is implemented, we know it will work. True encapsulation that benefits the developer. Unfortunately libraries like jQuery come at a cost, albeit an increasingly small one: Bandwidth.

There are things that can be done to offset this, like using a CDN hosted version of the file. There are also tools that can help you manage what features you need and only package those in. Modernizr has an excellent example of this on their download page. Still, there are cases like those I see at work where a 20Kb library takes up too much space.

At Flite I help develop our ad platform. Users can make ads for desktop and mobile web use and then traffic them via different channels. The IAB has numerous guidelines about Internet advertising, and one of them is about file size. Some ads, for example, have to be under 40Kb, images and all. Since we develop a platform that allows users to create ads in a drag-and-drop interface and customize it will different components and features we are, in effect, serving small web applications as ads. But for all the functionality we allow, we can't tap in to the features provided in a library like Angular JS, for example, because the minified file size is nearly 30K on its own, leaving very little room for other assets.

I understand this is a problem that is perhaps unique to our circumstances at Flite. It still holds true that if we can, in most cases, make our file sizes smaller then sites will load faster and faster load times mean more satisfied users. So my question is always this: At what point does using a library become useful?

If all I need to do is get an element on the page, there is no need to use jQuery with its selector interface when regular old Vanilla JavaScript can help:

var item = document.getElementById("theItemIWant");

But if I need to do something that becomes complex across multiple browsers and my own code would be bloated and inefficient, why not rely on a utility to do it for me?

Picking the right library or utility can also help when bandwidth is concerned.

There are resources out there to help find small libraries, like Micro JS, though not every library there has legacy browser support. It is also important to be aware that some libraries have dependencies on others - so a small MVC framework might actually depend on some other larger utility in order to function correctly.

Like I said before, maybe this is becoming less of an issue in the real world, but why not take a moment to consider how to make things more efficient and cleaner for our end users? Also, the exercise of solving code problems without a framework helps engender more respect for them and their utility.

 

Comments (View)

 

There is a pattern in some JavaScript libraries in which methods called on an object return that same object so that more methods can be called. This is known as method chaining and it looks something like this:

$('#myDiv').show().addClass('foo').append("Hello"); //And so on 

This code gets the #myDiv jQuery object, shows it, adds the class 'foo' to it, then appends some HTML. We could continue doing this for many more methods.

Unfortunately, not every method follows this pattern consistently. Setting dimensions, for example:
$('#myDiv').width(300).height(300);

works fine, but if we call either of those methods without the new dimension:
$('#myDiv').width() //Returns a number

what we are really asking for is the current width and so a number is returned. That means we have one method with different return types. The jQuery team have decided this is how they want their interface to work and that is fine but this is something to consider when designing your own library. You could easily imagine that the method should always return the current dimension, even if a new one is set. Perhaps a different method that always return self would then also provide the kind of usability that is desired for chaining (e.g. $().setDimension()).

Method chaining is useful, but so are well defined, consistent interfaces. Promises use this pattern to great effect which is a small part of what makes them so powerful. My own personal preference would be that if your interface method can consistently return self and it would be useful to do so, then make it happen. Otherwise, I fall slightly over the line of being more interested in a clean api.

 

Comments (View)

 

I made some minor updates to please lately and I figured I could talk about them here.

First, I fixed some bugs around the token replacement and input for aliases that use them. I also made it so that the template values could be provided inline with the initial command so that what was once:

> please do something

> input: _


can now be:

> please do something -input 'foo'


Next, I made it so that when using --list you can provide a filter argument. please --list bar, for example, will list all aliases that contain the word "bar".

Finally, I added environment variable support to aliases so that $ENV_VARIABLE will correctly parse to the right value.

Just download the project or clone it from github then run the rake install task and it should be ready to use on your OS X terminal!

I am sure that no one else actually uses please, but I find it very useful. Since the please.yml file can be stored in any directory (based on environment variable), I have it stored in my Dropbox folder so that between computers I have the same list of aliases, automatically synchronized. If it were to ever get more popular, I could even see putting together a github repository or some other way for people to share their alias files. But maybe I need to make the code more robust before then.

 

Comments (View)

 

To my knowledge, Kraft has not done a campaign like this, but they should.

 

Comments (View)

 

A quick update to say that I put the bulk of the E.ggTimer code on Github as is. Mostly because it isn't doing much good just sitting there. Also, it will better coax me to make improvements and clean it up.

Check it out on Github

 

Comments (View)

 

Responsive Design
All the different layouts. 1) Large. 2) Medium Large (iPad Horizontal). 3) Medium Small (iPad Vertical) 4) Small (iPhone)


Continuing last years example I made another digital family Christmas card.

Last year I experimented with different HTML5 features including audio and canvas. That card was JavaScript heavy. This year I decided to try my hand at CSS and everyone's favorite buzz-work: Responsive Design. The result is a page with a lot of rectangles and images. Clicking (or tapping) each image will flip it over with CSS 3d transitions and show new content. The JavaScript used is minimal.

I had originally set out to use a framework or library like Twitter's Bootstrap. I found, however, that there was a certain amount of feature overkill for what I was trying to accomplish.

I also attempted to use CSS media queries to support Retina devices, but I failed miserably. Maybe next year?

I've made the code for both cards available at github. As usual, it only works in modern browsers, and even then only really in the webkit ones. I didn't want to take the time to make it compatible. Sorry.
2011
2012

 

Comments (View)

 

Just a story I did on Twitter. Nothing important.

Back in my day we had books. You had to pick them up and open them and turn each page by hand. David LeMieux (@lemieuxster) January 29, 2013

And if you wanted to know where something was you'd have to hope it was in the index or that there was even an index at all. David LeMieux (@lemieuxster) January 29, 2013

And from time to time certain books would be enchanted. Opening them without first saying an incantation would release all of Hell's demons. David LeMieux (@lemieuxster) January 29, 2013

Then you'd have to run to the warlock's house and ask him to help, but there was always a price. Your Uncle Jim gave his life for ours. David LeMieux (@lemieuxster) January 29, 2013

Anyway, you kids don't know how good you have it, what with these AR Contacts and cranial implants. David LeMieux (@lemieuxster) January 29, 2013

 

Comments (View)

 

For nearly as long as I've worked at Flite I've done more or less the same thing. Not just "writing code" but "writing code to do the same thing." It has been a fun challenge and actually resulted in some work I am very proud of. Recently, however, I was assigned a new thing and it has been delightfully freeing.

I've worked on different projects in the past, but my main focus on all of those projects has been the ad runtime platform at Flite. Now I am working on something more front-end related and the change of pace has done two things: 1) It has given me a chance to stretch different coder muscles and 2) Taking a step back from platform work, I've actually begun to get lots of creative ideas about the platform again. Previously I was feeling somewhat stuck in a loop.

The stresses are different. In the platform code, I have to constantly make sure I'm not making the file size (for a file served thousands of times a minute) too large. I also have to make sure it is robust enough to work anywhere without breaking ad or webpage functionality. Not having that constant worry has been liberating. In its place are new worries - like am I writing code compatible with existing patterns and not breaking user experience - but they are new and fresh and welcome.

For the one or two people who will read this: Flite is Hiring

 

Comments (View)

 

I have been with Widgetbox/Flite for more than four years now and I've gained some valuable skills. I've added these skills to my LinkedIn profile.

Skillz Skillz Skillz Skillz Skillz Skillz

Please recommend me on LinkedIn.

 

Comments (View)

 

Dead Colors Preview
Updated list of DEAD colors

Spent a few minutes to update the DEAD Colors list. Check it out.

 

Comments (View)

 

Just a thought:

Valve recently announced a beta release of Big Picture. Big Picture lets you access and play your Steam library of games (or at least the compatible portions) on a large screen or TV using a console controller. Valve's main selling points for doing this are that a player doesn't have to give up all the collateral - friends, games, and achievements - when he or she decides to play video games "in the living room." A very interesting idea, but I have been wondering lately if maybe something else is going on.

Valve developers seem to be upset about the horizon of PC gaming. With some open concern about Windows 8 and what seems like a continuous march towards limitation and control from OS makers (app stores, sandboxes, etc.) it makes sense that Valve would start to explore alternate means of distribution. If you take the recent Big Picture announcement and combine it with even more recent news about Steam for Linux and add a sprinkling of desire to be free of OS overlords, it seems to me, at least, that Valve might be thinking of a future in set top devices. Or, if nothing else, linux powered machines that can run Steam powered games and allow players to play them on a large machine. Add in a controller and you've essentially created a console.

If anyone is going to disrupt the console market, I suppose Valve is in a unique position to do so. They already have the distribution and game mechanics architecture and have been learning how to scale both. They have a nice library of games, many of which already have console counter parts. Valve also has a tremendous fan and user base that would be willing to give things a go. If Valve stays consistent with their other marketing strategies, they are poised to take on the larger players.

That said, this could also be seen as a sustaining innovation. Either way, if Valve is considering a move toward set top hardware or alternate means of distribution to get around what they feel are too many OS restrictions this Big Picture beta test will give them at least a glimpse in to how users might react.

Then again, this is pure speculation. I could be 100% incorrect. I like to hope that there is at least a smidgen of truth in this thinking though, because it would be cool.

 

Comments (View)

 

Lately I have been experimenting with different phone ring sounds. Here are some I have found to be the most effective:

 

Comments (View)

 

My brother and I have been updating a new blog. Check out Things on Skateboards

 

Comments (View)