text:
# applylogits
Stata ado file to apply multiple covariates and models to risk adjust data

### Use
This is designed for when multiple risk models evolve over time such that coefficients are updated (recalibration) or covariates are added/removed, and the values of the coefficients are more eaily kept track of and appended to in an Excel spreadsheet

### Options
- debug - wil execute a gen float [x] = ... for each covariate supplied (i.e. each cell under the covariate header *except* intercept), and thereby break down the larger formula to help determine which formula contains a syntax error, or which variable is not of the appropriate Stata type to convert to float
- or - supplied values ar odds ratios rather than log odds

### Example
The Paediatric Index of Mortality (PIM) model has undergone multiple evolutions and recalibrations over time - as detailed in the table below

covariate | missing | PIM | PIM2 | PIM2_2008 | PIM3 | PIM3_2013 | PIM3_2015
----------|---------|-----|------|-----------|------|-----------|----------
pupils | 0 | 2.357 | 3.0791 | 4.613758 | 3.8233 | 4.371172 | 4.524262
elective | 0 |  | -0.9282 | -0.2564245 | -0.5378 | -0.5164336 | -0.3676672
rs_hr124 | 0 | 1.342 | 1.3352 | 1.087207 | 0.9763 | 0.6634843 | 1.062791
cond(inlist(be_source,1,2),abs(bea),0) | 0 | 0.071 | 0.104 | 0.0606854 | 0.0671 | 0.0740947 | 0.0651518
sbpa | 120 |  |  |  | -0.0431 | -0.0296888 | -0.0359887
sbpa^2/1000 | 14.4 |  |  |  | 0.1716 | 0.0964949 | 0.1214007
inlist(bypass,1,3) | 0 |  |  |  | -1.2246 | -1.866951 | -2.302574
inlist(cardiac,1,3) & !inlist(bypass,1,3) | 0 |  |  |  | -0.8762 | -1.318171 | -1.40127
recovery & !inlist(cardiac,1,3) & !inlist(bypass,1,3) | 0 |  |  |  | -1.5164 | -1.572421 | -2.040691
pim3_vhr!=0 | 0 |  |  |  | 1.6225 | 1.993498 | 2.202997
pim3_hr!=0 | 0 |  |  |  | 1.0725 | 1.368355 | 1.460924
pim3_lr!=0 | 0 |  |  |  | -2.1766 | -2.401701 | -1.750197
100 * fio2a / po2a | 0.23 |  |  |  | 0.4214 | 0.5181944 | 0.2747865
100 * fio2a / po2a | 0 | 0.415 | 0.2888 | 0.3986429 |  |  |
abs(sbpa - 120) | 0 | 0.021 | 0.01395 | 0.0100186 |  |  |
recovery | 0 |  | -1.0244 | -1.864904 |  |  |
inlist(bypass,1,3) | 0 |  | 0.7507 | -0.1319602 |  |  |
!inlist(pim_uc,0,8) | 0 |  | 1.6829 | 1.702392 |  |  |
pim_lr!=0 | 0 |  | -1.577 | -2.1124 |  |  |
pim_uc!=0 | 0 | 1.826 |  |  |  |  |
planned==1 | 0 | -1.552 |  |  |  |  |
intercept |  | -4.873 | -4.8841 | -4.598864 | -1.7928 | -2.299542 | -2.189059

Applylogits requires 1 column named covariate, and an optional column named missing, which is the default value to use if the variable is not present/unknown. If there is no column with a heading 'missing', the usual stata behavior is follwed where a missing value for any of the variables used in the formula will generate a value of missing.
1 covariate must be named intercept.

### use
```stata
use "C:\myfolder\picu.dta"
gen died = inlist(outcome,2,5)
mvdecode pupils elective rs_hr124 be_source bea sbpa fio2a po2a bypass cardiac recovery pim3_vhr pim3_hr pim3_lr recovery pim_uc pim_lr pim_uc planned, mv(999)
destring planned, replace
keep if dis_dt >= tc(1jan2017 00:00:00) & dis_dt < tc(1jan2018 00:00:00)
applylogits using "C:\myfolder\PIM calibrations.xlsx", debug
```

which will display the Stata commands as they get executed

    gen float PIM = invlogit(0 + 2.357 * cond(missing(pupils),0,pupils) + 1.342 * cond(missing(rs_hr124),0,rs_hr124) + .071 * cond(missing(be_source,bea),0,cond(inlist(be_source,1,2),abs(bea),0)) + .415 * cond(missing(fio2a,po2a),0,100 * fio2a / po2a) + -4.873 + .021 * cond(missing(sbpa),0,abs(sbpa - 120)) + 1.826 * cond(missing(pim_uc),0,pim_uc!=0) + -1.552 * cond(missing(planned),0,planned==1))
    gen float PIM2 = invlogit(0 + 3.0791 * cond(missing(pupils),0,pupils) + -.9282 * cond(missing(elective),0,elective) + 1.3352 * cond(missing(rs_hr124),0,rs_hr124) + .104 * cond(missing(be_source,bea),0,cond(inlist(be_source,1,2),abs(bea),0)) + .2888 * cond(missing(fio2a,po2a),0,100 * fio2a / po2a) + -4.8841 + .01395 * cond(missing(sbpa),0,abs(sbpa - 120)) + -1.0244 * cond(missing(recovery),0,recovery) + .7507 * cond(missing(bypass),0,inlist(bypass,1,3)) + 1.6829 * cond(missing(pim_uc),0,!inlist(pim_uc,0,8)) + -1.577 * cond(missing(pim_lr),0,pim_lr!=0))
    gen float PIM2_2008 = invlogit(0 + 4.613758 * cond(missing(pupils),0,pupils) + -.2564245 * cond(missing(elective),0,elective) + 1.087207 * cond(missing(rs_hr124),0,rs_hr124) + .0606854 * cond(missing(be_source,bea),0,cond(inlist(be_source,1,2),abs(bea),0)) + .3986429 * cond(missing(fio2a,po2a),0,100 * fio2a / po2a) + -4.598864 + .0100186 * cond(missing(sbpa),0,abs(sbpa - 120)) + -1.864904 * cond(missing(recovery),0,recovery) + -.1319602 * cond(missing(bypass),0,inlist(bypass,1,3)) + 1.702392 * cond(missing(pim_uc),0,!inlist(pim_uc,0,8)) + -2.1124 * cond(missing(pim_lr),0,pim_lr!=0))
    gen float PIM3 = invlogit(0 + 3.8233 * cond(missing(pupils),0,pupils) + -.5377999999999999 * cond(missing(elective),0,elective) + .9763 * cond(missing(rs_hr124),0,rs_hr124) + .0671 * cond(missing(be_source,bea),0,cond(inlist(be_source,1,2),abs(bea),0)) + -.0431 * cond(missing(sbpa),120,sbpa) + .1716 * cond(missing(sbpa),14.4,sbpa^2/1000) + -1.2246 * cond(missing(bypass),0,inlist(bypass,1,3)) + -.8762 * cond(missing(cardiac,bypass),0,inlist(cardiac,1,3) & !inlist(bypass,1,3)) + -1.5164 * cond(missing(recovery,cardiac,bypass),0,recovery & !inlist(cardiac,1,3) & !inlist(bypass,1,3)) + 1.6225 * cond(missing(pim3_vhr),0,pim3_vhr!=0) + 1.0725 * cond(missing(pim3_hr),0,pim3_hr!=0) + -2.1766 * cond(missing(pim3_lr),0,pim3_lr!=0) + -1.7928 + .4214 * cond(missing(fio2a,po2a),.23,100 * fio2a / po2a))
    gen float PIM3_2013 = invlogit(0 + 4.371172 * cond(missing(pupils),0,pupils) + -.5164336000000001 * cond(missing(elective),0,elective) + .6634843 * cond(missing(rs_hr124),0,rs_hr124) + .0740947 * cond(missing(be_source,bea),0,cond(inlist(be_source,1,2),abs(bea),0)) + -.0296888 * cond(missing(sbpa),120,sbpa) + .0964949 * cond(missing(sbpa),14.4,sbpa^2/1000) + -1.866951 * cond(missing(bypass),0,inlist(bypass,1,3)) + -1.318171 * cond(missing(cardiac,bypass),0,inlist(cardiac,1,3) & !inlist(bypass,1,3)) + -1.572421 * cond(missing(recovery,cardiac,bypass),0,recovery & !inlist(cardiac,1,3) & !inlist(bypass,1,3)) + 1.993498 * cond(missing(pim3_vhr),0,pim3_vhr!=0) + 1.368355 * cond(missing(pim3_hr),0,pim3_hr!=0) + -2.401701 * cond(missing(pim3_lr),0,pim3_lr!=0) + -2.299542 + .5181944000000001 * cond(missing(fio2a,po2a),.23,100 * fio2a / po2a))
    gen float PIM3_2015 = invlogit(0 + 4.524262 * cond(missing(pupils),0,pupils) + -.3676672 * cond(missing(elective),0,elective) + 1.062791 * cond(missing(rs_hr124),0,rs_hr124) + .0651518 * cond(missing(be_source,bea),0,cond(inlist(be_source,1,2),abs(bea),0)) + -.0359887 * cond(missing(sbpa),120,sbpa) + .1214007 * cond(missing(sbpa),14.4,sbpa^2/1000) + -2.302574 * cond(missing(bypass),0,inlist(bypass,1,3)) + -1.40127 * cond(missing(cardiac,bypass),0,inlist(cardiac,1,3) & !inlist(bypass,1,3)) + -2.040691 * cond(missing(recovery,cardiac,bypass),0,recovery & !inlist(cardiac,1,3) & !inlist(bypass,1,3)) + 2.202997 * cond(missing(pim3_vhr),0,pim3_vhr!=0) + 1.460924 * cond(missing(pim3_hr),0,pim3_hr!=0) + -1.750197 * cond(missing(pim3_lr),0,pim3_lr!=0) + -2.189059 + .2747865 * cond(missing(fio2a,po2a),.23,100 * fio2a / po2a))

these newly created variables can then be used for example to generated SMRs (Standardised Mortality Ratios):

```stata
foreach v of varlist PIM- PIM3_2015 {
  di "`v'"
  oeratio died `v'
}
```

which will give the output

    PIM
    positive outcomes observed = 41 (95% Confidence interval 27.531443 - 54.468557)
    positive outcomes expcted = 66.494516
    Standardized Ratio = .6165922
    95% Confidence interval .4140408 - .81914359
    z = -3.7099991 (< 1st centile)
    PIM2 ...

Ando so on for each of the models in the table above. *for help on the above user written command, type 'findit oeratio' in Stata*

