Mandaris Moore


Moving forward has gotten easier and easier to do. I'm definitely on an upswing when it comes to most of my goals for the last couple of months.

What am I attributing this new to this success?

More regular reviews via OmniFocus and a desire to accomplish what I set out to do.

A brief look at what I'm supposed to be doing today.
A brief look at what I'm supposed to be doing today.

For the longest time, I would have OmniFocus on my laptop and and iPhone and just wish that it would organize my life - that everything would just fall into place by some kind of magic. I think this is why productivity software will always be in demand. People want things to happen, but they forget that it's just a tool and if you don't change who you are or your approach to the problem nothing is going to happen.

Reflecting in what needs to change

I realized that I had a problem. I was doing the constant yo-yo of getting organized moving my life forward for a couple weeks and then finding myself overwhelmed again. I feel that it's because I couldn't trust that everything in OmniFocus was something that I should be working on. I would have 20 plus items available for one day and those items would be individual actions or projects.

I would procrastinate and think 'I'll just do this later' because the deadlines and defer dates where just useless pieces of data. Later I would kick myself because I spent hours surfing the internet instead of marking something off.

I needed to become more aware of what I was doing.

Time Budgeting at home

Just like in financial budgeting, I needed to have more of an idea of where my time was going. I started using the app Timing to see how much time I spent goofing off versus actively using my computer1.

A look at computer usage on my laptop for last week.
A look at computer usage on my laptop for last week.

Some of this, I already wrote about in a previous post, but I wanted to re-iterate how this is a continued reminder of how I keep myself on task.

There was a couple pitfalls with the process as my computing life is divided between a MacBook Pro and an iMac, but I'm hoping to clear some of that up with the new timing sync feature that was introduced.

New Screentime for iOS

Screentime on iOS allows me to be mindful on the phone.
Screentime on iOS allows me to be mindful on the phone.

With the new version of iOS, I’m able to get a better idea of what I’m using my phone for on a daily and weekly basis.

Currently, I’m not using the App limits because I’m hoping that being aware of how I use my phone will prompt me to change my habits and increase my will power.

Show a light day of usage via ScreenTime
Show a light day of usage via ScreenTime

It’s definitely a great start to quantifying what areas I want to work on. There is still one more tool.

Streaks

Streaks is an App on iOS that I picked up one day shortly after New Year’s Day. I’ve been using it off and on for making sure that I mediate3 and write in my journal.

It wasn’t until recently that I made reviewing my projects a priority to review in Streaks and I feel that it has really made a difference2. I get two kinds of positive reinforcements when I do this. The first, the fact that I get to mark it off. The second, I get to see evidence of my changing habit as a number.

End result

I feel better about myself as a responsible adult. There is true freedom in knowing what you are and are not doing.

I understand that this is a just a process for me and there is a possibility of me back sliding into bad habits. That is ok, because I know that getting back in the good habits is easier than ever before.


  1. What's the point of spend so much money on something that I only watch videos on? 

  2. Due is another good app for things like this. I use it for reminders to flex my core muscles throughout the day. 

  3. breaking a streak feels soooo bad. 


In my last post, I left off with a list of things that I wanted to work on for the next release of the design of the blog. I'm still changing the header at the top of the page and I've been working on improving the contrast of the colors you see for links to make it easier to read. Something you can't spot just by looking is the fact that <h1> - <h3> tags don't correspond to the breakdown of the syntax of the rest of the site.

A small sample of the code that was being generated.
A small sample of the code that was being generated.

What do I see on the internet

I feel that a lot of the sites that are on the internet only use the <h1>, <h2>, <h3> tags and looking at some of the templates that I've come across for pelican use css classes to differentiate them in the design.

I don't have a problem with that, but I felt that it doesn't help those that might be using some kind of screen reader or parsing system1.

Searching for a solution

Once again, I started looking for a place where this had already been fixed and quickly found one that would make sure that the html that python-markdown would give me would match what I was expecting to give to my template.

Christian Prieto had already come up with this handy solution in 2016 and had put some tests and an example of how to incorporate it into pelican.

But there are further complications

Unfortunately, pelican has changed since the original and I wasn't able to get the solution to work. The readme says to add the following:

MD_EXTENSIONS = ['downheader']

But the latest documentation found here, have the markdown default to be defined as a dictionary and not an array2. The simplest way to get it to work is to change your pelicanconfig.py to have the following code.

# Markdown Plugins
MARKDOWN = {
    'extension_configs': {
        'markdown.extensions.codehilite': {'css_class': 'highlight'},
        'markdown.extensions.extra': {},
        'markdown.extensions.meta': {},
        'downheader': {},
    },
    'output_format': 'html5',
}

For me, I had to specify a value because the title of my site is in a <h1> tag and the article headers are in <h2>.

