Haskell ?!?!

May 28th, 2009

WTF?! Haskell ??!

Why am I so enamored by Haskell?  Especially since my pursuits over the past year have been in the direction of new media and digital media art and away from the likes of hardcore bit and byte pushing.  As I read, learn and dabble with more artistic endeavors I came across a very interesting fact from Betty Edwards, author of “Drawing on the Right Side of the Brain“: drawing and art is about seeing.  In that light my interest in Haskell makes complete sense.  For me, Haskell, and functional programming in general, is a way to see computation more clearly.  I am finding that the paradigm shift which functional programming forces is producing a new, more clear way to **see** computationally.  Ironically, the mathematical rigor that grounds functional programming allows a level of expression through computation that is not bound by digital thinking.  This does not mean that functional programming is better than imperative programming.  In fact, I have yet to be convinced that any substantial modern graphical-application could benefit from functional programming.  (My intuition says that this is not true and I look forward to delving deeper).

In imperative programming you tell the computer how to solve a problem: “execute these steps with these conditions”.  In functional programming you define equations that define solutions to portions of a problem.  The combination of these functions, or in the case of a single function its conditions, prescribes the solution.  I find the resulting simplicity, conciseness, and interpretability of these programs to be poetic.  Furthermore, reading the solutions can provide more insight into the nature and “shape” of the problem.  This observation connects to a recurring observation that I have had in my art projects: working through the challenges to convey and communicate the ideas in my head gives me a greater appreciation for those ideas - their shape, texture, nuances, and implications.

Some Haskell

Here is an example Haskell question that I completed at the end of Chapter 3 in Real World Haskell.  The problem was to right a function that converts any list into a palindrome.  (Palindromic sequences are sequences that read the same forward and backward.)

palindromize (x:xs) = [x] ++ palindromize xs ++ [x]
palindromize x = [x]

That’s it!!  The two equations define two different parameter patterns for the function.  The first takes a list with at least two elements and the second takes a list of one element.  The ‘++’ operator concatenates lists.  The heart of the first equation is a recursive call to the function with every element EXCEPT the first element from the input.

Some More Haskell

How about determining if a list is a palindrome?  I used two different solutions to solve this problem.  The one that I am presenting here was informed by Programming in Haskell and uses functions that are not covered at this point in Real World Haskell.  I am presenting this one because it is more concise and is more readable.

isPalindrome xs = reverse (drop half xs) == take half xs
				   where half = length xs `div` 2

To me that solution reads plainly even for the Haskell uninitiated.  What’s going on here? I am taking the second half of the list, reversing it and comparing it to the first half of the sequence.   But my solution is too verbose! Here is a solution that I found at Final Cog, by Chris Dew.

isPalindrome x = x == reverse x

Hmm, that IS the definition of a palindrome. Maybe not poetic, but expressive; Expressive without being disjointed from the problem domain.

I am pretty excited to keep playing with Haskell and to get to a level of proficiency where I can start testing some of my ideas.

Becoming and finding work as a [digital] creative

May 17th, 2009

I think that recruiters, at least the ones that I have been fortunate enough to talk to, are invaluable resources for learning about the professional environment in an area.  As a new resident of The Bay Area the recruiters that I have met with have provided tremendously helpful insight into the trends, culture, recession effects, and projections for the technology community in this area.  I suspect the same would be true in your area as well.  Even if you are not in the market for a job, I am not either, it is still helpful to find some good (enthusiastic, knowledgeable, connected, and willing to network with you for future opportunities) recruiters.

One recruiter and I had a very interesting conversation about companies misrepresenting themselves.  Not intentionally but because they are unable to accurately look in the mirror and evaluate their strengths and weaknesses.  If you think about it the reasons for this should be obvious.  As a result of this “self-delusion” I think that it is up to us, potential employees, to work on developing better litmus tests for accessing fit with organizations.

