amazing goal from the Netherlands
Mood: cheerful
Posted on 2014-06-15 20:56:00
Tags: soccer
Words: 37

In case you haven't seen it - Deadspin's calling it the "Rainbow Header", and I heard it somewhere else described as the "Flying Dutchman", but he looks more like a porpoise jumping out of the water to me :-)


link thursday: World Cup, Bill Watterson returns!, checklists, World Cup
Mood: excited
Posted on 2014-06-12 13:05:00
Tags: links
Words: 157

The World Cup starts today! Woo!

- Ever Wished That Calvin and Hobbes Creator Bill Watterson Would Return to the Comics Page? Well, He Just Did. - awesome! Watterson sounds like a nice guy, albeit extremely reclusive.

- How mistakes can save lives: one man’s mission to revolutionise the NHS - sad story, but it sounds like medicine could use a more air safety approach to accidents.

- Nation’s Cable Companies Announce They’re Just Going To Take $100 From Everyone - ah, the Onion!

World Cup stuff:

Firstly, let me reiterate: woo!

Now, let's not forget that FIFA is "cartoonishly corrupt", and lest you worry that the US is falling behind, we have our own kinda corrupt soccer guy (known as Mr. Ten Percent). While you're watching, here's how to watch the World Cup like a true soccer nerd, and the Onion advises which World Cup teams to watch. If you're not into soccer, here's the World Cup of everything else. (thanks Ben!)


FlightPredictor: a postmortem
Mood: nostalgic
Posted on 2014-06-06 23:32:00
Tags: palm essay palmpre projects
Words: 559

Two weeks ago I noticed that FlightCaster, the backend service that FlightPredictor uses for all its data, had disappeared. The API wasn't responding and the website was down. FlightCaster had been acquired by NextJump in January 2011, so the writing had been on the wall for a while.

I started working on the first version of FlightPredictor for webOS in March 2010. I like traveling and planes, and the fact that FlightCaster used machine learning to predict when flights would be late sounded both cool and useful. When I saw their API was free to use that cinched the deal. I'm still not sure what the business plan was for a free API (this is why I'm bad at business!), but many thanks to Jason Freedman for making that possible. Jonathan Chase was also very helpful in answering my API questions and helping me with problems.

I sold a decent number of copies, but that aside, FlightPredictor opened a lot of doors for me. It was featured on the Palm homepage (well, its icon was :-) ), it won in the Palm Hot Apps competition (which came with $1000), Palm gave away 5000 copies for the TouchPad (and paid me for them!), and it was featured in the short-lived webOS Pivot magazine. I also got to travel to Palm HQ in 2010, where webOS 2.0 was introduced (day 1, day 2, day 3) and 2011, to get engineering assistance for my TouchPad apps. (recap) And you can draw a pretty straight line to my involvement in the webOS community to my Nokia Developer Ambassador position after webOS was killed.

Back in 2011 I wrote about what I want to get out of app development, and that still rings true.

Unfortunately some of the webOS numbers are lost to the Palm reporting system change in 2012, but:

FlightPredictor for webOS Phones:
4.29 stars (24 ratings)
released May 2010 (started March 2010)
total copies sold: not sure, but probably in the 1000-2000 range
101 sold in 2011
28 sold in 2012
9 sold in 2013
1 sold in 2014

FlightPredictor HD (for the HP TouchPad):
3.22 stars (59 ratings)
- this had a lot of 0 star ratings - I wonder if this was from people who got the app for free and then didn't like it or something?
released July 2011 (started April 2011)
total copies sold: probably around 1000? plus 5000 that Palm gave away. See here and here for some raw numbers
16 sold in 2012
13 sold in 2013
0 sold in 2014

FlightPredictor for Android:
4.92 stars (13 ratings)
released November 2011 (started September 2011)
total copies sold: 466

FlightPredictor for Windows Phone:
4.0 stars (38 ratings)
released March 2012 (started December 2011)
total copies sold: 139
84 sold in 2012
44 sold in 2013
11 sold in 2014