# Markdown Plugins
MARKDOWN = {
    'extension_configs': {
        'markdown.extensions.codehilite': {'css_class': 'highlight'},
        'markdown.extensions.extra': {},
        'markdown.extensions.meta': {},
        'downheader': {'levels': '2'},
    },
    'output_format': 'html5',
}

I've since made a pull request so that others can get around this as well.

Conclusion

I'm happier and happier with the way that the site is coming together, but I'm afraid of the amount of technical debt that the site is accruing as I go along. I've to to make the readme a priority for those who come after me and want to make this design better.

I've also taken some time to just take the header and just make a standalone project that demonstrates how it works. I points to the simple theme that comes with pelican so people can just download it after installing pelican, python-markdown and the mdx_downheader package.


  1. From what I've seen a lot of webcrawlers use the headers of a page to determine whether a site was worth putting in search results. 

  2. This isn't the only place that has this, but I've been having trouble just getting the projects that I am using up to date. Heck, my readme is one line at this point! 


I think I'm ready to mark my second pelican theme 1.0 as "Feature Complete" today! I started off with -what I thought- a simple premise of having a site site took a lot longer than I expected but I'm pretty happy with the site for now. But before I tag it and start working on 2.0, I want to go over what I've done so far.

Visualization of what I've accomplished with the blog.
Visualization of what I've accomplished with the blog.

Parsable

The first thing I started researching was how to make the site parsable by webcrawlers. Although it's a personal blog, I wanted people to be able to find the content easily.

OpenGraph

OpenGraph was the first thing that I came across and appealed to me the most because it's the preferred way of parsing data for Twitter1.

I found it especially rewarding that the tags are also parsed by facebook and my new favorite social network slack.

One of the technical difficulties that I ran into when adding OpenGraph tags was adding the images. The specification for OpenGraph states that images to be used need to be added as meta data in the head of the html. This can be a pain as the other data like title and date can be pulled from the article itself and I didn't want to go through all my old posts to add image meta data.

Luckily, the github user WhiskyEchoBravo had a project that searched the content of the post for images and added the first to the list of tags. I'm a little proud that I helped with issues with pages.

Afterwards, I did run into some frustration when the images that I added to posts wouldn't be as big as I expected.

Post in slack with a small image.
Post in slack with a small image.

Ultimately, I think it's because of the mixing and matching of having OpenGraph and twitter specific tags and was solved it by making sure I used the following for my twitter card.

<meta name="twitter:card" content="summary_large_image" />

And now I get the post to unfurl nicely.

Post in slack with a large image.
Post in slack with a large image.

Schema.org

This is the styling used by both Bing and Google. I put this in as a challenge to myself to make it work in both instances. I leaned a lot from the example on OrbitingWeb and refined what I was working with using another example that I found on github.

Valid Semantic Tags

For this, I just wanted to use some of those really cool semantic tags that html5 has given to us. When I look at the code for some pages on the internet I see a lot of <div> tags with classes that could be replaced with <main>, <nav>, or <section> tags.

I'm willing to just attribute it to my desire to have my own style or maybe just inexperience, but I'm happy to report that the site passes html validation except for the OpenGraph definitions found in the header.

figure it out

One technical hurdle I ran into was that I wanted my images to be wrapped in the <figure> tag and also have a <figcaption> tag that would have the alternative text.

I searched for a plugin for pelican2, but the closest thing I could find was liquid tags at the time3.

I did find jdittrich figureAltCaption project on github which was a extension for the python-markdown that pelican uses. I even submitted a pull request to allow it to do reference links!

There was a little confusion on getting it to work because pelican has been changing since some of these plugins were created.

Long story short, I had to add the following to my pelicanconfig.py to get it to work.

   # Markdown Plugins
MARKDOWN = {
    'extension_configs': {
        'markdown.extensions.codehilite': {'css_class': 'highlight'},
        'markdown.extensions.extra': {},
        'markdown.extensions.meta': {},
        'figureAltCaption':{},
    },
    'output_format': 'html5',
}

Easy to share

I wrote down that I wanted the site to be easy to share and it is when you look at the amount of tags and metadata that is in every page.

At one point, I wanted to add share buttons, but -with the rise in concerns about privacy- I wanted the users of the site to be the ones who would share it.

Also, I'm still working on color schemes so the buttons might clash with whatever I end up with.

Clash of the social buttons!
Clash of the social buttons!

Accessible

One of the underlining principles of this site design is that I wanted it to be accessible to as many people as possible. It's part of the reason that I've worked so hard on making sure that I included so many semantic tags. I didn't think that this was particularly hard to do when you understand what needs to happen before you begin.

The theme doesn't have any errors at this point, but does loose some points because of the way that markdown headers are handled and the fact that I picked a low contrast color for my links. I'll fix it soon.

