Mandaris Moore


I've fully committed to doing all my blogging on Micro.blog at this point. The only thing left is to make sure that I do something with my old blog that was using Pelican1.

I'm going to miss hacking on it, but I've decided that I'll focus on one technical project at a time.

So, if you're following me the best place to go is still mandarismoore.com but if you want to see the old site it's mandaris.github.io.


  1. I almost got swept away with wanting to do some more to make the older blog work better with the newer release. 


I want to get back into basic writing again and I feel that one of the great topics to write about is to write about my writing.

In the past, I've written about what things I've accomplished with the theme for my blog.

Mind map of blog accomplishments.

What I would like to focus on, finishing up the JSON plugin that I started working on a year ago and placing this theme in a grid.

There are still a couple of accessibility questions regarding how I'm supposed to get the index page to work with a screen reader that is boggling the mind. I'm hoping that by making the json feed work correctly long time readers1 will prefer it.


  1. I don't think that I have any at this point. 


Thinking about what my next actions are going to be.

I'm about to do a review of what needs to be done this week and I'm hesitant to start. Although I've been getting better at making sure that things get done, the sheer amount of "stuff" can feel overwhelming if I look at all of it at once.

I think that is why I find myself drawn to OmniFocus and GTD in general. It give me a tool that allows me to trust that what I'm not doing is correct.

But back to the matter at hand, what should my next project be?

Moving the site generation to another server

Currently, I have a iMac at home that generates the site and then scp the files to a server. The only times that I have had an issue is when I had to shut down dropbox running on the machine because it was being a resource hog.

My plan is to move all of my posts to a repository and then having a cron job running on the server to do an update every hour to update the repository and then the website.


I've been part of a slack group where I contribute on a regular basis and some of the members have really gone the extra mile to share some of their experiences with the rest of us.

It feels amazing to be part of a group that is brave enough to do this and trusts us to that degree.

I'm feeling pretty inspired to write more as well.


I'm slowing making progress on my blog. It doesn't look like much because I don't have any css associated with it. I'm ok with it looks a little rough for now because I want to focus on the design for now and I rally don't think I'm going to get a lot of people checking it out between now and whenever...

What I would like do is challenge myself to do more than just play around on my computer. I've been spend more and more time becoming aware of the little clock in the upper right hand corner of the screen that tells me how productive I've been on my Mac.

Image of Timing in Menubar showing that I am 62% productive.

Personally, I feel that every little bit counts towards becoming an adult. I can't go back to the days where I only had to worry about homework any more. In fact,I no longer wish for those days because I understand that even then I had some kind of struggle going on. The me now, is a lot more self aware and more confident in who I am.


Setting rules in Hazel

I've been working towards getting the generation of this blog to be automated and I've decided to do that using a rule in Hazel to always detect if a file has been changed and then running the pelican command to create new pages.

I've decided to make the actual publication1 a seperate step for now because I might be moving hosting in the coming weeks.


  1. Currently, the site is hosted on github and I need to make a git commit to make it availble on the inter-webs. 


Today, I wanted to find out why urls used dash (-) instead of underscores (_). Personally, I perfer to use underscores because they are easier for me to read when looking at a long_title_that_signals_something and thought that the reason it didn't work out was because of someone thinking the opposite.

Turns out that it has more to do with how computers seperate words. Joel Atwood had a nice piece that points out that the w used in regular expressions matches up with the under score so what I view as multiple words would be counted as one.

The best example was in the comments when someone wrote:

This_is_a_single_word
but this-is-multiple-words
-- Jeff Atwood

I don't think I'll be changing my old files but going forward, I'll probably use this convention.


I recently spent some time chatting on the internet about some of the problems that I've been having with getting things done since my "fun-employment" the last couple of months. It is very hard for me, because I've been told that I'm smart and have potential all of my life and here I am in my mid 30's and there aren't a line of people knocking on my door to give me money.

When I did this, I felt good.

I felt like I wasn't just someone lost in the wind.

I'm going to stay involved with the community and make it my touch stone as I work towards finding more work.


So, I spent about 3 hours working on getting Open Graph tags to work in the theme that I created. I've got mixed feeling about it because I started off by adding the tags to the base html template using an if statement and it seemed a little clunky.

{% if OPEN_GRAPH %}
<meta property="og:title" content="{{ SITENAME }}"/>
<meta property="og:type" content="website"/>
<meta property="og:description" content="{{ SITE_DESCRIPTION }}"/>
<meta property="og:url" content="{% SITE_URL %}"/>
{% endif OPEN_GRAPH %}

This worked for the site in general but doesn't translate to all the articles and this caused me to go into a some what deep dive into how Pelican and Jinja parses blocks and if statements. I started off with putting all the tags into the base and then doing individual changes to tags that need to be changed for.

BAH!!!

So, took a step back and looked into what plugins were already available. And there is was! Pelican-open_graph! I was home free! Or so I thought, until I tried to use it. The plugin has three problems.

It doesn't account for when someone does not have a modified date on their articles.

Luckily, someone had put a solution up. The change was forked about 7 months ago today and it looks like whoever created the open graph plugin has taken a break to work on other things.

It's a year old and hasn't made the changes for pelican regarding summaries of articles.

So, I had to do some debugging to find out that the code needed to be changed in the following way1.

ogtags.append(('og:description', instance.metadata.get('og_description',
                                                           instance.metadata.get('summary',
                                                                                 instance.summary))))

It also assumed that every article has some kind of tag.

I've decided to just punt this problem and add the tags to the 6 articles that don't have them, but than I took a second look at the problem because the perfectionist in me doesn't like to leave problems unsolved and I didn't want to track down what the particular articles were.

So, I just wrapped the code in a try block to make sure that I got this particular exception.

try:
        for tag in instance.tags:
            ogtags.append(('article:tag', tag.name))
    except AttributeError:
            ogtags.append(('article:tag', 'untagged'))

Results

Ultimately, I got to learn a little bit more about using pelican and knocked off a major milestone on getting this blog to where I'd like it to be.


  1. I've got to branch and push this fix. I don't know how many other people are using pelican or this plugin but if I can save them or future me some time... 


Today I went to a blogging workshop and I found it really interesting. At first, I was worried that it would filled with the standard novice information like how to get on the internet being taught by someone took 15 minutes to get some information off the internet and put it into a powerpoint presentation to read to use.