If you've installed mySQL and PHP for creating web-enabled databases, you've probably become quite familiar with the pure UNIX interface to mySQL. For example, you'd type DESCRIBE tablename for a list of the field definitions in a table; to add a row to a table, the syntax is INSERT INTO tablename (fieldname1, fieldname2) VALUES (expression1, expression2). In other words, completely un-Mac-like and non-intuitive ... but quite powerful!
While you can't avoid all of this hassle of the non-GUI interface, there are a couple of tools out there that make managing mySQL databases much easier. The first is an OS X (Carbon) application called MacSQL Monitor from Runtime Labs. This is a shareware ($40) package that puts a very nice Mac GUI on your mySQL databases. The demo version has limited export capabilities, and will run 10 queries each session.
My personal favorite, though, is phpmyadmin, from phpwizard.net. This is a collection of PHP scripts designed to help you manage mySQL databases, and it's available free of charge. Through the web-based interface, you can easily create tables, browse records, run queries, modify properties, drop tables, and add/delete entire databases. It's the tool I use when I have to work in the raw database files on the macosxhints website. Read the rest of this article if you'd like an overview of installing myphyadmin.
If you use jEdit (see Favorites box at left) as your text editor, one of the cool tricks it performs is to maintain a history of your search and replace calls. If you command-click in the search or replace box, you'll get a drop-down menu showing the last 15 or so items you've searched or replaced. This little trick saves a bunch of typing if you're looking for the same thing somewhat regularly.
Marcel Bresnik, author of PrefEdit, has released TinkerTool for OS X. This nifty program lets you adjust a number of things in OS X which were previously difficult to do and required command-line editing. These include disks and trash on the desktop, showing all hidden files, using the blue triangles and hidden apps effects in the dock, and a slew of other things including changing the default system fonts.
Most interesting to me, though, was the presence of a gamma adjustment tool for OS X. For those of you that find Aqua "just too darn bright" or "just too darn dark", you can finally adjust the gamma! Personally, I find it to be just a bit too bright, and I set a slightly darker than standard gamma. Wow ... I thought it looked good before, but now it looks really good!
TinkerToy is free, and highly recommended if you want to tweak your PB system. As always, anything it does bad to your system is not my responsibility! I've only been using it for the last 15 minutes or so, but no problems yet.
Although 99%of the world browses websites with some version of a graphical client, there can be times when it could be useful to have command-line access to a website.
Imagine a scenario where your home machine uses DSL or a cable modem, and is "net-connected" 24 hours a day. You're at the office one day, and notice a site that has a file you want to download, but it's only available via a web browser. If you've enabled remote connectivity to your home box (via telnet or SSH), you could connect to home, launch a text-based browser, and start the file download on the home machine. There are also command-line utilites that can do this for you (cURL is one of them; there's an OS X version here), but the text-browser is also useful as a, well, browser!
links is an excellent text-based browser that works very well in OS X. The small screenshot at the top of this article is of links displaying this site; here's the full-size screenshot. Read the rest of this article if you'd like instructions on downloading and installing links for OS X. You could also use lynx, another text browser; search this site on 'lynx' for more info.
While messing around with the terminal today, playing with transparency, size and colors, I noticed a couple of nice design elements.
First, as you resize the window, ithe window title displays the size of the new window ... 80x24 becomes 92x24 to 103x24 to 120x40. When you let go, it returns to the original display.
Second, and I guess I just overlooked this earlier, you can open an Inspector Window for any open terminal session. This gives you access to nearly all the same settings as you get in the prefs panel, but you can now set them on a per window basis. I'd always just mucked around with the color and font control panels, but the Inspector lets you do things like change the window title, specify the scrollback buffer size, etc. This isn't a hidden feature; I just overlooked it in the menus earlier.
And if you haven't tried it yet, play around with the terminal transparency hack - you can make some very nice looking (yet still functional) semi-transparent terminals.
A while ago, I wrote about a Japanese-language Aqua button making program. Over on the MacNN forums, 'trunks_essex' pointed one out in English. This one's from a company called Micahsoft, and you can find ButtonMaker (and some other RealBasic programs) on their site.
ButtonMker is quite easy to use (having it in my native language helps greatly!), and it includes other options in addition to Aqua. The author acknowledges a bug when trying to save buttons of a certain height, but I didn't run into it in the ten minutes or so I tested the program.
Just a pointer to yet another way to put some Aqua in your world!
Folks with dual processors might appreciate seeing that both cpus are doing their share. In the "GrabBag" subdirectory of the Applications directory, there's a graphical cpu monitor that show's the activity of both processors.
If you want to see both cpus constanlty busy download the text-only version of seti@home and run 2 versions (from different directories). Use the "-nice 20" flag and you won't notice any loss in performance since the OSX kernel will sacrifice seti@home performance in order to keep everything else speedy.
Even if you have no interest in serving web pages from your new OS X box, there's at least one feature of Apache (the built-in web server) that you might want to put to use - the proxy server.
A proxy server is nothing more than a server which sits between a client (such as a web browser) and a real server (such as a web host). It intercepts all requests sent by the client and decides if it can handle the request itself. If it cannot, it then passes the request on to the real server.
Why might you find this useful? There are two primary reasons. First, if you're a parent, you can use the proxy server to control which sites your kids can and cannot have access to. This may make you feel slightly more comfortable leaving them alone in front of the machine ... although any child with some level of net experience will be able to find ways to get what they wanted anyway.
Since the proxy will block sites that you specify, you can also use it to block ad servers such as www.doubleclick.net (and there goes any chance of ever having advertisers on this site ... want to get blacklisted ... just explain how to block ad servers! ;-)
The second usage is for caching web content locally. If you have a connection that's shared between multiple computers, you can use the proxy to store pages locally. That way, if you browse cnn.com and your spouse visits the site 30 seconds later from another machine, they will get a locally cached page which will be served very quickly.
Read the rest of this article if you'd like instructions on setting up Apache's proxy server.
If you want to edit a file that requires root access (for example, the Apache webserver config file), there are a few ways to do it. The most common is to use su in a terminal session, enter your root password, edit the file, then end the terminal session. You can also use sudo from the command line to launch the editor as root.
However, if you prefer GUI-based editors such as jEdit (my favorite), it's much more complicted to edit root-access-required files. You have to first logout as your current user, and then login as root. This is basically not practical, especially if you're using Classic and leave a bunch of apps open all the time (as I do).
Brian Hill has written a little program called Pseudo that does nothing more than launch the application dropped onto it as another user. So to use jEdit for my Apache config files, I simply drop the jEdit icon onto the Pseudo icon, and enter my root password. jEdit launches, and I can then open and edit the Apache config file as necessary. I don't have to quit any other apps, and when I'm done and quit jEdit, I don't need to worry about remembering to login as a normal user again.
The only rule I follow is to immediately quit the root-required application as soon as I'm done working on the file in question, so that I don't accidentally edit other files which I'd rather not work on as root by accident!