<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Some stuff &#187; space</title>
	<atom:link href="http://blog.yhuang.org/?feed=rss2&#038;tag=space" rel="self" type="application/rss+xml" />
	<link>https://blog.yhuang.org</link>
	<description>here.</description>
	<lastBuildDate>Wed, 27 Aug 2025 08:50:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>toward a synthetic universal instrument</title>
		<link>https://blog.yhuang.org/?p=830</link>
		<comments>https://blog.yhuang.org/?p=830#comments</comments>
		<pubDate>Wed, 15 Feb 2012 01:40:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[acoustic instruments]]></category>
		<category><![CDATA[CCRMA]]></category>
		<category><![CDATA[instrument]]></category>
		<category><![CDATA[instruments]]></category>
		<category><![CDATA[number]]></category>
		<category><![CDATA[physical modeling]]></category>
		<category><![CDATA[space]]></category>
		<category><![CDATA[wood]]></category>

		<guid isPermaLink="false">http://scripts.mit.edu/~zong/wpress/?p=830</guid>
		<description><![CDATA[The Roland line of &#8220;SuperNATURAL&#8221; digital pianos claims to produce a more natural sound by combining the two primary methods of synthesizing instruments, namely: acoustic modeling of real instruments, and recording samples from them. The two methods are different enough that, even if both converge to the true output as more sophistication is put to [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.roland.com/piano/SuperNATURAL_Piano.html">Roland line of &#8220;SuperNATURAL&#8221; digital pianos</a> claims to produce a more natural sound by combining the two primary methods of synthesizing instruments, namely: acoustic modeling of real instruments, and recording samples from them. The two methods are different enough that, even if both converge to the true output as more sophistication is put to bear, they are rather difficult to merge together.</p>
<p>The history of synthesized instruments has ping-ponged between the two methods. First there was FM synthesis, which used analog function generation based on the simplest physical models of standing waves (harmonics, etc.). This allowed distinguishing between major instrument groups but sounded decidedly fake. Then people recorded acoustic instruments and looped/interpolated between samples &#8212; much better, but storage constraints placed limits on what could be processed; and there was never any dynamism. Then it was back to physical modeling, this time using waveguides to determine how various inputs like bowing on strings or blowing into pipes dynamically affect output sound (I think it started at <a href="https://ccrma.stanford.edu/">CCRMA</a>). This gave really good expressivity &#8212; but again sounded fake. And so back to wave-samples. For the last 15 years or so, especially with the cheapening of storage, it appears that the dumbest, brute-force method of using a large enough number of samples and ad-hoc adjustments to their decay and reverb characteristics became dominant. For ensemble instruments with little individual personality, it was actually superb. The trouble was always with instruments in solo.<br />
<span id="more-830"></span><br />
One has to ask the question though &#8212; is sampling really that dumb?</p>
<p>In other words, is physical modeling ever going to achieve reality? Sure, with more processing power, more realistic models could be built. But let&#8217;s be serious: the reason why acoustic instruments sound real is likely because they are built exactly the way they are. They are already made (physically) as simple as they can be &#8212; e.g. just some metal pipes or a piece of string, so that a &#8220;realistic&#8221; model may well turn out to be the acoustic object itself, with all of its mechanical physics&#8230;</p>
<p>Instead of trying to reverse engineer the box that takes mechanical input into sound output, we may as well embrace sampling by taking a huge number of input and output pairs. But we should do it intelligently. The entire space shouldn&#8217;t be sampled evenly or by hunches. It should be more like what they do at CCRMA where they attempt to sample the various independent modes of an instrument &#8212; striking it with a mallet at different locations to get impulse responses, for example.</p>
<p>Beyond this, we should consider decomposing sound reproduction differently. The sound generation process need not be fully decoupled at the point of digital waves, that then need to be reproduced by generic membrane-based speakers. Perhaps we should instead take acoustic objects that span various modes of the output space &#8212; things like a large piece of wood, a small piece of wood, some metal pipe, some pins, whatever minimal set we could derive (may even be a weird basis set of synthetically shaped physical objects) &#8212; then drive them like specialized &#8220;speakers.&#8221; Likewise, we do the same modal decomposition with input interfaces &#8212; a pressure-resistive mouthpiece, a coupled string, etc.</p>
<p>Much like in color science, there should be the concept of gamut that a particular output device can cover and that a particular input device can pick up. Then we should match real sounds from real instruments with the inputs/outputs we get on our input/output devices by applying the appropriate digital transforms, which we get by (mathematically) solving the inverse problem from measurements, rather than trying to come up with the physics from first principles.</p>
<p>What we get is then a <u>universal instrument</u> that should reproduce acoustic instruments (and many other realizable timbres) accurately. As a bonus, it has the benefit of allowing interchangeable &#8220;playing&#8221; styles upon swapping inputs (cf. keytar, melodica).</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.yhuang.org/?feed=rss2&#038;p=830</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tensors</title>
		<link>https://blog.yhuang.org/?p=655</link>
		<comments>https://blog.yhuang.org/?p=655#comments</comments>
		<pubDate>Sun, 16 Oct 2011 12:33:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[basis]]></category>
		<category><![CDATA[component elements]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[math math]]></category>
		<category><![CDATA[overbrace]]></category>
		<category><![CDATA[space]]></category>
		<category><![CDATA[sum]]></category>
		<category><![CDATA[vector products]]></category>
		<category><![CDATA[vector space]]></category>
		<category><![CDATA[vector spaces]]></category>

		<guid isPermaLink="false">http://scripts.mit.edu/~zong/wpress/?p=655</guid>
		<description><![CDATA[This has been a confusing topic, with half a dozen Wikipedia pages on the subject. Here I took some notes. Tensors are sums of &#8220;products&#8221; of vectors. There are different kinds of vector products. The one used to build tensors is, naturally, the tensor product. In the Cartesian product of vector spaces , the set [...]]]></description>
			<content:encoded><![CDATA[<p>This has been a confusing topic, with half a dozen Wikipedia pages on the subject. Here I took some notes.</p>
<p>Tensors are sums of &#8220;products&#8221; of vectors. There are different kinds of vector products. The one used to build tensors is, naturally, the <strong>tensor product</strong>. In the Cartesian product of vector spaces \(V\times W\), the set elements are tuples like \((v,w)\) where \(v\in V, w\in W\). A tensor product \(v\otimes w\) is obtained by tupling the component <strong>bases</strong> rather than the component elements. If \(V\) has basis \(\{e_i\}_{i\in\{1,&#8230;,M\}}\) and \(W\) has basis \(\{f_j\}_{j\in\{1,&#8230;,N\}}\), then take \(\{(e_i,f_j)\}_{i\in\{1,&#8230;,M\},j\in\{1,&#8230;,N\}}\) as the basis of the <strong>tensor product space</strong> \(V\otimes W\). Then define the tensor product \(v\otimes w\) as</p>
<p>(1) \(\sum_{i,j} v_i w_j (e_i,f_j) \in V\otimes W\),</p>
<p>if \(v=\sum_i v_i e_i\) and \(w=\sum_j w_j f_j\). The entire tensor product space \(V\otimes W\) is defined as sums of these tensor products</p>
<p>(2) \(\{\sum_k v_k\otimes w_k | v_k\in V, w_k\in W\}\).</p>
<p>So tensors in a given basis can be represented as multidimensional arrays.</p>
<p>\(V\otimes W\) is also a vector space, with \(MN\) basis dimensions (c.f. \(V\times W\) with \(M+N\) basis dimensions). But additionally, it has internal multilinear structure due to the fact that it is made of component vector spaces, namely:</p>
<p>\((v_1+v_2)\otimes w = v_1\otimes w + v_2\otimes w\)<br />
\(v\otimes (w_1+w_2) = v\otimes w_1 + v\otimes w_2\)<br />
\(\alpha (v\otimes w) = (\alpha v)\otimes w = v\otimes (\alpha w)\)<br />
<span id="more-655"></span><br />
Higher-order (n-th order) tensor products \(v_1\otimes v_2\otimes \cdots \otimes v_n\) are obtained by chaining in the obvious way, likewise for higher-order tensor product spaces \(V_1\otimes V_2\otimes \cdots \otimes V_n\). With this, <strong>concatenation</strong> of tensors are also defined, i.e. \(S_{i_1,&#8230;i_m} \in V_1\otimes \cdots \otimes V_m\) and \(T_{i_{m+1},&#8230;,i_n} \in V_{m+1}\otimes \cdots \otimes V_n\), then \(S_{i_1,&#8230;,i_m}\otimes T_{i_{m+1},&#8230;,i_n} = Z_{i_1,&#8230;,i_n} \in V_1\otimes \cdots \otimes V_n\). In other words, the indices are appended. This is essentially the <strong>Kronecker product</strong>, which generalizes the <strong>outer product</strong>.</p>
<p>However, usually when tensors are mentioned, the tensor product spaces under discussion are already specialized to those generated from a single base vector space \(V\) and its dual space \(V^*\), rather than from a collection of arbitrary vector spaces. In such a space \(P(m,n) = \overbrace{V\otimes \cdots \otimes V}^{m} \otimes \overbrace{V^*\otimes \cdots \otimes V^*}^{n}\), the component spaces (and their bases, indices, etc.) naturally belong to two groups, those from \(V\) are called <strong>contravariant</strong>, those from \(V^*\) are called <strong>covariant</strong>,  and an (m,n)-tensor from \(P(m,n)\) is written \(T^{i_1,&#8230;,i_m}_{j_1,&#8230;,j_n}\).</p>
<p>This specialization allows the <strong>contraction</strong> of tensors to be defined. A contraction basically chooses one covariant vector component and one contravariant vector component from a tensor and applies the former as a functional on the latter, e.g., contracting \(T^{i_1,&#8230;,i_m}_{j_1,&#8230;,j_n} = v_{i_1}\otimes \cdots \otimes v_{i_m} \otimes v^*_{j_1} \otimes \cdots \otimes v^*_{j_n}\) on the pair of indices \(i_1\) and \(j_1\) gives \(Z^{i_2,&#8230;,i_m}_{j_2,&#8230;,j_n} = v^*_{j_1}(v_{i_1}) (v_{i_2}\otimes \cdots \otimes v_{i_m} \otimes v^*_{j_2} \otimes \cdots \otimes v^*_{j_n})\). \(v^*_{j_1}(v_{i_1})\) of course is an <strong>inner product</strong> that sums over the dimensions of the paired components. Contraction generalizes the <strong>trace</strong> operator. Combined with concatenation, this defines a <strong>tensor multiplication</strong>, such that if \(S^{r,i_2,&#8230;,i_m}_{s,j_2,&#8230;,j_n}\in P(m,n)\) and \(T^{s,k_2,&#8230;,k_p}_{r,l_2,&#8230;,l_q}\in P(p,q)\), then \(S^{r,i_2,&#8230;,i_m}_{s,j_2,&#8230;,j_n}T^{s,k_2,&#8230;,k_p}_{r,l_2,&#8230;,l_q}\) is the contraction of \(S^{r,i_2,&#8230;,i_m}_{s,j_2,&#8230;,j_n}\otimes T^{s,k_2,&#8230;,k_p}_{r,l_2,&#8230;,l_q}\) on all common indices that can be paired, e.g. \(r,s\). This is the so-called <strong>Einstein notation</strong>, and generalizes <strong>matrix multiplication</strong>.</p>
<p>The distinction of \(V\) vs. \(V^*\) also manifests in the <strong>change-of-basis</strong> rules for tensors, which inherit from the change-of-basis rules of the component vector spaces, which are:</p>
<ul>
<li><strong>contravariant</strong> change-of-basis rule: If \(B = [b_1\ b_2\ \cdots\ b_M]\) is a change-of-basis matrix, with the new basis \(\{b_i\}_{i\in \{1,&#8230;,M\}}\) written in the old basis as columns, then for a vector written in the old basis \(v\in V\) and the same vector written in the new basis \(\tilde{v}\in V\), \(v = B\tilde{v}\). Therefore, we have
<p>(3) \(v \mapsto \tilde{v} = B^{-1}v\).</li>
<li><strong>covariant</strong> change-of-basis rule: If additionally \(a^T\in V^*\) is a functional written in the old basis and \(\tilde{a}^T\in V^*\) is the same functional written in the new basis, then \(\forall v\in V: a^T v = \tilde{a}^T \tilde{v} = \tilde{a}^T B^{-1}v\). Therefore, we have
<p>(4) \(a^T \mapsto \tilde{a}^T = a^T B\).</li>
</ul>
<p>Combining (1), it can be shown that, for a change-of-basis tensor \(B = {B^{-1}}^{i_1}_{i_1}\cdots {B^{-1}}^{i_m}_{i_m}B^{j_1}_{j_1}\cdots B^{j_n}_{j_n}\), an (m,n)-tensor \(T^{i_1,&#8230;,i_m}_{j_1,&#8230;,j_n}\) has the change-of-basis rule \(T^{i_1,&#8230;,i_m}_{j_1,&#8230;,j_n} \mapsto BT^{i_1,&#8230;,i_m}_{j_1,&#8230;,j_n}\).</p>
<p>Okay, so what&#8217;s the point of these tensors? Basically, an (m,n)-tensor \(T^{i_1,&#8230;,i_m}_{j_1,&#8230;,j_n}\in P(m,n)\) represents a multilinear input-output relationship that takes \(n\) vectors as input and produces \(m\) vectors as output. If used &#8220;canonically&#8221; on an input \(X^{j_1,&#8230;,j_n}\in P(n,0)\), you get \(T^{i_1,&#8230;,i_m}_{j_1,&#8230;,j_n}X^{j_1,&#8230;,j_n} = Y^{i_1,&#8230;,i_m}\in P(m,0)\) as output. The contravariant input gets contracted with the covariant parts of the transformation tensor, and these drive the contravariant parts of the transformation tensor to produce the contravariant output.</p>
<p><img src="wp-content/uploads/images/tensor.png" /><br />
(System diagrams: <strong>Rank</strong> is the minimal number of terms in a tensor. On the left, a rank-1 tensor transformation; on the right, a rank-\(K\) one. )</p>
<p>An example is linear transformations, which are (1,1)-tensors (1 vector in, 1 vector out). In array representation these would just be matrices. Any rank-\(K\) linear transformation \(T^v_a\) is decomposable into a \(K\)-term tensor \(\sum_{k=1}^K v_k\otimes a_k\), but 1-term (1,1)-tensors are outer products, so this is the matrix \(\sum_{k=1}^K v_k a^T_k\), and \(Y^v = T^v_a X^a\) is just \(y = \sum_k v_k (a^T_k x)\).</p>
<p>Most other &#8220;multilinear&#8221; operations on vectors (inner product, cross product, wedge product, determinant) can be written as tensors. For example, the inner product operation (2 vectors in, &#8220;0&#8243; vectors out, i.e. scalar) is the (0,2) \(N\)-term <strong>Kronecker tensor</strong> \(\delta_{i_1 i_2}=\sum_{k=1}^N e^*_k\otimes e^*_k\) where \(\{e^*_k\}_{k\in\{1,&#8230;,N\}}\) are the standard basis of \(V^*\).</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.yhuang.org/?feed=rss2&#038;p=655</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google+ and its circles, a user-graph evolution</title>
		<link>https://blog.yhuang.org/?p=592</link>
		<comments>https://blog.yhuang.org/?p=592#comments</comments>
		<pubDate>Tue, 19 Jul 2011 02:51:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[broadcast system]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[party]]></category>
		<category><![CDATA[range]]></category>
		<category><![CDATA[sense]]></category>
		<category><![CDATA[social experience]]></category>
		<category><![CDATA[social space]]></category>
		<category><![CDATA[space]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[undirected graph]]></category>

		<guid isPermaLink="false">http://scripts.mit.edu/~zong/wpress/?p=592</guid>
		<description><![CDATA[Eduardo &#8230; I&#8217;m talking about taking the entire social experience of college and putting it online. When the movie &#8220;The Social Network&#8221; came out, this line caught my attention. I&#8217;m not sure this thesis &#8212; let&#8217;s call it the &#8220;replication thesis&#8221; &#8212; was what Monsieur Zuckerberg had in mind rather than something the screenwriter came [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Eduardo &#8230; I&#8217;m talking about taking the entire social experience of college and putting it online.</p></blockquote>
<p>When the movie &#8220;The Social Network&#8221; came out, this line caught my attention. I&#8217;m not sure this thesis &#8212; let&#8217;s call it the &#8220;replication thesis&#8221; &#8212; was what Monsieur Zuckerberg had in mind rather than something the screenwriter came up with, but it makes sense as to what actually undergirds online social platforms of today.</p>
<p>In all likelihood, Zuckerberg did not at first intend Facebook to be more than its namesake &#8212; a dorm facebook. Just as, in all likelihood, Twitter was meant as no more than a status message broadcast system, at first. The fact that Facebook became something of a gathering place and Twitter became a &#8220;microblogging&#8221; service &#8212; in essence, taking over functions that used to be conducted in other ways &#8212; I think owed something to their use of a &#8220;correct&#8221; user graph for certain contexts. It was the user graph that allowed, then limited, the range of social functions that people were willing to port over to the online platform. With the undirected graph, Facebook (and clones) modeled something like a big gathering, maybe a party. With the directed graph, Twitter (and clones) modeled something a bit more nuanced, like a groupie-celebrity relationship. (Is it any surprise, then, that celebrities drove the latter&#8217;s popularity?)</p>
<p>But I get the sense that neither Facebook nor Twitter truly believes in the replication thesis. They&#8217;ve construed their challenge narrowly as one of periodically pushing out new &#8220;things you could do,&#8221; most of which are nowadays ignored by users, or adding more places at which you could interact, but in the same way. They don&#8217;t see that users voluntarily do on a platform only those things that are compatible with their perception of the modeled social space. You can&#8217;t push anything on them any more than you can force people to play some game at a party. Yet I see no movement to revisit the user graph and better model real social relationships with all of their complexities. If left unchanged, the inevitable result will be that the range of social functions these platforms support <em>stagnates</em>, and therein should lie their eventual downfall. In fact, that probably solves the supposed &#8220;mystery&#8221; of Myspace&#8217;s decline, too. It is in this context <a href="http://money.cnn.com/2011/07/19/technology/google_plus_facebook/">that</a> <a href="http://www.slideshare.net/padday/the-real-life-social-network-v2">Google+</a> <a href="http://www.huffingtonpost.com/dave-taylor/why-google-plus-circles-facebook_b_888074.html">arrives</a>.<br />
<span id="more-592"></span><br />
Why has Google+ &#8220;succeeded&#8221; in a way that Orkut and Buzz had not? For one, Google+ posits an even more complex user graph in the form of circles. It&#8217;s a colored directed graph, not only directed like Twitter, but each user&#8217;s edges to other users are colored by the circles these neighbors belong to. Instantly, the range of social functions is expanded. We don&#8217;t have to wait for new applications to take advantage of this to make the realization: imagined possibilities are sufficient. It is like going to a new space. You leave the party, and the groupie session, and come to this space that is <em>novel</em> in a way that is defined not by its location or the people in it, but by its different arrangement.</p>
<p>By accident, Google is also a provider of several useful web services. This is an enviable position from which to make suggestive proposals on new interactions that people can have on this particular user graph. And unlike on Facebook or Twitter, some of Google&#8217;s more productive collaborative applications may actually require the Google+ user graph. The former two platforms are already shackled by their user graphs to &#8220;unserious&#8221; applications that are not coincidentally popular there. However, while Google+ will have a while to go before it exhausts these unrealized possibilities, it isn&#8217;t immune to the same questions of <em>what is a &#8220;correct&#8221; user graph model</em> or, <em>what &#8220;correctly&#8221; replicates the &#8220;entire social experience&#8221;</em>. Colored directed graph models social relationships in greater detail but is this model complete, or fundamentally right?</p>
<p><a href="wp-content/uploads/images/gplusgraph.jpg"><img src="wp-content/uploads/images/gplusgraph.jpg" width="400" align="right" border=0 /></a></p>
<p>I recall reading Zuckerberg&#8217;s <a href="http://www.businessinsider.com/mark-zuckerberg-explains-why-google-wont-beat-facebook-2011-7">recent comment</a> in which he quipped (about Google+) that it would be too much trouble to keep track of many circles, and that Facebook Groups is more transparent in that everybody knows who else is in the group (again, like at a party). I think he&#8217;s on to something even if his own model isn&#8217;t really moving forward. The fact that you can put people into circles gives you a false sense of privacy, because there will always be common connections and information leak. For example, you can go to a particular circle&#8217;s stream page and read only the stuff shared by people in that circle. But when you comment on something there, unlike being in a cloistered room which this metaphor would have you believe, you&#8217;re actually talking to all the people whom the original author has decided to include into the conversation. You see them but you don&#8217;t really see them. It jars the mind a little bit. Will you really spend mental energy to keep track of where your comments will be seen? Not likely. So you either decide to ignore this &#8220;leak&#8221; with even more embarrassment potential than on Facebook, or you decide there is no privacy despite circles and revert, in behavioral terms, back to the Facebook model. Something is amiss.</p>
<p>That thing is the fact that there is no concept of &#8220;spacetime&#8221; online like in real life. Everything happens at one time and in one place <em>despite efforts to counter it</em> (RIAA discovered this). What you write can be read ten years later, and it can be transmitted everywhere, too. It has your identity attached to it as if you did it right then and there to all the people you have no control over.</p>
<p>Let&#8217;s reconsider social relationships. Circles is an attempt to model the different groups in which a person moves. These groups may be &#8220;socially independent&#8221; as Google researchers have found, but they are not disjoint. If they were or if they were nearly so, Google+ would have fully modeled the situation, so a &#8220;Colleague&#8221; circle and a &#8220;Family&#8221; circle may indeed be easy to keep track of (unless your coworker is also your brother). But once there are more than about 2-3 circles, things surely muddle up. So why do people feel the need to separate their communication to different groups in real life? Maybe it is less so about who are in a group, and more about the identity that the person wants to project in a group. The need for circles isn&#8217;t really one for categorizing <em>other people</em>, as much as one for categorizing <em>your own identities</em>. It is this need for compartmentalizing identities (code for &#8220;hiding&#8221; certain parts of a composite identity) that drives the need for privacy across group boundaries.</p>
<p>In my mind, a more powerful and frank model of social relationships recognizes this. It is a classic one that a generation of online users have already grown accustomed to. You shouldn&#8217;t have multiple circles for one identity, in the false hopes that they be disjoint. It defeats the whole purpose. You should have multiple disjoint identities, but easily accessible under one account. Maybe you have a &#8220;model child&#8221; identity to your family, an &#8220;industrious worker&#8221; identity to your colleagues, and I don&#8217;t know a &#8220;troll&#8221; (er, I mean &#8220;free-speech protected&#8221;) identity for your political rants. This probably requires complex per-item ACL, or simply pseudonymous identities. Some people cringe at this, but I don&#8217;t see why. Pseudonymous identities can be every bit as authentic as real ones. (Google+ has already <a href="http://dwellonit.taterunino.net/2011/07/08/google-seemingly-split-on-pseudonymous-google-accounts-and-google-profiles-its-okay-until-it-isnt/">run into a dilemma on this issue</a>.) Moreover, each identity actually has to be accepted into your chosen cliques, so behavioral norms are already enforced intra-clique; identity labels are largely inconsequential. I think the replication thesis demands this since there is no spacetime disjointness online as exists in real life, so we can only go for identity disjointness. There are of course those (including Zuckerberg) who believe in radical unprivacy, and that is a utopian ideal, but for those opposed to it, Google+ unfortunately didn&#8217;t solve the problem.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.yhuang.org/?feed=rss2&#038;p=592</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>subway oddity</title>
		<link>https://blog.yhuang.org/?p=447</link>
		<comments>https://blog.yhuang.org/?p=447#comments</comments>
		<pubDate>Mon, 16 May 2011 17:04:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[car]]></category>
		<category><![CDATA[contexts]]></category>
		<category><![CDATA[empty seat]]></category>
		<category><![CDATA[kind]]></category>
		<category><![CDATA[mbta]]></category>
		<category><![CDATA[oddity]]></category>
		<category><![CDATA[overflow]]></category>
		<category><![CDATA[space]]></category>

		<guid isPermaLink="false">http://scripts.mit.edu/~zong/wpress/?p=447</guid>
		<description><![CDATA[MBTA has these &#8220;BIG RED&#8221; high-capacity cars now, but guess what? All they did was to remove all the seats. The trouble is, this form of so-called &#8220;high capacity&#8221; doesn&#8217;t actually add much capacity. You still have to hold on to these loops or bars and there are only so many of them. The trains [...]]]></description>
			<content:encoded><![CDATA[<p><img src="wp-content/uploads/images/3736606417_a8d6963aa2.jpg" alt="http://farm4.static.flickr.com/3469/3736606417_a8d6963aa2.jpg" align="left" hspace=5 vspace=5 />MBTA has these &#8220;BIG RED&#8221; high-capacity cars now, but guess what? <a href="http://bostonist.com/2008/12/04/big_red_mbta_plays_metro_matchmaker.php">All they did was to remove all the seats.</a> The trouble is, this form of so-called &#8220;high capacity&#8221; doesn&#8217;t actually add much capacity. You still have to hold on to these loops or bars and there are only so many of them. The trains <em>look</em> more spacious though&#8230; I think they&#8217;re confusing high personal space with high capacity.</p>
<p><img src="wp-content/uploads/images/boston-subway-81.jpg" alt="http://www.boston-discovery-guide.com/image-files/boston-subway-8.jpg" align="left" hspace=5 vspace=5 /> (Why do &#8220;suit&#8221; and &#8220;purple&#8221; choose to stand?)</p>
<p>There is a better way to add capacity and reduce crowding in the subway car, however. Make the damned seats wider! What people do right now &#8212; due to some kind of human repelling force &#8212; is to skip every other seat unless the situation is really saturated, because it&#8217;s impolite and uncomfortable to squeeze next to/in between people. So MBTA ends up with half the designed seating capacity and the overflow just stand, sometimes right next to/blocking an empty seat. Just remove one seat per row and the number of seated people may increase dramatically. This applies to classrooms and other contexts, too.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.yhuang.org/?feed=rss2&#038;p=447</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>on transparency, dynamic wallpaper, 3d desktops</title>
		<link>https://blog.yhuang.org/?p=209</link>
		<comments>https://blog.yhuang.org/?p=209#comments</comments>
		<pubDate>Sat, 17 Oct 2009 08:02:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[screen]]></category>
		<category><![CDATA[space]]></category>
		<category><![CDATA[transparency]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://scripts.mit.edu/~zong/wpress/?p=209</guid>
		<description><![CDATA[With Windows 7 about to arrive, I&#8217;ve been thinking about supposedly &#8220;cool&#8221; UI trends of recent years that actually annoy me greatly. Beginning a few years back, when graphics cards in computers not used for games became powerful enough to do something interesting, out came features that tried to take advantage of this power. I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>With Windows 7 about to arrive, I&#8217;ve been thinking about supposedly &#8220;cool&#8221; UI trends of recent years that actually annoy me greatly.</p>
<p>Beginning a few years back, when graphics cards in computers not used for games became powerful enough to do something interesting, out came features that tried to take advantage of this power. I&#8217;m talking about things like circular windows, transparency, video wallpapers, flipping window previews, 3d desktops, like a cube or whatever&#8230;</p>
<p>Now trust me. Since I don&#8217;t play games, I&#8217;ve thought about using the idle GPU for other purposes, too. So I tried the above features. And they all suck. Greatly. (I also tried GPGPU but that&#8217;s a rant for another day.)<br />
<span id="more-209"></span><br />
Along the way, I&#8217;ve become convinced that trying too hard to &#8220;use&#8221; GPU power is the wrong way to go. Alas, it&#8217;s probably better to stick to the basics and think of things that are actually useful. But first, why are the aforementioned graphics features so repugnant that users (at least I) turn them off after a few tries? Because they are unnatural, that&#8217;s why!</p>
<p>For example, the shape of windows. Look, rectangles are nice, for a good reason. They tesselate well. Hexagons may even work. Circles do not work. Odd shaped windows are the bane of my existence. How about the use of transparency? It never works! You don&#8217;t actually want to see what&#8217;s underneath, because if you do, it&#8217;s distracting. So transparency blurs what&#8217;s behind to the degree that you can&#8217;t tell what&#8217;s behind. This is paradoxical and completely useless. Video wallpapers. Bad idea. The desktop should not be distracting with movements. The eye is extremely capable of detecting scene change, especially change due to movement. You do not want the background to move at all! Flipping windows as in Vista&#8230; no. It&#8217;s harder to see what&#8217;s in the window due to the 3d angle and harder to see which one is at the forefront because of a stack of very different looking windows all competing for attention. Cube or spherical surfaces for desktops a la Compiz: fail. Nothing on our current desktop naturally wraps around a cube or sphere. You&#8217;re introducing extra distortion to generate the unnecessary projection to 2D. This is stupid.</p>
<p>However, I can think of two useful graphics features that are modifications of the failures described here:</p>
<p><strong>1. Getting things out of your way</strong><br />
Do you see all these people with multiple monitors? Why? Because people want space. They want multiple windows showing at the same time. They want a big desktop. Now desktop resolutions even on a single monitor these days are by no means small. I argue that it is the extremely inefficient use of a single monitor that drives people to multiple monitors. This is quite ridiculous, actually. Why do I say this? Because I&#8217;ve seen a good MDI (multiple document interface) in, say, source code editors and development environments that can easily put all the documents you want (usually just two) on screen at the same time. So there is no reason to give up on the same level of efficiency between multiple applications.</p>
<p>Okay, so what am I talking about. I think most space problems can be solved if there is a way to get things out of your way. For example, if I want to tesselate a screen with rectangles I may end up leaving unused space due to some windows being certain sizes. Wouldn&#8217;t it be nice for windows to be unions of rectangles and their contents flow within them naturally so that the entire screen looked like a newspaper page layout? This requires window content to be amenable to reflow, but whatever. It can be done. Barring that, it&#8217;d be nice if you can throw windows out of your way to a automatically determined reasonable location, either temporarily or permanently. Windows 7 sort of does that (but only to pre-defined locations and sizes like half a screen) and Mac OS X sort ot does the &#8230; opposite &#8230; of that by bringing all windows into view&#8230;</p>
<p><strong>2. Changing backgrounds</strong><br />
While video backgrounds are extremely distracting, a changing background itself isn&#8217;t a bad idea at all. The background can be equally used to get attention, as a conduit for conveying information &#8212; provided that is the goal. After all, it is already used to convey some information, with desktop icons, etc., although this happens only when the background is actually the foreground &#8212; when all other windows are out of the way. So can the background convey information while still being the background, and how?</p>
<p>Yes, it can. First thing to realize is the background can&#8217;t really convey a huge amount of information, since during normal operation, either (a) a small portion of it is revealed at a time &#8212; e.g. the gap between windows; and (2) a large portion is revealed only briefly &#8212; e.g. when switching windows. But a small amount of information can still be conveyed through this. One of the best uses for the background is to convey quasistatic or low frequency data. For instance, you&#8217;ve seen little weather and time indicators&#8230; why not let the background show the time and weather display by actually displaying a scene of that? It can be either current conditions or forecast, so long as the user knows what it is. So, if you want to know if it will rain 6 hours from now in Capetown, and have set the display to show that, the desktop can simply display a scene of that &#8212; and this doesn&#8217;t really change except when the weather changes, which is precisely when you want to be distracted with this new information, and in a non-intrusive way (you&#8217;ll just notice something new between switching windows). At other times you don&#8217;t even notice.<br />
<br/></p>
<p>I&#8217;m sure there are other applications like these. There is no excuse to pretend that piss poor UI design is acceptable if it just seems &#8220;cool&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.yhuang.org/?feed=rss2&#038;p=209</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