The data can also be used to generate real time control graphs, such as
```stata
sort dis_dt
gen seq = _n
mydatelabels seq = ceil(month( dofc(dis_dt) )/3),local(mymac) start format(%tcMon_'YY)
tabcusum died seq, pred(PIM3_2015) limit(95 99) xlabel(`mymac', axis(2)) xaxis(1 2)
```

repository: mcshaz/applylogits

repo_name: mcshaz/applylogits


text:
---
layout: post
title: "Major Refactoring in the Pipeline"
date: 2012-07-31 16:23
comments: true
author: John Woods
categories: [NMatrix]
---
Activity has picked up enormously on [our listserv](http://groups.google.com/group/sciruby-dev) over the last few weeks,
which makes us all very happy.

[Chris Wailes](https://github.com/chriswailes) and I have been working on a major refactoring of [NMatrix](http://github.com/SciRuby/nmatrix),
our replacement for NArray. You may recall that we released our first alpha (0.0.1) back in April, and that we've been
relatively silent since then.<!--more-->

We're pleased to announce that our second alpha, NMatrix v0.0.2, should be available as a gem by mid-August.

Our first alpha was a proof of concept. The second alpha is the framework upon which we will build an empire of chunky
bacon.

Chris came up with the idea to convert all of NMatrix's Ruby/C template code into C++ templates, and we've been working
on that steadily. These are cleaner and easier to maintain than the C parser-based templates I wrote a few months ago.

In addition, I have incorporated basic slicing, contributed by [Aleksey Timin](http://github.com/flipback), who has been
absolutely essential to our growing project.

One major hiccup has been that NMatrix and NArray conflict with one another when both are included (particularly poor
planning on my part). This means that Ruby/GSL can't work with NMatrix without some modifications -- which are underway
in a [fork](http://github.com/SciRuby/rb-gsl). We plan to release fixes for Ruby/GSL and Statsample as soon as possible.

We want to again thank [Brighter Planet](http://brighterplanet.com) for their support of our summer coding fellowship.
Little of this would be possible without them.

license: MIT

branch_name: refs/heads/source

extension: markdown

gha_language: HTML

gha_license_id: MIT

license_type: permissive


text:
### [CVE-2009-1351](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1351)
![](https://img.shields.io/static/v1?label=Product&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Vulnerability&message=n%2Fa&color=brighgreen)

### Description

Heap-based buffer overflow in Apollo 37zz allows remote attackers to cause a denial of service (application crash) and possibly execute arbitrary code via a long URI in a playlist (.m3u) file.

### POC

#### Reference
- https://www.exploit-db.com/exploits/8451

#### Github
No PoCs found on GitHub currently.

repository: trickest/cve

branch_name: refs/heads/main

extension: md

repo_name: trickest/cve


text:
---
layout: basic.liquid
options: highlight ext-links
tags: docs
group: docs
order: 40
coverPreview: ./images/cover-preview.webp
coverImage: ./images/cover.webp
coverUrl: https://artsandculture.google.com/asset/the-dream-henri-rousseau/LwEt57AOdD6SGA
title: Getting started
description: Getting started with this template.
author: Gene
pubDate: 2022-04-05
keywords:
- zuix
- web starter
- liquid
- tags
- template
- shortcodes
- zx
- rawFile
- unpre
- layout
---

You can use this web-starter even with just basic knowledge about using the command-line shell and a text editor.
If you have already some experience in programming, of course, a better choice would be a code editor or IDE.

## Prerequisites

- [Install Node.js](https://nodejs.org/en/download/) version 14 or higher
- Install `zuix`, command-line tool:

```shell
npx zuix
```

## Creating a new project

To create a new project enter the following command:

```shell
npx zuix new <project_name> [-t <template_name>]
```

Where `<project_name>` is the name of the new project and the optional parameter `-t` indicates the template to be used.

### Available templates

- **`zuix-web-starter`** (default)
  The base starter, coming with a basic template with light/dark modes, collapsible header and FAB menu. It's the
  one used for this page.
    - [online demo](https://zuixjs.github.io/zuix-web-starter)
    - [source code](https://github.com/zuixjs/zuix-web-starter)
- **`news-blog`**
  A fully immersive template, suitable for publishing feeds of news or blog posts. With "Save for later" and share/print
  functionality, internal search engine and adaptive design that works very well on desktop screens too.
    - [online demo](https://zuixjs.github.io/news-blog)
    - [source code](https://github.com/zuixjs/news-blog)
- **`web-app`**
  A typical mobile app layout, with side drawer, collapsible header, Material Design UI, internal search engine
  and adaptive design that works very well on desktop screens too.
    - [online demo](https://zuixjs.github.io/web-app)
    - [source code](https://github.com/zuixjs/web-app)

**Example**:

```shell
npx zuix new my-webapp -t news-blog
```

The above command will create the new project using the `news-blog` template. Files structure will be created in a folder
named *my-webapp*.

Change directory to the new project folder:

```shell
cd my-webapp
```

## Starting the development server

The development server will listen by default on port `8080` and serve files from the build folder `./docs`.
It will also watch for file changes in the `./source` folder, compile changed files as needed, and reload
the browser page automatically.

```shell
npx zuix start
```

Once the server started, you can open the web browser and load the website using the access URLs given in the console output.

```shell
[Browsersync] Access URLs:
 -----------------------------------
    Local: http://localhost:8080
 External: http://<IP_ADDRESS>:8080
 -----------------------------------
