Tim\'s picture      Blogging Ottinger (tim)

2007-May-29

Stupid VIM trick of the day

Filed under: Linux, Programming

Try this:

:set cuc cul

This is only helpful if you are having trouble finding the cursor in your window. It draws crosshairs with background coloring. I think it’s normally quite annoying, but I can see it being handy if you can’t see where the cursor is sitting (sometimes the case when using vim through telnet or the like).

I’ve also seen editors that highlight the current line. I guess that’s not dumb. It’s nice to know where you are.

So it’s an interesting trick, and maybe even a little useful.

2007-May-25

Vim Settings

Filed under: Linux, Programming

After all this time using vim, I just now learned that there’s a pretty cool configuration option window. If you want to see it, fire up vim and type:

   :browse options

The options are arranged topically, and you can search via the normal mechanisms. I wish I’d know this years ago. In this I found the autochdir option, whose alleged absence was an annoyance for quite some time.

MK Hybrid Special

Filed under: Music, Guitars

Okay, I think that for the money, this is the most interesting thing I’ve seen:

Michael Kelly Hybrid Special Spalted Maple guitar

It’s is a hybrid, so it’s an acoustic and an electric all in one, and you can blend the two. To hear samples on your crummy computer speakers, you can go to Michael Kelly Hybrid where they have a stupid flash intro page (I didn’t realize people still did flash intro pages, nor do I know why) but where they also have details, sounds, and a video.

I think that the acoustic sound is acoustic enough for me, and probably better than my actual acoustic guitar. The street price is pretty reasonable. To a guy who isn’t touring with a band for a living, the value/cost ratio is very important.

This looks like what I’ll probably end up getting.

2007-May-24

Dell and Ubuntu Finally Together?

Filed under: Linux

Steve sent me a link to the Ubuntu/Dell order page. It is actually happening. I like ubuntu. I hope they equipped it with a sufficiently hot video card that it can do beryl, and that they pre-configure it.

2007-May-23

Why I need A Hot Video Card

Filed under: Linux

I need something that can run the amazing Beryl eye-candy. I don’t know if it would do anything for my productivity, but after watching a demo or two (maybe three) I don’t know what the mac or vista world have to offer me. I think that maybe Linux + Beryl is the ultimate eye-candy environment now.


Of course, I still use XFCE since I mostly value productivity on my laptop, and that means small and fast window management. But if I had the horsepower, don’t you think I’d have wiggly windows, rotating cubes, raindrop effects, and all the craziness we see in Beryl?

2007-May-22

My Computer Belongs To Me (Software Ethics)

Filed under: Programming

I found a really wonderful discussion of ethics and software development. It has been getting a lot of play, but again, I link-blog it here so I won’t lose it.

2007-May-21

Use Vim again

Filed under: Linux, Programming

I made a number of upgrades to UseVimLikeAPro. The intro is much better (less personality, more information) and the content has been expanded and corrected (props to Nola Stowe). I also have placed this work under a Creative Commons license finally.

2007-May-16

Belman Albatross Hollowbody

Filed under: Music, Fun, Guitars

I’ve link-blogged a number of guitars, but this one is truly breath-taking. I’ve not played it, but you can’t guess how much I want to. They have exactly the look I wish I had. If it feels and sounds like it looks, it will be the greatest guitar ever.

Belman Albatross Hollowbody
Belman Albatross Hollowbody

Unfortunately, it looks like it sells for nearly USD$4000.00

2007-May-11

No more books about everything

Filed under: Angst, Programming

I am reading a book about doing agile programming in a particular programming language. I am on page 78 when I see something odd and unfamiliar. It is a line of code in the programming language mentioned on the cover. Wow. I’m 78 pages in before I see the very topic that the book is allegedly about. I won’t say who wrote it, where I got it, or what the language is, but it reminds me of a basic principle.

