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

November 11 2013

Four short links: 11 November 2013

  1. Living Light — 3D printed cephalopods filled with bioluminescent bacteria. PAGING CORY DOCTOROW, YOUR ORGASMATRON HAS ARRIVED. (via Sci Blogs)
  2. Repacking Lego Batteries with a CNC Mill — check out the video. Patrick programmed a CNC machine to drill out the rivets holding the Mindstorms battery pack together. Coding away a repetitive task like this is gorgeous to see at every scale. We don’t have to teach our kids a particular programming language, but they should know how to automate cruft.
  3. My Thoughts on Google+ (YouTube) — when your fans make hatey videos like this one protesting Google putting the pig of Google Plus onto the lipstick that was YouTube, you are Doin’ It Wrong.
  4. Presto: Interacting with Petabytes of Data at Facebooka distributed SQL query engine optimized for ad-hoc analysis at interactive speed. It supports standard ANSI SQL, including complex queries, aggregations, joins, and window functions. For details, see the Facebook post about its launch.

November 05 2013

Four short links: 5 November 2013

  1. Influx DBopen-source, distributed, time series, events, and metrics database with no external dependencies.
  2. Omega (PDF) — ���exible, scalable schedulers for large compute clusters. From Google Research.
  3. GraspJSSearch and replace your JavaScript code based on its structure rather than its text.
  4. Amazon Mines Its Data Trove To Bet on TV’s Next Hit (WSJ) — Amazon produced about 20 pages of data detailing, among other things, how much a pilot was viewed, how many users gave it a 5-star rating and how many shared it with friends.

October 30 2013

Four short links: 30 October 2013

  1. Offline.js — Javascript library so web app developers can gracefully deal with users going offline.
  2. Android Guideslots of info on coding for Android.
  3. Statistics Done Wrong — learn from these failure modes. Not medians or means. Modes.
  4. Streaming, Sketching, and Sufficient Statistics (YouTube) — how to process huge data sets as they stream past your CPU (e.g., those produced by sensors). (via Ben Lorica)

October 28 2013

Four short links: 28 October 2013

  1. A Cyber Attack Against Israel Shut Down a RoadThe hackers targeted the Tunnels’ camera system which put the roadway into an immediate lockdown mode, shutting it down for twenty minutes. The next day the attackers managed to break in for even longer during the heavy morning rush hour, shutting the entire system for eight hours. Because all that is digital melts into code, and code is an unsolved problem.
  2. Random Decision Forests (PDF) — “Due to the nature of the algorithm, most Random Decision Forest implementations provide an extraordinary amount of information about the final state of the classifier and how it derived from the training data.” (via Greg Borenstein)
  3. BITalino — 149 Euro microcontroller board full of physiological sensors: muscles, skin conductivity, light, acceleration, and heartbeat. A platform for healthcare hardware hacking?
  4. How to Be a Programmer — a braindump from a guru.

October 25 2013

Programming with feedback

Everyone knows what feedback is. It’s when sound systems suddenly make loud, painful screeching sounds. And that answer is correct, at least partly.

Control theory, the study and application of feedback, is a discipline with a long history. If you’ve studied electrical or mechanical engineering, you’ve probably confronted it. Although there’s an impressive and daunting body of mathematics behind control theory, the basic idea is simple. Whenever you have a varying signal, you can use feedback to control the signal, giving you a consistent output. Screaming amps at a concert are nothing but a special case in which things have gone wrong.

We use control theory all the time, without even thinking about it. We couldn’t walk if it weren’t for our body’s instinctive use of feedback; upsetting that feedback system (for example, by spinning to become dizzy) makes you fall. When you’re driving a car, you ease off the accelerator when it’s going too fast. You press the accelerator when it’s going too slow. If you undercorrect, you’ll end up going too fast (or stopping); if you overcorrect, you’ll end up jerking forward, slamming on the brakes, then jerking forward again — possibly with disastrous consequences. Cruise control is nothing more than a robotic implementation of the same feedback loop.

A few months ago, Philipp Janert and I wondered why control theory is almost never used by software developers. There are a few exceptions, mostly in embedded systems (for example, cruise control). The answer may be simple enough: these days, relatively few software developers come through the ranks as electrical or mechanical engineers, and haven’t had exposure to the theory. But that isn’t a very good answer, even if it’s correct. In his work, Philipp has found control theory useful in applications as different as ad placement and supply chain management. And we’re willing to bet that, given the exposure, other programmers will find control theory a valuable tool.

