From Windows To Mac - A Roller-Coaster Of Emotions
Yesterday morning, I walked into my office to find that my Lenovo / Windows XP Pro machine was frozen in the "shutting down" state; no doubt something was updated overnight that rendered the machine unstable. Upon trying to manually reboot the machine, I ended up with nothing by a black screen and a white mouse pointer. Rebooting again, this time into the ThinkVantage startup application, I was told that critical boot files were missing. Unfortunately, ThinkVantage was not able to restore those boot files (although it certainly kept telling me that it could).
When I told Clark Valberg about my situation, he suggested that it would be the perfect time to make the switch over to a Mac. And so it went, we headed up to the Apple store, found a decent MacBook Pro, and took the plunge:
There's no doubt that Apple computers are beautiful. In fact, pretty much all Apple products are thoroughly designed and aesthetically stunning. Even as a traditional PC user, I can testify that my iPhone and my iPad are a
thing of beauty. But, as the cliche goes, beauty is only skin deep; the real challenge is extending that beauty into the realm of the five senses.
That said, the last 24 hours have been.... interesting to say the least. By 11PM last night - 12 hours after initial Mac contact - I felt like I had been punched in the face then air-dropped into a hostile jungle; I was tired, disoriented, and feeling quite a bit of pain. It was as if I had suddenly stepped into Adrien Brody's role as Royce, only without the company of Alice Braga - the actress from Repo Men.
By the time I woke up this morning - 19 hours after initial Mac contact - I was starting to feel a bit more relaxed; my jaw was still clenched of course, but at least I was getting used to my new surroundings. I was able to install multi-instance versions of ColdFusion 9 and ColdFusion 8 (EAR files) on my own as well as configure the built-in Apache server to point to a central "Sites" directory. Jamie Krug then helped me figure out how to connect both ColdFusion instances to Apache via the wsconfig tool.
And - wait for it - I'm finally using ColdFusion Builder! Unless I can get Homesite installed on a virtual machine -- just kidding.
So far, here's what I have installed on my machine:
- ColdFusion 8
- ColdFusion 9
- ColdFusion Builder
- Apache (default install, configured)
- Navicat (MySQL client)
- Jing (Screen capture)
- CreativeSuite 5 (CS5)
- Adium (IM client)
- Skype (Voice over IP)
- ForkLift (FTP, S3, etc.)
- CoRD (Remote desktop client)
- JungleDisk (Backup software)
- QuickSilver (Launcher utility)
After getting all of these applications installed, the most important thing that I've learned so far is that the ColdFusion Community simply rocks!! And I don't mean just a little bit of rocking - I mean y'all rocked me right out of my own socks! I cannot get over how helpful and enthusiastic people have been about giving me advice. I couldn't post a "n00b" question on Twitter without getting helpful responses from at least 20 different people. If I didn't respond to you personally, it was only because I was overwhelmed with how much support I was receiving. I might be conflicted about switching from PC to Mac; but, at least I know that I'll be bringing all of you with me on this overly anti-aliased journey.
Now, 9PM - 30 hours after initial Mac contact - I am fully up and running. I might not totally understand how it all works, but at least I am at the point where I can be productive. To my surprise, the one feature I always thought I would love - Spaces - is one of the first features that I felt I had to disable. Transitioning from space to space was very disorienting. Something about the animation or the timing totally threw me off; I would get to the target space and suddenly forget what I was doing.
At first, I thought maybe I just didn't have the cognitive modeling power to keep so many spaces in my head. But upon reflection, I think it might just be the total opposite. Years of Alt-Tabbing have forced me to expect instantaneous interface changes; and now that there's a relatively long animation between space positioning, the machine can no longer keep up with the model I have in my head. I think it's this lag that's throwing me off. After all, minus the animation, there's no real difference between Alt-Tab and swapping spaces.
Anyway, now I'm back to one screen and Alt-Tabbing - er'um Command-Tabbing - with joy. I still don't like the fact that Mac draws a hard distinction between swapping applications (Command-Tab) and swapping windows (Command-Tilda). In the digital age with the prevalence of the "Cloud," this distinction feels very much like an archaic approach to system navigation. As a web developer, I feel like Macs have, and continue to, miss the mark on this behavior. When I'm programming, I'm never in one application or the other - I'm constantly Command-Tabbing from editor, to development browser, to email browser, to R&D browser, to finder, to graphics program, and then back. I don't think in terms of browsers - I think in terms of windows. I use a "stack" of software and every layer of that stack is crucial.
We'll see how strongly I feel about this in a few weeks.
Thanks again to everyone who has helped me get this far. I know Mac users simply rave about how awesome their machines are; so, I am truly excited to get to know this beast a bit better. Hopefully, over the next couple of months, this will start to feel more natural. And, who knows - I might even have some advice of my own to offer one day.
I agree with you about Spaces - tried it, and turned it off almost immediately. I also find that I rarely use Expose. It's handy, especially when you have lots of windows but now I'm so keyed to Command-Tabbing.
I also find that I don't use the Dashboard widgets. A shame, because it's a good idea in theory, mini-apps, but well, "out of sight, out of mind".
You'll want to get iStat Menu. Really, really good, especially when something is slowing you down and you need to find out what process you need to kill (I find that Growl, triggered by NetNewsWire, almost always results in a runaway process such that I have to kill it so I can take back control).
It takes getting used to at first. I'm one of those people who would take a Mac first any day now though. But that's just my preference.
A few suggestions for apps:
Smultron (Free) - Quick and simple text editor; I use it daily, many times
Bluebird (Free) - Very clean Twitter app (doesn't have the multiple feeds like Tweetdeck, but it's easily my favorite client so far)
CSSEdit ($30?) - Best editor for CSS I've ever used
Transmit ($34) - SFTP / FTP /etc client by Panic; was tempted by Forklift, but this one won me over with its (IMO) better UI
Versions is a great SVN app, but I haven't been able to push myself to buy the license ($50?)
Some little known gems in OS X:
FileMerge is a fantastic file compare tool.
Activity Monitor can be your best friend; it's basically ctrl+alt+del
Console is another good system utility for seeing trouble-causing apps, it's where basically any and everything gets logged that goes on with the system
Cmd+Opt+Esc brings up a Force Quit menu (can also be found in the Apple menu) for apps that decide to go all kung fu on your machine
Cmd+Shift+3, Cmd+Shift+4... 3 gives you a full screenshot, 4 lets you drag a box and create one.. would kill for this to be built into Windows
I'd say more but this is getting long. Hope this helps.
Glad to see your getting up to speed! One thing that I noticed about spaces was that I could only use them in a certain configuration before they got really cumbersome. I have to use 4 spaces only configured in 2 columns and 2 rows only.
That way I only have to switch one space in any direction to get what I need. I keep browser and editor on Space 1, IM and Twitter on 2, Email on 3, then the 4th is for Sequel Pro or Photoshop depending on what Im building at the time. You get really used to using the CTRL + arrows to jump between apps like that... I never got used to the CTRL + num key for the space though, only the arrows.
Something else to note, search GitHub and grab the CFTextmate bundle for Textmate, great for quick clean editing when you need it. Also if you are using MySQL, have a look at Sequel Pro (free app)... its one of the nicest out there for db editing, etc.
Keep it up and most of all, relax and have fun!
VMWare Fusion is hella cool...you can run Mac and Windows together in the same workspace using what they call "Unity Mode". Seeing the start button and task bar alongside the os x dock with Mac and windows programs running together is cool stuff. It's good to have Windows around for browser testing.
Welcome to the Mac.
Here are some recommendations to help make the transition less of an ordeal.
Dreamweaver is a more comfortable text editor for the Mac than CF Builder. For one thing, it's a lot faster than Java. For another, you probably already know it. The wizards, templates, tag completion, etc, are all the same. And since both are from Adobe, I'm sure that Adobe won't mind my recommending Dreamweaver to you over CF Builder.
A lot of Mac programmers swear by TextMate. It's programmable like EMacs is programmable ... with great nerdy difficulty. As a CF, HTML and JS developer, I think you'd be happier with the built-in features of Dreamweaver.
If you don't like the trackpad, use a multi-button mouse. Macs work just fine with multi-button mice. I use Microsoft IntelliMouse Optical (with a tail, not wireless) and can program all 5 buttons of it on a Mac. (Surprisingly, I can use only the standard left and right buttons on Windows XP Professional 64-bit. The Mac supports their hardware better than they do!)
QuicKeys from Startly Technologies is a full-fledged event programming environment. Don't let anyone tell you that it's just a keyboard mapping utility. For a Directory Watcher, I would still prefer to use ColdFusion. For batch photo editing, I would still prefer GraphicConverter from LemkeSoft. But for programming of GUI interactions, it's hard to beat QuicKeys.
Xcode (comes with the Mac) will enable you to write COMPILED iPhone/iPad apps. Objective C's [object name:value name:value ...] syntax for "sending a message to an object", like Smalltalk, takes a little getting used to. If you're already in the iPhone Developers Program, you have access to a ton of videos that show you what its late binding can do.
If you like Unix, the Nirvana Editor (nedit) works just fine on a Mac, though it doesn't have the tag completion, etc, you probably like about Dreamweaver and HomeSite+. Ethereal (IP packet capture utility) works just fine on a Mac too, though you have to launch it with sudo. Both use X11, so I have X11 in my Dock instead of the Terminal. Also both are free.
If you DON'T like Unix, you can monitor the secret Internet behavior of your apps with Little Snitch. No app can "phone home" and not get caught on a Mac. It's not as nerdy as the IP packet capture of Ethereal, but a lot easier. (I don't use it because I have Ethereal, but a lot of folks swear by it.)
For Mac community, Macintouch.com is a good starting place. And for Mac news, AppleInsider.com is great. (They got sued by Apple and won, so they've been brash about exposing inside info about Apple ever since.)
Hope this helps.
Like Russ, I use Spaces such that I define a purpose each virtual desktop (4 of them). For example:
1) Communication - iCal, Mail, Adium, iChat
2) Development - Eclipse, Firefox, MySQL Workbench, Terminal
3) Entertainment - iTunes, VLC, Google Chrome
4) VM - Parallels with Windows XP/7, and behind that, Activity Monitor next to a Console
With each space, I can have my applications full screen, or have the various windows arranged the way I like. I can then quickly switch to the proper desktop depending on what task I need to work on.
I also have Spaces to switch to the exact space with the Alt key, i.e. Alt-1, Alt-2, Alt-3, Alt-4
But that's how I roll...
Ben, Congrats on the switch. I made the switch a few years back and at first it was a bit disorientating. It took me a little bit to learn the OS X keyboard short cuts. Command, Option (Alt) and Ctrl keys mess with at times.
Spaces: I love them, but then I first started using multiple desktops (aka spaces) under FreeBSD and then Linux years ago. I have 4 spaces setup. Space 1: Browser, email, communications like twitter and such and other random apps that I use once in a while. Space 2: is dedicated to remote connections like my servers via VNC or SSH. Space 3: Dedicated to code, CFEClipse, CFBuilder, Flash Builder etc. Space 4: Dedicated to my database software PGAdmin and MySQLWorkbench.
In the system preferences for spaces you can specify a default space for applications when they start. Sometimes it's a bit cumbersome to switch between code and the browser spaces for testing. To rectify that I hooked up my older 19" LCD display as a second monitor. Now I have 4 spaces each with dual displays. That ROCKS!
I have also connected a MS Natural keyboard and Logitech trackball for use when I at my home desk. There is software on the Mac that will let you map the Windows keyboard to match the Mac functionality.
Other cool apps;
Text Wrangler from Barebones - wicked text editing with syntax color coding for most any code language. And it lets you edit OS X config files with ease. (FREE)
Chicken of the VNC - great VNC app to connect to remote computers/servers (FREE)
VMWare Fusion: Really good VM software. Not too expensive. I use it to test Linux server setups.
Crossover: Lets you run Windows apps seamlessly on the Mac (well sort of by using WINE) ($39.95)
Deeper: sort of like MS Power tools but for the Mac.
Titanium Developer: Cool cross compiling application for mobile phone development (iPhone, Android, and more platforms coming soon.) Base price is free.
Flip4mac plugin for quicktime - lets you use certain MS media formats.
TrashMe: Really good unistaller for those drag and drop Mac apps. This finds the "other" stuff that an app installs without telling you and lets you choose to remove those parts as well.
SimplyBurns: For me its the best CD/DVD burning software for the Mac. (FREE)
DBVisualizer: pretty good DB software for most DB platforms including MS. (FREE)
SpeedCalc: beter that the normal OS X Calulator.
CoconutBattery: Tracks your batteries health. (Free)
iBiz: Billing and accounting app for tracking your hours and billing/payments for your clients. (Free trial/$40)
MacKeeper: Realy cool utility that helps you recover 'lost' disk space and more. (free trial/$40)
And I'm sure other will post more. Lynda.com has some good videos for those transitioning to the mac. Helps you learn the "Mac Way" of doing things.
I agree with the spaces thing. I'm running Ubuntu on my laptop and turned it off pretty sharpish after I got a nice looking dock and mouse gestures setup to trigger expose (sure, I can keyboard while I'm at it, but a quick flick of the mouse is easier while I'm using the mouse already). Once you can switch apps easily, multiple spaces just seemed to be one more thing to manage in your head.
I've heard you can setup custom mouse gestures with OSX (I had to download an app in Ubuntu), truly awesome when your using an app that makes use of the mouse more than the keyboard.
In short time you will realise, that this Mac is just as much as a pc, as your lenovo was, with crashes and problems as well. But you might still love it more. In the end Macs make you forgive them their mistakes, by being stunningly beautiful and good mannered in user interaction.
If you decide to go back to PC, try windows 7, it's really the best OS that MS has created. I went from XP straight to win7 and IMO, it's the best. I have a lenovo with an i3 and 6 gig of ram that i picked up for 599 and it really is a power house of a machine for what it came with. I did add a video card and bigger power supply so that I can support 3 monitors, that's the only mods to this machine that i did.
Anyhow, good luck with the new mac!
I hope that you and Clark you weren't attempting to do this in the middle of a project. I shudder think of how many productive hours were lost due to the drastic switch. :)
I will say that if drastically pushing you out of your comfort zone is what it takes to get you off of HomeSite+ and onto CFBuilder, than... it's probably a good thing. :) I look forward to seeing what weird CFB Extensions you might write about.
I can certainly relate to how emotional it would be switching. Trying to force myself away from Dreamweaver to CFBuilder was trying at times and I gave up repeatedly especially if there was a deadline nearby. I was just so much more productive in Dreamweaver due to all the shortcut keys and such. It wasn't until I splurged my own money for my own copy of CFBuilder that I took it seriously. I keep Dreamweaver is on standby if CFB goes wonky on me.
I'm just glad I had the ability to remap some keys and change the editor profile to Dreamweaver to keep the color coding that I was already used to.
Hey Ben, thanks for sharing your experience. I've considered going to Mac, but as a long time PC user who DIY, and rarely uses a laptop, I can hardly justify the costs. I guess mainly I'd miss the ability to inexpensively customize a powerful PC. Also, as a veteran gamer, although I don't game as much anymore, I'd miss the selection of entertainment I currently have available to me.
Apple really does make gorgeous hardware. It's what they are good at. In the years that I was a system admin I worked with a number of Macs and learned them relatively well. I always found the OS to be disorienting, things just seemed out of place.
I own one Apple device, an iPod, and it's probably the most durable and elegant piece of electronics I own. But I've also owned my current PC for 4 years and seen no degradation of performance, so the cost/year to use is extremely low to me. I could easily see that cost tripling or quadrupling if I switched to a Mac.
Plus, I hate Apple as a company :)
Russ mentioned it already but check out www.sequelpro.com for a MySQL client!
Transmit is a great FTP program but if you are looking for free check out Cyberduck it well worth it!
Appzapper is an easy way of deleting apps cleanly ... though with a Mac its a hell of a lot easier to uninstall a program (all except for Adobe products which require uninstaller's)
Rucksackapp.com can unzip anything that I have thrown at it
If you do a lot of SVN stuff (outside of eclipse) check out www.versionsapp.com
Transmission for a lightweight torrent client www.transmissionbt.com
If you do a lot of writing :) check out writeroom which is a good prog to block out all other applications so you can concentrate on the task at hand. http://www.hogbaysoftware.com/products/writeroom
I have nothing productive (ha ha) to say about the new computer (save "congrats" :), but I do have to brag that I immediately knew to what your subject line for the blog post was refering. Movie geek FTW!
+1 for Versions, great SVN app for OS X. VMWare Fusion is good, but check out VirtualBox, it's free and I find it runs a little snappier (plus gives you the option to run a VM in headless mode if you just want a server running).
About the trackpad/mouse, I was never a big trackpad guy until I got a MBP. Now I prefer the trackpad over everything else, multi-touch FTW.
Also a note about Titanium Developer, it can also be used for building cross-platform desktop apps as well.
If you get homesick for Homesite again definitely checkout Textmate with the Rob Rohan CFML bundles. Yep same guy who created CFEclipse.
It's not a replacement for everything CF Builder does but it is wicked fast.
I bet you just made ColdFusionJedi shed a tear.
You need to try DropBox it is awesome, store all your files locally and they sync offsite.
If you use multiple computers its even better. Keeps full history, rollback etc.
There is a free version, but I used a paid version and store everything, its awesome.
I think you'll have fun with your Mac it took me about a week back in the day before I really loved it. My 2 Cents.
1. Transmit for ftp is worth every penny.
2. Smultron is fantastic for quick file edits.
3. I might get flamed for this but I had to buy MS Office. Open Office just was too incomparable for what I wanted to do.
4. I guess I am in the minority but I love cfbuilder. I can code much faster in it that Dreamweaver. I don't understand the speed comments. It's not 10 years ago Java runs great :)
Make sure to purchase Applecare and register it. I use my laptop constantly and things have gone wrong just from it's continued use. DVD drive got stuck Apple store fixed. Top code was wearing weirdly apple store replaced. Hardware and software issues happen and my Apple Store here is awesome :)
On a slightly unrelated note I have Windows 7 on my gaming PC and it's terrible. I have nothing but Starcraft 2 on it now and it always dies and never comes back from sleep mode. They posted a patch 2 weeks ago and I had to rebuild my machine.
I have had far fewer issues with my Macs over the years and I use it about 100 times more.
@Jeff: I have Windows 7 and it has been nothing but awesome for me. I haven't had any sleep mode issues and I run more than just starcraft on it. :)
It could be my hobbled together Frankencomputer :)
@Jeff: Just making sure we weren't turning this into a OS flame war and that there's more factors than the OS involved. :)
I am not sure where I stand on Expose yet. I have it keyed to a button on my mouse; but, I haven't really found a use for it. I am also not a huge fan of Widgets. I feel like things like that (ie. Calculator, RegEx tester) are things I use in conjunction with other apps, not as standalone. The fact that they all show at once and darken the back screen seems counter-useful.
Thanks for the tips - I definitely needed a good text editor. TextEdit is junky monkey! I am not even sure that it can create non-RFT documents.
I'll also check out the file merge. I know BeyondCompare doesn't come for the Mac, which is a shame since it is the cat's pajamas.
I'll see how I start to feel about spaces. Right now, I am just going with the CMD+Tab; if that starts to get overwhelming, I'll look into a spaces-based organizational effort. So far, one screen is where it's at :)
Sounds pretty cool. I'm definitely gonna check out stuff like VirtualBox and the like.
Good stuff; I am already using a multi-button mouse and an external keboard (split / ergonomic). I find the track pads very disoriented. Plus, I often times need to click+scroll at the same time (a gesture that I believe is not possible with the track pads or with the magic mice... but I might be wrong there).
The biggest problem I have with spaces is that it doesn't work into a cognitive work flow. Meaning, when I want to go to a "type" of application, I have to think about work spaces. But for the most part, I think in terms of where have I been. When I CMD+TAB, it always brings up the apps in order of access, which is typically how I push/pop things off my memory :) But again, I'm only 2 days in, so who knows where I'll go with this.
Thanks for the suggestions. I'll look into them. I used to have a MS natural keyboard; now, I have the Logitech version. It's the only kind I can type on; we'll see how I hold up using my internal keyboard this weekend. Typically, typing on a smaller keyboard kills my wrists after a few minutes.
I find that both are ready to use - left hand is always on keyboard and right hand is typically on mouse; I find it faster to move my left hand than to move my mouse. Although, as I get disoriented, I do find myself using the dock more - a habit that I am trying to kill. I am sure that once I am more comfortable with the key commands, I'll stop using the dock for the most part. In fact, I should probably make the dock smaller so as to provide less temptation to be lazy.
Yo, for real! I've already force quite a number of times and even had to kill a thread in the Monitor. I've also had several long-running processes (ex. JungleDisk backup) simply stall and stop working. If anything, I've had more force-quitting on my Mac than I would typically on my Lenovo.
Yeah, I've heard great things about Windows 7.
Ha ha, yes yes, I'm using Builder :) So far, it's ok. I got some existing folders mapped to new "Projects" and it seems to work. It'll be interesting trying to get my local servers added.
I don't know much about customizing PCs; but I never really had any complaints about my Lenovo until is died. Plus, I am finding Fireworks in CS5 to be veeeery sluggish on my Mac. Perhaps I don't have enough RAM - it only came with 4GIGs... but then again my Lenovo only had 2GIGS.
As far as writing, I just need to find something with some good spell checking right now.
Oh man, I wasn't actually referring to anything in the subject line. You have me curious though?? I did try to make a reference to the Japanese move "Realm of the Senses" in my blog post, but accidentally called it realm of the *five* sense.
Yeah, people are very into the track pad; hence the Magic Track Pad that just came out. I am just not sure I can be as productive on it, especially in programs like Fireworks where I have to do a *lot* of click/drag combinations.
I'm really gonna give Builder my all for the time being; but we'll see where I go after that.
Ha ha ha, then my work here is done :)
Yeah, DropBox is one of those things that I really want to look into. I just set up JungleDisk for S3 backup. I know its unrelated; but, I want to start to embrace distributed file access.
Right now, I only have the built-in one year warranty from Apple; we'll see if I make it that long ;)
@Todd: Not me :) I have VMWARE on my Mac with Windows XP. That runs fine. Windows 7 just doesn't like me :)
@Ben: You will, I have faith :) It has just been worth it every time I have purchased it. I didn't buy the extended warranty on my TV, but I like walking into the Apple Store when I have an issue and getting the "No problem be fixed in a couple hours". :)
I am impressed you got it all to work with the built-in apache. I went with MAMP for my install as CF8 was such a bear for while. Granted I just stayed with it after when I added CF9.
If you use SVN check out SVNX I use that it does a few things subclipse in cfbuilder doesn't do.
The biggest stumbling block with the built-in Apache install was simply figuring out where the heck the application files were installed. The whole concept of hidden folders "/etc, /usr", are very new to me. I am very nervous that I am going to be installing things in the wrong place.
For example, if Apache was in the /etc directory, wouldn't it also make sense to put JRUN4 and ColdFusion in the /etc folder as well? After all, these three things are extremely tightly coupled.
But, I ended up installing JRUN and CF in the /Applications folder. I suspect this was a sloppy move. I need to find a documentation that thoroughly outlines the nature of these directories and why I should put things in each.
I use VMWare fusion with XP Pro and Windows 7. My XP Pro VM seems to run REALLY slow, while the 7 VM runs super fast.
I agree that MS made up for their screwups with 7. But using windows is still like running in dinoasaur mode when compared to Mac.
@Ben: It is weird I think it's more to do with the Coldfusion installer. The Windows CF installer is much better. They have made better strives with the Mac installers as we go ( CF 9 worked very well ). I think putting it in Applications has more to do with being on a "MAC". If you use the built in Webserver and CF isn't installed in Applications it makes it very hard to get to the wwwroot folder. I have it installed that way and I haven't had any issues so it should be fine. I don't think most MAC users who aren't developers use the Terminal much.
The other weird thing if you are working with MYSQL. The load commands work a little different since the file paths and OS Delimiters are different. if you are going to be doing them from Windows and Linux ( working with other people ) you need to take that into account.
I'm Windows Free since 2003, I'm much happier in the last 7 years.
Today, all our coders use Mac and/or Linux as desktops and linux for all our servers.
Good luck with your Mac, I'm sure you're gonna be MUCH more productive now.
You can switch to plain text in TextEdit: Command-Shift-T. There is also a preference to always create new documents as plain text. Although may I recommend BBEdit...
He has finally seen the error of his ways and joined the CFBuilder side:
For my CF development I use these apps:
- Coda instead of HomeSite+ (which has good SVN integration, snippets, CFML code insight and syntax highlighting)
- Changes instead of Beyond Compare (exactly the same)
- Navicat (which I saw you already use)
- I used to use Cyberduck, but am now testing Interarchy for FTP which looks really nice.
I only have 2 apps left that I still need to use Parallels for: SQL Enterprise Manager (if anyone knows of a good alternative?) and Unreal Tournament :)
@Haters: Directly above the Comment boxes: "And, above all, please by nice to each other - we're trying to have a good conversation here."
You might want to move this Windows / Mac hatred to RoughlyDrafted.com, Daniel Eran Dilger's site. He's a Mac guru and insider who actually invites OS flame wars on his site. Goads it himself. Also Republican / Democrat flame wars. I'm sure you'll find some topic there that will make you angry.
@Ben: Since the ColdFusion community is very helpful and supportive, and the Mac community is very helpful and supportive, it should come as no surprise that the ColdFusion Mac community is extremely helpful and supportive.
You really ought to get into Adobe's prerelease program. They really need someone to test out new features on the Mac (CF, CF Builder, etc). You're of exactly the mindset they're looking for. Try stuff, experiment, see if it works, get all excited about new tech possibilities, etc. The only thing you might hate about it is not being able to blog about your discoveries until the product is released and you're out of non-disclosure agreement.
I mention the prerelease program because they get tons of Windows testers, but Mac, not so much.
@Mingo for SQL manager try RazorSQL (razorsql.com)
@Ben You might want to check out a couple of other apps that I've found to be handy:
Charles - debugging proxy app (charlesproxy.com)
LittleSnapper for full web page captures. and
Socialite for twitter/facebook/rss feeds (realmacsoftware.com/)
An Alternative to Versions is CornerStone (zennaware.com)
I also recommend OmniGroup apps -OmniGraffe to replace Viso, OmniFocus as a task manager, and OmniPlan to replace MS Project.
I also use coda for quick work - it's CF friendly, though not as robust a IDE for CF as CFBUilder, IMHO.
Good luck on your transition to the mac.
@Rubbergumball, thanks I've tried that one and most other Java based programs, but they all feel like I'm still on Windows and if that's the case, then why not use Parallels?
Also, SQL Enterprise Manager and SQL Query Analyzer offer much more: backup management, index tuning, DTS. Those are things that I now either have to do on the server through RDS or using Parallels.
@Ben- I thought you were refering to the wonderful song by Vivian Green. Here's the link: http://www.youtube.com/watch?v=63TudFk9-u8 (figured you were having a love-hate relationship with your new Mac)
Ben Ben Ben. What were you thinking? After depriving yourself of the productivity-enhancing innovation-dripping bliss that is Windows 7 for all these years you actually go and take a full step backwards? JK. Sort of.
Just an FYI, Apple has a 10% restocking fee policy on returns but you can usually get them to waive it by mentioning how slow the OS is and all of the little ways it fails on usability and interaction design compared to Windows.
That's one thing I noticed, no matter what hardware combo you go with OS X is unbelievably slow. I grabbed one of the 2.66 i7 MBPs on release day and had them put 8GB of RAM in it at the Apple store and then threw in an Intel X25-M SSD and it still felt sooooooooooooo embarrassingly slow. You'd think that once you break the $3k mark for a computer there should be some sort of guarantee of responsiveness.
I've "switched to mac" literally 10 times now and they've always waived it for me after I've made sure that OS X is still the same old productivity-murdering OS it's been since Leopard.
Anyway, please keep the Windows to Mac switch posts coming, very interested to watch you slowly delve into the impressive sea of limitations that is OS X from an XP developer's point of view.
If you're going to be using your MacBook Pro as a laptop even a little bit, slap on Jitouch and read over its gestures ( http://www.jitouch.com/index.php?page=jitouch ).
Mac laptops' single greatest strength is their touchpad gestures, and that app takes it 4 levels further. It ( combined with Apple's built in gestures ) can really help in the war against OS X's complete disregard for advanced usability.
One other word of warning: Do not under any circumstances try to connect your MBP to more than 1 external monitor. You run a high risk of literally bricking ( to the point that it won't boot anymore ) OS X completely. I have 3 27" monitors at work and it took me 4 bricked i5 and i7 MacBook Pros to realize it was the external monitors doing it. Ironically, using them with Windows 7 in Boot Camp worked flawlessly on the MacBook Pro.
Anyway, enjoy! Keep us posted. And good luck ( realizing that OS X cripples your productivity enough that you're going to have to switch back to perform at the level you're used to before the return window expires ).
2 things that got me when I switched to Mac about 4 years ago…
Cursor acceleration was way different then windows. Fixed this with an app called SteerMouse.
Not being able to tab to select boxes on forms. Fixed this by enabling the "feature" in System Prefrences -> Keyboard.
Also grab AppCleaner it aides in removing extra crap when you want to uninstall an app.
I probably wouldn't have been able to do it (get it working with the built-in Apache) had I not previously gotten a lot of guidance from Jamie Krug to set up my windows machine. Setting it up on the Mac wasn't all that different - getting the WSConfig to run was just much more complicated!
Well, I'm not gonna lie - having a Mac definitely does open up a lot more coding opporutnities with things like Node.js and Ruby and Python and what not (several of which I think are pre-installed on the Mac). I'm looking to create a more well-rounded view of the programming world.
I just downloaded TextWrangler, which seems to be kind of good.
Ha ha ha, awesome.
Don't worry my man - I'll keep the conversation on track :) I think we have some good stuff to learn from all of our operating systems.
I'll have to check it out when I have my headphones.
Regarding the performance of the machine, the real make-it or break-it moment will be this coming Monday when I finally jump back into Fireworks to do some serious wireframing. If there is *any* performance problem in CS5 on Mac, I'm gonna find it extremely tedious. If I can't be efficient in Firework (which I use like 6 hours a day), then it really doesn't matter much what the rest of the machine is like.
As far as screens - I have one external monitor. I've already disabled Spaces ... I'm really just a one-monitor cognitive kind of guy.
Yeah, I had to fix the "Full keyboard" access right away. I have no idea whyyyy that would be disabled by default. It's like Mac simply doesn't want to cater to power users... but they actually want to prevent power users from being developed accidentally. Very curious approach.
@Ben and @David:
Sometimes slowdowns happen because of background processes that you didn't realize were going on. Spotlight indexing of your hard drive and Time Machine backups both have to do a lot of background input/output. The 3 major situations:
(1) New machine
(2) Just copied a lot of new files onto your hard drive
(3) Just did wholesale, batch editing of a bunch of files (such as Dreamweaver template changes)
See iTunes > Podcasts > Mac Quick Tips > "Restricting Spotlight" and "Restrict Time Machine".
In contrast, turning on FileVault encryption of your home directory, which you would THINK would cause a slowdown, doesn't at all, as far as I can tell.
As for non-Apple software, Flash is a big culprit, which may explain why Apple is such an advocate of getting away from it. I don't know whether it's Flash itself or the swfs that have tight, selfish event loops that don't let other processes get the CPU. Nobody wants their software to look bad, so the temptation is to say "screw all of the other processes, the user wants to see what **I'M** doing". They always seem to forget that the user sometimes toggles to another app to do something else, while their narcissistic whiz-bang chugs away in background, making itself fast, despite not being in-use.
To see for yourself the CPU, memory, I/O, network traffic, etc, use Applications > Utilities > Activity Monitor, as Aaron and Carlos suggested. I too have stopped using a couple of selfish applications based on what it told me.
The sheer load of video editing makes it the most demanding thing you can do. You need to throw hardware at that problem. Nothing else works.
Hope this helps.
@Ben, I thought you'd like to see that other folks also wish that Apple had defaulted to power user tab settings (elaborates on Firefox vs Safari):
The Systems Preferences dialog doesn't go far enough for my database-to-UI-optimized mind. It's a one-to-many relationship. There should be checkboxes for each kind of element you want to make focusable by keyboard tabbing, with check-all and clear-all buttons. :-)
In related tabby cat news, HTML 5 makes tabindex="-1" an officially standard way to make an element focusable with focus() without adding it to the keyboard tabbing sequence. It used to be a browser specific quirk that everyone ended up supporting. Now it's official.
Well, I definitely have a new machine, so perhaps there a lot of indexing going on behind the scenes. When I start to use Fireworks tomorrow at work, I'll definitely check out the Activity Monitor. As much as I hope it's not the machine's problem, I also hope that it's not simply a problem with Fireworks itself.
Ben, you're a lucky man ( being a "one-monitor cognitive kind of guy" ), I just can't do it.
I've got this insatiable sense of techDD and find myself in a never-ending search for the optimum dev environment ( right down to the type of lighting in my office, it's very very sad ).
I spent like 4 hours this weekend trying to make the right decision on whether to add another 2 monitors... this has got to be it. This has finally got to be the perfect CF workstation config. I think.
1st ( leftmost ) in landscape for large query prototyping and graphic design
2nd in portrait with project management software in fullscreen mode ( my tasks queue for the day ) and any relevant communication tools ( IM, email, campfire, etc. )
3rd ( middle ) in portrait with the windows taskbar up top and my IDE and the beautiful, beautiful code.
4th in portrait with Firefox in fullscreen mode with my app for testing
5th in portrait with Firebug popped off and maximized
This has to be it. These are all Dell 27" 1920x1200 displays, and that has to be the perfect setup.
Oh s-word, Dell makes a 27" 2560x1440 now. FML.
If nothing else this switch should give you a lot of new things to blog about. I'm looking forward see what you come up with.
Ack! My bad: going through my music today, I realized that the Vivian Green song from "De-Lovely" is not, in fact "Emotional Rollercoaster;" it's "Love for Sale!" (though in my defense, she is wearing the same outfit in the movie and in the video for "Emotional Roller Coaster) Anyway, enjoy the song- the whole album "A Love Story" is beyond amazing. :)
Hey man, I'm late to the show (as always) but just wanted to say congrats on the switch. I'm looking forward to your posts about your experiences with OSX.
Ha ha, awesome. I don't think my imagination is big enough to encompas even the image of so many screens :) However, I have to say the idea of having a whole monitor just for FireBug as a stand-alone view is ... hot!
Probably, my road to one-screen'dom comes from how I had two monitors set up a long long time ago. I had one straight on and one fully to the side. This cause me a lot of discomfort to look at the secondary one. I know a lot of people have both monitors off-center, which might feel better. I just never got into it.
Most definitely! Plus, it's forcing me to revert to "nano" use for some editing, which is making me super nostalgic for using Pine to check email in my computer science days in school circa 1999. Today, on a slightly more serious note, I was able to pipe Python and Ruby into Apache, which was pretty cool. I know so little about Apache that anytime I can do anything with it, I feel it is a real victory.
No worries; I am not familiar with that album, but I'll check it out.
Thanks! I'll try to be honest, but not too narrow-minded on how I talk about the Mac. I am finding some of it super frustrating; and, some of it cool.
Well, it's "real woman" music not "whiny college girl" music so you might not like it. ;)
Ha ha... unless it makes me cry, I am not sure I can get into it :P
Another vote for TextWrangler. I've looked at TextMate a lot before and it's awesome but there's not enough there to justify the $50 purchase for me.
I use Eclipse with cf_eclipse installed. Tried CF Builder when it was in beta and really didn't care for it too much. If it was free I might've tried it some more but the cost is a joke.
Nobody recommended iTerm yet? It's like the regular terminal but with customisable colours and tabbed terminals. Swish. And it's free.
Growl is another handy app for getting notifications from various apps which integrate with it.
No imagination necessary: http://www.creayt.com/share/ben.jpg
But I definitely get that. I was never able to work off of 2 monitors at once either because of an overwhelming feeling of asymmetry. I hated it and switched from 2 back to 1 various times before I tried 3.
But 3 ( or 5 if I go that route ) actually ends up feeling realllly comfortable and balanced. Not to mention futuristic.
1 main monitor perpendicular to my eyeballs where most of the real action takes place ( coding ), and then the other monitors wrap around me like a semi-hexagon ( or pentagon if I go 5 ) to minimize the need to turn your head ( they're all perpendicular to my face basically ).
By dedicating each monitor to a specific purpose, a natural, intuitive workflow evolves and from what I can gather actual productivity jumps up quite a bit and developmental comfort and fluidity improves TONS. At least for me. It's really hard for me not to cry a single tear any time I'm at a single monitor setup now.
Right now, I'm mostly using CFBuilder. I need to take some time to actually configure all the hot keys in it and the color coding (holy cow, why do comments default to BRIGHT YELLOW!?!). The only reason I jump into TextWranger is because it does line wrapping easy-toggle-style.
Awesome setup :) You can see like twice as many lines of code as I can - I'm now jealous. Right now, what I have is a Mac monitor and my MacBook next to me; but, the MacBook is closed. Perhaps I'll try one of those setups where people use their MBP as a second monitor. I would just need to get a special stand for it.
Whoa, what a HUGE thread.
I got my first/only Macintosh MacBook 4 yrs ago after the Intel switch. I have no issues of "slowness," for the most part (2GHz single/2GB RAM).
I <3 Time Machine (your Lenovo might still be running had it had something similar).
All that said, I've come to a "coin flip" on the Mac/PC debate.
PC Pros: TONS of programs, inexpensive, inter-compatibility (w/o the cost).
PC Cons: "POP! Click here to update!!!" * 15 different vendors, possible cheap junk hardware, AV software practically a must.
Mac Pros: More unified software update (I say "more" not "perfect"), I haven't had AV software ever, tested hardware.
Mac Cons: $$$$$$, I had a hard drive fail days after the 1 yr warranty thus yet another $100 spent 12 mos and days after purchase, lack of customizability (both for hardware & Apple software).
I love being up and running within 4 seconds.
I rarely reboot.
I rarely am annoyed.
I'll probably build my next PC and go Win7, but would consider a Hackintosh for sure.
Keep us posted on your ultimate preference.
Ironically, Lenovo does have something like TimeMachine... I just kept saying "Remind Me Later"... for 2 years :) Oh well, you live and you learn. Now, I am using JungleDisk to back up my computer to Amazon S3.
I do have to say that the restart and the general bootup of all software is significantly faster than on the PC. That is a very nice thing.
By general bootup of all software do you mean like launching apps?
What kind of hardware are you coming from? I've actually had the exact opposite experience. Everything ( even launching browsers and IDEs ) seems measurably slower on OS X. To the point that it gets frustrating.
Also, which mac did you go with? What are the specs? Inquiring minds.
The computer starts up faster, no question. I also think that the apps start up faster... but, with the switch over, I am so out of my element right now that I probably wouldn't know truthfully if something was faster or my mindset is just different.
As far as the machine goes, here is what the "About This Mac" is telling me:
Processor: 2.66 GHz Intel Core i7
Memory: 4 GB 1067 MHz DDR3
That's so crazy, "MacBook Pro6,1" is what mine is shows too.
The 17" matte screen at 1920 x 1200 is easily the best screen I've ever had on a laptop, but the machine itself just seems too latent and inertial for me to feel comfortable with during development.
This Sony: http://www.bestbuy.com/site/Sony+-+VAIO+Laptop+/+Intel%26%23174;+Core%26%23153;+i7+Processor+/+16.4%22+Display+/+6GB+Memory+/+640GB+Hard+Drive+-+Black/9987998.p?id=1218205766476&skuId=9987998 ( which cost literally half as much ), felt so much faster and more responsive while I had it, which is crazy because the processor clock speed is way lower.
I wonder if the box you came from was particularly slow or if I'm just delusional or what. I don't THINK I've been smoking that much crack.
Is it possible you were on like a Pentium M before this? Or got an SSD model? That would definitely explain it, although if so the performance will degrade severely over time because OS X doesn't support trim. A few weeks ago I had an Apple genius literally tell me that if I wanted to use an SSD I should use Windows 7 through bootcamp instead of OS X because of the performance over time.
Definitely don't install anything in /etc! The hidden folders are hidden to prevent casual users from messing up the system. The same is true on Windows installs by default. If you go into the /Windows folder it'll tell you the system files are hidden to protect you and not to reveal them unless you really know what you're doing. You can make Finder show them, but you're better off just using Terminal or Finder's "Go to Folder" to access them when needed.
The layout of the hidden folders is a standard that's shared across all *nix machines.
/etc is for configuration files. If you wanted to install JRun like on a *nix machine you'd put it in /usr/local/jrun (or /opt/jrun but Apple doesn't use /opt). Personally I keep it in /Applications/JRun4; putting things in *nix locations when they're not required doesn't benefit you. :)
If there's any one productivity benefit over Windows I'd cite it's having a full BSD toolchain by default. Learn to love Terminal: grep, awk, perl/python/ruby/php, even svn are all included with OS X. As a Windows switcher you'll want to install lots of GUI apps to add features that already exist in OS X from the shell. Also look at Automator. You can build some badass workflows to do all kinds of things like batch resize, crop and export photos or convert files to PDF.
Also check out http://www.macosxhints.com/ Apple tries really hard to make things simple and hide options that only a few users will use (which drives Windows Power Users who switch crazy). Often there's hidden options that'll solve your problems. Check out the Secrets preference pane http://secrets.blacktree.com/ to learn about lots of commonly used options. They really just call the "defaults" command line program though, which writes out plist files in the Preferences folder, kind of like editing the registry in Windows.
I'll leave you with a fun short cut. Apple+Shift+4 (now you can drag a box to take screenshot of part of the screen). Apple+Shift+4 then hit spacebar. You'll see a camera cursor. Drag it around and it'll take a screenshot of specific windows (highlighted in blue).
(Apologies for the extra long comment)
Elliot, there's actually no longer an apple key on new macs/keyboards. Just command. PS thanks for the primer. That was really informative.
I loved my last machine. It was a new Lenovo, 2GB ram. Honestly, before it crashed, I never had any problems with it at all. It was awesome.
To be honest, the applications might not be a big difference. Of course, how many apps am I actually comparing? I went from CS3 to CS5; I went from Homesite to ColdFusion Builder. Just about the only real app that translates is Firefox and Chrome... ok, so maybe it is a bit in my mind :)
I have to say, when you mention that hidden folders are hidden for a reason, that is definitely very comforting and very calming. I think I was stressed about an entirely new OS; I don't think I ever cared for my file organization on Windows and I saw this machine as a way to start over. Staring confused is never the right move.
Sounds like awesome websites - I'll be sure to check them out. I am looking forward to becoming more of a "power user". I've already used the command line / Terminal more than I really ever did with Windows.
There's one app I forgot to mention, that I love, love, love! Snapz Pro X . . . it's an expanded version of screenshotting. In addition to extra flexibility in taking screenshots, you can also use it to record QuickTime videos.
Oh, and here's the site . . . http://www.ambrosiasw.com/utilities/snapzprox/
Now that I've read the full story, I've no doubt that Clark sabotaged your old laptop over night ;-)
BTW, I too recall the good ol' college days of Pine for e-mail and emacs for C/C++ programming... I do use nano a good deal on Linux machines--never became one of those hardcore vi people.
I'll have to visit Epicenter to show off my Ubuntu machine :P
Ben, while you're thinking about editors, I poked you a bit ago via your contact form about looking into JetBrains' IntelliJ IDEA. There's a CFML plugin that's still a little rough around the edges, but overall I'm really liking the whole environment, enough to put my money down after the end of my 30 day trial. (The CFML plugin requires the paid version; for java and some other languages alone there's a Community Edition.)
I filed a bunch of bugs against the plugin, and the vast majority were fixed during my 30 day trial. The developer who seems to handle the CFML plugin is on vacation at the moment, so more have accumulated, and there's definitely work to do, but she and support have been great. One thing that's missing is a CFML debugger, but clearly the platform supports it (I've used the Ant debugger, very nice.). The folks at both both FusionDebug and Fusion Reactor have expressed interest, so I think the next move belongs to JetBrains. I hope something comes of that, we'll see.
Frankly I'm puzzled as to why more people aren't all over this. Hopefully this post will get some people's attention; that's why I contacted you, hoping to get the word out.
I could go on, but really, just try it. I'm happier than I've ever been with any editor. Give it a shot, the rest of you too (:-).
@dave that is some butt ugly software... when i use a mac i want my apps to sing to me. I know its superficial but hey i like what i like
@Sam Spade: Hmmm, never seen it on a mac, but it looks right at home on win7. Not a work of art, but that's not what I need in an editor, and how it works *does* sing to me (:-)
Thanks for the link. I feel like I've use Ambrosia software for something else, but can't remember. Based on what @Elliott said, it looks like the Mac can do some beasty screen-shotting out of the box (as long as you have a whole lot of fingers for key-combos ;)).
I think I tried vi once, but I had no idea what the commands were. Nano is nice cause they at least tell you what the CTRL commands are at the bottom - user experience FTW! ... and hey, if you ever come down here for a CFUG, I'll be more than happy to check out Ubuntu.
I remember your email coming in, but have not gotten around to processing it (to give you an idea of what kind of queue I'm dealing with). I've recently put down money for a ColdFusion Builder license. So far, it's decent. There are some things that are driving me crazy; but, mostly those relate to my key combos not being configured yet. It's CSS editor seems to *suck* at intellisense, in that it basically freezes up my machine every time I try to write a rule. Clearly, I'll be disabling that!
@Ben, not to wory about not responding yet. I know your queue is deep and wide.
Re CF builder css freezeup, in all IDEs I've tried that have some kind of structure view, there's sometimes some thrash when an edit temporarily makes the document "dom" unparsable. Unsuprisingly, it's worse in large files; I hit this a lot w CFB in big object literal style js. IDEA has some of that too, but in my experience, less than any other editor with anything like comparable features.
It's almost too bad you've just committed to CFB, I would really have liked to see what you thought of it.
I'll stop now (:-)
I wouldn't say that I've committed to anything; I would never turn down the better solution simply because I had take a few steps down one road. I'll take a look at IntelliJ.. probably also Coda also as people seem to rave about it.
I think one think that would be nice would be able to turn of "validation" until the document is saved; so, not as I type, but rather only when I say that I am at a "stopping" point. This sounds like a feature that probably exists already - I just need to find it in the massive Preferences configuration.
It's been 2 weeks! Can we get a follow up post with deep thoughts and introspections on the switch?
Things are getting a bit easier; some things are remaining difficult. I was gonna try and not get into it too much until 30 days had past. However, I will probably write up a blog post about some minor things that have got me thinking.
Wow, you thinking about something and then blogging about it. Will wonders never cease? ;)
Btw, check out my blog tomorrow. Thought-provoking stuff, I hope... and since you're my blogging Yoda, I hope you'll find it even a little inspiring. :)
I'm curious how you're getting on with CFbuilder now that it's been a while. I am a very stubborn HomeSite+ user, and can't quite bring myself to move to CFB. I do though keep having this nagging feeling like I'm missing out on something, or being left behind. Any tips (or posts ;) on either why CFB is so much better, and should be used over HS, or how to make it feel a bit more like home(site)?
So far, my ColdFusion Builder usage has been pretty much uneventful. I've barely done anything to it for specialization; I haven't even put in more than one snippet. I keep meaning to set aside time to really configure it; but, for the time being, I've been using it with nothing more than a few modified color choices.
I've been doing a lot of design work lately, so I haven't had a need to really bend the Builder to my will. When I start working on some more projects, I am sure I will get more into it.
I do have to say, though, that I have started to like the idea of working on "Projects". It does keep my Navigator tab very clean.
It's been a month f to the yi.
Yeah, I've been meaning to write something down. I'm headed to BFusion/BFLEX this weekend, so not sure I can get anything down till early next week.
Good job Ben. Just took the plunge myself this week:
Ben, what MySQL IDE are you using on OS X? Navicat? PS you still owe the world your follow up to this post hahahahaha.
@David check out http://www.sequelpro.com/ for one the best (native) MySQL mac GUI's out there (and its free)
Have used it extensively and find it very limited and unfinished, but excited to see what it'll turn into if those guys stick with it and avoid some of the really silly ( crippling? ) interface approaches they take in the current version like a select tag for databases ( limits you to 1 at a time, wtc? ) and toe-level buttons to manipulate content way above.
But thanks for the link, I appreciate the thought.
I've been using Navicat for MySQL. It also just happened to come out MS SQL server support as well. It was an AMAZING app on Windows. But, to be completely honest, on Mac OSX, it seems to be a bit sluggish.
I'll get that review done of these days :D
I've been using Navicat for MySQL and Oracle and have no problems with it. But then again, I'm doing a lot of ORM development now so there isn't as much reason to go into the database itself...
If you don't mind spending out the only other DB software I use is Aqua Data Studio which is a beast but it can handle the majority of the main database engines out their
Apparently Navicat just released a new version that is compatible with MS SQL as well; I haven't tried it yet, buy my coworker has and he tells me it is sweet-ass-sweet.
I'm not familiar with that one. I'll take a peek-see.
The new Mac App Store offers Navicat for SQL Server Lite for free (though it is limited in functionality). I'm taking for a test drive now. Aqua Data Studio is pretty sweet,too - though I personally use Razor SQL
It's been almost a year now since the switch; thought I would finally share my delayed review:
Over all, and despite a few frictional points, I've been totally loving it.
Take a look on a free MySQL manager for mac os x - Valentina Studio http://www.valentina-db.com/en/valentina-studio-overview