VS Code for Markdown Notes

My long, winding path to Markdown notes nirvana

For years I’ve been looking for a cross-platform markdown editor. There are several good ones out there, but several are not free or they’ve got built-in workflows that I would need to either adapt or fight against.

For the last several years my notes have consisted of a single directory of markdown files.

I sync these files to various machines with Nextcloud. What I wanted was a way to manage them and perhaps link amongst them, almost like a wiki, which I used previously, but again found myself fighting with different implementations of Markdown and note portability.

After settling on Typora for a long time, I found it to be an excellent Markdown editor and it handled my single directory of files well with a built-in file explorer.

After a few months I received a suggestion from a friend at work to look into Obsidian. After trying it out for a bit, Obsidian quickly became my favorite editor. It’s free, robust and has a large community.

There are tons of themes and plug-ins and I was able to create links between notes and insert images with ease. The table plugin is a dream for anyone who messes with Markdown tables. It’s also cross-platform and I was able to access and update my notes from both my home Linux machines and my Windows work laptop.

Obsidian has a pretty fast release schedule and they are always adding new, exciting features. In July of 2021 Obsidian dropped their mobile app. Now, I had always accessed my notes via the Nextcloud Notes app since I started keeping my notes in Nextcloud, but I was aware that the app is a bare-bones editor that is good for quick edits or reading, but not as much for creating or managing notes. I thought the Obsidian mobile app might be the solution to finally having full access to my notes everywhere I went!

Unfortunately, note syncing within the Obsidian app was only available (at the time) via a proprietary (paid) file-sync or some kind of roll-your-own (but not any of the big cloud providers like Google Drive, OneDrive or Nextcloud.)

At this point I started thinking about the dangers of locking myself into a single system from which I may never escape. Portability and the ability to use my own (preferably open-source) tools to manage my notes is the reason I never seriously considered options like OneNote or EverNote. While I continued to use Obsidian without the mobile app, I started considering the possibility of an alternative.

The entire time I was using Obsidian, I was also trying to wrap my head around using VS Code for system administration. VS Code is an open-source, cross-platform editor for programmers. It also has a huge, rich ecosystem of plug-ins and support. But I am not a programmer. Apart from a series of convoluted shell scripts and some random HTML, I was trying to use VS Code to manage git repositories on multiple machines while writing Ansible scripts to automate administration tasks.

So one day I took a deep dive into the vast extension collection and found some ways to manage Markdown in VS Code. Then I found a spell-check extension. I figured out the basics or workspaces and opened up my directory of notes. Hey! I am able to edit and manage my notes from VS Code! But there were a lot of features missing. This was not going to replace Obsidian. But it was nice to have an option.

After swapping back and forth between Obsidian and VS Code, one day I found this article: Suping Up VS Code as a Markdown Notebook. He had managed to come very close to my use case taking notes exclusively in VS Code and had incorporated most of the features I missed most from Obsidian!

So I began figuring out how to duplicate my most-wanted note features in VS Code.

Since July of 2021, I have been using VS Code exclusively to create and manage my notes. I still use the Nextcloud Notes app for mobile access, but that’s never been a big problem and the app keeps getting updated so you never know when it might get more features!

VS Code Markdown Notes

TL;DR: Just tell me what to install!

If you just want to have a nice editor for markdown notes, these extensions should get you there. Any modifications to default settings are included below the extension link.

Extension List

"vscodeMarkdownNotes.allowPipedWikiLinks": true,
"vscodeMarkdownNotes.compileSuggestionDetails": true,
"vscodeMarkdownNotes.slugifyCharacter": "NONE",
"vscodeMarkdownNotes.lowercaseNewNoteFilenames": false,
"vscodeMarkdownNotes.newNoteTemplate": "---\\ntitle: ${noteName}\\ntags: [ ]\\n---\\n\\n# ${noteName}\\n\\n## Summary",
"vscodeMarkdownNotes.noteCompletionConvention": "noExtension"
"markdown-preview-enhanced.codeBlockTheme": "atom-material.css",
"markdown-preview-enhanced.previewTheme": "monokai.css"