Conclusion and where I'm going next

Overall, I'm happy with this version of the site and blogging about it has helped me think about what places I want to refine going forward.

List of things to improve

  • Create a decent readme with all the packages and properties that the theme uses
  • Improve color contrast for reading
  • Add Cristian Prieto's mdx_downheader
  • Make the top navigation a little less clunky
  • Look into how to integrate micro.blog posts

If you want to contribute you can find the theme on github here.


  1. Twitter is still my social network of choice and -despite it's flaws- is not as creepy as facebook. 

  2. Seriously didn't see Chris MacMackin's figure-ref until I was writing this article. I'll have to look into it for my next version. 

  3. I used this to make my previous theme Tufte and did not want to go down that road twice. It is very specific to pelican and I didn't want to dive into more regular expressions when I knew there had to be a solution already created. 


I found a desk near the garbage bin and I wanted even though I didn't have room for it. I guess it's because I still love the idea of sitting down and getting to work on something.

A lone desk looking for a good home.
A lone desk looking for a good home.

I feel that it’s party because of the restlessness I get every once in a while where I want to make or learn something. I think I’m really making progress in keeping my eye on the ball and making sure to reflect on my goals.

Meanwhile...

Work has been really busy and weird at the same time. A lot of unanswered questions and unease just below the surface. I hope there isn’t any extra drama...


Seeing how time files when I'm trying to get things done
Seeing how time files when I'm trying to get things done

I've set aside some time tonight to do a review of some of the things that I told myself that I was going to do. And it's kind of daunting in that some of this stuff has been waiting for a while to get my attention.

Well, there isn't a point in procrastinating much longer.

I know I'll feel better about so many things if I at least get started.


Today, I thought about how I start most of my post with the word "today". If you look through all of my writings on this blog you probably won't find it because it's usually the first thing that I delete when I'm editing.

Maybe it's because some part of me is always thinking about how I want to start or continue something and that Today will be the day that everything will work out and I can start down easy street.

It hasn't happened but I feel that life is filled with stops and starts and as long as you focus on making some progress everyday - even if it's a little - that feeling of Today goes away.


Looking back there were 4 main areas. Performance being the first.
Looking back there were 4 main areas. Performance being the first.

My first feeling about the keynote is genuine happiness. I'm happy that they are going to focus on the performance of the operating system. I'm happy that they are supporting all the devices that were working with iOS 11. I'm also happy that they are NOT introducing a lot of extraneous1 features that people may never use.

Focus on performance

I'm tired of people having problems with Apple devices. I'm the family tech support and I do not like the feeling of having someone's device not work. This is compounded when I'm usually the one who recommends them.

I'm hoping that this will allow me to not have to answer as many questions and make the current devices last longer. I can't afford to buy anything new at this point.

Shortcuts

I am already on board the automation train. I've got the workflow and launch center pro applications on my phone. I feel that this should allow me and everyone else a better way of getting rid of repetitive tasks.

Bring developers back to the Mac App Store

I'll believe it when I see it, but it definitely gives me the warm fuzzies to have developers feel more at ease on the platforms that I love.

Apple Watch

I think this is the best presentation that I've seen with Kevin Lynch. I would like an Apple watch, but I have trouble thinking about how I'd incorporate it into my life. When I saw those demos along with everything else associated with iOS 12, I found myself dreaming about owning one again2.

Conclusion

All in all, I'm happy with the keynote and actually a little sad that people weren't. It really feels like Apple is sitting down and letting their products mature a little more as they move forward.


  1. Well, they seem extraneous to me. I guess it's just a matter of how easy it would be to add to my work flow. 

  2. I was gifted one, but had to return it for financial reasons. Really sweet gift but I needed to pay the bills. 


People still make mistakes.
People still make mistakes.

I haven’t seen a pen like this since high school. I thought it was funny that even thought we pushing and pushing for a paperless life style we still have room for something like this.


I am telling the world my mission.
I am telling the world my mission.

I wrote the above in the OmniGroup slack. I think I’ll set a reminder so that I don’t lose track of who I am and where I’m going.


A man in a gear. A cog in the machine of life.
A man in a gear. A cog in the machine of life.

I spent a little time with Pixelmator last night and found it to be fairly easy to make something like this. I thought it would take a while to make something would meet my needs.

I guess it shows that you never know what you can do until you try.

The only thing that I regret is that I went down the rabit hole and spent almost an hour this morning researching formats and dimensions for making my icon perfect.

Here are my resources if you want to find out more:

  • http://icoconvert.com/
  • https://stackoverflow.com/questions/1526747/ideal-size-for-ico
  • https://github.com/audreyr/favicon-cheat-sheet
  • https://mathiasbynens.be/notes/touch-icons