Mac Web Dev Software

Every now and then, I’m asked what software I use on the Mac for what I do. Here’s by list with a few alternatives.

Coding, Styling, and Transfer

You could go with Panic’s Coda ($$), it’s sorta and IDE for the web. It’s got an editor, CSS visual editor, and file transfer build in. But I prefer TextMate ($) as an editor and CSSEdit ($) beats Coda as a visual editor in every way I care to measure. Some people like BareBones BBEdit ($$) or the TextWrangler (free) for editing. But I find TextMate is a more natural fit for the way I work and it is easy to customise and extend. Stay away from DreamWeaver.

For file transfer, there are quite a few options, but I like Panic’s Transmit ($). Most Mac file transfer utilities allow you to open a remote file in an external program and changes get shuttled back to the server seamlessly. It’s rare but I’ve had this clobber files before so keep backups. Other choices are Cyberduck and Fugu (both freeware, I think). I used Cyberduck for a few years, but switched to Transmit because Transmit is significantly faster than Cyberduck. Some people are using MacFuse based solutions to seamlessly extend the filesystem but I haven’t tried them yet.

Really, the best way to do file transfer is to develop locally, keep to code in a version control system like Subversion, GIT, or CVS. Login to the remote system and pull changes from your VCS. This way you can script the update process and easily extend it should you need clustered hosting. There are a lot of VCS clients out there, but I’m only going to mention two, svnX (free) and the command-line. SvnX isn’t feature complete but I use it because it provides a innovative view: a flatten view of the files showing only those that have changed. It is truly a time-saving feature. Why bother with the command-line client? because it is the most common, best supported, and if you are logging into remote servers with SSH you’ll have to learn the command-line client sooner or later.

Don’t forget to install the developer tools from the Mac OS install disc. It includes a few utilities that can come in handy, like FileMerge.

Servers

I use MAMP (free) and MAMP-Pro ($$). They are self contained MySql, Apache 2, and PHP installs with a GUI wrapper. The Pro version makes it easy to switch between sites, which for consulting, is well worth it. The Mac has Apache and PHP installed by default, but I find it is better to leave those to personal use and/or “Web sharing”. You never know when a system update might clobber your configuration. Also MAMP makes it easy to switch between PHP5 and PHP4, depending on your customers, this may be important. MAMP also includes phpMyAdmin.

For Rails use Locomotive (free) again for containment and convenience.

Graphics

Two paths: buy Adobe’s Photoshop suite ($$$-$$$$) or go indie. The Photoshop suite is a no-brainer if you do a lot of web and/or graphics work for hire, you’ll recoup the investment cost in no-time. The indie tools are orders of magnitude cheaper but are often missing key features I need like “Save for Web”. The indie graphic tools I’ve used include Pixelmator ($$), Acorn ($), and Lineform ($$). Gimp (free) also runs on the Mac, if you’re into that sort of thing. Personally, I don’t like using anything that require X windows in my main workflow.

Word of advice, it depends what you are doing, but always consider using a vector tool like Illustrator or Lineform rather than a bitmap tool like Photoshop. Sizes always change. For web-based work marketing wants it bigger, and management and users want it smaller. Then, maybe they’ll want to use your work in a print ad or on the business cards. Vector artwork has a better chance of looking good and any resolution.

Remote Maintainace

VNC is boon to mankind. Leopard includes screen sharing (aka VNC) but the client is tricky to find. I use Chicken of the VNC (free) because it provides connection bookmarks. VNC has 2 major downsides: it is slow and it is hard to automate. The solution is to use SSH to login into a box using the command-line.

SSH is included with Mac OS, but SSH Agent (free) provides a GUI for controlling keys and tunnels. Tunnels are important if you need access to a database or other machine that is firewalled away from normal access. It can save to tunnels to a file which is good for maintenance tunnels that aren’t used often enough to be scripted.

Sound

Maybe sound is not so important for web development, but for sound I’ve used Audacity (free), and Sound Studio ($$).

Upgraded

Upgraded the site to WordPress 2.5. Fairly painless.

Update

All of the “pages” have disappears. Good thing I only have around 5.

iPhone

its nearly 3am. I activated my new iphone at midnight when my contract ended. Must get some sleep.

