<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Engineer at Boundary, Inc. Building distributed streaming analytics systems with Scala, Java, and Erlang. Probably using it wrong.

@cscotta on Twitter.</description><title>c. scott andreas</title><generator>Tumblr (3.0; @cscotta)</generator><link>http://blog.paradoxica.net/</link><item><title>Dolores Park on Flickr.Dolores Park</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m0c2xuK1641qz7ypxo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/cscotta/6950457475/" title="Dolores Park"&gt;Dolores Park&lt;/a&gt; on Flickr.&lt;/p&gt;&lt;p&gt;Dolores Park&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/18692703069</link><guid>http://blog.paradoxica.net/post/18692703069</guid><pubDate>Sat, 03 Mar 2012 16:05:53 -0800</pubDate></item><item><title>It’s been a few years since I’ve been part of...</title><description>&lt;iframe src="http://player.vimeo.com/video/35548625?color=1eb7cc" width="400" height="224" frameborder="0"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;It’s been a few years since I’ve been part of Instrument, but I couldn’t be prouder of my friends and colleagues at the studio. Some phenomenal digital craft handmade in Portland, Oregon.&lt;/p&gt;
&lt;p&gt;&lt;a class="tumblr_blog" href="http://blog.weareinstrument.com/post/17376176302/we-get-to-craft-a-lot-of-nice-ux-here-at"&gt;helloinstrument&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;We get to craft a lot of nice UX here at Instrument, but it’s difficult to show, since a lot of it is touchscreen, iPad, or interactive kiosk work out in the real world. So we made this reel to feature some of our favorite UX projects from the past few years. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Featured clients: Google, Umpqua Bank, Nike, XBOX and more.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;-ZB&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://blog.paradoxica.net/post/17387521757</link><guid>http://blog.paradoxica.net/post/17387521757</guid><pubDate>Fri, 10 Feb 2012 13:45:00 -0800</pubDate></item><item><title>Some Thoughts on "NoOps"</title><description>&lt;p&gt;&lt;em&gt;After the neologism &amp;#8220;NoOps&amp;#8221; made its way around the web to much ridicule this week, Lucas at AppFog &lt;a href="http://blog.appfog.com/what-is-noops-anyhow/"&gt;took a stab&lt;/a&gt; at reclaiming the term following its rejection by developers and operations teams alike. I originally posted this as a comment on a &lt;a href="http://news.ycombinator.com/item?id=3543440"&gt;link aggregator&lt;/a&gt;, but the original post has been deleted so I&amp;#8217;ve moved it here to give it a home. The original comment follows:&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;&lt;p&gt;It is unfortunate that many young tech companies, in an effort to differentiate themselves, work to invent a new term and cloak it with the appearance of a movement or industry trend. It&amp;#8217;s further unfortunate when those to whom this term is being marketed recoil with laughter and amusement at its implications, forcing its purveyors to double down and attempt to re-assert control over the meaning of a term which may please analysts and folks with Twitter accounts who fashion themselves &amp;#8220;thought leaders,&amp;#8221; but whose roots and meaning are firmly in marketing rather than industry and art.&lt;/p&gt;
&lt;p&gt;So let&amp;#8217;s talk about the marketing term &amp;#8220;No-Ops.&amp;#8221;&lt;/p&gt;
&lt;p&gt;In AppFog&amp;#8217;s attempt to assert a meaning over the marketing term, we&amp;#8217;re told that it means &amp;#8220;developers can code and let a service deploy, manage and scale their code.&amp;#8221; I have yet to meet a single company facing a sizable technical challenge whose performance and availability needs could be met by a strait-jacket PaaS with an autoscale button. I&amp;#8217;m not saying that many smaller companies don&amp;#8217;t use such services successfully – that&amp;#8217;s very much true. But let&amp;#8217;s be clear: the dream of push-button autoscaling while letting &amp;#8220;somebody else&amp;#8221; handle deployment, monitoring, instrumentation, and anything that may go wrong in the middle of the night is a marketing dream. As engineers, we have a business need and emotional need to own our availability [1]. Placing the sum total of your operations into a PaaS providers hands, biting down hard on that marketing dream of NoOps, and throwing the pager out the window doesn&amp;#8217;t mean you have nothing to worry about. It just means that you don&amp;#8217;t care, and can do nothing about it.&lt;/p&gt;
&lt;p&gt;But it&amp;#8217;s not enough to stop there. Instead, the author sees fit to posit his / her marketing term as the &lt;em&gt;continuation of a history&lt;/em&gt; in the evolution of web operations, and proclaim that the term is one that &amp;#8220;traditional operations&amp;#8221; personnel revile. If &amp;#8220;No-Ops&amp;#8221; is a success of any sort, it&amp;#8217;s a marketing win, not a technical one – and certainly not an operational one. If you think that you can place every single egg in your company&amp;#8217;s basket in the hands of PaaS providers and never worry again until you have to twiddle the auto-scale dial after which everything will be fine, you&amp;#8217;re only fooling yourself.&lt;/p&gt;
&lt;p&gt;Who will migrate data on an oversubscribed Postgres shard to two more shards by night by partitions of account IDs? Who will enable dual-writes, run a migration, then cut over reads as we move into Riak? Who will notice a spike in await on the Kafka RAID, recognize the week-over-week trends pointing to your team running out of iops, order, and rack a set of new boxes with SSDs before it&amp;#8217;s too late? Who&amp;#8217;s watching the switches and keeping track of which racks have GigE and which have 10GigE uplinks to the next rack to avoid oversubscribing the network?&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s rare in our industry to see a promise so removed from reality. Indeed, if NoOps is a movement at all, it&amp;#8217;s powered only by the dream of not having to do one&amp;#8217;s job which is to ensure that a company is able to deliver on their business value. Who among us isn&amp;#8217;t tempted by such a promise? [2]&lt;/p&gt;
&lt;p&gt;[1] &lt;a href="http://www.whoownsmyavailability.com/"&gt;http://www.whoownsmyavailability.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[2] &lt;a href="http://www.youtube.com/watch?v=fM9o8MxLX3Q"&gt;http://www.youtube.com/watch?v=fM9o8MxLX3Q&lt;/a&gt;&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;</description><link>http://blog.paradoxica.net/post/16942452788</link><guid>http://blog.paradoxica.net/post/16942452788</guid><pubDate>Thu, 02 Feb 2012 15:18:39 -0800</pubDate></item><item><title>Home From Afar on Flickr.Home From Afar</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_lyl5b6VNdz1qz7ypxo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/cscotta/6785894209/" title="Home From Afar"&gt;Home From Afar&lt;/a&gt; on Flickr.&lt;/p&gt;&lt;p&gt;Home From Afar&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/16729477860</link><guid>http://blog.paradoxica.net/post/16729477860</guid><pubDate>Sun, 29 Jan 2012 16:28:17 -0800</pubDate></item><item><title>Sausalito on Flickr.Sausalito</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lykxyzFCwo1qz7ypxo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/cscotta/6784943459/" title="Sausalito"&gt;Sausalito&lt;/a&gt; on Flickr.&lt;/p&gt;&lt;p&gt;Sausalito&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/16719442289</link><guid>http://blog.paradoxica.net/post/16719442289</guid><pubDate>Sun, 29 Jan 2012 13:49:46 -0800</pubDate></item><item><title>Photo</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lyf7g9zVXR1qz7ypxo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;</description><link>http://blog.paradoxica.net/post/16531998978</link><guid>http://blog.paradoxica.net/post/16531998978</guid><pubDate>Thu, 26 Jan 2012 11:28:57 -0800</pubDate></item><item><title>(Taken with picplz.)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_ly6oixgFVo1qz7ypxo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;(Taken with &lt;a href="http://picplz.com"&gt;picplz&lt;/a&gt;.)&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/16271976893</link><guid>http://blog.paradoxica.net/post/16271976893</guid><pubDate>Sat, 21 Jan 2012 20:59:21 -0800</pubDate></item><item><title>Designing Stateful Distributed Applications</title><description>&lt;p&gt;&lt;p class="p1"&gt;&lt;strong&gt;I don’t often make it to conferences, but occasionally submit a talk or two on ideas that have guided (and emerged from) my thought, research, and work over the past year. Here’s the second for 2012:&lt;/strong&gt;&lt;/p&gt;
&lt;p class="p1"&gt;Faced with unprecedented growth and equally demanding calls for reliability and predictability, we as engineers find ourselves called to develop stable distributed applications with solid scalability characteristics and seamless failure modes – and to get them into production by yesterday. While some applications can be designed as stateless, shared-nothing systems, others (such as databases, caches, stream processing engines, and other stateful systems) require predictable computation and a more complex distribution story. This session provides an overview of popular distributed application design strategies (Dynamo, master / slave, and centrally-coordinated but self-organizing systems), load balancing techniques, warm handoff and rebalancing, and clean handling of failures.&lt;/p&gt;
&lt;p class="p1"&gt;Fortunately, the past year has seen a wealth of new and maturing work in the field, with frameworks such as &lt;a href="http://basho.com/blog/technical/2010/07/30/introducing-riak-core/"&gt;Riak Core&lt;/a&gt; / &lt;a href="http://akka.io/"&gt;Akka&lt;/a&gt;, coordination systems like &lt;a href="http://zookeeper.apache.org/"&gt;ZooKeeper&lt;/a&gt;, and higher-level libraries such as LinkedIn’s &lt;a href="http://sna-projects.com/norbert/"&gt;Norbert&lt;/a&gt; and Boundary’s &lt;a href="http://blog.boundary.com/2011/10/20/Ordasity-Building-Stateful-Clustered-Services-on-the-JVM.html"&gt;Ordasity&lt;/a&gt; and &lt;a href="https://github.com/boundary/scalang"&gt;Scalang&lt;/a&gt; –– all of which help contain the complexity of distributed systems design, reducing the implementation of many common patterns to a few dozen lines of code in one’s language of choice. Appropriate selection among frameworks such as these can aid agile implementation of many systems while avoiding the NIH trap &amp;#8212; or at least illuminating the dangers along the way.&lt;/p&gt;
&lt;p class="p2"&gt;This session offers a deep dive into the tradeoffs of different algorithms and techniques for load balancing, methods of containing cascading failures, and designing for resilience. While distributed architectures can introduce a surprising amount of indeterminism if implemented without care, approaches such as central coordination, atomic broadcast, and consistent hashing / token-based partitioning allow engineers to make continuous assertions about the condition and behavior of a system at runtime, ensuring its health and continued operation.&lt;/p&gt;
&lt;p class="p2"&gt;Of course, nothing matters more than the final operational story proven out in production: ensuring that one’s applications are running, available, and delivering on business value 24/7 – while hopefully allowing engineers and ops teams to sleep a solid 8. To that end, we’ll also discuss the runtime and reliability tradeoffs involved in failover, distribution, and balancing approaches, ways to minimize volatility across a cluster, and reflect on a few horror stories / postmortems.&lt;/p&gt;
&lt;p class="p1"&gt;With a focus on practical strategies for implementing sound systems correctly, attendees can expect to leave with a solid understanding of the space, a survey of approaches that can be implemented quickly (including a batteries-included framework for building a distributed application with cluster membership, automatic load balancing, and handoff in 25 lines of code), and a path for further exploration and research.&lt;/p&gt;&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/16083911629</link><guid>http://blog.paradoxica.net/post/16083911629</guid><pubDate>Wed, 18 Jan 2012 15:32:00 -0800</pubDate></item><item><title>Somewhere in Northern California (Taken with picplz.)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lxz0lnvZsr1qz7ypxo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Somewhere in Northern California (Taken with &lt;a href="http://picplz.com"&gt;picplz&lt;/a&gt;.)&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/16037534577</link><guid>http://blog.paradoxica.net/post/16037534577</guid><pubDate>Tue, 17 Jan 2012 17:39:23 -0800</pubDate></item><item><title>"It was a subtle change, but a profound one nonetheless. The fundamental units of my writing had..."</title><description>“It was a subtle change, but a profound one nonetheless. The fundamental units of my writing had mutated under the spell of the word processor: I had begun by working with blocks of complete sentences, but by the end I was thinking in smaller blocks, in units of discrete phrases. This, of course, had an enormous effect on the types of sentences I ended up writing.&lt;br/&gt;&lt;br/&gt;The computer had not only made it easier for me to write; it also had changed the very substance of what I was writing, and in that sense, I suspect, it had an enormous effect on my thinking as well.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Steven Johnson in &lt;em&gt;Interface Culture&lt;/em&gt; (Harper SF, 1997 - p. 144)&lt;/em&gt;</description><link>http://blog.paradoxica.net/post/15908681400</link><guid>http://blog.paradoxica.net/post/15908681400</guid><pubDate>Sun, 15 Jan 2012 14:28:00 -0800</pubDate></item><item><title>"The importance of this habit of mine for our purposes lies in the simple aphorism that software..."</title><description>“The importance of this habit of mine for our purposes lies in the simple aphorism that &lt;em&gt;software produces subjects&lt;/em&gt;. When we engage with symbolic structures of sufficient complexity, to an extent we synchronize our own internal symbology of those structures. In this we are carrying out our own programs as social beings.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Allucquere Rosanne Stone in &lt;em&gt;The War of Desire and Technology at the close of the Mechanical Age&lt;/em&gt; (MIT Press, 2001 - p. 167)&lt;/em&gt;</description><link>http://blog.paradoxica.net/post/15907924021</link><guid>http://blog.paradoxica.net/post/15907924021</guid><pubDate>Sun, 15 Jan 2012 14:14:45 -0800</pubDate></item><item><title>Searching for Truth in Distributed Applications :::::::::: A Look at the Network</title><description>&lt;p&gt;&lt;p class="p1"&gt;&lt;strong&gt;I don&amp;#8217;t often make it to conferences, but occasionally submit a talk or two on ideas that have guided (and emerged from) my thought, research, and work over the past year. Here&amp;#8217;s the first for 2012:&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;&lt;p class="p1"&gt;As patterns in webops infrastructure evolve into increasingly interdependent networks of distributed applications, the process of illuminating and responding to failures and abnormalities often treads an uncomfortable border between instrumented decision-making and stumbling in the dark. Even with thorough application-level instrumentation, several classes of problems and misconfigurations can evade diagnosis and monitoring until it’s too late.&lt;/p&gt;
&lt;p class="p1"&gt;&lt;span class="s1"&gt;The network itself is phenomenal source of truth in distributed environments. The common communications medium for all apps across a cluster, the network is the glue holding applications together. Though an app may appear healthy enough to fool monitoring – especially in the case of partial failures – changes in communications patterns immediately signal unusual behavior, highlighting failures like a sore thumb. While failures of network devices are not terribly common, failures in distributed applications which communicate over it are. As such, a peek at the network itself offers one of the most powerful and effective techniques for evaluating the health and behavior of distributed applications.&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1"&gt;&lt;span class="s1"&gt;What’s more – a rendered response is only as good as its transit to the client. By instrumenting applications at the network level, one can gain an uncommon level of insight into the performance of mobile apps as data passes over unreliable channels to fleets of embedded devices. The ability to measure and make assertions about traffic patterns to clients based on their network endpoints – whether served by specific wireline providers or lossy mobile networks – enables operations teams to quickly identify the root cause of poor user experience, segments of customers which are affected, and to tie these stats back to business metrics and value.&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1"&gt;&lt;span class="s1"&gt;This session offers a deep-dive into how application-level problems manifest at the network level. Some of these cases range from basic network partitions and node outages to sophisticated application-level changes such as garbage collection-induced pauses, classes of bugs which evade conventional monitoring but constitute partial failures, changes in network activity based on database partitioning, load balancing, and sharding, and other warning signs that crop up at layer three long before wreaking havoc at layer seven as customer-visible failures begin to occur. Combining application-level metrics with network analytics is a powerful cocktail for identifying hot spots quickly, and connecting the dots out to the client closes the whole loop.&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1"&gt;&lt;span class="s1"&gt;The session also explores several approaches to network monitoring using a variety of open-source software and commercial applications to understand normal application behavior at the network level. With a focus on practical strategies and warning signs to look for, attendees can expect to leave with a solid understanding of the field, a survey of approaches that can be implemented quickly, and a path for further exploration and research.&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/15907166855</link><guid>http://blog.paradoxica.net/post/15907166855</guid><pubDate>Sun, 15 Jan 2012 14:01:00 -0800</pubDate></item><item><title>(Taken with picplz at Serpentine in San Francisco, CA.)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lxurvn52MP1qz7ypxo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;(Taken with &lt;a href="http://picplz.com"&gt;picplz&lt;/a&gt; at &lt;a href="http://picplz.com/pics/serpentine-san-francisco-ca/"&gt;Serpentine&lt;/a&gt; in &lt;a href="http://picplz.com/city/san-francisco-ca/"&gt;San Francisco, CA&lt;/a&gt;.)&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/15895708445</link><guid>http://blog.paradoxica.net/post/15895708445</guid><pubDate>Sun, 15 Jan 2012 10:40:34 -0800</pubDate></item><item><title>Pier 3 (Taken with picplz.)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lxlhlfv8LN1qz7ypxo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Pier 3 (Taken with &lt;a href="http://picplz.com"&gt;picplz&lt;/a&gt;.)&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/15625884339</link><guid>http://blog.paradoxica.net/post/15625884339</guid><pubDate>Tue, 10 Jan 2012 10:20:02 -0800</pubDate></item><item><title>(Taken with picplz.)</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_lx8v0rB9Td1qz7ypxo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;(Taken with &lt;a href="http://picplz.com"&gt;picplz&lt;/a&gt;.)&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/15260287442</link><guid>http://blog.paradoxica.net/post/15260287442</guid><pubDate>Tue, 03 Jan 2012 14:41:14 -0800</pubDate></item><item><title>Chicago (Taken with picplz.)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lx1ed3B4NW1qz7ypxo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Chicago (Taken with &lt;a href="http://picplz.com"&gt;picplz&lt;/a&gt;.)&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/15045771224</link><guid>http://blog.paradoxica.net/post/15045771224</guid><pubDate>Fri, 30 Dec 2011 13:58:14 -0800</pubDate></item><item><title>Gary (Taken with picplz.)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lx17vxJNlI1qz7ypxo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Gary (Taken with &lt;a href="http://picplz.com"&gt;picplz&lt;/a&gt;.)&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/15038890521</link><guid>http://blog.paradoxica.net/post/15038890521</guid><pubDate>Fri, 30 Dec 2011 11:38:20 -0800</pubDate></item><item><title>Folgers (Taken with picplz.)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lwptmfaorC1qz7ypxo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Folgers (Taken with &lt;a href="http://picplz.com"&gt;picplz&lt;/a&gt;.)&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/14724379087</link><guid>http://blog.paradoxica.net/post/14724379087</guid><pubDate>Sat, 24 Dec 2011 07:56:39 -0800</pubDate></item><item><title>(Taken with picplz.)</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_lwob51leP81qz7ypxo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;(Taken with &lt;a href="http://picplz.com"&gt;picplz&lt;/a&gt;.)&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/14683590191</link><guid>http://blog.paradoxica.net/post/14683590191</guid><pubDate>Fri, 23 Dec 2011 12:19:49 -0800</pubDate></item><item><title>A dream within a dream. (Taken with picplz.)</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_lt53waBG4t1qz7ypxo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;A dream within a dream. (Taken with &lt;a href="http://picplz.com"&gt;picplz&lt;/a&gt;.)&lt;/p&gt;</description><link>http://blog.paradoxica.net/post/11509664054</link><guid>http://blog.paradoxica.net/post/11509664054</guid><pubDate>Sat, 15 Oct 2011 20:48:09 -0700</pubDate></item></channel></rss>

