Archive for the tag 'apple'

Wireless keyboard? Brainless key layout.

So, I buy a Microsoft wireless desktop (mouse+keyboard) from Costco the other day, and gave my old optical mouse to the wife for her Mac. Everything seemed fine, software installed OK, la-di-da… the mouse worked OK on the fairly reflective white keyboard tray on my el cheapo Ikea desk (a problem in the past), etc. But then… I noticed something odd. Like a bad smell, but only faint, it crept up on me until I realized, what the hell? What have they done with the Inser/Delete key area?!?

On most PC/104 (I guess they’re still called that) style keyboards, there are six keys to the right of the main QWERTY section, typically above the inverted-T arrow keys. These keys are Insert, Delete, Home, End, Page Up, Page Down. Makes sense. Logical layout. Easy to learn.

But on this new keyboard I bought? Nope. Rearranged. Minus one key. WTF? “Insert” is just gone. Delete is now twice as high (including essentially the space where Insert used to be, ohhh now that is handy!), and Home and End are no longer in the same column. Whaaaa? I suppose 80% of users never use the insert key; they probably don’t use home and end much either. But the other 20% of us do… so stop penalizing those that DO use something, for the supposed benefit of those that DON’T!

Now I understand why the link entitled “Learn how Microsoft leads the industry in the design and production of ergonomic hardware” on this page goes to a 404 error! This sucks ergonomically. Now to do cut/copy/paste, I need to use these one-hand-bending ctrl+x, ctrl+c, ctrl+v keystrokes, instead of the easy-to-reach (left hand on ctrl or shift…) tap insert or delete. That’s not better from an ergonomic standpoint! Oh, wait, maybe I’m supposed to use the function keys that are now assigned to ‘cut’ ‘copy’ ‘paste’… yeah because reaching up there to learn NEW keys, that are ALREADY assigned functions in most apps, is useful. Did I mention you need to put on “F lock” to use the function keys as regular F keys? So I guess learning F2 for ‘modify’ and F5 for ‘refresh’ and ‘ctrl+f4′ for close, etc. etc. were a waste of time. Grrrrr.

I would blame Microsoft for all of this, but it looks like maybe this keyboard is just a rebranded Logitech device. I wouldn’t be surprised, as my previous Logitech keyboard also had this F-lock stupidity which was another reason I wanted to get a different keyboard in the first place! At least this one does let me reprogram all the silly ‘multimedia’ keys at the very top… although I have never used them on previous keyboards anyhow. But, I suppose assigning a key to Firefox, to iTunes, etc. is OK… but it’s not like they’re not always loaded, anyhow.

iTunes for ‘doze rocks

iTunes on the mac was pretty cool. iTunes on windows is even cooler. Why? Because I use a PC way more than I get to use Val’s mac :-)

I guess I didn’t think the sharing would work, right off the bat, but it sure does, to Mac iTunes users, no matter. This is good news–at home, my PC is the one with all the CDs ripped to it–my wife’s PowerBook only has a few CDs; now she can stream them off my harddrive if I leave iTunes on, and she can use my PC to play stuff if she wants it loud (it’s connected to the big Logitech Z680’s in the livingroom).

Second point–I installed it at work on my T30 notebook, and realized that the mac users upstairs in the graphics department have weird taste in music, but cool. Interesting to check it all out.

