<?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 (data-structures)</title><link>http://michael-mccracken.net/</link><description></description><atom:link rel="self" href="http://michael-mccracken.net/categories/data-structures.xml" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Fri, 13 Nov 2015 19:12:37 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>Links for February 7th through February 9th</title><link>http://michael-mccracken.net/2012/02/links-for-february-7th-through-february-9th/</link><dc:creator>Michael McCracken</dc:creator><description>&lt;div&gt;&lt;p&gt;My shared links for February 7th through February 9th:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://twitter.github.com/effectivescala/"&gt;Effective Scala&lt;/a&gt; - &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://courses.csail.mit.edu/6.851/spring12/lectures"&gt;Video lectures for 6.851, advanced data structures&lt;/a&gt; - Prof. Erik Demaine's 6.851 lectures recorded with synchronized lecture notes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/tobami/codespeed/"&gt;tobami/codespeed - GitHub&lt;/a&gt; - Python and django performance monitoring tool. Used for speed.pypy.org&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://tratt.net/laurie/research/publications/html/tratt__experiences_with_an_icon_like_expression_evaluation_system/"&gt;Experiences with an Icon-like Expression Evaluation System&lt;/a&gt; - Interesting and accessible trip through Icon's expression semantics and Converge.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/amoffat/pbs"&gt;amoffat/pbs - GitHub&lt;/a&gt; - Clever library to let you start subprograms from python as if they were python functions. Much more usable than the stuff I'm used to in the pystdlib...
Almost as concise as backticks and looks more flexible too (ie, handles piping)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://tratt.net/laurie/tech_articles/articles/fast_enough_vms_in_fast_enough_time"&gt;Laurence Tratt: Fast Enough VMs in Fast Enough Time&lt;/a&gt; - "If you can stomach the smell, put yourself briefly in the shoes of a programming language designer. What you want to do is create new programming languages, combining new and old ideas into a fresh whole. It sounds like a fun, intellectually demanding job, and occasionally it is. However, we know from experience that languages that exist solely in the mind or on paper are mostly worthless: it is only when they are implemented and we can try them out that we can evaluate them. As well as a language design, therefore, we need a corresponding language implementation."&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.mobiata.com/blog/2012/02/08/twine-string-management-ios-mac-os-x"&gt;Introducing Twine: String Management for iOS, Mac OS X, and Android Development - Mobiata Blog&lt;/a&gt; - In this post I hope to show you just how bad the standard localization process is for iOS and Mac OS X apps, and how we have found a way to make it much easier for developers to localize their apps and then maintain these localizations and translations over time. In addition, I'll show you how you can easily share your translations across multiple apps and platforms. This will save your company money that would otherwise be spent duplicating your translation efforts, especially if you are developing for both iOS and Android.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://live.gnome.org/Conduit"&gt;Conduit - GNOME Live!&lt;/a&gt; - Conduit is a synchronization application for GNOME. It allows you to synchronize your files, photos, emails, contacts, notes, calendar data and any other type of personal information and synchronize that data with another computer, an online service, or even another electronic device.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Conduit manages the synchronization and conversion of data into other formats. For example, Conduit allows you to :&lt;/p&gt;
&lt;p&gt;Synchronize your Tomboy notes with another computer
Synchronize your your PIM data to your mobile phone, iPod, Nokia Internet tablet, or between computers
Upload photos to Flickr, Picasa, SmugMug, ShutterFly and your iPod
Any combination you can imagine, Conduit will take care of the conversion and synchronization.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://text-processing.com/demo/sentiment/"&gt;Python NLTK Sentiment Analysis with Text Classification Demo&lt;/a&gt; - neat demo but the results aren't intuitive. maybe the training set isn't great.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://stephenholiday.com/articles/2011/gender-prediction-with-python/"&gt;Gender Prediction with Python : Stephen Holiday&lt;/a&gt; - &lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><category>best-practices</category><category>classification</category><category>compiler</category><category>data-structures</category><category>demo</category><category>generators</category><category>gnome</category><category>icon</category><category>ios</category><category>languages</category><category>lectures</category><category>links</category><category>linux</category><category>localization</category><category>mit</category><category>monitoring</category><category>nltk</category><category>osx</category><category>performance</category><category>pinboard-links</category><category>pl</category><category>programming</category><category>python</category><category>scala</category><category>scripting</category><category>sentiment</category><category>shell</category><category>sync</category><category>text-classification</category><category>tool</category><category>video-lectures</category><category>vm</category><category>web</category><guid>http://michael-mccracken.net/2012/02/links-for-february-7th-through-february-9th/</guid><pubDate>Thu, 09 Feb 2012 22:46:00 GMT</pubDate></item></channel></rss>