text:
---
layout: default
---

# 1994-07-21 - Re: Clipper Chip Retreat

## Header Data

From<EMAIL_ADDRESS>(Mike McNally)

To: Carl Ellison<EMAIL_ADDRESS>Message Hash: 33e87b092437abc3a3c23ad56fb2cc3de776c4645fbf5cd53a455d29f1366ea8

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1994-07-21 21:38:25 UTC

Raw Date: Thu, 21 Jul 94 14:38:25 PDT

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>(Mike McNally)
Date: Thu, 21 Jul 94 14:38:25 PDT
To: Carl Ellison<EMAIL_ADDRESS>Subject: Re: Clipper Chip Retreat
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Carl Ellison writes:
 > Sorry, but the major Clipper flaw to me (and at least one corporate
 > executive with whom I've discussed this) *is* the very idea of key
 > escrow.

Agreed; however, I don't see what good (from the standpoint of the key
escrow fan club) a non-classified Skipjack would be, other than to
make the banning of non-escrowed cryptography "ineluctable".

| GOOD TIME FOR MOVIE - GOING ||| Mike McNally<EMAIL_ADDRESS>     |
| TAKE TWA TO CAIRO.          ||| Tivoli Systems, Austin, TX:        |
|     (actual fortune cookie) ||| "Like A Little Bit of Semi-Heaven" |

{% endraw %}
```

## Thread

+ Return to [July 1994](/archive/1994/07)

+ Return to "[Carl Ellison <cme@tis.com>](/authors/carl_ellison_cme_at_tis_com_)"
+ Return to "[Jonathan Rochkind <jrochkin@cs.oberlin.edu>](/authors/jonathan_rochkind_jrochkin_at_cs_oberlin_edu_)"
+ Return to<EMAIL_ADDRESS>(Mike McNally)](/authors/m5_at_vail_tivoli_com_mike_mcnally_)"

+ 1994-07-21 (Thu, 21 Jul 94 11:54:45 PDT) - [Clipper Chip Retreat](/archive/1994/07/8e9dd5cb0a4f18337ef0af6c3e47c6f34146084543682392be24967ce1da6f9c) - _Jonathan Rochkind<EMAIL_ADDRESS>  + 1994-07-21 (Thu, 21 Jul 94 14:21:37 PDT) - [Re: Clipper Chip Retreat](/archive/1994/07/dfea761d9c0c2b3e7abe9a9ed3d276a1dcc2aead60d3c3c5d0d849ce45a309a2) - _Carl Ellison<EMAIL_ADDRESS>  + 1994-07-21 (Thu, 21 Jul 94 14:38:25 PDT) - Re: Clipper Chip Retreat -<EMAIL_ADDRESS>(Mike McNally)_
    + 1994-07-21 (Thu, 21 Jul 94 15:03:46 PDT) - [Re: Clipper Chip Retreat](/archive/1994/07/8cb41283a17fc2afb672f08493a56a01de12c6857d085d6d38c147dda947e068) - _Carl Ellison<EMAIL_ADDRESS>


text:
### When contributing to this repository, kindly follow the instructions mentioned below and make the required changes:

1. Fork this repo: [Click Here](https://github.com/dscuietkuk/DSA/fork)
2. In your forked repo navigate to  the DSA Marathon folder .
3. Then, navigate to the appropriate day. For example :- Day 1
4. Read the question from the Question.md file and write some code & run it against the test cases.
5. Upload/Add your file in the Solution folder of that Day with your username.extension. For eg:- `vermagaurav8.cpp` or `vermagaurav8.py` or `vermagaurav8.java`.
6. Create a Pull Request and then you're all done!

##### PS: "Plagiarism will lead to Disqualification".

license: MIT

repository: dscuietkuk/DSA

path: /DSA Marathon/CONTRIBUTING.md

branch_name: refs/heads/master

extension: md

gha_license_id: MIT

license_type: permissive

repo_name: dscuietkuk/DSA


text:
# PivotPy
> A Python Processing Tool for Vasp Input/Output. A CLI is available in Powershell, see Vasp2Visual.

[![Run in Azure](https://notebooks.azure.com/launch.png)](https://testazurenotebooks-massaz.notebooks.azure.com/j/notebooks/test.ipynb)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/massgh/pivotpy/blob/master/test.ipynb)

> [ `▶` Index● ](https://massgh.github.io/pivotpy/)
> [ `▶` XmlElementTree ](https://massgh.github.io/pivotpy/XmlElementTree)
> [ `▶` StaticPlots ](https://massgh.github.io/pivotpy/StaticPlots)
> [ `▶` InteractivePlots ](https://massgh.github.io/pivotpy/InteractivePlots)
> [ `▶` Utilities ](https://massgh.github.io/pivotpy/Utilities)
> [ `▶` StructureIO ](https://massgh.github.io/pivotpy/StructureIO)
> [ `▶` Widgets ](https://massgh.github.io/pivotpy/Widgets)

## Install
`pip install pivotpy`

## How to use
- [Read Function References](https://github.com/massgh/pivotpy/tree/master/functions.md)
- See [Full Documentation](https://massgh.github.io/pivotpy/).
- For CLI, use [Vasp2Visual](https://github.com/massgh/Vasp2Visual).

## Changelog for version 0.9.5 onward
- `pivotpy.s_plots.quick_rgb_lines` and `pivotpy.s_plots.quick_rgb_lines` are refactored and no more depnd on `create_rgb_lines`, so this function is dropped, If you still want to use it, use versions below 0.9.5.
- A class `pivotpy.g_utils.Vasprun` is added which provides shortcut for `export_vasprun` and plotting functions. Under this class:
    - `quick_bplot`       --> `sbands`
    - `quick_rgb_lines`   --> `srgb`
    - `plotly_rgb_lines`  --> `irgb`
    - `quick_color_lines` --> `scolor`
    - `quick_dos_lines`   --> `sdos`
    - `plotly_dos_lines`  --> `idos`
- A class `pivotpy.g_utils.LOCPOT_CHG` is added which can be used to parse and visualize files like LOCPOT and CHG.
- A function `pivotpy.vr_parser.split_vasprun` is added which splits `vasprun.xml` file into a small file `_vasprun.xml` without projected data and creates text files `_set[1,2,3,4].txt` based on how many spin sets are there.
- A function `pivotpy.vr_parser.islice2array` is added which can reads data from text/csv/tsv files (even if text and numbers are mixed) accoridng to slices you provide, this does not load full file in memory and it is also useful in parsing EIGENVAL, PROCAR like files with a few lines of code only.
- Version 1.0.0 is updated with an overhaul of widgets module. `VasprunApp` is introduced as class to access internals of app easily.

## New: Plot in Terminal without GUI
Use `pp.plt2text(colorful=True/False)` after matplotlib's code and your figure will appear in terminal. You need to zoom out alot to get a good view like below.

Tip: Use file [matplotlib2terminal.py](https://gist.github.com/massgh/d5cc44ad32510d3ff58cfefd75c6884e) on github independent of this package to plot in terminal.
![IMG](terminal.jpg)

# New: Ipywidgets-based GUI
See GIF here:
![GIF](widget.gif)

- The code at end is used below to rebuild dataframe which can be use in many ways such as generating latex table. The matplotlib code is used to generate publication quality figure.

```
from IPython.display import Markdown
import pivotpy as pp
paths = ['e:/Research/graphene_example/ISPIN_1/bands/DOS/vasprun.xml',
         'e:/Research/graphene_example/ISPIN_1/bands/vasprun.xml',
         'e:/Research/graphene_example/ISPIN_1/dos/vasprun.xml',
         'e:/Research/graphene_example/ISPIN_2/bands/vasprun.xml',
         'e:/Research/graphene_example/ISPIN_2/dos/sigm0_01/vasprun.xml',
         'e:/Research/graphene_example/ISPIN_2/dos/vasprun.xml',
         'e:/Research/graphene_example/vasprun.xml']
