Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

August 20 2013

Four short links: 21 August 2013

  1. blinkdbThe current version of BlinkDB supports a slightly constrained set of SQL-style declarative queries and provides approximate results for standard SQL aggregate queries, specifically queries involving COUNT, AVG, SUM and PERCENTILE and is being extended to support any User-Defined Functions (UDFs). Queries involving these operations can be annotated with either an error bound, or a time constraint, based on which the system selects an appropriate sample to operate on.
  2. sheetsee.js (github) — Javascript library that makes it easy to use a Google Spreadsheet as the database feeding the tables, charts and maps on a website. Once set up, any changes to the spreadsheet will auto-saved by Google and be live on your site when a visitor refreshes the page. (via Tom Armitage)
  3. China Plans to Become a Leader in Robotics (Quartz) — The ODCCC too funds high risk research initiatives through the Thousand Talent Project (TTP), a three-year term project with possible extension. The goal of the TTP is to recruit thousands of foreign researchers with strong expertise in hardware and software to help develop innovation in China. There are already more than 100 foreign researchers working in China since 2008, the year TTP started.
  4. AppScale (GitHub) — open source implementation of Google App Engine.

August 15 2013

Four short links: 16 August 2013

  1. fraktransforms collections of strings into regular expressions for matching those strings. The primary goal of this library is to generate regular expressions from a known set of inputs which avoid backtracking as much as possible.
  2. The Boolean Trap — crappy APIs where true/false don’t mean what they seem. None of this is new, but every generation has to learn it anew. (via Pete Warden)
  3. Gumbo — open source pure C HTML5 parser.
  4. All Those People With Cheap Android Phones Have Started Buying Apps (Quartz) — revenue generated by the Google Play Store, from which many Android users get their apps, has grown 67% over the past half-year. By contrast, Apple’s App Store revenue grew 15%, according to Distimo estimates, which cover the top 18 countries. That sounds less impressive if you consider that the App Store brought in twice as much revenue in absolute terms. But the numbers are shifting fast. In February, the App Store was generating three times as much revenue, and last November it out-earned Google Play by a factor of four. Google is gaining.

August 12 2013

Four short links: 13 August 2013

  1. How Things Work: Summer Games Edition — admire the real craftsmanship in those early games. This has a great description of using raster interrupts to extend the number of sprites, and how and why double-buffering was expensive in terms of memory.
  2. IAMA: Etsy Ops Team (Reddit) — the Etsy ops team does an IAMA on Reddit. Everything from uptime to this sage advice about fluid data: A nice 18 year old Glenfiddich scales extremely well, especially if used in an active active configuration with a glass in each hand. The part of Scotland where Glenfiddich is located also benefits from near-permanent exposure to the Cloud (several clouds in fact). (via Nelson Minar)
  3. Who Learns What When You Log Into Facebook (Tim Bray) — nice breakdown of who learns what and how, part of Tim’s work raising the qualify of conversation about online federated identity.
  4. lolcommits — takes a photo of the programmer on each git commit. (via Nelson Minar)

August 05 2013

Four short links: 5 August 2013

  1. EP245 Downloads — class materials from the Udacity “How to Build a Startup” course.
  2. scrz.io — easy container deployment.
  3. The Factoring Dead: Preparing for the Cryptopocalypse — how RSA and Diffie-Helman crypto might be useless in the next few years.
  4. How to Design Programs — 2ed text is a work-in-progress.

August 01 2013

Four short links: 1 August 2013

  1. Tindie Launches Open Designs and Kickbacks (Tindie) — businesses can manufacture the open design as is, or create products derived from it. Those sellers can then kickback a portion of their sales back to the designer. Tindie will handle the disbursement of funds so it’s absolutely painless. For designers, there are no fees, no hosting costs, just a simple way to reap the benefits of their hard work.
  2. HackRF (Kickstarter) — an open source software-defined-radio platform to let you transmit or receive any radio signal from 30 MHz to 6000 MHz on USB power.
  3. Twelve Best Go Practices — to help you get the mindset of Go.
  4. US Code for Download — in XML and other formats. Waaaay after public resource showed them what needed to be done. First slow step of many fast ones, I hope.

July 31 2013

