205 karma · joined May 22, 2010
What would you recommend?
It's tiling, keyboard-driven, small and lightweight. I've been using it for years now. It's a little hairy to start with, but I love it.
Instead of workspaces it uses "tags" which you can treat just like workspaces, but you can also combine, on-the-fly, to form a mashup of different tasks. For example, sometimes I want my editor & web browser next to each other, when I'm looking something up, but most of the time I just want to focus on the code.
https://www.paypal.com/cgi-bin/webscr?cmd=p/gen/travelers-ou...
I do have a desktop background, though I rarely ever see it.
What I meant was I don't have a desktop in the Windows/Mac OS X sense -- a place with icons, documents, mounted drives and the like.
If I need to work with a digital camera or a flash drive, I just reboot into Ubuntu and do it quickly there. FreeBSD is strictly for work (in theory).
I've only mounted stuff under FreeBSD maybe once in the past year or two, so it isn't even on the list for me.
So, from my point of view as a software developer who lives in Firefox and Emacs, it's shiny. Others differ. But for me, it's not required, at all.
Then I found FreeBSD. The learning curve was steeper, you had to know more about how things actually worked under the hood (a plus, in my book) and the system was elegantly clunky.
A cohesive whole -- more or less -- instead of endless re-packaging of the same things.
I do a minimum install, then build my system up from the ports system. (Ports is like apt-get, pacman, other package management systems. Compiling from source can be a bitch, but only for big things -- Emacs, X11, Firefox etc. but it allows unparalleled customization, or at least the option for it.) Installing binaries is also an option if you don't want to compile.
It has had every piece of software I've ever needed (minus http://joey.kitenet.net/code/mr/) already in ports.
I even recompiled my first kernel within three days of starting out (thanks to Absolute FreeBSD, by Michael W. Lucas), something that seemed a dark art on GNU/Linux.
I've had no stability problems in the last year or so, and I just upgraded from 8.0 to 8.1 smoothly. Everything important on my laptop is supported.
If I want shiny stuff like webcam, usb auto-mounting, all that, I reboot into Ubuntu. Not because FreeBSD can't (I'm mostly assuming), but because this is my dev box and I'm not supposed to be doing anything shiny or distracting on here, hehe.
In short, think of an older truck with a manual transmission -- it's dependable, gets you there and back with minimum of frills and you can tinker rather than a new SUV with bells and whistles. While FreeBSD is more angled towards servers, I love it as a desktop OS -- at least for coding and light web browsing.
And it's a single community, without the balkanization of GNU/Linux.
I would point you to two other reference materials. One, is Andy Hunt's (of the Pragmatic Programmers) book: "Pragmatic Thinking and Learning" which I cannot recommend enough. Second is 37Signals "Rework", which I also heartily reccomend.
One thing Pragmatic Thinking & Learning touches on is S.M.A.R.T. See: http://en.wikipedia.org/wiki/S.M.A.R.T.
Also? I have A.D.H.D., too. I also struggle at times -- it's a bitch to admit you're both intelligent & disabled. I don't have much practical advice on this topic, just be aware.
Finally, work on balance. Work on goals. And don't sweat the small stuff -- relax and work slowly. Change is hard.
Best of luck.
-N
P.S. Exercise helps everything (ditto sleep) -- cognition, bodily health, focus, etc. Even if you don't lose any weight (or gain slightly due to fat -> muscle) it's still worth it. Trust me.
I only connect via Ethernet, and often physically disconnect my laptop from the net, so when I feel the urge to get on Twitter, HN, etc. I have to reach for the cable again, which is enough of a red flag to get me back to work.
I've managed to keep myself from "needing" to be connected. My business partner is great about never bugging me when I'm coding, we use status.net to do asynchronous communication (think a private Twitter), Google Wave to collaborate, and phones for anything urgent and plenty of meatspace every week, of course.
When I'm coding, I have offline copies of all the web pages and documentation I need, so I can't use that as an excuse to get online.
I also use Firefox browser profiles extensively, one for Personal stuff, one for Work, one for <Projectname> etc. Between that and Firefox sessions, I can leave a bunch of shit open, but come back to it when I have time.
For a while I was a night person and just hit Twitter/HN/reddit once or twice a day, kind of got a digest in the "morning" (6 pm) and then worked all night, w/o too much happening on the Internet. (Yes, I'm an American, yes, I know about the rest of the world, but the point is that less happens at night and so you don't feel like you're missing something. Now that I'm a day person for the first time in years, I feel the urge to keep up every hour.)
I also have started exercising about half an hour a day (just a walk around the neighborhood) and limiting my online time to mainly using Twitter as a newsfeed, HN as a feed of interesting stuff and that's about it. I don't have time to keep up with world events too much anymore, sadly. No New York Times or NPR.org for me, though I usually read our little local newspaper in about 10 minutes each day.
They may be great at coding, or business or PR or something else entirely. But you want someone you can trust by your side. Preferably someone who's great at something you're not, since you seem to have your end running just fine.
Someone who's in it for the right reasons.
At least, that's how I do it.
My two cents, - Nicholas E. May http://www.notjustbinary.com