Gone until 2009

I am serving a mission for The Church of Jesus Christ of Latter-day Saints in Belgium and the Netherlands until August 2009. See you then!

Posted in Uncategorized. Comments Off

Clearwire

My friend told me today about an Internet service called Clearwire that his company is using. It’s very intriguing.

Clearwire works by providing wireless Internet to users through structures similar to cell phone towers. Once the user sets up a special router, he can connect his computer or network to it in various ways:

  • Connect directly to the router
  • Connect a conventional wired or wireless router to the Clearwire router
  • Use ClearPlugs, which uses existing electrical outlets to send the signals

That last one is a bit baffling to me. Ethernet over electrical wiring? I haven’t been able to find much information on it, although this blogger says it isn’t very reliable. Hmm.

Speeds on the service are as high as 1.5 or 2 Mbps–certainly much faster than dial-up.

One advantage (or, some say, disadvantage) is Clearwire’s use of the licensed radio frequencies at 2.5 GHz. This makes it more secure than typical Wi-Fi, which uses unlicensed (and therefore more open but also more vulnerable) frequencies of 2.4 GHz. (Read the FAQ on their website, under About Clearwire.)

Posted in internet, networking. Comments Off

Law of language elegance

I read this excellent post on Derek Young’s blog today. In it he discusses the seeming paradox that elegant languages, such as Ruby and Haskell, are not as popular or widely used as the less elegant or plain ugly ones, like PHP and Perl. I found Paul’s comment particularly insightful. And rb’s comment was quite amusing–a good idea though probably impractical at present. At any rate, the post and discussion were very interesting to read.

As a side note, xmonad was written in Haskell. So I’ve got a Haskell compiler now. Maybe I should start learning it… :)

Posted in programming. Comments Off

Binary addition still fascinates: Wooden adding machine

I took the Introduction to Computer Systems class at BYU earlier this year and learned quite a lot about how computers work on the hardware and low-level software levels. One of the topics, of course, is binary arithmetic. I had a friend who loved to do binary addition on his hands. It always amazed me how quickly and accurately he did it.

Today I ran across this post today which had a link to a video of a wooden binary addition machine created by Matthias Wandel. I think it’s fascinating, so here’s the video:

News archive search on Google?

This is just too funny. I was doing a Google search to find out if it’s possible to use Vim to display one file in two panes (so I can view one part of the file while editing the other). This is what I found at the bottom of the search page:
Google News Archive results

None of those articles had anything to do with Vim, of course. Is something wrong with Google news archive search?

UPDATE: It turns out it’s a piece of cake to open the same file in two panes–it’s the same as for any other file. :sp filename

Posted in google. 6 Comments »

Spyware for law enforcement; the TSA; and programmers in the real world

  • The FBI recently used spyware through MySpace to track down a bomb threat. The software logged the Windows user’s online activities and gave the FBI the information they needed to track him down.
  • A very interesting read about one person’s run-in with the Transportation Security Administration and their dislike for his “not sold in Wal-mart” homemade devices.
  • What must computer science graduates do once they’ve earned a degree? Learn to be good writers, no matter how good they are at coding. Pure brilliance isn’t always obvious to the CEO–you have to learn to write well, too. UPDATED: Thanks, Dr. K! I misinterpreted your post. I hope this is better.
Posted in security, software. Comments Off

Google alternatives, Wubi, and successful blogging

Posted in blogging, google, ubuntu. Comments Off

Will Microsoft buy Facebook?

Will Microsoft buy Facebook? I sure hope not, although this blogger seems to think so. I agree with Scoble’s opinion that “Microsoft doesn’t deserve Facebook.” Facebook needs the vitality it has from being a small company, committed to and living on its community, as these commenters on Scoble’s post say.

I wouldn’t trust Microsoft with it. It seems to me they are too distant from current trends (or at least lagging badly behind them), and certainly from the social networking sphere, to be able to handle it successfully and allow Facebook to grow into the lively network and platform it is destined to become.

What can Facebook become if it is allowed to grow and run its course? What if it is taken in by some larger company like Yahoo or Google? Would they allow its organic processes, or would it be stifled?

UPDATE: Alfred Thompson has another interesting take on this matter of Facebook remaining independent.

Posted in facebook, microsoft. Comments Off

One window manager to rule them all…?

Every Linux hacker has his favorite window manager (or maybe even just the console!). What is mine? Fluxbox.

I’ve used GNOME, Xfce, fluxbox, and xmonad, and I like fluxbox the best. Here is my reasoning:

  1. Speed It’s fast. Really fast. Not as fast as xmonad, but it retains enough of the elements of the more mainstream GUI WMs that you don’t feel quite so intimidated by it.
  2. Customizability Fluxbox lets you customize your theme, menu, hotkeys, and a few other things, and it gives you more control over those things than do GNOME or Xfce. Given, it’s all done from text files (unless you use fluxconf), so it takes some time to learn. But it’s quite powerful.
  3. Compatability All my normal software still runs fine under fluxbox. This might be just because I have GNOME installed, too, I’m not sure. But it works.
  4. Keyboard use It’s pretty easy to use virtually all the fluxbox-specific features from the keyboard (although it sometimes requires tweaking, as with the Alt+Tab behavior). And the terminal always occupies a front row seat on my desktop.
  5. Lean, green, computing machine Fluxbox just has the stuff you need, and no heavyweight GUIs to manage it. Of couse, that makes it harder for the beginning user, but both the power user and the novice can be productive with it.