Four short links: 31 July 2013

  1. How to Easily Resize and Cache Images for the Mobile Web (Pete Warden) — I set up a server running the excellent ImageProxy open-source project, and then I placed a Cloudfront CDN in front of it to cache the results. (a how-to covering the tricksy bits)
  2. Google’s Position on Net Neutrality Changes? (Wired) — At issue is Google Fiber’s Terms of Service, which contains a broad prohibition against customers attaching “servers” to its ultrafast 1 Gbps network in Kansas City. Google wants to ban the use of servers because it plans to offer a business class offering in the future. [...] In its response [to a complaint], Google defended its sweeping ban by citing the very ISPs it opposed through the years-long fight for rules that require broadband providers to treat all packets equally.
  3. The Future of Programming (Bret Victor) — gorgeous slides, fascinating talk, and this advice from Alan Kay: I think the trick with knowledge is to “acquire it, and forget all except the perfume” — because it is noisy and sometimes drowns out one’s own “brain voices”. The perfume part is important because it will help find the knowledge again to help get to the destinations the inner urges pick.
  4. psd.rb — Ruby code for reading PSD files (MIT licensed).

July 26 2013

Four short links: 26 July 2013

  1. Good UI — easily digested tips for improving UIs. (via BERG London)
  2. Mapping Millions of Dots — tips like The other thing that goes along with this brightness scaling is to draw fewer dots at lower zoom levels. By the time you get most of a continent on the screen, the dots are so much smaller than pixels and there are so many of them to draw, that it looks the same and is much faster if you draw half as many dots at twice the brightness apiece. (via Flowing Data)
  3. 118g 10x Zoom Camera for Drones — little less than 800×600 resolution. (via DIY Drones)
  4. Creating Interactive Fiction with Inform7 (Amazon) — all you need to write your own Zork, or even do better. With foreword by my hero (I squee like fanboy when I remember meeting him at the first Foo Camp) Don Woods. Yeah, Colossal Cave Adventure Don Woods. WIN. (via Marshall Tenner Winter)

July 24 2013

Four short links: 24 July 2013

  1. What to Look For in Software Dev (Pamela Fox) — It’s important to find a job where you get to work on a product you love or problems that challenge you, but it’s also important to find a job where you will be happy inside their codebase – where you won’t be afraid to make changes and where there’s a clear process for those changes.
  2. The Slippery Slope to Dark Patterns — demonstrates and deconstructs determinedly user-hostile pieces of software which deliberately break Nielsen’s usability heuristics to make users agree to things they rationally wouldn’t.
  3. Victory Lap for Ask Patents (Joel Spolsky) — story of how a StackExchange board on patents helped bust a bogus patent. It’s crowdsourcing the prior art, and Joel shows how easy it is.
  4. The World as Fire-Free Zone (MIT Technology Review) — data analysis to identify “signature” of terrorist behaviour, civilian deaths from strikes in territories the US has not declared war on, empty restrictions on use. Again, it’s a test that, by design, cannot be failed. Good history of UAVs in warfare and the blowback from their lax use. Quoting retired General Stanley McChrystal: The resentment caused by American use of unmanned strikes … is much greater than the average American appreciates. They are hated on a visceral level, even by people who’ve never seen one or seen the effects of one.

July 16 2013

Four short links: 16 July 2013

  1. Pete Warden on SensorsWe’re all carrying little networked laboratories in our pockets. You see a photo. I see millions of light-sensor readings at an exact coordinate on the earth’s surface with a time resolution down to the millisecond. The future is combining all these signals into new ways of understanding the world, like this real-time stream of atmospheric measurements.
  2. Quine RelayThis is a Ruby program that generates Scala program that generates Scheme program that generates …(through 50 languages)… REXX program that generates the original Ruby code again.
  3. Celloa GNU99 C library which brings higher level programming to C. Interfaces allow for structured design, Duck Typing allows for generic functions, Exceptions control error handling, Constructors/Destructors aid memory management, Syntactic Sugar increases readability.
  4. The Meeting (John Birmingham) — satirising the Wall Street Journal’s meeting checklist advice.

July 08 2013

July 05 2013

Context Aware Programming

I’m increasingly realizing that many of my gripes about applications these days are triggered by their failure to understand my context in the way that they can and should. For example:

  • Unruly apps on my Android phone, like gmail or twitter, update messages in the background as soon as I wake up my phone, slowing the phone to a crawl and making me wait to get to the app I really want. This is particularly irritating when I’m trying to place a phone call or write a text, but it can get in the way in the most surprising places. (It’s not clear to me if this is the application writers’ fault, or due to a fundamental flaw in the Android OS.)
  • Accuweather for Android, otherwise a great app, lets you set up multiple locations, which seems like it would be very handy for frequent travelers, but it inexplicably defaults to whichever location you set up first, regardless of where you are. Not only does it ignore the location sensor in the phone, it doesn’t even bother to remember the last location I chose.
  • The WMATA app (Washington Metro transit app) I just downloaded lets you specify and save up to twelve bus stops for which it will report next bus arrival times. Why on earth doesn’t it just detect what bus stop you are actually standing at?
  • And it’s not just mobile apps. Tweetdeck for Mac lets you schedule tweets for later in the day or on future dates, yet it defaults to the date that you last used the feature rather than today’s date!  How frustrating is it to set the time of the tweet for the afternoon, only to be told “Cannot schedule a tweet for the past”, because you didn’t manually update the date to today!

