SXSW: The Power of Computation
Stephen Wolfram gave a talk on this topic. It ended up as a demo of Wolfram Alpha. Wolfram Alpha is cool, but I’ve scene it before. I felt this was a missed opportunity to talk about some of the greater purpose behind the product.
SXSW: Fast CSS
This was easily the nerdiest talk I attended. The core of the talk was a very developer level view of a modern CSS rendering engine.
I can’t find the slides from the talk, but the basic idea is that there are multiple stages to rendering CSS. Each of those stages could be optimized or skipped depending on the change.
For instance, if one is doing multiple actions on a single element, the browser engine will batch those operations to avoid multiple refreshes. Writing a property, followed by an immediate read will cause that operations buffer to be flushed, resulting in sub optimal performance.
A few other items I learned in the talk were that most browsers only refresh at 60Hz, since that’s the refresh rate of most computer monitors. There is no reason to waste extra CPU cycles if they will only result in an unseen change. Also, most browsers read selectors right to left. Therefore for optimal performance, you would want a match to be as specific as possible.
Update: David Baron resent me the link to his talk
SXSW: Real-Time Data Changes Consumption Habits
This session covered how access to real-time data changes consumption patterns. I know this is true, since where people check into Foursquare can change who I call to bring me back lunch.
This was an open conversation and it seemed that the talkative attendees of the session were weighted towards the healthcare industry. Many were seeking to use realtime data to drive better preventive health. One individual would like to reward individuals for attending the gym. However, the information from the gyms is only available once a week, so the effectiveness of the program is reduced.
A few others were working on applications that tracked user behavior through smart phones. They had much more success in changing their users behaviors towards positive outcomes. For instance, knowing how many calories one consumed caused users to reduce their calorie load.
There were a few cognitive scientists in the room. One of which raised the point that immediate feedback loops have been shown to improve performance but not learning. So if one were given a simple task, that person would get better at with immediate feedback. However, after some period of time of not doing the task, that person would revert to the mean. In contrast, delayed loops have been shown to increase the mean.
The final core component of the discussion was feedback fatigue. While many in the room agreed too many notifications created insensitivity, there was a healthy discussion about whether automatically configurable or user-configurable options were desired. Most of the non-programmers in the room would have preferred that the system figured out that it should not contact them.
SXSW: HTML 5 API’s
This talk was not that memorable. I had initially forgotten that I had attended (thank you Foursquare).
This was a basic overview of some of the new api’s available. The only thing really new for me was the number of storage options available.
This talk had a tagline saying that HTML5 will change web design, but the speaker never covered how.
SXSW: Interesting Companies that Had Beer
SXSW is full of companies looking to give beer away in exchange for them showing you their wares.
The coolest product I saw at SXSW was this little robotic ball that you could control with your iOS device. It could move in all directions, change colors and looked like a great novelty item. I hope that it’s saliva proof, as it would make an excellent dog tormentor.
An interesting company was NewsIT. They are attempting to prove some structure and verification around user generated news. On interesting idea is analyzing tweets for correlation. If a large ratio of tweets have similar content, one can say with some certainty that the content is true. They also had iReport-like functionality, plus gamification. Uploaders might like that, but I think most will continue to upload to iReport since it is a bigger, well known brand
I wandered over to the Nokia center where they were pretty heavily pushing their new phone. I found it illuminating that none of their displays or comparisons had any iOS devices within site. They had clearly set their eyes on Blackberry and Android. The phone itself was nice, but I don’t find very much compelling about the non-iOS mobile space.
I have to throw a special shout out to the blog SXSW Fail, who “kidnapped” @jeremyporter, @rkischuk and I on the way to a party by putting us on a trolley bus and giving us beer. The fact that they don’t have a microsite is what I would consider a SXSW Fail.
SXSW: Story Telling for Entrepreneurs
I spend most of my time writing code. Sometimes, because I’m so deep in the weeds, I find it hard to explain what I’m doing eloquently and succinctly. I was looking forward to this session in hopes that I could pick up a few tips.
The session started well enough with a clip from an interview with Howard Shultz. It was a great demonstration of a good story. Then the presenter spoke. Then he showed another clip of Howard Shultz, then a graph on how stories are constructed, then another clip, then the same graph. Since telling disorganized and boring stories that are a far too long was not my goal, I decided to leave this session early.
SXSW: The F1 Talk
My first SXSW session foreshadowed the rest of the SXSW experience.
The description for the talk was full of technical details and allusions to concepts like KERS, tires, and material science. I really like Le Mans prototypes and F1, not only because they can turn right and drive in the rain, because they push the technology envelope.
Half the talk was about the new Circuit of the Americas. This would have been okay by me if he talked about the design inspirations for the track, but much of this segment was about how many fans could fit, the amenities, and the number of luxury boxes.
He included a few tidbits about technology, along with a few good pictures of McLaren factory, which just looks awesome. Before this talk, I had not realized how much teams like Williams and McLaren rely on their technology consulting arms and that Ferrari has McLaren analyze some of its data.
Still, I felt I would have been better served watching an hour of the BBC’s pre-race coverage than attending this talk.
SXSW: Panel on pitching startups to agencies and brands
Somebody complained that I’m not filling up the Internet with more junk about sxsw. So to rectify that, these were my thoughts on the session.
The panelists were the leader of tech stars NY, a signage startup and an agency.
One interfering fact was the high percentage of media or advertising startups coming through tech stars. It almost makes you wonder if there are two guys in a coffee house in NY trying desperately to build a SASS Internet security company, but getting no traction with investors because they don’t sell ads or clothes.
The rest of the panel was straightforward. Pitching to brands and agencies effectively is to find a champion for your startup within the organization, explain how the collaboration can help them, and help them explain to the organization why they should do it.
Finding responsive organizations is a matter of looking around and seeing who is having events in your space or launching campaigns similar to what you provide.
The organization’s biggest fear is that they will end up looking stupid, so try to avoid going out of business while the campaign is ongoing. The risk to them is further mitigated by demonstrating measurable short term results, instead of relying on a future “cool” halo (ie “you could be first brand on the next twitter”).
Achieving Hackmode
If you know programmers, you know that they get into hack mode.
Lately I’ve been trying to figure out why I can lose whole afternoons doing CSS, Javascript, or Ruby, but can’t seem to work up that level of concentration in Java.
After some observations, I think the difference comes down to the tools. When I’m working in those ligher weight languages, I’m normally using Sublime Text. It’s not a super powerful tool, but it has syntax highlighting, some very basic completion, and it’s super fast. Key-presses are instantaneous, files open before you can blink, all the dialogs are there almost before one hits the keystrokes before it’s open.
With Java, you can’t use something like Sublime. The language is designed to help programmers be correct at compilation, which means that it’s possible (and almost required) for your tools to tell you a lot. When programming Java, I use Intellij. In almost every way, Intellij is wonderful. The refactorings are major time savers and the introspections help keep the code clean and point out stupid bugs before I run the code.
All that knowledge comes at a cost. Every action, from keypresses, to dialogs, autocomplete, and opening files has a cost. Almost every action the program requires analysis and this introduces lag.
Lag in any interactive processes triggers the “this is not real” brainwave. Once that connection is broken, focus is lost, other thoughts creep in, and hack mode is lost.
I think this is why many programmers find themselves more useful in dynamic languages. Once can make the Java toolset as streamlined and process efficient as a Ruby one, but lag in the Java tools ruin the experience.
Access Denied Error when using XHR PUT and DELETE
Late one night, I was attempting to wire up a delete button on a Rails app using XHR. However, every time I attempted to make the XHR call, I saw AccessDenied in the server log and my session was un authenticated. Since it was late, I remapped it to a different URL and moved on.
However, the fact that this did not work still bothered me and when I revisited it after a good night’s sleep, the answer was quite obvious. My Ajax setup (copied from many Rails projects ago) looked like:
I was only setting the X-CSRF-Token on a POST. Therefore, when the server received the DELETE verb, it killed the session, thinking that something was afoul.
Changing that line to:
fixed the issue in the correct way.