Chicken Scratches

Developing ideas on developing.
Page style (CSS):

Category: ‘programming’

Dev Ideas Episode 1: Haxe: What Makes It Cool

April 1st, 2010 by Eddie Sullivan

Dev Ideas Episode 1: Haxe: What Makes It Cool I’m very excited to tell you about Dev Ideas, a new video and slide presentation series where I will be drawing on my decade-plus of industry experience to discuss cutting edge concepts in the field of software development. For the first few episodes, I’ll be addressing some of the lesser known programming languages and techniques. This is a very exciting time to be in software, as new languages and paradigms are emerging and ideas that were previously limited to academics and research projects are now becoming mainstream.

In today’s first episode of Dev Ideas, I delve into the Haxe programming language. Haxe’s main claim to fame is as a free open-source alternative to the Flash development environment, but it is really a multiplatform language and toolkit. In addition to Flash .swf files, Haxe can target JavaScript, NekoVM, PHP, or C++ source code, making it possible to use the same language for all phases of a project. Haxe also gives you access to advanced language features like closures, type inference, and algebraic types. Come join me as I give a quick (23 minute) overview of what makes Haxe interesting and worth learning.

Watch the presentation now

Open Source Projects

December 9th, 2009 by Eddie Sullivan

Chicken Wing Software Open Source ProjectsI've created a new section of the chickenwingsw.com website dedicated to listing some of the open source projects created or maintained by Chicken Wing Software. They run the gamut from a metronome for the desktop musician to a Flash video player to a Python implementation of the PayPal API. I have previously blogged about most of these, but now they're all collected in one place.

Why not head over there now and check it out?

Chicken Wing Software's Open Source Projects

Eddie’s FLV Player

September 18th, 2009 by Eddie Sullivan

I've created a modified and updated version of Neolao's FLV Player. This is a very useful video player for FLV files that you can embed on your web site.

There were some features that I wanted added and some bugs that needed fixing, but there did not seem to be much activity on the original app's message board (at least the English language version), so I decided to make the changes myself.

I took the "MAXI" version of the player, and added in some more JavaScript support, improved some performance issues, and fixed a couple bugs.

Here is what I changed:

Read the rest of this entry »

The Future of Online Presentations – Mixing Video and Slides

September 2nd, 2009 by Eddie Sullivan

uxideas3

I am excited to announce Chicken Wing Software's online multimedia presentation system. The pilot presentation, created by Christine Perfetti of Perfetti Media, is online now. Facilitating a Usability Test is the first in what will be a series of presentations on usability testing techniques gleaned from her ten-plus years of experience in the field.

The system combines video with PowerPoint slides and text, all tied together with Dynamic HTML and JavaScript for a fully interactive experience. You can click on a slide thumbnail to advance the video to that spot in the presentation, and the displayed slide stays in synch with the video.

Even now, with only the first presentation, the system's potential is inspiring, and we are brimming with ideas for new features to add!

If you would be interested in using this technology for your own presentations, please contact us.

» Watch the presentation.

Introducing Eddie’s Fantasy Draught

August 21st, 2009 by Eddie Sullivan

Get it? It's a fantasy sports draft application, but it's spelled draught. Like draught beer. I like to watch football with a beer or two, and everyone loves a good pun. So there you go.

In my fantasy football and baseball leagues, we wanted to do a live draft, but we have players who live on both coasts, who work varying schedules, and some of whom have kids. Plus one of our rules is we allow keeping two to four players from year to year, to give some continuity.

Because of those two factors, it's impossible for us to use Yahoo!'s live draft or autodraft. So what does your trusty software engineer do? He codes up his own draft application, of course!

Read the rest of this entry »

PayPal on Python – a Python interface to PayPal’s NVP API

August 17th, 2009 by Eddie Sullivan
PayPal on Python

As of version 0.6, click here for the new home of PayPal on Python.

Thanks!

Help test my new Texas Hold’em poker site

April 17th, 2009 by Eddie Sullivan

After many months of hard work, I'm proud to announce that my new poker site, Best Texas Hold'em, is now up and ready for a Beta test. You can play now at www.bettorbest.com.

It's still in its early stages, but gameplay is working. You can log in with a Yahoo, MySpace, or Hotmail account, or your email address (Facebook support coming soon).

Since it's brand new, there may not be anybody to play against right away, so you may have to check back, or better yet invite a friend, if there is nobody there. Soon enough there will be artificial intelligence support to fill in when necessary.

For the technically interested, the site is programmed in the Python programming language using the Django web framework, and hosted on a Slicehost server. The front end is pure JavaScript with no downloads or plugins required.

Give it a try if you get a chance, and please let me know if you find any
problems.
Thanks!

OpenID is useless

March 16th, 2009 by Eddie Sullivan

I've been very busy lately working on my next project: an online Texas Hold'em poker site. It's been a lot of fun, and I have most of the actual gameplay functionality working. Now I'm working on the less-fun but just as necessary part: the authentication and login infrastructure.

Since I'm using Django, I can piggyback on its useful authentication module. That's a nice start, but users still need to choose a username and password before they can use the site, not to mention filling out their name, email address, and date of birth. My goal is to lower the barriers to potential users - both psychologically and in terms of effort. Folks are hesitant to sign up for yet another login and password, and to go through a lengthy registration process

Enter OpenID. OpenID sounds like a very promising standard. Unfortunately, the standard promises more than the implementations deliver. Or rather, the standard doesn't quite promise what it seems to. Read the rest of this entry »

Making a Facebook app (with Django) – part 3: Python & FBML

September 29th, 2008 by Eddie Sullivan

Welcome to the third part in my series of posts about creating a Facebook application. I am using Django as my web development framework, and this post will focus on some of the backend techniques I have worked out to make this work easier. This is not a tutorial, but a set of tools that I have developed. This is a long post, with a lot of source code; I hope you find at least some of it useful.

Keep in mind as you read this that the Facebook platform is still very new, and likely to change. In fact, if you're a FB user, you are probably aware they recently completed a major transition to a new profile design. This included many changes behind the scenes for developers, some of which are still playing out. I recommend keeping up with the Facebook Platform Developer Forum and the Facebook Developer Blog.

Also, I will assume you have already read the API Documentation and the documentation for PyFacebook, and that you know how to create a web app using Django. If not, you will want to start there.

Read the rest of this entry »

Making a Facebook app (with Django) – part 2: JavaScript and FBJS

August 17th, 2008 by Eddie Sullivan

Welcome to the second part in my series of posts about creating a Facebook application. I am using Django as my web development framework, but this post doesn't have much to do with Django, since it deals with the front end. In particular, it talks about how to write JavaScript that can work both in and out of Facebook.

As I mentioned last time, Facebook lets developers use a subset of JavaScript, which they call FBJS. The FBJS is transformed on the fly into JavaScript as the page is loaded. All variables and functions you define or reference are prepended with a string like "a123456789_", including calls to document.getElementById and setTimer and the like. This is done in order to restrict what you can do with DOM elements, to avoid cross-site-scripting attacks and unwanted user-hostile behavior. FBJS is fairly well documented, so if you plan to do some Facebook JavaScript development, you should start there.

The biggest restriction that FBJS imposes is that you can no longer access the attributes of DOM elements directly, but must go through an abstraction API consisting of a series of setters and getters. For example, instead of saying something like imageEl.src = myImageUrl, you instead need to call imageEl.setSrc(myImageUrl).

Read the rest of this entry »