df = pp.generate_summary(paths_list=paths)
print(df.caption)
Markdown(df.data.to_markdown())
```

    Root Path: e:/Research/graphene_example/

|    | sys   |       V |       a |       b |       c |      VBM |      CBM |   so_max |   so_min |    E_gap | rel_path             |
|---:|:------|--------:|--------:|--------:|--------:|---------:|---------:|---------:|---------:|---------:|:---------------------|
|  0 | C2    | 105.493 | 2.46803 | 2.46803 | 19.9983 |  -2.6818 |  -2.6818 |      nan |      nan |   0      | ISPIN_1/bands/DOS    |
|  1 | C2    | 105.493 | 2.46803 | 2.46803 | 19.9983 |  -2.7733 |  -2.7733 |      nan |      nan |   0      | ISPIN_1/bands        |
|  2 | C2    | 105.493 | 2.46803 | 2.46803 | 19.9983 | -12.7211 |  -5.2581 |      nan |      nan |   7.463  | ISPIN_1/dos          |
|  3 | C2    | 105.493 | 2.46803 | 2.46803 | 19.9983 |  -3.5339 |  -1.9647 |      nan |      nan |   1.5692 | ISPIN_2/bands        |
|  4 | C2    | 105.493 | 2.46803 | 2.46803 | 19.9983 | nan      | nan      |      nan |      nan | nan      | ISPIN_2/dos/sigm0_01 |
|  5 | C2    | 105.493 | 2.46803 | 2.46803 | 19.9983 |  -3.0398 |  -2.6296 |      nan |      nan |   0.4102 | ISPIN_2/dos          |
|  6 | C2    | 105.493 | 2.46803 | 2.46803 | 19.9983 |  -1.2155 |  -1.9644 |      nan |      nan |  -0.7489 | nan                  |

```
print(df.data[:2].to_latex())
```

    \begin{tabular}{llrrrrrrrrrl}
    \toprule
    {} & sys &          V &        a &        b &         c &     VBM &     CBM &  so\_max &  so\_min &  E\_gap &           rel\_path \\
    \midrule
    0 &  C2 &  105.49325 &  2.46803 &  2.46803 &  19.99829 & -2.6818 & -2.6818 &     NaN &     NaN &    0.0 &  ISPIN\_1/bands/DOS \\
    1 &  C2 &  105.49325 &  2.46803 &  2.46803 &  19.99829 & -2.7733 & -2.7733 &     NaN &     NaN &    0.0 &      ISPIN\_1/bands \\
    \bottomrule
    \end{tabular}

```
ax = pp.init_figure(figsize=(3,1.5))
_ = df.data.sort_values('VBM').plot(ax=ax,x = 'VBM',y=['CBM','E_gap'])
```

![svg](docs/images/output_9_0.svg)

```
import os
os.chdir('E:/Research/graphene_example/ISPIN_1/bands')
xml_data=pp.read_asxml()
vr=pp.export_vasprun(elim=[-5,5])
vr
```

    Loading from PowerShell Exported Data...

    Data(
        sys_info = Data(
            SYSTEM = C2
            NION = 2
            NELECT = 8
            TypeION = 1
            ElemName = ['C']
            E_Fermi = -3.3501
            fields = ['s', 'py', 'pz', 'px', 'dxy', 'dyz', 'dz2', 'dxz', 'x2-y2']
            incar = Data(
                SYSTEM = C2
                PREC = high
                ALGO = N
                LSORBIT = T
                NELMIN = 7
                ISMEAR = 0
                SIGMA = 0.10000000
                LORBIT = 11
                GGA = PS
            )
            ElemIndex = [0, 2]
            ISPIN = 1
        )
        dim_info = Data(
            kpoints = (NKPTS,3)
            kpath = (NKPTS,1)
            bands = ⇅(NKPTS,NBANDS)
            dos = ⇅(grid_size,3)
            pro_dos = ⇅(NION,grid_size,en+pro_fields)
            pro_bands = ⇅(NION,NKPTS,NBANDS,pro_fields)
        )
        kpoints = <ndarray:shape=(90, 3)>
        kpath = <list:len=90>
        bands = Data(
            E_Fermi = -3.3501
            ISPIN = 1
            NBANDS = 21
            evals = <ndarray:shape=(90, 21)>
            indices = range(1, 22)
        )
        tdos = Data(
            E_Fermi = -3.3501
            ISPIN = 1
            tdos = <ndarray:shape=(301, 3)>
        )
        pro_bands = Data(
            labels = ['s', 'py', 'pz', 'px', 'dxy', 'dyz', 'dz2', 'dxz', 'x2-y2']
            pros = <ndarray:shape=(2, 90, 21, 9)>
        )
        pro_dos = Data(
            labels = ['s', 'py', 'pz', 'px', 'dxy', 'dyz', 'dz2', 'dxz', 'x2-y2']
            pros = <ndarray:shape=(2, 301, 10)>
        )
        poscar = Data(
            SYSTEM = C2
            volume =<PHONE_NUMBER>8
            basis = <ndarray:shape=(3, 3)>
            rec_basis = <ndarray:shape=(3, 3)>
            positions = <ndarray:shape=(2, 3)>
            labels = ['C 1', 'C 2']
            unique = Data(
                C = range(0, 2)
            )
        )
    )

## Matplotlib's static plots
Add anything from legend,colorbar, colorwheel. In below figure, all three are shown.

```
#collapse_input
import pivotpy as pp, numpy as np
import matplotlib.pyplot as plt
vr1=pp.export_vasprun('E:/Research/graphene_example/ISPIN_2/bands/vasprun.xml')
vr2=pp.export_vasprun('E:/Research/graphene_example/ISPIN_2/dos/vasprun.xml')
axs=pp.init_figure(ncols=3,widths=[2,1,2.2],sharey=True,wspace=0.05,figsize=(8,2.6))
elements=[0,[0],[0,1]]
orbs=[[0],[1],[2,3]]
labels=['s','$p_z$','$(p_x+p_y)$']
ti_cks=dict(ktick_inds=[0,30,60,-1],ktick_vals=['Γ','M','K','Γ'])
args_dict=dict(elements=elements,orbs=orbs,labels=labels,elim=[-20,15])
pp.quick_bplot(path_evr=vr1,ax=axs[0],**ti_cks,elim=[-20,15])
pp.quick_rgb_lines(path_evr=vr1,ax=axs[2],**args_dict,**ti_cks,colorbar=True,)
pp.quick_dos_lines(path_evr=vr2,ax=axs[1],vertical=True,spin='both',include_dos='pdos',**args_dict,legend_kwargs={'ncol': 3},colormap='RGB_m')
pp.color_wheel(axs[2],xy=(0.7,1.15),scale=0.2,labels=[l+'$^{⇅}$' for l in labels])
pp._show()
```

    Loading from PowerShell Exported Data...
     elements[0] = 0 is converted to range(0, 2) which picks all ions of 'C'.To just pick one ion at this index, wrap it in brackets [].
    e:\Research\pivotpy\pivotpy\s_plots.py:432: MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3.  Either specify the corners of the quadrilaterals with X and Y, or pass shading='auto', 'nearest' or 'gouraud', or set rcParams['pcolor.shading'].  This will become an error two minor releases later.
      cax.pcolormesh(t,r,tg.T,norm=norm,cmap=colormap,edgecolor='face')

![svg](docs/images/output_12_1.svg)

## Interactive plots using plotly

```
args_dict['labels'] = ['s','p_z','p_x+p_y']
fig1 = pp.plotly_rgb_lines(vr1,**args_dict)
#pp.plotly2html(fig1) #Do inside Google Colab, fig1 inside Jupyter
from IPython.display import Markdown
Markdown("[See Interactive Plot](https://massgh.github.io/InteractiveHTMLs/iGraphene.html)")
```

[See Interactive Plot](https://massgh.github.io/InteractiveHTMLs/iGraphene.html)

## Brillouin Zone (BZ) Processing
- Look in `pivotpy.sio` module for details on generating mesh and path of KPOINTS as well as using Materials Projects' API to get POSCAR right in the working folder with command `get_poscar`. Below is a screenshot of interactive BZ plot. You can `double click` on blue points and hit `Ctrl + C` to copy the high symmetry points relative to reciprocal lattice basis vectors. (You will be able to draw kpath in `Pivotpy-Dash` application and generate KPOINTS automatically from a web interface later on!).
- Same color points lie on a sphere, with radius decreasing as red to blue and  gamma point in gold color. These color help distinguishing points but the points not always be equivalent, for example in FCC, there are two points on mid of edges connecting square-hexagon and hexagon-hexagon at equal distance from center but not the same points.
- Any colored point's hover text is in gold background.
#### Look the output of `pivotpy.sio.splot_bz`.
![BZ](docs\images\3bz.jpg)

```
import pivotpy as pp
pp.splot_bz([[1,0,0],[0,1,0],[0,0,1]],color=(1,1,1,0.2),light_from=(0.5,0,2),colormap='RGB').set_axis_off()
#pp.plotly2html(fig2) #Do inside Google Colab, fig1 inside Jupyter
from IPython.display import Markdown
Markdown("[See Interactive BZ Plot](https://massgh.github.io/InteractiveHTMLs/BZ.html)")
```

[See Interactive BZ Plot](https://massgh.github.io/InteractiveHTMLs/BZ.html)

![svg](docs/images/output_16_1.svg)

## Plotting Two Calculations Side by Side
- Here we will use `shift_kpath` to demonstrate plot of two calculations on same axes side by side

```
#nbdev_collapse_input
import matplotlib.pyplot as plt
import pivotpy as pp
plt.style.use('bmh')
vr1=pp.export_vasprun('E:/Research/graphene_example/ISPIN_1/bands/vasprun.xml')
shift_kpath=vr1.kpath[-1] # Add last point from first export in second one.
vr2=pp.export_vasprun('E:/Research/graphene_example/ISPIN_2/bands/vasprun.xml',shift_kpath=shift_kpath)
last_k=vr2.kpath[-1]
axs=pp.init_figure(figsize=(5,2.6))
K_all=[*vr1.kpath,*vr2.kpath] # Merge kpath for ticks
kticks=[K_all[i] for i in [0,30,60,90,120,150,-1]]
ti_cks=dict(xticks=kticks,xt_labels=['Γ','M','K','Γ','M','K','Γ'])
pp.quick_bplot(path_evr=vr1,ax=axs)
pp.quick_bplot(path_evr=vr2,ax=axs,txt='Graphene(Left: ISPIN=1, Right: ISPIN=2)',ctxt='m')
pp.modify_axes(ax=axs,xlim=[0,last_k],ylim=[-10,10],**ti_cks)
```

    Loading from PowerShell Exported Data...
    Loading from PowerShell Exported Data...

![svg](docs/images/output_18_1.svg)

## Interpolation

```
#collapse_input
import pivotpy as pp
plt.style.use('ggplot')
k=vr1.kpath
ef=vr1.bands.E_Fermi
evals=vr1.bands.evals-ef
#Let's interpolate our graph to see effect. It is useful for colored graphs.
knew,enew=pp.interpolate_data(x=k,y=evals,n=10,k=3)
plot=plt.plot(k,evals,'m',lw=5,label='real data')
plot=plt.plot(k,evals,'w',lw=1,label='interpolated',ls='dashed')
pp.add_text(ax=plt.gca(),txts='Graphene')
```

![svg](docs/images/output_20_0.svg)

## LOCPOT,CHG Visualization
check out the class `pivotpy.LOCPOT_CHG` to visulize local potential/charge and magnetization in a given direction.

## Running powershell commands from python.
Some tasks are very tideious in python while just a click way in powershell. See below, and try to list processes in python yourself to see the difference!

```
pp.ps2std(ps_command='(Get-Process)[0..4]')
```

    NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
    ------    -----      -----     ------      --  -- -----------
    51    38.76      16.95     963.22   15900   1 AltC
    49    43.30      34.04      25.56   13416   1 ApplicationFrameHost
    8     1.57       2.45       0.00    5356   0 armsvc
    21   152.91      21.96   7,527.22    7996   0 audiodg
    27     6.51       3.02       0.39   22828   1 backgroundTaskHost

## Advancaed: Poweshell Cell/Line Magic `%%ps/%ps`
- You can create a IPython cell magic to run powershell commands directly in IPython Shell/Notebook (Powershell core installation required).
- Cell magic can be assigned to a variable `foo` by `%%ps --out foo`
- Line magic can be assigned to a variable by `foo = %ps powershell_command`

Put below code in ipython profile's startup file (create one) "~/.ipython/profile_default/startup/powershell_magic.py"
```python
from IPython.core.magic import register_line_cell_magic
from IPython import get_ipython
@register_line_cell_magic
def ps(line, cell=None):
    if cell:
        return get_ipython().run_cell_magic('powershell',line,cell)
    else:
        get_ipython().run_cell_magic('powershell','--out posh_output',line)
        return posh_output.splitlines()