[Browsersync] Serving files from: docs
[Browsersync] Watching files...
```

The main project folder is the `./source` folder, where all website files are located. In particular, the `./source/content` folder,
contains all website content pages implemented as simple text files using [**Markdown**](https://www.markdownguide.org/getting-started/) syntax,
and that will contain just the main content of the page. All other structural and layout parts will be compiled
automatically by the development server.

## Managing content

Included with all web starters, you will also find example pages that can be removed by manually by *deleting* the
`./source/content` folder, or using the `zuix` CLI:

```shell
npx zuix wipe-content
```

### Adding a new page

Pages are organized into sections, and can be easily added with the following command:

```shell
npx zuix add -s <section_name> -n <page_name> [-fm "<field>: <value>"]
```

Where the `-s` option is used to specify the name of the section under which the new page will be grouped, while the `-n`
option is used to specify the name of the page. Both names must be *file-name* friendly, and the [kebab-case](https://en.wikipedia.org/wiki/Letter_case#Kebab_case) convention
is suggested, where names are only formed by lowercase letters and dashes to separate words.
With the optional `-fm` option it's possible to specify [front matter data](../pages-layout) and it can be repeated to
allow adding multiple fields.

For example, the following command will add a new page in a section called "blog", and it will enable syntax highlighting
for preformatted code blocks:

```shell
npx zuix add -s blog -n my-first-blog-post -fm "options: highlight"
```

The new content page file will be `./source/content/blog/my-first-blog-post/index.md`, and the `blog` folder will be automatically
created if it doesn't exist. The `blog` folder will also have an `index.liquid` file that just contains front matter data
of the section, and that can be used to customize the title and the display order in the homepage.

## Files structure in brief

Template engine folders:
```
./source/_data     # data folder
./source/_filters  # filters
./source/_inc      # includes and layouts
```

*zuix.js* components folders:
```
./source/app  # user-defined components
```

Global asset files and folders:
```
./source/css
./source/images
./source/js
./source/browserconfig.xml
./source/favico.ico
./source/humans.txt
./source/manifest.json
```

Site search index and SEO:
```
./source/search-index.json.njk  # search-index builder script
./source/robots.njk
./source/sitemap.njk            # sitemap generator script
```

Main page:
```
./source/index.md
```

### Content folders

The main content folder is `./source/content`. It's a good practice to have each page implemented with its own folder and
a `index.md` file in it with the content of the page. In the same folder can then be placed other sub-folders for page-local
assets, such as images.

```
./source/content/travel/my-first-cruise/_inc/example.liquid
./source/content/travel/my-first-cruise/images/picture1.png
./source/content/travel/my-first-cruise/index.md
```

same applies also if a different format is used for the `index` file (`.liquid`, `.njk`, `.11ty.js`, `.html`, ...).
Also the special sub-folder `_inc` can be used for page-local includes, that will be processed by the site generator
but not copied to the output folder.

repository: zuixjs/zuix-web-starter

branch_name: refs/heads/master

gha_language: Liquid

repo_name: zuixjs/zuix-web-starter


text:
# SGX Exitless Page Swapping Project

### how to build
*Building does not require an SGX enabled computer, so you can check if it compiles even if you don't have an SGX capable machine.*

CMake is configured to make everything when run in the top directory.

Preparation (assuming Ubuntu 18.04):

> sudo apt install cmake libssl-dev libprotobuf-dev

Build Musl:

> cd musl; ./configure; make

Generate Makefile:

> cmake .

Build it:
> make

### how to test
*Testing requires an SGX enabled machine with intel's SGX driver and SGX psw installed*
> cd loader

> ./loader ../samples/hello

repository: liuzix/sgx-elps

repo_name: liuzix/sgx-elps


text:
<img src="https://raw.githubusercontent.com/rahil-p/rahil-site/master/images/sail.png" width="84" height="90" style="float:right; margin-left: -10px;">

# SailSim

Overview:  SailSim is a 2-dimensional interactive sailing environment built with p5.js.  SailSim emulates the core physics of sailing by generalizing complex interactions between the boat, its mainsail, and wind.

http://rahilpatel.io/SailSim/index.html

*Documentation in Process*

repository: rahil-p/SailSim

gha_language: JavaScript

repo_name: rahil-p/SailSim


text:
---
title: '1.4.26 Release'
description: 'Status bars plugin and upcoming GPU plugin'
author: Jordan
---

A [Status Bars plugin](https://github.com/runelite/runelite/wiki/Status-Bars) has been added, which
will display hitpoints and prayer information on the columns of the inventory, or along the left
side of the inventory panel. Big thanks to [@Malfuryent](https://github.com/Malfuryent) for their
tireless work maintainng this plugin for months preparing for its addition to the client.

![Status bars plugin demonstration](/img/blog/1.4.26-Release/status-bars-plugin.gif)

[As we've announced on Twitter](https://twitter.com/RuneLiteClient/status/1062440996401790977), we
will soon be releasing the highly-anticipated GPU plugin. Keep on the lookout!

There are also several smaller improvements and bug fixes, including:

- A bug causing the [XP Tracker plugin](https://github.com/runelite/runelite/wiki/XP-Tracker) to
  improperly display combat skills with strange values has been fixed
- Menu entry swaps will no longer affect NPCs with hint arrows above them to aid clue hunters
- The [Grand Exchange plugin](https://github.com/runelite/runelite/wiki/Grand-Exchange) panel has
  had its color scheme updated to better match the rest of the client
- The [Friend Notes plugin](https://github.com/runelite/runelite/wiki/Friend-Notes) now uses the
  updated chatbox dialog
- [XP globes](https://github.com/runelite/runelite/wiki/XP-Globes) are now ordered statically, and
  will not change order based on the time skill experience is received
- A Myth's guild cannon spot for blue dragons has been highlighted in the [Cannon
  plugin](https://github.com/runelite/runelite/wiki/Cannon)
- Shortcuts for a stile in Taverly and the stairs to the task-restricted Skeletal wyverns area are
  now highlighted in the [Agility plugin](https://github.com/runelite/runelite/wiki/Agility)
- The [Barrows Brothers plugin](https://github.com/runelite/runelite/wiki/Barrows-Brothers)'s
  overlay panel now displays reward potential and utilizes custom minimap colors in its minimap
  overlay
- Icons for the new portal nexus and mounted jewellery have been added to the [Player-owned house
  plugin](https://github.com/runelite/runelite/wiki/Player-owned-House)
- A [menu entry swapper](https://github.com/runelite/runelite/wiki/Menu-Entry-Swapper) option has
  been added to swap the Private and Shared options of the Chambers of Xeric chest
- Overlays can no longer get stuck offscreen when switching between fixed and resizable views
- The [Diary Requirements plugin](https://github.com/runelite/runelite/wiki/Diary-Requirements) now
  displays combat level requirements for achievements requiring them

Enjoy!

\- Jordan

### New commits

We had 16 contributors this release!

```
15987632 (1):
      Do not swap entries on NPCs with hint arrows (#6437)

Adam (1):
      devtools: add cape command

Arrexel (1):
      Make Grand Exchange plugin panel background color consistent

Hydrox6 (2):
      interfacestyles: Fix resizeable mode widgets
      friendnotes: Use new chatbox input dialogue

LarkCubed (1):
      Use static skill order for XP globes (#6087)

Luke Sheldon (1):
      Add cannon spot to blue dragon area in Myth's Guils (#6460)

Magic fTail (1):
      Move "Outside the Falador Party Room" hot cold clue step

Malfuryent (4):
      Add IS_POISONED and QUICK_PRAYER vars
      Add interface container widget ID
      Expose ItemStatChangesService from ItemStats plugin
      Add status bars plugin

Max Weber (1):
      ChatboxPanelManager: Kill panels when logging out.

MaxBartlett (2):
      Add Taverley shortcut to agility plugin (#6381)
      Add skeletal wyvern stairs to agility shortcut plugin (#6420)

Monsterxsync (1):
      Add potential reward to the barrows overlay

SebastiaanVanspauwen (1):
      Poh plugin: Add nexus/pendant/xerics teleport icons (#6395)

TheStonedTurtle (1):
      Add option to swap "Private" and "Shared" on CoX chest (#6388)

Tomas Slusny (7):
      Add AMMO(13) to EquipmentInventorySlot
      Update item_variations.json for latest cache changes
      Check if any experience was gained in skill before tracking action
      Unlimit stretched resizable mode
      Properly limit scaling factor for stretched resizable
      Prevent overlays from moving off-screen
      Make barrows minimap respect client minimap colors, show players

William (1):
      Add ability to set combat requirements for achievement diaries (#6270)

brodan (1):
      Make boost overlay to change to yellow at threshold
```


text:
# Mero

Mero is a light-weight and minimal [Jekyll](https://jekyllrb.com/) theme focused on providing a comfortable reading experience.
It's also a 🇵🇹 portuguese word for _genuine_ and _simple_.

# Outline

-   [Features](#features)
-   [Screenshots](#screenshots)
-   [Demo](#demo)
-   [Installation](#installation)
-   [Configuration](#configuration)
-   [Options](#options)
-   [Development](#development)
-   [Contributing](#contributing)
-   [License](#license)
-   [Donations](#donations)

# Features

-   Responsive web design.
-   Built with a [modular scale](https://www.modularscale.com/?16&px&1.618).
-   Fluid typography to make sure users get a similar experience no matter what screen size they're on.
-   Great contrast between main text and background colors.
-   Images with captions.
-   Code snippets.
-   [Material Design Icons](https://material.io/resources/icons/?style=baseline).
-   Handpicked fonts: [Space Mono](https://fonts.google.com/specimen/Space+Mono) + [Work Sans](https://fonts.google.com/specimen/Work+Sans).
-   A modular development approach so it's easier to expand.

# Screenshots

## Home page

![Screenshot](https://github.com/pmpinto/jekyll-mero/blob/master/screenshots/screenshot.png?raw=true)

## Post page

![Screenshot](https://github.com/pmpinto/jekyll-mero/blob/master/screenshots/screenshot-post.png?raw=true)

# Demo

I've built this for myself first, so you can check [my blog](https://pedropinto.me/blog) for a live demo.
This blog also happens to be open source, take a look at how it's implemented in case you're having trouble: https://github.com/pmpinto/blog

# Installation

To use this theme, and especially to build your blog locally, you'll have to make sure you have all the tools you need.
For instance, if you're going to be using Mero on GitHub Pages, it's a good idea to mimic the same environment on your local machine.

Feel free to jump over the steps that do not apply to you.

## Make sure you have [Ruby](https://www.ruby-lang.org/) installed

Open up your terminal of choice and enter:

```
ruby -v
```

If the output resembles something like the following, you're good to go:

```
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin18]
```

## Install `bundler` and `jekyll`

Refer to [Jekyll's website](https://jekyllrb.com/) if you need to.

```bash
gem install bundler jekyll
```

## Create a new jekyll blog

```bash
jekyll new my-blog
```

This will create a new folder called `my-blog` in the current location, so you can now move into it:

```bash
cd my-blog
```

## Open the project folder in your favorite text editor

For VS Code users, just enter `code .` and it should pop up.

## If you have a `Gemfile.lock`, remove it

This will prevent gem conflicts.

## Open `Gemfile` and do the followin

For GitHub Pages users, add this:

```ruby
gem "github-pages", group: :jekyll_plugins
```

Other than what's shipped with `github-pages` you will also need to add the following lines under `group :jekyll_plugins do`:

```ruby
gem "jekyll-paginate-v2"
gem "jekyll-archives"
```

## Remove any dependencies from your `Gemfile` that are already dependencies of `github-pages`

Refer to the latest dependencies file of the gem: https://github.com/github/pages-gem/blob/master/lib/github-pages/dependencies.rb

This will help prevent conflicts you might encounter in the future when `github-pages` has a different version (usually older) of a dependency you're specifying in your `Gemfile`.

## Install Ruby dependencies

Go back to your terminal and run:

```bash
bundle install
```

If you encounter any errors during installation, read them thoroughly and if needed, Google is your friend.

# Configuration

Now let's configure what you've just installed.

Go back to your favorite editor and open the Jekyll configuration file `_config.yml`.

## Remove the line with current `theme` you might have, and instead add the following

```yml
remote_theme: pmpinto/jekyll-mero
```

## Add pagination settings

This will provide a bunch of base configurations for `jekyll-paginate-v2`.

```yml
# Pagination
pagination:
    enabled: true
    per_page: 12 # How many items per page
    title: "" # Content to add inside <title>
    permalink: "/page/:num/" # Url to append to your  `baseurl`: /blog/page/3
    trail: # When you have many pages how many should be visible before and after the current one
        before: 2
        after: 2
    sort_field: "date" # How the posts will be sorted
    sort_reverse: true # Ascending or descending
```

## Add pagination settings to your `index` file

```yml
pagination:
    enabled: true
```

If you don't add this, you won't see anything in your home page.

## Add archives settings

The gem `jekyll-archives` is responsible to create category pages in which you will have a list of posts by category.

```yml
# Archives / Category pages
jekyll-archives:
    enabled: [categories] # Only for categories
    layout: category # Layout to use
    permalinks:
        category: "/category/:name/" # Url of a category list page: /blog/category/funny
```

## Add plugins

```yml
plugins:
    - jekyll-paginate-v2
    - jekyll-archives
```

## Add SEO data

This will be used throughout the theme.

```yml
# SEO Tag data
author:
    name: Your Name # The name you go by
    twitter: yourTwitter # Your Twitter handle without the @ sign
    website: https://yourdomainname.com # Your main web url
    email<EMAIL_ADDRESS># The email people can reach you at
logo: /assets/images/open_graph.png # Used as a preview image on social media, websites and apps
twitter:
    username: yourTwitter # Same as author.twitter
    card: summary_large_image # How should the Twitter preview card look like
social:
    name: Your Name # Same as author.name
    links: # Where else are you at on the internet
        - https://github.com/yourGitHub
        - https://twitter.com/yourTwitter
```

## Add default front matter

Make sure you change the path of the image as well as its size.

```yml
# Default front matter
defaults:
    - scope:
          path: ""
      values:
          image:
              path: /assets/images/open_graph.png
              width: 1024
              height: 500
```

## Add Google Analytics

If you have it set up, add the ID of your Google Analytics here.

```yml
google_analytics_id: UA-XXXXXXXX-X
```

## Add missing assets

The theme comes bundled with a bunch of assets, but there are some that you will want to add yourself.
Refer to [this](https://realfavicongenerator.net/) or [this](https://favicon.io/) for more info.

| File                         | Location          | Size (px)  |
| ---------------------------- | ----------------- | ---------- |
| `open_graph.png`             | `/assets/images/` | 1024 x 500 |
| `android-chrome-192x192.png` | `/`               | 192 x 192  |
| `android-chrome-512x512.png` | `/`               | 512 x 512  |
| `apple-touch-icon.png`       | `/`               | 180 x 180  |
| `favicon-16x16.png`          | `/`               | 16 x 16    |
| `favicon-32x32.png`          | `/`               | 32 x 32    |
| `mstile-150x150.png`         | `/`               | 150 x 150  |
| `safari-pinned-tab.svg`      | `/`               | 512 x 512  |
| `site.webmanifest`           | `/`               | -          |
| `browserconfig.xml`          | `/`               | -          |

# Options

## Global (`_config.yml`)

```yml
tagline: This will show up below the blog title.
google_analytics_id: UA-AAAAAAAA-2
```

## Color scheme

Currently, you can pick between three different color schemes: `prefers-dark`, `mocha` and `brand-red`. The first one, `prefers-dark` is special in one way: it will automatically select either a dark or a light color scheme based on the user's OS preferences.

If you don't specify a `color_scheme` in your `config.yml`, the default (black text on white background) will be applied.

Here's an overview of the themes:

| `default`                                                                                | `prefers-dark`                                                                                | `mocha`                                                                                | `brand-red`                                                                                |
| ------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| ![Default theme](https://github.com/pmpinto/jekyll-mero/blob/master/screenshots/color-schemes/default.png?raw=true) | ![Dynamic dark theme](https://github.com/pmpinto/jekyll-mero/blob/master/screenshots/color-schemes/prefers-dark.png?raw=true) | ![Mocha theme](https://github.com/pmpinto/jekyll-mero/blob/master/screenshots/color-schemes/mocha.png?raw=true) | ![Brand red theme](https://github.com/pmpinto/jekyll-mero/blob/master/screenshots/color-schemes/brand-red.png?raw=true) |
| Static                                                                                | Dynamic (depends on user's system preferences)                                                                                | Static                                                                                | Static                                                                                |

## About page

In your about page, you should use the `about` layout, like so:

```yml
---
layout: about
---

```

And you also have the `heading` property to include a page heading:

```yml
---
layout: about
heading: All about myself
---

```

## Error page

In your error pages you should use the `error` layout and specify an `error_code` property, like so:

```yml
---
layout: error
error_code: "404"
---

```

## Home page

Along with the pagination settings mentioned above you should also use the `home` layout:

```yml
---
layout: home
pagination:
    enabled: true
---

```

## Post page

Regarding front matter, besides the `post` layout, on the post page you have:

```yml
---
layout: post
title: Your awesome post
date: 2019-08-26 01:00:00 +0100
categories: [jekyll, markdown, documentation]
custom_excerpt: This text will have precedence as an excerpt over the usual and default first paragraph of text.
---

```

Categories will help you group posts together which you will then be able to see at whatever path you configured for `jekyll-archives`. For instance, `/blog/category/markdown`.

### Markdown parsing

Now let's talk about the options you have while writing your posts in markdown. First of all consider using `kramdown` as your markdown parser so you have a similar behaviour. It should be the default parser, but you can also specificaly state that in your `_config.yml` like this:

```yml
markdown: kramdown
```

With that put aside, feel free to grab an example file of what can be done with markdown/kramdown here: https://github.com/pmpinto/jekyll-mero/blob/master/_posts/2019-08-26-markdown-parsing.md

#### Headings

```markdown
# H1

## H2

### H3

#### H4

##### H5

###### H6
```

All the headings will have a JavaScript injected link, that points to their own section. This way you can easily share your posts to a specific section.

Note that `h1` will have a smaller size than the post title. Then `h2` will be slightly smaller, and from `h3` to `h6` all of them will have the same visual size. This is to avoid having too many typographic hierarchies.

#### Paragraphs

As usual in markdown parsers, any paragraph you type will be converted into a `p`.

The special thing here is the `.lead` paragraph style which you can apply by adding `{: .lead }` right below the paragraph. For instance:

```markdown
This paragraph will look bigger than the others.
{: .lead }
```

#### Text styles

These can be applied anywhere you can type text and they can also be mixed together.

```markdown
This is just an example paragraph to showcase **bold** text, _italic_ and also `code snippets`.
You might also need to [link some words](https://github.com/pmpinto/jekyll-mero) here and there.

And as mentioned above, you can have [links with **bold** words](https://github.com/pmpinto/jekyll-mero) as well.
```

#### Lists

These are pretty straight forward. You can have unordered lists by using a `-` or `*` as a bullet, or an ordered list by using `1.`, `2.`, `3.` and so on. And you can also nest them as you wish. Like so:

```markdown
1. Item number one
2. Followed by the second
3. And lastly the third

-   Just an item without a number
-   And another one
-   And yet another one

1. Item one
    - Sub item
    - Sub item
2. Item two
    - Another sub item
```

#### Images

Kramdown has a really nice feature for images in a recent version. Unfortunately the GitHub Pages gem, and therefore the environment you would find in the service, is currently using an older version of that gem, so we can't use it here.

The syntax for image tags are basically the same as links, with a prepended `!`:

```markdown
![This text will show up below the image, as a label](https://via.placeholder.com/1920x1080)
```

#### Photo sliders

For those times when you have more than 1 image to display, you can use one of these.
Just place a bunch of URLs (not links, just the URLs) in a paragraph and then end the paragraph with just `{: .photo-slider }` in the last line.
These links will later be transformed into an horizontal photo slider.

```markdown
https://cdn.shopify.com/s/files/1/2959/2384/products/ngogeokbcatt_large.jpg?v=1524987693
https://www.nationalgeographic.com/content/dam/news/2015/04/09/promo/step-cat-staircase-promo.ngsversion.1428612902610.png
http://pmdvod.nationalgeographic.com/NG_Video/802/635/160328-news-cat-dialects-vin_thumbnail_ds1602001-47_640x360_653681219883.jpg
{: .photo-slider }
```

#### Quotes

By prepending any paragraph with a `>` you will get a `blockquote` with special styles applied to it.

```markdown
Someone once said this:

> There's only so much one can do!
```

#### Horizontal rules

Whem you need to separate two blocks of content you can do so by placing an horizontal rule between the two blocks. In markdown you can do so by placing `---`.

```markdown
This is the first paragraph.

---

This is the second paragraph.
```

#### Code blocks

Special attention was given to these guys. The goal was to have a reliable and useful way to share small code snippets.

Kramdown provides us with some easy to remember code tags, called `highlight` to which we pass 2 arguments. The first is the language the snippet is using, for instance `html`. And the second one is `linenos` which you either add it to have line numbers in your code block, or you don't. Like so:

```markdown
{% highlight css linenos %}
body {
background-color: #abcdef;
font-size: 18px;
}
{% endhighlight %}
```

You can also use `diff` as the language value, and that will work as expected, that is, how git displays differences between file versions. You should also add a `+` on new lines and `-` on removed lines. Like so:

```markdown
{% highlight diff linenos %}
body {

-   background-color: #abcdef;

*   background-color: #012345;
    font-size: 18px;
    }
    {% endhighlight %}
```

#### Tables

Tables are a bit tricky to get right unless you have an automatic formatter. Even though it works without a proper formatting, it's fairly easier to perceive what's going on with a good formatted table.

```markdown
|----------+----------|
| Header 1 | Header 2 |
|----------|----------|
| Cell L 1 | Cell R 1 |
| Cell L 2 | Cell R 2 |
|----------+----------|
```

By default tables will be left aligned. If you want to change how a specific row displays the text you have the option to do that in the line of text that separates the headers from the content, with a `:` on the side that you want it to be aligned to. If you add it to both sides, it will be centered.

```markdown
|----------+----------+----------|
| Left | Center | Right |
|----------|:--------:|---------:|
| Cell L 1 | Cell C 1 | Cell R 1 |
| Cell L 2 | Cell C 2 | Cell R 2 |
|----------+----------+----------|
```

As mentioned above, all the text styles can also be used inside a table.

# Development

To prevent source files from being picked up by Jekyll you will need to add the following list to `_config.yml`:

```yml
exclude:
    - Gemfile
    - Gemfile.lock
    - node_modules
    - package.json
    - assets/javascript/*.es6.js
    - assets/javascript/index.js
    - webpack.config.js
    - screenshots
```

## Install dependencies

Run both `bundle install` and `npm install`.

## Commands

| Command                 | What it does                                                  |
| ----------------------- | ------------------------------------------------------------- |
| `npm start`             | Starts the jekyll development environment                     |
| `npm run start:webpack` | Starts the JavaScript development environment through webpack |
| `npm run build`         | Builds jekyll and bundles JavaScript                          |

# Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/pmpinto/jekyll-mero. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.

If you'd like to contribute feel free to fork this repo and do as many pull requests as you see fit towards `master`.

# License

The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).

# Donations

If you like the theme and you feel like throwing some candy my way, click the button below and you'll be able to pick just the right amount. Thanks in advance 🙏

[![](https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif)](https://www.paypal.me/pmpintopt)

repository: pmpinto/jekyll-mero

gha_language: SCSS

repo_name: pmpinto/jekyll-mero


text:
---
layout: default
---

# 1992-12-18 - So you want a wide-spectrum signal analyzer ?

## Header Data

From: Richard Childers<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: eacc9110e896203afb375ac5834f545b179dcd2bb13565135b93d93d71bcf756

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1992-12-18 04:48:27 UTC

Raw Date: Thu, 17 Dec 92 20:48:27 PST

## Raw message

```
{% raw  %}From: Richard Childers<EMAIL_ADDRESS>Date: Thu, 17 Dec 92 20:48:27 PST
To<EMAIL_ADDRESS>Subject: So you want a wide-spectrum signal analyzer ?
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Here's what HP's catalog says :

	Spectrum Analyzers

	Spectrum analyzers take advantage of the frequency-conversion
	properties of the swept-tuned heterodyne receiver to make sig-
	-nificant contributions to frequency-domain signal analysis.
	The following are some of the measurements that can be made with
	spectrum analyzers :

	(1)	Absolute and relative frequency.
	(2)	Absolute and relative amplitude.
	(3)	Noise.
	(4)	Distortion products.
	(5)	AM, FM & pulsed RF modulation.
	(6)	Stimulus response.		( biofeedback ? ed. )
	(7)	Electromagnetic compatibility (EMC).

	These measurements are possible because spectrum analyzers have
	the following characteristics :

	(1)	Broad frequency coverage from 5 Hz to 325 GHz.
	(2)	Wide amplitude range from -138 dBm to +30 dBm.
	(3)	Excellent sensitivity for low-signal detection.
	(4)	Excellent frequency stability.
	(5)	High resolution of frequency and amplitude.

	These capabilities allow spectrum analyzers to provide frequency-
	domain signal analysis for numerous applications, including the
	manufacture and maintenance of microwave communication links, radar,
	telecom equipment, CATV systems, and broadcast equipment ; EMI
	diagnostic testing ; and signal surveillance.

( I can't believe they actually said that. Gee, I wonder if They're going
  to classify test & measurement equipment next. )-:

Prices for these puppies run from @ $ 20,000 to @ $ 50,000. They are very
modularized, and, for the paranoids amongst you, these things are portable.
They are probably devilishly heavy, like most test equipment is, and look
a lot like an oscilloscope, when the cover is off.

	For information about any Hewlett Packard product or service, or
	for additional copies of this catalog, call the Customer Infor-
	-mation Center (CIC) at<PHONE_NUMBER> between 6:00 am and 5:00 pm
	PST.

What you want is their 'Test & Measurement Catalog'.

 These
catalogs are large and expensive and they may be less inclined to pay for
what is probably a few dollars' shipping if you come across as a college
student ( with apologies to college students :-). Give an address if you
can, give yourself a title - R&D engineer is good - a department - R&D -
and, if they ask for a box or mail dept code, you can make one up or say
that you don't have one. ( Using different box numbers going to a same
address is a great way to see who's sharing their mailing list with whom
else, BTW ).

I'm not encouraging you to spoof these folks, merely noting that it is a
regrettable necessity.  ( Of course, this posting may lead to three or four analyzers,
$ 100-200 thousand worth of sales, but try to persuade a salescritter of
this. :-)

-- richard

=====
-- richard childers<EMAIL_ADDRESS>1<PHONE_NUMBER>
         oracle data center  --  unix systems & network administration

 "If Life is a drama, then, surely, the hardest parts go to the most skillful."

{% endraw %}
```

## Thread

+ Return to [December 1992](/archive/1992/12)

+ Return to<EMAIL_ADDRESS>(Tim Pozar)](/authors/pozar_at_kumr_lns_com_tim_pozar_)"
+ Return to "[Richard Childers <rchilder@us.oracle.com>](/authors/richard_childers_rchilder_at_us_oracle_com_)"

+ 1992-12-18 (Thu, 17 Dec 92 20:48:27 PST) - So you want a wide-spectrum signal analyzer ? - _Richard Childers<EMAIL_ADDRESS>  + 1992-12-18 (Fri, 18 Dec 92 08:28:39 PST) - [Re: So you want a wide-spectrum signal analyzer ?](/archive/1992/12/b01ec83a7a99ce3536442300bfdce9dd1b9a5994887d43375aaeb61b2a8e4ece) -<EMAIL_ADDRESS>(Tim Pozar)_


text:
# CS102 ~ Design Project ~ Spring 2019/20
[Computer Engineering Department, Bilkent University](http://w3.cs.bilkent.edu.tr/en/).

****
## g3H ~~ FunAlgo ~~
****
### ~ AlgoMen ~

## Project Description
   _FunAlgo is an application that allows people to learn algorithm logic with an entertaining way. Users can play games requiring basic structure of algorithms and also, they can draw different sorts of shapes on creative mode by using different algorithm steps. Users can see their achievements for each level. Moreover, FunAlgo includes different type of musics and themes that can be attractive for our main target audience. FunAlgo may be useful for adults but our target audience is children. FunAlgo is a mobile application and it is coded on Android._

   Educational Mode:

   ![Educational Mode](https://user-images.githubusercontent.com/63668011/83145570-a7c38480-a0fd-11ea-89bb-6deb5b056bd8.PNG)

   Creative Mode:

   ![Creative Mode](https://user-images.githubusercontent.com/63668011/83145912-33d5ac00-a0fe-11ea-89e9-226909e97807.PNG)

   Instructions Page:

   ![Instructions page](https://user-images.githubusercontent.com/63668011/83145682-dfcac780-a0fd-11ea-8307-afab468b9f47.PNG)

#### Group Members
- Arman Engin Sucu
- Fatih Kaplama
- Alperen Alkan
- Remzi Tepe
- Hüseyin Uzun
- Deniz Semih Özal

repository: armanengin/FunAlgo

repo_name: armanengin/FunAlgo


text:
+++
# Date this page was created.
date = "2016-04-27"

# Project title.
title = "cvxpy"

# Project summary to display on homepage.
summary = "A Python-embedded modeling language for convex optimization problems"

# Optional image to display on homepage (relative to `static/img/` folder).
#image_preview = "bubbles.jpg"

# Tags: can be used for filtering projects.
# Example: `tags = ["machine-learning", "deep-learning"]`
tags = ["mathematical-optimization", "python"]

# Optional external URL for project (replaces project detail page).
external_link = "http://github.com/cvxgrp/cvxpy"

# Does the project detail page use math formatting?
math = false

# Optional featured image (relative to `static/img/` folder).
[header]
#image = "headers/bubbles-wide.jpg"
#caption = "My caption :smile:"

+++

### Summary
I contributed an interface for CoinOR's [Cbc MIP-solver](https://projects.coin-or.org/Cbc) (based on [cylp](https://github.com/coin-or/CyLP)) including examples, tests and continuous-integration scripts. This was merged into master and the upcoming 1.0 will have some changes (already merged).

Additionally, there is an unmerged [pull-request](https://github.com/cvxgrp/cvxpy/pull/438) to integrate an MIQP-solver based on CoinOR's [Bonmin](https://projects.coin-or.org/Bonmin) and my project [pyMIQP](https://github.com/sschnug/pyMIQP).

repository: sschnug/website

repo_name: sschnug/website


text:
---
layout: interior-page
title: 'Secret Bunny Egg Drop'
parent: 'Recreation'
---

# Secret Bunny Egg Drop

**Register to have volunteers hide plastic eggs on and around your front lawn Saturday, April 3rd**

[See Flyer Here](https://storage.googleapis.com/static.rutherford-nj.com/recreation/spring-2021/2021_SecretBunny.pdf)

We have reached capacity for household participants in the Secret Bunny Egg Drop.

If you'd like to volunteer to be a Secret Bunny see below:

[**Sign up to here Volunteer as a "Secret Bunny" on Saturday, April 3, 2021 from 7:00am-9:00am.**](https://docs.google.com/forms/d/e/1FAIpQLSdb45QkLJddQnUUzVAEu8uUJvQR8Ujemkr5Z5GbdBk6VgLfMA/viewform)

Volunteers are asked to scatter and hide pre-filled plastic eggs on designated lawns and homes throughout Rutherford.  All materials provided by Rutherford Recreation.

Register by noon Wednesday, March 31 and help bring joy to Rutherford residents!

Have additional questions about volunteering? Contact<EMAIL_ADDRESS>

branch_name: refs/heads/beta


text:
---
title: "Change Jekyll Template - Easy Way"
date: 2019-10-11 21:30:00 +0800
categories: [Jekyll]
tags: [jekyll-template]
---

I am pretty new to using Jekyll for my blogging requirements. I have started to like the power of git to get the blogs update done. It's been a while I have created this blog , however I rarely updated anything here.

When I set this blog up, I used the Jekyll theme called Pixyll, however , after couple of months I decided to update the look and feel of my blog and started browsing for some good themes and came across this 'Clean-Blog' theme. Problem was I wasn't sure how to update the theme in Jekyll. Found couple of articles online , but they are of no real help.

Since my blog was pretty new and just had one or two posts in it , I wasn't really worried playing around with it an taking the risk of messing it up. I finally managed to get the theme updated here. All I did was -

1. Downloaded the new theme zip file on my laptop and unzipped it.

2. Selected all the folder and files from this new theme and manually pasted it on my blog folder. Offcourse there were a number of conflicts for related files from both the themes.
I decided to discard all the old ones except for `_POST` folder and `_config.yml` file.

3.  That's all, my blog is now live with new theme and it didn't break a thing. I did have to do some updates on the `_config.yml` file to match with the new theme requirements.

I still have to fix some issues with this new theme like 'get the contact form working etc...'

I understand this is not a cleanest and practical way of updating the theme, but like I said, my blog didn't have much stuffs that I was worried about getting corrupted with my experimentation. I still feel Jekyll community needs to come up with a good solution for updating the Jekyll theme without much hassles.

If you come across anything better, kindly drop me a line.

gha_language: CSS


text:
An OSPlatform is an abstract representation of a 'OS platform'.
Platforms can be hierarchical, e.g., a "general" platform as superclass and more specific platforms as subclasses as long as the subclasses provide sufficient means to identify themselves.
The original implementation was for Tweak.

Current		holds the current OSPlatform subclass

Architectural considerations:
most platform specific methods that need to be added to the platform class should be in the form of extensions rather then adding them directly to this package. Otherwise the platform class will degenerate very quickly into a dependence hub for all kinds of sub systems.

repository: guillep/pharo

gha_language: Smalltalk

repo_name: guillep/pharo


text:
---
layout: page
title: "What is Happiness?"
description: ""
header-img: "img/about-bg.jpg"
---

Happiness, in its most typical definition, is to get what we want. We would be happy if we always get what we want. We would be happy if everything goes exactly like how we want life to be. Once we get all that we want, we become content and satisfied with life. This sense of contentment, fulfilment, and satisfaction is ultimately what happiness is.

There are three basic components of happiness:

One’s desire

The reality or the world

And their interaction

Happiness is when what you want from reality is in harmony with what reality is; or to put it in an even simpler term, happiness is when life is exactly like how you want it to be. There is nothing that you want more or less. Life is just perfect as it is.

It's impossible to know what happiness is unless you also know what unhappiness is.

Unhappiness, on the other hand, is when the reality is not like what you want it to be. Anything which you want but couldn’t have, anything that you do not want yet it enters into your life, anything that you used to have but now it’s gone. These are the unhappinesses of life which we come to know as worry, frustration, disappointment, depression, confusion, and etc. As an example, disappointment is when the reality is not what you hope it would be. And worry is when you want the reality to be a certain way, yet you are afraid it might not be like what you hope. In essence, all of these array of negative emotions, or unhappinesses, stem from the disharmony between what we want from reality and what the reality is.

So far, understanding happiness is the easy part. The hard part is how to attain one. Why are we not always happy despite our knowledge of happiness? If happiness is simply to match reality and our want then where did we go wrong in this simple process to produce happiness? Why does our pursuit of happiness still lead us toward discontent and sometimes even a sense of meaninglessness in life?

To answer these questions, the next section, "What is the Cause of Happiness?", will introduce you into the nature of happiness, so that we will understand how to attain one. Click on the button below!

                      	Cause of Happiness →


text:
{
  "title": "#100DaysOfCode Day 8: (day off yesterday with food poisoning 🤙🤙🤮) #RaspberryPi #SenseHat crappy bird game - almost know enough to start my own physical computing projects now! Also a few steps closer to having an #rstats #blogdown blog up and running *self high five*",
  "date": "2018-03-14"
}

# blogdown

> **Justin** (@shakashakawizrd; 13/8): #100DaysOfCode Day 8: (day off yesterday with food poisoning 🤙🤙🤮) #RaspberryPi #SenseHat crappy bird game - almost know enough to start my own physical computing projects now!
Also a few steps closer to having an #rstats #blogdown blog up and running *self high five*  [↪](https://twitter.com/xieyihui/status/973510829881491456)

<!-- -->

> **Lorenzo Busetto** (@lbusetto74; 4/1): How to automatically import publications from BibTex to a hugo-academic blogdown site - New blog post here: https://t.co/tlSyDpme0o  #blogdown #rstats https://t.co/uPkbMC1jbF  [↪](https://twitter.com/xieyihui/status/973642870598066177)

<!-- -->

> **Marie Dussault 💀** (@londonaesthetik; 1/0): @kierisi @JonTheGeek @Netlify Might be because they are md files? I know the blogdown package recommends rmd files...  [↪](https://twitter.com/xieyihui/status/973611881423351809)

<!-- -->

> **Aline Quadros** (@aline_quadros; 0/1): Are u thinking of starting a blog and showcase your code and #rstats projects? Go the #bookdown route! This online free resource is just excellent #blogdown #rmark https://t.co/N4kqC28UQ5  [↪](https://twitter.com/xieyihui/status/973446213600272384)

<!-- -->

> **Mauro Lepore** (@mauro_lepore; 0/0): @umairdurrani87 @dataandme @rweekly_org @kierisi Thanks!

If you don't mind the complex structure of blogdown you could create your https://t.co/8FooWjV1sW project from your GitHub repo. https://t.co/I2dJOxGH3T  [↪](https://twitter.com/xieyihui/status/973730421153386496)

<!-- -->

> **Umair Durrani** (@umairdurrani87; 0/0): @mauro_lepore @dataandme @rweekly_org @kierisi Nice. What I liked most was that you provided a link to your #rstudio project on rcloud. Really awesome! Question: I'm sure you're using #blogdown but how did you manage using the Rmd both in Import Dataset project and your blogdown project simultaneously? #rstats  [↪](https://twitter.com/xieyihui/status/973712058624696327)

<!-- -->

> **Roman Valls** (@braincode; 0/0): @ChrisFiloG Remember when I asked if you were from the past? After moving to #Melbourne I do have a point: https://t.co/c9xB2C2erK  [↪](https://twitter.com/xieyihui/status/973385356044156928)

<!-- -->

> **GoHugo 🔥TOP🔥BOT🔥** (@hugo_top_bot; 0/0): New blogdown posts showing on R-Studio, not rendering on Netlify? How to debug? https://t.co/9qEW4fB9m8  [↪](https://twitter.com/xieyihui/status/973384911435583488)

<!-- -->

# bookdown

> **Aline Quadros** (@aline_quadros; 0/1): Are u thinking of starting a blog and showcase your code and #rstats projects? Go the #bookdown route! This online free resource is just excellent #blogdown #rmark https://t.co/N4kqC28UQ5  [↪](https://twitter.com/xieyihui/status/973446213600272384)

<!-- -->

# knitr

> **Sebastian Karcher** (@adam42smith; 1/0): This together with @benmarwick 's advice to use knitr::include_graphics is perfect; exactly what I was looking for. https://t.co/ECSn5XVYqd  [↪](https://twitter.com/xieyihui/status/973584221087420416)

<!-- -->

> **Ben Marwick** (@benmarwick; 1/0): @FrederikAust @adam42smith That's right, but instead of print,  I use knitr::include_graphics for greater control over the rendered image  [↪](https://twitter.com/xieyihui/status/973582833233969152)

<!-- -->

> **NoSQL Weekly** (@nosqlweekly; 0/0): rmd4j - Knitr Engine for Neo4j. https://t.co/6gKJPpauYD #neo4j https://t.co/anFD6gYWp8  [↪](https://twitter.com/xieyihui/status/973619706346295296)

<!-- -->

> **Josh Davis** (@jldavis; 0/0): @mrkhdly I know this because they asked me to write a book on knitr because I wrote a dinky little tutorial on it. I know another person that wrote a security book and he absolutely didn’t have the credentials to be telling people about security. It was fangerous  [↪](https://twitter.com/xieyihui/status/973609720018685954)

<!-- -->

> **Martin Skarzynski** (@marskar; 0/0): @andrewheiss @pachamaltese Any advantages over knitr::kable?
Thanks!  [↪](https://twitter.com/xieyihui/status/973518649830117376)

<!-- -->

# yihui.name

> **Aaron Williams** (@awunderground; 1/1): Deleted MiKTeX and installed @xieyihui’s TinyTex. Everything is working great. I’m telling everyone at work! https://t.co/WHFI8J7wx8 #rstats https://t.co/qtzWPMDls6  [↪](https://twitter.com/xieyihui/status/973701948208709632)

<!-- -->

repository: cgpu/twitter-blogdown

repo_name: cgpu/twitter-blogdown


text:
# Readable

**Readable** is a content and comment web app. Users will be able to post content to predefined categories, comment on their posts and other users' posts, and vote on posts and comments. Users will also be able to edit and delete posts and comments.

## Quick start

The app consists of 2 parts, a frontend `./web-app` and a backend `./api-server`. Both need to be runing at the same time to make it work so you should run the folowing command on both folders:

### Install

```
$ yarn install
```
### Run

```
$ yarn start
```

## API docs
For more detailed information of the API endpoints look here : [/api-server/README.md](./api-server/README.md)

## Authors

* **Luis Malavé** - *Initial work* - [malave](https://github.com/malave)

## License

This project is licensed under the MIT License

repository: malave/reactnd-project-readable-starter

repo_name: malave/reactnd-project-readable-starter


text:
---
layout: default
---

# 1994-01-20 - Off-Shore Banking

## Header Data

From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: 27da66197f2951de24507bc503fc293ef3009f1b422a0a14ef82ccf064136d30

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1994-01-20 21:29:57 UTC

Raw Date: Thu, 20 Jan 94 13:29:57 PST

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>Date: Thu, 20 Jan 94 13:29:57 PST
To<EMAIL_ADDRESS>Subject: Off-Shore Banking
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

   Complete guides to off-shore banking, and more, are available from
LOW PROFILE newsletter
POBox 84910
Phoenizx, Arizona 85701

Tel 1-800-528-0559
Fax<PHONE_NUMBER>

I subscribe to this newsletter and find the information well-researched
and worthwhile.  If a banking institution has a bad reputation, they
publish the information.  Lots of other information on asset ptrotection
at home and abroad.
<EMAIL_ADDRESS>

{% endraw %}
```

## Thread

+ Return to [January 1994](/archive/1994/01)

+ Return to "[DECLAN@delphi.com](/authors/declan_at_delphi_com)"

+ 1994-01-20 (Thu, 20 Jan 94 13:29:57 PST) - Off-Shore Banking -<EMAIL_ADDRESS>


text:
# Request

An HTTP request starts with a request line followed by optional header fields, message body, response handler, and previous response references.

## Request-Line

A [request line](https://datatracker.ietf.org/doc/html/rfc7230#section-3.1.1) consists of a request method, target and the HTTP protocol version. If the request method is omitted, ‘GET’ will be used as a default. The HTTP protocol version can be also omitted.

<<< ./examples/request/requestline.http

::: tip
The HTTP version is optional. But in this guide I have always added it because of syntax highlighting
:::

If the Http version is specified, this can be used to control the use of HTTP2

<<< ./examples/request/requestlineHttpVersion.http

Allowed Requests Methods are:
| |||||
|-|-|-|-|-|
| GET | POST | PUT | DELETE | PATCH | HEAD |
| OPTIONS | CONNECT | TRACE | PROPFIND | PROPPATCH | MKCOL |
| COPY | MOVE | LOCK | UNLOCK | CHECKOUT | CHECKIN |
| REPORT | MERGE | MKACTIVITY | MKWORKSPACE | VERSION-CONTROL | BASELINE-CONTROL |

A request path can be added in the next line

<<< ./examples/request/requestlineMultiline.http

## Query Strings

A [request query](https://datatracker.ietf.org/doc/html/rfc3986#section-3.4) may contain any unicode characters except line separators and the ‘#’ symbol.

<<< ./examples/request/queryString.http

It is also possible to split the query strings to different subsequent lines.

<<< ./examples/request/queryStringMultiline.http

## Headers

Each [header field](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2) consists of a case-insensitive field name followed by a colon (‘:’), optional leading whitespace, the field value, and optional trailing whitespace.

<<< ./examples/request/headers.http

If you use the same headers several times, it is possible to store them in a variable and reuse them.

<<< ./examples/request/headersSpread.http{8}

## Cookie

[CookieJar](https://www.npmjs.com/package/tough-cookie) support is enabled by default. All received [Cookies](https://datatracker.ietf.org/doc/html/rfc6265#section-5.4), previously sent by the server with the Set-Cookie header are automatically sent back. It is possible to send own cookies to the server using cookie header.

<<< ./examples/request/cookie.http

::: warning
Cookies are only stored In-Memory and are cleared in VS Code with command `httpyac.reset`
:::

It is possible to disable cookie support per request.

<<< ./examples/metaData/noCookieJar.http{1}

## Request Body
The [request body](https://datatracker.ietf.org/doc/html/rfc7230#section-3.3) can be represented as a simple message or a mixed type message (multipart-form-data).

<<< ./examples/request/requestBody.http

::: warning
The first content that is not recognized as a header or query string is interpreted as a request body. After that, no more header or query string can be specified.
:::

## Imported Request Body

A body can also be imported by using `< ...`.

<<< ./examples/request/requestBodyImport.http{4}

If you want to replace variables in the file please import it with `<@`

<<< ./examples/request/requestBodyImportReplace.http{5}

All files are read with UTF-8 encoding. If a different encoding is desired, provide it.

<<< ./examples/request/requestBodyImportReplaceEncoding.http{5}

::: warning
If the request body is configured in-place, whitespaces around it will be trimmed. To send leading or trailing whitespaces as part of the request body, send it from a separate file.
:::

::: tip
You can use Variable Substitution in file import.
:::

<<< ./examples/request/requestBodyImportVariable.http{7}

## multipart/form-data

It is possible to mix inline text with file imports

<<< ./examples/request/multipartFormData.http

## GraphQL
GraphQL queries are supported. Parsing Logic will automatically generate a GraphQL request body from the query and the optional variables.

<<< ./examples/request/graphql.http

GraphQL fragments are also supported and are included in the body by name.

<<< ./examples/request/graphqlParts.http{1,26}

To import GraphQL File you need to use special GraphQL Import Directive.

<<< ./examples/request/graphqlImport.http{5}

::: tip
You can use Variable Substitution in file import.
:::
<<< ./examples/request/graphqlImportVariables.http{6}

## Request Separators

Multiple requests defined in a single file must be separated from each other with a request separator symbol. A separator may contain comments.

```http
https://httpbin.org/post
### separator
https://httpbin.org/post
```

Alternatively, the request can also be specified in [RFC 7230](https://tools.ietf.org/html/rfc7230#section-3.1.1) Request line format, which also triggers a separation.

```http
GET https://httpbin.org/post HTTP/1.1

GET https://httpbin.org/post HTTP/1.1
```

Using `###` Regions without a request can be defined. These global regions are executed and interpreted for all requests within the file. This way [meta data](/guide/metaData.html), [variables](/guide/variables.html) and [scripts](/guide/scripting.html) can be set for each request.

```http
@host=https://httpbin.org
###
GET /post HTTP/1.1

GET /post HTTP/1.1
```

## gRPC

It is also possible to send gRPC requests. The same request line format is used as for Http requests, but `GRPC` must be specified as the request method.

<<< ./examples/request/grpc.http

### Protobuf Loader

To use the gRPC call, the proto file associated with the call must first be loaded. This is loaded using [@grpc/proto-loader](https://www.npmjs.com/package/@grpc/proto-loader). This can be configured using options in the header format

<<< ./examples/request/protoImport.http

The import of the proto file can also be done globally

<<< ./examples/request/protoGlobalImport.http

::: tip
You can use Variable Substitution in file import.
:::
<<< ./examples/request/protoImportVariables.http{3}

### Unary RPC

[Unary RPC]( https://grpc.io/docs/what-is-grpc/core-concepts/#unary-rpc) behaves identically to Http requests. The url need to be in the following format

```
GRPC {{server}}/{{service}}/{{method}}
```

<<< ./examples/request/grpcUnary.http

Using [header notation](/guide/request.html#headers) it is also possible to send meta data.

Header `ChannelCredentials` or `Authorization`are special and defines the [authentication](https://grpc.io/docs/guides/auth/#nodejs) used by gRPC. If no such header is specified, `grpc.credentials.createInsecure()` is used automatically

### Server Streaming RPC

[Server Streaming RPC](https://grpc.io/docs/what-is-grpc/core-concepts/#server-streaming-rpc) is similar to a unary RPC, except that the server returns a stream of messages in response to a client’s request.

<<< ./examples/request/grpcServerStreaming.http

All responses are output as an intermediate result and summarized at the end as one overall response. If the intermediate results are not needed, they can be deactivated using `# @noStreamingLog`.

<<< ./examples/metaData/noStreamingLog.http

### Client Streaming RPC

[Client Streaming RPC](https://grpc.io/docs/what-is-grpc/core-concepts/#client-streaming-rpc) is similar to a unary RPC, except that the client sends a stream of messages to the server instead of a single message. To enable this, a custom script can be used that registers for the @streaming hook. This script must export a Promise at the end of which the client stream is terminated.

<<< ./examples/request/grpcClientStreaming.http

::: tip
To control the wait time more easily, a method `sleep` is provided that waits the number of milliseconds.
:::

### Bidirectional Streaming RPC

[Bidirectional Streaming RPC](https://grpc.io/docs/what-is-grpc/core-concepts/#bidirectional-streaming-rpc) is a combination of client streaming and server streaming.

<<< ./examples/request/grpcBidirectional.http


text:
# oh-my-zsh

- https://ohmyz.sh/
- https://sourabhbajaj.com/mac-setup/iTerm/zsh.html
- https://dev.to/danielbellmas/the-only-3-plugins-youll-ever-need-for-your-terminal-1bg4
- https://medium.com/wearetheledger/oh-my-zsh-made-for-cli-lovers-installation-guide-3131ca5491fb
- https://javascript.plainenglish.io/upgrading-your-terminal-with-oh-my-zsh-and-more-fa58d61d21d3
- https://medium.com/swlh/the-ultimate-terminal-emulator-with-oh-my-zsh-experience-f81f838c6daf

## install oh-my-zsh

```bash
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
```

The installation script should set zsh to your default shell, but if it doesn't you can do it manually:

```bash
chsh -s $(which zsh)
```

## plugins

Add plugins to your shell by adding the name of the plugin to the `plugin` array in your `.zshrc`.

```sh
# plugins=(git colored-man-pages colorize pip python brew osx)
plugins=(git node bundler macos rake ruby python)
```

```bash

# zsh autosugge3stoin
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

```

```sh
plugins=(
# other plugins...
zsh-autosuggestions
zsh-syntax-highlighting
)
```

```sh
# An example of a plugin setting
plugins=(
  git
  macos
  node
  zsh-autosuggestions
  zsh-syntax-highlighting
  iterm2
)
```

## theme

https://github.com/spaceship-prompt/spaceship-prompt

```bash
# install spaceship theme
brew install spaceship
echo "→ source $(brew --prefix)/opt/spaceship/spaceship.zsh" >>! ~/.zshrc
````

```bash
git clone https://github.com/spaceship-prompt/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt" --depth=1
# Symlink spaceship.zsh-theme to your oh-my-zsh custom themes directory:
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
```

Inside the `~/.zshrc` file we will change the `ZSH_THEME` variable like this:

```bash
ZSH_THEME="spaceship"
```

```sh
ZSH_THEME="spaceship"
```

or

```sh
ZSH_THEME="agnoster"
```

## install fonts

- https://github.com/powerline/fonts

```bash
# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts
```

```bash
sudo apt install fonts-powerline
```

```bash
echo -e "\xee\x82\xa0" #> 
```

## install solartis

```bash
brew install wget
cd ~/Downloads
wget https://raw.githubusercontent.com/mbadolato/iTerm2-Color-Schemes/master/schemes/Solarized%20Dark%20-%20Patched.itermcolors
```

// https://raw.githubusercontent.com/altercation/solarized/master/iterm2-colors-solarized/Solarized%20Light.itermcolors

theme??

`iTerm -> Preferences -> Profiles -> Colors -> load presets -> Import`

activate font in iterm2

`iTerm -> preferences -> profiles -> text`

repository: MatthijsKamstra/Mac-setup

repo_name: MatthijsKamstra/Mac-setup


text:
# Skeleton

A minimal setup for a ruby project with rspec

## Setup Instructions

1. Make sure you have ruby and bundler installed
2. Install rspec with `bundle install`
3. Replace the example `lib/hello.rb` and `spec/hello_spec.rb` files with your own
4. Remove the `.git` folder and start a fresh one with `git init`
5. Delete this README! Add some documentation for your project

## Run the Spec

```
> bundle exec rspec
```

## Try out your code

If you'd like to mess around with code in `lib`, require it in the `bin/console` file and run it with

```
> bin/console
```

This will start an `irb` session with the code loaded


text:
# Installation
This section describes how to install PathFinding.js.

## Using Package Managers
PathFinding.js supports installation using npm and bower command line tools.

### For Server
[Node.js](http://nodejs.org/) is an environment for running javascript on the
server. [Download](http://nodejs.org/download/) and install Node.js for your OS
and confirm that it works from the command line:

```bash
node -v
```

If Node.js was installed correctly this should print the installed version of]
Node.js.

Node.js comes with a [Node Package Manager](https://www.npmjs.com/) command line
tool called _npm_. It is used to install packages for Node.js. Check that it
works:

```bash
npm -v
```

This should print the installed version of npm.

npm installs the packages in the current folder by default. Make sure you are
in your project folder before continuing:

```bash
cd <my_new_project>
```

Now you are ready to install PathFinding.js. The npm command to install
PathFinding.js is:

```bash
npm install pathfinding
```

This will create a _node_modules_ folder inside the my_new_project folder.
PathFinding.js is now installed in the _pathfinding_ folder inside the
node_modules folder.

### For Client
[Bower](http://bower.io/) is a front-end package manager. Install it by running
the command:

```bash
npm install -g bower
```

Confirm that you can run the bower command:

```bash
bower -v
```

This should print the installed version of bower.

Navigate to your project folder:

```bash
cd <my_new_project>
```

Install pathfinding:

```bash
bower install pathfinding
```

This will create a _bower_components_ folder inside the my_new_project folder.
PathFinding.js is now installed in the pathfinding folder inside the
bower_components folder.

## Manual Installation
If you want to use the latest development version you will have to install
PathFinding.js manually.

### For Server
[Download](https://github.com/qiao/PathFinding.js/archive/master.zip) the zip
from github and extract the contents into the node_modules folder. Don't forget
to rename the extracted folder from PathFinding.js-master to pathfinding.

### For Client
[Download](https://github.com/qiao/PathFinding.js/archive/master.zip) the zip
from github, extract it in a temporary folder and navigate to this folder:

```bash
cd <temp_folder>
```

Now install all the dependencies of PathFinding.js:

```bash
npm install
```

Now compile the browser builds:

```bash
gulp compile
```

This will create _pathfinding-browser.js_ and _pathfinding-browser.min.js_ files
in the temp_folder/lib folder. You can use these files in your project now.

repository: SuneBear/SB-Playgrounds

repo_name: SuneBear/SB-Playgrounds


text:
# DEPRECATED

This project has been deprecated in favor of node's built in `fsPromises.mkdir` added in node v10.0.0

How to use node's built in method instead of this package:

```js
const path = '/my/path/to/anything';
await fsPromises.mkdir(path, { recursive: true });

// With mode
const path = '/my/path/to/anything';
await fsPromises.mkdir(path, { recursive: true, mode: 0o775 });

// With partial application proposal
const path = '/my/path/to/anything';
const mkdirp = fsPromises.mkdir(?, { recursive: true, mode: 0o775 });
await mkdirp(path);

// Partial application with arrow functions
const path = '/my/path/to/anything';
const mkdirp = path => fsPromises.mkdir(path, { recursive: true, mode: 0o775 }));
await mkdirp(path);
```

# async-mkdirp

[![npm][npm]][npm-url]
[![npm bundle size (minified + gzip)][minzip]][minzip-url]
![npm downloads](https://img.shields.io/npm/dt/async-mkdirp.svg)

Recursively create directories, like `mkdir -p`, and return a promise.

# Install

```
npm install -S async-mkdirp
```

## Usage

Normal:

```js
const mkdirp = require('async-mkdirp');

(async () => {
  await mkdirp('/tmp/foo/bar/baz');
  // Code here runs after all directories have been created
})();
```

Make multiple paths in parallel:

```js
const mkdirp = require('async-mkdirp');

const createDirs = async () => {
  await Promise.all([
    mkdirp('/tmp/foo/bar/baz'),
    mkdirp('./my/cool/folder'),
  ]);
  // Code here runs after all directories have been created
}

createDirs();
```

# API

## mkdir(path[, mode])

- `path` `<String>` | `<Buffer>`
- `mode` `<Integer>`

Asynchronous `mkdir -p`. `mode` defaults to `0o777`.

# About

This project is inspired by [`substack/mkdirp`](https://github.com/substack/node-mkdirp). It has been rewritten to take advantage of `async` functions, and does not include a synchronous method or cli.

# Similar projects

- [node-mkdirp](https://github.com/substack/node-mkdirp) - callback style mkdirp, with cli
- [mkdirp-promise](https://github.com/ahmadnassri/mkdirp-promise) - node-mkdirp wrapped in a promise
- [mkdirp-then](https://github.com/fs-utils/mkdirp-then) - node-mkdirp wrapped in a promise, and any-promise for promise implementation

# License

MIT

[npm]: https://img.shields.io/npm/v/async-mkdirp.svg
[npm-url]: https://npmjs.com/package/async-mkdirp

[minzip]: https://img.shields.io/bundlephobia/minzip/async-mkdirp.svg
[minzip-url]: https://bundlephobia.com/result?p=async-mkdirp

repository: simonlc/async-mkdirp

repo_name: simonlc/async-mkdirp


text:
---
layout: default
---

# 1993-06-12 - Re: MAIL: logging that happens on soda

## Header Data

From: Peter shipley<EMAIL_ADDRESS>To: Eric Hughes<EMAIL_ADDRESS>Message Hash: ea1fb84a86d2d6d11c42a4ac9b3921cf43b1c07afb64e1c06de29b22a7a2d8ee

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1993-06-12 08:11:59 UTC

Raw Date: Sat, 12 Jun 93 01:11:59 PDT

## Raw message

```
{% raw  %}From: Peter shipley<EMAIL_ADDRESS>Date: Sat, 12 Jun 93 01:11:59 PDT
To: Eric Hughes<EMAIL_ADDRESS>Subject: Re: MAIL: logging that happens on soda
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/x-pgp

-----BEGIN PGP SIGNED MESSAGE-----

>
>I raise this because it affects perceived remailer security and I have
>not once heard these specific logs brought up, on the list or in person.
>

it is also common practice for have the logs not readable for pople
not in the wheel or staff group.

As for this remailer security  if you use multiple remailers with random
delays the ability to correlate the  the sendmail & uucp logs should be
sufficient retarded.  (this is assuming that you were able to get copies of
all the logs from sites the sendmail message passed through

			-Pete

-----BEGIN PGP SIGNATURE-----
Version: 2.2

iQBFAgUBLBj1HMhmn7GUWLLFAQFxQQF9ESltl2TTn1j8A9CNDsct+Mz7SzZqwsQe
w8H7ILI3mbCF8FVqmkuWNjPeHDe5C3xj
=h1r8
-----END PGP SIGNATURE-----

{% endraw %}
```

## Thread

+ Return to [June 1993](/archive/1993/06)

+ Return to "[Eric Hughes <hughes@soda.berkeley.edu>](/authors/eric_hughes_hughes_at_soda_berkeley_edu_)"
+ Return to "[Peter shipley <shipley@merde.dis.org>](/authors/peter_shipley_shipley_at_merde_dis_org_)"
+ Return to "[Peter Shipley <shipley@tfs.COM>](/authors/peter_shipley_shipley_at_tfs_com_)"

+ 1993-06-11 (Fri, 11 Jun 93 08:26:58 PDT) - [MAIL: logging that happens on soda](/archive/1993/06/a81cd126963b7f8226f4ffc81434bdd2e2e4d7f782ed217e0bfec6a3e639d3a6) - _Eric Hughes<EMAIL_ADDRESS>  + 1993-06-11 (Fri, 11 Jun 93 09:51:47 PDT) - [Re: MAIL: logging that happens on soda](/archive/1993/06/58761a66501623b1c486220ed912d3be12e77981badf21163f54412a7e28fb44) - _Peter Shipley<EMAIL_ADDRESS>    + 1993-06-11 (Fri, 11 Jun 93 11:05:40 PDT) - [MAIL: logging that happens on soda](/archive/1993/06/7d6bb8903866b8ebbdcd28fd6e0839efc030f97a49d27781211aa644e8e70c9c) - _Eric Hughes<EMAIL_ADDRESS>      + 1993-06-12 (Sat, 12 Jun 93 01:11:59 PDT) - Re: MAIL: logging that happens on soda - _Peter shipley<EMAIL_ADDRESS>


text:
## Protocol
This section describes the protocol used between the Arduino board and the LUA script off the PC.

### Data Link Layer
The Ethernet shield cannot be used due to the limitation of digital and analog I/O's of the
Arduino UNO board. Hence, message queueing such as MQTT cannot be used. Therefore, a serial
communication between the Arduino board and the LUA script has been selected.

The serial interface configuration is 115200bps, 8bit, no-parity, 1 stop bit (115200-8N1). This
gives a throughput of 11'520 bytes per second. If the battery and the ADIRS display is updated
every 200ms, the protocol size per message must not exceed 1KB - which is rather large for this
application.

Based on the above assumptions, the protocol design uses ASCII representation of the commands
sent. This allows easier testing and debugging on the protocol level.

### Message Structure
The message structure, derived from the [NMEA 0183](https://en.wikipedia.org/wiki/NMEA_0183)
used by GPS receivers for example, uses a simple ASCII serial communication structure.

- All transmitted data are printable ASCII characters (0x20 (space) to 0x7E '~')
- The message has a maximum length of 33 bytes (including the delimiters '$' and CR/LF)
- Data fields are optional
- Reserved characters are:

|ASCII|HEX|Use|
|-----|---|---|
|CR|0x0D|carriage return|
|LF|0x0A|line feed|
|$|0x24|start message character|
|,|0x2C|field delimiter|

A sample message structure shown below:
- The message starts with the character '$' (0x24)
- The next maximum five characters identify the talker ('AD' Arduino, 'FS' FlightSim) and
the type of message (two to three characters).
- All data fields are comma-delimited.
- At least one byte must be included in a data field if present.
- The message ends with 0x0D (CR) and 0x0A (LF).

The following example shows the rotary position sent from the Arduino to the PC:
- `$ADROT,0,1\r\n`

The above message will be acknowledged by the FlightSim as follows:
- `$FSACK\r\n`

### Protocol Description

The following picture shows the protocol used. Every command but `ADVER` requires an
acknowledgement before another command can be sent from either talker.

![Fig. 2-1 Protocol](images/protocol.jpg)

#### Handshake
The Arduino board initiates the communication by sending the protocol version `$ADVER,1.00\r\n`.
The FlightSim LUA script sends the version back, if it can support it, e.g. `$FSVER,1.00\r\n`.
Finaly, the Arduino board acknowledges the protocol version with `$ADACK\r\n`.

If the Arduino board doesn't receive any messages within a given time (timeout occurs), it will
resend the protocol version (heartbeat) to the FlightSim. This handles USB communication
interrupts that may occur occasionally. The picture below shows the state diagram used within
the Arduino script.

![Fig. 2-2 handshake](images/stateArduino.png)

The LUA script implements the following communication states:

![Fig. 2-3 handshake](images/handshake.png)

#### Commands

|start|Command| |Data (regex)         |end |Description|
|---|-------|---|---------------------|----|-----------|
|$|ADROT|,|`^[0-4],[0-9]$`            |\r\n|field1: rotary switch ID: 0-DATA, 1-SYS, 2-IR1, 3-IR3, 4-IR2
field2: rotary position|
|$|FSBA1|,|`^[0-9]{4}$`               |\r\n|Battery1 voltage (*10), e.g. 0238 for 23.8 volts|
|$|FSBA2|,|`^[0-9]{4}$`               |\r\n|Battery1 voltage (*10), e.g. 0238 for 23.8 volts|
|$|FSROW|,|`^[\x20-\x7e]{0,24}$`      |\r\n|Display text in ADIRS|
|$|FSOFF|,|`^(LCD\|BA1\|BA2)$`|\r\n|Switch OFF ADIRS, battery1, or battery2 display|
|$|FSON |,|`^(LCD\|BA1\|BA2)$`|\r\n|Switch OFF ADIRS, battery1, or battery2 display|
|$|FSTGV|,|0-255,0-255,0-255          |\r\n|Triple gauge servo values (0-255)
1. value: ACCU
2. value: BREAK left
3. value: BREAK right|
|$|ADACK| |                           |\r\n|Arduino confirms message received|
|$|ADNAK| |                           |\r\n|Arduino rejects received message|
|$|FSACK| |                           |\r\n|FlightSim confirms message received|
|$|FSNAK| |                           |\r\n|FlightSim rejects received message|

repository: buentead/ADIRS

gha_language: Lua

repo_name: buentead/ADIRS


text:
---
layout: post
title: Predicting Opening Box Office Gross with Internet Search Activity
---

![Output](https://github.com/dwieker/dwieker.github.io/blob/master/images/wiki_vs_gross.png?raw=true)

The goal of this project was to estimate the opening box office gross of popular movies before release by quantifying internet "hype." I originally wanted to look at twitter volume/content for movies in the months leading up to release, but discovered that it's difficult to scrape twitter data more than two weeks old. A great website for scraping data, however, is wikipedia. A lot of people tend to check wikipedia for a movie synopsis before they decide to watch it, so I assumed that total visits to a movie's wiki page would be a strong indicator of the popular interest. In summary, I found a fairly strong correlation between wikipedia page visits for a given movie in the month leading up the release and total opening weekend revenue.

First, I wrote a python script to pull a list of movie names, release dates, and wiki links for a few different years from [here](https://en.wikipedia.org/wiki/2015_in_film). Then, I gathered wiki views data from [stats.grok](http://stats.grok.se/) using the pyhton requests module. Here's a few popular movies:

![Output](https://github.com/dwieker/dwieker.github.io/blob/master/images/wiki.png?raw=true)

Expectedly, wiki views increase in the week before the movies release and peak around the day of release.
For every movie in the data set, I summed up all the views in the month prior to release and plotted them with opening box office gross. See below.

![](https://github.com/dwieker/dwieker.github.io/blob/master/images/log_wiki.png?raw=true)

There's clearly a strong correlation here. (Which you might rightly say was to be expected)

However, Wikipedia only seemed useful if you wanted to forecast a week out; many months before a movie release, total views did not vary much between movies and did not provide any predictive power. So, In addition to wikipedia data, I used google keywords to find the total google search volume for the trailer of each movie over time. This provided a way to forecast much further into the future, as trailers are release many months before the movie itself. In the graph below, you can see spikes in search volume which correspond to the month of the trailers release (derp)

![](https://github.com/dwieker/dwieker.github.io/blob/master/images/google.png?raw=true)

As a final feature of my model, I included the seasonal trends of profits:
![](https://github.com/dwieker/dwieker.github.io/blob/master/images/peak.png?raw=true)

With these 3 predictors I achieved an R^2 of around .70 with linear regression.

The internet is a great resource for movie studios to track the effectiveness of their advertisements. Total search volume of google trailers is a powerful early predictor of future revenue (derp), and might allow studios to adjust their marketing plans accordingly.

[Github Code](https://github.com/dwieker/Luther)


text:
## CI
* TyRoXx (main)
[![Build Status](https://travis-ci.org/TyRoXx/Lpg.svg?branch=master)](https://travis-ci.org/TyRoXx/Lpg)
[![Build status](https://ci.appveyor.com/api/projects/status/lq9sc1am1xn5fvgg/branch/master?svg=true)](https://ci.appveyor.com/project/TyRoXx/lpg/branch/master)
* mamazu (fork)
[![Build Status](https://travis-ci.org/mamazu/Lpg.svg?branch=master)](https://travis-ci.org/mamazu/Lpg)

## Usage
For a general introduction, have a look at the file `documentation/Language.md`

Just write a `.lpg` file and run it. If you want to have syntax highlighting, there is a [Visual Studio Code Plugin](https://github.com/mamazu/LPG-for-Visual-Studio-Code) and a Notepad++ syntax file in this repository.

### Compilation
In order to compile and run an `.lpg` file you need to build the whole project and run the following command in the terminal:

* On Windows:
> `{build-directory}/cli/lpg.exe` and give it the `.lpg` file as argument.

* On Linux
> `{build-directory}/cli/lpg` and give it the `.lpg` file as argument.

## Development
Currently supported operating systems are:
* Windows
* Linux

### Build and run on Ubuntu
Install at least the following tools:
```bash
sudo apt-get install git cmake gcc valgrind ninja-build nodejs
```

How to build and run the tests:
```bash
git clone https://github.com/TyRoXx/Lpg.git
mkdir build
cd build
cmake ../Lpg -G "CodeBlocks - Unix Makefiles"
cmake --build .
./tests/tests
```

You can also open the project using an IDE. QtCreator is recommended:
```bash
sudo apt-get install qtcreator
```

### Test coverage on Ubuntu

How to measure test coverage:
```bash
sudo apt-get install lcov firefox
cd build
make testcoverage
```
It will run the tests, generate an HTML coverage report and open it in Firefox.

### Code formatting
Install `clang-format` like this on Ubuntu:
```bash
sudo apt-get install clang-format-3.9
```

On Windows, you can get clang-format by installing Clang for Windows:

* http://releases.llvm.org/3.9.1/LLVM-3.9.1-win64.exe

You have to use clang-format 3.9 or otherwise the formatting will be inconsistent.

Re-run `cmake` in the build directory to make it will look for `clang-format`:
```bash
cmake .
```

To format, run this in the build directory:
```bash
make clang-format
```

### Build and run on Windows

* Use CMake GUI to generate a solution for your favorite version of Visual Studio.
* Open the solution in Visual Studio as usual.
* Run the `tests` project to check whether your changes work.

repository: TyRoXx/Lpg

gha_language: C

repo_name: TyRoXx/Lpg


text:
# Author!
Georgy (frontend33)

# New Features!

  - I am writing a reactive form of dispatch with modern frameworks
  - I use Vue js

You can see all my works in my repository  [https://github.com/frontend33]

# Usage!
> Once installed you have access to component (vue-form) for managing form state,
> validating form fields on  patterns and displaying success messages.

### Tech
* [HTML5] - HyperText Markup Language, version 5
* [css3] - Cascading Style Sheets
* [vuejs.org] - HTML enhanced for web apps!
* [Twitter Bootstrap] - great UI boilerplate for modern web apps

----
![](/png/screenshots.png)

License
----
MIT

**Free Software!**


text:
---
layout: default
---

# 1996-09-13 - Re: Fed appellate judge remarks re anonymity, free speech on the net

## Header Data

From: "Z.B."<EMAIL_ADDRESS>To: Greg Broiles<EMAIL_ADDRESS>Message Hash: 2d3a54e7e8922213c4b755803ec5296a7369ffaebb56503fef7f33ef2baad1dc

Message ID: \<Pine.3.89.9609122104.A23562-0100000@netcom12\>

Reply To<EMAIL_ADDRESS>UTC Datetime: 1996-09-13 07:24:49 UTC

Raw Date: Fri, 13 Sep 1996 15:24:49 +0800

## Raw message

```
{% raw  %}From: "Z.B."<EMAIL_ADDRESS>Date: Fri, 13 Sep 1996 15:24:49 +0800
To: Greg Broiles<EMAIL_ADDRESS>Subject: Re: Fed appellate judge remarks re anonymity, free speech on the net
In-Reply-To<EMAIL_ADDRESS>Message-ID: <Pine.3.89.9609122104.A23562-0100000@netcom12>
MIME-Version: 1.0
Content-Type: text/plain

On Thu, 12 Sep 1996, Greg Broiles wrote:

>
> (Also in today's news, the 9th Circuit upheld a CA statute forbidding sales
> of material considered "harmful to minors" from vending machines.)
>

Oh, well, that just narrows it down really well.  Might as well just take
out all of the machines now, because you could make a case that just
about ANYTHING out of a vending machine is "harmful to minors".  Soda
machines? Caffeine and sugar.  Snack machines?  Sugar again.  Those
machines in supermarkets that give little toys?  A child *could* swallow
one and choke.  And on and on and on.

Even if this statute is meant only to apply to cigarette machines, which
would seem to be the case given all of the anti-cig stuff going on now,
what good will it do?  I have never (in 20 years living in CA) seen a
cigarette machine out where a child could get something from it, only
inside a pool hall or another adult-only establishment.  Another one of
those bills to "selectively enforce" things, perhaps?  Sheesh.

---

Zach Babayco

<EMAIL_ADDRESS><----- finger for PGP public key
http://www.geocities.com/SiliconValley/Park/4127

{% endraw %}
```

## Thread

+ Return to [September 1996](/archive/1996/09)

+ Return to "[Greg Broiles <gbroiles@netbox.com>](/authors/greg_broiles_gbroiles_at_netbox_com_)"
+ Return to "["Z.B." <zachb@netcom.com>](/authors/z_b__zachb_at_netcom_com_)"

+ 1996-09-13 (Fri, 13 Sep 1996 11:21:36 +0800) - [Fed appellate judge remarks re anonymity, free speech on the net](/archive/1996/09/ba56947e4c09a861d8b21ede38a816747fc270894d9cea5dad67326785682b60) - _Greg Broiles<EMAIL_ADDRESS>  + 1996-09-13 (Fri, 13 Sep 1996 15:24:49 +0800) - Re: Fed appellate judge remarks re anonymity, free speech on the net - _"Z.B."<EMAIL_ADDRESS>


text:
# Creating a new container image

## Dependencies

If you would like to help create new container images, there's a few tools
you will need:

- [Docker](https://www.docker.com/get-started)
- [buildx](https://docs.docker.com/buildx/working-with-buildx/)
- [jq](https://stedolan.github.io/jq/)
- [goss] & [dgoss]
- [task (optional)](https://github.com/go-task/task)

## Creating a new container image

Currently, there isn't a template to start from and so you can either start
with an already existing app or you can start from scratch.

1. Create a folder in in the `apps` folder with the name of the container
image.
2. Add the following files to the container image folder.

### Folder structure

```shell
apps/app name/
     ├── Dockerfile
     ├── entrypoint.sh
     ├── goss.yaml
     ├── latest-version.sh
     ├── PLATFORM
     ├── shim
     │   └── shim-script.sh
     └── VERSION
```

### Dockerfile

See [Dockerfile](./dockerfile.md).

### PLATFORM

The `PLATFORM` file is used by the
[Apps - Build, Test, Push github action][apps.yaml] to build
[multi-platform] container images.

At a minimum, the following platforms should be supported by the container
image:

- `amd64`
- `arm64`

```shell
linux/amd64,linux/arm64
```

### VERSION

The `VERSION` file is used by the
[Apps - Build, Test, Push github action][apps.yaml] to determine the version
of the app with which to build the container image.

The VERSION file may be updated manually by running the
[latest-version.sh](#latest-version.sh) script.

```shell
./latest-version.sh > VERSION
```

### entrypoint.sh

The `entrypoint.sh` file is a standard [Docker entrypoint file][entrypoint.sh].
This file will most likely be custom for each app. It is recommended to take a
look at other container images or other versions of the Docker image for the
app. A good source might be searching [Docker Hub](https://hub.docker.com/).

The only difference is the sourcing of the [base image shim scripts]
which are added to the base image.

```bash
#shellcheck disable=SC1091
source "/shim/umask.sh"
source "/shim/vpn.sh"
```

If the app has custom [shim scripts](#shim-scripts), be sure to source those
as well.

```shell
source "/shim/<app name>-preferences.sh"
```

Ensure to append the `${EXTRA_ARGS}` environmental variable to the end of the
`exec` command so that extra args can be passed to the container by the helm
chart.

```shell
exec /app/foo ${EXTRA_ARGS}
```

### goss.yaml

The `goss.yaml` file is used by the
[Apps - Build, Test, Push github action][apps.yaml] to perform a health
check on the container image using [goss](https://github.com/aelsabbahy/goss).

Be sure to update the process name, port number(s) and `title`.

See the [manual] for more options.

```yaml
---
process:
  Lidarr:
    running: true

port:
  tcp6:8686:
    listening: true

http:
  http://localhost:8686:
    status: 200
    body:
    - '<title>Lidarr</title>'
```

### latest-version.sh

The `latest-version.sh` script is used by the
[Apps - Get latest versions github action][apps-schedule.yaml] to get the
latest version of the app. This script is custom for each app and so it will
need to be developed for each app. Below is an example of one.

```bash
#!/usr/bin/env bash

# Get the version using jq from the json response.
version=$(curl -sX GET "https://lidarr.servarr.com/v1/update/nightly/changes?os=linux" | jq --raw-output '.[0].version')
# Strip the v from the beginning of version if it exists.
version="${version#*v}"
# Remove release and dash from the beginning of version if it exists.
version="${version#*release-}"
# Print the verion without a new line (\n) character.
printf "%s" "${version}"
```

### shim scripts

Custom startup scripts should be added to the `shim` folder that needs to be
run before the app is started.

Create a `shim` folder in the app name folder then add the shim scripts to the
`shim` folder.

Then add following line to the [Dockerfile](./dockerfile.md#shim-scripts) to
copy the scripts over to the image.

Then be sure to add a `source` line to the [entrypoint.sh script](#entrypointsh).

See [plex] for reference.

[base image shim scripts]: ./base-images.md#shim-scripts
[goss]: https://github.com/aelsabbahy/goss
[dgoss]: https://github.com/aelsabbahy/goss/tree/master/extras/dgoss
[apps-schedule.yaml]: https://github.com/k8s-at-home/container-images/actions/workflows/apps-schedule.yaml
[apps.yaml]: https://github.com/k8s-at-home/container-images/actions/workflows/apps.yaml
[manual]: https://github.com/aelsabbahy/goss/blob/master/docs/manual.md
[multi-platform]: https://docs.docker.com/buildx/working-with-buildx/#build-multi-platform-images
[entrypoint.sh]: https://docs.docker.com/engine/reference/builder/#entrypoint
[dockerfile]: https://docs.docker.com/engine/reference/builder/
[from]: https://docs.docker.com/engine/reference/builder/#from
[plex]: https://github.com/k8s-at-home/container-images/tree/main/apps/plex

repository: yurifrl/docs

repo_name: yurifrl/docs