Bored?

by Anand Lal Shimpi on March 1, 2004 1:23 AM EST
This weekend I've been working on writing a compiler, playing around with a lot of PDFs, putting together a PowerPoint presentation along with the usual email and IMing and such. So how's it been on the Mac?

The compiler I'm working on leverages lex/flex/yacc/bison and thus it's very helpful to have the Unix base to OS X along with the entire developer tools package installed. It wouldn't be hard to install cygwin on XP to accomplish the same, but the fact that it's just there waiting for me is nice on so many levels. Now if OS X could write some of the compiler for me then I'd be switching in an instant.

I'm also working on a Java project, but since I haven't had time to play around with Xcode I've been using Netbeans. First and foremost, Netbeans is a horrible application, although a fairly nice IDE. Let me explain; Netbeans crashes a lot and it's the only application I've ever seen crash with an "array index out of bounds" exception; when it happened to me (under XP) I was shocked. I thought only my poorly written programs gave those errors :) Netbeans under OS X is basically just like Netbeans under Linux and XP, which is useful for one reason alone: it makes me appreciate the OS X interface that much more. It's like being able to run an application that abides by Windows' rules for how applications should behave, except within the OS X environment.

Why am I not using Xcode? For those of you that don't know, Xcode is a free development environment that Apple offers for OS X. It seems to be pretty nice, but for the development I'm doing all I need to do is compile java to run at the command prompt; no GUIs, no fanciness, no nothing. I'm sure if I toyed with Xcode enough I could figure it out, but I didn't know if anyone reading had any experience with doing just that? Note that writing in Xcode and then opening up Terminal to run javac and java isn't what I had in mind :) I want to be able to compile/run command prompt apps from within Xcode. Possible?

I've talked about Apple's PDF viewer in the past (or at least I think I have), it's called Preview and it's what keeps my machine Acrobat-free. Preview handles much more than just reading PDFs, it is also the default viewer for images. It handles image viewing just fine, but I want to focus on its PDF viewing capabilities. Apple is very proud to talk about Preview's speed when loading and navigating PDFs; in my experience it seems a bit more responsive than Acrobat but on the PDFs that Acrobat chugs on, Preview does as well. Preview also has a little drawer that will slide out from the right side of the PDF that will give you one click access to any page of the document - definitely something that Acrobat reader lacks. I originally had a complaint about Preview's handling of 2-slide-per-page PDFs, but then I discovered the beauty that is the Zoom button in OS X.

I mentioned in a blog before that there's no Maximize button in OS X, which is one of the first things I remember hating the first time I used OS X way back when. As a Windows user, we're used to maximizing but it's a habit that you have to break when using OS X; and trust me, it's not a bad thing. OS X has the usual control objects at the top of every window, except they are on the left side of the window instead of the right (don't ask why). They appear in this order - close, minimize and zoom. Close and Minimize do the same thing they do in Windows, but Zoom is the interesting one.

Zoom basically extends the window horizontally and vertically to fit the content that is being displayed in a window. I know that as a Windows user I was forever resizing my IE windows to get them to be the perfect size to display web pages (AnandTech in particular) whenever I'd setup a new computer. With OS X, you just hit the Zoom button and the window magically (ok it's not magic) resizes itself to fit the web page. This works perfectly for PDFs and other documents as well; in the case of documents (such as a PDF) it will even magnify the text a bit.

The only thing OS X's Zoom feature is missing is, you guessed it, a default keyboard shortcut (unless there is one and I continue to be Macoblivious). Any recommendations for a good default otherwise?

For my presentation that I was working on this weekend I had to do some Photoshop work, and I'm definitely beginning to appreciate Photoshop under OS X. OS X has this wonderful ability to allow you to drag highlighted text or pictures from any application, from any window, to virtually any other application/window. The OS is also fairly smart about how it handles dragging images; if I drag an image into a text field, it will paste a link to the image. I read a lot of car forums and my favorite forum happens to only allow you to view images if you're registered and logged in. This is a problem for my friends that I send links to because they aren't as crazy as I am but do enjoy the pictures. You can, however, view the URL to the image just fine if you are not logged in, but normally that's a process that requires me to right click on the image, view information about it, copy the URL and paste it into an IM window. With OS X, I simply drag the image to my IM window and it automatically pastes the URL.

My only complaint (which others will definitely argue with me on) is that when I drag the image into Adium, it does not shift focus to the Adium window - so I still have to click on the window to send the IM. It's all a part of Apple's non-intrusive OS behavior; for example, hitting enter on a folder won't open it, it will just allow you to rename it. You have to hit Command-O (Apple-O) to actually open the folder (or the file), which is useful in that I've never accidentally launched a program by hitting enter when I didn't mean to on a document, but it's also annoying in some cases.

