Making a programmer use Visual Basic is like making a computer graphics designer use MSPaint
–anonymous
Author: Bobby Rockers
Of Eldar and Silmarils
I first read The Silmarillion when I was 12. For someone who has been a Tolkien fan for almost his entire life, The Silmarillion is not simply a good book. It is required reading. Admittedly more difficult to follow than The Lord of the Rings; yet it, in many ways, more completely fulfills the depth of culture and history that Tolkien has always tried to bestow. The Silmarillion coves the long history of the Elves and the first age of Middle-Earth. It is the Bible of Middle-Earth. It’s as glorious as it is heartbreaking. It is easily one of the most “unique” books I have ever read, combining fantasy with history; biography with myth.
If you are a fan of Tolkien’s world, and not simply a fan of the movies, then I strongly recommend reading this book. It will leave you in awe of the “completeness” of the world that Tolkien created. Its one of my most prized books.
Gtk vs. Qt
Linux developers have argued the benefits of any given language/toolkit sense the beginning of time. One of the oldest debates is between Gnome/KDE. As anyone who knows me (or reads this blog) can tell you I have a strong attraction to KDE because of its design strength and flexibility. However I was not always a KDE fan. I started as a Gnome user/developer when I first began on Linux. At the time I thought Linux’s development tools (through my Gnome/Gtk experience) were pretty bad; but were getting better.
Then, one day, I discovered KDE/QT and have never regretted the decision. I went from thinking that Linux development was harder/worse than Win32 development to realizing that Linux/KDE/QT development was better than ANYTHING else out there. Think that C#/.NET is nice? .NET is a giant leap forward in Win32 development, but still way behind QT/KDE development! Any who, I found a couple articles that I read, back in “the day”, that helped me decided to give KDE/QT a try and I wanted to pass them along.
- Toolkit Comparison — Compare Gtk to QT. Its my experience that that 30% numbers specified are VERY conservative.
- Why I Left Gtkmm — Comments concerning one of the “better” C++ toolkits for Gnome.
- Gtkmm vs. Qt — Same author as above, more comments and responses to Gtkmm apologists.
- Why Qt — Third article by said author. Random thoughts about his project, Gnome, KDE, Gtk+, Qt, C, and C++.
- More Qt — kuro5hin article on Qt.
- Why Program for KDE — Dispels some of the more popular KDE myths.
Nietzsche vs. Socrates
The New Criterion has a wonderful article discussing Julien Benda’s work, “La Trahison des clercs” (The treason of the intellectuals), and an extension of Benda’s work by Alain Finkielkraut titled, “La Défaite de la pensée” (The Undoing of Thought.) I had heard of the term La Trahison des clercs, a kind of yuppie insult to post modern leaning college professors, but I was not actually familiar with the contents of the work.
I found the article incredible interesting and will probably comment more on it at some other time, but what is most interesting to me is how this concept ties in with the idea of natural law (for example the destruction of diversity without a fundamental concept of the “universality of humanity”) and the effect that these concepts have on the implementation of free will. I many ways this article acts like a philosophical discussion of the ideas presented in C.S. Lewis’s “The Abolition of Man.”
KDE on the command Line, Part #1
One of the strengths of Linux is the ability of the operating system to work in either graphical user interface mode (aka GUI), like Windows 2000; or command line mode; like DOS. The reason this is an advantage is that in many cases the addition of GUI components to the interface just add unneeded bulk. Who needs a GUI on a web server? The other advantage comes from extensive amount of fine grain flexibility that is possible with the command line. Something that is simply not possible in a GUI. For example the grep program (a text processing utility in Unix) has thousands of possible options. Imagine trying to make a usable GUI program with literally thousands of options.
One noticeable problem exists. Historically working on the command line meant that you functionally lost the use of GUI tools when not in GUI mode. For example, you want to read an entry in your GUI address book but only have command line access to your computer. One would think you would be out of luck. In addition, some applications gave you no way to control GUI programs from the command line
However, the superb design and tremendous flexibility of KDE has created an incredible bridge between these two worlds. For example, want to use your KDE trash can while using the command line? Try this:
kfmclient move <url> trash:/
kfmclient is a tool for opening and accessing file from the command line. kfmclient automatically uses your KDE preferences to handle command translation. Here is another example. Say you want to open a file with your default KDE application handler (whatever that may be.)
kfmclient exec file:/home/weis/data/test.html
or specify your own program to open the file with (even non KDE programs)
kfmclient exec file:/home/weis/data/test.html mozilla
Why is this useful? Because kfmclient understands KDE kio and dcop information you can specify anything that you would normally do in Konqueror. This works particularly well for bash scripting. Say you want to have a program that opens your remote computers /etc/groups file, over ssh, with THAT computer users default editor? Here is a quick two line bash program for just such a case:
#!/bin/bash
kfmclient exec fish://192.168.1.25:/etc/groups
It will even open up the username/password dialog for you (don’t forget to check the “remember password” check box to have kwallet store the username and password.) I gotta go for now, but this is just the tip of the iceberg.
kio-kde
One of the benefits of KDE is that is has the the most powerful IO interface of any desktop environment I have ever seen. KIO allows for a pluggable interface to outside resources in a simple and powerful way. The best part about it is that is works system wide. For example, long before Windows was working on a DB file system; a enterprising KDE developer had created kio_sql. This allows every KDE application to have access to any database as if it were just part of the file system. You can open table data just like you open a test file.
One very cool KIO module is kio-locate. Locate is a system wide indexer for Unix OSes. On the command line you can type “locate bob” and it will return every file with the name bob in it INSTANTLY. Want to open your websites index.html file but you don’t remember where it is? With kio-locate you simply start your web development environment, click file->open… and in the file selection dialog type locate:index.html… and you will see every file named index.html that you have access to on the system. Its like having a file name meta data search available in every KDE application. Check out this screeny to get an idea of what I mean.
There are literally dozens of KIO interfaces for everything you can imagine. kio_rar (for access to your rar files without unrar’ing them), kio_burn (gives every KDE application drag-&-drop file burning capabilities), kio-sword (browse the bible like its a file system), and the one I use most often ipodslave (aka: kio-ipod), which gives all of my KDE applications access to my ipod (i.e. any music player can play from it, and all applications can save files to it.)
Childrens Rights
A comment by Jasan, in reply to my “News From a Blue State” post has prompted a reply that I would rather post here. Jasan basically pointed out that –“it doesn’t prevent the mother from calling the cops – it prevents the mother from using the evidence she heard listening in on the second phone line as evidence in court.” While technically this is true, in some jurisdictions calling the police with such a tip would actually be worse than not calling them; because any leads that occur based on illegally obtained evidence can invalidate the case. But that is really not the point.
It is a ridiculous proposition to believe that an individual has a right to privacy when talking to a minor. A parents job is to protect their child, to the best of their ability, from the kind of negative external influences that are possible in just this kind of circumstance. Its freggin hard enough to protect you child from the filth that is available through modern mass communications. Now to take away the only tool that parents have to bring legal action against those who would do harm to those same children.
For 200 years we have made the conscious decision to protect a child from harm, even when it sacrifices their rights in the short term. We do this to give them a chance to develop into adults who can make their own sound decisions. Then we let them succeed or fail based on those decisions… but to protect a child’s “privacy” at the expense of their safety; before they even have the experience or mental capabilities to intelligently use those rights; is the very definition of irresponsible. Following this same logic, we should let the children stay with the adults they want to live with. Even if a court has decided that their drugged up, abusive, sexually molesting parents are unfit. Hey, the kid has a right to freedom of association. Or how about giving 4 year olds guns? The parents shouldn’t have any say in such things, right?
The rights I have listed above are actually directly protected constitutional rights; unlike the implied constitutional interpretation that the “right to privacy” is. Don’t get me wrong. I believe in implied constitutional rights and the “right to privacy”, but if we are fundamentally able to restrict the rights of children that are expressly defined by the constitution then why in the world would we protect an implied right.
I remember the big hoopla that conservatives (blame the parents not the guns) and liberals (blame the parents not the kids) made about the Columbine Massacre because the parents did not pay attention to the actions of their kids. There have been a half a dozen cases where “Columbine” like attacks were thwarted by parents listening in to telephone conversations. If this ruling were in place in those circumstances then the police could be prepared to stop the kids, but they could not bring any “attempted” charges against them (i.e. They could charge them with possession of a weapon on school property but not for attempted murder) because the tip they used to identify the threat was obtained illegally. In fact in some jurisdictions ALL charges would have to be dropped because of how the evidence was obtained.
This same ruling has dramatic ramifications to other forms of communication. It effectively states that (although you can monitor the actions of your kids on the Internet) you cannot reasonable expect to get police protection if you discover that a pedophile has been talking about picking up your kid during school… and even if the police decide to watch your kid they CANNOT LEGALLY STOP the pedophile before he does anything illegal.
More than one person has already pointed out that it is generally totalitarian regimes that pursue the rights of children over the protection of children and the rights of parents. Things like the Hitler youth did this because its so easy to TAKE ADVANTAGE of children and exploit them to their own ends. No, this ruling is ridiculous in the extreme. It does huge amounts of damage to those that would work to help children; and in doing so creates a bastion of safety for pedophiles in the very homes of the children that this ruling is suppose to help.
People who finish quicker than me
Remember when you were young and wanted to test how quickly you could finish Super Mario Brothers? How about Contra? Well, archive.org has a list of video’s by people beating video-games in record time. Talk about amazing. How about Half-Life beaten (hard setting) in 48 minutes! Metroid (old Nintendo edition) completed in 22 minutes! Mario Brothers (NES edition) five minutes. Metal Gear Solid (extreme mode), one hour and 18 minutes. … seriously! Watch the full video’s and be amazed!
Its a boy!
News from a blue state
The State Supreme Court of Washington has ruled that children have an expectation of privacy when in phone conversations. This ruling basically states that information collected while listening-in on your child’s phone conversations in in-admissible in court.
The case involved a 17-year-old boy who told his 14-year-old girlfriend that he mugged an elderly lady. The girls mother was listening on another phone line and informed the police. The 17 year old was then convicted of a felony. He had served nine months of his sentence when the judges overturned the conviction, saying: “The right to individual privacy holds fast even when the individuals are teenagers. The judge basically decided that the mother was acting as an agent of the police (the police informed her that her daughters boyfriend was trouble and that she should watch out for him.)
How dare a mother worry about her 14 YEAR OLD DAUGHTER talking to a 17 YEAR OLD BOY; who just happens to turn out to be a FELON. </sarcasm>
While this may not sound that bad at first (it doesn’t keep your from listening, just calling the cops) the ruling is ultimately destructive to the ability of parents to raise their children. If I, for example, overhear my daughter being threatened on the phone by a 35 year old boyfriend; I am unable to use the evidence from that conversation to get a restraining order if my daughter feels it was a private conversation. In addition that evidence could not be used it the court case the convict the same 35 year old “boyfriend” for rape/murder.
Ultimately, if you call my underage child (at my home) you have lost any reasonable expectation of privacy… PERIOD!