↓ Skip to Content Start of content

My 2020 development setup

I was recently looking through some old projects and found a screenshot of my development environment from 2006:

Development screen from 2006

That's a lot of green.

The language is BlitzPlus, and the editor is Protean IDE (a custom Blitz IDE that is no longer available).

I think it's interesting to look over old screenshots like this to see how my work environment has changed (and how it's stayed the same).

Here's a shot I took during some work on beeminder.el version 1.2 this week.

Developing the beeminder.el package

One thing that stood out to me is how much visual clutter was in the old screenshot. I've removed as many toolbars and menus as possible, and try to stick to keyboard shortcuts where possible.

Current setup

I'm currently using Emacs 26.3 with the doom-nord theme. The status bar at the bottom uses doom-modeline with some slight tweaks. Font is Ubuntu Mono.

For work projects I use php-mode and web-mode. Recently I've started using lsp-mode with intelephense to add better auto-completion and documentation tooltips (which is something I'll be writing about in my book, "Developing PHP with Emacs").

I use magit for working with git repositories which has been a huge boost for efficiency. For navigating projects I use projectile with projectile-helm; they make jumping from one project to another extremely quick, which is helpful when I'm switching between client projects during the day. For project planning I use org-mode.

I'd say 80% of my professional work these days is done from within Emacs. I still use external applications like browsers and database tools, but any source code editing is done from within Emacs.

Eventually I'd like to get more comfortable using some other Emacs features like tramp (for editing files on remote servers) and EmacSQL for working with databases.

I still develop hobby projects in Blitz (using BlitzMax), although I've changed my setup a couple of times. I ended up writing blitzmax-mode so that I could write code with Emacs, and I've built a bunch of other Blitz tools over the years.


Groundhog Day Resolutions - June 2020

May went okay.

May's Primary Goals

1. Read another book

I read "Mastering Software Technique: Conscious Practice for Writing Software". I've been writing software for a long time, but this book covered some ideas I'd never really thought about before.

Creating small test projects to throw away is definitely something I want to put into practice.

2. Make some art

I drew a few pencil sketches to get warmed up, but that's as far as I got.

Drawing was not as relaxing as I'd hoped.

3. Release the initial version of The book

The initial version of Writing PHP with Emacs is now available. I'd been holding back on publishing in order to get everything "just right", but that attitude defeats the purpose of leanpub. So I cut out everything I wasn't 100% happy with and then hit "publish".

Now the real work begins.

4. Run more

I ran a "stay away" 5K for charity at the end of the month. It wasn't my fastest, but it was top 3 for me which has given me a bit of a confidence boost.

I've also started training for a half marathon in October. Running in the summer heat is no fun.

Primary Goals for June

1. Release version 0.2 of The Book

I've published some minor updates, but by July 7th I want to complete the next major section. I've linked leanpub updates to a Beeminder goal to help keep me on track.

2. Keep running

My training plan for June is pretty light, but this time I'm adding in some pace runs which I've never done before.

3. Release version 1.2 of beeminder.el

It's been over six years since I released the first version of beeminder.el. For the past few weeks I've been working on adding a goal dashboard and details page. It needs some polish, but is otherwise finished, so I'd like to get it cleaned up and released this month.

4. Complete one of my "other goals"

I'm not sure which one yet, but we're nearly 50% through 2020 and I've only checked off a single goal.


Groundhog Day Resolutions - May 2020

April wasn't a complete disaster, but goal-wise it has been the worst month of the year for me.

April's Primary Goals

1. Make some art

I originally planned to create one or two sketches, but inspiration did not strike. It's been a long time since I drew anything, and I'm still hesitant to try again. I find it frustrating that the art in my head never matches what ends up on the paper.

2. Read something

I re-read "Personal Development for Smart People". It's still worth a read, although I would have liked some more practical tips.

3. Release Bee Button

Total failure here. I got things ready for release and then promptly ignored the project to do other stuff. Right now it's 80% complete, which means there's another 80% to go.

Primary Goals for May

1. Read another book

I bought "Mastering Software Technique: Conscious Practice for Writing Software" but haven't got around to reading it yet.

2. Make some art

For real this time.

3. Release the initial version of The Book

My original plan was to release everything last week, but the more I read through the book the more I disliked it. I know trying to get things perfect before release is a terrible idea, but I insist on doing it anyway.

My new plan is to release a chapter in the next week or so. After that I'll release updates at least twice a month. I'll be Beeminding the release process for good measure.

4. Run more

I ran over 100 miles in February. My total for April was less than 25% of that.

Local parks are closed due to COVID-19 restrictions, so I'm limited to running laps around my street. It works in small doses, but running 4 times a week around the same 600 yards of scenery gets old fast.

It looks like restrictions will be lifting in my area this month, so for May I'd like to get back to running more often. I don't particularly enjoy running, but it's good exercise and it gets me outside and away from the computer screen.


Writing PHP with Emacs - The Book

One of my goals for 2019 was to write a small book. That book now has a name: "Writing PHP with Emacs".

Book Cover for "Writing PHP with Emacs"

Emacs has been my primary editor for over a decade. I've used it to build all kinds of projects, and the majority of my work involves building or maintaining PHP applications. Over the years I've learned a lot about tuning Emacs into an editor that works for me. This book contains that knowledge (the useful parts anyway).

The first version will be released via Leanpub on April 30th, 2020. All updates will be free of charge after the initial purchase.


Groundhog Day Resolutions - April 2020

Things have certainly changed a lot since March's GHD post.

March's Primary Goals

1. Run a marathon

The race was canceled the Thursday beforehand due to the COVID-19 pandemic. I was disappointed to hear the news, but given how quickly things have escalated it was for the best.

I decided to run the race solo seeing as I was already trained and tapered. I finished in just under 5:40. Not the time I was aiming for, but I'll take it for a first attempt.

2. Research zettelkasten products

I've been using zetteldeft for the last week with some success. I'm still not 100% sold on this setup and I'd like to evaluate some other products in more detail. But for now it works.

3. Set up detail pages for my minor goals

All minor goals now have detail pages, unless they're too small to really need one.

4. Start a bodyweight exercise routine

I've been using bodyweight exercises for the last two weeks. It's been a couple of months since I last had a routine, but I got back into the groove fairly easily.

It makes a nice change from running.

Primary Goals for April

1. Make some art

I have two art-related goals this year. Now seems like as good a time to work on them.

2. Read something

I may not finish an entire book, but I'd like to make a start on my reading goal.

3. Release Bee Button

It's a small project that I'd like to get finished up and released.

Choosing goals for this month was tougher than usual given everything that's going on.