Get off my (digital) lawn

The year was 1994.

I was working apartment maintenance and had a healthy interest in computers. I also had a IBM XT knockoff in my apartment connected to a 56K modem.

One of the benefits of apartment maintenance is the lost and found that occurs when people move out quickly. Things of value usually get stored in case the owner comes back for them. But certain items become the property of the maintenance staff.

And that was me in 1994.

I told you that story so I could tell you how I came to possess the June 1994 issue of Playboy (the one with Jenny McCarthy on the cover).

Inside that issue was an article (yes, I read the articles!) “Confessions of an Internet Junkie” by J. C. Herz

I was thrilled to read someone else’s experience of early 90’s internet. Pre web browsers, pre GUIs, pre everything, the internet was a fledgling monster just getting it’s footing.

Like the author, I spent hours pouring over USENET and scrolling text. I discovered MUDs and IRC and the world outside of Cleveland, OH. I chatted late into the night with fellow gamers and MUD IMPs.

A quote from the article that still sticks with me perfectly sums up the wild west of the internet back then:

“Log off. Go to fridge and open it in hopes that something new and zany has materialized. It hasn’t.

Go back to computer and log on in hopes that something new and zany has materialized. It has.”

J C Herz – Confessions of an Internet Junkie

Never before in my life had I had access to such untapped information. Like a fire-hose pointed at a teacup, I couldn’t hold all the information the internet offered me.

Over the years the information has tripled and quadrupled ten-fold times a thousand. Google has made it easier to find the information. Point and click interfaces make it child’s play to get what you want from the internet. No doubt the internet has improved. And will continue to do so.

But every now and then I get nostalgic for the “good old days” of white text on a black screen. IRC chats and pillaging the inhabitants of Midgaard.

You know what was better back then? If you met someone on-line the odds were good that they knew something about technology. IRC chats were filled with users who knew how to download and configure clients, set their modems and log in. MUDs were populated by script writers that built rooms to add to the MUD and code that improved the MUD. Web pages loaded fast (since they were all text) and contained no ads or viruses. FTP servers brimmed with shareware and text files and the occasional nude .gif file.

Lest I sound like a grumpy old denizen of the internet evoking noobs to “get off my lawn” I’ll admit I have low interest in some of the new technology.

Nowadays I’ve embraced Facebook and am reluctantly participating in Instagram. I have a smartphone and accounts on multiple social media sites.

I’m the tech support option for my family and most of my friends.

I’ve got a server at home. I store my stuff “in the cloud”. (Well, it’s my cloud)

But I also have my Weechat IRC client open most of the day in a terminal window and I keep my config files on my FTP server. Once in a while I log into a MUD and rampage the online world via text. Sometimes there’s someone else online there, too.

I’m glad the internet is moving us forward. But I miss the good old days.

P.S. Wanna read the article? I’ve found it! Slightly NSFW because of the preserved ads on the pages.

FretMaster Beta

In 1998 I wrote the only piece of software I had intended other people to see. I wrote it in Visual Basic 4. It’s a guitar fret board mapping program. Pick a note and a scale and click a button. It’ll show you where those notes are on the fret board. It was fun and useful but really basic and lacked a lot of features. But I made it and I was proud to give it away. At some point a website called Harmony Central got a hold of it. I might have uploaded it or maybe someone else did, I don’t remember. In any event, Harmony Central was a very popular music site that contained a lot of resources for musicians including sheet music, tablature and software. Fret Master made it into the listing.

For years I’d find links to Fret Master all over the world (all linking back to Harmony Central) and I even got some email praise for it.

Eventually, freeware (and shareware) sort of fell out of popularity. I also switched internet providers so the email address distributed with the program no longer worked.