Why? Software developers have been trying to build adaptive systems for years. We have lots of ideas about collecting data, analyzing it, and building models of how those systems behave. The problem with those models is that they’re prescriptive. They might tell you the optimal speed to travel to get from point A to point B, but they can’t make real-time adjustments to maintain your speed in response to actual conditions. In contrast, feedback systems are all about responding to actual conditions (and not about optimization). Modern software systems need to react to real-world conditions, such as radical variations in load; they can allocate more processors, memory, storage, and even network connectivity in response to changing conditions. For software to react intelligently and without constant human intervention, feedback isn’t an option; it’s a necessity.

Feedback Control for Computer Systems invites software developers to explore the uses of feedback. We ultimately don’t know why software developers haven’t discovered feedback. But now there’s no excuse: it’s an elegant and effective way to control complex, dynamic processes, and an important tool for anyone interacting with the real world.

October 14 2013

Four short links: 17 October 2013

  1. PencilAn open-source GUI prototyping tool that’s available for ALL platforms.
  2. lmctfyopen source version of Google’s container stack, which provides Linux application containers.
  3. ASCII WWDC — searchable full-text transcriptions of WWDC sessions.
  4. Cryptogeddon — an online infosec wargame.

October 10 2013

Four short links: 10 October 2013

  1. ActiveLit — interactive fiction as literacy tool. (via Text Adventures blog)
  2. Your Car is About to go Open Source (ComputerWorld) — an open-source IVI operating system would create a reusable platform consisting of core services, middleware and open application layer interfaces that eliminate the redundant efforts to create separate proprietary systems. Leaving them to differentiate the traditional way: ad-retargeting and spyware.
  3. The Digital Networked Textbook: Is It Any Good? (Dan Meyer) — “if you were hundreds of feet below the surface of the Earth, in a concrete bunker without any kind of Internet access, is the curriculum any different?”
  4. Full Screen Mario — web reimplementation of original Mario Brothers, with random level generator and a level editor, source on github. (via Andy Baio)

September 24 2013

Four short links: 30 September 2013

  1. Steve Yegge on GROK (YouTube) — The Grok Project is an internal Google initiative to simplify the navigation and querying of very large program source repositories. We have designed and implemented a language-neutral, canonical representation for source code and compiler metadata. Our data production pipeline runs compiler clusters over all Google’s code and third-party code, extracting syntactic and semantic information. The data is then indexed and served to a wide variety of clients with specialized needs. The entire ecosystem is evolving into an extensible platform that permits languages, tools, clients and build systems to interoperate in well-defined, standardized protocols.
  2. Deep Learning for Semantic AnalysisWhen trained on the new treebank, this model outperforms all previous methods on several metrics. It pushes the state of the art in single sentence positive/negative classification from 80% up to 85.4%. The accuracy of predicting fine-grained sentiment labels for all phrases reaches 80.7%, an improvement of 9.7% over bag of features baselines. Lastly, it is the only model that can accurately capture the effect of contrastive conjunctions as well as negation and its scope at various tree levels for both positive and negative phrases.
  3. Fireshell — workflow tools and framework for front-end developers.
  4. SICP.js — lots of Structure and Interpretation of Computer Programs (the canonical text for higher-order programming) ported to Javascript.

Four short links: 26 September 2013

  1. Google Has Spent 21 Billion on Data Centers The company invested a record $1.6 billion in its data centers in the second quarter of 2013. Puts my impulse-purchased second external hard-drive into context, doesn’t it honey?
  2. 10x Engineer (Shanley) — in which the idea that it’s scientifically shown that some engineers are innately 10x others is given a rough and vigorous debunking.
  3. How to Hire — great advice, including “Poaching is the titty twister of Silicon Valley relationships”.
  4. Think Like a Git — a guide to git, for the perplexed.

Four short links: 25 September 2013

  1. Salesforce ArchitectureOur search tier runs on commodity Linux hosts, each of which is augmented with a 640 GiB PCI-E flash drive which serves as a caching layer for search requests. These hosts get their data from a shared SAN array via an NFS file system. Search indexes are stored on the flash drive to enable greater performance for search throughput. Architecture porn.
  2. Gerrit Code Review (Github) — tool for doing code reviews on Github codebases. (via Chris Aniszczyk)
  3. Humanize (Github) — Javascript to turn “first” into a list position, format numbers, generate plurals in English, etc. (via Pete Warden)
  4. Users vs Apps (Tim Bray) — the wrong thing being shared with the wrong people, even once, can ruin a trust relationship forever. Personally, I’m pretty hard-line about this one. I’m currently refusing to update the Android app from my bank, CIBC, because it wants access to my contacts. You know what the right amount of “social” content is in my relationship with my bank? Zero, that’s what.

September 23 2013

Four short links: 23 September 2013

  1. Together.js — Mozilla-produced library for in-page collaboration.
  2. This Complex and Tragic Event Supports My Own View (Vaughan Bell) — pretty much every tactic he describes, you will see deployed daily.
  3. Natalie Silvanovich — a security engineer who has extracted and decompiled the code (running on a 6502!) in the heart of a Tamagotchi, and documenting it. Formidable!
  4. Science Fiction to Science Fabrication — MIT course: This class ties science fiction with speculative/critical design as a means to encourage the ethical and thoughtful design of new technologies. (via Beta Knowledge)

