Disabling auto-correct on TweetBot for Mac

My favourite Twitter client on iOS is TweetBot. It is there on both my iPhone and my iPad. I simply love it. There can probably be no comparison between the Twitter for iPhone/iPad (or any other third-party Twitter app) and TweetBot. The only little downside is that it is not free. It has to be bought separately on both the iPhone and iPad. But, it is a small price for an awesome piece of app.

Naturally, I wanted something as good as TweetBot on Mac. TweetBot wasn’t for Mac, and Twitter for Mac became a pain to use. I tried TweetDeck but couldn’t stand the sight of it. And then, TweetBot for Mac came along. It came as Alpha first, and remained Alpha for a while and was free to download and use. It then turned to Beta, and finally, it was released. There was a price tag on the final version, and I happily bought it off the Mac App Store. There were bugs here and there, but overall, it worked solidly. It was every bit as good as its iOS counterparts.

iOS has an “Auto Correct” functionality–which can be turned off from the settings, but which you shouldn’t do if you want to be able to type/tap text at ease on your device–which is smart enough to automatically detect what you’re typing that isn’t correct, suggest a correction, and then correct it. It is so unbelievably good that once you get used to, which takes very little time, you cannot simply live without it. At all. The same auto-correct feature is available on the latest OS X versions on the Mac as well. However, unlike the auto-correct on iOS which pops up a visible suggestion giving you an option to select or discard it, the auto-correct on Mac isn’t so effective because when you are typing fast on a keyboard, and as you type away, the auto-correct applies the suggested corrections without your really noticing them. The end result is that you end up with text with certain words that you did not remember typing at all and which, while are correct, don’t really make sense in the context. This becomes really very annoying.

While it is possible to globally disable “auto-correct” on OS X via settings, a lot of the apps unfortunately still override the setting. For those apps, the setting can be manually disabled from the “Edit > Spelling and Grammar” menu.

The same is the case with TweetBot for Mac. With one catch: you can manually disable the auto-correct from the menu bar, but not permamently. Every time you open a new compose tweet window, the setting is overriden once again. That’s annoying as hell.

Not having found any solution, I wrote to Tapbots (the authors of TweetBot) about it. They confirmed that indeed it was a bug in the current version and that it would be fixed in the new release. However, for the meantime, they suggested a temporary fix for the auto-correct that requires running a command on the Terminal. It’s pretty easy. All you have to do is open up Terminal, and run the following command:

defaults write com.tapbots.TweetbotMac TextAutoCorrect -bool NO

That’s it! Auto-correct will be permanently disabled for TweetBot for Mac. Bliss!

I would like to thank the Tapbots guys for kindly providing the fix and acknowledging the problem.