A couple years ago, on a whim, I searched for Fret Master and was shocked to find a bunch of really old links still pointing to the Harmony Central site that hosted it. All the links were dead. But then I thought to try the Internet Archive and was surprised to be able to download a copy of Fret Master Beta 3 (circa 1998).

I double-clicked on the .exe file only to be greeted by a crash screen in Windows 10. Something about not being able to access the registry. Damn. Then I thought “What about WINE?” Hey! It works in WINE!

My dumb little program that made it’s way around the world has found it’s way home.

SELinux is the devil

I spent two hours troubleshooting strange Apache behavior on a new VM before discovering SELinux was enforcing

I always use CentOS in the cloud because it’s stable and awesome for server-grade applications (web server, webdav, samba…etc)  I use Ubuntu or a Debian derivative on the desktop because the packages are more up to date and I don’t mind living on the edge at home.  (Plus – interacting with  CentOS and Ubuntu both on a daily basis keeps me sharp!)

So I tweeted this recently:

There’s nothing more frustrating that performing rote operations that have worked 100 times before only to be stopped cold for no obvious reason.

I have another VPS set up almost the same (same OS – CentOS 7) and I kept comparing directory structures and installed packages wondering why everything was working on the old machine but not the new one.

After an entirely unacceptable amount of time (unacceptable to me – I expected this to be easy!) I turned to Google and started throwing random phrases at the search engine:

  • “apache no write permissions”
  • “apachectl doesn’t display”
  • “apachectl -S not working”

Not until I stumbled across this link, did I even THINK about SELinux (that’s how long it’s been since I set up a new CentOS machine)

Now I know the proper thing to do is to spend some time wrapping my head around SELinux and understanding how it works.  Then I could set it up so it enhances my security instead of making me feel stupid and frustrated.  But instead I usually opt to just turn it off.

So – long story short – if you see this line in your apache logs:

PHP Warning:  blah blah blah: failed to open stream: Permission denied in blah blah blah /var/www/html/blah.php

and you KNOW your permissions are correct…

Turn off SELinux.  That evil beast.

2017 Cleveland Givecamp

I made it to Cleveland Givecamp this year after many years of wanting to go but never having the guts.

I added this to my LinkedIn page:

Technical Volunteer, Cleveland GiveCamp Jul 2017

I volunteered at Cleveland GiveCamp and assisted “The Valentine Project” in refreshing their web presence. I served as site admin by managing hosting, DNS, loading the initial CMS and database and configuring email. I handled site security by configuring SSL and hardening user accounts. I also assisted with scrum-style checklists and documentation to deliver a finished product in just over 24 working hours from July 21-23, 2017.

It’s a pretty good summary of how I spent my weekend.


All-in-all I had a good time. I was assigned to The Valentine Project

We were to design and publish a new website. I volunteered to handle the admin stuff since no one else on the team seemed to know how to get that started. (Plus, in a moment of panic on Friday night I realized I was the only one not assigned some programming-style task)

DNS was a nightmare (as always) so with some help from the “Green Shirts” I set everyone up with entries in their HOSTS files so they could at least see the WordPress site I set up and get started. CloudFlare was used for DNS. (a move questioned by more than just myself). Eventually I figured out the nameservers, got them pointed to the correct place and got the DNS sorted out and the new site started showing up under the old domain name.

After six hours Friday night, just over twelve hours Saturday and about six more hours on Sunday. We had a working site complete with SSL, new email accounts and strong passwords (I was a stickler for security which earned me some praise from team-mates)

At the end I delivered a 3 page document to the non-profit detailing the domain registrar, DNS details, hosting account links and credentials, new email addresses and passwords and site details.

When asked why they’d need this document, I explained that if a document with similar details for their existing were prepared for us on Friday, we may have been able to finish hours earlier. Whether they understood the contents or not – it’s prudent to keep a document like this in a safe place in case they need to move hosting or change their domain (among other things)