When I buy a book, I either buy it to teach me to do something, to give me reference, or to give me pleasure. I don’t think that any good book can do all of the above, and attempts to do all three are misguided. I suspect that attempts to do two of three are misguided. I read the Goldratt book and I think it was unconvincing as a novel, and not very useful as a guide to doing things.

I have also read technical books which are 1/2 tutorial and explanatory material and 1/2 reference. A lot of them are like that. I think it’s a waste. I would prefer two much smaller books, personally. The reference version only has to fit in my backpack and lay flat when I open it. The tutorial can be more traditionally bound and intended for reading on planes, trains, and cabs. Either should be usable for experiment, but neither should be so long.

I don’t think that the first type should be over 200 purely-text pages long. Period. I give grace for photos and illustrations. I am tired of 400 page books, and especially tired of 1800-page books. I don’t have time to read them anymore. I want to learn how to do something in an evening, or in a few evenings of one week. I’ve lost patience. I never read a whole tech book anymore. There’s just too much in there that isn’t enlightening and too much repeated in every book of the genre. Read three books on C++ and compare the overlap. Why do people write the same books over and over?

Be fresh. Write a small one that gives me something I can’t get elsewhere. Be more than a web page, less than an encyclopedia. Consider the Single Responsibility Principle for software writers. Don’t make any more books about everything.

2007-May-9

Windows User Need Dependency Management

Filed under: Linux, Windows

Schlaffer couldn’t be more wrong.

Andrew Kantor of USA Today says that “Linux isn’t just for geeks” but I beg to differ for one reason. Near the end of his post he talks about something that is completely alien to a Windows user, repositories and dependencies.

That’s not really true, and it’s true. Windows has a mess of dependeny troubles. People are all the time talking about DLL Hell, the situation where programs depend on DLLs and other programs and you have to chase them down. It also appears when you install a new program and one or more old ones quit working. Typically, one program replaced a DLL somewhere that was being used by some other application, and the old one is broken.

That’s what dependencies are. An upgrade to one breaks another, or one won’t work without the other present, or there are two programs that you can’t have installed on the same computer at the same time.

Also, removing one program can result in some DLLs or other files being removed that are needed by some other program. You delete program A and lose programs B and C Because that is such a big problem, the uninstallers tend to err on the side of caution and leave junk rather than remove something that might be needed.

The problem is that Microsoft has no way to manage dependencies. They abdicated responsibility for that, and left it up to the the software providers to provide their own installers that follow the windows guidelines. They don’t enforce it, and the programs don’t look after each other. DLL hell is well-known to developers, and users only know about it because they get the ill effects.

So you already have dependencies. They’re just not managed.

So lets talk about repositories. In Microsoft, you have to find and then buy or download every app you want. They all come from different places. You are forever hunting down CDs so you can do the sway-and-wait two-step, and then you get to do the same thing with downloads, clicking to download, click to allow installing, click to agree to where it will be installed, switch to the next web page. It’s more work than any Ubuntu or Debian user would put up with.

In linux there are tens of thousands of free software titles. Because there is a package manager, and software is free, it is not such a big deal to gather the software all up on one big server somewhere (and mirror it to hundreds of others). If the package manager knows you need java, and some graphical whiz-bang magic, and maybe some crazy web service stuff, it knows where to get them. The software comes from the repository. All the software comes from the repository. Well, almost. “Shopping for software” isn’t a series of web searches — it’s all in one place! It’s not a trek to the local Best Buy, CompUsa, etc, — it is online. You don’t have to write a check or anything. There is more free software than you will use in this lifetime, and more every month. And it’s fresh, piping-hot stuff with all the latest security patches. That’s what a repository means: other people find it and put it all in one big pile, and you use a very simple program to pick what you want.

You don’t run installers anymore. The package manager does it. You don’t search for software anymore, the package manager does it. You don’t run installers and cleaners, the package manager does it. Your dependencies are no longer a problem. They have software to do that now.