In each of these cases, programmers seemingly have failed to understand that devices have senses, and that consulting those senses is the first step in making the application more intelligent. It’s as if a human, on awaking, blundered down to breakfast without opening his or her eyes!

By contrast, consider how some modern apps have used context awareness to create brilliant, transformative user experiences:

  • Uber, recognizing both where you are and where the nearest driver is, gives you an estimated time of pickup, connects the two of you, and lets you track progress towards that pickup.
  • Square Register notices anyone running Square Wallet entering the store, and pops up their name, face, and stored payment credentials on the register, creating a delightful in-store checkout experience.
  • Apps like FourSquare and Yelp are like an augmentation that adds GPS as a human sixth sense, letting you find restaurants and other attractions nearby. Google Maps does all that and more. (Even Google Maps sometimes loses the plot, though. For example, yesterday afternoon, I was on my way to Mount Vernon. Despite the fact that I was in Virginia, a search unadorned with the state name gave me as a first result Mount Vernon WA, rather than Mount Vernon VA. I’ve never understood how an app that can, and does, suggest the correct street name nearby before I’ve finished typing the building number can sometimes go so wrong.)
  • Google Now, while still a work in progress, does an ambitious job of intuiting things you might want to know about your environment. It understands your schedule, your location, the weather, the time, and things you have asked Google to remember on your behalf. It sometimes suggests things that you don’t care about, but I’d far rather than than an idiot application that requires me to use keystrokes or screen taps to tell the app things that my phone already knows.

Just as the switch from the command line to the GUI required new UI skills and sensibilities, mobile and sensor-based programming creates new opportunities to innovate, to surprise and delight the user, or, in failing to use the new capabilities, the opportunity to create frustration and anger.  The bar has been raised. Developers who fail to embrace context-aware programming will eventually be left behind.

Four short links: 5 July 2013

  1. Quantitative Analysis of the Full Bitcoin Transaction Graph (PDF) — We analyzed all these large transactions by following in detail the way these sums were accumulated and the way they were dispersed, and realized that almost all these large transactions were descendants of a single transaction which was carried out in November 2010. Finally, we noted that the subgraph which contains these large transactions along with their neighborhood has many strange looking structures which could be an attempt to conceal the existence and relationship between these transactions, but such an attempt can be foiled by following the money trail in a su*ciently persistent way. (via Alex Dong)
  2. Majority of Gamers Today Can’t Finish Level 1 of Super Mario Bros — Nintendo test, and the President of Nintendo said in a talk, We watched the replay videos of how the gamers performed and saw that many did not understand simple concepts like bottomless pits. Around 70 percent died to the first Goomba. Another 50 percent died twice. Many thought the coins were enemies and tried to avoid them. Also, most of them did not use the run button. There were many other depressing things we noted but I can not remember them at the moment. (via Beta Knowledge)
  3. Bloat-Aware Design for Big Data Applications (PDF) — (1) merging and organizing related small data record objects into few large objects (e.g., byte buffers) instead of representing them explicitly as one-object-per-record, and (2) manipulating data by directly accessing buffers (e.g., at the byte chunk level as opposed to the object level). The central goal of this design paradigm is to bound the number of objects in the application, instead of making it grow proportionally with the cardinality of the input data. (via Ben Lorica)
  4. Poderopedia (Github) — originally designed for investigative journalists, the open src software allows you to create and manage entity profile pages that include: short bio or summary, sheet of connections, long newsworthy profiles, maps of connections of an entity, documents related to the entity, sources of all the information and news river with external news about the entity. See the announcement and website.

July 04 2013

July 02 2013

July 01 2013

Four short links: 1 July 2013

  1. Web Traffic VisualizationDots enter when transactions start and exit when completed. Their speed is proportional to client’s response time while their size reflects the server’s contribution to total time. Color comes from the specific request. (via Nelson Minar)
  2. Complete Guide to Being Interviewed on TV (Quartz) — good preparation for everyone who runs the risk of being quoted for 15 seconds.
  3. Harlan (GitHub) — new language for GPU programming. Simple examples in the announcement. (via Michael Bernstein)
  4. Open Fitopen source software that investigates several approaches to generating custom tailored pants patterns. Open Fit Lab is an attempt to use this software for on-the-spot generation and creation of custom clothes. (via Kaitlin Thaney)

June 27 2013