The clients were amazing people! Saturday night they brought beer and champagne. They provided cookies and gave us each a personalized thank you note on Sunday at the conclusion of GiveCamp.

It was a fun experience. I felt like I was able to really help out (even though it was all back-end and security stuff) by providing them a safe, reliable platform on which to build their new web presence. One of the project managers mentioned that if it wasn’t for me, our group would not have passed the security check each group must pass before turning over their results. He also leaned on me a bit near the end to help steer things to the finish line (it was his first year volunteering too).

Will I do it again next year? Right now, I don’t know. But I sure had fun.

So Glad It Isn’t Me

I had to be part of someone else’s bad day and it sucked.

Please keep confidential unknown to <name> at this time. Meeting is scheduled for 9:00 tomorrow, in the conference room. Please have someone get his laptop shortly after 9:00 and disable him from the system. Please also have someone discreetly gather his personal items from his work area and bring them to the conference room as quickly as possible.

This morning I took part in a ninja-kill.

A Ninja-kill is a termination where the employee doesn’t know about it beforehand. The guys that usually handle this weren’t in yet, so I had to go and collect this guys personal items while he was in the “meeting”.

Luckily, on my way over to the building, one of the guys who normally do this was arriving to work. So I snagged him and made him go with me. Good thing, too. He grabbed an extra box and a cart (which I hadn’t thought of). He also knows who the guy is so we could make sure to avoid running into him. (How embarrassing right? “Um, yeah… I’m here to box up your personal shit while you’re in your ‘meeting’”)

I teased my boss that they’re gonna need way more than one box to pack up my shit if they ever decide to do this to me.

He laughed and suggested that he’s gonna bring in a box of lead weights just to make it extra tough if it ever happens to him.

I can’t help putting myself in this guy’s shoes though. I mean, I put his iced coffee and his cell phone in a box. (Well, not the same box). I mean – he really did not see this coming and was planning on coming back to his desk.

Damn.

Today I found a little humility in having to take part in someone else’s bad day.

I’m still so glad it’s wasn’t me though.

Linux Doesn’t Ask “Are You Sure?”

Are you sure you want to ruin your entire day? (Y/N)

Preface: This happened a couple years back and has completely resolved since. It’s also one of those events that fellow sysadmins might relate to that make you go back and rethink (and rewrite) your backup scripts and policies involving production machines and how to not be stupid, in general.

Today is the day after Easter.

This past Good Friday was not… well… good.

I can blame a cavalier attitude toward my work on a Friday before a holiday weekend or I could blame the bar for keeping me there until midnight the night before or I could blame the webdev people for breaking the DEV web page and requiring me to try to restore it from backup, but in the end I only blame myself.

I have made the joke plenty of times that “Linux doesn’t ask ‘are you sure?’ You tell Linux to delete a file and BAM, that file is GONE! There’s no sissy recycle bin. There’s no ‘are you sure?’ prompt. If you want to shoot yourself in the foot – Linux will shoot you in the most efficient way possible.” I usually follow up that joke with: “That’s also why I have this really fun ulcer and aren’t supposed to take aspirin anymore.”

Well, Friday I wiped out two production databases from the production server.

Intending to delete

var/www/html/web-sandbox

from /localdepot

I typed

rm -rf /var

instead of

rm -rf var

Instead of deleting the var directory tree in the current directory – that preceding slash (which was pure muscle memory) indicated my desire to delete var from the file system root.

The same /var that contains core OS files including ALL of the database instances, their backups, mail and a variety of other important ‘variable data’.

Years of being hyperaware of how long it takes for the cursor to come back after a command helped me catch and kill the command after about 5 seconds. But it was too late to save /var/lib/mysql, /var/empty and /var/spool. (How Linux decides the order in which to delete things still baffles me – it sure isn’t alphabetical)

Immediately afterwards my world turned black. That familiar feeling of adrenaline and bile rushing to my head while my heartbeat almost stops.

