archive for the ‘unix’ tag
notes for setting up a remote git repo (ssh transport)
on the main server create the directory and initialize a bare repo on the server.
% mkdir path_to_repo % cd path_to_repo % git --bare init
from the local machine with your content/code, add the remote origin and push your code to the repo.
% cd path_to_local_source % git remote add origin ssh://hostname/path_to_repo % git push origin master
share it or get it from another location …
% git clone ssh://hostname/path_to_repo
assumes that the person has an account on the host with the appropriate permissions to modify or read the repo contents.
pull changes from the server to pick up the latest …
% git pull origin master
backing up your mac (for UNIX dweebs)
follow the advice here: http://www.jwz.org/doc/backups.html
seriously. just do it.
if you need a GUI, SuperDuper, works wonderfully. this will save your ass. no joke.
OSX apps list
productivity
omnifocus – the most powerful productivity tool on my mac. i used to use a collection of text files, scripts, etc. this just slurps it all up and syncs to my phone. i use a hacked version of GTD for my workflow, which omnifocus is oriented to. however, as a catchall for things that need to get done, this can’t be beat. infinitely customizable and tweakable. i haven’t found too many things that it doesn’t just do.
adium – the last word in instant messengers for the mac. covers pretty much every protocol out there and a few that you really wish would just die already. the latest beta builds include support for twitter. i have to confess that integrated twitter support is a lot handier than i expected.
yep – i collect a lot of PDFs. be they academic papers, work documents that i want to archive, presentations from conferences, etc. i need a way to tag them and organize them. i happen to use yep. i’ve vacillated between this and papers countless times over the past couple of years. particularly given that papers seems to be getting a lot more active development and has a sweet iphone application that matches up with it. unfortunately, it’s a matter of inertia for me, i have sooo much stuff in yep right now that i would need to dedicate a few days to migrating to papers. folks might actually benefit from looking at papers right off the bat.
gitx – gui git client for the mac. this actually rocks pretty hard. graphical display of what you have going with your local git repo and useful for dorks like me who do everything in emacs before they shove it into word to share with coworkers. it’s been quite useful for me.
vmware – you just need this. period. i used to be a parallels fan. then vmware fusion came out and the performance was awesome and i could use other folks VMs and it didn’t sporadically suck up all available CPU and i was happy.
cord – the best remote desktop client i’ve seen to date. full screen mode rocks, there’s support for font smoothing and unlike the microsoft remote desktop client, it just works. neat features like connect in full-screen mode and drawer storage of configs, etc are quite handy.
yojimbo – a junk drawer app – this thing will hoover up PDFs, passwords, web clippings, bookmarks, misc. notes, etc. i’ve found it to be pretty solid and speedy. it has a handy quickfile drawer. which lets you hit a hotkey and drag contents into it. when i want to clean off my desktop and i don’t have a solid notion of what i need to do with something in terms of filing, i’ll simply stick stuff here and cull it later. great for printing out boarding passes, web receipts, etc as a PDF print destination.
the usual apps
keynote – this is part of the iWork suite and i’ve personally found it to be a better presentation package than pretty much anything else i’ve seen. which isn’t a particularly high standard to beat, given that pretty much all presentation software sucks rocks. this is a notable exception it quite frankly rocks.
microsoft word – over the years i’ve made my peace with MS word. under the mac it’s proven to be a more than capable platform for crafting those internal missives.
entourage – quite frankly i regard this as a flaming hunk of shit. i’ve made my peace with it and perturb it as little as possible with the fear that it will flame out and crash horribly. the sync function is barely passable. that it talks to exchange servers is nothing short of a miracle given that it comes from microsoft. it’s consistently had issues with parsing timezone information and the management of meeting invites and lack of a plug-in architecture has me consistently wondering if they’ve taken explicit pains to make this a royal pain in the ass to use. treat with care it will likely fsck you over. i refuse to put real email into this given the proprietary database backend and repeated exposure to horror stories involving corrupted databased. if i can’t edit my email with a text editor something’s gone horribly wrong.
OSX notes for UNIX dweebs (1/x)
in no particular order – here are some notes on the use of OSX for my UNIX dweeb friends who are making the jump.
essential tools / things to get:
go and get the developer toolkit (aka Xcode) – this will get you a working compiler and a kick ass development environment. unfortunately, i haven’t had a lot of time to monkey with Xcode for its primary purpose of developing mac apps. you should be able to install this off of the optional software installation on the OS distribution disk. alternatively you can get this from the apple developers web site. (http://developer.apple.com/mac/ – note you might have to create an account on this site to get the latest tools and they are a big download. get it when you’re someplace where you have a solid and fast connection.)
macports – run, don’t walk, to get this one. i’ve messed with fink, i find this to be more complete and more often than not, it just works. to make life easier, you should periodically update your ports collection. this is trivially accomplished via a periodic sudo port selfupdate. note, you’ll need to have a working Xcode installation to get this appropriately installed since, like the FreeBSD version of ports, it will build this stuff from source and resolve dependencies in the process. it’s not a binary build system like fink, et al.
editors
emacs / vim – without taking a religious perspective on this topic it’s good to know that there are first rate implementations of both on this platform. i install both and toggle between the two of them as it makes sense. personally, i’ve toyed with some very useful 3rd party editors as well. i’ll include some additional notes on these as well.
- emacs – i use this one, there are folks that swear by aquaemacs, but i can’t make the keybindings happy enough for my taste.
- vim – macvim – need i say more? i used this version for a long time prior to finding an emacs that made me happy on the mac. the new version of macvim is sexy as hell and has tabs and shit.
- TextMate – this one seems to have all of the web 2.0 folks in a twist. i find it to be a remarkably good editor with emacs-like keybindings that work for most things. (meta-b/f don’t work as expected so that’s a frustration for me, personally.)
- SubEthaEdit / Coda – i mention these in the same breath. SubEthaEdit is a collaborative text editor which allows folks to simultaneously edit a document, this editor is embedded within the coda web development package.
OSX oddities
su / root account – if you’re used to just su’ing to root, then you’re going to be surprised by the fact that root isn’t enabled by default. instead you use sudo for pretty much everything. if you’re used to running things as root and you feel like doing this all over the place you’re welcome to enable root (done by following these directions), over the past couple of machines i’ve had, i haven’t enabled root.
cron – OSX doesn’t run the crond like you’ve seen on other platforms instead there’s launchd. which assumes the responsibilities of a whole host of classic UNIX processes (notably, init and crond). if you use crontab -e a la the classic UNIX interface to crond, then all of the launchd stuff is handled in the background for you. if you expect to just copy over your crontab files from /var/spool/cron then you’re in for something of an awakening. to make all of this just work, use crontab, it will make sure that launchd is updated appropriately.
vonage dial script
before i dropped vonage a month or so ago for the comcast triple play. i used to use this schell script bound to a quicksilver action to dial my phone. eliminating the need to deal with a pesky phone dial pad.
note, this grabs the phone number to dial from your system clipboard. (note the use of the pbpaste command. users of non-OS X platforms should adjust to something appropriate. i seem to recall the gnome had something similar.
in the interests of posterity.
OS X wishlist of yore
in running through some of my archives and scrubbing in prep for a new year, i ran across this list of OSX nits from my first days with OS X. i’m actually a bit surprised by how many of these have been admirably addressed over the years. where this warrants update and/or commentary, i’ve added them – prefixed with (>>)
$Id: osx-nits.txt,v 1.4 2001/05/03 11:50:52 sulrich Exp sulrich $
# os x nits
## general os and interface nits
* when i hit the cmd key in a modal dialog box - i'm not presented with a
list of keyboard short-cuts for the dialog box. it's a capital letter
crap-shoot! it would be nice to be able to hit the cmd key and have the
corresponding keyboard shortcut displayed.
>> it bears noting that this interface nit still stands. however,
>> i've come to terms with this to some extent. changing the
>> extension on a file from the finder is no where near as annoying
>> as it used to be.``
* it would be nice to have a real print manager that worked. the current
printer controller is really lame and doesn't allow you to view the
configuration of current devices. it looks like the menu item is there
but it's grayed out.
* further to gripe about the printer support there appears to be a lack
of real definitions for printer description files that you install.
meaningful names for the printer definitions that are there would be
really nice.
>> this is an area where i have to say apple really stood up and did a
>> good job. i admittedly have rather modest printing requirements,
>> however, for a guy that has to add printers in foreign offices at
>> work all the time, the support is wide and the hassle is minimal.
* what i wouldn't give to be able to remap the apple key in terminal to
behave like a meta key.
>> this gripe stands. i've ameliorated this to a large extent through
>> the use of the shipping X11 implementation and the use of
>> xterm/rxvt. still, this leaves me with a nagging issue wrt cut and
>> paste.
just a follow up to this - you can kind of do this in emacs for mac os x
with the option key but that is just a little too awkwardly placed for
my tastes. looks like i'll be an escape-key emacs user for a while
* why must changing the desktop background color be such a chore? if i want a
solid color why can't i just select one w/the color tool? i surmise that i'm
missing out on something fundamental here but it's really annoying
>> this gripe still stands. sure, there's a solid color option there,
>> but you still don't get the color tool.
* teeny hardware nit here. why is the escape key so small? the ~ is
in the right place though and this is nice.
* virtual desktops! - i'm running out of screen space and there is no
virtual desktop functionality that i can find anywhere.
>> spaces. need i say more? sure spaces isn't perfect, but it's
>> pretty damn close and it's built-in with reasonable defaults.
>> color me tickled.
* make the PDF generation access a little more prominent on the print
dialog. while i love the ability to have PDF output i hate having to
select that option repeatedly. i'd like to make pdf output my default.
>> well, you still can't make PDF generation the default, (to my
>> knowledge.) but it's featured much more prominently and there's
>> slick integration that's taken place with the ability to direct
>> output to applications. which has my Yep! setup quite happy.
## terminal
* terminal performance over the long haul is horrible. this needs to be
sped up considerably.
>> fixed this, but i still don't use terminal - ref gripe re: cmd key
>> utilization and emacs keybindings
* more on terminal.app - this needs some real work on the termcap side of
things. there doesn't' seem to be a really consistent mechanism for
making sure that you're dealing with the terminal on this. what i
wouldn't give for just really decent xterm support.
## airport / wireless
* how about some meaningful stats regarding signal strength?
>> still sucks if you ask me.
* opening up the driver interface on the airport cards to support things
like airsnort.
>> improved considerably. there's a pretty wide range of support here
>> and folks have filled in a lot of the gaps relative to tools for
>> sniffing out additional wireless APs, etc.
## general networking
* IPv6 support (addendum - looks like this will be in jaguar)
>> pretty damn good support if you ask me.
* multicast support (w/support for IGMPv3)
>> grrr. still outstanding.
* i would really like dummynet or some form of queueing for network
traffic. this would let me use my mac for testing some network
configurations. altq would be heaven.
>> no progress here. understandably, this is a consumer OS after
>> all.
* pf would be preferred vs. ipfw (in all honesty i haven't had a chance
to see if the necessary kernel hooks are there for pf)
>> there's been a lot of forward progress on the firewall front. i've
>> added to this with the use of little snitch which provides a lot
>> more granularity in terms of the per-application visibility that
>> you'd be interested in. still. pf is pretty much the bomb for this
>> stuff.
overall, i really have to say a lot of my longstanding nits have been admirably addressed. if you look at this from the perspective that there are a fair number of nits that are purely networking dweeb oriented in nature, and you keep in mind that this really is a consumer oriented OS, you have to be impressed at how well they’ve addressed the spectrum of user requirements.