September 19 2013

Four short links: 20 September 2013

  1. Researchers Can Slip an Undetectable Trojan into Intel’s Ivy Bridge CPUs (Ars Technica) — The exploit works by severely reducing the amount of entropy the RNG normally uses, from 128 bits to 32 bits. The hack is similar to stacking a deck of cards during a game of Bridge. Keys generated with an altered chip would be so predictable an adversary could guess them with little time or effort required. The severely weakened RNG isn’t detected by any of the “Built-In Self-Tests” required for the P800-90 and FIPS 140-2 compliance certifications mandated by the National Institute of Standards and Technology.
  2. rethinkdbopen-source distributed JSON document database with a pleasant and powerful query language.
  3. Teach Kids Programming — a collection of resources. I start on Scratch much sooner, and 12+ definitely need the Arduino, but generally I agree with the things I recognise, and have a few to research …
  4. Raspberry Pi as Ad-Blocking Access Point (AdaFruit) — functionality sadly lacking from my off-the-shelf AP.

September 13 2013

Four short links: 13 September 2013

  1. Fog Creek’s Remote Work PolicyIn the absence of new information, the assumption is that you’re producing. When you step outside the HQ work environment, you should flip that burden of proof. The burden is on you to show that you’re being productive. Is that because we don’t trust you? No. It’s because a few normal ways of staying involved (face time, informal chats, lunch) have been removed.
  2. Coder (GitHub) — a free, open source project that turns a Raspberry Pi into a simple platform that educators and parents can use to teach the basics of building for the web. New coders can craft small projects in HTML, CSS, and Javascript, right from the web browser.
  3. MillWheel (PDF) — a framework for building low-latency data-processing applications that is widely used at Google. Users specify a directed computation graph and application code for individual nodes, and the system manages persistent state and the continuous ���ow of records, all within the envelope of the framework’s fault-tolerance guarantees. From Google Research.
  4. Probabilistic Scraping of Plain Text Tablesthe method leverages topological understanding of tables, encodes it declaratively into a mixed integer/linear program, and integrates weak probabilistic signals to classify the whole table in one go (at sub second speeds). This method can be used for any kind of classification where you have strong logical constraints but noisy data.

September 04 2013

Four short links: 4 September 2013

  1. MegaPWN (GitHub) — Your MEGA master key is supposed to be a secret, but MEGA or anyone else with access to your computer can easily find it without you noticing. Browser crypto is only as secure as the browser and the code it runs.
  2. hammer.js (GitHub) — a Javascript library for multitouch gestures.
  3. When Smart Homes Get Hacked (Forbes) — Insteon’s flaw was worse in that it allowed access to any one via the Internet. The researchers could see the exposed systems online but weren’t comfortable poking around further. I was — but I was definitely nervous about it and made sure I had Insteon users’ permission before flickering their lights.
  4. A Stick Figure Guide to Advanced Encryption Standard (AES) — exactly what it says.

September 02 2013

Four short links: 3 September 2013

  1. Achieving Rapid Response Times in Large Online Services (PDF) — slides from a talk by Jeff Dean on fanout architectures. (via Alex Dong)
  2. JS MESS — porting the stunning MESS ultimate emulator to Javascript. Interesting challenges like Chrome currently has a hardcoded limit of 32,767 variables, and Firefox has a point at which it hits the CTRL-FUCKIT button and drops the mic.
  3. Go Ahead, Mess with Texas Instruments (The Atlantic) — School typically assumes that answers fall neatly into categories of “right” and “wrong.” As a conventional tool for computing “right” answers, calculators often legitimize this idea; the calculator solves problems, gives answers. But once an endorsed, conventional calculator becomes a subversive, programmable computer it destabilizes this polarity. Programming undermines the distinction between “right” and “wrong” by emphasizing the fluidity between the two. In programming, there is no “right” answer. Sure, a program might not compile or run, but making it offers multiple pathways to success, many of which are only discovered through a series of generative failures. Programming does not reify “rightness;” instead, it orients the programmer toward intentional reading, debugging, and refining of language to ensure clarity.
  4. When A Spouse Puts On Google Glass (NY Times) — Google Glass made me realize how comparably social mobile phones are. [...] People gather around phones to watch YouTube videos or look at a funny tweet together or jointly analyze a text from a friend. With Glass, there was no such sharing.