Of course, this is standard out-of-the box stuff. Nothing mind-blowing. What we really need is to be able to stream stuff off the linux box sitting next to me. Someone must have done that. Yes, they have. A little compiling and tweaking later, I’ve got it working for me. Shweet. Thanks to this story at macoshints.com for the juicy bits). Basically, follow that article… I was doing this on RH9, no big deal, only thing that wasn’t clear from the article is that you do the build (make os=linux) in the mDNSPosix dir of the Rendezvous download from apple, and then the binaries are in build/. (I did sudo cp build/* /usr/local/bin/). Also, you’ll need to add /usr/local/lib to /etc/ld.so.conf if not already there (and then run ldconfig as root.) Make sure you get daapd going (requires building a couple smaller libraries first, and make install’ing them.). Copy the daapd-example.conf to /etc/daapd.conf, and configure. Then, here’s the (cheesy, and not perfect, I know) init script I made (/etc/init.d/itunes): This will obviously require some editing before it’ll work for you!

#!/bin/sh
#
# Startup script for mDNSProxyResponderPosix and daap, ie. iTunes server
#
# chkconfig: 2345 95 05
# description: set up this machine for Rendezvous and DAAP protocol (iTunes sharing)
#

# Source function library.
. /etc/rc.d/init.d/functions
. /etc/sysconfig/networking/devices/ifcfg-eth0

PATH=/usr/local/bin:$PATH

prog=”mDNSProxyResponderPosix”
prog2=”daapd”

[ -f /usr/local/bin/$prog ] || exit 0
[ -f /usr/local/bin/$prog2 ] || exit 0

start() {
echo $”Starting $prog: ”
CMD=”mDNSProxyResponderPosix 172.20.31.170 dotnet ‘Ben RedHat9′ _daap._tcp. 3689″
#echo “Running: $CMD”
$CMD &
RETVAL=$?
touch /var/lock/subsys/$prog

echo $”Starting $prog2: ”
CMD=$prog2
$CMD &
RETVAL=$?
touch /var/lock/subsys/$prog2
return $RETVAL
}

stop() {
echo -n $”Stopping $prog: ”
killproc $prog
echo
rm -f /var/lock/subsys/$prog
echo -n $”Stopping $prog: ”
killproc $prog2
echo
rm -f /var/lock/subsys/$prog2
return $RETVAL
}

case “$1″ in
start)
start
;;

stop)
stop
;;

status)
status $prog
status $prog2
;;
restart)
stop
start
;;
condrestart)
if test “x`pidof $prog`” != x; then
stop
start
fi
;;

*)
echo $”Usage: $0 {start|stop|restart|condrestart|status}”
exit 1

esac

exit 0

By the way, Eclipse rocks too. I’ve kinda given up on Komodo, and am just using Emacs again for PHP. Sigh.

Everyday tool roundup

I thought a good, non-personal-info-divulging post I could make would be about various tools I use, this way I can vent, and maybe someone can suggest improvements to my workflow, etc. I won’t get into the things I deploy on servers for apps, mostly because this tends to depend on the project more than any personal bias (I hope). In this post I’m just going to share the applications I use daily for my tasks, not the things I deploy. Maybe in the future I’ll do one for libraries I use a lot…

Email
Corporate: Outlook. It’s just the best windows-based reader, and I need the Exchange integration, so options are limited. I like it and am used to it, anyhow.
Personal: Yahoo business webmail. Yeah, it’s a little clunky, and the spam filters aren’t perfect, but it’s pretty damn good webmail, that works everywhere, it fairly light, and “reasonably” priced. Aside from a few weeks 1 year ago when they kept screwing up my mailbox, it’s been flawless from a reliability/stability standpoint. It’s my browser’s homepage.

Word processing, Spreadsheets
Microsoft Word & Excel: I give in, I’ve just been using them too damn long to use anything else. If I could convince my CEO to switch the whole company to openoffice, I’m sure I could live with OOWriter etc… but I sort of know where everything is in the MS apps, I have my little style-macros set up, blah blah. Anytime I use Word to write something longer than a few pages I run into the various ugly spots (list numbering, outline vs. normal text authoring, master document bugs, etc.) but I generally know the workarounds. I seem to remember loving AmiPro in a previous life, but M$ has the corporate world beholden at the moment. And Excel, well, it’s possibly the most polished app Microsoft makes, I think. An assload of features that actually work, and eminently useful for light- to medium-weight analysis. I’m going to ditch my pirated copy of office at home (well, technically I think I am covered by our corporate license somehow) one of these days, and really try StarOffice or OOO. Certainly on the Mac at home, I’ll give it a go–I have a no-pirate policy on the wife’s computer (whoo hoo licensed Adobe products!)

OS
To put it simply: If I want a desktop, I run Windows. If I want a server, I run Linux/FreeBSD/Solaris, depending on the purpose and pocketbook.

Coding
Ah, now we’re on to the serious stuff!
Editing/IDE
On unix-ish machines: Emacs, with my php-model.el and some other goodies. vi only when absolutely necessary. On windows, we get into a world of pain. Yes, I know I can get emacs for windows, but I just… well… hate it for some reason. It feels kludgy, and if I can drop files on a window to open them, I like to.
I’ve been trying out a few different editors. For C# of C++, no argument, I use work’s copy of VisualStudio… the Intellisense, and GUI builder integration, is so tight, I think it’s insanity to use anything else. But mostly I don’t do that kind of stuff these days. (Strangely enough I always got away without a “smart” IDE for Java when I did a lot of that… I typically just used Emacs. Probably these days I’d go for IDEA or Eclipse, though.)
Anyhow, I have purchased EditPlus in the past–it’s super small, light, fast, and basically pretty nice, but isn’t really IDE-ish–but a very strong text editor, and fits nicely on a floppy. I am glad I bought it, but only use it for lightweight stuff now.
Most of what I write these days is PHP and Perl, so I have been looking into IDEs that support that. I like the freeware-ish PHPEdit, but their release management is horrid, and each version seems to have different, but significant bugs, than the last. I was using a year-old version for quite a while, and it was 95% right. I don’t trust them to be able to support it in the future though. Editors are tough, for open source.
I also just bought the personal edition of ActiveState Komodo, and in the first 10 minutes of using it I found 2 bugs. Over the next few days, I’ve hit two distinct, important bugs–one is a crash, the other is a weird some-keys-no-longer-work thing. Also, it’s still pretty slow–faster than the previous releases, but 2.5 is still a bit of a dog. I don’t know if that NSPR library is really the right choice, but it would be comfortable to have it on both Linux and Windows. Right now I’m really just interested in Windows. The quality so far is making me wonder if anyone at ActiveState actually uses Komodo for coding tasks…! I’m hoping to get some use out of the Perl, XSLT and Python dev modes though, they look promising.

Revision control
For now, I’m a cvs man. I’m playing with Subversion for a new mini-project, I love the atomic aggregate commits (you know them as ‘changesets’), but the tool still seems a little rough around the edges, and the biggest thing is how happy I’ve become on TortoiseCVS. I still use cvs command-line on linux a ton, but more and more of my coding is done in windows, and Tortoise just kicks ass. I think they should start charging for it :-) It’s a shell extension that provides interface to CVS, and it’s really slick. Excellent piece of software, and they’ve just about got all the bugs worked out of it (for a long time it was in the “promising, but crashes explorer” phase). If they make a version of Tortoise that supports Subversion, I think I’m sold, that’s it, I’m done, source code control is a solved problem for me. (If you ever feel the need for entertainment, buy me a beer and I’ll tell you about my previous employer’s experiences with BitKeeper!)
I also use ViewCVS, and can’t live without CVSSpam (it’s in Ruby!).

Instant messaging
Trillian Pro. It rocks, especially now that it supports Jabber (which I honestly haven’t gotten working with it yet, but they claim it works.) Pro 2.0 adds nice polish. Seamlessly supports MSN, AOL, ICQ, Yahoo, and looks good doing it. That reminds me, I really need to start looking more seriously at the Jabber protocol/specs…

Password management
OK, I think there may be better (or cheaper) tools out there, but I use Eldos Keylord. It’s some shareware I bought for doing pw repository tasks. I keep the repository (apparently blowfish-encrypted based on the pw you enter every time you open or save), on my removable flashdisk key-thingamabob, so I always have it with me. It’s pretty small, and has some intelligent features, plus a pocketPC and palm version, if you’re into the PDA thing. A nice touch is that if you buy all 3 versions (it’s pretty cheap), you get the source… so you can audit it for security if you’re paranoid about that kind of thing. I love the “lock on minimize” and “timed minimize” features, just in case I forget to lock my notebook (ctrl-alt-del, enter) when I walk away.

Shell/misc
Gotta have Cygwin on windows–I can’t live without tail, grep, wget, rsync, etc. etc. from the command line. Also I bought PowerArchiver, a really nice windows zip tool. It’s not perfect, but really close, and understands .tgz .bz better than Winzip, it seems.

Web browser
Firebird all the way. I still use IE for final site testing and corporate Exchange webmail, but that’s about it. Firebird is just the cat’s meow. Must-have extensions: the Live HTTP Headers, Venkman JS debugger (amazing), and the Web Developer toolbar. These extensions, plus Firebird, make my life so much easier it’s ridiculous. I can’t honestly think of doing web development (especially the front-side stuff) without them.

RSS Aggregator
I used to be a big fan of Dare Obasanjo’s RSS Bandit, but now I’m leaning towards the web-based Bloglines. More on this as I get used to Bloglines… it’s just a huge hassle to only have one place with my feeds. The web is the obvious location for this kind of app, though, IMO. When they start charging for it (inevitable) I’m sure lots of imitators, probably even sourceforge projects, will pop up to duplicate it–it’s pretty simple. But a good idea.

Bug tracking
Bugzilla. I know it’s old, creaky, and the code isn’t great. But it works, and has a zillion features, and is free. You can’t beat that. Fairly easy to integrate into CVS with a little scripting, or do anything else you want with it… and scales to large projects and teams pretty nicely.

Remote access
ssh on windows: Well, I advocate other folks use PuTTY, because it’s free and good (and the key agent can be utilized for TortoiseCVS, which is sweet), but I usually use SecureCRT. Partially because I’ve paid for it, but also because I’m so comfortable with it, it’s copy-and-paste semantics, etc. It’s pretty solid, and pricey for a single home user compared to PuTTY, but I like it.
scp on windows: WinSCP, it rocks. And faster than the cygwin tools…
FTP on windows: I don’t do much of this. When I do, I use SecureFX (because I bought a license along with my SecureCRT one), but I don’t really like it. When I’ve been forced to do a bunch of ftp from windows, I’ve used LeechFTP, but it’s not being maintained and has some weird bugs that can corrupt transfers, it seems.
Xwindows on windows: I am a big fan of XWin32, although honestly I don’t have a legit license for it, and have stopped using it. I find it’s not really necessary, just nice to have. The cygwin xfree32 stuff will sort of do the job too, but it’s really painful–XWin32 is much nicer. But not nice enough to justify the cost, for me personally. If I can get an employer to pick up the tab, I’ll run it.

Database & other design stuff
Of course for SQL server, I use their tools; mostly Query Analyzer, less so Enterprise Manager (can do a lot of the DBA stuff from QA by calling stored procs, anyhow.) For Oracle work (I don’t do much of it…) I use an ancient copy of FreeTOAD. For mysql, I have tried a ton of GUI tools, and decided actually, I like phpMyAdmin (web-based) the best! They just continue to pile on the features for it, and it actually is really fast to use once you’re used to it, and it’s running on a box on the LAN.
For DB design, I like DeZign, although I’ve never bought enough copies for all the people that should really have it.
I’ve played with Rational Rose and a couple other UML tools, Visio was my favorite of the bunch, but basically all of them were too expensive/too formal/too restrictive for me. I am not a huge UML guy at the moment. We need the depth of thinking that is enforced by these tools, but I’m not convinced the notation itself is necessary to actually get most things done, or even the best way to communicate it, although a shared nomenclature for expressing functionality and interactions is a good goal. Most of the apps I’ve devloped didn’t require that level of “interaction management” if you will, though. <soapbox>We were usually successful with: Get a bunch of smart people together; hash it out on the whiteboard; everyone break for a few hours or days to have a good think, and while the project architect drafts up a proposal (and thinks about/creates a small prototypes); return to the discussion with proposal and clear heads, and repeat steps as necessary. At the end of that, document the decisions. You’ll almost certainly have a good solution, if you have quality people. </soapbox>

Project management and related
I’m forced to use MS Project, but I really don’t like it. It was a bastard stepchild for the longest time, with no updates from Project 98, and now the new version is bloated and heavy. I’ve actually started just using Excel and a few small macros for sorting, etc. I’m in search of a good web-based on, the most promising seems to be dotProject, but I’m not convinced about it either, yet. I’ve found a bunch of bugs, and the dev team seems a little on the green side. But, they are making progress, so I hope it becomes really usable soon… I’m unlikely to advise any org I work for to fork out the bucks required to run Project with ProjectServer, etc…!
PDF Generation: I’m actually using the free PDFCreator at work, due to lack of enough Acrobat licenses. It’s good enough for translating stuff to PDF; no editing, etc. For handing off specs, or excel files with data I don’t want messed with, it’s nice. Again, can’t beat the price.
Group documentation: TWiki. I don’t love it, but it works. I wish it worked properly with JGraph, which rocks.

Sysadmin/IT type stuff
I won’t get into all the junk we have installed, but here’s the ones that I actually “use” every day:
Performance monitoring: Cacti is the way to go for me. Small, free, decent, in PHP (hackable). Scales reasonably well…
System monitoring: Nagios with a bunch of custom plugins for application monitoring. Everything you need, but not much more. Scales well and the config language is worlds better than BigBrother.

Miscellaneous/Trivialities/Home-use stuff
Souds: Winamp lately, and when I’m entertaining, run MilkDrop on the projector for the Ibiza-club-in-your-livingroom vibe :-) I even have a MusicMatch license, and use Winamp, so whatever that says…
CDR: Nero. It came with my drive, and I’ve been happy with it, it just works.
Graphics: I’m no pro–but my wife has legit copies of Illustrator, Photoshop and InDesign–so on the rare occasion I need to toy with that kind of thing, I use this stuff on her PowerBook. Whee.
DVDs: WinDVD. The only thing that seems to work properly with my SP/DIF soundcard and both my LCD monitor and projector.
Remote control: uICE. It rocks with the remote that came with my soundcard (ATI remote wonder thingy)

Hmm, that’s about it I guess. Anyone have suggestions? Comments? Pointers to other useful tools I might need? I accomplish all the types of tasks I need to do, with the stuff above.

« Previous Page