buying abilify
acai powder
accutane xr
aciphex generic
Has anyone tried acomplia
order actonel online
actos generic
aleve generic
allegra price
weight loss pills alli
generic altace
antibiotics for dogs
buy aricept
buying arimidex
ashwagandha no prescription
can i get lung pain astelin
atacand best price
atarax mg
augmentin discount
no rx avandia online
order avapro
mail order avodart
Bactrim DS side effects
benadryl dosage for dogs
benicar
allergic reaction to biaxin
buspar rx
cheap cardizem
celebrex bextra
no rx celadrin
cephalexin medicine
cialis nz
Cipro dosage
CLA TONALIN
clarinex medicine
claritin uk
When Does Ovulation Occur After Clomid
clonidine overdose
cost of colchicine
coreg cautions
Coumadin Therapy
cozaar pills
creatine slow loading
crestor rx
buy cymbalta online
order cymbalta
Depakote 250MG
Diclofenac DSG
Zinc Acne Acne Best Counter Medication Over Acne Differin
diflucan for toe nail fungas
diovan uk
doxycycline side effect
effects of effexor on newborns
flagyl no prescription
women taking flomax
glucophage for weight loss
women’s hair loss
how to get rid of a hangover
Hoodia Patch
keppra and PDR
lexapro lamictal suicide
cheapest lamisil
buy lasix online
levaquin drugs
Generic Levitra
Lexapro Side Effects
diet pill lipitor
birth defects caused by Lisinopril
5 HTP and melatonin to help dreams
metformin xr
methotrexate metabolism
generic micardis online
mobic experience
motrin best price
msm information
neurontin side effects
order nexium
nizoral tablets
nolvadex rx
omnicef buy
paxil + recovering alcoholics
how to make a home extender for your penis
Is Phentermine Safe
phosphatidylserine
buy plan b online
cheap plavix no prescription
bontril pravachol cvs pharmacy maryland
prednisone information
premarin side effects
Prevacid generic
cheapest prometrium
propecia side effects
no rx provera
prozac description
reglan side effects
what is reminyl used to treat
rimonabant tablets
risperdal
no rx rogaine
seroquel and weight gain
generic singulair
skelaxin no prescription
atlanta stop smoking hypnotherapist
strattera tablets
stress relief desktop game
synthroid interaction with other drugs
tetracycline
no rx topamax
generic toprol xl
toradol mg
tramadol price
cost of trazodone
generic tricor online
trileptal uk
Tramadol Ultracet
valtrex dosage
viagra uk
cheap voltaren no prescription
cheap vytorin online
weight loss surgery
wellbutrin and drinking
yohimbe and psychic enhancement
zantac no prescription
Zetia and Vytorin study
order zestoretic
zithromax for 10 days
zoloft mg
zovirax tablets
Zyban Depression
Zyprexa reimbursement coding
zyrtec price
how does Zyvox kill the MRSA

Visual Studio 2008

After spending a few hours with Visual Studio 2008 pro trial, I take back anything bad I have ever said about Eclipse, NetBeans, or XCode. I need a shower.

“That’s something else, also terrible.”

I had the same question as everyone else who watched Cloverfield, Where can I get that camcorder? Seriously, that thing is awesome. Not only does it record for 90+ mins on single tape, it’s battery lasts for more than 24 hours. It’s got a light, night-vision that’s works better than anything else on the market, and a built-in microphone that captures dialog at any range (in surround sound no less). The picture quality is amazing and the zoom lens is unreal with fast auto-focusing. And talk about durable, this thing survived a helicopter crash, a fall from over 40 feet, and missile strikes.

Where is the coverage on the gadget blogs?

As for Cloverfield itself. The movie is very good. It’s a Blair Witch style Godzilla movie, except good and you get to see the monster. I might actually go watch it again.


Alternate title for this post: Hey, You got sappy romance in my monster movie! Hey, you got monsters in my sappy romance movie!

Short Circuit

Metal in the plug
Saturday, I had to drive an hour back from my friend’s house without my car stereo. Somehow, a piece of metal got lodged in the accessory plug, shorting out the plug the car stereo are on the same fuse.