Jagged fonts on Snow Leopard on LCD over DVI

     I have a 13″ white MacBook. It has a glossy display that is about the best I have ever used in my life. Great quality, lovely fonts. The only drawback with it is a drawback with glossy displays: it reflects ambiant light which can at times cause problems. But I really don’t mind that. I can work around it easily. Overall, I am really happy with the display on the MacBook.

     The only problem is, 13″ is just not enough. Not all the time. But when you are managing many things side by side, and not least when writing code, you can really get frustrated from not having enough space on the screen. After all, it doesn’t help that you’ve windows hiding behind your current window in focus because there is no space left anywhere on the screen to toss two or three windows side-by-side and still be able to get anything done.

     So, a year ago, I purchased, after careful thought and research, a ViewSonic VX1940w external LCD. The reason I settled on this one, and not any other, is a combination of: a) great price I was getting on it; b) excellent resolution it was offering at that price; c) it sported both VGA and DVI inputs. I really, really wanted an LCD with a DVI input. If you haven’t clicked on the LCD catalog page, this LCD sports a max resolution of 1680×1050 and is 19″ in size and wide-screen. It has a matte display, in that, it does not have the reflection problem the glossy displays suffer from. But it isn’t nearly so crisp in display quality as the glossy.

     If you’ve had the occasion to use any Mac laptop, you’ll know that they don’t have the de facto VGA and DVI input/output ports. Instead they can have any one of mini-DVI, mini-VGA, mini-DisplayPort, or micro-DVI/VGA ports, which by the way are all Apple proprietary stuff. So, how do you connect almost all of the LCDs out there that come with standard VGA and DVI ports and connector wires? You buy VGA and/or DVI adpaters from Apple. These, I should mention, are anything but cheap.

     Naturally, I wanted to buy the DVI adapter for my MacBook. However, I did some research and found bad news in that, a lot of people on the Mac forums reported their LCDs not working with the DVI adapters Apple provides because of the latter being either DVI-I or DVI-D, and most LCDs not supporting one or the other. That scared me. The DVI adapter was expensive to being with, I was not sure whether it would really work with my LCD. So, I took the safe lane out and bought the VGA adapter. And it worked out of the box.

     But, there were problems. These were the sort of problems I documented in a question titled, “Why do I feel a strain on my eyes when I look at the 19″ matte display?“, that I asked on the Super User forum. You may want to skim through it to get the excruciating details of the problems I faced with the VGA display on the LCD. The bottom-line was that that I was told that I had to get the DVI adapter instead, and that because of the jagged fonts on the VGA display and generally sub-standard picture quality, my eyes were having a hard time adjusting, resulting in strain and headache. Initially, it didn’t make sense to me how that could really be the cause of the problem, and didn’t buy it. But, the fact remained that I couldn’t use the LCD for long without walking off with an incredible burden weighing down on my eyes.

     Finally, I bit the bullet today and bought a mini-DVI to DVI adapter. Having plugged it in, I noticed that the “auto image adjust” functionality on the LCD was disabled. It wasn’t when the VGA was plugged in. Despite changing a couple of settings that I thought might make a difference, I felt that the fonts looked even more jagged, the picture quality worse than before. Having spent some more time staring on the screen, opening up Terminals and editors and windows, I realized it wasn’t merely a feeling. The fonts and the display did look much worse than before. I freaked out. I didn’t know what to do. I rebooted the MacBook in the hopes that when I plug in the LCD again, I will actually surprise myself. To my utter dismay, nothing changed. I was sorely disappointed, and I didn’t know what to do. A feeling of remorse hit me for having spent a fortune on the DVI adapter only to get a crappier picture than I did on VGA.

     With a heavy heart, I started looking around. I skimmed with grief through a couple of similar posts on the forums about how fonts on DVI input on LCD looked jagged, and such. Nothing suggested really helped. And then, I found this blog post, Snow Leopard Font Smoothing. It talked about the exact same problem I was having. And what’s more, it suggested a fix for the problem. The fix was to toggle a global setting on OS X by running the following command on the Terminal.app:

defaults -currentHost write -globalDomain AppleFontSmoothing -int 2

     I did this, but nothing worked. I wasn’t really sure what else I had to do to get this to work, neither did the blog post hinted at anything beyond running that command. After a while, I was convinced that there was no hope for me in this. I had nearly given up when I noticed the fonts on the text on the menu bar. It looked different. It was crisper, better, more beautiful. And then it hit me. I quickly, first of all, quit my Terminal.app, and when I re-opened it, voila! There they were. The lovely fonts I had fallen in love with on the MacBook screen. I restarted one by one most of the applications. Apparently, what little helpful bit that blog post missed out on was that you had to close all your applications and re-run them for the settings to take effect. I imagine an easier way is to simply log off and log back in.

     I am absolutely ecstatic with all this. Not only can I use my big LCD to manage my work in a better and more productive manner, I don’t have to walk away with unbearable headaches and eye-strain. Well, I still have headache and eye-strain, to be honest, but that’s an every-day thing. I am so happy.