I did my best to assess the damage. I scrolled back through my history and wrote down what directories were affected. I briefly thought about how I could cover this up long enough to fix it without anyone knowing. I decided I could not.

I quickly told my boss what happened. Not in detail, but I told him it was my fault and what was affected.

He told his boss it was a ‘hard crash’ on the file system and that I was ‘working on restoring things’. (God, I love my boss)

I set about planning my recovery. I was shaking so bad I kept making typing errors. I double and triple-checked the status line of my screen to ensure I was on the correct server when I typed commands. I started copying things then I canceled them. I checked the backups to see which ones I could recover from and started them copying to the DR server in case I broke the production box beyond repair.

In short – I was a hot mess. And it was only 11:00 am.

By 5:45 pm I had MySQL restored (4 and a half hours of copying and an hour and a half to restore) and sent the email.

In the interim I compared the /var tree to the other RedHat box and started fixing things like my inability to SSH into the server (missing file in /var/empty) and the missing CRON jobs and scripts (also in /var/spool)

I started copying the DEV backup and went home on-time for dinner. By 9:00 pm I had the DEV restored as well.

Hours had gone by and I had heard no new complaints. I started googling ‘deleted /var’ to see what happened to other people when it happened. Most had no recourse but to reinstall. But most had also deleted the entire directory. I only lost a few sub-directories.

I spent this weekend rethinking my backups and re-writing cron scripts. I also took steps to bring the DR server up to date in case I have to roll everything over to it the next time I have to reboot the production box.

This weekend I slept little and thought about how I am the only one that knows and can fix these kinds of problems. (My boss asked if would be worth getting Redhat involved. I told him no, mostly because I KNEW what happened and it was my fuck up)

As of today, all is quiet. There have been no new complaints. Is everything OK?

I won’t know until the next reboot.

But I have a DR plan working and my backups are running. If I have to move this data off this box, I can do it. I also learned where my existing backups are lacking and have addressed those areas.

I hate learning lessons in this manner.

But Linux doesn’t ask ‘are you sure?’


I’ve seen message boards full of threads where people own up to their worst mistakes. I thought this might be a good contribution. I hope it’s seen as a cautionary tale to noobs and a “Thickheaded Thursday” type of story where I explain how I:

  • Screwed up
  • Owned up to my mistake
  • Took ownership of what I did
  • Figured out how to fix it
  • Shared it with others

Earliest Know Record of “The Linux Guy”

I found what I believe to be the earliest reference of me using Linux on the internet.

Via Google Groups, I had posted a question asking for help configuring X on Debian 1.3.1 (released July 1997):

I hope I haven’t missed an obvious solution to this problem somewhere - but it’s slowly driving me mad… I’ve installed Debian 1.3.1 (older version, I’m sure, I’ve had the CDs for about a year) and am trying to configure Xwindows.