“Judging by a comment in an article written earlier this year about Cinelerra: “…installation is simple: I add the correct Cinelerra repository for my CPU, along with the Debian Multimedia repository, to my /etc/apt/sources.list file, then update and install Cinelerra.”

Yeah, okay… what? I don’t even care to understand what that means… why can’t I just install an executable or msi file and be done with it. Linux doesn’t work that way which is why it will never be ready for Joe Schmo user, not that Windows is easy for some people either but come on… I want double click installation files where I can click “Next, Next, Okay, Finish.”

Remember when I told you what repositories are? Well, there are some special repositories that some people put together for special purposes. If you want something special like this Cinelerra thing (and probably you don’t) then you add the URL of the repository to your list of standard repositories. It’s a thing you can do with a GUI program or you can edit the file because it’s text. In linux, we don’t have long, painful, weird registry paths and secret configuration foo and bizarre commands to do these things. In Linux configuration is typically in well-documented, human-readable, human-changeable text files tucked away in a special place where any sufficiently geeky user can modify them (given that they have the right password). You don’t need to care. You don’t need to add repositories.

If you know what cinelerra is, then you can probably follow the instructions. Joe Schmo has it easy, but if you happen to be Joe Geek, you can do a lot more stuff as our friend was able to do. Some people want to do more than run Debian’s measly standard 15K free software titles. You can probably make do with that “starter kit”. But if you want something special, there is probably another repository. You add it to the list, you install the code. It’s not magic.

Then there’s this:

Let’s try the Windows way. Say you want to install Limewire or Frostwire and have no idea what Java is or don’t know that Java is required for the program, during the installation, Frostwire/Limewire will pause installing, download Java, install it and configure it for use without you having to do a single solitary thing except click “OK” and “Next.” Linux needs to learn to do things that way or it will never be ready for… 90% of the population.

That’s funny. It’s not the windows way, it’s the Linux way. It just happens that your Limewire and Frostwire people have enough experience that they understood what really needed to be done. This description is exactly what the dependency manager will do for you, and without pausing. And all with a single program instead of whatever installer-doohicky the software team decided to go with this week. It will determine that you need java, and it will know whether there will be a problem with other applications if you install it. It will determine whether you need any other shared modules too. It will install them without effort and trouble, all in one smooth little batch. All you have to do is pick the app you want (or all the apps you want) and click a button to install them. Synaptic is a very nice program, check the first two screenshots at the synaptic page. Admittedly, the color selection in the screenshot is awful. Mine is a lot cuter. How it works is that you just check the stuff you want, you tell it to go (”apply” button). Very easy. And in linux you get multiple desktops so you can switch over to your tetris game in a flash and ignore the installer.

… and you don’t have to reboot. Applications can be installed in Linux without crashing your box (Linux folks tend to never reboot their machines unless they install a new piece of hardware or a new linux kernel, which is rare enough, or if they are taking a linux laptop on the road and want to conserve heat and battery).

In the Windows case, though, it is up to each installer to do the right thing. In the Linux (Debian/Ubuntu) case, it’s not just installing limewire or frostwire, it is every single program on your system. Every program you install gets the same careful installation and you avoid a world of problems. And the undelete will work correctly too.

If you want to eliminate the pain of searching for software, installing it, uninstalling it, and you don’t want to mess with all the due diligence necessary to avoid messing up your computer then you want the Linux repository/dependency system, and not the ad-hoc chaos and human effort of the windows way. And now you know that.

2007-May-8

Ian is no fool

Filed under: Life

Here is an article I want to remember, so I can read it later.
Oh, great. My blog is devolving to a post-it note.

http://blogcritics.org/archives/2002/08/12/203544.php

Own a piece of Math

Since you can now own numbers, you had better get on over to Freedom To Tinker’s web page for your own code. Ah, what could not be done with copyright or patent, the entertainment industry can do with the DMCA. You can now own math. Or at least a small part of it.

Get free blog up and running in minutes with Blogsome | Theme designs available here