Mark Gritter's Journal|
[Most Recent Entries]
Below are 20 journal entries, after skipping by the 20 most recent ones recorded in
Mark Gritter's LiveJournal:
[ << Previous 20 -- Next 20 >> ]
[ << Previous 20 -- Next 20 >> ]
|Friday, December 12th, 2014|
|More "Elite" ramblings
I am pretty happy with "Elite: Dangerous" so far, in its prerelease state.
The economic system is fairly well thought-out, and I am surprised at the number of people who complain about problems making money. It may be that players are relying on the in-game import/export tools too much. These can be misleading because they operate on a system, but the economy actually varies by planet/station. (So in-system trade can be profitable, too.):
* Everybody needs food, clothing, and medicine. Rich economies want luxury items.
* Agricultural planets produce food items and need agricultural machinery. They also have at least some luxuries, usually beer.
* Industrial planets produce clothes, medicine, and machinery of various sorts, and need input materials such as metals, cloth, and semiconductors.
* Refining stations turn minerals into metals and other inputs.
* Extraction stations industries produce minerals.
* High-tech planets produce luxuries, automation items for all the above, and need computers and input materials. They also produce weapons.
* There are some niche/specialized economies I haven't yet fully explored: "Imperial", terraforming, service, tourism. Also some planets have a blended economy.
It's not hard to set up loops of various sizes:
Agricultural <-> Industrial works well
Extraction -> Refining -> Industrial -> Extraction is a little trickier because not all ores are refined at all stations, but you can easily learn what works (and their trade diagram has gotten better at indicating what minerals exist where.)
Agricultural -> Industrial -> High Tech -> Agriculture works well with a rich agricultural world. Can substitute in Refining instead of Industrial.
Some of the gamma players seem to really not know what to do with themselves in a truly open world. There's not a plot to hop back onto when you're tired of the side quests. However, the political simulation (factions get influence based on user input) provides the seeds of good endgame play, and can provide near-term goals for starting players too.
The final complaint I don't really get is that the game is "incomplete" without the ability to land on planets (which was part of "Frontier"). I can totally understand why that got cut as a release feature, and I don't understand why players are so attached to it--- it provides some more landscape but there is plenty to go explore without actually visiting the surface. If this feature were present, it wouldn't add to the gameplay in any way.
The thing I think is most likely to cause problems is that any of the "evil" options are so heavily punished that players can't even try them out. Piracy or assassination or just being caught with salvaged ("stolen") or smuggled goods puts you on a downward slope with the local government, and it seems very hard to get back into their good graces. (ED doesn't have alternate characters either to let users explore different ways to play.) This is fine from a simulationist perspective, but from a player perspective it can feel like those options are locked off. On the other hand, I think this is something where paying attention to the faction system and local politics can really pay off. If you go pirate in an independent system, the Federation doesn't care.
Compared to "Frontier", combat is a lot more fun and varied. Frontier sacrificed playability for adherence to Newtonian physics. Elite: Dangerous gives you enough control to do some fancy maneuvering, but puts a speed limit in place so you don't just whip by your opponent at high speed. There are also a bunch of customization options and different sorts of weapon systems to try out.
Overall, the game looks good, plays pretty well, and is a quite fun update for anybody who liked the original Elite (or even Frontier.)
|Wednesday, November 26th, 2014|
I have started playing the "Elite: Dangerous" prerelease version (the gamma release). One choice the developers made is to continue to use real-time calendar dates, just advanced to the year 2300. That is, if you're playing on November 25th then the game reports the 25th of November 2300.
This works fine, except for leap years (the day of the week isn't shown.) 2016 is a leap year, but 2302 is not. Presumably David Braben is planning to continue to support the game for at least two years, so why not start with 2314? Then the problem doesn't occur until 2100/2400.
What about leap seconds? Well, the median solar day is currently increasing by about 1.7ms per century. The net error in 300 years should be around 280 seconds, big enough to notice! But you can just pretend that the ITU (or successor organization) made up its mind to abolish leap seconds, while strangely keeping the Earth calendar.
I suppose future-ITU could also be deemed to have change the leap years for the sake of game consistency as well. :)
|Monday, November 24th, 2014|
|Tintri included in Gartner's "Magic Quadrant" for General-Purpose Disk Arrays.
Gartner is a well-known research and advisory firm in information technology. Their most popular reports use Gartner's "magic quadrant"
methodology to compare firms based on their ability to execute and vision for the technology.
Garter's 2014 report on general-purpose disk arrays includes Tintri for the first time! We are identified as a leader in the "visionary" quadrant based on our development of smart storage arrays that see, learn, and adapt. Customers see Tintri's benefit in lower operational costs and consistent performance. We placed higher on the vision axis than Nimble, Tegile, and even long-established players like IBM.
Although Tintri only works in virtualized environments, Gartner correctly notes that more than half of server deployments are virtualized. Storage for virtualization is
Items that hold us back from a higher "execution" score include our status as a non-public company, better scale-out stories through automatic load-balancing, and the overall scale of our business--- we're still small, but growing.
More information in Tintri's announcement page here: http://info.tintri.com/magic-quadrant.html
Tintri also launched a complete new platform line this month. The Tintri VMstore T820, T850, and T880 come with on-disk compression, a host of new software features, and a shiny Portal-esque bezel: http://www.tintri.com/products/tintri-vmstore
|Wednesday, October 15th, 2014|
I have been trying to build a Hearthstone Druid deck but the class hasn't been making a lot of sense to me. I'm finally having some success in non-ranked games with the following:
2x Innervate 
2x Naturalize 
2x Mark of the Wild 
2x Power of the Wild 
2x Wild Growth 
2x Echoing Ooze 
2x Faerie Dragon 
2x Healing Touch 
2x Emperor Cobra 
Ironfur Grizzly 
Keeper of the Grove 
2x Druid of the Claw 
2x Ironbark Protector 
There are a lot of nice combos at work here. But when it doesn't work out I find myself card-short and unable to respond to a deck with more depth. Thinking of ditching some of the mana cards in favor of some higher-value cards, or more drawing cards.
A Druid deck I saw that was sort of surprising was all +spell damage minions, which powered Moonfire/Swipe/Starfire/Wrath.
|Saturday, October 11th, 2014|
|I need a better Go app [crossposted on G+]
"Go Free" successfully beats me 2 out of 3 times at half-difficulty and a two-stone handicap. (What can I say, I suck.) But it's still occasionally capable of gross stupidity like this position, where it marks the upper-left corner as dead (?!?) and doesn't recognize seki
in the lower-left.
|Sunday, October 5th, 2014|
|On reading Joe Abercrombie
Thirr the Golden stalked across his tower's roof.
"Twenty-five years! And not one of these stories have taken root!"
His secretary kept silent.
"Princes swapped at birth become cowardly shepherds. Betrayed mercenary captains simply vanish. Heroes condemned to the galleys die of dysentery."
"I thought the child raised by wolves was off to a good start, master?"
"I just checked her worldline. She broke her ribs tackling an elk, and caught a fatal case of pneumonia shortly thereafter. My star-crossed lovers failed to show up for the barricades. Thieves and gladiators appear singularly uninterested in overthrowing tyrants. And don't get me started on talking cats, mirrors, and swords! The last ended up in the possession of an insane brute who already heard voices in his head. If I could get the epic geas to take hold but once..."
The secretary, suddenly close, murmured, "perhaps a trusted aide turned to treachery?"
Thirr vainly attempted to summon flight as he fell.
|Monday, September 22nd, 2014|
|Compiler writers aren't actually idiots
Occasionally I see 0-based indexing in programming languages justified in terms of efficiency of not having to subtract one when performing array lookups. For example, the C code
x = my_array[i]
translates into something like
movl (%ecx, %esi, 1), %eax
directly (where ecx holds my_array and esi holds 'i'), while presumably the Pascal equivalent
x := MyArray[i]
has to adjust 'i' by whatever the start index is (usually but not necessarily 1.) But there's no ironclad rule that says the implementation of 'MyArray' has to point at the actual address of the start of the array. The compiler writer can arrange things so that the exact same assembly is generated, can't she? (Except that Pascal performs bounds checking...)
|Sunday, August 31st, 2014|
|VM granularity and data reduction
At VMworld I heard this idea a couple times, once from an analyst and once from somebody with interest in vVols:
With per-VM controls, an administrator could turn off compression and deduplication for VMs that don't benefit from it, and thus improve overall system performance.
In my mind, this is something that "sounds good" but falls apart based on closer examination.
1. Users generally don't do a good job telling whether compression and dedupe are effective on a VM.
One example provided in support of the idea is applications which consist of already-compressed data like video. Or, perhaps the VM is running with guest-level full disk encryption turned on. The OS could also be doing compression and dedupe within its own file system.
But, at least two of these examples are flawed. While compressed video files are unlikely to be compressed further, the VM contains OS files, file system metadata, and even video metadata, all of which compress well. Even the video portion may be duplicated if the guest OS performs any swapping, runs a log-structured file system, or contains redundant copies of the same video. A whole-VM or even whole-disk decision could abandon significant data reduction.
I would also argue that the guest OS generally should not be configured to do its own compression and deduplication. You will get worse behavior from turning on compression on all the individual VMs rather than letting the storage compress and dedupe globally, unless the storage controller is so short on CPU power that it can't do a good job, which brings us to the next point:
2. Poor inline compression and dedupe does not significantly affect storage throughput and latency.
I can tell you from personal experience at Tintri that we had far more problems with data that has high compression and dedup than data with low ratios! Data that doesn't compress nor dedupe is easy to accommodate; it doesn't take any more CPU cycles to fail to compress than it does to compress. But data that is extensively deduped requires more metadata operations than normal writes. Data that compresses well may leave a flash segment unfilled when the non-compressed version has exhausted non-volatile storage. (We don't compress data on the way to NVRAM, in part to keep latency low. This means that dedupe and compression don't have any first-order affects on write latency anyway--- only second-order effects based on resource consumption later in the write pipeline.)
Consider what turning off inline data reduction means. It does mean we would get some CPU savings from not compressing a block--- but this cost already has to be low to afford to do it inline, tens of thousands of times per second. There is no savings in checksumming the block, writing it to flash, modifying file system metadata, or garbage collecting the block later. If the system is properly engineered to perform inline data reduction, "turning it off" affects just a small part of the cost, one that may not even be the bottleneck for a particular workload.
However, if compression and dedupe are the bottleneck, the user is unlikely to be sure this is the case, which is my final point:
3. If there is a benefit to be gained, the storage system should do it automatically.
Tintri's goal is to build storage that "sees, learns, and adapts." If a particular VM does not compress or dedupe well, and there would be an overall system benefit in turning compression off for that VM, then the storage system should self-tune to achieve the benefit. Compare:
A. Administrator migrates a problem VM onto her storage
B. The problem VM causes bad storage behavior, which the storage system displays to the administrator in some comprehensible fashion (if she's lucky)
C. The administrator notices the problem, correctly diagnoses the underlying cause, and performs the correct configuration change without error (most of the time.)
D. Repeat it all over again for the next VM. Or the next 100 VMs. Or the next 1000 VMs across multiple storage appliances. If she can dedicate the time, compared to all the other things on her priority list.
A. The storage notices that a VM has unusual behavior and tailors its treatment of the VM to match.
Which world would you rather live in?
|Wednesday, August 13th, 2014|
|Sub-quadratic by a tiny, tiny bit
I was reading a post on the 3SUM problem
, and a commenter pointed to a new result: "Threesomes, Degenerates, and Love Triangles"
which produces a new bound that is just a tiny bit better than existing results.
The 3SUM problem is: given a set of numbers, does there exist a triple a,b,c such that a+b+c = 0? For real numbers, the best existing algorithm is O(N^2) and a lot of conditional bounds on other problems can be derived from the assumption that that's the best possible.
The new paper introduces an algorithm that is O(N^2 / (log N / log log N)^(2/3) ).
How much better is that? Well, at N=1000000, the numerator on that fraction is just 2.773. To get to a factor of 10, you need N to be about 10^75. In other words, for all practical purposes, the algorithm is useless--- rather than trying to get it right, you're better off tuning your implementation of the simple algorithm. But it's a potentially interesting advance because they also showed a better decision-tree bound than previously known, and got "subquadratic", but unfortunately not O(N^(2-e)).
|Wednesday, August 6th, 2014|
Tintri switched to a February-based fiscal year so we just finished the second quarter of fiscal 2015. We had the last all-hands meeting in our old office, and are scheduled to move on August 15th to our new location (just two buildings away, still on Ravendale Drive in Mountain View.)
I can't talk financials (but they're in good shape) but I can highlight our growth in people! Currently we're at 283 people, of which 121 are new this year. Our goal is to get to around 340 by the end of the year. (It's been mind-boggling: at the end of 2011 we were still only at 52.)
About 35% are in engineering and 40% in sales. We're still hiring aggressively, so please let me know if you or somebody you know are interested in joining a great pre-IPO company! We're looking for people with experience in storage, virtualization, and "the cloud"--- but have also hired great people outside those areas too.
Tintri is a platinum sponsor at VMworld US this year; I'll be out working the booth at the end of the month.
ETA: Good coverage from Forbes: Tintri's 140% Growth Threatens Shrinking NetApp
. Ken also mentions we are getting 70% gross margins. A few other tidbits: 65% of revenue is US, 35% rest of world; and we have 5 customers in the top 15 Fortune 500 companies.
|Sunday, July 27th, 2014|
|Oh, micro-stakes poker
I played a 0.01 BTC heads-up Razz SNG today. The opponent seemed fairly competent, but the final hand made me question my own judgement of him.
I have 3860 chips with (68)9 and he has 2140 with (xx)K, at the 30/300/600 level. I raise, naturally, and Villain re-raises. I three-bet and it takes a few more raises to get him all-in.
Is there any hand I can reasonably have here that makes him even break-even? He had (A2)K which is fine for a steal defense, but a shove? Why not wait until 4th? Perhaps he was just tired of playing.http://twodimes.net/h/?z=8922631
Razz (7-card Stud A-5 Low): 500000 sampled outcomes
cards win %win lose %lose tie %tie EV
Ad Kd 2d 185344 37.07 314538 62.91 118 0.02 0.371
6c 9h 8h 314538 62.91 185344 37.07 118 0.02 0.629
I would need to have something like (JT) or (Q8) down before he becomes a favorite.
|Saturday, July 12th, 2014|
|"The Avengers: Earth's Mightiest Heroes" Drinking Game
One drink if:
* Somebody holds Hornet in their hand
* Hornet is knocked unconscious
* Hornet's stingers have no discernible effect
* Ant-Man mopes about not wanting to hurt anybody
Two drinks if:
* Hawkeye runs out of arrows
* Somebody else brings extra arrows for Hawkeye
* Hawkeye's special arrows are easily ignored (not countered)
* Ms. Marvel appears out of uniform
Three drinks if:
* The Avengers forget that fake-Captain America betrayed the Hulk and he's still captive somewhere
* The Hulk changes back to Bruce Banner
* The Hulk is wearing pants that aren't torn
* Thor declares that something will "end now"
Four drinks if:
* Pepper Potts appears (extra drink if Tony's not in the scene)
* Iron Man wears an alternate suit of armor
* Iron Man refers to financial or emotional problems
* T'Chala shows up without his mask
|Friday, July 11th, 2014|
I'm reading Jordan Ellenberg's "How Not to Be Wrong". He describes a paradox I don't recall seeing before. Here are four bets on drawing a ball from an urn, which has 30 red balls and 60 balls that are a combination of black and yellow (in some unknown proportion):
RED: the next ball is red
BLACK: the next ball is black
NOT-RED: the next ball is black or yellow
NOT-BLACK: the next ball is red or yellow
if you can bet $100 on one of the first two
if you are offered a $100 prize based on one of the first two conditions occurring, which one do you prefer? How about your preference among the second pair?
( Read more...Collapse )
If offered RED or BLACK, I prefer
I am indifferent
If offered NOT-RED or NOT-BLACK, I prefer
I am indifferent
|Thursday, July 10th, 2014|
Marissa and I watched Ken Burns' "Prohibition" on Netflix. We were not impressed.
Some good bits: Carrie Nation, immigrant communities, and footage of Al Smith and FDR.
Things I did not know: there wasn't a congressional reapportionment after the 1920 Census, in part so dries (drys?) could maintain their hold on political power against the growing urban population.
Less good: pretending World War One didn't happen, or the influenza epidemic. No mention of heroin. Generally facile treatment and historical tone-deafness. Too many long, loving shots of drinks being poured.
(Every generation thinks it has invented debauchery, if not trying to live down the debauchery of the previous generation. It's amazing what a good job the Victorians did of convincing everybody that the Georgians didn't exist.)
|Monday, June 30th, 2014|
|Dealing With Government Inspectors and Other Gilded Age Flashbacks
linked to this NY Times story on Blackwater making oblique death threats against State Department investigators.
I was reminded of a story from "Empire Express" which exhibits a far gentler method of redirecting attention, from 1868.
Three inspectors each had been sent to examine the quality of the railroad line being built by the Union Pacific and Central Pacific. One of the Central Pacific inspectors was a silent partner of the railroad, and another a long-time friend of one of the founder. But certain parts of the road would not stand up to close inspection. So Charles Crocker resolved to "have them our examining culverts, ballast & bridges between here & Wadsworth--- so that they won't want to hear of culverts or anything of the kind beyond there." At the section that was most troublesome:
I said to the commissioners that we were approaching the point where the [Sacramento] Union has said it was unsafe to go over the road.... "And," said I, "Here is a tumbler of water which I will set on the floor of the car. Now, gentlemen, take your watches: here is the station, and from this station to the next is so many miles. Note the time we leave this station and when we arrive at the other, so that you will know the rate of speed at which you have gone." I instructed the conductor to the tell the engineer that I wished to go over that piece of the road at 50 miles an hour, and they made a little better time than that. The tumbler was still standing and but little water had been spilt.... and the commissioners all laughed and said that was the strongest proof that had been given. They did not ask for any more; did not want to get out and look at the culverts.
Another connection I made with recent news is Grant's election as the first national example of black votes being viewed as an "illegitimate" path to victory.
A lot of the book is told from Grenville Dodge's point of view--- probably because he has many extant letters--- and while he has lots of scathing remarks about Durant's profit-seeking maneuvers he sees nothing out of line about scouting for coal and staking claims to sell back to the railroad employing him. In another modern connection, the initial Pacific Railroad act of 1862 was immediately lobbied into better shape (for the railroads) in 1864 and modified again in 1866. The same strategy of "get something passed, then complain about how bad it is" seems quite familiar today too. On the other hand, some of the pre-SEC financial maneuvers are quite odd.
Overall, my re-read of "Empire Express" is a lot more depressing that I remember. There's really a lot of genocide, fraud, and incompetence. I sure miss the radical Republicans' support for railroads, though.
ETA: I totally forgot one! Theodore Judah totally tried to croudsource the Pacific railroad $10 at a time (as a first payment on a $100 share.) He ran into Collis Huntington who convinced him to do it with just five backers at $1,500 each.
|Monday, June 23rd, 2014|
|Why Mark is a Computer Scientist at Heart
So, I came across a question on Quora about showing that no reversible two-bit gates are universal. (NAND is universal for boolean logic but not reversible!)
My first thought was the CS one: well, how many 3-bit reversible functions are there? We could probably just do exhaustive search on combinations of two-bit gates and exhaust the space, there are far less than 8^8 reversible functions and that's only 16 million. (Hmm... how many are there? Must be something like 8! since each output must appear once and only once, so a reversible function is a permutation of the identity function.)
But the mathematical answer is the one I had to look up. All the 2-bit reversible functions are binary. That is, they are of the form f(x,y)=M(x,y)+(a,b) for some 2x2 matrix M. And the composition of linear transformations is always linear. But you can come up with a nonlinear 3-bit reversible binary function. (The Toffoli gate, which *is* universal, is one of them.)
If given enough time, I could probably come up with the second answer. But the first one is a lot more fun. :)
|Tuesday, June 17th, 2014|
|Who Knew Railroads == Better Tea?
I am re-reading "Empire Express", about the building of the Transcontinental Railroad. One of the proposals in the 1830s came from Dr. Harwell Carver of St. Louis (who really seems to be an also-ran who claimed that he came up with the idea after somebody else got famous for it):
The quality of teas would be much better coming to us in a few weeks of gathering. I suppose the flavor and quality of our teas now bear no comparison to what it would if brought directly to us, without crossing the equator twice. Methinks I can look forward, through the vista of time, and see countless thousands of our fair country women sitting of an afternoon leisurely sipping and drinking their tea, until they become intoxicated with the sweet aroma of this delicious beverage and cry out, in sweet and musical accents, blessed be God, and the projectors and builders of the Oregon railroad, now and forever, amen.
...Perhaps my tea just isn't fresh enough.
|Saturday, June 7th, 2014|
|Bad Analogy Night at the Orchestra
From the program notes for the Mozart symphonies we heard tonight:
No less impressive is their diversity, and the clarity with which, in three quite different directions, they define the possibilities of Mozart's art. Eric Blom puts it thus: "It is as though the same man had written Shakespeare's Twelfth Night, Racine's Phedre, and Goethe's Iphigenie within whatever period may be equivalent for the rapid execution of three plays as compared to three symphonies." -- Michael Steinberg
No, Mr. Blom, it's not like that at all, and please research your analogies beforehand. "It's as if he ran a hundred-yard dash in however would be very fast for that particular race!"
Mozart was the Shakespeare of music; and as long as the immortal bard is read, Mozart will live in the admiration of mankind. He has reached the passions through the ear as Shakespeare did through the mind... -- New-York Mirror, 1830
I'm pretty sure Shakespeare also reached the passions through the ear (and sight!) Perhaps my education is lacking.
Metaphors. I hear they're really bad for you.
|Tuesday, June 3rd, 2014|
|Saturday, May 31st, 2014|
|A brick-and-mortar distributed systems problem
On Friday we climbed to the top of the Witch's Hat Water Tower
. It's an old water tower (preserved as a area landmark and historic place
) whose observation deck is only open once a year.
The top of the tower is reached via an internal spiral staircase which is rather narrow. The tower guides had arranged a system for tracking the number of people in the tower--- they handed blue notecards to those going up and retrieved them from those exiting the tower, thereby limiting the occupancy. But, this still led to congestion on the stairs as groups traveling in opposite directions had to squeeze by each other. Is it possible to come up with a system which also limits the number of people using the staircase in opposite directions? Without cheating by giving the guides mobile phones to communicate. :)
Time-based multiplexing is a common technique. Allow upward traffic for 5 minutes, then downward traffic for the next five minutes.
The token-based approach could also be expanded in a couple ways. For example, use two colors of tokens. Allow a group of people to start upwards but give the last person in the group a special red token. Block all other ascending traffic until the red token returns. When the red token gets to the top, collect it from the carrier and permit a group to begin going downwards, again giving the red token to the last person waiting to go down.
Now, there may be some psychological issues here where people might not appreciate being told to wait to leave the tower! But the guide was already doing a rough-and-ready contention control on the top portion of the stairs.