The often mistaken and always confused musings of Dave Kinkead pertaining to the rather lovely matters of philosophy, skiing and the interwebs


  1. I have a bad case of philosophy induced tsundoku right now….

bookshelfporn:

‘tsundoku’ - the Japanese word for buying books & not reading them, leaving them to pile up.

    I have a bad case of philosophy induced tsundoku right now….

    bookshelfporn:

    ‘tsundoku’ - the Japanese word for buying books & not reading them, leaving them to pile up.

  2. So very true :(

    So very true :(

    (Source: mrlapadite, via treadlyandme)

  3. Sweet graphic

    Sweet graphic

    (Source: poptech, via swegener)

  4. Dynamic Properties for Elasticsearch Persistence in Ruby

    Most people who work on the interwebs probably know that Elasticsearch makes for a pretty awesome search engine. What fewer people realise however is that it also makes a rather swanky persistence datastore. I mean, if you are going to pushing most of your data from MySQL, Postgres, Mongo, or whatever to Elasticsearch for full text searching, then why not get rid of the redundant step, store all your persistent data in one place, and enjoy the transcendent luxury of a schema-less database.

    Karel Minarik has published Tire, a Ruby API and DSL for ElasticSearch, that makes search and persistence a breeze. Just include the gem and you have ActiveModel behaviour in your classes.

    require 'tire'
    
    class MyModel   
    
        include Tire::Model::Persistence
    
        property :id
        property :name
    
    end
    

    MyModel then acts just like ActiveRecord except the data is persisted in Elasticsearch

    MyModel.create :id => 2, :name => 'Inigo Montoya'
    
    some_model.find 2
    some_model.name     # => 'Inigo Montoya'
    
    MyModel.tire.search 'inigo'
    

    The only downside to this however, is that you now need to pre-declare all your model properties and thus give up all that schema-less sweetness that makes Elasticsearch so delicious. Often, I want to instantiate models with a variety of attributes dynamically at run time, so having to hard code property attributes is a non-trivial bummer. Luckily however, there is a solution. Just override your model’s initialize method.

    require 'tire'
    
    class MyModel   
    
        include Tire::Model::Persistence
    
        property :name
    
        def initialize(attrs={})
            attrs.each do |attr, value|
                # call Tire's property method if it hasn't been set explicitly
                self.class.property attr unless self.class.property_types.keys.include? attr
                # set instance variable
                instance_variable_set("@#{attr}", value) 
            end
            super attrs
        end
    end
    

    Then you can dynamically create a variety of attributes at run time whilst still keeping explicit property mappings.

    swordsman = MyModel.new :name => 'Inigo Montoya', :rage_from => 'Killing of Father', :prepares_for => 'death'
    
    poison = MyModel.new :name => 'Iocane', :substance => 'powder', :colour => nil, :odour => nil, :taste => nil
    

    Enjoy!

  5. A letter to my daughter, Augusta, in Ruby

    jpfuentes2:

    I wanted to creatively express my affection for my daughter, Augusta, in a way I know best. I chose Ruby for its flexibility and elegance. My hope is to introduce her to its boundless beauty someday soon using this composition.

    Letter To Augusta

    This is a real, working, program which outputs “Augusta, we <3 you!” when executed. Be sure to read the love.rb file which supports the letter’s syntax. I tried to keep it symmetrical and legible so that the source closely resembles the content.

    View the source on github.

  6. "What makes corporate work difficult isn’t the intellectual or creative difficulty of the work itself, but the combination of boredom and the need to maintain social poise while performing it."
  7. "Never read The Gay Science on the bus. People’ll think you’re a sociologist."
  8. treadlyandme:

“Time to hit the trails, kid.”

    treadlyandme:

    “Time to hit the trails, kid.”

    (Source: einerundesache)

  9. "Only the mediocre are supremely confident of their ability."
    And I’m feeling pretty confident :)
  10. The price of inequality
http://i.imgur.com/Cufgf.gif

    The price of inequality http://i.imgur.com/Cufgf.gif

  11. Fun with flies

  12. DRN help desk anyone?

    DRN help desk anyone?

  13. secretrepublic:

Urban Solitude.

    secretrepublic:

    Urban Solitude.

    (Source: sharksinvestinginart)

  14. "Democracy cannot be justified as merely a system for translating the raw, uninformed will of a majority into public policy"
    Robert Dahl
  15. The Bootstrap Paradox

    How does a people decide exactly who should make up the people? The democratic method would be to vote but then who should vote? It can’t be ‘the people’ because who ‘the people’ are is only determined after the vote.

    How does a people decide the boundaries of the political, the demarcation of personal from collective decisions? Again, voting can’t be the solution because limiting the domain of the political via collective decision is itself a political action, while voting to increase the political makes vacuous the whole notion of the personal.

    How does a people decide on an electoral system? The only reason to choose between electoral systems is if they produce different outputs given the same inputs. Otherwise, the choice is vacuous. But the choice of electoral system itself requires agreement on an earlier electoral system in order for the choice to be democratic. How does a people decide on that?

    Each of these three democratic dilemmas is an example of what I call the Bootstrap Paradox. In each case, a democratic solution seems impossible without either unanimous agreement or resort to non-democratic means, and neither of these solutions is attractive to a democrat.

    Unanimous agreement is unattractive in two primary ways. Firstly, there is the issue of practicality. Given any level of diversity amongst a people in terms of beliefs, preferences, disposition, resources or circumstances, unanimous agreement seems completely unlikely for any non-trivial issue, even amongst highly homogeneous groups. Secondly, there is a logical issue. Collective decisions are only collective if they are collectively binding. They are made to create rules and regulations and to influence behaviours in particular ways. But unanimous collective decisions are indistinguishable from unanimous individual decisions, offering nothing more and being completely unnecessary in cases where people unanimously but individually agree.

    Non-democratic solutions are also unattractive for two key reasons. The seeming inability of democracy to bootstrap itself from internal principles, and resultant reliance on non-democratic principles, indicates that democratic theory is in some way insufficient and inadequate to the task of forming itself. And the worry continues. If some non-democratic principle is required to ground democracy on solid foundations, then can’t this prior principle do much or all the work that democracy is claimed to do, thereby rendering democracy redundant?

    But the bigger worry in my view, is that even these non-democratic principles fail to adequately address the problems that the Bootstrap Paradox raises. In the case of the first dilemma, the Boundary Problem, none of the proposed non-democratic solutions such as nationalism, geography, salience, affect or consent have been able to sufficiently address the issue.

    Liberalism is often cited as a solution to the second dilemma, yet considerable debate continues over just what the optimal set of liberties for all in a society is, or ought be. Yet liberalism requires collectively binding constraints upon our freedoms in order to demarcate the individual from the collective, and how are we to determine and agree to these if not collectively?

    The third dilemma could perhaps be solved by expertise. Differing electoral systems promote different political characteristics such as stability, accountability, diversity and representation. Yet expertise cannot offer us any insight as to which characteristics we should value in our electoral systems. How to collectively agree on which characteristics to values sends us back into another regress of determining how to agree on how to agree.

    Can we find a way to bootstrap democracy? I’m unsure but optimistic that it is possible. Yet my intuition is that in order to do so, we will need to recast democracy as a purely instrumental endeavour needed to promote its foundational value - autonomy and equality within collective constraints.