Four short links: 2 September 2013

  1. sifter.js — library for textually searching arrays and hashes of objects by property (or multiple properties). Designed specifically for autocomplete. (via Javascript Weekly)
  2. Tor Users Get Routed (PDF) — research into the security of Tor, with some of its creators as authors. Our results show that Tor users are far more susceptible to compromise than indicated by prior work.
  3. Glitch News — screencaps from glitches in video news.
  4. FC4: Persona (Tim Bray) — Mozilla Persona, reminds us just because you’re using a protocol that allows tracking avoidance, that doesn’t mean you’ll get it.

August 29 2013

Four short links: 30 August 2013

  1. intention.jsmanipulates the DOM via HTML attributes. The methods for manipulation are placed with the elements themselves, so flexible layouts don’t seem so abstract and messy.
  2. Introducing Brick: Minimal-markup Web Components for Faster App Development (Mozilla) — a cross-browser library that provides new custom HTML tags to abstract away common user interface patterns into easy-to-use, flexible, and semantic Web Components. Built on Mozilla’s x-tags library, Brick allows you to plug simple HTML tags into your markup to implement widgets like sliders or datepickers, speeding up development by saving you from having to initially think about the under-the-hood HTML/CSS/JavaScript.
  3. F1: A Distributed SQL Database That Scalesa distributed relational database system built at Google to support the AdWords business. F1 is a hybrid database that combines high availability, the scalability of NoSQL systems like Bigtable, and the consistency and usability of traditional SQL databases. F1 is built on Spanner, which provides synchronous cross-datacenter replication and strong consistency. Synchronous replication implies higher commit latency, but we mitigate that latency by using a hierarchical schema model with structured data types and through smart application design. F1 also includes a fully functional distributed SQL query engine and automatic change tracking and publishing.
  4. Looking Inside The (Drop)Box (PDF) — This paper presents new and generic techniques, to reverse engineer frozen Python applications, which are not limited to just the Dropbox world. We describe a method to bypass Dropbox’s two factor authentication and hijack Dropbox accounts. Additionally, generic techniques to intercept SSL data using code injection techniques and monkey patching are presented. (via Tech Republic)

Four short links: 29 August 2013

  1. textfsmPython module which implements a template based state machine for parsing semi-formatted text. Originally developed to allow programmatic access to information returned from the command line interface (CLI) of networking devices. TextFSM was developed internally at Google and released under the Apache 2.0 licence for the benefit of the wider community.
  2. The Money is in the Bitcoin Protocol (Vikram Kumar) — some of the basics in this post as well as how people are thinking about using the Bitcoin protocol to do some very innovative things. MUST. READ.
  3. Parsing C++ is Literally Undecidable — any system with enough moving parts will generate eddies of chaotic behaviour, where the interactions between the components are unpredictable. (via Pete Warden)
  4. Kickstarter Raises 6x Indiegogo Money (Medium) — a reminder of the importance of network effects. Crowdfunding is the online auction side of the 2010s.

August 26 2013

Four short links: 27 August 2013

  1. Bomb in the Garden (Matthew Butterick) — de­sign ex­cel­lence is in­hib­it­ed by two struc­tur­al flaws in the web. First flaw: the web is good at mak­ing in­for­ma­tion free, but ter­ri­ble at mak­ing it ex­pen­sive. So the web has had to rely large­ly on an ad­ver­tis­ing econ­o­my, which is weak­en­ing un­der the strain. Second flaw: the process of adopt­ing and en­forc­ing web stan­dards, as led by the W3C, is hope­less­ly bro­ken. (via Alex Dong)
  2. Google’s New Play Store Policies on Ads (The Next Web) — the walls of civilisation holding back the hordes of assclowns. Imagine the behaviour responsible for each of these restrictions.
  3. Inside Password Cracking (Wired) — how pros go about cracking your password once they have the encrypted hash. (And gosh, how those “but I used numbers and symbols!” passwords fall)
  4. Brackets (Github) — open source web code editor by Adobe.

August 20 2013

Four short links: 22 August 2013

  1. bletchley (Google Code) — Bletchley is currently in the early stages of development and consists of tools which provide: Automated token encoding detection (36 encoding variants); Passive ciphertext block length and repetition analysis; Script generator for efficient automation of HTTP requests; A flexible, multithreaded padding oracle attack library with CBC-R support.
  2. Hackers of the RenaissanceFour centuries ago, information was as tightly guarded by intellectuals and their wealthy patrons as it is today. But a few episodes around 1600 confirm that the Hacker Ethic and its attendant emphasis on open-source information and a “hands-on imperative” was around long before computers hit the scene. (via BoingBoing)
  3. Maker Camp 2013: A Look Back (YouTube) — This summer, over 1 million campers made 30 cool projects, took 6 epic field trips, and met a bunch of awesome makers.
  4. huxley (Github) — Watches you browse, takes screenshots, tells you when they change. Huxley is a test-like system for catching visual regressions in Web applications. (via Alex Dong)
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!