background preloader

User Interface Research - Research Portfolio

User Interface Research - Research Portfolio

How HTML5 will kill the native app Over the past two decades, the mobile industry has become increasingly stunted by fragmented protocols, standards, and regional differences. But a hot new technology called HTML5 promises to remedy this by delivering an unprecedented open, democratic and wonderfully fertile mobile web. Evangelists say the HTML5 movement has so much momentum that it could defeat the native app — an application that is designed to run on a single platform — in as little as two years. Sundar Pichai, who leads Google’s HTML5-happy Chrome OS initiative, agrees that the “incredible advantages of the Web will prevail” over the dominant native app model. The transition comes at a time when the mobile revolution is driving economic growth in the US and abroad. HTML5 heralds huge efficiencies for web publishers, because it lets companies develop once and distribute across any device via an Internet browser. So there’s tremendous logic behind HTML5’s onslaught. Things are moving very quickly.

Anonymous Code Blocks in Python Ruby has anonymous code blocks, Python doesn't. Anonymous code blocks are (apparently) an important feature in implementing DSLs, much touted by Ruby protaganists. As far as I can tell, the major difference between code block in Ruby and functions in Python is that code blocks are executed in the current scope. You can rebind local variables in the scope in which the code block is executed. Note It turns out that this is wrong. If you define a function inside a function or method which uses the variable 'x', this will be loaded from the scope in which the function was defined; not the scope in which it is executed. I thought it would be fun to try and implement this feature of anonymous code blocks for Python, using code objects. This article looks at the byte-code operations used in code objects and experiments with creating new ones. Python doesn't have code blocks. Functions store a code object representing the body of the function as the func_code attribute. Create a code object.

I Didn't Know Acrobat Could Do That! - Lori's Top 10 Community Translation Episode available in 2 languages Available Translations: Join the Community Translation Project Thanks for your interest in translating this episode! Please Confirm Your Interest Thanks for your interest in adding translations to this episode! An error occurred while processing your request. Another translator has already started to translate this episode. Thanks for Participating! This episode has been assigned to you and you can expect an e-mail shortly containing all the information you need to get started. About This Episode Lori counts down her Top 10 features in Acrobat X in this short compilation.

pegtl Welcome to the Parsing Expression Grammar Template Library "Don't Parse" -- Dan J. The Parsing Expression Grammar Template Library (PEGTL) is a C++0x library for creating parsers according to a Parsing Expression Grammar (PEG). Status Development is cooling down a little, main addition in 0.29 are some examples on how to build parse trees with appropriate actions ... but please read the changelog at the end of this documentation for changes that might affect you. Note: The slow rate of updates since August 2008 is not because the project has been abandoned; the library has simply reached a state where it it can be -- and is -- used without many changes. Note: As of March 2010 there is a BUG that seems to affect GCC 4.4.x and newer on Mac OS X 10.6 regarding exceptions not being correctly caught; this bug is triggered by current PEGTL code, exceptions thrown from the parser "Abort" the program, rather than being caught. Features Comprehensive set of parsing rules. Requirements Compiler Input

Current News Feeds A SURGE in the number of applications for undergraduate science and maths courses has been attributed in part to a federal government scheme. The scheme is aimed to reduce student fee contributions in priority areas. Applications grew by 12.6 per cent to 19,390 for courses starting this year, following a 17 per cent rise to 17,222 last year. Demand was flat until last year, a spokesperson for Tertiary Education Minister Chris Evans said. The federal government allocated $562 million over four years in the 2008 budget to enable universities to lower fees for science and maths courses, amid concerns over the low demand for the courses, especially among high-performing students. Rob Norris, Monash University science dean and president of the Australian Council of Deans of Science, said applicants nominating science as their first preference at Monash next year had jumped by 28 per cent. "If it were clearly cheaper to do an arts degree, they may very well do that.

Meta-level thinking I have been trying to figure out what characterizes some of the best programmers I know, or know about. It's a frustrating endeavor of course, since most of these people are very different from each other, and have different experiences and ways to think and learn about stuff. Not to mention the fact that programmers tend to be highly individualistic. But I think that I'm finally zeroing in on something that is general enough but also specific enough to categorize most of these people, and the general mind needed to be a really good programmer. When people try to become better programmers there are generally a few different kinds of advices you can get. Learn - and understand - LispMore generally, learn a new language that is sufficiently different from your current knowledgeWork with domain specific languagesUnderstand metaprogrammingRead up on the available data structures (Knuth anyone)? This is why Lisp has a tendency to change the way people write Java code.

SlideShare Python Metaprogramming From: "andrew cooke" <andrew@...> Date: Wed, 16 Apr 2008 22:23:08 -0400 (CLT) Below I'll give an example of metaprogramming in Python. Another, Simpler Python Meta-Programming Example Date: Tue, 5 Aug 2008 21:24:38 -0400 (CLT) Here I wanted each class to display self. Comment on this post

Conference on Digital Information Meta-Programming with Scala Part I: Addition In the solution to a puzzle I posted earlier, I mentioned that the taken approach might be a first step towards meta-programming in Scala. While the approach to determine the depth of a type plays nicely with the Church encodings of natural numbers proposed in the paper Towards Equal Rights for Higher-kinded Types, defining arbitrary arithmetic operators seems problematic. Addition does not pose a problem. But there seems to be no easy generalization to other arithmetic operators. In this post I will explain how to represent the natural numbers and an addition operator using Scala’s type system. The following code shows a Church encoding of the natural numbers in Scala’s type system. A natural numbers is encoded as a type function which takes two arguments: a successor function and a zero element. We can now define an addition operator like this: Basically plus takes two Church numerals n and m and composes them such that m becomes the zero element of n. Like this: Like Loading...

"Open Implementations and Metaobject Protocols"
This is the briefing that presents the value of MOPs. by mikew67 Jan 23