<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>michael-mccracken.net (workstation)</title><link>http://michael-mccracken.net/</link><description></description><atom:link rel="self" href="http://michael-mccracken.net/categories/workstation.xml" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Fri, 13 Nov 2015 19:12:29 GMT</lastBuildDate><generator>https://getnikola.com/</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Links for June 27, 2014</title><link>http://michael-mccracken.net/2014/06/links-for-June-27-2014/</link><dc:creator>Michael McCracken</dc:creator><description>&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://opentuner.org/"&gt;OpenTuner by jansel&lt;/a&gt;
    "OpenTuner is a new framework for building domain-specific multi-objective program autotuners. OpenTuner supports fully customizable configuration representations, an extensible technique representation to allow for domain-specific techniques, and an easy to use interface for communicating with the tuned program. A key capability inside OpenTuner is the use of ensembles of disparate search techniques simultaneously, techniques which perform well will receive larger testing budgets and techniques which perform poorly will be disabled." -- This looks really useful. I started on something like this long ago at LLNL, but since I was so young I focused mostly on fancy plots and designing a language for describing experiments.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://vimeo.com/95534178"&gt;Paper to Plants on Vimeo&lt;/a&gt;
    A really cute video about a game that seems pretty charming. I'm still not sold on little kids using iPads so much, I'm told it's bad for their eye development.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.computingcomfort.org/create2.asp"&gt;Ergonomic Workspace Planner Tool | ComputingComfort.org&lt;/a&gt;
    Use this to figure out the optimal height of your standing desk&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://mbutterick.github.io/pollen/doc/"&gt;pollen&lt;/a&gt;
    Write web based books in racket&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://dealloc.me/2014/05/24/opendata-house-hunting/"&gt;Finding the perfect house using open data — dealloc.me&lt;/a&gt;
    A guy builds a map of available houses in Portland that match his desires. Seems like a good real estate agent should do this for you - but how do you know you've got a good one? I guess you have to write some code.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://billmill.org/pymag-trees/"&gt;Drawing Presentable Trees&lt;/a&gt;
    "When I needed to draw some trees for a project I was doing, I assumed that there would be a classic, easy algorithm for drawing neat trees. What I found instead was much more interesting: not only is tree layout an NP-complete problem1, but there is a long and interesting history behind tree-drawing algorithms. I will use the history of tree drawing algorithms to introduce central concepts one at a time, using each of them to build up to a complete O(n) algorithm for drawing attractive diagrams of trees." -- I've always wondered what a good way to do this would be. Knew it had to be a solved problem.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://againstallgrain.com/2013/10/12/grain-free-oatmeal-raisin-cookies/"&gt;Grain-Free Oatmeal Raisin Cookies | Against All Grain - Delectable paleo recipes to eat &amp;amp; feel great&lt;/a&gt;
    If you want oatmeal-raisin but you're trying to avoid oats and sugar, these are really quite good. The coconut makes a great texture.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.slate.com/articles/life/family/2014/06/lev_grossman_on_his_daughter_lily_how_being_a_father_ruined_my_life_and.html"&gt;Lev Grossman on his daughter, Lily: How being a father ruined my life and made me a better writer.&lt;/a&gt;
    A really heartfelt story about becoming a dad and getting your act together. Now that I have kids I'm a total sucker for this kind of article.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://hal.archives-ouvertes.fr/inria-00555588/"&gt;HAL :: [inria-00555588, version 1] A comprehensive study of Convergent and Commutative Replicated Data Types&lt;/a&gt;
    Formal exploration of sync-able data types. Abstract: "Eventual consistency aims to ensure that replicas of some mutable shared object converge without foreground synchronisation. Previous approaches to eventual consistency are ad-hoc and error-prone. We study a principled approach: to base the design of shared data types on some simple formal conditions that are sufficient to guarantee eventual consistency. We call these types Convergent or Commutative Replicated Data Types (CRDTs). This paper formalises asynchronous object replication, either state based or operation based, and provides a sufficient condition appropriate for each case. It describes several useful CRDTs, including container data types supporting both \add and \remove operations with clean semantics, and more complex types such as graphs, montonic DAGs, and sequences. It discusses some properties needed to implement non-trivial CRDTs."&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://dev.stephendiehl.com/hask/#intro"&gt;What I Wish I Knew When Learning Haskell 2.1 ( Stephen Diehl )&lt;/a&gt;
    Nice quick article with practical tips for beginners.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.psmag.com/navigation/business-economics/talent-migration-work-creative-much-new-york-poor-pittsburgh-rich-82894/"&gt;Not So Much 'New York Poor' as 'Pittsburgh Rich' - Pacific Standard: The Science of Society&lt;/a&gt;
    You can get a lot for your money in Pittsburgh, and lots of other places throughout the US. I'm from Pgh, and have fond memories. I'd consider moving back there if they could fix the weather.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://aphyr.com/posts/317-call-me-maybe-elasticsearch"&gt;Call me maybe: Elasticsearch&lt;/a&gt;
    Part of a series of irreverent but thorough explorations of various popular distributed systems.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://m.theatlantic.com/technology/archive/2014/05/what-do-we-save-when-we-save-the-internet/370885/"&gt;What Do We Save When We Save the Internet&lt;/a&gt;
    So as you proceed with your protests, I wonder if you might also ask, quietly, to yourself even, what new growth might erupt if we let the Internet as we know it burn. Shouldn't we at least ponder the question? Perhaps we’d be better off tolerating the venial regret of having lost something than suffering the mortal regret of enduring it."&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.musanim.com/"&gt;Music Animation Machine — "Music Worth Watching"&lt;/a&gt;
    Old stuff, but great. Couldn't believe I hadn't bookmarked it long ago.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://serialized.net/2013/03/moving-from-octopress-to-nikola/"&gt;Moving from Octopress to Nikola | serialized.net&lt;/a&gt;
    This post and a few tweaks got me into nikola without much hassle.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description><category>acheme</category><category>algorithms</category><category>analysis</category><category>app</category><category>art</category><category>autotuning</category><category>blogging</category><category>calculator</category><category>constraints</category><category>cookie</category><category>CRDT</category><category>criticism</category><category>culture</category><category>data</category><category>data-structures</category><category>diagram</category><category>ergonomics</category><category>estate</category><category>eventual-consistency</category><category>fatherhood</category><category>finance</category><category>gluten-free</category><category>graphics</category><category>growing</category><category>haskell</category><category>housing</category><category>howto</category><category>internet</category><category>kids</category><category>language</category><category>maps</category><category>merging</category><category>music</category><category>nikola</category><category>oatmeal</category><category>octopress</category><category>optimization</category><category>paleo</category><category>parenting</category><category>performance</category><category>pittsburgh</category><category>plants</category><category>programming</category><category>publishing</category><category>quickref</category><category>racket</category><category>real</category><category>recipe</category><category>reference</category><category>research</category><category>solver</category><category>sync</category><category>tree</category><category>tuning</category><category>typesetting</category><category>up</category><category>video</category><category>visualization</category><category>workstation</category><category>writing</category><guid>http://michael-mccracken.net/2014/06/links-for-June-27-2014/</guid><pubDate>Fri, 27 Jun 2014 19:24:00 GMT</pubDate></item><item><title>The Workstation is not Dead</title><link>http://michael-mccracken.net/2010/04/the-workstation-is-not-dead/</link><dc:creator>Michael McCracken</dc:creator><description>&lt;div&gt;&lt;p&gt;[caption id="attachment_278" align="alignright" width="180" caption="The Workstation - RIP 2010?"]&lt;a href="http://michael-mccracken.net/wp2/wp-content/uploads/2010/04/450px-Xerox_Alto_mit_Rechner.jpg"&gt;&lt;img alt="" src="http://michael-mccracken.net/wp2/wp-content/uploads/2010/04/450px-Xerox_Alto_mit_Rechner.jpg"&gt;&lt;/a&gt;[/caption]&lt;/p&gt;