Pakistan Summer Time, and NTP on OS X

     I noticed today that, after a major update to OS X along with a security update, the time on the system clock was an hour ahead. In fact, I didn’t pick it up until after I had glanced at the time on my cell phone. When I opened the preferences where different settings related to time and date can be set, I realised that the Network Time Protocol (NTP) had been enabled, which meant that the system was syncing time and date, along with the usual time zone information, from a remote network time server. In my case, that server was time.asia.apple.com, one of three servers in the drop-down list of NTP servers in the preferences to choose from.

     As with the other two, time.asia.apple.com is an NTP server that is managed by Apple themselves. If you travel a lot, or if you are mindful of and in a place where daylight savings time is commonplace, being able to use an NTP server to not worry about having to change time and date is ideal. It is convenient. After all, time is important, and keeping track of time more so.

     Now, I love NTP. It sure beats having to change time manually all the time. But, what if the NTP server you so dearly depend on suddenly starts spewing out incorrect time? Well, you’d eventually notice that, yes, but it would be annoying. The emails you send are suddenly ahead of time, the IM messages you receive as well, your calendar events, etc. If the difference in time due to the error is subtle, say, maybe off by an hour or so, you will likely take longer to spot it. Not that your house will burn down, or your business will plummet in a downward spiral into loss, but it sure will cause problems, even if little, annoying ones.

     So, why am I here on a hot Saturday afternoon with no mains power, talking about all this? Because I found out today that time.asia.apple.com is giving out a time for Pakistan that is +6 GMT, when it should correctly be +5 GMT. Judging from the label “Pakistan Summer Time” that the NTP server is using to describe the time, I can understand where this skew in time is creeping in from. But it is wrong. And the time on my system is wrong. What’s worse is that the place in system preferences where date and time settings are, does not provide an option for me to use a custom NTP server of my own choosing. I am restricted to choosing from the drop-down of three NTP servers, only one of which applies to my time zone. Bugger!

     Until I found /etc/ntp.conf This small text file stores the address of an NTP server to use. Regardless of whether you have NTP time enabled in the preferences pane, you will have an existing entry in the file. If you change the address in there to point to something, say, asia.pool.ntp.org, the system will use the new NTP server. In the preferences, the NTP server you added will automatically be selected for you, even though, if you pull the drop-down, you won’t notice it in the choices available.

     The only problem is, asia.pool.ntp.org also has Pakistan time pinned down at +6 GMT. Square one!

VMware Fusion: The network bridge on device /dev/vment0 is not running

     That seems to be a common problem that users of VMware Fusion suffer from. I had to face it recently. I use VMware Fusion on Snow Leopard (OS X) to run Slackware Linux. My MacBook, on which I am running Snow Leopard, is connected to a WiFi hotspot via AirPort. I have VMware Fusion set up to use the network in bridged mode.

     A few days back, after having rebooted OS X (I reboot it what appears to be once every month), I started getting “The network bridge on device /dev/vmnet0 is not running” error on booting the Slackware VM. The network remained disconnected, with any attempts to connect it manually ending in that error. That meant that I could not get the VM on the network and use it (I tend to remotely utilise the VM over secure shell).

     Quitting and re-running VMware Fusion went in vain. It wasn’t until I searched for a possible cause of the problem and solution that I found one that worked for me. This particular solution requires manually restarting a bootstrap BASH script that is bundled with VMware Fusion. This script takes care of setting up the pertinent network interfaces and their modes, which are subsequently used by VMs.

     To be specific, that particular bootstrap script is found under the following folder:

/Library/Application Support/VMware Fusion/

     The name of script is “boot.sh“, and requires it be executed as root. So, all in all, what needs to be done is running this command from the shell:

$ sudo /Library/Application\ Support/VMware\ Fusion/boot.sh --restart

     I found this tip mentioned in one of the responses in the discussion here.

How to keep your MacBook from sleeping

     Jiggler is a small, unobtrusive application for OS X that I wanted to talk about. It sits quietly on the dock, and keeps OS X from falling into sleep mode (or even activating the screen-saver). This is a god-sent for MacBook and MacBook Pro users who want to, say, download a large file without having to sit at the laptop till the end. For me, Jiggler has been really useful when downloading iPhone SDKs, which are roughly over 2GB in size and hosted on Apple servers that don’t allow for “resume support”. Compounded by the fact that power outages are spread throughout the day, there is no better time to peacefully downloaded the SDKs than at night. And if you are like me who prefers to sleep at night, you need something such as Jiggler to keep your Mac laptop awake at least as long as the download lasts.

CoreText rendering on MacVim

On thakis’s unprecedented reply to my tweet about hating the fact of MacVim not having the same style of font rendering and background combination as does Terminal, I got to know that the latest snapshot of MacVim supports an experimental ‘CoreText’ rendering feature. I immediately downloaded the snapshot, and was happy to find that ‘CoreText’ rendering takes care of my biggest pet peeve with MacVim. Now, with a dark background, the default ‘macvim’ colour scheme, and with transparency set to a count of 5, I am ecstatic with what I see as being rendered by MacVim.

I have to say, I am smitten with it. For what it is worth, here are the relevant Vim settings:

set guifont=Monaco:h11.00
colorscheme macvim
set background=dark
set transparency=5

Oh, and, if you get around to trying it out, don’t forget to enable ‘experimental rendering’ feature from within the ‘Advanced’ tabs in the preferences pane for MacVim.