The Metal
I haven’t seen the piece of metal before (shown above with the blown mini-fuse). It isn’t part of anything I plug into my car. I don’t know where it came from or how it came to be in the accessory plug.

Luckily, I knew how to disassemble my dash and was able to remove the plug to get at the offending metal more easily. I also took the opportunity to improve some of the connections on my stereo.

Still, it is strange.

2008

I thought I should actually try to get a post in before January is over. In 2008, I intend to write shorter posts and post more often. I also intend to work on my grammar and proofreading. BTW, the current theme on the blog is sort of a experiment. It will likely change over the next few months. What can I say, I’ve been busy.

I’ve intended to write a review of Lineform for over a year now — I registered before Freeverse took over the distribution. It’s been a while. Instead, I’ll simply say I like Lineform and I use it at least 3 days a week. It is not the most stable piece of software, but it gets the job done.

Now, VectorDesigner is out and I just downloaded the demo. It shows allot of promise. If it proves itself more stable than Lineform, I just might buy it. It seems to have all of Lineform’s features out of the gate and a Flikr browser, polygon and star tools, and raster-to-vector convertor. It has a iWork style inspector and, unlike Pixelmator, knows when to use HUD style windows without going overboard.

Update

Two major strikes against VectorDesigner. No SVG export and the gradients only work between two colors. Lineform has and SVG export/import and gradients can be built from any number of colors.

Android

Google released the Android SDK. The lower levels look alot like the Pepper SDK (see my previous articles about the Pepper Pad). Linux Kernel, Native C libraries, Java language, and a Java Application Framework. The main differences that pop out are WebKit instead of Firefox for browsing, a new mobile oriented VM, 3d, and a App Framework that might actually be usable. The BIG, BIG change is the concept of intents, actions, and services that allow for plug-able modules to handle various actions and allow data sharing. An intent can be “Pick a Photo” and, depending on the software installed, it could be handled by the base software or a third-party addition without the user mucking about with strange settings. Pepper stores everything as XML, Android uses SQLite. Pepper leans on Firefox for rendering most UI via XSL stylesheets, Android uses screens defined in XML (I’m not clear on what’s doing the rendering. SGL?). Both Pepper and OpenMoko still use X windows while Android makes no mention of X.

The big problem (from my perspective) with Pepper was the inability to share data between applications, even if you wrote both applications. Android seems to have nailed that. Now the problem with Android maybe that it is too open. What is to stop someone from writing an app that display a dancing hamster animation and grabs all the contact info from the address book and uploads it a web site. My guess is that each provider will lock the phone to only install apps from their online stores. Call it “Security through retail sales channels”.

Pepper does not use a full, real Java stack. Android has it’s own VM. The SDK has tools to transform jars into a second set of byte codes for Android. So it is doubtful that a standard Java Swing would run on Android — with good reason — a desktop app’s UI would not be usable on a mobile device without modification. What incompatibles exist between a normal (Sun) JVM and Android’s VM?

Pepper also used Linux. The Pepper Pad cold-start and wake-from-sleep times are horrible. From all the reports I’ve seen OpenMoko isn’t fairing any better. To be fare, I rarely shutdown my phone, so maybe long start times aren’t too painful. I’m still curious how long the start-time is on an Android device. How long does it take an iPhone to boot for that matter?

Also of concern is the license. Android is released under the Apache Software License which means people can modify it without releasing the changes back to public. Which is generally good, however, imagine this: A wireless provider, say Verizon, creates replacements for the several components, say email. They tie the email component to their service which doesn’t meet your needs. Normally you could replace the component, but if Verizon modified their version Android to only accept components from the Verizon Online Store, and only allow Android updates from their servers, you would not be able to replace the component with one of your choosing. Unless, of course, you agree with a choice provided by Verizon and agree to the monthly fee. I hope providers don’t lock the phones down in those ways but I suspect they will. I’d like to be able to install software on my phone from any source I choose.