The drag and drop capabilities that are spread all over the OS do come in hand with Photoshop. What I do miss however are the keyboard shortcuts from the Windows version of Photoshop, I liked being able to hit a couple of keys and have the image resize dialog pop up. I haven't defined the key combinations for Photoshop yet but I'm sure I will when I've got a free minute.

For the first time since I downloaded Adium I updated the binary to the latest version, unfortunately I've been having a ton of problems with it. Now I understand that it's an alpha build so I'm not complaining, I just wish I hadn't gotten rid of my February 9th build of the thing - it was just so much more stable than what I'm using now. I looked through the Adium forums and most people don't seem to be having any stability problems, but I swear the latest builds have been crashing like crazy. And if someone tries to send me a file, whoaboy that does a number on me being able to receive IMs :)

The one thing I can't get used to is using iCal, Apple's Calendar application. I think I do prefer the Outlook style of having the calendar integrated into the mail application. I just never seem to bring myself to keep iCal open, well except for now because I had to look up a date but that's a rare exception :) It is the one thing that still doesn't feel comfortable to me, although I do like the interface of iCal very much. Am I just strange? Does everyone else love this application to death? You don't have to be nice.

I complained about not having FTP upload capability within the GUI, but even with Transmit 2 installed I'm finding myself using a Terminal window (command prompt) to ftp. The ability to ssh from Terminal is also very nice, oh how I wish the XP command prompt had that functionality natively.

I made this post because someone commented that they needed more reading material. I know how frustrating it can be to feel like you've read every last thing on the 'net, so I hope you enjoyed it :)
Comments Locked

47 Comments

View All Comments

  • Anonymous - Monday, March 1, 2004 - link

    From the desktop command-up opens your home folder, which is the desktop's enclosing folder.
  • SmurfTower - Monday, March 1, 2004 - link

    Yes. Try it again but on the desktop this time. :)
  • Anonymous - Monday, March 1, 2004 - link

    > (if you use the up arrow it will open a new finder window).

    no. if you use the up arrow it will open the enclosing folder (in a new window, right, but that's not the point ;)
  • Anonymous - Monday, March 1, 2004 - link

    To open a folder on the desktop or anywhere else, just highlight the folder and hit command+down arrow (if you use the up arrow it will open a new finder window).
  • SmurfTower - Monday, March 1, 2004 - link

    Keyboard Shortcuts
    http://docs.info.apple.com/article.html?artnum=754...
  • Anonymous - Monday, March 1, 2004 - link

    "One of the features I absolutely love is the constant parsing, tokenizing and linking of your source code. That is, you don't have to compile your project to find out your errors, the IDE works them out as you type"

    That sounds cool. but does it find the location of the errors more reliably than a normal compiler? also, how does it deal with code you haven't finished writing yet? does it identify a variable you're not finished typing as an undefined var?

    "it maintains the symbol tree so when you ask for all the uses of a method or variable, it finds only those uses"

    xCode also maintains a symbol index (if you want it) and has fast searching to display query matches.
  • Bill Brown - Monday, March 1, 2004 - link

    May I recommend jEdit (http://www.jedit.org/) for your development needs. It has the best code editor I've ever seen. I don't do Java development, but it looks like it's got everything a Java developer would need. The best part is that I can copy my preferences on my OS X box over to my Windows box and the two environments will look and function *exactly* the same.
  • Jose Reyes - Monday, March 1, 2004 - link

    Java:

    I wouldn't mess around with any other tools for developing Java other than:

    1. Eclipse (www.eclipse.org)
    - Free Java IDE with built in CVS and JUnit management
    - 2.1 is stable

    2. IntelliJ (www.intellij.com)
    - Very nice Java IDE with an amazing GUI
    - 4.0 just released

    Both of these IDEs are phenomenal development tools. IntelliJ in particular has the most intuitive UI of ANY IDE I've ever used. One of the features I absolutely love is the constant parsing, tokenizing and linking of your source code. That is, you don't have to compile your project to find out your errors, the IDE works them out as you type (sortof like Microsoft Word with its little red squiggles). Additionally, it maintains the symbol tree so when you ask for all the uses of a method or variable, it finds only those uses (even though the method may be shared).

    A related feature are the refactoring tools (ala Martin Fowler) that allow you to rename, extract methods, change method signatures, etc... automagically.

    These IDEs are true productivity environments.
  • Anonymous - Monday, March 1, 2004 - link

    Oh and the Adium prefs are in ~/Library/Application Support/Adium 2
  • Anonymous - Monday, March 1, 2004 - link

    February 9th build of Adium: http://adium.sourceforge.net/downloads/Adium_02-09...

    I would first, however, recommend trashing all of your preferences to see if that fixes things. Due to the constant changes in the alpha, the prefs tend to get consistently trashed. You can't blame the coders for not handling this, as it would take them forever.

Log in

Don't have an account? Sign up now