Another thing that this recruiter said was that he noticed San Fran and New York technology firms leading hiring practices in a new direction.  A direction that emphasizes personality and creativity as much, if not more so, than technical aptitude.  I don’t think that this will be the case for all positions, but I hope that some companies begin to truly seek “creative entrepreneurial problem” solvers that they seek in their job postings.  In my experiences often times these people are sought by companies without a culture or positions that a “creative entrepreneurial problem” solvers would be interested in OR that requires one iota of creativity.

But, this is not a bitch fest.  It is instead the introduction to a series of posts that outline some of thoughts, experiences, and current projects to develop such a litmus test.  The heart of this test lies with us.  We have the ability to craft and hone and display our skills to all willing listeners and takers.  The theory is simple: I show you how I think, what I can do, what I want to do through my projects; you assess and measure me through said works; I assess you and apply another level of litmus testing to see if your environment is a good fit; we marry.

I should also say that this is in the spirit of something I read on Keith Peters blog.  When he was learning Objective-C for the iPhone he wrote that he finds teaching to be the best way to learn.  I aim to teach how to be and work as a digital creative for those without a “traditional” background.  (I think the whole notion of a traditional background for digital creatives is an oxymoronic vortex, but that is a discussion for another post. )

~happy creating~

Animoto

September 23rd, 2008

Gallery viewers seem to be one of the de-facto web 2.0 applications.  AI, in some respects, continues to be the holy grail of computer science. (Even research areas like computer vision are variances of AI.)  So, what happens when you mix AI and Gallery Viewers?!?

My Nascar Experience

Enter Animoto!!  Animoto is a tres cool site that creates videos from photos and soundtracks that you provide.  (If you have no music collection or taste they will even select an “appropriate” song for you).  Just upload a photo gallery plus a song and their AI engine constructs a video.  Don’t like the first one or want to see a remix?  Just click remix to create a new video.  Pretty sweet!

As a tech dork I would love to get a high level explanation of their algorithm.  As an aspiring artist this seeds some pretty cool ideas…stay tuned for the unveiliing of one that I am putting together. </suspense>

Gold Coast Art Festival

September 7th, 2008

Last month we strolled from our new digs in the Gold Coast to visit the Gold Coast Art Fair.  Little did I realize that that weekend was a harbinger of my growing interests in the Chicago Art scene.  Below are a few of the artists whose work I gravitated towards.

Time Machine 6 - Jason Brammer

jason brammer
I really liked the way jason’s Time Machine series’s paintings “escape” the canvas dimension to play in physical space.

Birds of Paradise 2008 - Ricahrd Miree

richard miree
richard miree’s sculpture had this incredible flowing feel to them.  to me they seemed like metal photographs that captured some dynamic phenomena (idea, animal,…)  in solid.

New Mangrove - John Zidek

New Mangrove - John Zidek

john zidek
continuing with the sculpture theme - a theme discovered in retrospect - john zidek’s cooper and glass work was appealing because of its scale and craftsmanship.  john also won ‘best in category’ at the fair.

Heavenly Solitude

giclee panoramic scenes
earlier this year I learned about the giclee process.  the louis cantillo gallery’s tent was the first time that I had seen giclee photo prints.  the giclee combined with scenes like portofino, italy above gave me yet another art style that I’ll have to collect.

Chicago Gallery Season begins

September 5th, 2008

I just got off of the free trolley that Artchicago.com and chicagoartnews.com sponsored to kick off the gallery season. I saw some phenomenal work that spanned digital fabric art, glass, furniture design, and more.

Over the past few weeks, come to think of it, I have hit quite a few Chicago art events. In fact I’ll post those event summaries and, more importantly, artist and gallery links to work that captured my imagination from those events.

Unfortunately, I only made it to one of the three gallery drop-off sites, The Fulton Market area. In the coming months I definitely will have hit the River North and West Loop scenes. (Chicago trivia: River North has the second highest gallery concentration in the US outside of Manhatten.). The Chicago art scene seems to be pretty lively and I am looking forward to diving in this year. The question is whether or not the scene is hot enough to sustain me during the dreadful Chi winter.

-blogged from iPhone-

