<?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>Trausch’s Little Home</title>
	<atom:link href="http://mike.trausch.us/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://mike.trausch.us/blog</link>
	<description>My writing on life, computers, and technology</description>
	<lastBuildDate>Thu, 02 Sep 2010 17:55:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Let&#8217;s remember: This is not a &#8220;P.C.&#8221; zone.</title>
		<link>http://mike.trausch.us/blog/2010/09/02/lets-remember-this-is-not-a-p-c-zone/</link>
		<comments>http://mike.trausch.us/blog/2010/09/02/lets-remember-this-is-not-a-p-c-zone/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 17:51:42 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[random thoughts]]></category>
		<category><![CDATA[business]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=625</guid>
		<description><![CDATA[Someone recently brought to my attention that I&#8217;ve offended/hurt someone by the (by now, months old) words on my blog.
That is perfectly fine. I&#8217;m not here to be a politically correct person. This is my space on the Internet—and I&#8217;ll say what I like here. You know how I believe in freedom and its natural [...]]]></description>
			<content:encoded><![CDATA[<p>Someone recently brought to my attention that I&#8217;ve offended/hurt someone by the (by now, months old) words on my blog.</p>
<p>That is perfectly fine. I&#8217;m not here to be a politically correct person. This is my space on the Internet—and I&#8217;ll say what I like here. You know how I believe in freedom and its natural limitations? No? Well, I&#8217;ll say this until the day that I die: one person&#8217;s freedom ends where another person&#8217;s freedom begins. I&#8217;m free to say what I like, and you&#8217;re free to read it in any way you like or even not at all. Now, I won&#8217;t talk about other people by name on my blog unless I have permission to do so—especially if I&#8217;ve nothing positive to say, so don&#8217;t say that I&#8217;m not being at least a bit nice to you—but if I write a post here and it&#8217;s about you and you know that from nothing other than reading that post, maybe that is saying something more than what I have said here. If that has ever been the case in the past, or if it ever becomes the case in the future, then know this: it&#8217;s better you read what I have to say about you here, than wish that I were willing to spew my unfettered anger in your direction in person. And shoot, if you&#8217;re doing things that are illegal (such as running unlicensed proprietary software) and I haven&#8217;t turned your ass into law enforcement, you should be thanking whatever deity you believe in. Honestly.</p>
<p>Anyone who knows me—even if they do not know me well—knows that there is <em>absolutely nothing</em> that will make me angry like willful ignorance.  “Ignorance is bliss,” as the saying goes, but ignorance when combined with the lack of desire to fix it in what you claim to be a domain of specialized knowledge which you possess is just plain inexcusable. If you manage a network, you should know the basics of how it all works. There are people that I know that manage Windows networks and know nothing—not even the high level overview—of how Windows networking actually works beyond the painted pixels on the screen. Guess what? That means that you really do not know what you&#8217;re doing.</p>
<p>And lest anyone get offended or butt-hurt over being called ignorant, don&#8217;t. Let&#8217;s remember what ignorance actually means, and remember that it&#8217;s not an insult or a sleight against anyone—everyone is ignorant about many things, even in their own fields of work and expertise. However, <strong>willful ignorance in one&#8217;s own field</strong>—that is, ignorance that you&#8217;re not willing to fix all on your own like a big boy or girl—is absolutely something that you should be offended at! <strong><span style="font-weight: normal;">It is simply not possible for a single human being to know everything, even in his or her own specialty.  We have reference works, documentation, and vast seas of information in every field that I can think of, more than can fit in a human brain. But what matters is that you know what you know, and know what you don&#8217;t, and know how to find it out quickly and efficiently. And that means having a sort of self-initiative. </span><span style="font-weight: normal;"><em>And for that matter, I&#8217;ll even point people in the right direction</em></span><span style="font-weight: normal;">, if they&#8217;re willing to do the legwork themselves to decipher the information once I&#8217;ve pointed them at it. I certainly don&#8217;t spoon-feed though, and if you expect that (in your own field, no less!) then I will stand by my assertion that you should not work in that field at all. And I will stand by that assertion whole-heartedly, no matter how much that gives a person pain.</span></strong></p>
<p><strong><span style="font-weight: normal;">If you&#8217;re ignorant about something that you never do nor have a desire to do—say, you&#8217;re an auto mechanic and you don&#8217;t care to know how to sew or crochet—then that&#8217;s fine; that&#8217;s your choice! But if you work in a field, and you learn that there is something that you don&#8217;t know, <em>then learn it</em>. Or at least learn where you can learn it when you need to, and get a friggin&#8217; overview in your head. Read any single RFC and you&#8217;ll realize that there is no way that any of us can memory every single detail of every single specification for every single type of system that we manage. It&#8217;s just not possible without spending so much time studying that as to make it impossible to get anything useful actually accomplished. But if you manage a mail server and you don&#8217;t know the first thing about SMTP or POP3 or IMAP or whatever-else protocols your mail clients and servers are using, yes, that&#8217;s a problem. You certainly do not need to be able to have a conversation with your SMTP server, but you should know how to look up just how to do to that should you ever have to do any really low-level troubleshooting or log capturing. You shouldn&#8217;t need to know how to speak any application layer network protocol directly for that matter (though a lot of the text based ones are simple enough that you can learn them as needed over time). But you absolutely should know how to find the information that tells you how to speak those protocols if ever you have a need. And you should know enough to be able to make intelligent decisions on things like physical network infrastructure, management of your client and server operating systems, and so forth.</span></strong></p>
<p><strong><span style="font-weight: normal;">As an example: I am <em>nowhere close</em> to an expert on Windows—and I <em>know this</em>. (I will say that I know an awful lot about the way Windows bootstraps itself, as I have had to fix systems with multiple infections <em>by hand</em> because there were no automatic tools available to fix the system… but that does not make me an expert on the whole system, and probably not even the bootstrapping process of the system.) But I will research any issues that I encounter while supporting Windows users and find out—empirically, if I must—how to fix the problem. It&#8217;s what I do. And there are many, many places where I can find that sort of information, including booting up a copy of Windows itself and trying to figure it out that way. It does probably take me a lot longer than it would take someone who knows the system in and out, and I&#8217;ll grant that. I am absolutely the strongest on POSIX/UNIX-family systems. But that doesn&#8217;t stop me from being able to learn it and handle it. Even if it does take longer.</span></strong></p>
<p><strong><span style="font-weight: normal;">The difference between me and the unidentified person in my last post? I&#8217;ll spend any resources necessary—time, money, effort—to learn what I need to learn to get the job done. I don&#8217;t cut corners. My goal isn&#8217;t to get everything done sloppy and fast. Even if it takes me longer, I&#8217;d rather know and understand the problem—and its solution!—completely before moving forward with doing anything about it. Especially if I can find a short-term workaround that will enable me to come up with a quality solution. I eschew willful ignorance in my field. Do you?</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2010/09/02/lets-remember-this-is-not-a-p-c-zone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>If you&#8217;re going to support someone, know what you&#8217;re doing</title>
		<link>http://mike.trausch.us/blog/2010/06/29/if-youre-going-to-support-someone-know-what-youre-doing/</link>
		<comments>http://mike.trausch.us/blog/2010/06/29/if-youre-going-to-support-someone-know-what-youre-doing/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 01:23:16 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=620</guid>
		<description><![CDATA[It boggles the mind what some people will actually do—to what ends they will go to try to “show up” someone or make themselves look better. What is even worse is when it is pure marketing bullshit.
I am sure that there are people who do this in every single line of work. But what disgusts [...]]]></description>
			<content:encoded><![CDATA[<p>It boggles the mind what some people will actually do—to what ends they will go to try to “show up” someone or make themselves look better. What is even worse is when it is pure marketing bullshit.</p>
<p>I am sure that there are people who do this in every single line of work. But what disgusts me more than anything is someone who thinks that just because they did something like served in the military or got a degree of some sort that they <em>know everything</em> and that <em>everyone else has to prove that they have two brain cells to rub together</em>. Do you know what someone with a Ph.D. is good at? <strong><em>Marketing</em><span style="font-weight: normal;">. They have to be.</span></strong></p>
<p><strong><span style="font-weight: normal;">You know what I hate with a passion? </span><em>Marketing</em><span style="font-weight: normal;">. Because most of the time it is hogwash.</span></strong></p>
<p>What prompts this, you might wonder?</p>
<p>So today, I responded to an unexpected downtime call. Long story short (because details cannot be given out, for obvious reasons), this meant that I got up out of bed to answer it. No problem; it&#8217;s what I do. I go, I handle the problem, I encounter a couple of snags, find that I no longer have authorization to fix those snags, and go on about my day, providing a notification of the issues that I wasn&#8217;t able to fix—and why. As far as the “fix”, I had to switch to a backup connection on a mixed voice/data T1 (technically, DS1, but nobody calls it that except the engineers, I am pretty sure). No big deal; the equipment is setup to handle that, and it works just fine, albeit slower than anyone would like it to.</p>
<p>Enter <em>Fatuous</em>. <em>Fatuous</em> is someone who is employed as an “Information Technology” support person. Of course, that is not its real name, but it is suitable nonetheless.</p>
<p><em>Fatuous</em> sends an email to the effect of “you cannot run data through the T1 because it will make voice calls suffer”. Let’s keep in mind here that this particular equipment does both voice and data, and it gives preference to voice calls. In other words, if all the circuits are busy handling voice calls, there is no more room for bandwidth. Sounds simple, right? It should, because it is.</p>
<p>So, I explain this little fact, and I get a mail back—oh, yeah, and <strong><em>half the office</em><span style="font-weight: normal;"> is </span><em>needlessly carbon copied</em><span style="font-weight: normal;"> on this. Great! Let us fill everyone’s inboxes with a bunch of technical jargon that they will not care to read and (probably) have no desire to understand. Well, whatever. So the mail basically says, “Cite something, you’re wrong.” Wait a minute, what? <em>Fatuous</em> seriously does not understand what a T1 is. Now, if you have worked in the IT industry for any period of time, <em>even if you have never used one</em>, you should really know what a T1 is. Especially if you are over the age of, say, 25 or 30. Particularly if you are over the age of 40, since it is quite likely that’s what they were using for high-speed interlinks then (nevermind the fact that it is only a little bit faster than a low-end <a title="ARCNET at Wikipedia" href="http://en.wikipedia.org/wiki/ARCNET">ARCNET</a> card/network it was once considered high-speed connectivity, just as ARCNET was).</span></strong></p>
<p><strong><span style="font-weight: normal;">Fine, so I explain what this means in a high-level, cursory overview that hopefully had words small enough for <em>Fatuous</em> to understand. In the meantime, I am raving mad. I have dealt with <em>Fatuous</em> enough that it is readily apparent that there is no salvation here: its ignorance is willfully incurable, and that is terribly sad. I am not sure what is worse: the fact that it has a job doing something I am way overqualified for, or the fact that it has a job doing something that I am way overqualified for </span><em>and</em><span style="font-weight: normal;"> makes a fuck of a lot more money than I do.</span></strong></p>
<p>Sometimes, I really hate the universe.</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2010/06/29/if-youre-going-to-support-someone-know-what-youre-doing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On FatELF, or &#8220;Because 140 characters isn&#8217;t enough for a discussion&#8221;</title>
		<link>http://mike.trausch.us/blog/2010/06/23/on-fatelf-or-because-140-characters-isnt-enough-for-a-discussion/</link>
		<comments>http://mike.trausch.us/blog/2010/06/23/on-fatelf-or-because-140-characters-isnt-enough-for-a-discussion/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 21:01:44 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux-kernel]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[standards]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=617</guid>
		<description><![CDATA[So, I have someone on Identi.ca (@flameeyees@identi.ca) discussing with me me about my views on FatELF. No biggie, but trying to continue the argument (pointless as it is) there is just too much work: the character limit does not permit real discussion on such a complex issue. So, permit me to address each of the [...]]]></description>
			<content:encoded><![CDATA[<p>So, I have someone on Identi.ca (<a title="&quot;flameeyes&quot; on identi.ca" href="http://identi.ca/flameeyes">@flameeyees@identi.ca</a>) discussing with me me about my views on FatELF. No biggie, but trying to continue the argument (pointless as it is) there is just too much work: the character limit does not permit real discussion on such a complex issue. So, permit me to address each of the issues raised as I understand them and rebut. Then conversation can continue, if at all desired (though seriously, I don&#8217;t know that *I* desire to do so).</p>
<p>First point: FatELF would be useless because &#8220;<a href="http://identi.ca/notice/37727809">you can do that already, write a cc frontend that compiles the same file multiple times, it&#8217;s _not_ hard, I&#8217;ve done it before</a>&#8220;. Okay, so the proposed solution here is to write a compiler driver that will interpret arguments and, from a single Makefile, build for multiple platforms. There might even be something out there for that, but simply put, if GCC supported this feature intrinsically, then <em>everyone</em> would have it and it would be done in a <em>standard</em> way. Free software works better when everyone can agree on a single standard way of doing things, and not <em>just</em> a single standard template for how it might be done. Using addons to perform this function still yields multiple binaries that have to be shipped anyway, which is decidedly not the aim.</p>
<p>Second point: &#8220;<a href="http://identi.ca/notice/37728093">how is shipping one (fat) binary &#8216;better&#8217; than shipping one auto-extracting auto-deciding archive?</a>&#8221; Making the assumption that the toolchain and kernel all support the feature as a standard thing here, the difference is simple: the kernel ELF loader would be able to decide which sections of the ELF file should actually be loaded in memory, read only those sections, and go on about its business normally—the rest of the process would not need to change in any way. No temporary copies need to be made, no images need to be extracted, nothing like that has to be done. However, the inverse is quite a different story. Let&#8217;s make the assumption that you&#8217;re using a POSIX shell script, with the archive of all of the possible binaries appended to the POSIX shell script. First, the script has to be prepended to EVERY such archive (meaning that different versions of the script could exist, and as any programmer knows, <a href="http://en.wikipedia.org/wiki/DRY">DRY</a>), and the script is not going to be trivial: it would have to have code to detect and support every single individual platform. Furthermore, it would require that the user have permission to extract the payload, make it executable, and run it. This is the same deficiency that makes gzexe impractical for everyday use; I know that at least on all the servers that I manage, /tmp is mounted read-write but with execution of scripts and binaries disabled. Finally, it would fail to properly work in the event that something needed to be setuid—that information would have to be in the payload itself, which is absolutely not portable from one system to another. It just cannot be made to work in a generic enough fashion to be reliable on all different types of platforms with different administrative decisions made in the management of those platforms, and in many cases would require an increased attack surface just to be made workable.</p>
<p>However, if FatELF (or, honestly, anything that is <em>truly</em> equivalent) were used, an administrator could copy the binary from one system (say, an x86) to another system (say, a PowerPC) that has all of the other dependencies filled for it, drop it on the filesystem, chown/chmod it once, and it would Just Work. setuid, if needed, would be honored by the kernel, and no extraction has to take place. No additional temporary disk space would be required, nor would it be necessary to incorporate any logic into the ad-hoc &#8220;loader&#8221; (if it could even be called that) to try to find a filesystem that is read-write with execution permitted for the current user, and therefore no special privileges from the user would be necessary.</p>
<p>In fact, the only way to solve the problem reliably at present would be to have something like /var/cache/adhoc-fat-binaries, and have all ad-hoc &#8220;fat binaries&#8221; be setuid 0 (or setuid to some user that has all necessary privileges to make something setuid 0 if necessary, probably only UID 0 has that privilege on most systems) so that it could (a) write to /var/cache/adhoc-fat-binaries and (b) set the setuid or setgid bits if necessary for the program to fulfill its function. And it deserves to be restated: we all know that having a single specific standard and adhering to it—even when the standard is less than ideal (and in some cases, like X11, <em>falls quite short</em> of ideal)—is far better than having 100 different and incompatible ways to do the same thing. It&#8217;s one of the things that we people in free software know pretty damn well.</p>
<p>See, I don&#8217;t see something like FatELF being used for distribution binaries, or anything that would be distributed in an operating system distribution package, except perhaps in special situations where something like biarch is natively supported on the hardware and it would be feasible to permit that sort of flexibility. Instead, I see something like my current situation: I administer several machines for small businesses, and not all of them are the same hardware platform.  They are all the same operating system and many of them have the same libraries installed.  Some of them are 64-bit and some are 32-bit.  Some are x86, some x86-64, and some are neither. But I would very much like to write a single program, say &#8220;make&#8221; and copy the file to every machine so that it just works. For the moment, if I want something like that, I have to just use something like Java, C#, or a script. Or, if I need something setuid, I do it in C and compile it for every system, shipping the source code file to the systems instead. But it would be more efficient to not have to do that. That is why I would see FatELF being a &#8220;good thing&#8221;.</p>
<p>I know that I am in the minority.</p>
<p>That brings me to point three: &#8220;<a href="http://identi.ca/notice/37728644">because in 99% of all usage, the kernel won&#8217;t _need_ it. And its cost in effort and overhead would be higher.</a>&#8221; For this next part of my post here, I am going to be looking at the Linux kernel, version 2.6.34, which I have just downloaded from kernel.org, which is 64 MB compressed (using bzip2!) and takes up 442 MB when uncompressed, before touching any file in the tree. Now, I am looking at this for x86-64 because that is the system I am running on and typed &#8220;make menuconfig&#8221;.</p>
<p>Who needs any of the following options? I am willing to bet that the following options are not needed in 99% of all (desktop, server, and embedded, combined) usage:</p>
<ol>
<li>Processor type and features/Support for extended (non-PC) x86 platforms</li>
<li>Processor type and features/Maximum number of CPUs</li>
<li>Processor type and features/Memory model</li>
<li>Processor type and features/Build a relocatable kernel</li>
<li>Executable file formats / Emulations/Kernel support for ELF binaries</li>
<li>Executable file formats / Emulations/Kernel support for MISC binaries</li>
<li>Executable file formats / Emulations/IA32 Emulation</li>
<li>Executable file formats / Emulations/IA32 Emulation/IA32 a.out support</li>
<li>Networking support/Plan 9 Resource Sharing Support (9P2000) (Experimental)</li>
<li>File systems/Second extended fs support</li>
<li>File systems/Reiserfs support</li>
<li>File systems/JFS filesystem support</li>
<li>File systems/XFS filesystem support</li>
<li>File systems/GFS2 file system support</li>
<li>File systems/OCFS2 file system support</li>
<li>File systems/Dnotify support</li>
<li>File systems/Kernel automounter support</li>
<li>File systems/Kernel automounter version 4 support (also supports v3)</li>
<li>File systems/FUSE (Filesystem in Userspace) support</li>
<li>File systems/FUSE (Filesystem in Userspace) support/Character device in Userpace support</li>
</ol>
<p>I can&#8217;t even go on. Twenty is enough; I think I have made my point. In 99%+ of all situations, these options are either <strong>always on</strong> or <strong>always off</strong>. They are rarely modified. And the kernel still supports a.out from IA32&#8217;s really old days‽ Seriously?</p>
<p>What does this tell me? It tells me that FatELF—or anything else that came along and did something like what FatELF would do—has room in the kernel. And if it were for whatever reason incompatible with current ELF (as it would very likely be) then the kernel could still support &#8220;old&#8221; ELF, without any of the extra fields or sections.</p>
<p>And actually, there is a great deal of possibility around something entirely different altogether. FatELF isn&#8217;t the most technically elegant thing I can think of to solve the problems that it solves, but I have yet to see something else seriously proposed. I can think of something even better, actually. We are all taught that operating systems are here to abstract us from hardware, so that we can write applications and not have to worry about communicating with the hardware directly because the OS handles those details for us. Well, if that is the case, then why don&#8217;t operating systems also abstract the system&#8217;s processor? Why don&#8217;t we have operating system kernels that provide a virtual instruction set? Yes, I <strong><em>am</em><span style="font-weight: normal;"> talking about essentially moving the application VM into an operating system kernel, though ideally with some supporting utilities in userspace to do things like hold persistent JIT caches and so forth. However, that&#8217;s for another post, another time.</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2010/06/23/on-fatelf-or-because-140-characters-isnt-enough-for-a-discussion/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ubuntu One is not a &#8220;proprietary&#8221; service</title>
		<link>http://mike.trausch.us/blog/2010/06/18/ubuntu-one-is-not-a-proprietary-service/</link>
		<comments>http://mike.trausch.us/blog/2010/06/18/ubuntu-one-is-not-a-proprietary-service/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 14:43:56 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=615</guid>
		<description><![CDATA[Ever since Canonical started with Ubuntu One (or &#8220;U1&#8243;), people have been crying and whining about it being a proprietary pile of goo. For someone who has been active in the free software world for a long time, and still has his brains about him, this makes no sense whatsoever.
Yes, it is true that Canonical [...]]]></description>
			<content:encoded><![CDATA[<p>Ever since Canonical started with Ubuntu One (or &#8220;U1&#8243;), people have been crying and whining about it being a proprietary pile of goo. For someone who has been active in the free software world for a long time, and still has his brains about him, this makes no sense whatsoever.</p>
<p>Yes, it is true that Canonical has not given up the source code for the U1 server-side software. And if you stop right there and proceed no further down the train of thought, you will probably come to the conclusion that it is proprietary software—and you would be <em>wrong</em>. Why?</p>
<p>Because the U1 client is free software, that&#8217;s why! It seems to me that we have forgotten what client/server applications are. Remember that HTTP is a client/server application, as is SSH, as are so many other types of things. It doesn&#8217;t matter if <em>both</em> sides have source code available, when it comes to client-server stuff. In fact, it almost doesn&#8217;t matter if the server side is available, because by itself it is useless. However, if the client source code is available, that tells you a great deal: it says, &#8220;here is how to talk to the server, how to communicate with the server, and how to use the server&#8217;s facilities in code that is useful,&#8221; and from that you can create an <em>interface</em>. Once you understand the interface, you need only to write software that fulfills that interface, and voilà, you have yourself a free software server that satisfies the client&#8217;s needs.</p>
<p>Then all you have to do is point the client to the new server software, installed somewhere on a server that you control, and you are all set. For that matter, I am somewhat surprised that nobody has done this just yet, because it seems to me that this would be a most excellent means to doing synchronization on systems in an office/workgroup setting. You could then set the Ubuntu One client to point to a server of your choosing and tell it, &#8220;sync all of the ~ directory&#8221; or &#8220;Sync all of ~/Documents&#8221; or whatever on every machine and you would have the ability to share and so forth… overall it seems like a great idea to me. Too bad I don&#8217;t have enough time to write it currently, though; I have a full plate of other projects (both in the realm of computing and not) that I have to get done first.</p>
<p>Unless, that is, someone wants to offer me some serious cash to write an U1 server implementation. Cash always advances a project to the head of the queue…</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2010/06/18/ubuntu-one-is-not-a-proprietary-service/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I do not word process, and neither should you</title>
		<link>http://mike.trausch.us/blog/2010/06/17/i-do-not-word-process-and-neither-should-you/</link>
		<comments>http://mike.trausch.us/blog/2010/06/17/i-do-not-word-process-and-neither-should-you/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 15:29:14 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=613</guid>
		<description><![CDATA[A common piece of software to find in an office is a word processor—it&#8217;s also often one of the most expensive pieces of software that is found in the office! This makes little or no sense, when there are a multitude of alternatives and any business that wants to do so can make requirements that [...]]]></description>
			<content:encoded><![CDATA[<p>A common piece of software to find in an office is a word processor—it&#8217;s also often one of the most expensive pieces of software that is found in the office! This makes little or no sense, when there are a multitude of alternatives and any business that wants to do so can make requirements that documents be submitted in some reasonably sane format such as PDF.</p>
<p>First, let me start by saying that you should read this Ars Technica article on <a title="The prospects of MIcrosoft Word in a wiki-based world" href="http://arstechnica.com/microsoft/news/2009/08/microsoft-word-1983---2009-rest-in-peace.ars" target="_blank">“The prospects of Microsoft Word in the wiki-based world”</a> which is a great article on how unnecessary something like a word processor is in today&#8217;s world.  The article is nearly a year old, but it&#8217;s still a good read.</p>
<p>Creating information from data does take some work and that work should go somewhere. A wiki seems a natural choice: everyone in a workgroup can collaborate using a wiki, <em>and</em> the data from the wiki is all in a single place so that it can be easily backed up. Of course, it takes some getting used to the notion that you are using a wiki and not a word processor, but that&#8217;s not all bad.</p>
<p>Most things that you work on in a word processor these days are done only to send to someone else in an email anyway. And word processors do not guarantee that formatting is kept intact unless you send in a strong, font-embeddable format such as PDF anyway, so they have little point. At least with a wiki, you have the ability to quickly write and save, and others can come along and update, and so forth. If you need to, you can even upload things that people send you (graphics, documents, whatever) into the wiki and use the wiki to keep track of those things.</p>
<p>In fact, I sometimes wonder why we don&#8217;t actually use things like wikis for information storage and retrieval more frequently. After all, once upon a time, a folder that held paper was an acceptable form of record keeping. The analog to that is a folder with text documents located in a filing cabinet, or a wiki (the cabinet) with articles and hierarchies (folders and files). Then you can have files that are as long as you need them to be without actually having to worry about how much physical space they take up. With the recent apparent movements from structured databases to unstructured information storage systems, that seems to make sense to me. At least then you&#8217;re still using a solid database that performs well, but instead of using a highly inflexible database schema that is application-specific, you can use the wiki instead.</p>
<p>Well, anyway, just a few of my thoughts—2¢ worth of them anyway. Back to my regularly scheduled day, which today involves reading source code from the Mozilla project.</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2010/06/17/i-do-not-word-process-and-neither-should-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blog? What&#8217;s that?</title>
		<link>http://mike.trausch.us/blog/2010/06/11/blog-whats-that/</link>
		<comments>http://mike.trausch.us/blog/2010/06/11/blog-whats-that/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 05:51:57 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=610</guid>
		<description><![CDATA[Oh, I still have this thing.  I need to use it more.
For that matter, I am like, way behind in reading blogs around the Internet.  Oh, dear.  And I don&#8217;t think that I am anywhere close to being able to actually take the time that&#8217;s necessary to catch up.  Moving into a house has taken [...]]]></description>
			<content:encoded><![CDATA[<p>Oh, I still have this thing.  I need to use it more.</p>
<p>For that matter, I am like, <em>way</em> behind in reading blogs around the Internet.  Oh, dear.  And I don&#8217;t think that I am anywhere close to being able to actually take the time that&#8217;s necessary to catch up.  Moving into a house has taken up more time and money for the initial setup than I imagined it ever would.  Conceptually, it seems so simple: buy house, move stuff, done.  Of course, it never works that way.</p>
<p>I have my computer workstation setup, and usable, for the first time in almost (over?) a half a year.  Oh it&#8217;s nice to be back on zest.  Of course, I need to actually update all of the contents of its hard drive being that I haven&#8217;t used it in half a year, so I&#8217;m busy getting old stuff shoved onto BD-R discs in case I need to use the stuff at some future date and then I am going to wipe the system clean for the first time in probably two or three years and do a fully clean install of Ubuntu.  I am hoping that it will fix any of the lingering issues that I have with the sound system—I can&#8217;t believe that it&#8217;s 2010 and we still can&#8217;t do 5.1 channel surround correctly!  I have the 5 channels, but not the .1!  Well, I have the .1, but with next to no volume; it might as well not be transmitting any signal to the LFE channel for the subwoofer, because in order to hear the sub at all I have to make the other speakers painfully loud.</p>
<p>Perhaps the biggest thing I have missed about not being able to have a proper workstation setup is the chair.  No, the keyboard at a comfortable height, for which my wrists will (I hope!) be grateful.  Or maybe it&#8217;s the regular use of two monitors at the same time on the same system.  Hell, I don&#8217;t know what the biggest thing is.  Maybe it&#8217;s that I have a roomy system again.  Or maybe the fact that I can now get back into a groove where I can keep references on a screen while I am working with programming and so forth.  There&#8217;s nothing I hate more than having to refer to some silly reference and have to flip full-screen windows or virtual desktops to do it—that&#8217;s something that two monitors makes very easy, because then I can work in one and have reference information in another.  Too bad I don&#8217;t have room for three monitors, because I&#8217;d totally use all three of them.</p>
<p>I jokingly mentioned to a friend of mine on the phone today that I have four display ports on the back of my computer, and I have four monitors laying around, maybe I should try to use them all… but I know that (for the short time that I had 3 monitors, anyway) that it was a joy to use and improved my ability to work much like when I originally went from one monitor to two monitors.  I wonder, seriously: what&#8217;s the largest number of monitors that makes sense for productivity?</p>
<p>Well, anyway.  I have to wrap things up and get to bed.  It&#8217;s nice to type for a bit, though, even if I have not written frequently enough that it&#8217;s no longer likely that there&#8217;s anyone left to read it.</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2010/06/11/blog-whats-that/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oh, what a day.</title>
		<link>http://mike.trausch.us/blog/2010/05/19/oh-what-a-day/</link>
		<comments>http://mike.trausch.us/blog/2010/05/19/oh-what-a-day/#comments</comments>
		<pubDate>Wed, 19 May 2010 07:02:56 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[house]]></category>
		<category><![CDATA[repair]]></category>
		<category><![CDATA[todo]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=605</guid>
		<description><![CDATA[So, we have finally acquired a house.  This is awesome.  Though, we haven&#8217;t even had it for 24 hours and I have already put (accidentally!) a couple of holes in the wall, because when I changed the locks I accidentally put the screws for the catch plate in just ever-so-slightly crooked, and the [...]]]></description>
			<content:encoded><![CDATA[<p>So, we have finally acquired a <em>house</em>.  This is awesome.  Though, we haven&#8217;t even had it for 24 hours and I have already put (accidentally!) a couple of holes in the wall, because when I changed the locks I accidentally put the screws for the catch plate in just ever-so-slightly crooked, and the design of the wall there did not give me much room for error.  Damnit.  Oh, well.  We&#8217;ll fix that tomorrow, probably.</p>
<p>Tomorrow&#8217;s list: get one more lock set installed (we forgot a door—how did we do that‽) and start getting some of the minor things that we <em>can</em> do taken care of, such as replacing the ancient thermostat that is in there  with a more accurate and efficient digital one which is programmable, fixing the stupid holes I made today, and trying to take an inventory of all the minor repairs that we are looking at having to do over the next year. Nothing there that is awful or time-critical, of course, but little annoying things, like a couple of the cracks that someone managed to put in the floor, replace various pieces of trim that have been broken, or fill in little holes here and there to even things out. Oh, and a toilet seat, three 9 volt batteries, and… something else I am forgetting.</p>
<p>Oh, well. Time for bed.</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2010/05/19/oh-what-a-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why do I still write PHP at all?</title>
		<link>http://mike.trausch.us/blog/2010/04/20/why-do-i-still-write-php-at-all/</link>
		<comments>http://mike.trausch.us/blog/2010/04/20/why-do-i-still-write-php-at-all/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 23:11:31 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[computing]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=603</guid>
		<description><![CDATA[Well, aside from the fact that it is a language that is awfully convenient for writing Web-based applications, anyway? It is sometimes really annoying.
One of those situations where it is really annoying is when trying to do things that ought to be really simple. For example, when writing an accessor function for a boolean value, [...]]]></description>
			<content:encoded><![CDATA[<p>Well, aside from the fact that it is a language that is awfully convenient for writing Web-based applications, anyway? It is sometimes <em>really</em> annoying.</p>
<p>One of those situations where it is <em>really</em> annoying is when trying to do things that ought to be <em>really</em> simple. For example, when writing an accessor function for a boolean value, one would expect to be able to just do it, right? But because PHP isn&#8217;t anywhere close to a strongly, statically typed language, this is impossible to do simply. The programmer must be burdened with checking the types, or hope that the user will never make a mistake.</p>
<p>Some days I wonder why I&#8217;m not writing Web application software in C using SCGI…</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2010/04/20/why-do-i-still-write-php-at-all/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We still tolerate and defend racism?</title>
		<link>http://mike.trausch.us/blog/2010/03/24/we-still-tolerate-and-defend-racism/</link>
		<comments>http://mike.trausch.us/blog/2010/03/24/we-still-tolerate-and-defend-racism/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 17:16:39 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[wtf‽]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=600</guid>
		<description><![CDATA[Recently on a mailing list of which I am a member, the following comment was posted:

We pay cash at restaurants especially ones of certain
nationalities.

The context of this quote is a discussion on credit/debit card usage, and this statement came at the tail end of how care must be taken to ensure that one is not [...]]]></description>
			<content:encoded><![CDATA[<p>Recently on a mailing list of which I am a member, the following comment was posted:</p>
<blockquote>
<pre>We pay cash at restaurants especially ones of certain
nationalities.</pre>
</blockquote>
<p>The context of this quote is a discussion on credit/debit card usage, and this statement came at the tail end of how care must be taken to ensure that one is not subjected to fraudulent charges (nevermind the fact that banks in the U.S. mostly do zero-liability these days). This has spawned a rather heated discussion, which apparently resulted in the person who made that comment leaving the mailing list.  The whole idea that we continue to change our behavior <em>depending on the ethnicity of the person(s) we are around</em> is nothing short of infuriating. It is like we fail to understand that qualities like honesty and trustworthiness are markers of an <strong>individual</strong>.</p>
<p>What does the above statement say? It says that the poster of that statement feels that he cannot trust “certain nationalities”. This person later made the claim that it was sad that people could find racism in nearly any remark—but the thing is, it is <strong><em>right there</em><span style="font-weight: normal;">, not even hidden from view. It&#8217;s blatant.</span></strong></p>
<p><strong><span style="font-weight: normal;">Even worse, when the poster of the comment above was called out on it, most of the people on the mailing list jumped to this person’s aid to defend them. Honestly, I do not know what is worse: the fact that this person said this in the first place, or the fact that the majority of the mailing list’s members rallied up on the side of that person. Quite possibly, I think the latter, because that shows that we still have in society the notion that racism is somehow acceptable, and that the more veiled or subtle it is, the more okay and polite it is. I find that downright offensive.</span></strong></p>
<p><strong><span style="font-weight: normal;">It is certainly enough to make me consider dropping the mailing list and participation in the group altogether. It is difficult to be in a group when you cannot even look at its members—your peers—with respect, even if they are some of the smartest minds you know in a particular field. Why be part of it at all?</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2010/03/24/we-still-tolerate-and-defend-racism/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On small offices and computer configurations</title>
		<link>http://mike.trausch.us/blog/2010/03/07/on-small-offices-and-computer-configurations/</link>
		<comments>http://mike.trausch.us/blog/2010/03/07/on-small-offices-and-computer-configurations/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 12:14:11 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[random thoughts]]></category>
		<category><![CDATA[tips & tricks]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=597</guid>
		<description><![CDATA[So for the past couple of weeks I have been doing work at a client’s place of business. This client—like many other small and medium-sized businesses—uses Windows on all of their desktop systems. They have a couple of server boxes that are running GNU/Linux servers, but they are not running GNU/Linux on the desktop at [...]]]></description>
			<content:encoded><![CDATA[<p>So for the past couple of weeks I have been doing work at a client’s place of business. This client—like many other small and medium-sized businesses—uses Windows on all of their desktop systems. They have a couple of server boxes that are running GNU/Linux servers, but they are not running GNU/Linux on the desktop at this point in time.</p>
<p>So, this is a pretty simple-sounding network, yes? It should be—it is just a handful of computer systems. However, there is a problem—a pretty large one, I think. There is very little in the way of either policy or convention on the network. Some users use their documents directory for storing their documents, others store their documents on their desktop, others somewhere differently altogether on the C drive, others on a network share in a public storage space. There are different versions of software on the various machines, more-or-less updated when someone thinks about it, I think.</p>
<p>This is a perfect scenario which shows why a business network should be centrally managed in some form. Note that I am <em>not</em> saying that each machine should be a bit-for-bit mirror image of the one next to it, though that is certainly a possibility. I think that people should be able to use their own choice of things like email client or Web browser software, because everyone is different. But when you have different client applications fulfilling a role on the individual workstations, you have to take a centralized approach to ensuring that things like the email is all backed up.</p>
<p>Furthermore, if you <em>don’t</em> take a centralized approach to backing up such data, it is <em>very</em> difficult to centralize the network storage. Think about adding a domain controller (that is Windows speak for a central server which handles authentication and authorization, as well as file and printer sharing and things like roaming profiles) to such a network. I expect that with multi-gigabyte mail files, things will be <em>very</em> slow at first—and that likely the only fix for them that is going to be viable in the long term is to centralize more infrastructure.</p>
<p>I am too tired to expand more on my thoughts on what I have learned and where it is heading, but the <em>Reader’s Digest</em> version of the point reads something like this: If you are a small to medium sized business, make sure that you have someone who is competent in both system and network administration, and <em>make sure that they are a part of your business from day one</em>. Like writing software, building up a technical infrastructure without careful thought and design is hazardous and comes with many hidden and unpredictable costs. It is best to head those things off right from the start; to delay only amplifies the cost of fixing the underlying problems and puts oneself in the position where fixing one issue can have a domino-like effect and create more new problems.</p>
<p>For my current situation, I think I am going to have to seriously re-think how this whole setup is done. What I do not yet know is how to quickly and efficiently bring things into shape. A bit of training and education may be required, and certainly the removal of a lot of unnecessarily-granted privileges on the workstations. That, too, should be something caught early-on: do not let every person in a business run with administrator privilege, unless they <em>are</em> an administrator (and even they should only run with administrator privilege when they are actually doing something that requires that privilege). If everyone is an administrator, there is little to no control on how things are done in a network, and it can get messy.</p>
<p>I have a lot more reading to do, as well.</p>
<p>Well, anyway, it is <em>way</em> past my bedtime.  Time for sleep.</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2010/03/07/on-small-offices-and-computer-configurations/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