I’m guessing not all Android powered phones will be created equal. There will be artificial limitations — or even enhancements — available based on manufacturer, model, and wireless provider. A smart consumer would have to do alot of research and the average consumer would likely get burned. This could be a potential mess. I’m thinking the market will shake out like this: People that a guaranteed level of usability will pick an iPhone, people that want to tinker will get Android, people that think using email should hurt their hands will still use Blackberry, Microsoft will ready the next version of Windows Mobile probably with a Zune and Xbox duct-taped together, and your average cell phone user won’t care about any of those “fancy things” and just want the numbers to be bigger. Personally, I want a phone with a usable web-browser that supports wifi and is fast enough and does a good job with email and text messaging. If my LG enV had wifi and decent browser, I’d be happy — for 3 more months anyway.

One question I’d love to have answered is will Android be offered for existing phones. While I doubt it, I’d love to try it on my LG enV, even a beta version would be better than this BREW crap. Since Verizon is not part of the Open Handset Alliance, make that a double doubt.

I look forward to trying the Android SDK when I get some free time. The system architecture looks interesting and holds alot of promise, but I can see many ways this can go wrong.

Meow Meow Leopard

I’ll keep this short. I got leopard, been using it for two days. Not as smooth an upgrade as Tiger was. My iMac did fine. My powerbook “lost” it’s airport card, which a little googling fixed. Overall I’m pleased. Not in love with the new look and feel (yet). Too dark. Glad “brushed metal” is gone.

Stacks doesn’t offer the “fan” option when the dock is used on the side. Spaces is kinda cool in that linux-had-for-years-but-not-completely-kinda-way. I’m sure if the visual navigation used by spaces hasn’t been copied into most linux window managers yet, it will be shortly. Time machine is kinda fun. Making backups fun will hopefully get more people to backup their data regularly. Most everything works, except svnX despite downloading it’s leopard update. Command line svn works fine.

Then there is Java. When the list of 300+ features included ~5 talking about iChat’s tabs and 0 about Java I knew it didn’t make the release. And you know what, I don’t care. I have a confession to make as a Java Developer and a Mac User: I hate Java desktop applications. IF they are done correctly, you may not realize your using a Java app, but 99% of the time you will. File dialogs that don’t jump to a file when you type a letter. Wrong fonts. Text fields that can’t spell-check. Drag-and-drop doesn’t usually work. No working “Services” of any sort. Cut-and-paste is hit or miss. Then there is the memory usage. I mostly use Java as a way to write programs on the OS I like for people who use another OS.

As a Java developer, the only Java programs I use are the ones I write, an IDE, and some tools for database management. Since I switched to mainly consulting, I use Java less. I don’t miss it. When Java 5 came out, I was impatient for Apple to port Sun’s JVM. Java 5 had a lot of language features I wanted to use. When Java 6 was released, I was still writing Java code daily, but the feature list wasn’t impressive. I decided I could wait. I can still wait.

Java 5 on leopard is rough. Leopard, in general, still has sharp edges. These will be fixed. Java will probably take longer than the rest of it.

Please no email regarding Java. I don’t care how upset you are and I already know I’m arrogant, so stuff it.

Sketchy

I was talking with a friend of mine last week we were both lamenting that we no longer draw much anymore. Most of my artwork is all done with computers now. It’s a shame because in high-school most of my best pieces were salvaged mistakes, many started in a completely different direction than the final piece. With a computer, the cost of erasing is so low mistakes never get saved and fleshed out. In a way, creativity thrives on limitations.

In high-school, I rarely ever sketched. I hated normal pencils, hated the sound they make when marking on paper. Coloring pencils never bothered me. I always used pens if given a choice. I’d draw in pen in my sketch book with no pencil lines. Didn’t matter if I was doing cross-hatching or stipple. If I needed color, I use coloring pencils or water-color right in the sketch book. If I liked something in the sketch book, I’d paint a larger version in acrylic on canvas. But most of the time, I wouldn’t bother with a small version of an painting. My art teacher would chastise me for making “finished works” in my sketch book.

Now, I couldn’t do that if my life depended on it. I’ve gotten so used to drawing with bezier lines, my hand drawing skills have atrophied. I’ve decided to get back in the groove and sketch (still in pen though) a small character or object on paper at least one a day. 3 or 4 times a months, I’ll take one of the better ideas an create a more polished version. That way, at the end of a year, I should 52 characters or objects they could be usable for a game, comic, animation, or whatever.