<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1877554592773139399</id><updated>2011-04-21T20:35:09.700-07:00</updated><category term='Evince'/><category term='Microsoft'/><category term='Backup'/><category term='Linux'/><category term='Sound'/><category term='Lenovo T61'/><category term='Brightness'/><category term='Ubuntu'/><category term='Emacs'/><category term='LaTeX'/><category term='Gnome'/><category term='Open Source'/><category term='Administration'/><category term='Gutsy Gibbon'/><title type='text'>Silicon Fundas</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-54844646434513182</id><published>2008-11-09T11:11:00.000-08:00</published><updated>2008-11-09T11:45:26.471-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Microsoft and Evangelism</title><content type='html'>What does Microsoft have to do with Christian churches?&lt;br /&gt;&lt;br /&gt;Nothing, except that they both exhibit a certain behaviour: aggressive evangelism.  Both operate in ways that tend to reduce freedom of choice and make it hard for people to choose alternatives.  Their behaviour on this count is similar because their motivations are similar.  Both wish to monopolize society.&lt;br /&gt;&lt;br /&gt;When Google became popular in search, Microsoft tried to beat Google at search.  When Google began its mail service, Microsoft tried to beat Google at mail. When Google began getting into maps, books, Microsoft put some serious effort into the same fields.  This is reminiscent of church planting in Indian villages.&lt;br /&gt;&lt;br /&gt;When a Hindu temple undertakes a major activity that might get people interested (such as renovation of a temple or appointment of a new priest), Christian organizations often rush to plant a church and engage in a publicity and incentive blitz to attract villagers.&lt;br /&gt;&lt;br /&gt;Microsoft has been doing the same thing in the tech domain.  If there's any tech development that attracts people, Microsoft tries to enter it in a big way in order to attract customers to the Microsoft fold.&lt;br /&gt;&lt;br /&gt;Both Microsoft and church have practically unlimited financial resources compared to their competitors, and both are extremely resistant to the existence of alternatives.&lt;br /&gt;&lt;br /&gt;It's no secret that I'm on the side of Freedom here: freedom as in free software, and freedom of religion.  Makes me wonder: do Microsoft vs. open source and evangelism vs. freedom of religion have the same solution?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-54844646434513182?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/54844646434513182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=54844646434513182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/54844646434513182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/54844646434513182'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2008/11/microsoft-and-evangelism.html' title='Microsoft and Evangelism'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-696419652183629352</id><published>2008-11-01T08:03:00.000-07:00</published><updated>2008-11-01T08:40:17.460-07:00</updated><title type='text'>Automatically Inserting Matching Parentheses for LaTeX in Emacs</title><content type='html'>My use of emacs varies, but a good chunk of my time is spent writing in LaTeX for mathematical formulae.  &lt;a href="http://www.gnu.org/software/auctex/"&gt;AuCTeX&lt;/a&gt; simplifies my life quite a bit, and &lt;a href="http://cristal.inria.fr/whizzytex/"&gt;whizzytex &lt;/a&gt;makes it awesome.  But one feature that would really save me some typing is auto-completion of matching parenthetical symbols.  In LaTeX, such matching delimiter pairs are $$, [], {}, \{\}, \left\{\right\}, \left(\right), etc.  I found a major mode called &lt;a href="http://www.math.washington.edu/%7Epalmieri/Emacs/ultratex.html"&gt;Ultratex&lt;/a&gt; that does exactly this (and much more), but unfortunately it replaces AuCTeX rather than augment it, and isn't maintained any more.  &lt;br /&gt;&lt;br /&gt;Here's some trivial emacs lisp code for a minor mode that accomplishes this.  You can easily modify it yourself to add or remove simple matching completions.  You can put it directly in your .emacs file, or in a file called dlmins.el, and add the line&lt;br /&gt;&lt;br /&gt;&lt;code&gt;(load "/path/to/dlmins.el" t t)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;to load it.  If you want this to be activated every time LaTeX is fired up, put the following line in your .emacs file:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;(add-hook 'LaTeX-mode-hook 'dlmins-mode)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;To toggle the mode manually, use command &lt;code&gt;M-x dlmins-mode&lt;/code&gt;.  Here's the code for the minor mode.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;;;; dlmins.el -- Trivial minor mode to insert matching LaTeX&lt;br /&gt;;;; delimiters automatically.&lt;br /&gt;;; Copyright (c) 2008 Rajeev Ayyagari&lt;br /&gt;&lt;br /&gt;;; Author:   Rajeev Ayyagari&lt;br /&gt;;; Keywords: Parenthesis matching&lt;br /&gt;;; Version:  0.01 of Sat Nov  1 11:22:44 EDT 2008&lt;br /&gt;&lt;br /&gt;;; This file is not part of GNU Emacs.&lt;br /&gt;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;;; Minor mode: dlmins-mode&lt;br /&gt;;;&lt;br /&gt;;; Entering a left-parenthetical symbol causes the corresponding&lt;br /&gt;;; right-parenthetical symbol to be inserted automatically, and point&lt;br /&gt;;; is positioned appropriately.&lt;br /&gt;;;&lt;br /&gt;;; To use, place this code in a file called dlmins.el and add the line&lt;br /&gt;;;&lt;br /&gt;;; (load "/path/to/dlmins.el" t t)&lt;br /&gt;;;&lt;br /&gt;;; to your .emacs.  To make the mode start automatically when a latex&lt;br /&gt;;; document is opened, add the line&lt;br /&gt;;;&lt;br /&gt;;; (add-hook 'LaTeX-mode-hook 'dlmins-mode)&lt;br /&gt;;;&lt;br /&gt;;; to your .emacs after the above "load" line. Manually toggle (enable&lt;br /&gt;;; or disable) the mode using M-x dlmins-mode.&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;br /&gt;;; Set up keymaps and list of delimiter pairs.&lt;br /&gt;(defun dlmins-setup ()&lt;br /&gt; "Initialize delimiter auto-insertion."&lt;br /&gt; (interactive)&lt;br /&gt; ;; Order matters in the list below!&lt;br /&gt; ;; The rule is if STR2 is a suffix of STR1, then STR2 should come&lt;br /&gt; ;; after STR1.&lt;br /&gt; (setq dlmins-dlm-list&lt;br /&gt;'(&lt;br /&gt;  ("\\left\\{" "\\right\\}")&lt;br /&gt;  ("\\{"       "\\}")&lt;br /&gt;  ("\\frac{"   "}{}")&lt;br /&gt;  ("{"         "}")&lt;br /&gt;  ("\\left("   "\\right)")&lt;br /&gt;  ("("         ")")&lt;br /&gt;  ("\\left\\|" "\\right\\|")&lt;br /&gt;  ("\\|"       "\\|")&lt;br /&gt;  ("|"         "|")&lt;br /&gt;  ("\\left|"   "\\right|")&lt;br /&gt;  ("\\left["   "\\right]")&lt;br /&gt;  ("["         "]")&lt;br /&gt;  ("$"         "$")&lt;br /&gt;  ))&lt;br /&gt; (define-key (current-local-map) (kbd "{") (lambda () (interactive) (insert "{") (dlmins-pair)))&lt;br /&gt; (define-key (current-local-map) (kbd "[") (lambda () (interactive) (insert "[") (dlmins-pair)))&lt;br /&gt; (define-key (current-local-map) (kbd "(") (lambda () (interactive) (insert "(") (dlmins-pair)))&lt;br /&gt; (define-key (current-local-map) (kbd "$") (lambda () (interactive) (insert "$") (dlmins-pair)))&lt;br /&gt; (define-key (current-local-map) (kbd "|") (lambda () (interactive) (insert "|") (dlmins-pair))))&lt;br /&gt;;; Called when left delim is typed, finds and inserts appropriate&lt;br /&gt;;; right delim.&lt;br /&gt;(defun dlmins-pair ()&lt;br /&gt; "This should be called as soon as an opening delimiter has been typed.&lt;br /&gt;  When called, looks backward to see which delimiter has just been typed.&lt;br /&gt;  It inserts the matching closing delimiter.&lt;br /&gt;  Eventually it will be smart enough to take care of \left and \right as well."&lt;br /&gt; (interactive)&lt;br /&gt; (catch 'getout&lt;br /&gt;   (mapcar&lt;br /&gt;    (lambda (dlm)&lt;br /&gt;      "If expression before point matches open dlm, insert close dlm."&lt;br /&gt;      (if (looking-back (regexp-quote (car dlm)))&lt;br /&gt;   (save-excursion&lt;br /&gt;     (insert (car (cdr dlm)))&lt;br /&gt;     (throw 'getout nil))))&lt;br /&gt;    dlmins-dlm-list)))&lt;br /&gt;;; Toggle the parenthesis matching mode&lt;br /&gt;(define-minor-mode dlmins-mode&lt;br /&gt; "Minor mode LaTeX matching delimiter auto-insertion. use&lt;br /&gt; \"dlmins-mode\" to toggle."&lt;br /&gt; :init-value nil&lt;br /&gt; :lighter " DlmIns"&lt;br /&gt; :keymap '()&lt;br /&gt; (dlmins-setup)&lt;br /&gt; )&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-696419652183629352?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/696419652183629352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=696419652183629352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/696419652183629352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/696419652183629352'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2008/11/automatically-inserting-matching.html' title='Automatically Inserting Matching Parentheses for LaTeX in Emacs'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-294374926661656829</id><published>2008-10-12T08:55:00.001-07:00</published><updated>2008-11-01T08:01:40.883-07:00</updated><title type='text'>Is User-Friendly the Way to Go?</title><content type='html'>Everything in the computer world: search, social networking, operating systems, even system administration, is going towards user-friendliness.  User-friendliness is the carrot used by various manufacturers to lure consumers towards their products.  It relies on humans' inherent laziness: if you can do something more easily, why do it the hard way?&lt;br /&gt;&lt;br /&gt;That is also a good argument for user-friendliness: why expend effort (i.e. incur costs) learning how to do things the hard way when the &lt;span style="font-style: italic;"&gt;same things&lt;/span&gt; can be done the easy way (i.e. at lower cost)?&lt;br /&gt;&lt;br /&gt;But there is a hidden cost.  It is hidden in the words "same things" above.  I think there are things that cannot be done without using more sophisticated methods than the basic, user-friendly, point-and-click methods.  How would you rename all files in your system with the extension ".bin" to ".exe" in a user-friendly fashion?  This is just an example of a common task.  If people could all write basic code, there would be a lot of advanced tasks that would become common.  This would lead to greater complexity in the use of computers, and hence faster innovation.&lt;br /&gt;&lt;br /&gt;As an analogy: It takes more effort to learn 5th grade math than to learn 1st grade math.  1st grade math is more user-friendly than 5th grade math.  But you can do more with 5th grade math than with 1st grade math. Everyone should learn 5th grade math.  However, only specialists need to learn masters-degree level math.&lt;br /&gt;&lt;br /&gt;So the question is: where are consumer digital products currently poised?  If they are poised at the 10th or 12th grade level, there is no need to educate people any more; only specialists need to learn anything more from this point on.  If they are poised at the 1st or 5th grade level, people should be expected to learn more; that will lead to more effective use of digital resources.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-294374926661656829?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/294374926661656829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=294374926661656829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/294374926661656829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/294374926661656829'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2008/10/is-user-friendly-way-to-go.html' title='Is User-Friendly the Way to Go?'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-7269961892318602662</id><published>2008-10-08T19:43:00.000-07:00</published><updated>2008-11-01T08:02:59.779-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Open Source versus Innovation?</title><content type='html'>I'm reading &lt;span style="font-style: italic;"&gt;The World is Flat&lt;/span&gt; by Thomas Friedman, and he asks a question about open source that really made me think.  What is the motivation for innovation if everybody gives their innovations away for free and nobody gets paid for their innovations, which is what open source seems to suggest?&lt;br /&gt;&lt;br /&gt;I don't have a good answer, but it &lt;span style="font-style: italic;"&gt;seems&lt;/span&gt; to work.  As Friedman himself points out, many important innovations have come out of open source, including the Apache web browser.  I would go so far as to say that &lt;span style="font-style: italic;"&gt;most&lt;/span&gt; innovations in the field have come from not-for-profit efforts.  Google's entire search infrastructure runs on Linux; Amazon's entire web presence runs on Apache.  It's as real as it gets.&lt;br /&gt;&lt;br /&gt;The question is tied to (and perhaps motivated by) statements from Microsoft bigwigs.  Here is one that Friedman quotes (the inserts are his):&lt;br /&gt;&lt;blockquote&gt;You need capitalism [to drive innovation.]  To have [a movement] that says innovation does not deserve an economic reward is contrary to where the world is going. When I talk to the Chinese, they dream of starting a company.  They are not thinking, 'I will be a barber during the day and do free software at night.'... When you have a security crisis in your [software] system, you don't want to say, `Where is the guy in the barbershop?' -- Bill Gates&lt;br /&gt;&lt;/blockquote&gt;But Bill Gates is hardly in a position to talk of innovation.  Microsoft has not made any significant technical innovations in the last 10 years.  Windows Vista's UI is (feature-wise) just a bloated version of Windows 95, with some bling.  Microsoft's innovations are almost entirely on the business end: it has figured out effective ways to stifle innovation by competitors.  So Bill Gates talking about what drives innovation is like a thief lecturing about honesty.&lt;br /&gt;&lt;br /&gt;Gates' comment about security is even more perplexing in light of the extensively poor track record Microsoft has in security.  Open source alternatives are far more secure in every way than anything Microsoft has.  Maybe the reason you don't want the guy in the barbershop is if you know there's something wrong with the security, it's probably the Microsoft guy who's responsible.&lt;br /&gt;&lt;br /&gt;But what Gates says is not really relevant here.  None of this actually answers the question: how can you justify, theoretically, the claim that innovation can be sustainably executed within Open Source frameworks?&lt;br /&gt;&lt;br /&gt;I don't have a good answer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-7269961892318602662?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/7269961892318602662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=7269961892318602662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/7269961892318602662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/7269961892318602662'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2008/10/open-source-versus-innovation.html' title='Open Source versus Innovation?'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-7693861721780512726</id><published>2008-09-26T07:36:00.000-07:00</published><updated>2008-09-26T07:47:31.445-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LaTeX'/><title type='text'>PGF and TikZ</title><content type='html'>I guess I'm just completely out of touch, but there's an excellent package that allows you to draw sophisticated graphics within LaTeX (using a graphics programming language) I hadn't heard of till recently. &lt;br /&gt;&lt;br /&gt;It's called PGF, and the component you use in your LaTeX/TeX source code is called TikZ.  You enter simple LaTeX-style commands to tell it what to draw, in an environment right in your (La)TeX code, and it does the job for you.  The excellent user manual can be found &lt;a href="www.giref.ulaval.ca/%7Ectibirna/work/readings/pgfmanual.pdf"&gt;here&lt;/a&gt;, including instructions for installing and a tutorial. (If you're a Ubuntu user, of course, there's already a package you can install with a few clicks.) Great examples can be found &lt;a href="http://www.fauskes.net/pgftikzexamples/"&gt;here&lt;/a&gt;.  Wow!  What a package.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-7693861721780512726?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/7693861721780512726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=7693861721780512726' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/7693861721780512726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/7693861721780512726'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2008/09/pgf-and-tikz.html' title='PGF and TikZ'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-8759902641984853450</id><published>2008-08-09T12:39:00.000-07:00</published><updated>2008-08-09T12:49:26.430-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Emacs'/><title type='text'>Emacs Word Wrap</title><content type='html'>Real word wrapping in emacs isn't automatic, but here's how it can be done.  I found these instructions at &lt;a href="http://lispy.wordpress.com/2007/07/12/dark-secrets-of-emacs-word-wrapping/"&gt;http://lispy.wordpress.com/2007/07/12/dark-secrets-of-emacs-word-wrapping/&lt;/a&gt;.  It's not perfect; despite the comments on that website, I don't yet know how to make word-wrap work after vertical splitting.  First, get &lt;a href="http://www.emacswiki.org/cgi-bin/emacs/longlines.el"&gt;longlines.el&lt;/a&gt; and put it somewhere.  Then, add the following lines to your .emacs:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;(load "/path/to/longlines.el" t t)&lt;br /&gt;(autoload 'longlines-mode "longlines.el" "Minor mode for editing long lines." t)&lt;br /&gt;;; Uncomment the next line to wrap by default in text mode&lt;br /&gt;;;(add-hook 'text-mode-hook 'longlines-mode)&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;To activate manually, do &lt;code&gt;M-x longlines&lt;/code&gt;. More info at &lt;a href="http://www.emacswiki.org/cgi-bin/wiki/LongLines"&gt;http://www.emacswiki.org/cgi-bin/wiki/LongLines&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-8759902641984853450?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/8759902641984853450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=8759902641984853450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/8759902641984853450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/8759902641984853450'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2008/08/emacs-word-wrap.html' title='Emacs Word Wrap'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-4931542381666089099</id><published>2008-08-09T12:21:00.000-07:00</published><updated>2008-08-09T12:22:06.757-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Emacs'/><title type='text'>Adding An Emacs Menu</title><content type='html'>Here's some template code for adding a menu item to the main emacs menu bar.  I don't know hos this works; I just use it as a template!&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;;;;;;;; Add items to menu bar&lt;br /&gt;(modify-frame-parameters (selected-frame) '((menu-bar-lines . 2)))&lt;br /&gt;;; Make a menu keymap (with a prompt string)&lt;br /&gt;;; and make it the menu bar item's definition.&lt;br /&gt;(define-key global-map [menu-bar MyMenu] (cons "MyMenu" (make-sparse-keymap "MyMenu")))&lt;br /&gt;;; Define specific subcommands in this menu.&lt;br /&gt;(defun MyMenu-linkify() (interactive) (replace-regexp "^\\(.*\\)$" "&lt;a href=\"\\1\"&gt;\\1&lt;/a&gt;&lt;br&gt;"))&lt;br /&gt;(define-key global-map&lt;br /&gt;  [menu-bar MyMenu linkify]&lt;br /&gt;  '("Linkify" . MyMenu-linkify))&lt;br /&gt;(define-key global-map&lt;br /&gt;  [menu-bar MyMenu truncate]&lt;br /&gt;  '("Truncate em" . toggle-truncate-lines))&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-4931542381666089099?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/4931542381666089099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=4931542381666089099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/4931542381666089099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/4931542381666089099'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2008/08/adding-emacs-menu.html' title='Adding An Emacs Menu'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-5964202257485475032</id><published>2008-08-03T09:37:00.000-07:00</published><updated>2008-08-04T16:32:46.513-07:00</updated><title type='text'>Linux Brain Games</title><content type='html'>These involve the mind in some way... I like to do Blinken and Gnomine.&lt;br /&gt;&lt;br /&gt;Chess.  These engines are way too hard for me.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Gnuchess&lt;/li&gt;&lt;li&gt;Crafty&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Memory&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Blinken&lt;/li&gt;&lt;/ol&gt;Quick Thinking&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Gnomine&lt;/li&gt;&lt;li&gt;KSirtet&lt;/li&gt;&lt;li&gt;Tetravex&lt;/li&gt;&lt;li&gt;Gnome Sudoku&lt;/li&gt;&lt;/ol&gt;Uncategorized&lt;br /&gt;&lt;ol&gt;&lt;li&gt;gtans (Tangrams)&lt;/li&gt;&lt;li&gt;Code Breaker / Gnomermind (Mastermind clones)&lt;/li&gt;&lt;li&gt;Klotski/Gnome Klotski&lt;/li&gt;&lt;/ol&gt;Free Online&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Happy Neuron &lt;a href="http://www.happy-neuron.com/games/free.php"&gt;free games&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mybraintrainer.com/"&gt;MyBrainTrainer&lt;/a&gt; has a test and one free puzzle every month&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Commercial&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The Amazing Brain Train (has a demo)&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-5964202257485475032?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/5964202257485475032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=5964202257485475032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/5964202257485475032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/5964202257485475032'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2008/08/linux-brain-games.html' title='Linux Brain Games'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-8593468436940617960</id><published>2008-07-30T20:52:00.001-07:00</published><updated>2008-08-01T15:27:39.282-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Evince'/><title type='text'>I Love Evince!</title><content type='html'>Evince, the Gnome document viewer under Ubuntu 7.10 and up, is simply a great piece of software.  It has some simple features which enhance its usefulness for academic work.&lt;br /&gt;&lt;br /&gt;Incremental search instead of boring-old-search make evince my favourite viewer for almost any type of document it supports.&lt;br /&gt;&lt;br /&gt;The extra feature I use most often is "Open a Copy" in the File menu.  This opens up another instance of evince displaying the same file, very useful when you need several different pages of the document open at the same time.&lt;br /&gt;&lt;br /&gt;Another useful related feature is, if you click using the middle button while following a PDF link, the link opens up in a new window (just like in Firefox).  That way you don't lose the original page.&lt;br /&gt;&lt;br /&gt;Of course, evince could be made better.  Here's my wish-list:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Add a cycle-through-bookmarks feature for the cases when I want quick browsing in one window instead of many&lt;/li&gt;&lt;li&gt;Add an "Open a Copy" toolbar button&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The version of evince I'm using on Ubuntu 7.10 doesn't work at all with the print server CUPS; maybe this is already fixed in the newer versions&lt;/li&gt;&lt;li&gt;DVI files are blurred (or maybe over-antialiased)&lt;/li&gt;&lt;li&gt;We need browser-style back and forward buttons in addition to the page back and page forward buttons, so we can follow links more easily&lt;/li&gt;&lt;li&gt;Would be nice to be able to place two arbitrary (not just adjacent) pages side-by-side.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Alternatively, allow left-right split window with synchronized scrolling made possible (i.e. scrolling one scrolls the other by the same amount)&lt;/li&gt;&lt;li&gt;Add a "search for full word only" option to the incremental search&lt;br /&gt;&lt;/li&gt;&lt;li&gt;More when I think of it!&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-8593468436940617960?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/8593468436940617960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=8593468436940617960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/8593468436940617960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/8593468436940617960'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2008/07/i-love-evince.html' title='I Love Evince!'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-3137685783457771</id><published>2008-07-28T15:06:00.000-07:00</published><updated>2008-07-31T11:42:33.658-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lenovo T61'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='LaTeX'/><title type='text'>Whizzytex on Ubuntu 7.10</title><content type='html'>Whizzytex is a pretty nifty application that updates a compiled TeX pane in real-time as you type into emacs.  Under Ubuntu 7.10 it comes as a package in the repositories.&lt;br /&gt;&lt;br /&gt;With my installation (on a Thinkpad t61) I've had an annoying problem: every few seconds, emacs will freeze completely for a 1-5 seconds (presumably doing a slice compilation or some such thing for whizzytex).  This can happen right in the middle of a yank, and it can happen ten times a minute.&lt;br /&gt;&lt;br /&gt;Here's my solution, though I can't explain why it works:  put the line&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;(setq whizzy-load-factor 10)&lt;br /&gt;&lt;br /&gt;in your .emacs file.  The problem still occurs but very occasionally (once in 5-6 minutes, which I can live with).  Whizzy is a lot more responsive now as well.&lt;br /&gt;&lt;br /&gt;There is one downside: this really increases processor usage.  My laptop runs hot and the battery doesn't last long when I have the load factor set high this way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-3137685783457771?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/3137685783457771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=3137685783457771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/3137685783457771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/3137685783457771'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2008/07/whizzytex-on-ubuntu-710.html' title='Whizzytex on Ubuntu 7.10'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-8961116467624758060</id><published>2008-06-11T06:44:00.000-07:00</published><updated>2008-06-11T06:58:48.478-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Backup'/><title type='text'>Backup (Part II)</title><content type='html'>I listed some requirements that I have for backup software for a single workstation in an &lt;a href="http://siliconfunda.blogspot.com/2007/12/backup.html"&gt;earlier post&lt;/a&gt;.  I seem to have found a solution that has many of those properties, though not all.  It is called SBackup (for Simple Backup) and I am running it on Ubuntu 7.10.  (I won't be shifting to 8.04 until all the kinks are worked out, or they invent hibernate for Linux.)  It really is simple and runs very well in my situation.&lt;br /&gt;&lt;br /&gt;Here's how SBackup satisfies my requirements:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;SBackup has a modicum of network awareness; it can backup over an SSH or FTP connection in addition to a local directory.&lt;/li&gt;&lt;li&gt;SBackup can do incremental and full backups.  By default every backup (except the first) in SBackup is an incremental backup.  The administrator can specify a schedule for full backups, such as a full backup every 21 days.&lt;/li&gt;&lt;li&gt;SBackup has pretty good scheduling.  The frequency of full and incremental backups can be controlled.  A purging schedule can also be set up, for example: keep all backups for the last week, keep one backup a month for the last year, keep one backup every 6 months for years before that.&lt;/li&gt;&lt;li&gt;SBackup's backups are software independent.  This was a major problem I had with DAR, which I was using before SBackup: DAR archives couldn't be read without DAR.  SBackup just uses tarred, gzipped files.  So I have no worries about how I'm going to access the files in backup if SBackup is discontinued or unavailable in the future.&lt;/li&gt;&lt;li&gt;SBackup doesn't have encryption, but right now this is not crucially important to me.&lt;/li&gt;&lt;/ol&gt;In addition, SBackup really is very simple to configure, and it works silently behind the scenes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-8961116467624758060?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/8961116467624758060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=8961116467624758060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/8961116467624758060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/8961116467624758060'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2008/06/backup-part-ii.html' title='Backup (Part II)'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-7495612707216258565</id><published>2007-12-13T11:53:00.000-08:00</published><updated>2007-12-13T12:04:49.770-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='Backup'/><title type='text'>Backup</title><content type='html'>I used to use Dar/KDar for backup purposes back when I was using SuSE 10.2.  I've switched to Ubuntu, and it seems KDar is no longer packaged for Ubuntu.  It got me thinking: what are the features that I want in a simple desktop backup application?  Here are some in no particular order:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Network awareness.  This is something I missed in Dar, which could only write to a directory on the system, which meant I had to ssh-mount a remote filesystem before I could back up to it.&lt;/li&gt;&lt;li&gt;Incremental and Full Backups.&lt;/li&gt;&lt;li&gt;A good scheduler.  That is, it should be possible to specify the frequency and type of incremental and full backups, and a purge schedule for old backups.&lt;/li&gt;&lt;li&gt;Software independence.  Dar used its own proprietary format, which forces me to use Dar to look at any of my backups.  With KDar no longer available, it is quite painful to try to look at the contents of any of the older backup files.  I have to get Dar to extract them somewhere, browse them and then delete them later.  Something uses simple tar or tar.gz is much better; I can use Konqueror etc. to browse inside them directly.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Encryption is good if I'll be using NAS, otherwise it's not as important to me.&lt;/li&gt;&lt;/ol&gt;Maybe I'll add more requirements later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-7495612707216258565?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/7495612707216258565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=7495612707216258565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/7495612707216258565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/7495612707216258565'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2007/12/backup.html' title='Backup'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-5009272106224612460</id><published>2007-12-13T08:47:00.000-08:00</published><updated>2007-12-13T09:14:52.566-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lenovo T61'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Ubuntu 7.10, the T61 and External Monitors</title><content type='html'>I had a spot of bother trying to use an external monitor with Ubuntu 7.10 Gutsy Gibbon on a Lenovo T61.  My T61 has an Nvidia Quadro 140M card and I'm using the proprietary (restricted) drivers.&lt;br /&gt;&lt;br /&gt;I got a Lenovo Mini-dock and a Lenovo D221 monitor with my T61.  When I connected everything up and put my T61 on the mini-dock and started it, everything appeared on the external monitor up to the Ubuntu splash screen with the progress bar.  Right after that, the external monitor went blank and the T61's screen took over.  (I think that happened when the X server was started, but not sure.)  The same thing happened when I connected the external monitor to the T61 directly (not through the mini-dock).&lt;br /&gt;&lt;br /&gt;To resolve this:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Connect the external monitor to the laptop directly&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Open up a terminal, get root access using "su", and type "nvidia-settings &amp;amp;" at the prompt.  This is a configuration program from the package "nvidia-glx-new" (I think it gets installed when you install the restricted nvidia drivers, but not sure).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Within nvidia-settings, select "X Server Display Information".  It should show two monitors in a little box called "Layout".  The external monitor may be disabled.&lt;/li&gt;&lt;li&gt;Click on the external monitor's icon, then click "Configure", then select "Separate X Screen".&lt;/li&gt;&lt;li&gt;Click on the laptop screen's icon (which is probably enabled), then click "Configure", then select "Disabled".&lt;/li&gt;&lt;li&gt;Note: This step will overwrite the X Confuration File (usually /etc/X11/xorg.conf).  You may first want to backup that file to something like xorg.conf.bak.01.  When you've backed it up, click "Save to X Configuration File".&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;When I restarted my X Server (or restarted the computer) after this, all output came out only on the external monitor, which is what I wanted. &lt;br /&gt;&lt;br /&gt;However, this didn't solve the problem when I put the T61 on the mini-dock.  I also had to connect the T61 and the external monitor to the mini-dock, and then repeat steps 2-6 with the T61 on the mini-dock.&lt;br /&gt;&lt;br /&gt;Finally, when the T61 is not connected to the external monitor in any way, it should continue to work as usual.  The above configurations don't affect this.&lt;br /&gt;&lt;br /&gt;Caveats: &lt;br /&gt;&lt;ol&gt;&lt;li&gt;After doing this, there is an Nvidia splash screen every time the X Server is started up.  This can be removed by editing /etc/X11/xorg.conf, but I don't detail that here.&lt;/li&gt;&lt;li&gt;After this reconfiguration, I began noticing that my GL Desktop window manager crashes very frequently.  When that happens, I can resolve it by running System &gt; Preferences &gt; GL Desktop.  But it is a bother.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-5009272106224612460?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/5009272106224612460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=5009272106224612460' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/5009272106224612460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/5009272106224612460'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2007/12/ubuntu-710-t61-and-external-monitors.html' title='Ubuntu 7.10, the T61 and External Monitors'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-6450433222032120786</id><published>2007-11-18T14:09:00.000-08:00</published><updated>2008-08-04T16:41:45.722-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gnome'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Gnome Frustrations</title><content type='html'>The Gnome desktop environment, as packaged with Ubuntu 7.10 "Gutsy Gibbon", is a queer mix of liberating and frustrating.  While it's got some great features and applets, and Compiz is pretty cool, it really falls flat on its face in some areas.  While I understand that the Gnome people want to be minimalist, the extremes to which they go are counter-productive.  Here are some of my gripes:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Their File Open dialogs don't have a place where you can type in a file location; you are &lt;span style="font-style: italic;"&gt;forced&lt;/span&gt; to navigate to it using mouse clicks.  This becomes really frustrating if you want to hide folders starting with a period (".").  I like to hide them because there are way too many and I access them only rarely.  But when I do want to access them, Gnome makes it &lt;span style="font-style: italic;"&gt;so&lt;/span&gt; difficult.&lt;/li&gt;&lt;li&gt;Having the option to see more information about what's going on during various operations can save a lot of frustration.  I guess giving people access to information doesn't necessarily go against Gnome's philosophy; there could be an option to turn on extra information.  One applet which frustrates me in this regard is  the nm-applet which provides wireless access.  The applet sometimes cannot connect to wireless networks, for example if I had to restart a wireless router.  The problem is it keeps working away without allowing any kind of interaction.  There is no option to cancel, no output indicating what it's doing; just the animation showing that it's working.&lt;/li&gt;&lt;li&gt;Gnome workspaces simply don't implement the best aspects of workspaces. The only thing you can do with Gnome workspaces is have different applications on different workspaces. What would be vastly more useful is to allow a different set of icons on each workspace. This is more important now that Gnome shows large thumbnail views of PDF files; there simply isn't enough space on a single workspace, and Gnome prevents users from effectively using the additional space that multiple workspaces provide. Allowing a different desktop background would nice too, but this is just eye candy.&lt;/li&gt;&lt;li&gt;Gnome has drawers, but these are too limited. You can't look at its contents and see what each element is.  (The drawers just show identical icons for all PDF documents, for example.)&lt;/li&gt;&lt;li&gt;You can't select multiple applications on the taskbar (using Ctrl-click, for example) to close or minimize several windows at once!  This is the worst regression I've seen.  I once tried to open a large number of audio files with Audacity (thinking they would be queued in a playlist) and it opened up about 50 windows.  I had to close them one by one.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;So if you have a large number of documents that you want to organize on your desktop for quick access, there is no way to do it: you can't use workspaces because all workspaces have the same desktop icons, and you can't use drawers because you have no way to label a drawer or its contents.&lt;br /&gt;&lt;br /&gt;And, this isn't Gnome's fault, but lack of good out-of-the-box hibernate negates all the benefits of having multiple desktops.&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;&lt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;_uacct = "UA-1666123-4";&lt;br /&gt;urchinTracker();&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-6450433222032120786?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/6450433222032120786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=6450433222032120786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/6450433222032120786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/6450433222032120786'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2007/11/gnome-frustrations.html' title='Gnome Frustrations'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-8829504531919546262</id><published>2007-10-30T17:57:00.000-07:00</published><updated>2007-11-18T18:57:32.359-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntu: sudo woes</title><content type='html'>Ubuntu's philosophy is to have a privileged "first user" account, created during system setup, which has sudo privileges.  There is also a separate user account with username "root", but the password is unknown right after installation.  The system administrator is expected to administer the system through the privileged first user account.&lt;br /&gt;&lt;br /&gt;To get access to the root account, you can use the command "sudo passwd root" as the privileged user to reset the root password.&lt;br /&gt;&lt;br /&gt;Suppose you want to run a package manager as the privileged first user, while logged in as a regular (non-privileged) user in Gutsy Gibbon (Ubuntu 7.10).  You cannot use sudo unless the non-privileged user is in the sudoers group.  Attempting something like the command "gksudo -u privileged-username package-manager" brings up a root password prompt, but you always get an "incorrect password" error.  Using gksu also results in the same problem.  However, using su in a terminal rather than gksudo or gksu works.&lt;br /&gt;&lt;br /&gt;Fix:&lt;br /&gt;&lt;br /&gt;The reason this doesn't work is that gksu's behaviour defaults to gksudo (see gksu man page).  A solution:&lt;br /&gt;&lt;br /&gt;1. Reset root password using "sudo passwd root" as the privileged user&lt;br /&gt;2. Then "gksu --su-mode package-manager" to run it as root.&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;I still don't know how to make this work running the package manager as the privileged user rather than root.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;_uacct = "UA-1666123-4";&lt;br /&gt;urchinTracker();&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-8829504531919546262?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/8829504531919546262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=8829504531919546262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/8829504531919546262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/8829504531919546262'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2007/10/ubuntu-sudo-woes.html' title='Ubuntu: sudo woes'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-7824075950936772245</id><published>2007-10-22T22:10:00.000-07:00</published><updated>2007-11-18T18:57:17.537-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Brightness'/><category scheme='http://www.blogger.com/atom/ns#' term='Lenovo T61'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Sound'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntu Gutsy Gibbon on the T61</title><content type='html'>Having installed KUbuntu, I was interested in trying out Ubuntu on my T61.  I installed it on a separate partition, and I am thrilled with the results.  Kubuntu and Ubuntu have their strengths and weaknesses, but Ubuntu seems better on the whole.&lt;br /&gt;&lt;br /&gt;I did have a couple of problems during the installation.  The Ubuntu GRUB installer got confused and thought the Windows XP Pro partition was another Ubuntu partition... rendering it unbootable.  This was fixed easily enough, though, by simply editing the /boot/grub/menu.lst file a bit.&lt;br /&gt;&lt;br /&gt;A peculiar problem with both KUbuntu and Ubuntu on the T61 is that the keyboard volume controls don't work the way you'd expect them to.  On Kubuntu, there are only two volume levels you can select with the keyboard controls.  On Ubuntu, the controls do work... the problem is that they are not integrated with the system software controls.  For example, if I press the mute button, the system doesn't seem to realize that it's been muted.  Using the volume up and down does change the volume appropriately, and Ubuntu recognizes this and even shows an overlay displaying the volume changing, but this is not reflected in the system volume levels. This confused me a couple of times.&lt;br /&gt;&lt;br /&gt;The screen brightness controls on the keyboard (Fn+Home and Fn+End) are recognized. Ubuntu shows an overlay with increasing or decreasing brightness. However, Ubuntu ignores them: it does not respond by changing screen brightness.&lt;br /&gt;&lt;br /&gt;Ubuntu has a host of usability hacks that KUbuntu lacks.  For example, it automagically recognized the .Xmodmap file I had placed in my home directory (to switch Caps Lock and Ctrl).  Compiz works well out of the box on Ubuntu; I couldn't figure out how to enable it on KUbuntu.&lt;br /&gt;&lt;br /&gt;One thing I did miss on Ubuntu is Konqueror's multi-functionality.  I installed Konqueror, but it was a different version and didn't have the handy "File Size View".&lt;br /&gt;&lt;br /&gt;Both Ubuntu and KUbuntu seem to have problems with their "Switch User" functionality.  It's a little slow, and one of the sessions crashes a little too often.  On Ubuntu, there's a peculiar effect when switching: one of the sessions will slow down a hundredfold, taking several seconds to respond to mouse clicks or draw/move windows etc.  Switching back and forth a couple of times solves the problem, but it is an annoyance.&lt;br /&gt;&lt;br /&gt;&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;_uacct = "UA-1666123-4";&lt;br /&gt;urchinTracker();&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-7824075950936772245?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/7824075950936772245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=7824075950936772245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/7824075950936772245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/7824075950936772245'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2007/10/ubuntu-gutsy-gibbon-on-t61.html' title='Ubuntu Gutsy Gibbon on the T61'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-7257541340118542707</id><published>2007-10-17T15:07:00.000-07:00</published><updated>2007-11-18T18:57:00.817-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lenovo T61'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Gutsy Gibbon'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>KUbuntu Gutsy Gibbon + Lenovo T61 = Freedom!</title><content type='html'>I just got a new Lenovo T61, with 2.2 GHz core 2 duo, NVIDIA Quadro NVS 140M, 3 gigs of RAM, and a 160 Gig hard drive.  As soon as I could, I installed KUbuntu 7.10 Gutsy Gibbon on it, and am impressed with the results.  Installation was (almost) a breeze, and (almost) everything works right out of the box.  After using SuSE 10.2 for over a year, I can finally breathe!  Read on for a review.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Partitioning&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The laptop came with the 160 gigs partitioned into two parts: a small recovery partition by Lenovo (about 6 gigs), and a large (~150 gigs) partition with Windows XP Pro (&lt;span style="font-style: italic;"&gt;more&lt;/span&gt; expensive than Vista Home).  I wanted to keep XP along with one "production" Linux system and a "trial" Linux system to play around with.  I used the gparted LiveCD (from &lt;a href="http://gparted.sourceforge.net/"&gt;http://gparted.sourceforge.net/&lt;/a&gt;), which made re-partitioning a breeze.  I left the recovery partition strictly alone.  My final partitioning scheme:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; Device Gigs  System&lt;br /&gt;/dev/sda1 30.7  HPFS/NTFS (Win XP)&lt;br /&gt;/dev/sda3 79.5  W95 FAT32 (Data)&lt;br /&gt;/dev/sda4 40.2  Extended&lt;br /&gt;/dev/sda5 12.6  Linux (Trial)&lt;br /&gt;/dev/sda6  3.2  Linux (Trial home)&lt;br /&gt;/dev/sda7 15.9  Linux (Production)&lt;br /&gt;/dev/sda8  5.2  Linux (Production home)&lt;br /&gt;/dev/sda9  3.3  Linux swap / Solaris&lt;br /&gt;/dev/sda2  5.8  Compaq diagnostics (Lenovo Recovery)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Initial Hiccups&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I initially tried to install KUbuntu 7.04 ("Feisty Fawn") because Gutsy was still in the RC (Release Candidate) stage.  When using the standard Live CD, Feisty would boot up and ask for mode of operation, but wouldn't be able to initialize its X Window System (from which you can install).  There is some discussion online about setting the SATA setting to "Compatibility" instead of "HCPI" in the T61's BIOS, but that didn't work for me, so I went ahead with the Gutsy Gibbon RC.  Gutsy couldn't initialize its usual X Window System, either, but I followed the advice at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://http//www.thinkwiki.org/wiki/Installing_Ubuntu_7.10_%28Gutsy_Gibbon%29_Release_Candidate_on_a_ThinkPad_T61"&gt;http://www.thinkwiki.org/wiki/Installing_Ubuntu_7.10_%28Gutsy_Gibbon%29_Release_Candidate_on_a_ThinkPad_T61&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and simply selected the "Safe Graphics" option and the rest of the installation was a breeze.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Installation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;During installation KUbuntu asks for the name of a user and an admin password.  This refers to a special user with sudo privileges, so I avoided my usual username and put in something like "sysadmin".  I didn't have any other installation issues.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Startup, Logon and Shutdown&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Gutsy is the fastest Linux I've ever seen, even giving Win XP a run for its money.  Here are the startup (time to display logon screen), logon (time from display of logon screen to delivering a usable cursor and clickable icons after logon) and shutdown (from a session with no windows open) times of XP and Gutsy on this machine:&lt;br /&gt;&lt;br /&gt;Win XP: Startup = 40s, Logon = 30s, Shutdown = 28s.&lt;br /&gt;Gutsy: Startup = 49s, Logon = 19s, Shutdown = 20s.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Adding Packages&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The installer installs a basic functional system.  I wanted to add more packages.  I like the package manager synaptic better than the default, adept.  So I installed it using the command "apt-get install synaptic" in a terminal window.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wi-Fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Worked out of the box.  Knetworkmanager stores the authentication information in the KDE wallet.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sound&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Works out of the box, but the volume up/down buttons don't work properly.  Mute works.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Brightness&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The brightness controls don't work.  The night light works.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3D&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The restricted NVIDIA driver is required to enable harware 3D acceleration.  Enabling it is a breeze.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Fonts &amp;amp; Appearance&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This was the biggest surprise. After getting accustomed to fuzzy, ugly fonts, blunt mouse pointers, and a generally shoddy appearance on Linux for ages, I am now happy to state that Gutsy surpasses Win XP in terms of appearance.  Everything is crisp and beautiful.  Caveat: Enabling the restricted NVIDIA driver actually diminished the appearance somewhat, with some fonts looking too thin.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Hibernate&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This doesn't work very well out of the box.  When only one session was active, I recovered from a hibernate once and couldn't another time.  When I did recover, Gutsy showed some corrupted screens etc.  and then a blank screen; it took me a few seconds to realize I had to move the mouse to get a login dialog.  When two sessions were active, Gutsy wouldn't hibernate at all.  With Gutsy's amazing boot-up speed, this is less of an issue than on SuSE 10.2, but is still a problem when I'm in the middle of several applications and have to move.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Mini-Dock&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I got a mini-dock with the T61.  Gutsy works fine on the mini-dock as long as the T61 is turned off when putting it on or taking it off.  If I eject it from the dock while Gutsy is running, the T61 screen stays blank, and I have to do a hard reboot.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Overall Experience&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The overall experience is great.  The most bothersome Linux issues seem to have disappeared in this distribution.  And this is just the release candidate!&lt;br /&gt;&lt;br /&gt;There are still some bugs, however.  Konqueror doesn't remember its settings properly.  Integration between the KDE clipboard and applications like kterm and emacs is  quite problematic.  Some applications and KDE components crash, especially when switching between multiple X sessions.  And a few others.&lt;br /&gt;&lt;br /&gt;&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;_uacct = "UA-1666123-4";&lt;br /&gt;urchinTracker();&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-7257541340118542707?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/7257541340118542707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=7257541340118542707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/7257541340118542707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/7257541340118542707'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2007/10/ubuntu-gutsy-gibbon-lenovo-t61-freedom.html' title='KUbuntu Gutsy Gibbon + Lenovo T61 = Freedom!'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1877554592773139399.post-4792186808612959170</id><published>2007-08-31T10:19:00.000-07:00</published><updated>2007-11-18T18:56:32.753-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Why Not Microsoft?</title><content type='html'>&lt;ol&gt;&lt;li&gt;Microsoft competes using business and personal tactics, not on technical merit. (Using SCO to run an anti-Linux malicious legal witchhunt designed to spread FUD about the legality of Linux, scaring away corporate customers of Linux; threatening PC manufacturers who  offer Linux; using lobbying money instead of technical arguments to push OpenXML through) &lt;/li&gt;&lt;li&gt;Microsoft doesn't try to create better products than competitors; it tries to make competitor's products worse.  (Java is an example where Microsoft was foiled.)  As a result, thousands of innovations never see the light of day unless Microsoft can make more money out of them. &lt;/li&gt;&lt;li&gt;Microsoft has a culture of reliance on deception rather than openness.  (In its earlier days, it tried to cover up security flaws rather than fix them numerous times.  Currently, its claims about OpenXML being an open standard are disingenuous: Microsoft uses various techniques to make it almost impossible for 3rd parties to write software compatible with Microsoft Office even if OpenXML is followed.)&lt;/li&gt;&lt;li&gt;Microsoft decisions are technically flawed.  Microsoft sets off to make radical changes in the way things are done, relative to Unix.  Several years later, it then begins a costly process of converting its legacy of bad code into practices similar to those of Unix. (Example: DOS's lack of memory protection, user accounts, application settings instead of the registry, home directories, making security a priority, remote access)&lt;/li&gt;&lt;li&gt;Microsoft's "copy, don't innovate" strategy has a significant opportunity cost for  customers who don't get useful features for years after they are available elsewhere. The problem is compounded by Microsoft's monopoly. (Example: tabbed browsing, available for 4 years on Opera and 2 years on Firefox before Microsoft could make it available on IE.)&lt;/li&gt;&lt;li&gt;With Microsoft, customers have no chance at code ownership.  So features Microsoft wants to add are added when Microsoft wants them.  A customer can pay to have features added to an open source app.  Not so with Microsoft products; customers are entirely at Microsoft's mercy.  The problem is exacerbated if this refers to a feature that is useful to a small minority of customers, or just to one customer.&lt;/li&gt;&lt;li&gt;Developers with smart ideas can add features to open source software.  Not so with Microsoft software.  Such ideas cannot be widely distributed without the entire piece of software being rewritten as an alternative, or Microsoft deciding to support the modification.  No such ideas are ever part of Microsoft software.  Thus, Microsoft stifles creativity (unintentionally, in this case).&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;_uacct = "UA-1666123-4";&lt;br /&gt;urchinTracker();&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1877554592773139399-4792186808612959170?l=siliconfunda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siliconfunda.blogspot.com/feeds/4792186808612959170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1877554592773139399&amp;postID=4792186808612959170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/4792186808612959170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1877554592773139399/posts/default/4792186808612959170'/><link rel='alternate' type='text/html' href='http://siliconfunda.blogspot.com/2007/08/why-not-microsoft.html' title='Why Not Microsoft?'/><author><name>Armchair Guy</name><uri>http://www.blogger.com/profile/03834195406816335480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