Four short links: 27 June 2013

  1. nitrous.io — IDE “in the cloud”, as “the kids” say.
  2. smartHeadlight — headlight that tracks raindrops and doesn’t send out light to reflect off them back into your eyes causing you to clutch your head and veer off the road into the parking lot of a Hooters to which your wife will NOT enjoy being called to tow your VERY SORRY HONEY ass home. Thank heavens science can save us from this awful hypothetical scenario. (via Greg Linden)
  3. Knight Funds outline.io — it’s a public policy simulator that helps people visualize the impact that public policies like health care reform and school budget changes might have on local economies and communities. Simulators are hugely underused way to get public to understand policy debate. (via Julie Starr)
  4. ZXX Font — designed to be hard to OCR, though a common trick makes it pervious to OCR. Secrecy is not an option on your font menu. (via Beta Knowledge)

June 17 2013

Four short links: 20 June 2013

  1. Wormhole — Facebook’s pub/sub system. Wormhole propagates changes issued in one system to all systems that need to reflect those changes – within and across data centers.
  2. NanocubesFast Visualization of Large Spatiotemporal Datasets.
  3. Sean Gourley on Relevance (YouTube) — Is Silicon Valley really doing what it should be doing? he asks, 3m30 in. Good to see him pondering stuff that matters, back in 2011.
  4. Shortcata keyboard tool for Mac OS X that lets you “click” buttons and control your apps with a few keystrokes. Think of it as Spotlight for the user interface.

June 11 2013

Four short links: 10 June 2013

  1. Anatomy of Two Memes — comparing the spread of Gangnam Style to Harlem Shake. Memes are like currencies: you need to balance accessibility (or ‘money supply’) and inflation. Gangnam Style became globally accessible through top-down mainstream sources (High Popularity), but this gave it high social inflation so it wasn’t valuable to share (Low Shareability). However, scale sustained its long term growth. Harlem Shake was not as easily accessible because it was driven more by small communities (Low Popularity), but for the same reason, being less easily accessible, it remained highly valuable (High Shareability). Lack of scale was what made Harlem Shake growth short-term and eventually killed it prematurely. Caution: contains fauxconomics.
  2. Handedness (Github) — determine left or right handedness from pinch gesture.
  3. Innovation Cartography — video of a talk by Richard Jefferson of Cambia’s lens, on the imperative to innovate held at the Skoll World Forum on Social Enterprise. His story of maritime cartography (starts around 5m50s) is awesome.
  4. Statically Recompiling NES Games into Native Executables with LLVM and Go — or “crack for Nat” as I like to translate that title.

June 04 2013

Really Understanding Computation

It’s great to see that Tom Stuart’s Understanding Computation has made it out. I’ve been excited about this book ever since we signed it.

Understanding Computation started from Tom’s talk Programming with Nothing, which he presented at Ruby Manor in 2011. That talk was a tour-de-force: it showed how to implement a more-or-less complete programming system without using any libraries, methods, classes, objects, or even control structures, assignments, arrays, strings, or numbers. It was, literally, programming with nothing. And it was an eye-opener.

Shortly after I saw the conference video, I talked to Tom to ask if we could do more like this. And amazingly, the answer was “yes.” He was very interested in teaching the theory of computing through Ruby, using similar techniques. What does a program mean? What does it mean for something to be a program? How do we build languages that can handle ever more flexible abstractions? What kinds of problems can’t we solve computationally? It’s all here, and it’s all clearly demonstrated via Ruby code. It’s not code that you’d ever use in a real application (trust me, doing arithmetic without numbers, assignments, and control statements is ridiculously slow). But it is code that will expand your mind and leave you with a much better understanding of what you’re doing when you’re programming.

May 29 2013

Four short links: 29 May 2013

  1. Quick Reads of Notable New Zealanders — notable for two reasons: (a) CC-NC-BY licensed, and (b) gorgeous gorgeous web design. Not what one normally associates with Government web sites!
  2. svg.js — Javascript library for making and munging SVG images. (via Nelson Minar)
  3. Linkbot: Create with Robots (Kickstarter) — accessible and expandable modular robot. Loaded w/ absolute encoding, accelerometer, rechargeable lithium ion battery and ZigBee. (via IEEE Spectrum)
  4. The Promise and Peril of Real-Time Corrections to Political Misperceptions (PDF) — paper presenting results of an experiment comparing the effects of real-time corrections to corrections that are presented after a short distractor task. Although real-time corrections are modestly more effective than delayed corrections overall, closer inspection reveals that this is only true among individuals predisposed to reject the false claim. In contrast, individuals whose attitudes are supported by the inaccurate information distrust the source more when corrections are presented in real time, yielding beliefs comparable to those never exposed to a correction. We find no evidence of realtime corrections encouraging counterargument. Strategies for reducing these biases are discussed. So much for the Google Glass bullshit detector transforming politics. (via Vaughan Bell)
Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!

Schweinderl