&lt;p&gt;Marco Arment &lt;a href="http://www.marco.org/519621380"&gt;wrote yesterday&lt;/a&gt; about mobile computing being more exciting than what he called "Desk" computing. I'm a fan of Marco's writing, and I usually agree with him, but that post got me thinking. I can't argue that mobile isn't exciting, but I disagree with his assertion that desktop computing is a solved problem. He's right that the pace of innovation has slowed. Certainly the last couple of OS X releases have fewer and fewer compelling differences. In fact, I'm writing this on OS X 10.5 -- 10.6 didn't impress me enough to make me bother upgrading.&lt;/p&gt;
&lt;p&gt;Still, when Marco asks what I want out of 10.7, I think "what &lt;em&gt;don't&lt;/em&gt; I want"? &lt;/p&gt;
&lt;p&gt;I think there's tons of room to improve on and even rethink the workstation.&lt;/p&gt;
&lt;p&gt;Maybe now that the consumer train has shifted toward more custom-designed tools for browsing, games, and social apps, there's room for workstation OSs to grow in ways that might improve them without worrying about leaving the home user behind (or boring them).&lt;/p&gt;
&lt;p&gt;I'm not asking for unintuitive design. What I'm asking for is powerful tools - system and apps - for people who use computers for work every day. I certainly hope that these power tools will be built with elegance and style. I'm not asking for dual cameras and four speakers.&lt;/p&gt;
&lt;p&gt;Market forces have limited development of crucial daily-use work tools to what will appeal to the home &amp;amp; leisure market. For instance, Apple ships Mail and iCal with the OS. Both are fine programs, but are clearly trying to ride the line between work features such as meeting planning, and consumer features like stationery. Meanwhile, the market for alternatives is limited, and even some of the alternatives have taken the approach of adding consumer-related features. &lt;a href="http://michael-mccracken.net/2010/04/the-workstation-is-not-dead/http//postbox-inc.com/"&gt;Postbox&lt;/a&gt;, for instance, has added facebook and twitter support. That's not helping me get work done - quite the opposite, really.&lt;/p&gt;
&lt;p&gt;But am I really just talking about incremental improvements and a few more work-oriented features here and there? I don't think so. To be more specific about what kind of big improvements I think are possible in desktop systems, I did a few minutes of brainstorming. Here's what I came up with:&lt;/p&gt;
&lt;p&gt;Like the personal jetpack, I'm still waiting for the system that knows what I'm trying to do and co-ordinates to help me get it done. The one that learns (even crudely!) about my habits and the time of day, my colleagues, their schedules, etc. The one with this knowledge baked in everywhere in the system. For instance, it knows which app's notifications can be ignored for later.&lt;/p&gt;
&lt;p&gt;As a start, I'd even settle for a single system that actually uses all the good ideas that have come up in the past 30 years. Let's at least catch up to Douglas Engelbart's vision of the &lt;a href="http://en.wikipedia.org/wiki/On-Line_System#cite_note-3"&gt;NLS&lt;/a&gt; system for augmenting collective knowledge work before we call it a day.&lt;/p&gt;
&lt;p&gt;Good search everywhere has been a real improvement, but what about full support for smart annotations for files, events, people and other data? The BeOS file system comes to mind. Search is better when there's better info to search for. If I push it a little, some smart background prediction of categories for documents that'd help me find them later -- that couldn't hurt. Why doesn't a file know who emailed it to me?&lt;/p&gt;
&lt;p&gt;Another blast from the past - maybe OpenDoc was a stretch, but more open document formats and easier flowing data between applications isn't a bad idea - can we expand on that?&lt;/p&gt;
&lt;p&gt;This one ties in with mobile devices - Real, honest to god multi-computer network syncing. It can be done - it should be baked in! What if your filesystem was actually an easily merge-able version-controlled document oriented database like CouchDB? Can we use some ideas from distributed version control to make sharing documents on disconnected filesystems work right automatically? I still think the best solution doesn't depend on storing everything on servers (especially public servers). &lt;/p&gt;
&lt;p&gt;That leads to the oft-repeated idea of getting rid of "saving". I shouldn't have to commit changes - maybe I want to tag a version, but the data should always be written to disk.&lt;/p&gt;
&lt;p&gt;Every app should be able to know about communication (mail, IM, SMS, whatever) that might affect what you're working on in it. Today's apps have uniform access to your files - but not to your messages. This seems like a bad historical distinction - they're both relevant data. For example, why do I have to "save attachments"? It's already on my disk…&lt;/p&gt;
&lt;p&gt;What about application and system scripting that &lt;em&gt;really works&lt;/em&gt; - that's easy enough for quick things but powerful and fast enough to grow a real program from? Let me start them as visual or spoken one-off commands but then edit and share them as text.&lt;/p&gt;
&lt;p&gt;System support for Quicksilver/Launchbar/Ubiquity-style text command lines. Tie this into the scripting system. Make it feel like I tell the &lt;em&gt;computer&lt;/em&gt; what to do instead of finding the right app to tell, opening it, etc. &lt;/p&gt;
&lt;p&gt;System-wide hypertext - I should be able to create robust links between document parts, messages, people, and other entities. It should be fast to view an annotated list of changes across versions of a document, showing who did them and what they said about it in emails. This shouldn't have to all reside on some central server to work.&lt;/p&gt;
&lt;p&gt;Do you have any ideas to add to the list?&lt;/p&gt;&lt;/div&gt;</description><category>computers</category><category>desktop</category><category>mobile</category><category>workstation</category><guid>http://michael-mccracken.net/2010/04/the-workstation-is-not-dead/</guid><pubDate>Wed, 14 Apr 2010 18:57:00 GMT</pubDate></item></channel></rss>