```
Additionally you need to add following lines in "~/.ipython/profile_default/ipython_config.py" file to make above magic work.
```python
from traitlets.config.application import get_config
c = get_config()
c.ScriptMagics.script_magics = ['powershell']
c.ScriptMagics.script_paths = {
    'powershell' : 'powershell.exe -noprofile -command -',
    'pwsh': 'pwsh.exe -noprofile -command -'
}
```

```
%%ps
Get-ChildItem 'E:\Research\graphene_example\'
```

        Directory: E:\Research\graphene_example

    Mode                 LastWriteTime         Length Name
    ----                 -------------         ------ ----
    da----        10/31/2020   1:30 PM                ISPIN_1
    da----          5/9/2020   1:05 PM                ISPIN_2
    -a----          5/9/2020   1:01 PM          75331 OUTCAR
    -a----         3/13/2021   4:14 PM            193 result.json
    -a----        11/22/2020   6:08 PM            693 sys_info.pickle
    -a----        11/22/2020   6:08 PM          91850 vasprun.pickle
    -a----          5/9/2020   1:01 PM         240755 vasprun.xml

```
x = %ps (Get-ChildItem 'E:\Research\graphene_example\').FullName
x
```

    ['E:\\Research\\graphene_example\\ISPIN_1',
     'E:\\Research\\graphene_example\\ISPIN_2',
     'E:\\Research\\graphene_example\\OUTCAR',
     'E:\\Research\\graphene_example\\result.json',
     'E:\\Research\\graphene_example\\sys_info.pickle',
     'E:\\Research\\graphene_example\\vasprun.pickle',
     'E:\\Research\\graphene_example\\vasprun.xml']

[Functions Reference](functions.md)


text:
---
layout: performance
title: Rspamd performance
---

## Mail filtering nowadays

Rspamd has been started to handle mail flows that has grown over the last decade by more than ten times. From the very beginning of the project, Rspamd was oriented on highly loaded mail systems with development focus on performance and scan speed. Rspamd is written in plain C language and it uses a number of techniques to run fast especially on the modern hardware. On the other hand, it is possible to run Rspamd even on an embedded device with a very constrained environment.

So far, Rspamd can filter hundreds of messages per second using a single 4 cores SandyBridge machine:

Rspamd can be treated as a faster replacement for [SpamAssassin](https://spamassassin.apache.org) mail filter with the ability to scan **ten times** more messages using the **same** rules (by means of [SpamAssassin plugin](/doc/modules/spamassassin.html)). In the next graph, you can see how switch to Rspamd from SA helped to reduce CPU load on scanner machines:

For faster email processing, Rspamd uses a set of global and local optimization techniques. You can learn more about these techniques from my FOSDEM-2016 [talk](https://www.youtube.com/watch?v=_fl9i-az_Q0) ([slides](http://www.slideshare.net/VsevolodStakhov/rspamdfosdem-57772063)).

## Global optimizations

Global optimizations are used to speed up the overall messages processing improving all filters performance and arranging checks in an optimal order.

* **Events driven architecture** allows Rspamd to execute network and other slow request simultaneously in the background, allowing to process other messages while waiting for replies:

* **Rules reordering** is used to reduce messages processing time. Rspamd prefers to check for rules with higher weight, lower execution time and higher hit rate first. Moreover, Rspamd stops processing when a message reaches spam threshold as further checks are likely meaningless.

## Local optimizations

Rspamd uses various methods to speed up each individual message processing stage. This is achieved by applying local optimizations techniques:

* **AST optimizations** are used to exclude unnecessary checks from rules. You can watch the following [slides](http://www.slideshare.net/VsevolodStakhov/astrspamd) to get more details about this method.

* Unlike SA, Rspamd uses **specific state machines** to parse email components: mime structure, HTML parts, URLs, images, received headers and so on and so forth. This approach allows to skip unnecessary details and extract information from emails quicker than by using a large set of regular expressions for these purposes.

* **[Hyperscan](https://github.com/01org/hyperscan) engine** is used in Rspamd to quickly process large regular expressions set. Unlike traditional regexps engines, Hyperscan allows to process multiple expressions at the same time. There are many details about hyperscan that are covered in the following [slides](http://www.slideshare.net/VsevolodStakhov/rspamdhyperscan).

* **Assembly snippets** allow to optimize specific algorithms for targeted architectures. Rspamd uses assembly for some frequently used cryptography and hashing algorithms selecting the proper version of code in runtime, relying on CPU instructions set support tests.

gha_language: HTML


text:
## cernops-voms puppet module

This module manages VOMS resources for VOMS clients, VOMS core and VOMS Admin.

VOMS is the Virtual Organization Membership Service, in use by gLite, EMI, and
other grid computing projects.

## Examples
### Client Examples
Create files for the voms-proxy-init and voms-proxy-validate.

     voms::client{'MyVO':
        vo       => 'MyVO',
        servers  => [{server => 'voms.cern.ch',
                      port   => '15009',
                      dn     => '/DC=ch/DC=cern/OU=computers/CN=voms.cern.ch',
                      ca_dn  => '/DC=ch/DC=cern/CN=CERN Trusted Certification Authority'
                     },
                     {server => 'lcg-voms.cern.ch',
                      port   => '15009',
                       dn    => '/DC=ch/DC=cern/OU=computers/CN=lcg-voms.cern.ch',
                       ca_dn => '/DC=ch/DC=cern/CN=CERN Trusted Certification Authority'
                     }]

 The above declaration will create the files:

     /etc/vomses/MyVO/voms.cern.ch
 and

     /etc/grid-security/vomsdir/MyVO/voms.cern.ch.lsc

 For some VOs, you can probably find a predefined class to enable a
 VO easily which does all the required setup without any
 additional configuration e.g:

     class{'voms::atlas':}
     class{'voms::dteam':}

Additions of new VOs will be accepted, please submit pull requests
however zero validation of parameters will be made.

### A VOMS Core Example
VOMS core is the main voms service and responds to voms-proxy-init requests.
To configure a VOMS core services for two VOs.

     # Configure defaults.
     Voms::Core{
         issuer => 'voms.example.org',
         sqlpwd => 12345,
         sqlhost => 'mysql.example.org'
     }
     # Configure VOs.
     voms::core{'special.vo': port => 10000}
     voms::core{'very.special.vo': port => 10001}

For full list of available parameters see voms::core definition.

### A VOMS Admin Example
VOMS admin is the tomcat hosted webservice for managing  a Virtual Organisation.
To configure a few  VOMS admin for a number of VOs.

     # Configure defaults.
     Voms::Admin{
        sqlpwd => 12345,
        sqlhost => 'mysql.example.org'
     }
     voms::admin{'special.vo':
        port => 10000,
        mailfrom =><EMAIL_ADDRESS>     }
     voms::admin{'very.special.vo':
        port     => 10001,
        mailfrom =><EMAIL_ADDRESS>        config_hash => {'voms.cafiles.period' => 2000,
                      'voms.notification.smtp-server' => '<IP_ADDRESS>'
                     }
     }

For full list of available paramters see voms::admin definition.

The voms::admin definition will not update or load database schemas
however scripts are generated within /etc/voms-admin-puppet to
allow this to be done. e.g:

    /etc/voms-admin-puppet/voms-admin-create-very.special.vo.sh

will create a schema for the 'very.special.vo'

## Database Configuration
VOMS admin and voms core require a database per VO. At this time this
puppet module only supports mysql. A mysql server can be
configured using puppetlabs-mysql module.
The Mysql users and access grants are exported as puppet resources from the
above voms::admin and voms::core declarations. Assuming default database
names of <voname>_db for each VO the following manifest will install
and configure mysql with all grant tables suitable for VOMS and VOMS-Admin
services to connect to.

     class{'mysql::server': }
     class{'voms::mysql':
           vo_dbs => ['special.vo_db','very.special.vo_db']
     }

This assumes your puppet service is configured to support
export resources.

### Todo
Configure tomcat and trustmanager outside this VOMS
module so other services can use it.

Use the existing EMI yum repo puppet module rather than manage myself.

Add some validation of items that are passed to voms admin with config hash,
currently they will be blindly added to the voms.service.properties files.

## Authors
 CERN IT/GT/DMS<EMAIL_ADDRESS>Ricardo Rocha
 CERN IT/PS/PES<EMAIL_ADDRESS>Steve Traylen
 Bugs, Comments, Pull requests - https://github.com/cernops/puppet-voms

repository: cernops/puppet-voms

gha_language: Puppet

gha_license_id: NOASSERTION

repo_name: cernops/puppet-voms


text:
# Homework-maker
Python project that uses Wikipedia-based researches to build 5th grade level homeworks.
It can generate pretty nice homeworks, as you can see in the examples folder. (it's currently an example in portuguese)
In february 2020 Google changed how the images are retrieved and the library that downloads images for the homeworks broke. The program still works pretty nice, just can't download the images. Sorry fot this.
I will fix it soon.

To test run the "homework.py" as the entry point. It will ask for some "algorithmia key" go on http://algorithmia.com and create an account to get your key.

The program will ask for some info about the student, (all optional just the language and the theme are mandatory).
It currently works in portuguese and english and need a lot of improvements.

repository: victormagalhaess/Homework-maker

gha_language: Python

repo_name: victormagalhaess/Homework-maker


text:
---
layout: post
title: SasView Code Camp IV
tags: [codecamp]
---

[SasView Code Camp IV](https://github.com/SasView/sasview/wiki/CodeCampIV) was held at the RID at TU Delft, Netherlands, March 15-22, 2016.


text:
---
layout: post
title: "#oldstuff - 2. Design patterns. part #2"
date: 2011-02-21
tag: [ ppt ]
comments: false
permalink: 2011/02/oldstuff-2-design-patterns-part-2.html
---

Check out SlideShare Presentation:

  2. Design patterns. part #2  from Leonid Maslov

This presentation was part of the mini-seminars periodical sessions I've prepared and led in my spare time while being employed at Exigen Services. Kudos, guys!

Since these presentations were spare time hobby - I've decided to share them :)

gha_language: CSS


text:
NTP
=========

Installs, configures, and starts NTP service

Requirements
------------

yum

Role Variables
--------------

There are no role variables as currently written.

Dependencies
------------

Ansible 2.8 - yum lock_timeout

Example Playbook
----------------

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:

    - hosts: vpn-server
      roles:
         - ntp

License
-------

BSD

Author Information
------------------

Becki True
<EMAIL_ADDRESS>

repository: beckitrue/VPN-Pritunl

repo_name: beckitrue/VPN-Pritunl


text:
<img width="25%" height="25%" src="https://cdn0.iconfinder.com/data/icons/social-messaging-ui-color-shapes/128/chat-circle-blue-512.png"/>

# comment-page
This is just a simple page where people can comment and read other's comments.

## Preparations

Add your root's password in the _db.inc.php_ file.

Insert following code in your MySQL Workbench or PHPmyAdmin:

**CREATE DATABASE** ``webapp``;

**CREATE TABLE** ``webapp``.``comments`` (

  id INT AUTO_INCREMENT PRIMARY KEY,

  comment VARCHAR(240)

);

### License

This project is MIT licensed.

Copyright © 2018 Lukas Müller

### References

[XAMPP / LAMPP](https://www.apachefriends.org/de/index.html)

[MySQL](https://www.mysql.com)

[Spectre.css](https://picturepan2.github.io/spectre/)


text:
---
layout: post
title: Mastering regular expressions, 3rd Edition. *Jeffrey E.F. Friedl.* O'Reily. | Regex Notes
---

Regex = Metacharacters + literal characters.

### **Metacharacters**
---
#### **Egrep**
**Outside a character class:**
- ^: start of a line;
- $: end of a line;
- |: a). or; b). to seperate regex, i.e. func in alternation;
- .: any single char;
- \<: start of a word;
- \>: end of a word;
- (...): e.g. 'gr(e|a)y'
- ?: 0 or 1 time match, e.g. 'u?' matches u or not;
- *: >= 0 times match, e.g. 'mis*pell', the * affect only "s", not "mis", i.e. * affect the char next to it, same with ?, +;
- +: >= 1 times match;
- {min, max}: min-max times match, e.g. ? corresponds to {0,1} match;
- \1, \2, ..., \n: backreference, see below;

**Note:** If not specified above, other char are normal char outside a char class, e.g. - represents -, while a range in a char class.

Examples:
- '^cat$' matches cat only;
- '^S' matches an empty line without any characters, including whitespace char;
- '^' doesn't make sense cause every line has start, i.e. every line should be matched, including empty line!

**Within a character class:**
- ^: match any char except the listed chars, here ^ must close to the first [ of the char class;
- -: a). a range, e.g. [0-9a-zA-Z]; b). "-" locates at the start point of a char class, i.e. [-xx], here "-" corresponds to normal char "-", rather than a meaning of range;
- ? or .: corresponds to normal char ? and .;
-
### **Character Classes "[ ]"**
---
#### **Egrep**
'gr[ea]y' matches grey or gray;

### **Alternation "( )"**
---
e.g. 'gr[ea]y' == 'gr(a|e)y' == grey or gray, but 'gr[a|e]y'doesn't work, as "|" here means only normal char as a and e!
**Note:** Pay attention to the diff between char class and alternation. Char classes only match single char of the target matching, while alternations can match any length of context, as alternations could be a whole regex to match long chars.

### **backreference "\1, \2...\n"**
---
To restore the result of matching in a variable (e.g. $1), e.g. use '\<([A-Za-z]+) +\1\>' to find duplicate words.

### **Escape "\"** To escape the origin meaning of metacharacters. However, "\" doesn't work in char classes, i.e. deem as normal char.

### **Perl**
---
---
- perl -w: Good habit! Report potential warrning msn while executing the script;
- printf: print formatted, e.g. printf "%.2f C is %.2f F. \n", $x, $y;
- =~: match;
- m//: m to match regex, // to contain the regex express;
- m//i: matching while case insensitive;
- \1, \2, ..., \n: For instance, $x =~ m/^([-+]?[0-9]+)(CF)$/, \1 to restore the content of first (), i.e. ([-+]?[0-9]+), while \2 to restore the content of second (), i.e. ([CF]), **()** is the marker to recognize and restore;
- (?:...): grouping, matching, but not catching, i.e. no restoring to \1, \2, ..., \n;


text:
# Dynamic Web Site with the basic compréhension with .Net core && Razors MVC

ASP .Net core is at version 2.1

You will find 2 different controller, in wich you will find the EvaluationController where information can be intered has updated.

Quick look of the Homme Page.
** version is in French.
![Home page view](https://github.com/AWhiteSheep/asp-mvc-validation/blob/master/Laboratoire1/docs/home.PNG)

repository: AWhiteSheep/asp-mvc-validation

repo_name: AWhiteSheep/asp-mvc-validation


text:
#Free Code Camp React/Redux Challenge Development#

###This is an in-browser test module for developing the React/Redux challenges for the Free Code Camp Curriculum Expansion.###

[See this project live here and try out the challenges now](http://hysterical-amusement.surge.sh/)

**We need help QA'ing these!** [See here to contribute](https://github.com/bonham000/fcc-react-tests-module/blob/master/CONTRIBUTING.md)

*View [`CHALLENGE_MAP.md`](https://github.com/bonham000/fcc-react-tests-module/blob/master/CHALLENGE_MAP.md) to see an overview of the challenge curriculum*

---

To run this project locally clone the repository, install the dependencies, make sure the `src/index.js` file is rendering
`App` and not `DevApp`, and run `npm start`. Now you can view all the finished challenges live in the browser.

We're conducting tests on React components using [Enzyme documentation](http://airbnb.io/enzyme/) which look like this:

```javascript
assert.strictEqual(shallowRender.type(), 'div', 'The component renders a div element');
```

**Note:** *For development, we are using a `src/DevApp.js` file that is being git-ignored which allows us to just load the challenge we are working on into the app. You can create this file from the example `src/DevAppExample.js`. Be sure `src/index.js` is rendering the `DevApp` now if it isn't already.*

***

This project was bootstrapped with [Create React App](https://github.com/facebookincubator/create-react-app).


text:
---
title: CAPTCHA and accessibility
categories: .Net, IT Related
tags: ASP.Net
date: 2006-10-10 12:08:20 +10:00
---

Over the last week, I have been reading and commenting about CAPTCHA's in [Sara Ford's][0] post about her [New Comment Policy][1]. Sara has some really interesting things to say regarding CAPTCHA and accessibility. I wonder if anyone has actually implemented an accessible CAPTCHA system.

[0]: http://blogs.msdn.com/saraford/
[1]: http://blogs.msdn.com/saraford/archive/2006/10/04/New-Comment-Policy.aspx

license: MIT,Unlicense

detected_licenses: MIT Unlicense

gha_language: SCSS


text:
Unity-snapshot-orchestration
This script creates a snapshot in a DellEMC Unity system for the path of a defined SMB share. The snapshot is presented as a new share for backup purpose.

Hugh kodos go to Erwan Quélin who created the PowerShell Module for Unity which is used by this script: https://github.com/equelin/Unity-Powershell

!Attention! The PowerShell module masters branch has a missing parameter which prevents it from running in the system context. So use the code from the dev branch for now.

Based on https://github.com/marcohorstmann/psscripts/tree/master/NASBackup by Marco Horstmann<EMAIL_ADDRESS>
This is version 1.3

Example
c:\scripts\latest\Invoke-UnityNASBackup.ps1 -Name unity01 -Share share01 -CredentialFile C:\Scripts\unity-credentials.xml

repository: VeeamHub/powershell

gha_language: PowerShell

repo_name: VeeamHub/powershell


text:
# Protein Classification Tool
## Description
A python-based Machine Learning tool to classify protein sequences into their respective functional groups.
This package is particularly suited for small to medium sized datasets with high sequence similarity.
It uses three external packages to generate 47 types of features for a given training set of protein sequences:

1. iFeature: *provide link*
2. Kebabs: *provide link*
3. POSSUM: *provide link*

After generating features, 47 different base models are trained using one of the three specified learning algorithms
(SVM, GBC, NN) to create 47 base classifiers. The classifiers are used to predict the labels of uncharacterized protein
sequences provided in the test set. Each classifier predicts a particular class for a given sequence. The predictions of
the base models are them combined by a hard voting based meta learner that outputs the final model predicted functional
group of the uncharacterized protein sequence.

 ## Installation
 To install the tool, please clone the repository using git.
 Example command: Enter "git clone <repo-link>" in your terminal.

 ## Setup
 The tool uses three different conda environments to manage the three external packages required for feature extraction.
 The base package environment file is present in the root directory of the package. The two other environment files are:

 1. external/kebabs/environment.yml
 2. external/possum/environment.yml

 Before using the tool, the user must follow the steps given below:

 0. change directory to the root directory of the package
 Command: cd <path to directory>/Protein-Classification-Tool/
 1. create a conda environment using the environment.yml file given in the root directory of this package.
 Command: conda create -f environment.yml
 2. create a conda environment using the environment.yml file given in the external/kebabs directory of this package.
 Command: conda create -f external/kebabs/environment.yml
 3. create a conda environment using the environment.yml file given in the root directory of this package.
 Command: conda create -f external/possum/environment.yml
 4.

repository: deeprob/Protein-Classification-Tool

branch_name: refs/heads/main

repo_name: deeprob/Protein-Classification-Tool


text:
# User Management

COMMAND | DESCRIPTION
---|---
`sudo adduser username` | Create a new user
`sudo userdel username` | Delete a user
`sudo usermod -aG groupname username` | Add a user to group
`sudo deluser username groupname` | Remove a user from a group

repository: sandertammesoo/dotfiles

gha_language: Shell

repo_name: sandertammesoo/dotfiles


text:
# Deep Neural Network Classifier
Deep Neural Network Classifier for the Win/Linux/OSX platform based on the GTK# Framework

**About Page**

![About Page](/Screenshots/about.png)

Deep Neural Network Classifier software uses a multilayer artificial neural network architecture. This architecture is comprised of an input layer, one or several hidden layers, and the output layer.

**Data Page**

![Data Page](/Screenshots/data.png)

Training and Test sets from a csv/text file can be loaded provided, you indicate the correct delimiter. Some network parameters are guessed automatically but can be modified. When loading training set data for classification, the last column in each line in the file is assumed to be the classification category. 0 is not counted as a classification category but in scenarios involving binary classification (0 or 1) it is handled automatically.

**Training Page**

![Training Page](/Screenshots/training.png)

On this page, you can set several parameters that affects the training process. By default, the network utilizes only a single hidden layer. To use a deep neural network, set the number of hidden layers to a higher value, e.g. > 3.

This is where the actual training process happens. Learning rate refers to the rate or speed at which the network 'learns' or reconfigures itself by changing the interconnection strenghts between the nodes in each layer. In each iteration of the training, the difference between the network's current output and the expected output is measured (Error/Cost function). Two cost functions are provided, the default (cross entropy), and the L2 error. Tolerance is related to the mimimum value of the Error to consider the network 'trained' enough to stop.

Epochs refers to the maximum number of iterations to run the training.

You can freely start/stop/continue the training process anytime. Training is performed during idle mode so you can freely move between pages.

You do not need a test set to train the neural network. However, if a test set was loaded, it will automatically proceed to the classification step once training is completed. Classification threshold is the minimum value a test data point needs to score in order to be classified into a category. The default classification threshold is 50 but it can be set to values 1-100. For stricter classification a threshold of 90 (or higher) is recommended.

Once training is completed, you can enter new data points in the 'Test set' box and click on the 'Classify' button to classify them. If you change the number of hidden nodes, learning rate, or tolerance, you must retrain the network.

You can use the included the powerful Fmincg optimizer (C.E. Rasmussen, 1999, 2000 & 2001) to speed up the training process and obtain better classification performance. This is available via a check box near the bottom right corner of the Training page. You can use the L2 error instead of the default one to compare against the Tolerance during training. However, at the moment it performs poorly when using the Fmincg optimizer.

**Network Page**

![Network Page](/Screenshots/network.png)

Finally, trained network parameters can be saved and loaded (in JSON format) for use in future classification tasks or to provide a better starting point for training. Use the hidden layer selector to switch between hidden layers.

**Plot Page**

![Plot Page](/Screenshots/plot.png)

On this page, you can visualize the trained network's output on data sets that have only two (2) features. You can plot the classification output or the output plus contour curves showing the classification boundaries.

# Platform

Deep Neural Network Classifier software has been tested on Linux, OSX (soon), and Windows platforms.

repository: daelsepara/DeepNeuralNetworkClassifier

gha_language: C#

repo_name: daelsepara/DeepNeuralNetworkClassifier


text:
---
title: Simple Bridge Usage
summary: How to use the NServiceBus messaging bridge to connect endpoints on different transports
reviewed: 2023-07-04
component: Bridge
related:
 - nservicebus/bridge
---

This sample shows how to bridge two different transports.

For this sample to work without installing any prerequisites, all endpoints use the [LearningTransport](/transports/learning/). To demonstrate that it can still bridge different transports, the LearningTransport on one side of the bridge is configured to store messages in a different location on disk.

## Projects

The sample starts by sending a message from one endpoint, LeftSender, to another, RightReceiver. RightReceiver then replies with an `OrderResponse` message. LeftSender handles this message and publishes an `OrderReceived` message which is handled by another endpoint, LeftReceiver, as well as RightReceiver.

Here is a diagram of the message flow:

```mermaid
graph LR
    A[LeftSender] --> C[[BRIDGE]]
    B[LeftReceiver] --> C
    C --> D[RightReceiver]
    subgraph Transport A
      A
      B
    end
    subgraph Transport B
      D
    end
```

The projects are named this way to indicate which side of the bridge they exist. LeftSender and LeftReceiver are on one side of the bridge and RightReceiver is on the other. Both sides use the LearningTransport but RightReceiver uses a separate file location, which the sample does to mimic a separate transport than the one used by LeftSender and LeftReceiver.

The transport on either side can be modified to any supported transport. This also requires updating the bridge configuration (described later) but does _not_ require any changes to endpoints on the other side of the bridge. For example, if RightReceiver is changed to use the [RabbitMQ transport](/transports/rabbitmq/), no changes are required to either LeftSender or LeftReceiver; only the bridge configuration needs to be updated to use the new transport for the corresponding endpoint.

Here is a description of each project.

### Bridge

The project that references `NServiceBus.MessagingBridge` and contains configuration to bridge the two transports.

### SharedMessages

The shared message contracts used by all endpoints. It also includes a helper class to find the storage location for the LearningTransport.

### LeftSender

* Launches the message flow by sending a `PlaceOrder` command message to `RightReceiver`.
* Receives and handles `OrderResponse` messages.
* Publish an `OrderReceived`  message.

### RightReceiver

* Receives and handles `PlaceOrder` commands and replies with an `OrderResponse` message.
* Receives and handles `OrderReceived` events.

### LeftReceiver

* Receives and handles `OrderReceived` events.

## Code walk-through

The sample uses the LearningTransport on both sides of the bridge. To simulate two different transports, the location on disk for the LearningTransport on the right side of the bridge is configured to use a different location on disk.

snippet: alternative-learning-transport

### Bridge configuration

Every endpoint that is available in the system must be configured in the bridge. This section shows different ways in which endpoints can be configured.

#### LeftSender

The `LeftSender` endpoint is an endpoint without subscriptions to any event and is the easiest to configure.

snippet: endpoint-adding-simple

#### LeftReceiver

The `LeftReceiver` endpoint is a subscriber to `LeftSender`, but it does not need to cross the bridge. That is, the bridge does not need to know about the `LeftReceiver` endpoint; no configuration is necessary.

#### RightReceiver

The `RightReceiver` endpoint is configured as a new endpoint and the event `Messages.Events.OrderPlaced` is registered on the publisher, `LeftReceiver`, using the fully-qualified name. This is how events are registered if a message assembly cannot be shared with the bridge.

snippet: endpoint-adding-register-publisher-by-string

If an event assembly can be referenced directly by the bridge, the events can be registered by type, as [described in documentation](/nservicebus/bridge/configuration.md#registering-publishers), to prevent typing mistakes. Registering by type is possible in this sample, as the `Shared` assembly has no references to any version of NServiceBus and message types are registered using [conventions](/nservicebus/messaging/conventions.md). For demo purposes the name was added as a string.

#### Add endpoints to bridge configuration

The last step is to register all the configured transports with the bridge itself

snippet: add-transports-to-bridge

## Migrating an endpoint

As an exercise, it is possible to move the `LeftReceiver` to yet another transport. With the learning transport, this is configured by specifying a separate file location, similar to how the `RightReceiver` is configured.

The bridge also must be configured so that a new `BridgeTransport` is added with the already existing `leftReceiver` on the new `BridgeTransport`. The end result looks like this:

```mermaid
graph LR
    A[LeftSender] --> C[[BRIDGE]]
    B[LeftReceiver] --> C
    C --> D[RightReceiver]
    subgraph Transport A
      A
    end
    subgraph Transport B
      D
    end
    subgraph Transport C
      B
    end
```


text:
# Instafrep

Internal social network made by Infrep students for Infrep students.

## Contributing

Before getting started, read [CONTRIBUTING.md](CONTRIBUTING.md) carefully !

## Main commands

- Start the dev server
    ````
    symfony server:start
    ````

- Creating a new migeration file (ie. after having updated an **Entity**, ...)
  ````
  symfony console make:migration
  ````

- Recreate a brand new database
    ````
    symfony console doctrine:database:drop --force
    symfony console doctrine:database:create
    symfony console doctrine:migrations:migrate
    symfony console doctrine:fixtures:load
    ````

- Check all the available routes
    ````
    symfony console debug:router
    ````

repository: Neuropeptide/instafrep

repo_name: Neuropeptide/instafrep


text:
---
hrs_structure:
  division: '1'
  volume: '2'
  title: '7'
  chapter: 89C
  section: 89C-4
type: hrs_section
tags:
  - Government
menu:
  hrs:
    identifier: HRS_0089C-0004
    parent: HRS0089C
    name: 89C-4 Adjustments for excluded employees exempt from civil service
weight: 48025
title: Adjustments for excluded employees exempt from civil service
full_title: 89C-4 Adjustments for excluded employees exempt from civil service
---
**§89C-4 Adjustments for excluded employees exempt from civil service.** Each appropriate authority shall determine the adjustments that are relevant for their respective excluded employees who are exempt from civil service in consideration of the compensation and benefit packages provided for other employees in comparable agencies. For executive/managerial positions in the University of Hawaii system filled by excluded employees, proposed compensation or change in compensation shall be disclosed in open meeting for purposes of public comment. [L 1978, c 197, pt of §2; am L 1982, c 159, §1(2); gen ch 1985; am L 1994, c 56, §17; am L 2000, c 253, §109; am L Sp 2008, c 6, §2]

repository: SamMade/BlueAndKrabby

repo_name: SamMade/BlueAndKrabby


text:
---
layout: kanji
v4: 1871
v6: 2016
kanji: 般
keyword: carrier
elements: carrier, boat, cruise missile, missile, wind, crotch
strokes: 10
image: E888AC
on-yomi: ハン
permalink: /rtk/般/
prev: 舷
next: 盤
---

1) [raulir] 2-1-2007(165): Carrier?! This means "general" (as in the general public or generally). OK.. Carriers, i.e. boats with missiles, are not available to the general public.

2) [PrettyKitty] 13-5-2008(101): In general, carrier boats have missiles.

3) [Cheesemaster64] 26-5-2009(55): For those who have the greasemonkey script, this kanji's keyword should be changed. I use run of the mill to avoid conflict with general (#1366 総). Story: Nowadays, even a run of the mill boat has missile launchers to protect themselves from pirates.

4) [Mary_K] 19-9-2009(32): Generally speaking, aircraft carriers are boats with missiles.

5) [akrodha] 10-6-2007(18): Be sure to protect the carrier. It's the boat with all our missiles, so if the enemy strikes it, it will explode VERY easily.


text:
# Karabiner

Karabiner stores its `plist` in the `binary1` format.

To update the `xml1` format `plist` in this repository:

    plutil -convert xml1 -o ~/.dotfiles/tag-karabiner/Library/Preferences/org.prqs.Karabiner.plist

## rcm bug

This tag is currently broken: `rcm` has an issue which means you cannot manage
dotfile directories which have a space in them, e.g. `~/Library/Application
Support/...`

repository: jsok/dotfiles

repo_name: jsok/dotfiles


text:
---
layout: post
title: Symtomps of COVID-19 on skin?
description: New evidence in late March and April.
summary:  New evidence in late March and April.
tags: [summary, COVID19]
---

Today, there were around 3.51M people around the world confirmed of getting infected by COVID-19. A third of those were recovered and nearly 250K deaths. After four months, more evidence has been collected. The previous common known symptoms are fever, tiredness and dry cough. Some others could be aches and pain, nasal congestion, runny nose, sore throat, diarrhoea. A few uncommon could be a loss of smell and scene.

Recently, a group of dermatologists in Belgium and the US has detected a new symptom on skin from a young male case study. It calls attention from the community. More and more evidence is found across the countries.

[](https://emmablogimg.s3.amazonaws.com/2020-05-05/covid19_toes.jpeg)

## Overall statistics

*   Published on 28/2 in the New England Journal of Medicine, in China, among 1000 COVID-19 patients, only 0.2% of those show rashes.
*   In Italy, among 150 COVID-19 patients, up to 20% of hospitalization was found.
*   Published on 26/3 in the Journal of the European Academy of Dermatology and Venerology, there is a conclusion of dermatologist about subtle skin changes.

## Case study

*   On March 8, a 13 year-old-boy developed lesions initially thought as a spider bite, but then diagnosed with COVID-19.
*   Published on 6/4 on a press communication publisher, COVID toes was first recognized by a report of a French dermatologist.
*   Published on 8/4 in the Spanish General Council of Official Podiatrist Colleges release a statement about numerous cases found in Italy, France and Spain.

## Observations

*   It could take many forms such as tiny dots, larger flat or raised lesions; hive like appearance while frostbitten toes in COVID-19 cases
*   In a young population: children or in their 20-30s with good health conditions.

## Prior studies on other viral disease:

*   Rashes are commonly observed among viral illness, e.g. chickenpox, measles and hand, foot and mouth disease can cause rashes, mostly in children.

## What we know

*   Patients with COVID-19 toes are reported with mild or asymptomatic cases.
*   *Too early to say about a causality whether it is caused by a virus or a reaction pattern of ramped-up immune system caused by any disease* . What we know is a sudden increase in the number of case reports.

## Unknown questions

*   The statistical significance of rashes towards an outcome of patients in a positive way or negative way.

## What really happens

*   More discussion in the science community with more rigorous methodologies to measure and assess a link between observation and underlying mechanism.

## What is looking for next?

*   American Academy of Dermatology: More evidence reported by dermatologists via an online registry of 300 patients this week.
*   Update(6/5): There was more than 400 reports from 21 countries. A half of those are cases of COVID toes.

_I am building an app for skin analysis on top a privacy technology. Welcome to any thought and advice if you would like to share. Feel free to send me an email to<EMAIL_ADDRESS>

Further readings:

1. Writer, R. (2020). More than 'covid toes': Numerous reports of skin rashes tied to COVID-19. Retrieved 5 May 2020, from [https://www.livescience.com/skin-rashes-covid-19-symptoms.html](https://www.livescience.com/skin-rashes-covid-19-symptoms.html)
2. Freeman, E. E., McMahon, D. E., Fitzgerald, M. E., Fox, L. P., Rosenbach, M., Takeshita, J., French, L. E., Thiers, B. H. and Hruza, G. J. Freeman, Esther E. et al. "The AAD COVID-19 Registry: Crowdsourcing Dermatology In The Age Of COVID-19". _Journal Of The American Academy Of Dermatology_, 2020. _Elsevier BV_, doi:10.1016/j.jaad.2020.04.045. Accessed 5 May 2020.
3. [Washington Post 29/4/2020](https://www.washingtonpost.com/health/2020/04/29/coronavirus-rashes-toes/)
4. [NPR 6/5/2020](https://www.npr.org/sections/goatsandsoda/2020/05/06/850707907/from-loss-of-smell-to-covid-toes-what-experts-are-learning-about-symptoms)

repository: EmmaNguyen/gray

repo_name: EmmaNguyen/gray


text:
# Matrix Multiplication

> Visualize the basics of matrix multiplication

## Khan Academy

This app was developed on the Khan Academy (KA) coding platform, using their environment which includes a JavaScript port of Processing.  If you are curious,  feel free to check out the [live demo](https://www.khanacademy.org/computer-programming/matrix-multiplication/6191097875857408 "Matrix Multiplication on Khan Academy").

## Features

 - Animation through a lightweight Tweener class.  Capabilities include chaining and repeating tweens.  Tweener also provides the ability to "fast-forward" all open tweens to their final ending values.

 - MatrixView class for displaying matrices (of any n x m size) with their conventional braces.  Unfortunately, although this class supports n x m matrices, parts of the remaining app cater specifically to 2 x 2 matrices, for simplicity reasons.

 - Scene sequencing.  The scenes are progressed by the user simply left clicking anywhere within the app display.  If the user pauses on a scene for more than a moment, a subtle arrow will appear to remind the user they may continue.

 - Separation of concerns using prototypal classes.  The KA platform only supports a single textbox/file for source code.  But, ideally, these classes would be separated out into their own modules/files.

## Build

In order to conform to the community guidelines on Khan Academy, the recommended approach would be to visit the [original project](https://www.khanacademy.org/computer-programming/matrix-multiplication/6191097875857408 "Matrix Multiplication on Khan Academy"), then select "Spin-off".  At this point, you can run and experiment with your own copy of Matrix Multiplication.

## Considerations

Note that this app uses a number of global functions/variables, as this is conventional to the environment it was written for.  For example, the Processing function `fontSize()` is available in the global context and will likewise apply the font size change to the global drawing state.

This can get a bit messy pretty quickly, so the `DrawProps` class is used to help centralize these changes.  This way, each view no longer needs to worry about messing up each other's expected draw state.

## Author
Sam (aka CornerKitten)

## License
[MIT license](https://opensource.org/licenses/mit-license.php)

repository: cornerkitten/matrix-multiplication

repo_name: cornerkitten/matrix-multiplication


text:
---
author: Jens-Christian Fischer
categories: ["musings"]
comments: true
date: 2006-11-04 09:15:25+00:00
layout: post
link: https://invisible.ch/2006/11/04/back-from-rails-konferenzde/
slug: back-from-rails-konferenzde
tags: ["blog"]
title: Back from rails-konferenz.de
type: post
wordpress_id: 565
---

Yesterdays rails-konferenz.de was quite a success. Almost 100 particpants showed up for a one day, information packed day.

My presentation on "Extreme Testing" went very well. The slides should be up in a couple of days on the [rails-konferenz.de][1] web site.

I had a chance to reconnect to people I met at [other][2] [conferences][3] and make quite a few new acquaintances. The personal hightlights for me were a comment about Capistrano in the Q&A section of the Capistrano talk by Ralf Wirdemann  (which  will allow me to use Capistrano on a server that doesn't allow access to the SVN repository), Patrick Lenz's take on Rails scalability and of course Rany Kedos plan for getting out of a boring job (not that I would need that, thankfully):

1. Deceive
2. Lie
3. Steal

All in all a great day, and I'm looking forward to the next installation.

[1]: https://www.rails-konferenz.de
[2]: https://reboot.dk
[3]: https://www.liftconference.com

Technorati Tags: [rails-konferenz.de](https://www.technorati.com/tag/rails-konferenz.de), [rubyonrails](https://www.technorati.com/tag/rubyonrails)


text:
---
layout: default
---

# 1997-05-21 - Re: Hacked, Trashed and Out of Beer

## Header Data

From: Alan Olsen<EMAIL_ADDRESS>To: Bill Frantz<EMAIL_ADDRESS>Message Hash: 4a8ff028b1173722f67234cda7e0d479e398e89172612b5fe515ee6b595f2826

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1997-05-21 05:16:24 UTC

Raw Date: Wed, 21 May 1997 13:16:24 +0800

## Raw message

```
{% raw  %}From: Alan Olsen<EMAIL_ADDRESS>Date: Wed, 21 May 1997 13:16:24 +0800
To: Bill Frantz<EMAIL_ADDRESS>Subject: Re: Hacked, Trashed and Out of Beer
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

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

At 09:47 PM 5/20/97 -0700, Bill Frantz wrote:
>At 6:21 PM -0700 5/20/97, se7en<EMAIL_ADDRESS>wrote:
>>Well, I finally managed to catch up on all the email from this list, and
>>managed to also get all of the hacked web sites thus far up on my web
>>page at http://www.dis.org/se7en
>>
>>w-h-i-c-h includes:
>>
>>Amnesty International
>>Central Intelligence Agency
>>East Timor, Indonesia
>>Kriegsman Fur
>>NASA
>>U.K. Labour Party
>>U.S. Air Force
>>U.S. Department of Justice
>
>Gee, your server sure wants to send a lot of cookies.  I consider receiving
>a cookie before getting a statement, or being able to guess (e.g. WEB
>shopping), about their use to be an unfriendly act.

Sounds like the AUTH_COOKIE module at work again.  Pretty easy to fix.  Just
comment out the AUTH_COOKIE module (which should not be turned on anyways) in
the src/Configuration file and recompile.  Keeps people from being cookie-
bombed into the stone age.

<rant align=tech>
AUTH_COOKIE is actually something for excessive user tracking.  It sends a
cookie for every object sent by the server.  If they have Netscape 3.0 and
are
tracking such things, it becomes a real pain.  Since few webmasters, if any,
have log crunchers that will even use that data (or that anyone cares...) it
is a waste of log space in the first place.  It also annoys many users.
</rant>
-----BEGIN PGP SIGNATURE-----
Version: 5.0 beta
Charset: noconv

iQEVAwUBM4KBx+QCP3v30CeZAQF+TAf/UNfgOU39PyLPB2i9sq6PK7y2Vum2o3u7
Nb+T9BMdjOa/LmVEkOozcOcwvw6xwPBWIWSOD98yq8WlauQ4xwRiay4Hp6sI++mE
m9KmXfA1fy5SgCAYk8gYL/VvBzhowxjcgo4JulQBBAPzR4lMfwP70eNhXMnkbGsh
iKl8NywrcfvmfZwSaQS8Lb9moDpIXXzCZJKMWJIdeYQdJOYGvQAVSA0W8tIw3bpR
cVk2yJqg8fMcvAhlBwI+YkYrTEtnqzcyC2TwljBYUU3lVl2hWhPJZ5gkgwe2XSUj
UyeaKNr21iXeiXPQ5nM55W9eiBfFnpcKSiMEb+KTQEhdKb/Uxm0Yqg==
=JUGI
-----END PGP SIGNATURE-----

---
|     "Bill Clinton - Bringing back the sixties one Nixon at a time."    |
|"The moral PGP Diffie taught Zimmermann unites all| Disclaimer:         |
| mankind free in one-key-steganography-privacy!"  | Ignore the man      |
|`finger -l<EMAIL_ADDRESS>for PGP 2.6.2 key  | behind the keyboard.|
|         http://www.ctrl-alt-del.com/~alan/<EMAIL_ADDRESS>

{% endraw %}
```

## Thread

+ Return to [May 1997](/archive/1997/05)

+ Return to "[Alan Olsen <alan@ctrl-alt-del.com>](/authors/alan_olsen_alan_at_ctrlaltdel_com_)"
+ Return to "[Bill Frantz <frantz@netcom.com>](/authors/bill_frantz_frantz_at_netcom_com_)"
+ Return to "[cpunks@algebra.com](/authors/cpunks_at_algebra_com)"
+ Return to "[se7en <se7en@dis.org>](/authors/se7en_se7en_at_dis_org_)"

+ 1997-05-21 (Wed, 21 May 1997 09:29:54 +0800) - [BOUNCE<EMAIL_ADDRESS>    Admin request of type /^\s*which\s+\S+\s*$/i at line 6 (fwd)](/archive/1997/05/96162128a84bdf00f5132447e5ce78d7a6ce62740182ee6a65d3099c489c6870) -<EMAIL_ADDRESS>  + 1997-05-21 (Wed, 21 May 1997 12:54:32 +0800) - [Re: Hacked, Trashed and Out of Beer](/archive/1997/05/885dfc99cabff1c39e248cd984024251219fe03b926ab3632a0e88e4b1c9be5e) - _Bill Frantz<EMAIL_ADDRESS>    + 1997-05-23 (Fri, 23 May 1997 17:04:06 +0800) - [Re: Hacked, Trashed and Out of Beer](/archive/1997/05/c6b573f683fe1ae5b72a187b5ce97f7782078b9e3e02d5037c1369c907d356b7) - _se7en<EMAIL_ADDRESS>  + 1997-05-21 (Wed, 21 May 1997 13:16:24 +0800) - Re: Hacked, Trashed and Out of Beer - _Alan Olsen<EMAIL_ADDRESS>


text:
#Shell Playlist Crawler
##USAGE
Enter the URL of the YouTube playlists you want to search into. The format of the URL is "youtube.com/playlist?list=...".
Pass the name of the song (between double quotes if it has multiple words) with the '-k' keyword flag.

##OVERVIEW
This script is composed of 3 files:

* A 'playlist-html-parser.awk' awk script which processes the HTML document sent in every HTTP response, looking for matches to the keyword you entered and returning the name of the playlist where the match was found, alongside the name of the video and its URL.
* A 'playlists.txt' plaintext list of playlist URLs.
* A 'search-playlist.sh' bash script which makes HTTP GET requests to every URL listed in a separate file searching for the name of the artist or song you entered. The bash script will look for a playlist URL listing to obtain the URLs to query. If the playlist URL listing is empty, the script will return an error. If the listing file does't exist, the script will create one and then exit with an error.

repository: dvejmz/playlistcrawler

repo_name: dvejmz/playlistcrawler


text:
# jit.mo
![CI](https://github.com/Cycling74/jit.mo/actions/workflows/test.yml/badge.svg)

Generate realtime motion graphics in Jitter

This package contains a series of new externals to ease creation of generative animations and geometry multiples in Jitter. The jit.mo objects all tie into a global animation graph and are implicitly connected to jit.world. This allows for smooth and continuous realtime animations that factor in framerate imperfections. The jit.mo package is optimized for use with **jit.gl.multiple** or **jit.gl.mesh** to create complex generative animations with a minimum of patching.

- **jit.mo.func** generates a 1d Jitter Matrix using a built-in function (line, sin, saw, tri, perlin) that can be animated over time in sync with the rendering context
- **jit.mo.join** combines and manages the connected jit.mo.func object outputs into a multiplane matrix. Unlike most Jitter objects, the inputs to jit.mo.join are additive and can support multiple connections, making jit.mo additive synthesis possible.
- **jit.mo.field** takes a matrix of position values and manipulates them based on their relationship to a center point
- **jit.mo.time** generates float values according to different time modes (accum, function, delta)

## Contributors / Acknowledgements

* See the [GitHub Contributor Graph](https://github.com/Cycling74/jit.mo/graphs/contributors)

## Support

For support, please use the developer forums at:
http://cycling74.com/forums/


text:
# Detectron2 example

Simplest possible example of tracking. Based on [Detectron2](https://github.com/facebookresearch/detectron2).

## Instructions

Assuming Norfair is installed:

1. [Follow the instructions](https://detectron2.readthedocs.io/tutorials/install.html) to install Detectron2.
2. Run `python detectron2_cars.py`. For the demo, we are using [this traffic footage](https://www.youtube.com/watch?v=aio9g9_xVio).

## Explanation

This example tracks objects using a single point per detection: the centroid of the bounding boxes returned by Detectron2.

![Norfair Detectron2 demo](../../docs/traffic.gif)


text:
### Simple Ring Buffer

The code below is not a complete example. It uses STM32 HAL, but the library itself does not.

This shows how you can setup a couple of timers and use callbacks to read and write from the ring buffer. Note that the timers are set to the same period but TIM6 (used for writing to the buffer) is lower priority than TIM7 (used for reading from the buffer).

The dynamic version uses malloc. If this is too spicy, there is also static version. Use `USE_DYNAMIC_RING_BUFFER` and `USE_STATIC_RING_BUFFER` to switch the example usage.

```
#include <dynamic_ring_buffer.h>
#include <static_ring_buffer.h>

//#define USE_DYNAMIC_RING_BUFFER
#define USE_STATIC_RING_BUFFER

#ifdef USE_DYNAMIC_RING_BUFFER
	#define RBUF_DYNAMIC_SIZE 8
	DynamicRingBuffer_Typedef *rbuf_dynamic;
	DynamicRingBufferItem_Typedef dcount;
#endif

#ifdef USE_STATIC_RING_BUFFER
	#define RBUF_STATIC_SIZE 8
	StaticRingBuffer_Typedef rbuf_static;
	StaticRingBufferItem_Typedef rbuf_static_buf[RBUF_STATIC_SIZE];
	uint8_t scount;
#endif

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
	if(htim->Instance == TIM6)
	{
		HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
		#ifdef USE_DYNAMIC_RING_BUFFER
			dynamic_ring_buffer_write(rbuf_dynamic, &dcount);
			dcount++;
		#endif
		#ifdef USE_STATIC_RING_BUFFER
			static_ring_buffer_write(&rbuf_static, &scount);
			scount++;
		#endif
	}
	if(htim->Instance == TIM7)
	{
		HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
		#ifdef USE_DYNAMIC_RING_BUFFER
			DynamicRingBufferItem_Typedef read_val = 0;
			dynamic_ring_buffer_read(rbuf_dynamic, &read_val);

		#endif
		#ifdef USE_STATIC_RING_BUFFER
			StaticRingBufferItem_Typedef read_val = 0;
			static_ring_buffer_read(&rbuf_static, &read_val);
			//char out[10];
			//snprintf(out, sizeof(out), "%d\n", read_val);
		#endif
		//SEGGER_RTT_WriteString(0, "TIM7\n");
	}
}

int main(void)
{
  HAL_Init();
  SystemClock_Config();

  MX_GPIO_Init();
  MX_TIM6_Init();
  MX_TIM7_Init();

  // create and initialise the ring buffer object
  #ifdef USE_DYNAMIC_RING_BUFFER
    dynamic_ring_buffer_init(&rbuf_dynamic, RBUF_DYNAMIC_SIZE);
  #endif

  #ifdef USE_STATIC_RING_BUFFER
    static_ring_buffer_init(&rbuf_static, rbuf_static_buf, RBUF_STATIC_SIZE);
  #endif

  // initialise the timers
  HAL_TIM_Base_Start_IT(&htim6);
  HAL_TIM_Base_Start_IT(&htim7);

  while (1)
  {

  }
}

```

repository: cracked-machine/SimpleRingBuffer

repo_name: cracked-machine/SimpleRingBuffer


text:
# Metadata Date
**Purpose**: Test that is provided a MetadataDate element within the ExtendedCapabilities section.

**Prerequisites**

**Test method**

This test only applies to [scenario 2](./README.md#scenarios). Otherwise the test case is skipped.

* Send a getCapabilities request to the service endpoint. Into the response:

  * Check that exactly one [MetadataDate](#MetadataDate) element is provided within the [ExtendedCapabilities](#ExtendedCapabilities) section.

**Reference(s)**:
* [TG VS](./README.md#ref_TG_VS), Chapter <IP_ADDRESS>.1.16, Requirement 29

**Test type**: Automated

**Notes**

The multiplicity of this element is 1.

**Contextual XPath references**

The namespace prefixes used as described in [README.md](./README.md#namespaces).

Abbreviation                                               |  XPath expression (relative to /wms:WMS_Capabilities)
---------------------------------------------------------- | -------------------------------------------------------------------------
ExtendedCapabilities  | wms:Capability/inspire_vs:ExtendedCapabilities
MetadataDate  | wms:Capability/inspire_vs:ExtendedCapabilities/inspire_common:MetadataDate

repository: inspire-eu-validation/view-service

repo_name: inspire-eu-validation/view-service


text:
# Fixtures

Put all documents used as inputs and output here. The wiring can happen in
code or in separate file (for general editing).

## verify.csv

[This file](https://github.com/miku/fuzzycat/blob/master/tests/data/verify.csv)
currently contains four columns:

* ident
* ident
* match status
* reason (optional)

If you add lines to this file, the test suite will pick it up automatically.

```csv
7kzrmoajzzedxgdvbltgqihszu,bd4crw4p7ber7pzhpoyw2c77bi,Status.STRONG,OK.SLUG_TITLE_AUTHOR_MATCH
```

## Helpers

Going from a query to the combination of idents (with
[esdump](https://github.com/miku/esdump), [jq](https://stedolan.github.io/jq/),
[makecomb.py](https://gist.github.com/miku/c1220715060babc2374a440bd742a410):

```
$ esdump -q '"Calcifying+extracellular+mucus+substances"' | \
    jq -rC '.hits.hits[]._id' | makecomb.py | awk '{print $1","$2}'

5lk635o65nc2tnkus3pkf2ggeq,hqrvhbvocvaabg6nr5p43tl3uq
5lk635o65nc2tnkus3pkf2ggeq,zfwf3tefajc6zdxa47vgilm7wm
hqrvhbvocvaabg6nr5p43tl3uq,zfwf3tefajc6zdxa47vgilm7wm
```

Where `makecomb.py` turns lines into pairs.

```
$ curl -sL https://git.io/JkDwC > ~/bin/makecomb.py && chmod +x ~/bin/makecomb.py
```

Short script.

```python
#!/usr/bin/env python
import fileinput
import itertools

vs = set()
for line in fileinput.input():
    line = line.strip()
    if not line:
        continue
    vs.add(line)

for a, b in itertools.combinations(sorted(vs), r=2):
    print("{}\t{}".format(a, b))
```

## TODO

* [ ] generate md with clickable links, grouped by match status

repository: miku/skate

repo_name: miku/skate


text:
CSUF CPSC 131, Fall 2016
Project 3
"Binary Search Tree" (using the data structures learned in CPSC 131)

Group members:

Nelson Luong<EMAIL_ADDRESS>
Duy Do<EMAIL_ADDRESS>

## You need to answer the following question.
Two binary search trees contains exactly the same number of entries of student information but in different orders.
Do they give the same performance in terms of key searching or firstname searching? if not, why? use the data you obtain from you code to
explain your answer.

ANSWER: No the performance isn't the same, because one of them wasn't balance. The list of name in datafile1 when added to the tree is right side unbalance therefore took more steps than the datafile2 list of name. The datafile2 which is already sorted, so that it took the path of what a balanced tree would have taken.


text:
# rfolderify

  Convert any code using rfile and derivatives so that it supports browserify.

[![Build Status](https://travis-ci.org/quarterto/rfolderify.png?branch=master)](https://travis-ci.org/quarterto/rfolderify)
[![Dependency Status](https://gemnasium.com/quarterto/rfolderify.png)](https://gemnasium.com/quarterto/rfolderify)

  This module is a plugin for [browserify](http://browserify.org/) to parse the AST for `rfolder` calls so that you can inline the folder contents into your bundles.

## Example with Browserify

  For a main.js

```javascript
var contents = rfolder('./misc');
console.log(contents['robot'].hello());
```

  And a misc/robot.js file.

```javascript
exports.hello = function() {
    return("Beep boop");
}
```

  first `npm install rfolderify` into your project, then:

### on the command-line

```
$ browserify -t rfolderify example/main.js > bundle.js
```

### or with the API

```javascript
var browserify = require('browserify');
var fs = require('fs');

var b = browserify('example/main.js');
b.transform('rfolderify');

b.bundle().pipe(fs.createWriteStream('bundle.js'));
```

## More options

You can pass an `options` parameter to rfolder:

```javascript
var contents = rfolder('./misc', {extensions: [".coffee", ".jade"], keepExt: [".jade"]});
```

Valid options are:

* `extensions` - A list of extensions to require.  If this is not provided, the default is to
  require any file which node.js would require. e.g. `[".js", ".coffee", ".jade"]` to require all
  .js, .coffee, and .jade files from the directory.
* `checkExt` - If false, then `extensions` will be ignored, and all files will be required
  regardless of their extension.
* `keepExt` - By default, rfolder strips extensions from file names when generating keys for the
  folder object.  `keepExt` can be set `true` to keep all extensions, or to an array of extensions
  to keep.  For example, if you have a folder containing a "robot.js" and a "robot.jade", then
  passing `{keepExt: '.jade'}` would make it so `contents['robot']` would refer to the .coffee file,
  while `contents['robot.jade']` would refer to the jade file.
* `require` - JS string used to require each file.  Defaults to "require".

## Direct Usage

A tiny command-line program ships with this module for easier debugging and if you just want this without any of the rest of browserify.

```
npm install rfolderify -g
rfolderify --help
```

## License

MIT

![viewcount](https://viewcount.jepso.com/count/quarterto/rfolderify.png)


text:
---
title: Getting started with DAOs on Celo
description: Introduction to DAOs and the advantages of building a DAO on Celo.
authors:
  - name: ✍ Abhinil Agarwal
tags: [celo]
hide_table_of_contents: true
slug: "/tutorials/getting-started-with-daos-on-celo"
---

import YouTube from '@components/YouTube';

# Getting started with DAOs on Celo

_Introduction to DAOs and the advantages of building a DAO on Celo._

![header](../../src/data-tutorials/showcase/beginner/getting-started-with-daos-on-celo.png)

## Hello Developers 🌱

This article gives a brief overview of DAOs and the advantages of building a DAO on Celo. Throughout this article, we’ll look at some of the popular types of DAOs and then look at what benefits Celo brings to the DAO ecosystem.

- What is a DAO?
- Types of DAOs
- Why build a DAO on Celo?

Let’s go! 🚀

## ✅ What is a DAO?

From building Pyramids to running a multinational Corporation, “Coordination” has done marvels for humans. DAO is the latest attempt to create an efficient solution for this problem using technology.

Think of “co-operatives” where a bunch of individuals aim towards a common purpose and create value. Now managing the ownership in this organization and getting every stakeholder’s views on every crucial decision can be difficult, especially without a central intermediary.

If your community is based on the internet, forget about protecting the treasury of this community.

### What Companies were in 1940 is similar to DAO in 2020

DAO is a new framework to manage large-scale human coordination, which can be loosely explained as a “group chat with a shared bank account”.
They are virtual entities with a specific set of members/ shareholders who have the right to spend the entity’s funds(Treasury) only with consensus.

Smart Contracts and Public Blockchain like Ethereum, Celo are being used to provide an ecosystem for these DAOs to survive. DAOs are meant to be fundamentally transparent, with a straightforward governance process and paths to establish consensus.

### DAOs can solve current economic issues

This method of forming an organization can also help reduce the wealth inequality gap. The hard truth is that we have just modernized slavery in the form of high-paying jobs with employee protection schemes. Still, these labour and wages are not an optimal solution to sustainable wealth.

Asset Ownership and Capital Access are the keys to success here.

Simply put, Capital > labour.

With web3 being a core pillar for ownership, DAOs obey the same by distributing their ownership token or governance token to the contributors.

Together, these contributors work for the common goal with utmost transparency to create wealth in the DAO and, in turn, for themselves. The next evolutionary step is to build software that is operated, funded and owned by the users.

## ✅ Types of DAOs

There are many categories of DAOs solving problems with different techniques. One thing common across this landscape is the tendency for constituents to act like owners and the expectation of radical transparency.

### Protocol DAOs

Decentralized Exchanges (Dex), and Decentralized Finance (Defi)are the most noticeable protocols in the web3 space. It’s a popular practice to govern these protocols with DAO methodologies to bring the power back into the hands of users.

[MakerDAO](https://makerdao.com/en/), [Sushi](http://sushi.com/), [Uniswap](https://uniswap.org/), and [Compound](https://compound.finance/) are some leading examples.

![image](images/1.png)

### Social DAOs

The aim here is to build a robust community. It’s not so different from online hangouts, but with an extra sense of self-governance and ownership. Members often organize In-Real meetups for the community.

Example DAOs in this category include [Friends with Benefits(FWB)](https://www.fwb.help/), [Seed Club](https://seedclub.xyz/), [CabinDAO](https://creators.mirror.xyz/), and [Bright Moments](https://www.brightmoments.io/).

![image](images/2.png)

### Investment DAOs

These organizations aggregate the capital and Investors for deployment. The aim revolves around increased returns in a democratic fashion. Every investor has their share of rights with the help of DAO tokens, which are used to create new Investment proposals and vote on those proposals.

[The LAO](https://www.thelao.io/) is a pioneer in the space and have grown into multiple entities, including [Flamingo](https://flamingodao.xyz/), [Neptune](https://neptunedao.xyz/), and [MetaCartel](https://www.metacartel.org/).

![image](images/3.png)

### Collector DAOs

Unlike Investor DAO, where profit is the motivation, Collector DAOs orient themselves to unite contributors around certain assets or collectibles, preferably NFTs. These DAOs generally do not aim to profit from these investments but rather provide institutional longevity and support, often bearing the role of curators in the long run.

Example: [SquiggleDAO](https://squiggledao.com/), [MeebitsDAO](https://www.meebitsdao.world/), [PleasrDAO](https://pleasr.org/), [NounsDAO](https://nouns.wtf/)

![image](images/4.png)

### Media DAOs

These DAO produce public content, often collaboratively, and distribute the rewards across the group. Stakeholders decide on governance, topics to cover, managing resources, etc.

Examples include [Forefront](https://forefront.market/), [Bankless](https://banklessdao.substack.com/), and [DarkStar](https://darkstar.mirror.xyz/).

![image](images/5.png)

DAOs exist on a broad spectrum of Decentralization and Autonomy depending on their needs. Sometimes, it makes more sense to give the organization some centralized leadership at the infancy stage, while decentralization should be adopted for large organizations to prevent the accumulation of power in the wrong hands.

Your DAO might be a brand new concept, and that is okay; just make sure that you find a community that is enthusiastic about the common vision.

## ✅ Why build a DAO on Celo?

[Celo](https://celo.org/) is a user-focused blockchain with the goal to provide prosperity for everyone. It offers a set of user-centric functionalities focused on bringing blockchain technology into the hands of mobile device users.

DAOs and other Dapps can use the following advantages of Celo when building their Web3 projects.

### Mobile-First

Celo is a [Mobile-First](/general) Blockchain with an [ultra-light client](/protocol/plumo) for low-end mobile devices. This technological advancement can help bring the concept of decentralization in DAOs to a much larger scale than it currently is. Setting up a DAO, managing the tasks, and getting push notifications can be much easier with Celo with its mobile-first strategy.

### Proof-of-Stake

Celo’s [Proof-of-Stake](/protocol/pos) mechanism will help develop DAO tooling without worrying about carbon footprint. Celo also aims to have a reserve of Natural-backed assets, which can help in establishing environmentally-concerned DAOs.

### Stablecoins

One major roadblock in adopting cryptocurrency as money is its high price volatility, making it harder to adopt as a treasury. Celo provides [stablecoins](https://docs.celo.org/celo-codebase/protocol/stability) like cUSD, cEUR, and cREAL, which can provide a stable way of maintaining the DAO Treasuries.

### Identity Layer

Public blockchains are permissionless by nature, making it difficult for some dapps that need to know about their users. Celo’s [Identity Protocol](/protocol/identity) allows users to associate their phone number with one or more addresses on celo Network helping them find each other easily.

Socially-oriented DAOs, where the rule is 1 member = 1 vote can also leverage this functionality to know their user's individuality to some extent.

### EVM Compatible

Celo is EVM (Ethereum Virtual Machine) compatible, making it easier for solidity developers to switch chains to Celo. It is also easier to deploy Ethereum DAO Tools on Celo by simply adding the chain in your exiting dapps or forking the project and deploying it on Celo.

## ✅ Congratulations 🎉

That’s a wrap on our today’s topic “Getting Started with DAOs on Celo”.

We have learned about what are DAOs and why are they important, which is heavily inspired by [DAOs: absorbing the internet](https://www.readthegeneralist.com/briefing/dao#toc-1).

Then we explored some types of DAOs with popular examples. Although every DAO can be unique on its own we have [repetitive templates](https://coopahtroopa.mirror.xyz/_EDyn4cs9tDoOxNGZLfKL7JjLo5rGkkEfRa_a-6VEWw) for which tooling can be developed.

We also covered the advantages of building your DAO on Celo. Head on to Celo Discord and connect with the DAO community using the [DAOs channel](https://discord.gg/9McDdMMW24).

If you want to start your own DAO you can either start from the [Celo Developer Guide](https://docs.celo.org/developer-guide/overview) or wait for the next post of this series exploring DAO tools.

repository: cjustinobi/docs

repo_name: cjustinobi/docs


text:
# Contributing to HaboMalHunter
Welcome to [report Issues](https://github.com/Tencent/HaboMalHunter/issues) or [pull requests](https://github.com/Tencent/HaboMalHunter/pulls). It's recommended to read the following Contributing Guide first before contributing.

## Issues
We use Github Issues to track public bugs and feature requests.

### Search Known Issues First
Please search the existing issues to see if any similar issue or feature request has already been filed. You should make sure your issue isn't redundant.

### Reporting New Issues
If you open an issue, the more information the better. Such as detailed description, screenshot or video of your problem, logs or code blocks for your crash.

## Pull Requests
We strongly welcome your pull request to make HaboMalHunter better.

### Branch Management
There are three main branches here:

1. `master` branch. It is the latest (pre-)release branch.
2. `dev_*` branch. It is our stable developing branch. After full testing, `dev` will be merged to `master` branch for the next release.

Normal bugfix or feature request should be submitted to `dev` branch. After full testing, we will merge them to `master` branch for the next release.

### Make Pull Requests
The code team will monitor all pull request, we run some code check and test on it. After all tests passed, we will accecpt this PR. But it won't merge to `master` branch at once, which have some delay.

Before submitting a pull request, please make sure the followings are done:

1. Fork the repo and create your branch from `master`.
2. Update code or documentation if you have changed APIs.
3. Add the copyright notice to the top of any new files you've added.
4. Check your code lints and checkstyles.
5. Test and test again your code.
6. Now, you can submit your pull request on `dev` branch.

## Code Style Guide

## License
By contributing to HaboMalHunter, you agree that your contributions will be licensed
under its [MIT LICENSE](https://github.com/Tencent/HaboMalHunter/blob/master/LICENSE)


text:
# stonks-rsi-volume

**version 0.1**

Parameters:

###### Web-app now deployed @ https://rsicalculator.herokuapp.com/
#### Period : It is duration of stock Data to be considered for calculating RSI
#### RSI Range : At what value to sell or Buy the stocks
#### Volume Change Ratio : What ratio of volume change should trigger a Buy/Sell
This is a RSI calculator and Volume Ratio Calculator using yfinance API.
https://pypi.org/project/yfinance/

Main purpose of this tool is to have a quick check on the market entities that we are concerned.
Is there a sudden change that needed action.

The project is on very early Implementation and any feedback is welcomed

### _Any type of contribution is most welcomed_

#### How to use

I will make a Web version of this app, but for now:

1. *Clone it* and
2. *Run it* locally.
3. *Add/Remove* the yfinance code to the csv file in /input_files/Yahoo_company_codes.csv of whatever you will need

Yahoo codes can be found in this excel sheet :
https://investexcel.net/wp-content/uploads/2015/01/Yahoo-Ticker-Symbols-September-2017.zip

*OR*

 From the yahoo finance website.

repository: prakashgyan/stock-rsi-volume

repo_name: prakashgyan/stock-rsi-volume


text:
# Green Business Program

## Dataset

| Name | Value |
| :--- | :---- |
| Catalog | [Link](https://catalog.data.gov/dataset/green-business-program-29e0c) |
| Metadata | [Link](https://data.hawaii.gov/api/views/vcaz-dwuy) |
| Data: JSON | [100 Rows](https://data.hawaii.gov/api/views/vcaz-dwuy/rows.json?max_rows=100) |
| Data: CSV | [100 Rows](https://data.hawaii.gov/api/views/vcaz-dwuy/rows.csv?max_rows=100) |
| Host | data.hawaii.gov |
| Id | vcaz-dwuy |
| Name | Green Business Program |
| Attribution | DBEDT |
| Category | Economic Development |
| Tags | green business, hawaii, dbedt, hotels, offices, restaurants, grocery stores |
| Created | 2014-03-15T00:47:19Z |
| Publication Date | 2014-03-15T00:54:28Z |

## Columns

```ls
| Included | Schema Type | Field Name       | Name             | Data Type | Render Type |
| ======== | =========== | ================ | ================ | ========= | =========== |
| No       | time        | :updated_at      | updated_at       | meta_data | meta_data   |
| Yes      | series tag  | agency           | Agency           | text      | html        |
| Yes      | series tag  | phone_number     | Phone Number     | phone     | phone       |
| Yes      | series tag  | website          | Website          | url       | url         |
| Yes      | series tag  | 1st_green_report | 1st Green Report | url       | url         |
| Yes      | series tag  | 2nd_green_report | 2nd Green Report | url       | url         |
```

## Time Field

```ls
Value = updated_at
Format & Zone = seconds
```

## Data Commands

```ls
series e:vcaz-dwuy d:2014-03-14T17:54:18.000Z t:phone_number="(808) 586-2424" t:2nd_green_report=http://energy.hawaii.gov/wp-content/uploads/2012/03/Final-DBEDT-Press-Packet-2012.pdf t:website=http://energy.hawaii.gov/green-business-program t:phone_type=Work t:1st_green_report=http://energy.hawaii.gov/wp-content/uploads/2011/10/DBEDT-Highlights-20091.pdf t:agency="<p>DBEDT, Department of Business, Economic Development, & Tourism</p>" m:row_number.vcaz-dwuy=1
```

## Meta Commands

```ls
metric m:row_number.vcaz-dwuy p:long l:"Row Number"

entity e:vcaz-dwuy l:"Green Business Program" t:attribution=DBEDT t:url=https://data.hawaii.gov/api/views/vcaz-dwuy

property e:vcaz-dwuy t:meta.view v:id=vcaz-dwuy v:category="Economic Development" v:attributionLink=http://energy.hawaii.gov/green-business-program v:averageRating=0 v:name="Green Business Program" v:attribution=DBEDT

property e:vcaz-dwuy t:meta.view.license v:name="Public Domain"

property e:vcaz-dwuy t:meta.view.owner v:id=av98-wszh v:screenName="Jonathan Chin" v:displayName="Jonathan Chin"

property e:vcaz-dwuy t:meta.view.tableauthor v:id=av98-wszh v:screenName="Jonathan Chin" v:roleName=editor v:displayName="Jonathan Chin"
```

## Top Records

```ls
| :updated_at | agency                                                         | phone_number           | website                                                                   | 1st_green_report                                                                       | 2nd_green_report                                                                              |
| =========== | ============================================================== | ====================== | ========================================================================= | ====================================================================================== | ============================================================================================= |
|<PHONE_NUMBER>  | DBEDT, Department of Business, Economic Development, & Tourism | [(808) 586-2424, Work] | [http://energy.hawaii.gov/green-business-program, Green Business Program] | [http://energy.hawaii.gov/wp-content/uploads/2011/10/DBEDT-Highlights-20091.pdf, 2009] | [http://energy.hawaii.gov/wp-content/uploads/2012/03/Final-DBEDT-Press-Packet-2012.pdf, 2012] |
```

repository: SpellarBot/open-data-catalog

repo_name: SpellarBot/open-data-catalog


text:
# Best Tutorial Codes - Collection
A piece of good tutorial code can open you a new world, except those appear in [Numeric Club talks](/talks/archive/), there are many other good tutorial codes all over the world.
Here is a collection of best tutorial codes

### Density Matrix Renormalization Group (DMRG)
[https://github.com/simple-dmrg/simple-dmrg](https://github.com/simple-dmrg/simple-dmrg)

It uses 100 lines of Python codes grasp every key ingradients of DMRG.
Simple, with low abstraction makes it suited for tutorial.
You can find both Python and Julia realization in this repository.

### Stochastic Series Expansion (SSE)
The source code can be downloaded from Anders W. Sandvik's home page

[http://physics.bu.edu/~sandvik/](http://physics.bu.edu/~sandvik/)

With 500 lines of Fortran code, he opened a new field. This powerful code solved a lot of important problems in condensed matter field theory.
Everyone knows SSE is the shorthand for "Sandvik's Smart Expansion".

### Time Evolving Block Decimation (TEBD)
[https://github.com/galakto/for1807-TPS](https://github.com/galakto/for1807-TPS)

Author Frank Pollmann can use simplist code to achieve most amazing results.
His TEBD code not only teaches me about method itself, but also examplifies a good way to write easy to understand tutorial codes.

### ANN as wave-function ansatz
You can learn a lot from Carleo's C++ codes as a supplimentary material of his science paper

[http://science.sciencemag.org/content/355/6325/602/tab-figures-data](http://science.sciencemag.org/content/355/6325/602/tab-figures-data)

It covers variational Monte Carlo (VMC) and Restricted Boltzmann Machine (RBM).
In fact, he managed to make it a github repository later: https://github.com/netket/netket (mabye nolonger suited for tutorial)

If you have some **good codes** to share with us, you can contact [us](mailto:cacate0129@gmail.com).

repository: GiggleLiu/numericclub

repo_name: GiggleLiu/numericclub


text:
# common-react

This library was generated with [Nx](https://nx.dev).

## Running unit tests

Run `nx test common-react` to execute the unit tests via [Jest](https://jestjs.io).

## Running storybook

Run `nx run storybook:storybook` to execute the local storybook project.

<!-- white space change to trigger nx -->

gha_language: TypeScript


text:
## Let's Make a Deal

Stencil is small. Stencil packs a big punch. That's because Stencil uses the XML
parser that is built into your web browser to create a DOM on the client side,
then manipulates that DOM.

You're going to have to accept the fact that;

For Stencil, HTML is a means to an end. Stencil is a DOM templating language,
and HTML is the serialization format it uses to transfer a DOM from the server
to the client. HTML is not an end in itself. Stencil does not generate
beautiful, hand-crafted HTML any more than your phone's camera generates
beautiful hand-crafted JPGs.

If you love to see hand-crafted HTML, then please use a string templating
language, complaints about unreadable HTML will be dismissed with a sniff.

There are a lot of comments that create out-of-band elements, elements expressed
as comments. That's the clever hack that makes Stencil work.

Here are some nice things about Stencil's HTML serialization:

It doesn't effect CSS selectors, because they are comments, they disappear. This
means you don't have to worry about `div` and `span` elements added solely for
the purpose of giving your component model something to bite into.

It will compress nicely if you gzip your pages when you serve them.

You can serialize at any point and you'll capture the state of the page. After
every regeneration, the HTML5 DOM will contain everything you need to rebuild
the page if you send it over the wire.

Stencil uses XML to express it's template langauge, but only for the sake of the
parser. I don't like XML any more than you do. It is a meager idea taken far too
far. I built Stencil using knowledge I wish I didn't have, and I'm using XML in
ways that where not intended, and I pray these abuses offend the XML purists,
because that's the sugar that helps the XML medicine go down.

Stencil uses XML because every web browser has an XML parser, so there's no need
to send it one. These XML parsers are old and hardened and usually pretty fast.
They produce a DOM that can be imported in the HTML5 DOM.

Because XML is strict, there's a good chance that the DOM we manipulate on the
server is almost identical to the one that we maniuplate in the browser.

Stencil uses XML with namespaces, it rides on the behavior of namespaces, using
XML namespaces to create namespaces for tag libraries and required JavaScript
libraries. This is quite a bit of complexity that falls out of a calculated
misuse of XML.

Stencil uses XML with namesapces, but nothing more. There are no XML Schemas, no
RELAX NG, no Schemtron, no DTDs, no XPath, no XQuery and sure as shooting there
is no XSLT.

Any breathless recommendations to double down on XML standards will be met
derision. This means you Java expats.

For the JSON loving HTML5ers out there, please give it a whirl.

The XML nausea is minimal. Just close your tags and match them, that's all there
it too it. I swear.

repository: ErickMedinaFleming/ProyectoSemanai

extension: markdown

gha_language: JavaScript

repo_name: ErickMedinaFleming/ProyectoSemanai