Another Wattenberg (et. al) Infovis hit

August 21st, 2008

I tweeted this, but I also wanted to record it here for postertity. (Here is a write-up at information aesthetics with a better description of the actual vis.)

First of all, Fleshmap is a pretty cool research project.  In particular what I like is their investigation of both sides of the pleasure coin; this is how I give pleasure and this is how I receive pleasure.  The added dimension to external pleasure being the other person. So their study also incorporates the recipient’s opinion of pleasure.  They also did other studies uncovering body consciousness in our mental models and popular culture media. That’s the info part.

The vis part is equally provocative with a number of great layouts, iconography, and simple interactions that really present the body and its representation and place in our culture.

I google myself? Do you?

August 20th, 2008

Man, how many social networking sites are there?  Maybe in real space we will all just end up being the montage of our multiple online personality [disorders].

I Google myself

ING Cafes?!

August 17th, 2008

In my new hood we have one of the concept ING Direct Cafes. ING Direct, but isn’t that a bank?! Yup, that’s what I thought too. And the first couple of weeks here I have been walking past ING’s cafe to frequent the more familiar Argo Tea, Starbucks (unfortunately), and…well Starbucks. (Last count I have discovered 4 Starbucks within a 3 minute walk of my front door.) Yesterday I was looking for an alternative haunt because I have been tired of Starbuck’s burnt brew for quite some time and I wanted a change of pace from Argo. Thanks to iWant ( a neat Yelp based iPhone app ) I came across some rave reviews for this ING. And, they serve Peete’s Coffee!! Easy access to the only Peete’s in Chicago is one of the only things that I miss about my old hood.


So, here I sit enjoying free wifi, good coffee, and a funky cafe space littered with mild and unobtrusive capitalist literature. I am not a revolutionary, hipster, or a counter-culturist but this seems very odd. Consumer Reports, the Financial Times, screens advertising various ING financial products, HD Olympics, my fruit bran and flax muffin. Too many cultural themes are all playing concurrently! But…I live in the Gold Coast, have no problem paying exhorbitant prices for Apple products, shop at Whole Foods, and want to spend more money than a lot of people make in their lifetime on a more fuel efficient vehicle.

To their credit most of the ING propaganda is prompting us to save more money - of course through their bank. But, there are more advertisements for savings and wealth preservation then there are for loans and buy-more-stuff-to-stimulate-the-economy-and-your-own-collection-of-crap products.

Maybe banking, good coffee, and internet access are not such a crazy concept. I know I’ll be back.

Mame for Flash!!

August 13th, 2008

I can’t remember what version of Mame I got a few years ago, but suffice to say I spent a ridiculous amount of time playing contra and xcite bike.  My buddy Pek tweeted this a couple of days ago:

http://www.flashmagazine.com/News/detail/fmame_arcade_emulator_done_in_flash/

Pek is a veritable fountain of cool links.  Here is one he just showed me:

http://five3d.mathieu-badimon.com/

A competitor to papervision.

3D viz: don’t call it a comeback

August 5th, 2008

Have you noticed more and more 3D visualizations on the net?  Way back when in the infant days of data visualization the third dimension was the province of the future.  And then we all realized that massaging the two dimensional flat screen for a faux third dimension produced more problems than solutions.  The largest issue begin occlusion.

I think that people are finally coming up with some pretty cool uses for that 3rd (or 2.65) dimension.  Witness sites like the BBC Metaforce. Or the fotoviewr app. Where designers are using the third dimension to add a physical realness to the interface.

So, what does this *really* give you, the user ??!!  No news here: we get better experiences!  We get an interface that begins to have either a) a behavior that we expect from our interactions in the real world or b) an interface that gives us a physical response (kind of like a virtual haptic interface) that we can learn.  Beyond the wow factor, those two points enhance the interactive texture of the interface thereby improving the UX - user experience.

I am excited to see more people bringing 3D back.  As the community continues to expand the definition of useful application features to include experience enhancements more and more intangible niceties will be included in applications.