I started using Linux under GNOME, and I still like it. Especially on Ubuntu (the distro I run), it makes it easy to do everything from text editing to web browsing to system administration from the GUI. And that’s good. But once I became more accustomed to the terminal and the command-oriented way of doing things, fluxbox was a great step forward.

All the same, I still don’t believe there is “one window manager to rule them all.” What are your thoughts on the plethora of window managers? Should it be a battle for the fittest, is the community headed in the right direction by providing so many choices?

Posted in fluxbox, gnome, linux, window managers, xfce, xmonad. Comments Off

xmonad: the mouseless window manager

The other day I discovered (through link surfing) a window manager called xmonad. It is an extremely small (the compiled executable is 1.2M), lightning fast, sleek window manager for Linux designed to make the most of screen real estate and maximize your productivity using X. It can operate entirely without the mouse.

xmonad window managerxmonad works by opening windows in tiles, which are rearranged as you open more windows. The primary window is on the left or top half of the screen (depending on which mode you’re in) and the other windows stack in the other half of the screen. You can switch between windows using Mod+J and Mod+K (”Mod” is the Alt key on my machine), and you can swap windows to and from the primary position. Naturally, there are multitudinous ways to resize, move, and reorder the windows within the different panes. It also includes support for multiple workspaces (as do most WMs) and even multiple monitors if you have them.

I’ve been playing with xmonad for a little while now and I quite enjoy it. It allows me to work easily from the command line but still run my X apps without too much hassle. I’ve found, however, that with programs like Firefox which pop up smaller windows on occasion (e.g., file and settings dialogs), it’s best to run in full-screen mode. When running in the normal tiling mode, the popups sometimes take on strange proportions as they are squeezed into the existing layout. Using full-screen mode usually gives them their natural dimensions.

No title bars, no icons, no nonsense. This window manager is very simple, clean, and fast. There’s a bit of a learning curve with all the keyboard navigation, but for any Linux hacker who knows vim, it shouldn’t be too hard to pick up.

Mostly for my own benefit, but also for any fellow Linux geeks, I’ve posted the process I went through to install xmonad:

  1. First make sure you look at the overview, which includes everything you need to get started. It describes how to get the Haskell compiler and the required packages, including mtl, X11, and X11-extras (those were the three I had to get myself).
  2. Once I had installed all the required packages, I installed dzen and dmenu (which involved compiling them from source with make).
  3. At this point, you want to edit xmonad’s Config.hs script to put a space at the top for dzen to run as the status bar. This file is in the source directory for xmonad. Open it and find the line that says “defaultGaps = [(0,0,0,0)]” and replace it with “defaultGaps = [(18,0,0,0)]“.
  4. Now compile xmonad with the runhaskell command, as described in the documentation. (Make sure to keep the source around, since any reconfiguration you do requires recompilation.)
  5. I found it easiest to use the .xsession script to launch xmonad from the gdm, rather than using a .desktop file in /usr/share/xsessions, since it’s easier to specify startup programs and the like. Here is my .xsession script:
    unclutter -idle 1 &
    while true ; do
        bt=`acpi -b | sed -n 's/.*, ([0-9]*%).*$/1/;1p' | xargs printf 'Battery: %sn'`
        tm=`date +"%H:%M %a %b %d"`
        printf "%s | %sn" "$bt" "$tm"
        sleep 60
    done | dzen2 -ta r -fg '#ffffff' -bg '#808080' &
    xterm &
    xmonad
    • The unclutter command instructs X to hide the mouse once it’s been idle for one second. (There is a package for unclutter in Ubuntu.)
    • The next six lines describe the text I want dzen to display in the status bar. The “date” part displays the date in the form “21:59 Fri Jul 13″. The other part extracts the battery percentage from acpi and formats it (which is important because I’m on a laptop).
    • The printf command concatenates those two pieces of information.
    • The sleep command tells dzen to wait 60 seconds between each update.
    • The last line actually passes that loop to dzen and sets some options.
    • The second-to-last line starts a terminal so I can start using it as soon as I log in. (Otherwise it just presents a blank screen and the status bar.)
    • Finally, the xmonad command starts the window manager itself.
  6. Now it’s play time! Experiment with the layout features and keyboard shortcuts and customize to your heart’s content! And long live the terminal! ;)

So there we go. Yet another nifty window manager for Linux.

UPDATE: Tassilo posted some more technical information about xmonad on his blog. Take a look if you’re interested in diving in yourself. Also, thanks the the guys at xmonad for their link.

Posted in linux, window managers, xmonad. Comments Off