Posts

PLATO Access Lists

Image
At work today we discussed the need for a relatively sophisticated permissions system for controlling access to various features at a site we are building. I realized that something similar to what we were talking about was designed and built way back in the early 1980s on the PLATO system. Here's an Antiques Roadshow tour of PLATO Access Lists using a game I worked on in college as an example.... (if you want the PDF version contact me ). Avatar: A Multi-Player Dungeons and Dragons Game http://en.wikipedia.org/wiki/Avatar_(PLATO_system_video_game) An Access List is a system-provided capability on PLATO that allows authors (developers) to create custom flags that can then be used to control access to various features of a lesson (program). The example shown here is for Avatar, a popular RPG on PLATO. Keep in mind that this was created in the early 1980s and 512 x 512 plasma (orange) panel screens were state-of-the-art at the time. http://en.wikipedia.org/wiki/PLATO_...

Messaging for Mobile Apps (XMPP)

I've been looking around for a solution to messaging between devices since I'd like to experiment with creating a lite version of a game (Avatar) that I worked on in college as a learning experience. More about that at another time. http://en.wikipedia.org/wiki/Avatar_(video_game) XMPP (Jabber) looks interesting. What's really attractive is that I may design the App with no server-side component with just message handling on the Internet. It's different since Avatar in college depended on shared memory (common) and only used a message queue for a portion of the game. Here's video that got me started (Hulu developers): Building Asynchronous Communication Layer w XMPP, Ruby, Javascript by Andrew Carter and Steve Jang http://www.youtube.com/watch?v=3ZynQ04BuN8 And an interesting article: http://wiki.secondlife.com/wiki/Message_Queue_Evaluation_Notes And a JavaScript library to experiment with: http://strophe.im/strophejs/ Jabber server to experimen...

Alvin Roth Wins Nobel Prize

Image
I was fortunate to have worked my way through college as an Undergraduate Research Assistant with the Economics department at the University of Illinois working on multi-player bargaining experiments funded by some NSF grants where one of the researchers was Al Roth. He was already well known in game theory at the time these experiments were conducted. The Sveriges Riksbank Prize in Economic Sciences in Memory of Alfred Nobel 2012 was awarded jointly to Alvin E. Roth and Lloyd S. Shapley "for the theory of stable allocations and the practice of market design" http://www.nobelprize.org/nobel_prizes/economics/laureates/2012/ Three of his earlier papers where we (Ron Harstad, Michael Barr, myself) contributed by building multi-player experiments on PLATO: Expectations and Reputations in Bargaining: An Experimental Study (1983) https://web.stanford.edu/~alroth/papers/1983_AER_Expectations_and_Reputations.pdf The Role of Information in Bargaining: An Experime...

Tips for Working with an Overseas Team

Working with distributed and overseas teams is a fact of life these days in technical environments especially and knowing some basic tips will utilize the talents of the entire team more effectively. Time Zones Time zone differences can accumulate to mean real schedule slippage so you have to try to use the time zone difference to your advantage. For example, if the shift in India starts 10 hours ahead of east coast time consider working in the evening for an hour or two to prep work plans for the next day. When you arrive in the east coast morning, the team in India will have had several hours to work on tasks that you'd agreed to. If you wait until the morning you may miss an entire day of productivity in India. This time zone issue even comes into play with east coast / west coast teams. If your west coast team gets a late start they are going to push the east coast team to have meetings at the end of the day. Not always practical. And having the west coast team get up ear...

Mobile HTML5 Dev Test Site: RingMark

Facebook sponsored test suite for HTML5 mobile development. Very cool. http://rng.io/

Job Search: A Challenging Job

I've been in my new position for six months now so I have enough distance to write this posting. This past year I experienced unemployment for the first time. The why is not so important for this post (there are many good reasons in today's economy), but I wanted to record some tips that helped me through the experience. 1. Take care of yourself. Exercise regularly. Routine and ritual help you keep your balance. I have a meditation practice that was helpful. Get medical help if you need it. 2. Don't go it alone. Stay in touch with your family, friends, and religious community. 3. Focus. Decide what you want although it may very well change as you experience the ups and mostly downs of job search. Have target companies. They'll change too, but the world is so large that without a focus you'll feel lost. 4. Take a break. You can search for jobs all the time if you don't force yourself to take a break. It takes 48 hours to unwind (see  Cortisol ) though tru...

Communicate the Status of Your Cloud Service!

For my primary email account I use FastMail instead of GMail. Why? FastMail is very fast, reliable, and feature rich. GMail is fast, reliable, and feature rich. I like the features of FastMail, but the primary reason I use it over GMail is the communication that they have with their user base when there is an (inevitable) problem. Here's a post about a recent problem: http://blog.fastmail.fm/2011/05/15/outage-report-a-cascade-of-errors/ This is the kind of thing I have never seen out of Google or Yahoo and probably never will. It's an advantage of being a relatively smaller service. They have maintained a policy of rapidly communicating with their user as well with a  status blog in addition to their regular blog . SalesForce implemented a similar "communicate with the users" policy after they had a major outage. You can see what they tell you about their service at  http://trust.salesforce.com/trust/status/ . Google Apps has a similar page at  http://www.goog...