FlightPredictor for Windows 8:
4.5 stars (4 ratings)
released August 2012 (started April 2012)
total copies sold: 201
24 sold in 2014 (can't get data for other years :-( )

What's Next
Well, I have this nice shell of a flight tracking app, and I would love to integrate it with Cortana on Windows Phone. It will be a fair amount of work, though, and I'm somewhat actively working on two other apps right now, and it looks like it's going to be a busy rest of 2014. So: we'll see!


link friday: World Cup draws, behind the scenes of The Price Is Right
Posted on 2014-06-06 14:20:00
Tags: links
Words: 265

- A Fairer World Cup Draw - it's weird that they admit that the FIFA draw is unfair by design (for geographical reasons) but then sound impressed when pointing out a fairer algorithm. Anyway, the graphs at the bottom are neat because you can see which teams got the luckiest/most unlucky - US is near the unluckiest (although not as bad as Australia), and Mexico is so so so lucky.

- I did this last summer after the World Cup draw, but a reminder: you only need 5 points to be almost assured of making it to the knockout round, and 4 points gives you about a 50% chance.

- Here’s what it looks like behind the scenes of The Price Is Right - I found this compelling, as I love seeing "behind the scenes" type stuff. There's a lot of work that happens back there! Warning: the video's a bit long. (it's the whole one hour show) A few things that surprised me:
- Somehow I didn't realize that the producers actually choose the contestants, instead of being chosen at random.
- There's an insane amount of energy in the room!
- Everything's on a pretty strict timetable, and it's cool to see them adapt to things taking longer than the should.

- Selection bias and bombers - go logic!

- 22 Books You Should Read Now, Based On Your Childhood Favorites - thanks Kay!

- Girlfriend 'Complains A Lot ... Interrupts,' Developer Tells Conference - I understand the joke, but given all the sexism in the industry...yikes. At least we're to the point where people will get called out for this, but there's still a long way to go...


link monday: world cup, global warming, universal translator!
Mood: busy
Posted on 2014-06-02 22:11:00
Tags: links
Words: 218

- Qatar World Cup 2022: Fifa vice-president 'would support' re-vote - oh man, if the 2022 World Cup ends up coming to the USA I will be over the moon! Elsewhere in FIFA corruption: Fixed Soccer Matches Cast Shadow Over World Cup - yikes!

- What is Obama's plan to tackle global warming? - a good explainer-type thingy. This could be a big deal, I think?

- Skype shown automatically translating multilingual voice calls - aww yeah, the Universal Translator is here! (you know, soonish)

- Your Princess Is in Another Castle: Misogyny, Entitlement, and Nerds - I hesitate to give too much credence to a shooter who clearly has anger issues (including but not limited to women), but the article is right regardless.

- Edgar Wright - How to Do Visual Comedy - longish video, but explains why Edgar Wright (Hot Fuzz, Shaun of the Dead, Scott Pilgrim vs. the World) is awesome! (PS: he is awesome)

- Watch H. Jon Benjamin play HAL 9000 in '2001: A Space Odyssey' - H. Jon Benjamin = Archer and Bob from "Bob's Burgers"

- How to Tell Someone’s Age When All You Know Is Her Name - oh man, this is cool. Totally going to do this for my next(*) app! (* - currently working on at least two apps, so this may never happen)

- OK, so maybe we can be a *little* frightened - cosmology is scary sometimes!


June developer registration drive - win a Lumia phone!
Posted on 2014-05-25 22:42:00
Tags: nokia windowsphone wpdev
Words: 292

It's been a while, so let's do this again! I'm expecting a lot of entries because of the recent DVLUP Day, so this time we'll do two prizes: a white Lumia 520 or cyan Lumia 521 (your choice), and a Lumia 800. Here are the rules:

1. You MUST live in my region - Texas, Louisiana, Arkansas, Mississippi, Tennessee, Missouri, Iowa, Oklahoma, Kansas, Colorado, Nebraska, Wyoming, or South Dakota.
2. You MUST be an existing Windows Phone Developer WITH at least one published app currently in the marketplace.
3. You MUST be an active Windows Phone developer as of June 30th 2014, which means you must have either published a new Windows Phone application or have published an update to an existing Windows Phone application that required xap certification within a 180 day period. (counting back from June 30th your last updated date must be January 1 2014 or later)

Below is an example of where to find the last updated date on your Windows Phone application page in the Windows Phone Store.

Now that you know if you can participate or not here's what you need to do. Email me the REQUIRED information below.

1. First and Last Name
2. Email address (this is the one we can reach you at, one you actually check daily)
3. The link to your qualifying application in the Windows Phone Store.
4. username (If you haven't registered yet, go do it, it's free and you'll be glad you did)
5. Your Windows Dev Center Publisher GUID (it's on your dev center dashboard)
6. Your location: City, State

Entries must be received by June 30th - the drawing will be done on July 1st.

To enter, email with the subject "June Registration Drive". Good luck!


link saturday: net neutrality, video game soundtracks for work music
Mood: recovering
Posted on 2014-05-24 14:57:00
Tags: activism links
Words: 265

- My comment about net neutrality to the FCC is live! (see how to write your own) Vi Hart has a good video on net neutrality, and the great Google Fiber (come up north in Austin, please!) has a delicious poke in the eye to ISPs that do discriminate based on content (they don't).

- It's been an eventful month in same-sex marriage, and I've had my hands full keeping the map updated. (I also added the rainbow color for states (like Texas!) where a judge has overturned a same-sex marriage ban but the ruling is on hold) For the rest of the world, here's a very nice visualization of what rights LGBT people have.

- CIA will no longer use vaccine campaigns for spying - hooray! But it's a bit late for that...even if the CIA is sincere (which I don't have any particular reason to doubt), trust takes a long time to rebuild.

- Video game soundtracks ideal for work music - I've been trying this out this week and it's worked pretty well. I've been using this site (linked from the article) - you can vote on what to play next, or you can just sit back and listen to what's next.

- NPR had a good series on people being thrown in jail because they couldn't pay court fees, which the Supreme Court ruled against in 1983.

- Cutting Off Emergency Unemployment Benefits Hasn’t Pushed People Back to Work - sad, but unsurprising

- Arecibo Observatory Detects Mysterious, Energetic Radio Burst

- China proposes to fund and build high-speed rail line from Beijing to Vancouver - is this really going to happen? Probably not.


link friday: Mayday PAC succeeds!, net neutrality, solar cells in pavement
Mood: stressed
Posted on 2014-05-16 11:59:00
Tags: activism links
Words: 482

- The Mayday PAC that I mentioned last week met their $1 million goal! They have a $6 million goal for June, which is...ambitious.

- The FCC proposed some rules that would let ISPs accept payment for faster traffic, which is against the principles of net neutrality. But they're not final yet, and you can comment on them! Here's what I wrote - feel free to copy and paste!:

I believe internet providers should not be allowed to establish or accept payment for so-called "fast lanes". I also believe the FCC should using Title II to regulate internet providers, as they are a sort of common carrier.

Here's a pretty evenhanded description of net neutrality and such, and if you want another reason to hate Time Warner/Comcast, they've been investing in broadband infrastructure much less than they used to, probably because there's very little competition. (the lack of competition would be good to mention in your FCC comment!)

- That Amazing 'Solar Roadways' Project Has a Working Prototype - wow, their Indiegogo campaign looks pretty impressive (and it's 20% funded!), although I'm guessing that they're expensive to produce. Still, they do at least have a working prototype! (thanks Doug)!

- DATA Act signed into law - hopefully it will bring greater transparency to government data.

- Why do gay couples use the terms ‘husband’ and ‘wife,’ rather than ‘partner’? - from a new LGBT advice column in the Washington Post. I can certainly understand the confusion here, and I'll admit I sometimes revert to referring to David as my "partner" in some situations. But I do prefer "husband" since it seems more accurate. Also, asking which person is the "wife" versus the "husband" shows a serious lack of understanding...

- AT&T’s GigaPower plans turn privacy into a luxury that few would choose - it costs at least an extra $30/month (plus one-time fees) to not have AT&T monitor your packets and serve you "relevant" ads, under the innocent-sounding name "AT&T Internet Preferences". You stay classy, AT&T! Even Google Fiber is better than this (from their privacy notice):
Technical information collected from the use of Google Fiber Internet for network management, security or maintenance may be associated with the Google Account you use for Fiber, but such information associated with the Google Account you use for Fiber will not be used by other Google properties without your consent. Other information from the use of Google Fiber Internet (such as URLs of websites visited or content of communications) will not be associated with the Google Account you use for Fiber, except with your consent or to meet any applicable law, regulation, legal process or enforceable governmental request.

- All Science Is Wrong, Concludes Esteemed Fox News Panel - sigh

- How STAR TREK INTO DARKNESS Is A Crypto-Truther Conspiracy Movie - wow...I remember thinking at the time that the plot made very little sense (even as I was watching it!), but I guess this makes it make more sense?


a few pictures from the Gelato World Tour
Mood: relaxed
Posted on 2014-05-11 15:26:00
Tags: pictures
Words: 66

<- The Gelato World Tour came to Austin (its only US stop), and it was delicious! 16 gelato chefs competed with different flavors.

<- There were also gelato demonstrations and such. Apparently a key ingredient of gelato is air!

<- A list of all the flavors. I liked Maple Brown Butter Pecan the best (from a gelateria in Alaska!), although Bananas Foster was a close second.


link friday: Mayday PAC, science is hard, net neutrality
Mood: lonely
Posted on 2014-05-09 11:43:00
Tags: politics links
Words: 475

- The Mayday PAC to reduce the influence of money in politics. (yes, they're aware of the irony) It's a Kickstarter-esque project being run by Lawrence Lessig. I don't know how likely this is to help things, but I desperately want it to succeed so I contributed. You can learn more about it (or read the FAQ) and I'd encourage you to pledge to help US kickstart fundamental reform by reducing the influence of money in politics.

- A chart of view of homosexuality in different countries - the US comes out looking pretty good, relatively speaking. No huge surprises - Africa/Middle East are terrible, Asia somewhat less so, and go Europe! (thanks David!)

- The Control Group Is Out Of Control - interesting look at parapsychology (ESP, precognition, etc.) as the "control group" of science. If they're finding significant results, then we need to figure out what they're doing wrong. More from the "science is hard" department: Lab Rats May Be Stressed By Men, Which May Skew Experiments

- Comcast is destroying the principle that makes a competitive internet possible - a very good look at net neutrality and specifically the Netflix/Comcast fight.

- The Single Mother, Child Poverty Myth - Scandinavian countries have a similar rate of single mother families as the US, but a much smaller rate of poverty among those families due to welfare-type programs. Of course, that means that children in single mother families, through no fault of their own, are much likelier to grow up in poverty in the US. Boo. (thanks David!)

- To Divide the Rent, Start With a Triangle - hey, I'm pretty sure I saw a colloquium about this at SWT Math Camp! (blah, "Texas State", whatever) Also, props to the New York Times for putting up an interactive rent division calculator.

- Steve Jobs Defied Convention, and Perhaps the Law - Apple basically admitted to backdating options for Jobs and other senior employees, but got off with a slap on the wrist. (thanks in part to their "swift, extensive and extraordinary cooperation.") But as the article says, the bigger threat to Jobs's reputation is the numerous anti-poaching agreements Apple had with other companies. See:

That same year, Mr. Jobs wrote Eric E. Schmidt, the chief executive of Google at the time, “I would be extremely pleased if Google would stop doing this,” referring to its efforts to recruit an Apple engineer. Mr. Schmidt forwarded the email, adding his own indiscreet comment: “I believe we have a policy of no recruiting from Apple and this is a direct inbound request. Can you get this stopped and let me know why this is happening? I will need to send a response back to Apple quickly so please let me know as soon as you can.”

When Mr. Jobs learned that the Google recruiter who contacted the Apple employee would be “fired within the hour,” he responded with a smiley face.


link tuesday: terrible infographic, good infographic, animated movies
Mood: busy
Posted on 2014-04-29 13:22:00
Tags: links
Words: 233

Work/life is still crazy busy, so I figured links on Tuesday in hand was worth two links on Friday in the bush. (or something)

- NBC News Creates A Racially Insensitive, Time-Traveling Map of America - not sure if I buy the "racially insensitive" angle, but: this is unquestionably a terrible, terrible infographic!

- How Americans Die - on the other hand, this is a very captivating series of infographic type things. Well done!

- Rapture leaked: The true story behind the making of BioShock - makes me sad that Irrational Games is closing.

- What the Left and Right Both Get Wrong About the Moynihan Report - wonky, but a full-employment policy would be pretty amazing.

- The 100 best animated movies - glad my favorite is (spoiler!) #2.

- Meaningful Activities Protect the Brain From Depression - neat!

- Meep Meep Watch In Foreign Policy - hey, Syria's chemical weapons are almost gone! And Iran is further away from making a nuclear weapon! Foreign policy: sometimes, it works.

- Up Close on Baseball’s Borders - nice map of which areas follow which baseball teams. Poor Astros...I think the "Texas" in the Rangers' name gives them more fans than they deserve.

- Jon Stewart Flawlessly Takes Down Media's Sexist Coverage of Clinton Pregnancy - siiiiigh this is probably what we have to look forward in 2015/6.

- Florida Set to Join Trend Toward Higher Speed Limits - not much here, except: go Texas! (I have driven 85, and it does feel fast...)


Windows Phone: info about Windows Phone 8.1 and //build/ sessions
Mood: content
Posted on 2014-04-08 20:58:00
Tags: windowsphone wpdev
Words: 2065

For Windows Phone developers, Microsoft's //build/ conference was a very exciting place! Here's some information for you about developer-specific stuff (Cortana, etc. you can read about plenty of other places...which is not to say Cortana doesn't have some cool stuff for developers!)

The first link to read is What's next for Windows Phone 8 developers. All of the apps for Windows Phone 8 are written against the Silverlight API, and while this is still supported in Windows Phone 8.1, the new APIs that are common with existing Windows 8 apps are called a "Windows Phone Store" or "XAML". (neither one of which is terribly helpful...but I digress) If you want to keep your app as a Silverlight app, here are Supported features for Windows Phone Silverlight 8.1 apps. If you're looking to port your app to the new APIs, check out Migrating your Windows Phone 8 app to a Windows Runtime XAML app, and there's also a very helpful post about Windows Phone 8.1 for Developers–What Controls Are New.

Don't forget: if you want to get the Windows Phone 8.1 update early (and who doesn't?), check out the Windows Phone Preview for Developers - I believe the update will be ready in a week or so.

My notes for the //build/ sessions I went to are below. I'd particularly recommend the "Live Tiles Enhancements", "Nokia APIs", and "Animations in Phone XAML Apps" sessions. My fellow ambassador Lance McCarthy collated videos of all the Windows Phone-related //build/ sessions.

Big news was Windows Phone 8.1 (Action Center for notifications, Cortana, universal apps which shows further unification between Windows 8 and Windows Phone APIs)
Windows free on all <9" devices - seems to change MS's business model, at least on phones
Open-sourced "Roslyn" C# compiler! Not ready for production code yet, but available on github
.NET Foundation ( ) - has open source .NET stuff, including MEF
new JIT compiler RyuJIT - (good for startup time and general performance), now has SIMD support
.NET Native ( ) - compiles C# all the way to native code (uses C++ optimizer). Still can use all CLR features (garbage collection, etc.) Only for Windows Store apps now. (compiles in the cloud?)

Microsoft logo is colors of Office Red, Xbox Green, Windows Blue, Bing Orange!

Wed Day 1 Keynote

New WP 8.1 (Action Center, Cortana)
Universal apps through "shared" project (not PCL, so you can #if, etc.)
Improved mouse/keyboard support in Win81
- Start menu coming back later this year! But with tiles and stuff
Someday can target XBox with Windows APIs
Nokia phones (630/635 and 930) with SensorCore
Windows free on all <9" devices!
Kinect v2 for Windows
preview of Office Metro for Windows

Wed 4/2 4PM 2-582 Tips and Tricks in Visual Studio 2013 Cathy Sullivan
settings sync (to MS account)
search in Tools->Options, Soln Explorer, Error List
Ctrl + double-click window to redock
Ctrl+F4 to close a document
in quick search bar can use filters like @mru (most recently used documents) and @opt (options)
Scrollbar preview thingy - can see changes you've made!
Ctrl+, = Navigate to
Alt+F12 = Code Peek (opens up a temporary window with the definition of what your cursor is on)
- Esc closes
Code Lens - inline view of recent changes, references, etc. (hold Alt to trigger?)
Productivity Power Tools -
- can show which files have errors in Solution Explorer
- Bing code search (searches MSDN, Stack Overflow, etc.)

Thu Day 2 Keynote
Lots of Azure - 57% of Fortune 500 use it
Manage Azure machines from inside Visual Studio
Browser Link - live edit page in browser, reflects back to Visual Studio!
Azure Mobile Services stuff
.NET Native - can compile .NET assemblies to real native code!
Roslyn .NET compilers - refactoring preview, now open source! (, modified lexer to use french quotes for string constants very quickly. Works on Xamarin too
".NET Foundation" - for .NET open source stuff

Thu 1PM 2-588 .NET in a world of devices and services
Best end-to-end dev experience
BYO platform, framework, tools
6M professional .NET developers, 1.8B machines have .NET installed
new JIT compiler RyuJIT - (good for startup time and general performance), now has SIMD support
Roslyn - add language stuff, good for VS extensibility, diagnostics for style guidelines (i.e. if statements w/o braces), easy to see preview and fix it. - source for .NET stuff
.NET Foundation ( ) - has open source .NET stuff, including MEF
.NET Native ( ) - compiles C# all the way to native code (uses C++ optimizer). Only for Windows Store apps now. (compiles in the cloud?)
Efforts have been towards: Native, Open, Cross-Platform

Thu 2:30PM 2-523 Live Tiles Enhancements
Tiles are good unobtrusive notifications
same templates on Win8 and WP now, although WP might not show every field (no Square310x310 for WP)
Windows Notifications Service - now used on WP as well for client and server. SSL for free.
Types of tile update schedules: Local, Scheduled, Periodic (like on Windows - every 30 mins polls a URL for tile XML data), Push (can do a Raw one which will cause your app to run in the background)
Can do test push notifications through emulator
App.OnNewTilePinned event (to set up polling)
WP Tile notification queue - can cycle through 5 notifications which can have different templates, also support for expiring notifications
Same XML for Win/WP - can use Versions & Fallbacks to support Win8 (instead of 8.1).
Advice: put WP templates first
Session 2-521 - Notifications Deep Dive
Draw tiles - WritableBitmap old, XamlRenderingBackgroundTask is new. Recommend doing in C++ to avoid hitting memory cap.
"Debug Location" toolbar in VS can let you fire Lifecycle Events
App Tile Updater sample
Session 2-517 - what's new
Tips for tile scaling (see presentation)
Live tiles for websites using meta tags

Thu 4PM 3-545 Quality and Performance for XAML apps
Reduced memory usage for XAML in WP8.1
TestListViewer class can extend from ListViewer and log when items get prepared/released (PrepareContainerForItemOverride()) to ensure virtualization is working corectly.
Putting ListViewer in a StackPanel can defeat virtualization! (because StackPanel gives infinite space)
- using a Grid instead will fix
Performance Monitor in VS to log CPU, memory usage, etc.
- can take "snapshots" to see objects in memory, do a diff, see why things in memory
double.Parse can break in german ("34.56" -> 3456) - code analysis rule will catch (pass in InvariantCulture)
Multilingual Editor for localization - can auto translate strings via Bing!
Pseudo-localization - puts in crazy characters, can find non-localized strings
Test on screen sizes, no network, themes, optional HW (no front-facing camera)
Automated tests (unit, UI)
- for UI test do New Project->Coded UI Test Project, can navigate, assert that images exist, etc.

Thu 5:30PM 2-549 Nokia APIs
Imaging, Context, Location Music
Imaging SDK v1.2 - easy GIF creation, local image blend, Image Aligner
ChromaKey - pick color to make transparent, combine images (green screen)
blend filter
Can select areas that are background vs. foreground
SensorCore - sense if walking, running, driving, or idle
SC requires HW (only on 630/5, 930 for now...may come to others later??)
Can go back 10 days to get data
Step Counter, Activity Monitor, Place Monitor, Route Tracker

Fri 9AM 4-587 Native code performance on modern CPUs
Cool new instruction in AVX2 - Fused multiply accumulate (FMA)
AVX instructions=some floating point 256-bit SIMD instructions
AVX2 instructions=more 256-bit SIMD instructions
compiling w/ AVX2 instructions available in VS 2013 Update 2
Profile always - can use VS Performance Analyzer, Intel VTune Amplifier, AMD CodeXL
Case study: on Haswell FP multiply=5 cycles, FP add=3 cycles, Fused multiply accumulate(FMA) does both in 5 cycles
For A*B+C, FMA is faster, as expected
For A*B+C*D:
non-FMA code looks like
mul A,B->A
mul C,D->C
add A,C->A
but two multiplies can run in parallel (since multiple ALUs) and the whole thing takes 5+3=8 cycles
FMA code looks like
mul A,B->A
fma A,C,D->A
and takes 5+5=10 cycles!
For things like dot product, FMA is way faster. Haswell has 2 FMA units
cycle timings are different on AMD chips! performance is hard
Sidenote: "xmm" registers are 128-bit, "ymm" registers are 256-bit
SSE2 and AVX allow 128-bit autovectorization
AVX2 allows 256-bit autovectorization
You might think 256-bit instructions would make your code 2x faster than using 128-bit instructions, but that ignores memory latency. Optimizing your code by using vector instructions moves your code from CPU-bound to memory-bound. You can see this in Intel's VTune.
Case study: Eigen3 benchmark with AVX2 was 60% than with SSE2! AVX was also slower, and this only showed up on Haswell, not Sandy Bridge.
key difference was turning two 128-bit vector copies into a 256-bit vector copy
Intel VTune showed "Loads blocked by Store Forwarding" was high
Store buffers are a small table of address and data that has been stored to them (42 of them on Haswell) - lets you avoid hitting the real cache if you later to a load on an address in a store buffer.
But loads that overlap multiple store buffers don't get optimized and have to go to cache
An earlier 128-bit store was causing that to be in a store buffer, and then the 256-bit copy couldn't read from it so it had to go to cache!
(this perf bug is in VS 2013 Update 2, fix coming)
512-bit vector instructions are coming

Fri 10:30AM 2-529 Sensor Platform Enhancements in Windows Phone
accelerometer, compass, gyrometer, inclinometer, light sensor, orientation, simple orientation
Can respond to light sensor to add contrast in especially dim/bright settings
Outdoors=5K-50K lux
Indoors Bright=500-1K lux
Indoors Dim=10-100 lux
Dark Room=0-10
If you do respond to these, do gradual changes and use hysteresis to avoid weird toggling effects
Orientation sensor - if it's facedown, maybe ignore gestures?
Lock screen apps can now access sensors. Background apps can also access sensors by registering for a DeviceUseTrigger, although a limited number of apps can do this at once. Also needs special declaration in Appxmanifest.
Can control sensors in WP/Win emulator
remember that background task runs in a separate process
For orientation, display=how pictures on screen are shown, device=physical positioning
Be careful about power usage: can adjust reporting interval in background tasks, make sure you dispose unneeded sensor refs!
if the foreground app crashes your background task can linger
For magnetometer can get whether it's high or low accuracy (based on HW quality, etc.)
Snapdragon sensor core has a low-power core to get sensor data
In WP 8.1 sensor drivers are in user-mode, not kernel-mode

Fri 2PM 3-554 Animations in Phone XAML Apps
Timing is crucial - don't make animations too slow
Can be annoying - careful about repeating them!
Animations are great as subtle feedback (like tilt effect when tapping an item)
*ThemeTransition and *ThemeAnimation are the classes involved
some transitions/animations are on WP only, some are on Win and WP but look different, some are on both and look the same
transitions are when page is entered/exited or when items are moved in a ListBox, etc. and are triggered automatically. Animations are on particular elements, and are triggered manually.
animations extend from Timeline class
transitions are specified in XAML with something like <uielement.Transitions><TransitionCollection><ReorderThemeTransition/></TransitionCollection></uielement.Transitions>
animations are put in a Storyboard
PageNavigationThemeTransition's - when navigating from page A -> page B, uses transitions in page B (when going forward or back)
attached property DefaultNavigationTransitionInfo
other transitions: Common (the default one), Slide, Continuum
Even with Common, can get a staggering effect in a ListView - in the transition set IsStaggeringEnabled="True", in the control set attached property IsStaggerElement="True"
Slide - quick animation for leaf node pages (like facebook comments page)
Continuum - text of selected element flies out/in. Good for master->details page (like tapping on an email in email app)
Specify elements with ContinuumNavigationThemeTransition.IsEntranceElement on page B, CNTT.IsExitElement on page A. (for performance, also need CNTT.ExitElementContainer on the container in page A)
New parameter to Navigate() method - can override animation by passing NavigationTransitionInfo.
PopUpThemeTransition - built into Flyouts, Jump lists
PointerUpDownThemeTransition (i.e. "tilt effect") - built into button, ListViewItem, etc.
Uses VisualStates and VisualStateManager like on Win. Can go to a particular state (i.e. "Pressed" or "None") in code with VisualStateManager.GoToState()
SlideInThemeTransition for Pivot swiping. Can set attached property Pivot.SlideInAnimationGroup on contents (up to 3 levels of staggering)
A few builtin animations - "Accordion" (compression) for scrollable elements when reach the top/bottom, page rotation animation with crossfade, menu flyout show and hide

See all my Windows Phone development posts.

I'm planning on writing more posts about Windows Phone development - what would you like to hear about? Reply here, on twitter at @gregstoll, or by email at


Interested in developing for Windows Phone? I'm the Nokia Developer Ambassador for Austin - drop me a line at!


Giant linkapalooza: moving your settler in Civ V, the Protestant work ethic, Internet empathy proble
Mood: tired
Posted on 2014-04-06 22:27:00
Tags: links
Words: 305

Life has gotten kinda crazy so I haven't posted links in *checks* ack, months! So, here goes...

- You Never Move Your Settler! - Opening Strategy Splits Civ V Studio - like all good arguments, this one was settled with science!

- America And The Protestant Work Ethic - working is good but the work ethic in the US can be a bit out of control.

- Our Internet Empathy Problem - or "People are Terrible on the Internet"

- A long article about ITER's quest to make a fusion reactor with a tokamak and the problems with a large international engineering effort.

- When the emergency room is your only option - lack of after-hours care is a problem. (thanks David!)

- An interesting article on apps and books with crazy prices

- This Super Bowl for a lawyer in Georgia is...truly amazing.

- The Global Map of Homophobia - pretty stark differences between the continents

- Cryptic Crossword: Amateur Crypto and Reverse Engineering - very detailed (but interesting!) story of reverse-engineering some custom "encryption".

- Space Elevators Are Totally Possible (and Will Make Rockets Seem Dumb) - nothing new here, but I believe in space elevators!

- Super-old news at this point, but: the Texas same-sex marriage ban was struck down! (pending appeal, of course)

- Netflix and Net Neutrality - yeah, any time I hear "innovation" from ISPs I get scared.

- Behold Arscoin, our own custom cryptocurrency! - very cool to see the steps you have to take to make your own cryptocurrency!

- Iranian Ship, in Plain View but Shrouded in Mystery, Looks Very Familiar to U.S. - so weird

- Sesame Street: Pentatonix Counts (& Sings) to Five - yay for awesome people on Sesame Street! (thanks Britton!)

- The Kindly Brontosaurus: The amazing, prehistoric posture that will get you whatever you want, whenever you want it. - does this actually work? I am skeptical.

- What people order at Starbucks around the United States - apparently I belong in Omaha!


pictures from SXSW
Mood: tired
Posted on 2014-03-12 22:19:00
Tags: pictures
Words: 33

<- click for full album!

I worked at part of Microsoft Studio for a few days at SXSW.

<- look, I'm Doctor Who!

<- me with my Kinect Sports Rivals avatar!

<- an "art guitar" transplanted downtown


On the Kansas and Arizona "religious freedom" gay discrimination laws
Mood: thoughtful
Posted on 2014-02-23 21:37:00
Tags: essay gay
Words: 277

What with the Kansas Legislature passing a bill providing for "religious freedom" by allowing businesses to discriminate against gay people (although the bill didn't pass the state Senate), and then with the Arizona legislature passing a similar bill and sending it to the governor (it is unclear whether she will sign it or not), it got me thinking a bit.

I think I'm actually OK with letting people that would be directly participating in a same-sex ceremony (like, say, a photographer) choose to not be hired. It feels weird to compel people to be a part of such a personal ceremony when they wouldn't want to be there. (and would you really want to hire a photographer who didn't want to be there?) But the further away you get from "individual person" (i.e. hiring an agency to send a photographer) and "same-sex ceremony" (i.e. serving a gay couple at a restaurant), I quickly get less OK with things. And both of these bills had very broad language.

In general, I think if you're at work you don't really have a right not to be offended. If you work at a restaurant, your job is to serve people, regardless of if you disapprove of them. And don't even get me started on "religious freedom" of businesses, which sounds about as absurd to me as "free speech rights" of businesses (read: ability to donate unlimited money to politics). If you're a bona fide religious organization, then you can discriminate all you want, but other than that your business doesn't have a religion.


Apparently the Kansas version may have just been a political ploy with no intention of passing? Weird.


dream: fancy airplane + Island of Dr. Moreau = ??
Mood: uncomfortable
Posted on 2014-02-11 09:00:00
Tags: dreams
Words: 286

Last night I had the weirdest dream I've had in a while. I was on a plane that was very fancy - there were lots of seats but also lounges, board games to play, etc. (I'm flying Virgin America for the first time in a few months...but I imagine it's not like this :-) ) My ticket had gotten hard to read and was also confusing - it said things like "if the flight is more than 30 minutes late, your seat is 34A" so after mistakenly sitting a few different places I asked a flight attendant what my seat was. About that time we were ready to take off so she told me to just stand up during takeoff.

The plane was indoors and apparently the pilot had a flair for the dramatic because we suddenly started going fast and we almost hit the sliding glass doors that the plane exited through. After we took off he kept showing us the sights by diving very low and fast over scenery, which gave us great views but was a little frightening. (the flight attendant assured me the captain knew what he was doing)

After a while a bunch of people went in to the museum part of the plane where there were a bunch of tigers and other animals roaming around, which was a bit unnerving. At one point two tigers had different parts of my clothes in their mouths which was starting to freak me out. There was some sort of monologue going on by the pilot/curator of the museum...and then the tiger behind me answered one of the questions aloud! Then I woke up.

Not exactly a nightmare but it wasn't a pleasant way to wake up either...


Windows Phone: adding a first run tutorial to your app
Mood: happy
Posted on 2014-02-05 21:33:00
Tags: windowsphone projects wpdev
Words: 512

In the Austin area? Come to the Austin Code-a-thon and have a chance to win a JBL Wireless Charging Speaker!


My Marriage Map app has gotten some bad reviews complaining about missing features that were actually present in the app. So, I decided to make a quick tutorial that would point out how to use the app the first time the user ran it. I did a quick search for some sample code but couldn't find any, so I rolled my own. (download the latest version of the app to try it out!) It features

None of these were particularly difficult, but adding them all took a bit of work. So I made a sample project with the same system to make it easier to add to your apps.

Some notes on the code:--

See all my Windows Phone development posts.

I'm planning on writing more posts about Windows Phone development - what would you like to hear about? Reply here, on twitter at @gregstoll, or by email at


Interested in developing for Windows Phone? I'm the Nokia Developer Ambassador for Austin - drop me a line at!


Austin Code-a-thon: come work on a Windows Phone app!
Mood: excited
Posted on 2014-02-05 21:23:00
Tags: windowsphone
Words: 98

In the Austin area? Come and work on a Windows Phone app! If you make significant progress(*) on a Windows Phone app, you'll be eligible to win a JBL Wireless Charging Speaker! There will be a few other surprises in store for everyone. Pizza will be provided for dinner.

When: Thursday, February 13, 7-10 PM
Where: Microsoft's Austin office
10900 Stonelake Blvd., Suite 225
Austin, TX 78759

Registration: None necessary, but please drop me an email at if you know you'll be coming.

Hope to see you there!

(*)"significant progress" is the sole determination of Greg Stoll.


pictures from Oklahoma State (and snow)
Posted on 2014-02-02 15:22:00
Tags: pictures travel
Words: 35

<- click for full album!

I was at Oklahoma State last week for recruiting.

<- David out in the snow/sleet!

<- money grab!

<- the Rancher's Club

<- a giant drop of blood

<- Pistol Pete (the mascot of Oklahoma State)


Oklahoma link friday: motivations of programmers, Miyazaki is awesome, cryptography
Mood: cheerful
Posted on 2014-01-31 13:23:00
Tags: links
Words: 236

"Oklahoma" because that's where I am, not because the links have anything to do with Oklahoma :-)

- How To Keep Your Best Programmers - very interesting post. The thesis is that people have a desire for autonomy, mastery, and purpose, and falling short on any of these will make people want to quit. (thanks Adam!)

- Great Geek Debates: Disney Princesses vs. Hayao Miyazaki - Miyazaki FTW! The archetypes versus characters section is the most important for me - the characters in Miyazaki films always seem so real!

- Is It Immoral to Watch the Super Bowl? - sigh. I've thought about this before and I still don't know.

- A very long article/interview about President Obama

- Capitalism vs. Democracy - does capitalism naturally lead to greater inequality? Maybe.

- A new paper suggests there may be a "indistinguishability obfuscator" that could effectively obscure computer programs, which would be a major advance in cryptography.

- 3 myths that block progress for the poor by Bill and Melinda Gates

- Almost Everything in “Dr. Strangelove” Was True - well, that's frightening. The PAL codes being set to 00000000 is the worst part!

- The Art of Presence - some tips on being there for people who are going through trauma

- Someone Wrote a Poem About The Sims's Amazing Software Updates - awesome! The best is "Fixed an issue that could cause a teen to be trapped in a child's body when traveling to the future at the exact moment of a birthday."


Mere Christianity: on morality
Mood: pensive
Posted on 2014-01-30 23:18:00
Tags: essay
Words: 212

I recently reread Mere Christianity and I had forgotten how much good/interesting stuff is in it. (also in it: stuff I disagree with!)

One point in particular that struck me this time around is his thoughts on morality. (specifically Christian morality, but this point has relatively little to do with Christianity per se) He says that if someone has a psychological condition that makes them deathly afraid of cats, the act of facing that person's fear and picking up the cat may show more courage than a healthy man who wins the Victoria Cross. (word of advice: don't search for "Victoria Cross") Conversely, someone who can appear quite nice may be that way only because of their heredity/upbringing and has never tried to be nice, and you should be judged on what you have done for yourself, not what you were born with.

Reading that made me think: Hey, I do this to myself! (in a bad way) I'm a pretty patient person most of the time, and I can feel unduly proud of that. Two things:
- I'm probably not as patient as I imagine myself to be, given rose-colored glasses and all that
- But more importantly, I'm mostly patient by temperament - it's not really something that I've worked particularly hard at.


sick link saturday:
Mood: sick
Posted on 2014-01-18 16:26:00
Tags: links
Words: 361

Caught a stomach virus (or something) but I'm on the mend, so here's something to distract myself!

- How Netflix Reverse Engineered Hollywood - talks about Netflix's microgenres, which I found fascinating. Also, now I want to see "Irreverent Reunited Lovers Werewolf Movies". And the bit about Raymond Burr is just strange!

- How Rush Limbaugh Decides What Is True - the short answer is "true conservatives are always right". Although I admit I probably default to giving Obama the benefit of the doubt, I certainly don't agree with him always...

- Good News You Might Have Missed in 2013 - by Bill Gates

- The Price Is Wrong And You Know It: Do You Buy That Ticket? - as I get older I find myself looking more at the motivations behind why businesses give away stuff and try not to take advantage of them. Although I still take samples from HEB even if I don't intend to buy them. (theoretically if they're good enough I might, right?) Anyway, airline fares are so crazy it's hard to know what is "obviously" a mistake anyhow.

- How Sleep Deprivation Decays the Mind and Body - the author stayed up for four days in a row as a teenager and it (might have) had effects on him for a long time. More on sleep: Goodnight. Sleep Clean. Sleep is important, everyone! (I have slept a _lot_ this weekend already, what with being sick...)

- Ask Culture and Guess Culture - very interesting difference. I think I'm more of a Guess person, or at least I would feel the same way about responding to a request as the original poster did - by trying to find an excuse. (thanks Emily!)

- The greatest newspaper correction ever written (49 years too late) (thanks Adam!)

- Aaron Rodgers: ‘I Really, Really Like Women’ - siiiiigh.

- Bisexual: A Label With Layers - Tom Daley (a British Olympic diver) came out as bisexual recently.

- Is 4K BS? - yeah, I'm pretty sure I couldn't see a difference between the 4K TV's at CES and their "regular" HD counterparts.

- A nicely summarized look at how strong companies are at protecting your data from the government done by EFF.

- The Great Handbell War - hardcore rivalry between handbell makers

1 comment

Las Vegas pictures: AT&T Developer Summit and CES
Mood: busy
Posted on 2014-01-11 16:00:00
Tags: pictures travel
Words: 199

<- click for full album!

I went a bit easier on pictures this year since Vegas wasn't new to me this time.
<- a big ol' turtle in the Las Vegas airport.
<- Lucky Penguin slot machine!
<- Macklemore on stage
<- incredibly large screen showing a FIFA game
<- Samsung curved TVs
<- Family Guy and Ferris Bueller's Day Off slot machines??

I had a good time although I shorted myself on sleep most nights, which was a bad idea. Hanging out with my fellow ambassadors is always good fun!

Casinowise, I spent a bit more time at slot machines this year. I hardly ever won and they went by very quickly, so I didn't really see the point. I did have a nice conversation with a roulette "dealer" (there's a real word for that, right? the guy who throws the ball?) on Sunday night where things were quiet, and ended up a little bit to boot. Played some craps although as I mentioned I still didn't understand all the crazy side bets. Skipped blackjack this time because of my bad experience last time.

If I go back maybe I'll try to figure out what baccarat's all about, or play a little poker or something.


Paddle Your Own Canoe review
Mood: productive
Posted on 2014-01-11 15:31:00
Tags: reviews books
Words: 45

Paddle Your Own Canoe: One Man's Fundamentals for Delicious LivingPaddle Your Own Canoe: One Man's Fundamentals for Delicious Living by Nick Offerman
My rating: 4 of 5 stars

This book is half memoir and half rules for living. I found it interesting although it wasn't as funny as I expected.

View all my reviews


Because I Said So! review
Mood: productive
Posted on 2014-01-11 15:25:00
Tags: reviews books
Words: 109

Because I Said So!: The Truth Behind the Myths, Tales, and Warnings Every Generation Passes Down to Its KidsBecause I Said So!: The Truth Behind the Myths, Tales, and Warnings Every Generation Passes Down to Its Kids by Ken Jennings
My rating: 4 of 5 stars

This is essentially Mythbusters for folk wisdom, some of which you probably heard when growing up. Some of these are clearly false (no, your face isn't going to freeze that way) but there are a lot of interesting ones too. (sitting up straight isn't necessarily better for your back, and mixing different kinds of batteries is bad) And it covers the whole "carrots make your eyesight better", which is my litmus test for a book like this.

View all my reviews


Go earlier/later

This backup was done by LJBackup.