Mark Gritter's Journal
[Most Recent Entries] [Calendar View] [Friends]

Below are 20 journal entries, after skipping by the 20 most recent ones recorded in Mark Gritter's LiveJournal:

    [ << Previous 20 -- Next 20 >> ]
    Thursday, May 22nd, 2014
    1:56 am
    Geeky Linkdump
    20 question for Donald Knuth, of which I found Robert Tarjan's the most interesting. Knuth's response (in part):

    In general I'm looking for more focus on algorithms that work fast with respect to problems whose size, n, is feasible. Most of today's literature is devoted to algorithms that are asymptotically great, but they are helpful only when n exceeds the size of the universe...

    For instance, I've been reading about algorithms that decide whether or not a given graph G belongs to a certain class. Is G, say, chordal? You and others discovered some great algorithms for the chordality and minimum fillin problems, early on, and an enormous number of extremely ingenious procedures have subsequently been developed for characterizing the graphs of other classes. But I've been surprised to discover that very few of these newer algorithms have actually been implemented. They exist only on paper, and often with details only sketched.

    I was annoyed at the recent New Scientist article making the rounds about a "proof" of how computers couldn't be conscious under Integrated Information Theory, so I'm glad Scott Aaronson took the time to show why IIT is bunk and saved me some ranting.

    My company announced support for storing Hyper-V VMs on the Tintri VMstore bringing our total number of supported hypervisors to three, perilously close to the maximum possible. :) Only Openstack and Xen to go (well, and perhaps a few other KVM variants.) Chris Wahl posted a great review of Tintri at "Tom's IT Pro".

    Bruce Schneier points out that the NSA is not magic. We've seen a lot of standard hacks carried out at industrial scale, or from privileged positions within the network, but not an Enigma-scale (or, well, Magic) breakthrough. I'm not sure this is cause for optimism; rather, it speaks poorly about the state of communications security that the NSA doesn't need such breakthroughs to do its job.

    And, finally, one of my own pieces of writing on Quora: What mathematical functions can convert multiplication to summation? The previous answers were mainly literal-minded "only logarithms work among continuous functions" references rather than coming up with something that might be more interesting to somebody that's curious, like non-logarithmic slide rules.
    Wednesday, May 14th, 2014
    6:34 pm
    Unix geekery
    I fixed a bug this week which involved a subtle distinction in the behavior of

    int f = open( filename, O_RDONLY );
    fchmod( f, permissions );


    chmod( filename, permission );

    Can you guess what situations the latter handles that the open()/fchmod() combination does not?

    SpoilersCollapse )
    Sunday, May 11th, 2014
    12:46 am
    Gustavus concert
    Both of the conductors I had at Gustavus are retiring this year. Doug Nimmo led the concert band ("Gustavus Band", now "Gustavus Wind Orchestra") for 27 years, and Steve Wright conducted the jazz bands for 24. I played alto saxophone for four years in the Gustavus Band and three (I think?) in the jazz bands.

    The Wind Orchestra (which I found out to my horror is pronounced "gee-woh" by Dr. Nimmo) performed their spring concert today and made it a celebration for both professors. Dr. Wright composed and soloed in one of the pieces.

    It was a rather emotional event for me. Two of the pieces performed were ones I had played. The first was David Holsinger's "Symphonia Resurrectus" (the third movement of his Easter Symphony); Gustavus commissioned it and I played in the premiere in 1995. It's one of the few times in college that my parents got to hear the Gustavus Band--- they made a special trip across Wisconsin. (The only other occasion, I think, was my graduation, although when the band toured Grand Rapids much of my family who lived there attended.) The piece requires a large vocal contingent (miked to compete with the instruments!) which meant that the concert had to be held in Christ Chapel instead of the usual concert hall.

    Dr. Nimmo's conducting style hasn't changed much in the 17 years since I graduated, but I would be surprised if it has. :) He will signal sometimes with a hand held close to his body. But because we were seated on the side due to the chapel arrangement, I had a clear view of what he was doing. Here's the only picture I tried taking:


    The second piece is an arrangement of the hymn "Nearer My God to Thee". Dr. Nimmo told the story of our Eastern European tour stop in Stara Tura, Slovokia in January 1998. It's a small town and we played in the Lutheran church that evening. (It may be the same church shown in the Wikipedia entry.) The residents packed it full to overflowing, sitting even on the steps leading up the balcony. One of the staff members accompanying us had to sit on the organ bench next to Dr. David Fienen, the Gustavus organist who was part of our tour. We played "Nearer My God To Thee" in conjunction with a piece called "Heroes Lost and Fallen" by David Gillingham. At the conclusion of our concert, the pastor (through a translator) interrupted us before the encore and said that while he knew we probably had another piece prepared, that hymn had a special meaning to the church--- they sang it at every funeral--- and could we please play it again? Since then, "Nearer My God To Thee" has been used to conclude every Gustavus Band and Gustavus Wind Orchestra concert tour.

    But in addition to Dr. Wright's piece there was another new composition, a Jack Stamp piece called "Roulette's Deception", commissioned by a couple of Gustavus alums for the concert. I thought this was a fitting celebration of Dr. Nimmo's tenure at Gustavus--- he introduced us as students to a lot of new works. Some we performed, some we just played once or twice in the practice sessions. But it was fitting that the final GWO concert for Dr. Nimmo included new music, not just familiar favorites (and since it is many students' final concert as well, it did not rob them of the chance to had the same sort of experiences I did.)

    Dr. Nimmo did pick a Sousa march (and told a story about being excoriated in the Grand Rapids newspaper for a tour concert that did not include any Sousa.) It was "The White Rose"--- not one I'd played--- but one with a Gustavus connection because it includes a percussion interlude arranged by a Gustavus student (in the 80's) which has been copied and used by other concert bands, after Dr. Nimmo lent the music out.

    Between a couple of the pieces, Dr. Nimmo talked about the history of the ensemble going back to the first concert tour in 1882 (by train and horse-drawn carriages!), to the 1941 tour with Percy Grainger. He asked former members of the Gustavus Band and Wind Orchestra to stand. Unsurprisingly, there was more representation from the younger cohort--- I didn't see anybody I recognized. (But I didn't stay around afterwards to see if anybody recognized me, either.)

    I was more than a little nonplussed when Jack Ohle, the outgoing Gustavus president, got up to make a speech thanking the directors and others. I felt he said some things that were unnecessary and exclusionary. It's definitely considerate to thank the conductors' wives, but he should have done so in a way that did not suggest single faculty could not do as good a job.

    I am very happy to have gone. To this day I listen differently because of my experience as a performer in Dr. Nimmo's and Dr. Wright's ensembles. I definitely reached my peak as a musician during those years; I have not since put the time and energy into practice and performance that's necessary to sustain excellence. But I feel like I am a different person for the time I spent in the Gustavus Band and the Gustavus Jazz Lab Band, and I will always be grateful that I had those opportunities.
    Thursday, May 8th, 2014
    10:58 am
    New Tintri Branding
    Tintri made a couple big announcements today. We've gone through a rebranding and will position the Tintri VMstore as "smart storage that sees, learns, and adapts". We have a new logo and color scheme--- everybody else was also using blue and green, so we picked red.

    We also announced our support for Hyper-V which will be shown at Microsoft TechEd.

    Check out the redesigned website at !
    Sunday, May 4th, 2014
    1:47 pm
    Paying for celebrity speakers has nothing to do with free exchange of ideas
    I've attended more than my share of college commencements. I was in the college concert band (I think they call it "wind orchestra" now), which played at the graduation ceremony, for four years. I attended my wife's graduation, and those of my three siblings. I can fairly say that despite speakers whose quality ranged from Elie Wiesel to Margaret Geller to random-college-donor-who-came-out-against-smoking, commencements are not about the "exchange of ideas". Protesting about your college's choice is fairly pointless. But not quite as pointless as inviting a celebrity speaker whose message will soon be forgotten, particularly if you pay for the privilege.

    It's marginally better to invite a (former) politician for a formal talk. But those events aren't about "free exchange of ideas" either. It's embarrassingly disingenuous for colleges to try to defend the visit of a controversial figure on those grounds. The speakers who get big fees to show up and defend their record (or, theoretically, speak about some other area in their expertise) aren't picked to represent a broad diversity of views. No struggling activist for an unpopular cause gets a $150,000 speaking fee, and are likely not even invited to the same forum. Lecture series are a tool of the establishment if ever there was one.

    So while I roll my eyes at the recent controversy over Condoleezza Rice's speaking engagements (U Minnesota and Rutgers), the language of free debate being used in service of funneling money to ex-politicians leaves a bad taste in my mouth.
    Friday, May 2nd, 2014
    11:35 pm
    I'm thinking of retiring this interview question
    I have been experimenting with asking the following question during interviews:

    Our file system compresses data before storing it to flash. In order to test this, we need to generate data that has a given level of compressibility. A block which has all the same byte will compress down to close to 0% of its original size. A block which has completely random data will stay at 100% of its original size. Can you describe a way to generate blocks that have a tunable amount of compression, within a few percent?

    The experience has been one of mutual frustration so far. I thought I was giving a pretty big hint with my explanation of compression ratios. But I guess compression and traffic-generation techniques are arcane arts?

    spoilers if you want to work on itCollapse )
    Monday, April 28th, 2014
    6:16 pm
    The Problem With Moduli
    So, I'm reading "Probability and Computing: Randomized Algorithms and Probabilistic Analysis" by Michale Mitzenmacher and Eli Upfal. In the first chapter there's an exercise that asks for a randomized algorithm that works around a corrupted lookup table for a function F:[0,n)->[0,m). F is constrained such that F((x+y) mod n) = F(x)+F(y) mod m. (I believe you're supposed to show that even with 1/5th of the values compromised, that for a given z, randomly picking x and calculating F(x) + F(x-z) gives the right answer with > 50% probability.)

    But... how many such functions are there? Well, the definition given is that of a homomorphism, so F(0)=0 and the rest of the function is completely determined by F(1). Thus there are only 'm' different homomorphisms.

    Unfortunately I don't think this insight leads to any better solution, other than perhaps noting that there's no point in using the lookup table for x=0.
    Thursday, April 24th, 2014
    1:00 pm
    A fun programming game
    Untrusted is a game about Javascript hacking. In each level you are presented with a section of code that you can edit (part of a larger Javascript program) that controls a virtual environment. You must change the code to allow your character to beat the level.

    Most of the challenges are not too hard. There were a couple levels where I gave up on trying to figure out what the level designer had intended, and used the capabilities of the language to create my own object types like "bridge" instead of implementing "jump" code. But that's the beauty of a programming-language based game, there is (and ought to be) more than one way to do it. Similarly, in some of the AI levels it was easier to code "follow what my player does" rather than script the robot to do what I wanted.

    The game uses Gist to store your solutions to share with others, if you want. (Other people's solutions don't seem to show up in search--- not sure exactly what's going on, is "anonymous but private" really a valid Gist state?)
    Sunday, April 13th, 2014
    12:59 pm
    Minnebar 9
    Here's how I spent my time on Saturday at the local 900-person "unconference":

    Paul Cantrell, "Scheduling Minnebar with Simulated Annealing" Great talk as is usual from Paul. He intro'd by saying that simulated annealing sounds very fancy but really the algorithm is very dumb. For Minnebar, the key metric is whether people can attend all of the sessions they have expressed interest in through the session web tool. So the function being optimized is the mean, over all attendees, of the percent of their sessions they cannot attend due to scheduling. This may mean it's possible to game the system by registering for fewer sessions. Somebody who registers for 6 will have 0.17/N weight for having two sessions scheduled opposite each other, while somebody who expresses interest in just 2 will have 0.5/N weight on their preference. Certainly you should not register for any you don't much care about.

    I asked about whether it was possible to do better on assignment to rooms. Currently Paul just assigns time slots first, then greedily puts the session with the largest number of interested people in the largest room. But I think it may be possible to do better than this--- some recurring sessions are known to be very popular and yet do not get placed in the largest venues.

    There were quite a few questions of the form "couldn't you find a better/faster solution with X" to which is response was (correctly) "no, we only run this once a year so we don't care very much."

    "Pack Your Own Chute - the Personal Decision to Join a Startup", a panel discussion led by Neal Tovsen, with Paul DeBettignies, Liz Tupper, Matt Hardy, and Todd H Gardner. This one was fairly depressing but a good conversation. They talked about the need to set boundaries and have clear communication with your co-founder when forming a startup. How much money are you willing to lose on this project? Where's your bail-out point? What is the worst-case scenario? (They also talked about some of the fun and freedom too.)

    What struck me is that everyone on the panel was talking about creating a startup rather than joining one. Nobody talked about taking a smaller plunge by going to work for somebody else's startup first. (I know I found my time at Kealia very valuable when we started Tintri--- and I wasn't even doing the heavy lifting on the corporate/financial/HR side!) But just like you might save up money to make sure you could survive the 18 months it took to bootstrap your startup, it may make total sense to work for 2-3 years in another startup to build connections and experience for your own.

    Another issue that was not confronted directly was moving. Relocating is a big cost and one that I totally understand not wanting to pay--- I didn't. But it should be asked: if the only way to make this startup succeed is to move to San Francisco, would you do so?

    I learned about Track:js from one of its founders on the panel (and the other seated next to me in the next session!) A good-looking tool for debugging Javascript problems that happen in production systems, and one Tintri might try out.

    Reed Robinson, "Lessons from a Failed Startup". The failed startup was Heroic, a local attempt at a recommendation service for home services. (His dad repairs garage openers.) He had a good list which I'll try to reproduce here, but I wish his slides were available:

    1. Validate your assumptions. (Like, "people care about my product", "the team can build the product", and "people will pay for my product.")
    2. Sell it, then build it. Heroic spent lots of time on UX but decided not to ask people to pay right away. For his next venture he wants to sell the idea and find people willing to fund the development. (I am not a huge fan of this model but VC looks like that if you squint at it correctly.)
    3. Acknowledge holes in your team ASAP. He talked about how Heroic lacked marketing, finance, and sales expertise. It's possible to go overboard as well here--- but you also don't want to dig a hole.
    4. See things to fruition. Reed gave an example of promotions that were tried and quickly discarded after only a week or so. Some strategic moves need time.
    5. Do things that other people don't want to do. His father gets ten emails a week from people wanting to partner with him. Very crowded space, maybe focus on something less "sexy".
    6. Intimately know your cash situation. Ties in with holes in the team.
    7. Have confidence, but don't take yourself too seriously. Celebrate successes.

    Bridget Kromhout, Monitoring at a SaaS Startup. Talked about her work in ops at 8thBridge, and a wide variety of tools. One thing the Tintri support lead emphasizes is that alerts need to be actionable--- don't wake somebody up in the night for something they can't fix. Bridget reinforced this message strongly. Nagios is old but still a good tool for ensuring alerts are what you want. Some of the newer tools like Sensu are so complicated that ops people fear they need monitoring on their monitoring tool.

    She shared a couple stories in which 8thBridged goofed some by not using some of the information they had available. MongoDB's MMS was telling them about a global write lock problem but they weren't monitoring or alerting on it. Etsy has a very good monitoring team and tries to monitor even those things that don't seem to be moving, "just in case they make a run for it."

    Tools: Graphite and StatsD for collecting and showing stats (they feed info into nagios from them for actual alerting), Whisper for storing time-seris data, Carbon for buffering and storing stats. Slides with more references here:

    Maybe Tintri should look at providing stats directly into some of these tools. She talked about Logstache (?), Kibana, and ElasticSearch as some next-generation tools it might be worth looking into.)

    Jeff Lin of BustOut Solutions, "Chasing Ninja Rockstars: Searching for Top Talent and Why We're Doing it All Wrong". I should have given one this a miss. The key problem, as Jeff admitted, is that he doesn't do much hiring. His 13-person team is 5x smaller than the number of hires Tintri made last quarter. So when we asked questions like how to source more diverse candidates, or how to get team buy-in to change hiring practices, he didn't have any suggestions.

    He had some good points about team culture mattering, and creativity requiring diversity, but it was not very practical advice on how to get there.

    Jeff told an anecdote that pissed me off. At a previous company (not BustOut) his boss took the resumes and filtered out all those with Master's or PhD degrees and said he basically didn't want to hire anybody who had spent too much time in the "ivory tower" because they were out of touch with technology trends.

    I'm not sure what Jeff thought the point of this story was (I think it was in support of skills over credentialism) but it directly contradicted much of the rest of what he said about looking for good problem-solvers and people who were enthusiastic learners. Nobody goes for their PhD to get a better salary. (The same may not necessarily be true of MSCS.) I suspect a not-so-subtle side effect is that Jeff's old boss didn't want to pay more for developers.

    James Renkin, "Building A Global, Privacy-Conscious CDN On $20 A Day". This talk was pure geeky joy. James located 11 sites throughout the globe that were willing to let his virtual server peer with their BGP (the Internet's routing protocol.) He was thus able to create a content distribution network on his own using BGP anycast to direct users to the "closest" (sort of) server. This is what the big guys do (some root DNS servers use it, Akamai might but usually just uses DNS redirection.) But he did it for an outlay of about $7000/year. About $500 of that is the IP address range (which you have to jump through multiple hoops to get--- he's got an ISP side business which he was able to leverage.) The remainder is running the servers and additional charges for injecting his route into BGP. I learned a lot of this stuff during my PhD work, so this talk made me really happy. I have no intention of duplicating his work, though.

    The conference had a couple innovations that didn't work so well. Best Buy let us use their employee parking garage this year instead of visitor parking, but frankly it's a maze (not very well marked, poor traffic flow.) They only had one exit gate opening to leave and more than one person got into the wrong lane.

    The organizers brought in food trucks to serve lunch but the lines were long and it was not all that warm a day to be standing outside. I think three trucks was insufficient; it didn't help that it was not clear there were three separate lines, and that one of the trucks opened late.

    There was also a keynote from an agile coach that I didn't get much out of. I was amused that he emphasized subtracting things to get more productivity but he's usually called in as an "add" to the team.
    12:03 pm
    "Love and Math" vs "Flash Boys"
    "Love and Math" is by Edward Frenkel. It tries to show the beauty of modern mathematics by taking the reader on an autobiographical tour of Frenkel's career, explaining the concepts and connections he's worked with over the years. Mathematical beauty, he says, ought to be accessible to non-mathematicians in the same way that beautiful paintings are accessible to non-painters.

    "Flash Boys" is by Michael Lewis. It tries to show the workings of modern stock markets by taking the reader on a biographical tour of Brad Katsuyama's career and the founding of IEX. Wall Street, he says, is screwing the little guy (and big institutional investors) by delivering their trades into the hands of high-frequency traders.

    Frenkel doesn't succeed in making the math simple. I had some undergraduate courses in "modern algebra" (not really modern at all), including Galois theory, and have maintained an amateur interest since then. I found myself flailing about halfway through the book, and never really developed a good sense what the Langlands Program actually was. The analogy he uses is a Rosetta stone tying together number theory, curves over finite fields (which he does a good job explaining), and Reimann surfaces (ditto.) Quantum theory comes in at the end too! But few of the conjectures that tie the different languages together are stated explicitly. Much of the mathematical meat is buried in the endnotes. This makes it harder for a somewhat-mathematically-sophisticated reader like me to follow the flow, but I can't see how somebody with less background than I comprehends the ideas and examples at all. There are a lot of concepts floating around that make me echo Enrico Fermi: "If I could remember the names of all these particles, I'd be a botanist."

    Here's an example: I understand finite fields, and curves over finite fields. I kind of understand a manifold, and his glossary provides the definition "A smooth geoemetric shape such as a circle, a sphere, or the surface of a donut." He does a good job developing these ideas. Then later we get "manifold over a finite field" and I'm lost--- finite fields aren't smooth! Google or Wikipedia are no help, I just get dumped into reading about Calabi-Yau manifolds, whatever the heck they are.

    That said, I applaud Frenkel for the attempt. I really appreciate having a book about what modern mathematicians are really doing. The sections on being a Jewish mathematician in the USSR are alone worth the price of admission. Antisemitism kept him out of Moscow University (and would have placed further roadblocks on graduate study) but the mathematicians of Moscow created informal networks that trained an entire generation of brilliant students.

    Frenkel is also unabashedly Platonist which causes some hair-tearing. Perhaps pure mathematicians should be introduced to the concept of "confirmation bias."

    Lewis's book succeeds where Frenkel does not. It not only tells a good story, but it also lays out very clearly how high-frequency trading works and affects institutional investors. This picture may not be accurate or complete--- but it's at least part of the story.

    In brief, today's stock market is not a singular location. There are numerous exchanges each with their own rules, practices, and costs. When a broker gets a buy order he typically has to fill it from multiple exchanges (in fact a regulation requires him to go find the best prices!) But a high-frequency trader can monitor his activity on a subset of exchanges (or even one) and beat the broker to other exchanges, buy the available stock and re-sell it immediately at a slightly higher price. This is how high-frequency traders account for 50% of the shares traded--- they're not actually providing any "liquidity", they're just stepping in front of party-to-party sales that would otherwise happen anyway.

    There are, of course, numerous criticisms of Lewis's account. Some claim this dynamic was already well known and published in books at the time his protagonist was puzzling it out. Or that the same was true before electronic exchanges. (This is not a positive.) Or that sophisticated investors were already deploying countermeasures before IEX, and IEX is a scam of some sort under the thumb of known insider traders. Or that Lewis is getting only the "buy-sider" picture of the world and HFT provides incalculable benefits in ways that only people who really know the stock exchanges can understand. That the whole book is nothing but an advertisement for IEX, who are less savvy and ethical than actually portrayed.

    Some of these criticisms I think miss the mark. It's not important who was first to understand HFT or develop countermeasures; it's important to explain it in a clear and engaging fashion. Frankel likes to think that his mathematics is clear, elegant, and beautiful to an outsider--- but ends up, frankly, in a morass of jargon. Financial insiders like to cloud their basic operation in a cloud of strange terms and vague feel-good explanations--- but where their money comes from can usually be explained very simply.

    The silliest criticism I hear is that individual investors ("the little guy") shouldn't care because their trades are so small that HFT can't exploit them. This is an out-and-out lie in two forms. The first is that some individual trades are certainly big enough to suffer. One of the telling anecdotes in the book is a trader with Bloomberg access performing a late-night trade on his personal account, and setting off a flurry of activity which he can observe. The second is that individual investors often put their money into mutual funds which are--- guess what--- big institutional investors who are affected.

    Michael Lewis told Salon that IEX has been flooded with resumes and would-be whistleblowers since the publication of his book. Sadly, I think Frenkel's book is not likely to have a similar impact.
    Monday, March 31st, 2014
    1:04 am
    Also I am cranky about being rear-ended on my way home from the library. No injuries, car is a little beat up (not really in drivable condition due to lights, crumpled exhaust pipes, etc. but probably repairable.)

    All I want is for my insurance company to handle things. They suggested that they not handle things so they don't charge me the deductible on any work done. So instead I have to deal with the other guy's insurance company. Who are reasonable... so far. But I thought living in a "no fault" state meant that wasn't how this worked. Looks like that really kicks in only for injury and economic damages.
    12:47 am
    Screw You, D.J. Tice
    I gave it a few hours but I'm still frothing mad about D.J. Tice's opinion column in Sunday's STrib: Yes, indeed, religious latitude can be messy.

    If Hobby Lobby and Conestoga were to win, might some employers claim religious objections to blood transfusions, vaccinations, treatments for sexually transmitted disease and who knows what else? They might.

    In many such cases, the crucial — one might say “compelling” — importance of uniform coverage for lifesaving medical interventions would seem harder to dispute than it is in the case of birth control. Yet some other employers might well secure the right to “opt out” here and there.

    But if religious freedom is as central to American life as Congress seemed to believe when it passed the RFRA, some piecemeal erosion of uniformity would seem an affordable price to pay.

    Religious latitude is messy. But the issue isn't between "uniformity" and liberty. It's about the right of an employee to not have those religious beliefs dictated by his or her employer. Religious liberty means liberty for individuals, not the feudal liberty of a prince to pick Lutheranism or Catholicism for his state. Tice ignores this dimension entirely, too wrapped up in the desire to find a comfortable, reasonable middle ground.

    Sure, the employment relationship is voluntary. So is the decision to offer health insurance--- there's an alternative for Hobby Lobby here too. But health insurance is part of the compensation package, and it should be the employee's decision what is or is not moral to do with that compensation.
    Friday, March 28th, 2014
    2:21 am
    Terminological Confusion (Work Stuff)
    The acronym "RPO" stands for "recovery point objective". When this is given a definition it's something like "how old is my backup copy in the worst case". I.e., if your data center catches on fire but you're replicating to a remote site, how much data has been lost?

    Unfortunately, idiomatically it seems to be used more in terms of "how often are snapshots taken". But these two quantities aren't the same thing. It might take ten minutes to replicate all your hourly snapshots. Is an RPO of 60 minutes being met? Technically no, because the last replicated data could be 70 minutes old.

    So if we provide an option that says "replicate this set of VMs, with a 60 minute RPO" should we just take hourly snapshots? Would it be more or less confusing to take snapshots slightly more often in order to get them replicated within the 60-minute window?
    Saturday, March 15th, 2014
    12:11 am
    TES online
    I gave The Elder Scrolls Online a try during its beta this weekend. I wasn't expecting to be sold and I wasn't.

    It feels somewhat like playing an Elder Scrolls game but with tons of other monkeys running around getting in your way, jumping over you with their horse, and the like. This would be fine except the designers made quests only semi-instanced. Everybody gets their own loot from kills, but you still have to wait for respawns. Which means you can cooperate in an ad-hoc fashion with whoever can be around, but it made a couple of the early quests pretty annoying to complete.

    In Skyrim many decorations are actual objects. You can pick them up, or kick them across the room. Objects in buildings are the property of the building's owner. In ESO there's all sorts of random crappy loot containers scattered everywhere you go. These are mainly full of crafting components. The world just feels less lived-in and more "only there for farming".

    All the equipment is levelled, of course, but most opponents don't come equipped. This makes the normal Elder Scroll bootstrap-from-rags infinitely more annoying.

    There are some good points in the crafting, and the skill trees have some interesting stuff, but ESO also went to the standard "kill stuff to earn experience to level" instead of keeping with normal Elder Scroll gameplay. However, you can also level up individual skills through use, so I am not entirely sure what the thinking was there.
    Monday, March 10th, 2014
    8:36 pm
    Don't trust published algorithms, even bearing proofs
    I found this blog post interesting both because it discussed flaws in Chord (and I can't even start to name all the other research projects based on Chord or Chord-like designs from my time as a PhD student) as well as a DCAS-based data structure, Snark. Both algorithms were published by very respected professionals, and the publications included proofs of correctness.

    The linked paper from 2004 (DCAS is not a Silver Bullet for Nonblocking Algorithm Design) talks a bit about Michael Greenwald's work which I got to hear about when I joined Cheriton's research group. I remember tagging along to a talk he gave at Intel trying to convince them of the benefit of DCAS.

    I have played around a lot with the Alloy tool ( and even used it for some Tintri designs. (Maybe that could be a Minnebar talk...) But model-checking is no silver bullet either. It can tell you about failure cases but not guarantee success.
    Saturday, March 8th, 2014
    8:49 am
    HORSE + OFC this weekend
    I'm going up to Running Aces to play their HORSE tournament today and their open-face Chinese tournament tomorrow.

    I was looking at the latter's rules (here: and it has a provision that basically limits a player to doubling up in any given hand: "Each player can only get action on the points that they started the hand with once. Example: Player A started the hand with 10 points. Player A wins 6 points during the first player transaction. Player A can now only win or lose 4 total points against the other players."

    I can sort of understand the reasoning here, but it may affect short-stack play significantly. There is less reason to go for a bonus, and it's harder to eliminate a short stack--- essentially the short stack will only be playing against the player in first position. (If you scoop via the first position, you cannot be eliminated by either of the other two players.)
    Thursday, February 13th, 2014
    8:58 am
    Tintri funding news
    Tintri announced its $75m series E round of funding today. The round was led by Insight Venture Partners. This round will let us continue to expand the team, and puts us in good shape for a 2015 IPO.

    Press coverage:
    Venture Capital Dispatch: and more WSJ blog coverage:
    Fortune (CNN):
    Silicon Valley Business Journal:
    Washington Business Journal: (mainly covering NEA)
    Business Insider:

    Some competing storage startups have raised more money. For example, Pure Storage's latest round was a whopping $150m, bringing their total to $246m. You don't want to raise money you don't need; our total investment to date is $135m. But it is a big round--- for comparison, Tech.MN listed a total $58m in high-tech venture capital within Minnesota last quarter. NVCA reported that the 10th-biggest deal within the US last quarter was $74.3m, so Tintri could even be a top-ten venture capital deal for this quarter. (But the 9th place one was $93m so it's right on the edge.)

    I'm very happy with how Tintri has grown and I look forward to helping to make it even bigger.
    Sunday, February 9th, 2014
    11:10 pm
    The Wolf Among Us
    This is Telltale Games' new episodic game, based on "Fables" by Bill Willingham. The game is a prequel of sorts.

    The big problem I have with episode 1 is that Bigby (the protagonist, a werewolf) doesn't use his sense of smell. Ever. Not to tell who's been in the room or handled objects of interest. He seems to be entirely unaware of nearby people on multiple occasions. He doesn't even track a blood trail by scent.

    Now, maybe this isn't a big deal for people who are coming to the story fresh, but Bigby's superhuman senses are a big deal in the graphic novels. So I was waiting for scent to come into the game in some way, and it just doesn't.

    The first episode, "Faith" felt quite short, much less play than any of the "Sam & Max" episodes which were mostly self-contained stories. It was really just a first act.

    The game offers a lot of choices. They don't really feel like they matter. (For example, in an early scene, there seems to be no way to avoid going out the window as a result of a fight scene.) Maybe carrying over from one episode to another helps--- for now all you get is "X% of other players chose the same way as you". But it doesn't seem to be a branching structure, which is depressingly standard for games. I'm even less clear how the quicktime events in fights play out--- if I do badly enough, what happens? I didn't care enough to replay a scene and find out.

    I also felt rushed by dialogue choices, but it wasn't too bad. There is a timer that counts down and you make a default response if it runs out. The net effect is that the game feels more like a movie than interactive fiction--- virtually no puzzles to figure out, and no real narrative choice available. Again, maybe if I didn't "prove" that Mr. Toad is lying, something different would have happened--- but I don't see what difference it would make in the plot.

    The single save point (I think?) makes it very difficult to go back and look at alternatives, which is probably what they wanted but is frustrating to the Explorer within me, who doesn't usually have such a tough time of it.
    Friday, February 7th, 2014
    11:37 pm
    Curt Schilling's RPG
    So I have been playing "Kingdoms of Amalur: Reckoning" and enjoying it a fair amount. I am almost to the end.

    What it is most impressing on me is how much better of a story "Skyrim" is. (Amalur had some Elder Scrolls alumni and it debt to "Morrowind" and "Oblivion" is quite clear in many places.) In Amalur, I find myself confused by most of the side quests--- "what the heck did I just do"? The gnomes are particularly bad this way, I don't understand their politics at all.

    There is basically one large-scale set piece (so far) and it takes place in an area you haven't been in before and never will again. Skyrim has big battles in the cities you visit all the time (if you pursue the rebel or imperial quest line) and it really feels like you have more of an impact. Also Amalur's temporary companions are are useless whingers--- what I wouldn't give for a decent Huscarl.

    I have mixed feelings about the crafting system. I like the Diablo-esque nature of the the equipment enchantments; playing dress-upgear optimization is one of my favorite subgames. On the other hand, the unique sets suffers from the same problem as Diablo and its clones: by the time you get enough pieces to be interesting, you probably have something better. And tracking all the separate components is a pain. I didn't learn the hack for getting the enchanted components you want until too late in my play to bother with it.

    What I absolutely hate is that quest items are both un-droppable and occupy an inventory slot. (Capacity is by # of distinct items, not weight.) One or the other is acceptable but not both. Particularly annoying was the quest you get early in the game to collect 10 missing books. They are, of course, scattered across the entire game world. The resulting reward is a pitiful handful of coins (which I have basically stopped needing anyway...)

    My other peeve is the 2-dimensionality of movement. You can't fall off a cliff except for designated jump points, or climb anything that is not a pre-set path. As a result your character is frequently baffled by small ridges in the ground.

    On the other hand, I found the combat entertaining. I found myself using a variety of attacks rather than sticking with the same thing over and over (although some parts of the skill tree still seem pointless to me.)

    Next game up is probably "The Wolf Within", but the further I get in Amalur the more I want to take another pass through Skyrim--- maybe take the Imperial side this time.
    Thursday, February 6th, 2014
    6:58 pm
    Seth Levine on Startup Communities
    So, Seth Levine of Foundry Group graciously agreed to come speak to a bunch of Minnesota entrepreneurs in a Tech.MN-sponsored event on "building entrepreneurial communities". (He's a VC and Foundry recently made their first investment in Minnesota.)

    The points he talked about were:

    1. It takes a long time to build a startup community. Boulder is highly ranked now but it wasn't overnight.
    2. Community development needs to be led by (and for) entrepreneurs, not venture capital. Entrepreneurship can exist without the money but not vice versa
    3. Importance of a "give-first" attitude, rather than asking what we can take from the community. Recognize that it's not a zero-sum game. He gave examples about community hours (signup to talk with a VC or founder) and talked about the importance of inclusiveness, letting outsiders plug into wider networks.
    4. Communities are built on the efforts of lots of people. Foundry gets too much credit, the Boulder success is not based on just 1 or 2 people.
    5. Entrepreneurial community is mentor-driven. Think about how you interact with other people. Align on "give first" and goals.

    One of the most concrete examples he gave was that there was a regular meetup in Boulder for entrepreneurs, usually featuring one or two startups presenting, where people could not only network but plan for and have confidence would be there if they missed a session.

    So far, so good. This is attractive picture of bottom-up community development. What's missing here?

    While I was listening to this and some of the Q&A I was reminded of the question about how you tell whether somebody is a better-than-average tournament player, or just got lucky. The answer is that mainly you can't, variance is too high for live tournaments. You need a lot of data points.

    VCs and entrepreneurs are in the same boat. They start companies which often fail but sometimes have big successes. Are the big successes deserved or lucky? If your current fund returns above-average returns, is the next fund likely to do so as well? (Probably not, as Mr. Levine mentioned, the average VC loses money.) People vastly underestimate, in retrospect, the contribution of luck to their success.

    So why should we believe Seth Levine's prescriptions? This is a man whose job involves being wrong more than half the time! And the number of trials is absurdly small for startup community development.

    One of the tidbits in Strategy: A History is that business studies too often proceed from looking at successful companies, to identifying qualities that led to their success, without closing the loop and asking whether other, less successful companies also had those qualities. (Also, many highly lauded companies underperformed in the years following analyses of their past success...)

    So, Seth's observations may be the key to Boulder's success and are repeatable. But they might also be correct and unrepeatable--- perhaps they work at a scale of a 250,000-person metro area, or they worked five years ago but not today. The lessons learned may simply be incorrect, and other factors mattered more in Boulder. Or perhaps in five years we won't think Boulder is a successful model to follow!

    That uncertainty doesn't mean we shouldn't try to take the ideas that seem good from Boulder and apply them to the Minneapolis startup community. There are certainly good reasons to act in the manner he suggests, even if it does *not* lead to a successful local community. But it does suggest we should look at multiple models and look at what isn't working as well as what has worked.
[ << Previous 20 -- Next 20 >> ]
My Website   About