I can successfully start XF86Setup and even get my intellimouse to work but I can’t seem to find a happy configuration for my Permedia 3000 graphics card. There is no preset for my card and I’ve tried to ‘hand-configure’ it but every time I finish configuring and XF86Setup exits and tries to fire up the server my monitor goes blank (even the power light goes from green to amber(stand-by mode) - the first 2 times I had no choice but to power off (OUCH!) and run e2fsk manually to recover - since then I’ve learned to exit Xwindows (Ctrl-Alt-Bkspc) blindly (the video never does come back - but at least I can hear the exit beep and shut down nicely)

Obviously, I’d like to take full advantage of the capabilities of my card - but I’ll settle for just being able to see the screen 🙂

If anyone can offer some advice as to where to start, I’d appreciate it! I’ve got ‘LINUX - The Complete Reference’ the book with all the HOWTO’s and stuff - although I don’t know if that’s totally accurate because of it’s age either (also about a year) but any refernces to HOWTO’s or web pages or just a message from somebody who has a Permedia 3000 card working under LINUX would be great!

Thanks for helping….

I remember getting that book (LINUX – The Complete Reference. It would have been the 2nd Edition, I believe) when I was still working at my pre-computer career. The book was so big (1059 pages!) it wouldn’t fit in the mailbox and they had to deliver it to the office at our apartment building.

I am fairly sure I never did get the Permedia card working (damn Windows-only drivers) and went back to Windows 9x shortly thereafter.

I tried installing Linux again though. Multiple times. Eventually severing my connection from Windows in 2006

And now I make my living doing a thing that wasn’t even a thing until I was married with a family.

In general, I am glad that all of my childhood isn’t stored online somewhere (a’la Facebook), but it’s fun to have found this evidence and remembering the days when what I am doing today was just a dream.

Nerves of Jello

Ever have a really bad day? Or a bunch of bad days in a row? Me too. I’ve masked the names to protect the guilty.

For a very long time I have been aware that stress can take a toll on your health. But in my experience, it’s never been immediate like it has lately.

It started this past weekend with an on-call nightmare: I got two calls about Asterisk, (not my specialty) on Saturday. One guy just needed it started. He had rebooted his machine and now it didn’t work. Easy fix. But the call ruined my lunch. By the time I was done my frozen pizza was almost frozen again.

Later, just before a dinner I was really looking forward to, the shit hit the fan:
A major client experienced a catastrophe.

Here’s the timeline of events over the next hour:

  • 6:27p Call from Answering Service – Client Engineer #1 from India
  • 6:29p Call from Answering Service – Client Engineer #2 from India
  • 6:43p Call from Answering Service – Client Engineer #1 from India
  • 6:40p I called my backup – no answer – left message
  • 6:43p I text my boss’ boss
  • 6:45p I text my boss
  • 6:51p I call my boss’ boss – left message
  • 6:53p I call my boss – left message
  • 7:02p Call from Answering Service – Client Engineer #1 from India
  • 7:10p Call from Answering Service – Client Engineer #2 from India
  • 7:12p I call our company president – told him I was working on it and can’t get a hold of anyone to help

It seems Client Engineer #3 (from New Jersey) pulled a cable at the Major Client data center and severed connectivity to over a dozen machines. I was being called by three different Major Client employees (and they were giving the answering service grief since they were all from India) and I was unable to contact them because one of the servers affected was the XMPP server.

I tried to call my backup to see if he could help me clear calls until I could figure out how to reach someone via skype, but there was no answer. Then I escalated to my boss’ boss with a text that went unresponded. Then I tried my boss – since he knows the most about Major Client – but he wasn’t on-call – so he didn’t answer or call back either.

Finally, I called our company president in a panic. He wanted to know what I wanted him to do. I told him – nothing, I just wanted him to know there was a shitstorm brewing, and I was alone, in case somebody complained.

Long story short – my boss’ boss and I stayed up until 2am straightening out the mess.

And then Client Lead Engineer – who was on a plane coming home during all of this – called the answering service at 5:59am (AM!) to wake me and find out what happened.  Then he kept me awake for an hour to watch him as he fixed the problem the way he knew how.

An hour later the pager went off to remind me I was on-call again. Sleep was a memory. Sunday was going to be shitty.

Monday wasn’t horrible and I got what I considered a proper amount of thanks for holding it together on Saturday. I was still a bit shaky and sleep-deprived, but I was back in the office.

Tuesday I had to be at our data center downtown to move our phone server from one rack to another. It should be an easy task. I had planned all my cabling and showed up at the data center at 6:30a to make the switch at 7am.

Unfortunately, my stomach had other ideas. I barely made it to the bathroom at the data center when I arrived. I was nervous, running on fumes and just chugged a Monster energy drink. That wasn’t starting well at all.

So I get into the data center and start the move. Things are OK. In about 30 minutes I had the server moved and ready to power on. I pushed the power button and IM’d our office assistant. “All done. Please test” She messaged back that she couldn’t get into the server. I double-checked my cables. I had link lights. Everything looked ok.

We waited. Still no access. Oh, shit. This is the phone server. It has to be up by 8am or the office will have no phones.

I triple checked my cables against my documentation. I was at a loss. It was 8:15am. It was time to call my boss’ boss.

Now, I’m pretty sure I woke him up. But his first sentiment to me was “Chuck, this isn’t that hard.”

“Double-check your cables. Did you use new cables? Did you try to change cables?”

I felt insulted and stupid. Of course, I had tried different cables. Did he really think I tried nothing before calling him? After I admitted that I’d been working on it for an hour, he decided to stay on the line with me to help troubleshoot.

We went over everything. From start to finish.

“Did you drop the server?” No.

“Did you do anything that you suspect might have caused an issue?” No.

Again, I felt stupid and embarrassed. I told him that I was aware of how this situation makes me look, but I am certain that I did nothing that I didn’t plan to do. There were no obvious errors or detours in the plan I had made.

Eventually – it was discovered that the cable port that I plugged into the public network (which is how our office assistant would have reached the server) was not configured for the public network. Not my fault – his fault. After he fixed it and everything started working, he apologized. But the damage was done. I felt like jello and was ready to just leave.

Wednesday was another trip to the data center to move another server. This one went OK, but wasn’t without its moments of feeling belittled by my boss’ boss via phone. At least there were no problems, and we were able to get things back up quickly.

Finally, this morning, I had to run updates on the firewall at our data center at 7am, from home. Ok, no problem. 7am hits and I press the button. Shortly thereafter I realize that I didn’t set enough downtime in our monitoring software. As the monitor lost communication with everything behind the firewall (because it was rebooting) I received 56 “down alerts”. 56 text message notification sounds. One after the other. The fucking phone wouldn’t stop.

I wasn’t sure if things had just gone to shit on me or not.

As I’m scrambling to try to not wake the house and shut up the phone at 7am and acknowledge the alerts, the box comes back up and I start to get “up alerts”. The connectivity was being restored. Another 56 text messages in a row.

At his point I am literally shaking like I’ve got fucking Parkinson’s. My hands are cold and I can’t keep my head still.

As things start to come back – I verify that things are OK, now and send my email explaining why there were so many alerts.

Then I sit down in my chair.

I couldn’t decide if I wanted to shit, throw-up, faint or die.

This was too much. Too many things in a row. Too many days in a row.

I can’t do this anymore.

In Defense of Thanksgiving

Wherein I declare myself the founder of the “Defense of Thanksgiving Tradition Society”

I posted this to Facebook. I was my second try at taking out my frustrations on Christmas Creep. I called out a number of specific violations, but never tagged those offenders or really did anything about it. This one wasn’t as strong as Dear Santa.

In defense of Thanksgiving:

In order to reclaim Thanksgiving as a national holiday, we at the Defense of Thanksgiving Tradition Society hereby proclaim a moratorium on the following:

There will be no Christmas music until at least Thursday night. Seriously 102.1FM??

There is no reason for a Countdown to the 25 Days of Christmas. The 25 Days of Christmas IS a countdown. And it occurs in December. Don’t get greedy ABC Family. Oh, and by the way, Finding Nemo, Harry Potter and Willy Wonka have nothing to do with Christmas.

The Lexus “December To Remember” Sale occurs in December. What’s so hard to understand? It’s got December right there in the title! And Back off Acura, who the hell is buying someone a car as a present for Christmas anyway?

There shall be no Christmas Tree Lighting Events until we’ve properly digested our Thanksgiving meal. Got that Crocker Park? And don’t look so smug Downtown Cleveland. You just made it.

Thanksgiving is a great American holiday. It combines food, football and drunken relatives. Thanksgiving is not an afterthought and we demand it’s return to eminence as an actual holiday celebrated in November.

No more will we tolerate the retailers who insist on pushing us from “Trick or Treat” to “O Christmas Tree” without stopping so much as to smell the turkey.