OneDly Project

One-Day-Only (OneDly) project documentation.


About

One-Day-Only or OneDly projects help to acquire a new skill or to complete a task within a short timeframe. It limits the available time and combines it with defined objectives. This situation forces you to focus on the relevant elements in order to successfully complete a task or project. Please note, the idea is not to pack as much work as you can do within a workday. At the end you will find answers for the following questions

  • What were the relevant elements for success?
  • How good are you in estimating your work effort?
  • What were road blocks or even showstoppers you haven’t forseen even in a short-term project horizon?
  • What are typical reoccuring interuptions and distractions during your work?
  • What is your personal pace when working intensly on a task or project?

This will certainly generate some personal insights and improve your activities in future projects.

Structuring OneDly Projects

A single page stores an entire OneDly project documentation. We recommend the following concise structure.

  • About: Some background / intro information motivating the project
  • Project Definition
    • Goal
    • Approach and Objectives
  • Sections
  • Summary and Conclusions
  • Next steps

Example

Raspi mini computers are embedded computers running linux and provide a desktop alike programming experiences. They are available at low cost. Being able to develop software for these systems is a valuable contribution to one’s CV.

This OneDly project experiements with the Raspi setup, development and deployment of some example software.

Project Definition

This section defines concisely the basic project frame.

Goal

Improve my CV by adding new state-of-the-art development skills.

Approach & Objectives

  • To be able to setup a Raspi from scratch
  • To be able to develop a simple command line software
  • To enable a software to automatically restart after shutdown / power off
  • To enable resilience by monitoring and restarting software processes remotely

Section

Source: content taken from hugoBasicExample. File: markdown-syntax.md

Paragraph

Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.

Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.

Blockquote with attribution

Don’t communicate by sharing memory, share memory by communicating.Rob Pike1

Tables

Tables aren’t part of the core Markdown spec, but Hugo supports supports them out-of-the-box.

Name Age
Bob 27
Alice 23

Code block with Hugo’s internal highlight shortcode

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Example HTML5 Document</title>
</head>
<body>
  <p>Test</p>
</body>
</html>

  1. The above quote is excerpted from Rob Pike’s talk during Gopherfest, November 18, 2015. ↩︎

Section

Source: content taken from hugoBasicExample. File: rich-content.md

Hugo ships with several Built-in Shortcodes for rich content, along with a Privacy Config and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds.


Instagram Simple Shortcode


YouTube Privacy Enhanced Shortcode


Twitter Simple Shortcode


Vimeo Simple Shortcode

Math Modeling

Source: content taken from hugoBasicExample. File: math-typesetting.mmark

Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries.

In this example we will be using KaTeX

  • Create a partial under /layouts/partials/math.html
  • Within this partial reference the Auto-render Extension or host these scripts locally.
  • Include the partial in your templates like so:
{{ if or .Params.math .Site.Params.math }}
{{ partial "math.html" . }}
{{ end }}
  • To enable KaTex globally set the parameter math to true in a project's configuration
  • To enable KaTex on a per page basis include the parameter math: true in content files.

Note: Use the online reference of Supported TeX Functions

Examples

Inline math: \( \varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887… \)

Block math:

\[ \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } \]

Fun

Emoji can be enabled in a Hugo project in a number of ways.

The emojify function can be called directly in templates or Inline Shortcodes.

To enable emoji globally, set enableEmoji to true in your site’s configuration and then you can type emoji shorthand codes directly in content files; e.g.

The Emoji cheat sheet is a useful reference for emoji shorthand codes.


N.B. The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g.

.emoji {
font-family: Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;
}

Conclusion

This section concludes the project.

Summary

The list below displays the achieved objectives:

  • To be able to setup a Raspi from scratch
  • To be able to develop a simple command line software
  • To enable a software to automatically restart after shutdown / power off
  • To enable resilience by monitoring and restarting software processes remotely

Conclusion

I successfully acquired new development skills for raspi computers. They provide a valuable contribution to my CV.

Next Steps

There are other embedded systems. Will approach them as my next programming plattform.