text:
# Details Motor Shaft Preparation

*Starting Point: Components for the motor shaft assembly.*

*End Result: Motor shaft, pulley and codewheel fully assembled.*

## Description
* this page describes how to prepare the the motor shaft assembly for the brushless actuator modules
* the aluminum motor pulley and the stainless steel motor shaft are bonded with Loctite 648
  [-> Bonding the Pulley to the Motor Shaft](#bonding-the-pulley-to-the-motor-shaft)
* the code wheel mount is installed and the code wheel is bonded to the mount
 [-> Bonding the Codewheel](#bonding-the-codewheel)

### More Information
* More information on the 3d printing: [Details 3d Printed Parts](details_3d_printed_parts.md#details-3d-printed-parts)
* More information on the machined part: [Details Machined Parts](details_machined_parts.md#details-machined-parts)
* [PDF Drawing - Motor Shaft](../drawings/motor_shaft.PDF)
* [PDF Drawing Motor Pulley](../drawings/motor_pulley_at3_t10.PDF)
* [STL File - Codewheel mount for code wheel ordered from PWB](../stl_files/encoder_codewheel_pwb_mount.STL)
* [STL File - Codewheel mount for code wheel from kit](../stl_files/encoder_codewheel_kit_mount.STL)
* [STL File - Tool Motor Shaft Pulley Bonding](../stl_files/tool_motor_shaft_pulley_bonding.STL)
* [STL File - Tool Code Wheel Bonding](../stl_files/tool_code_wheel_bonding.STL)

## Bonding the Pulley to the Motor Shaft

*Motor shaft, motor pulley and tool for motor shaft bonding.*

*Make sure that the tool supports the pulley in the right position before bonding.*

*Measure the depth of the tool using the depth gauge of a digital caliper.
The depth should be around 6,6mm.*

*The distance between the tool and the end of the motor shaft should be about 26,8mm.*

*Clean the bonding surfaces with a cotton swab and ethanol.*

*Prepare some Locitite 648, tooth picks and cotton swabs.
Wear gloves to protect your skin.*

*Apply a thin layer of Locitite 648 onto the bonding surfaces.*

*Insert the motor shaft into the pulley and rotate it a bit.
Remove the excess Loctite from the bottom using a cotton swab.*

*Place the motor shaft and pulley on the bonding tool.
Make sure that the flats on the motor shaft are pointing upwards.
Remove the excess Loctite from the top using a cotton swab.*

*Make sure that the motor shaft vertical and fully inserted into the tool.
Let the parts cure at room temperature for a couple of hours.*

*Leave the parts on the tool, put them in an oven.

Cure the bond for another couple of hours for full strength.*

*We cure the parts at 70 degrees celcius for about 3 hours.*

*The motor shaft and pulley assemblies are now ready and can be used for the next step.*

## Bonding the Codewheel

*Code wheel, code wheel mount, motor shaft with pulley and bonding tool.*

*There are two different sources for the code wheel.
 A: Code wheel ordered from PWB / B: Code wheel from encoder kit.
 Make sure to use the corresponding code wheel mount stl file.
[A: Codewheel mount for code wheel ordered from PWB](../stl_files/encoder_codewheel_pwb_mount.STL)
[B: Codewheel mount for code wheel from encoder kit](../stl_files/encoder_codewheel_kit_mount.STL)
All the other assembly steps are identical.*

*Place the code wheel on the code wheel mount and make sure it fits before you apply glue.*

*Make sure that the code wheel is fully seated, flat and doesn't wobble when you turn it.*

*Sometimes the codewheel doesn't sit flat on the surface because of residue from the 3d printing.
 Use a flat screw driver to scratch off the residue from the corner of the part.*

*I find it easiest to bond the code wheel on the stator.
 Insert the motor shaft with the flats downwards into the bearings of the stator.*

*Adjust the inner diameter of the codewheel mount with a 4mm reamer.*

*Place the code wheel mount on the motor shaft and align the teeth of the pulley and the mount.
 Push the code wheel mount all the way down.*

*Check the distance between the end of the motor shaft and the mount.
 The distance  should be around 2mm - it's fine if it's off by 0,1 or 0,2mm.*

*Prepare your code wheel with the print facing upwards.
 Prepare the superglue, tooth pick, q-tipps and the bonding tool.
Use gloves to protect your skin from the superglue.*

***Important: The code wheel has to be mounted in the correct orientation.
 The print on the code wheel has to be readable from the top as shown in the picture.***

*Apply a thin layer of superglue to the code wheel mount.
 We use Loctite 406.*

*Place the code wheel on the mount and push it all the way down using the tool.
 Hold for 30 seconds, gently remve the tool and wait a couple of minutes for the glue to cure.*

*Code wheel bonded to the code wheel mount.*

*Rotate the motor shaft and make sure that the code wheel is horizontal and doesn't wobble.
 Remove the motor shaft assembly from the stator.*

*The motor shaft assembly is now ready for installation.*

---
## Step-by-Step Instructions

| Motor Preparation  | Motor Shaft Preparation | Encoder Preparation |Center Pulley Preparation|
| --- | --- | --- | --- |
| |   |   | |

| Output Pulley Preparation | Shell Preparation | Actuator Module Assembly |Actuator Module Testing|
| --- | --- | --- | --- |
| |   |   | |

---
## More Details
| Details 3d Printed Parts | Details Machined Parts | Mechanical Tools and Consumables |Electronic Components and Tools|
| --- | --- | --- | --- |
|||||

---
## More Information
[Open Dynamic Robot Initiative - Webpage](https://open-dynamic-robot-initiative.github.io)
[Open Dynamic Robot Initiative - YouTube Channel](https://www.youtube.com/channel/UCx32JW2oIrax47Gjq8zNI-w)
[Open Dynamic Robot Initiative - Forum](https://odri.discourse.group/categories)
[Open Dynamic Robot Initiative - Paper](https://arxiv.org/pdf/1910.00093.pdf)
[Hardware Overview](../../../README.md#open-robot-actuator-hardware)
[Software Overview](https://github.com/open-dynamic-robot-initiative/open-dynamic-robot-initiative.github.io/wiki)
[Back to Actuator Module](../README.md)
[Back to Top of Page](#details-motor-shaft-preparation)

---
## Authors
Felix Grimminger

## License
BSD 3-Clause License

## Copyright
Copyright (c) 2019-2020, Max Planck Gesellschaft and New York University


text:
# Insights
Red Hat Insights Playbooks

This project is to store ansible playbooks generated automatically by Red Hat Insights. An insights user can then add this project to Ansible Tower to deploy to Tower managed nodes

license: MIT

branch_name: refs/heads/master

extension: md

license_type: permissive


text:
# [138. Copy List with Random Pointer][enTitle]

**Medium**

A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.

**deep copy**

**Example 1:**

![img](https://discuss.leetcode.com/uploads/files/1470150906153-2yxeznm.png)

```
Input:{"$id":"1","next":{"$id":"2","next":null,"random":{"$ref":"2"},"val":2},"random":{"$ref":"2"},"val":1}

Explanation:
Node 1's value is 1, both of its next and random pointer points to Node 2.
Node 2's value is 2, its next pointer points to null and its random pointer points to itself.
```

**Note:**

1. You must return the **copy of the given head**  as a reference to the cloned list.
# [138. 复制带随机指针的链表][cnTitle]

**中等**

给定一个链表，每个节点包含一个额外增加的随机指针，该指针可以指向链表中的任何节点或空节点。

要求返回这个链表的**深拷贝** 。

**示例：**

![img](https://assets.leetcode-cn.com/aliyun-lc-upload/uploads/2019/02/23/1470150906153-2yxeznm.png)

```
输入：{"$id":"1","next":{"$id":"2","next":null,"random":{"$ref":"2"},"val":2},"random":{"$ref":"2"},"val":1}

解释：节点 1 的值是 1，它的下一个指针和随机指针都指向节点 2 。
节点 2 的值是 2，它的下一个指针指向 null，随机指针指向它自己。

```

**提示：**

1. 你必须返回**给定头的拷贝** 作为对克隆列表的引用。

# 算法思路

# 测试用例
```
138. Copy List with Random Pointer 138. 复制带随机指针的链表 Medium
Solution.copyRandomList
---
{"$id":"1","next":{"$id":"2","next":null,"random":{"$ref":"2"},"val":2},"random":{"$ref":"2"},"val":1}

={"$id":"1","next":{"$id":"2","next":null,"random":{"$ref":"2"},"val":2},"random":{"$ref":"2"},"val":1}

$disprint
---
null

=null

$disprint
---
{}

={}

$disprint
```

[enTitle]: https://leetcode.com/problems/copy-list-with-random-pointer/
[cnTitle]: https://leetcode-cn.com/problems/copy-list-with-random-pointer/

repository: philippzhang/leetcodeLearnJava

gha_language: Java

repo_name: philippzhang/leetcodeLearnJava


text:
# ![Logo](admin/blockly-plus.png) ioBroker - Blockly Plus
Add future blocks to ioBroker JavaScript-Blockly

 [ Github page](https://github.com/excal-foley/ioBroker.blockly-plus)

### Extract of blocks to be added

**> Multiple arithmetic- and logic-blocks <**

**> Telegram keybord generator <**

**> is value between this and that <**

**> if empty then <**

**> gets the index of list-loop <**

**> Multiple property/function-block <**

...and much more

### Note / Disclaimer

This project is in an early alpha phase.

The blocks could still contain bugs or be modified so that they are not downward compatible. For this reason they should'nt be transferred to a live/productive system.

You can view and test the blocks in sandbox.html, if the reposetory is copied to iobroker.

Currently the project is only translated into English and German.

This is my first project on Github and i hope i can give and get help.

### Manual

#### Install with web-interface

In adapter tab, click on the octocat-icon . Choose register "Any", insert the link `https://github.com/excal-foley/ioBroker.blockly-plus` and install.

#### Install with commands
`npm install https://github.com/excal-foley/ioBroker.blockly-plus`

You can view and test the blocks in **sandbox.html**

## Links

[this project - Github page](https://github.com/excal-foley/ioBroker.blockly-plus)

[ioBroker - Github page](https://github.com/ioBroker/ioBroker)

[ioBroker.javascript - Github page](https://github.com/ioBroker/ioBroker.javascript)

[ioBroker.telegram - Github page](https://github.com/iobroker-community-adapters/ioBroker.telegram)

[Google-Blockly - Github page](https://github.com/google/blockly)

[Google-Blockly - project page](https://developers.google.com/blockly/)

#### adapter was create with

- [haus-automatisierung.com - ioBroker Modulentwicklung](https://youtu.be/fUMtyYOtRcQ)

- [Adapter Development Documentation](https://github.com/ioBroker/ioBroker/wiki/Adapter-Development-Documentation)

- [ioBroker.template](https://github.com/ioBroker/ioBroker.template)

## License
[The MIT License (MIT)](https://github.com/excal-foley/ioBroker.blockly-plus/blob/master/LICENSE)

Copyright (c) 2020 Excal Foley<EMAIL_ADDRESS>


text:
# Firefox Mobile Device Presets
Mobile device presets for the Firefox [responsive design view](https://developer.mozilla.org/en-US/docs/Tools/Responsive_Design_View).

## Installation

In Firefox, open a new tab and navigate to `about:config`. In the search bar, search for `devtools.responsiveUI.presets`. Edit the entry (or create it if it doesn't exist yet) and replace the value with the contents of `mobile-device-presets.json`.

## Usage

Open the responsive design view through the developer tools dialog box, Firefox menu `Extra -> Web Developer -> Responsive Design View`, or by using the keyboard shortcut `Alt + Cmd + M` on Mac or `Ctrl + Shift + M` on Windows.

## Contributing

If you would like to help out with the project, we're looking for people to test the accuracy of the device presets. In order to test a device, please [open an issue for it](https://github.com/robneu/firefox-mobile-device-presets/issues/) if one doesn't already exist. Testing a device means comparing the visual representation of a website within the Firefox responsive design view to the actual display of a real, physical device.

For verification proof, please include a screenshot from the device you're testing as well as a screenshot of the same webpage in the Firefox responsive design view. If the results are inaccurate, please provide as much data as possible about the inaccuracies such as browser information, device version, screenshots, measurement data, and anything else you think will be helpful to getting a more accurate result.

If you would like to receive contributor credit on the repo, please submit a pull request against this readme file with the verification status added to the list of devices bellow. Please follow the same format used on other verified devices.

## Included Devices

All devices marked verified have been tested as accurate by someone with an actual device.

* Apple iPhone 6+
* Apple iPhone 6
* Apple iPhone 5
* Apple iPhone 3 & 4
* Google Nexus 6
* Google Nexus 5 - [Verified](https://github.com/robneu/firefox-mobile-device-presets/issues/6)
* Google Nexus 4
* Google Galaxy Nexus
* Samsung Galaxy Note Original
* Samsung Galaxy Note
* Samsung Galaxy S S2 & S3 Mini
* HTC One [Verified](https://github.com/robneu/firefox-mobile-device-presets/issues/12)
* HTC 8X
* HTC Evo 3D
* LG G3
* LG Optimus G
* Microsoft Lumia
* Microsoft Lumia 1520
* Sony Xperia Z3
* Sony Xperia Z S P
* Blackberry Q10
* Blackberry Z30
* Blackberry Z10
* Blackberry Torch
* ZTE Open - Firefox OS
* Apple iPad
* Google Nexus 10
* Google Nexus 9
* Google Nexus 7 v2 - [Verified](https://github.com/robneu/firefox-mobile-device-presets/issues/29)
* Google Nexus 7 v1 - [Verified](https://github.com/robneu/firefox-mobile-device-presets/issues/30)
* Samsung Galaxy Tab
* Samsung Galaxy Tab 2 7
* LG G Pad 8.3
* Amazon Kindle Fire HD 8.9
* Amazon Kindle Fire HD 7
* Amazon Kindle Fire
* Microsoft Surface Pro
* Microsoft Surface
* Blackberry Playbook
* Apple iPod Touch
* Google Glass

## Thanks

I'd like to say thanks to everyone who has helped improve these presets by taking the time to test them on their devices. Thank you!

- [Matt Zak](https://github.com/mzak)
- [Hans Swolfs](https://github.com/hansswolfs)

## Credits

Inspired by [Firefox Responsive Presets](https://github.com/nicwortel/firefox-responsive-presets) and built using data from [mydevice.io](http://mydevice.io/devices/).

repository: dru-id/firefox-mobile-device-presets

repo_name: dru-id/firefox-mobile-device-presets


text:
# Image

...

## Development

...

### Build application

```
$ make build-appilcation
```

### Test application

```
$ make test-appilcation
```

### Build image

```
$ make build
```

### Release image

```
$ make release version=0.0.1-example
```

## Runtime configuration

...

### Environment variables

`WEBSERVER_VERSION` - ...

...

### Entrypoint commands

`--start-http-server` - ...

...

license: Unlicense

repository: Szarlus/webdock

repo_name: Szarlus/webdock


text:
# Problem Scenario

## Persona 1: John

John, 20, UCSB undergrad student

John wants to go to the food bank to grab some apples, but he is uncertain whether apples are available at the food bank today.

John wants to check the availability and quantity of snacks at the food bank while he is in the San Nicolas dorm.

## Persona 2: Olivia

Olivia, 26, UCSB food bank staff

Olivia wants to know what kind and quantity of food are distributed today to better arrange tomorrow's orders.

## Persona 3: Matt

Matt, 35, Researcher (or administrative perhaps?)

Matt wants to know the usage of the UCSB food bank by collecting data of different categories of food provided by the food bank and the popularity of each kind of food among students.

branch_name: refs/heads/main

gha_language: CSS

gha_license_id: MIT


text:
# Installation

Installation is as easy as

```
pip install keras-complex
```

The requirements are:

```
tensorflow >= 2
numpy
scipy
scikit-learn
```

repository: JesperDramsch/keras-complex

gha_language: Python

gha_license_id: NOASSERTION

repo_name: JesperDramsch/keras-complex


text:
akjava.com GWT Lib
==================
`Apache 2.0 License`

all my project use this libraly.
gwthtml5 is merging this.

Developing Concept
-------

I'll as possible as replace with newer Guava

How to use
-----------

add newest libraly name ends with -dep(dep contain stable Guava)
add this line at your module.xml
```
<inherits name='com.akjava.gwt.common.Common'/>
```

Package summary
-------

basically something chaos..

- com.akjava.gwt.common - newest packages for GWT,I'm trying redesign here.
- com.akjava.gwt.lib.client - for GWT someof code use Guava
- com.akjava.lib.common - maybe work on pure-java but newest Guava needed.

###com.akjava.gwt.common.form
something trying integrate GWT + normal CGI

###com.akjava.gwt.lib.client
this is oldest package and really chaos.
###com.akjava.gwt.lib.client.canvas
controling Canvas classes,however somt other similar code are not here.
###com.akjava.gwt.lib.client.datalist
DataList is somekind of simple database lib with HTML5 WebStorage
iOS does not support indexedDB,i'm have to use that.

###com.akjava.gwt.lib.client.datalist.functions
classes implements Guavas's Function for datalist
###com.akjava.gwt.lib.client.entries
classed extends EntryPoint
###com.akjava.gwt.lib.client.game
lib for game,solve maze.
###com.akjava.gwt.lib.client.io
extend io
###com.akjava.gwt.lib.client.storage
more specific web storage api
###com.akjava.gwt.lib.client.widget
my custom widget

###com.akjava.gwt.lib.client.widget.cell
my custom cells & help create cells easily.

###com.akjava.gwt.lib.client.widget.cell.util
more specific help tools for cells

###com.akjava.lib.common.csv
csv reader & writer,but here is chaos

###com.akjava.lib.common.form
Form is create form-input-html-tag by csv

###com.akjava.lib.common.form.page
lib for paging

###com.akjava.lib.common.functions
classes implements Guavas's Function for Java

###com.akjava.lib.common.io
extend IO

###com.akjava.lib.common.param
parameter?

###com.akjava.lib.common.predicates
predicates for java

###om.akjava.lib.common.repackaged.org.apache.xmlgraphics.util
org.apache.xmlgraphics.util

###com.akjava.lib.common.tag
simple control html tag

###com.akjava.lib.common.utils
static classes

###com.akjava.lib.common.utils.log
help logging

Project
-------
- src - sourcecode
- lib - dependency libs
- build - released jar
- build.xml - ant build file (need GWT 2.6.1)


text:
#Elektronswer [![Build Status](https://travis-ci.org/solvillan/elektronswer.svg?branch=master)](https://travis-ci.org/solvillan/elektronswer)
Elektronswer is a webbrowser based on [electron](http://electron.atom.io). It is set to be a simple, minimalistically designed and moddable webbrowser. It is compleatly based upon web technologies such as HTML5, JS and CSS.

###Download
Downloads can be found at [our download page](http://elektronswer.doverfelt.se).
They still doesn't have installers, but is rather just archives containing an executable and all necessary files.

###Building
To build the project you need [Node.js](http://www.nodejs.org) and NPM.
Once you've downloaded the code run `npm install` to set up the project. To run the project run `npm start`.

That's it, simple huh?

###License
Elektronswer is licensed under the [MIT-license](https://github.com/solvillan/elektronswer/blob/master/LICENSE). Feel free to modify the code to your liking, and we'd love if you place a pull request with your improvements.

repository: lawrencenull/elektronswer

repo_name: lawrencenull/elektronswer


text:
---
layout: default
title: selectFrame(locator)
parent: web
tags: command web
comments: true
---

### Description
This command automates the focus on a frame/iframe of the current web page as indicated by its `locator`. With the right
locator, one can automate the toggling between multiple frames and their parent "page". In terms of locator, here are
the possibilities:

- `relative=top`: switching focus to the current page (where the frames are defined).
- `index=...`: switch focus to a frame based on its position on the current page. Frame index is zero-based. `index=2`
  means the 3rd frame of the current page.
- `id=...`: switch focus to a frame based on the `id` attribute.
- `name=...`: switch focus to a frame based on the `id` attribute.
- `XPATH`: switch focus to a frame based on the XPATH that would match it.

### Parameters

- **locator** - this parameter is the locator of the Iframe

### Example

**Script**:

![](image/selectFrame_01.png)

**Output**:

![](image/selectFrame_02.png)

### See Also

repository: nexiality/documentation

gha_language: JavaScript

repo_name: nexiality/documentation


text:
# Remote EPUB URLs

`readium2-streamer-js` implements support for web-hosted publications. Visit this link and enter a public EPUB HTTP URL (see examples below):

https://readium2.herokuapp.com/url/

Technical note: EPUB files served by `readium2-streamer-js` are normally fetched from the local filesystem. However, remote publications (such as those referenced from OPDS feeds) must be fetched efficiently across the network. This is done using HTTP partial byte range requests (rather than full EPUB download), in order to support large publications with acceptable levels of performance and memory consumption (e.g. audio / video EPUB3 files).

More information about OPDS support here: https://github.com/edrlab/r2-streamer-js/blob/develop/docs/opds.md

## A selection of public EPUB URLs:

SMOKE TEST FXL (5MB):
https://rawgit.com/readium/readium-test-files/master/functional/smoke-tests/SmokeTestFXL/SmokeTestFXL.epub
=>
https://readium2.herokuapp.com/pub/aHR0cHM6Ly9yYXdnaXQuY29tL3JlYWRpdW0vcmVhZGl1bS10ZXN0LWZpbGVzL21hc3Rlci9mdW5jdGlvbmFsL3Ntb2tlLXRlc3RzL1Ntb2tlVGVzdEZYTC9TbW9rZVRlc3RGWEwuZXB1Yg==/

INTERNAL LINK TEST (tiny):
https://readium.firebaseapp.com/epub_content/internal_link.epub
=>
https://readium2.herokuapp.com/pub/aHR0cHM6Ly9yZWFkaXVtLmZpcmViYXNlYXBwLmNvbS9lcHViX2NvbnRlbnQvaW50ZXJuYWxfbGluay5lcHVi/

CC-SHARED-CULTURE (30MB):
https://rawgit.com/pmstss/epub-books/master/cc-shared-culture.epub
=>
https://readium2.herokuapp.com/pub/aHR0cHM6Ly9yYXdnaXQuY29tL3Btc3Rzcy9lcHViLWJvb2tzL21hc3Rlci9jYy1zaGFyZWQtY3VsdHVyZS5lcHVi/
Note, video streaming:
https://readium2.herokuapp.com/pub/aHR0cHM6Ly9yYXdnaXQuY29tL3Btc3Rzcy9lcHViLWJvb2tzL21hc3Rlci9jYy1zaGFyZWQtY3VsdHVyZS5lcHVi/EPUB/video/shared-culture.mp4

MOBY DICK MEDIA OVERLAYS (10MB):
https://rawgit.com/pmstss/epub-books/master/moby-dick-mo.epub
=>
https://readium2.herokuapp.com/pub/aHR0cHM6Ly9yYXdnaXQuY29tL3Btc3Rzcy9lcHViLWJvb2tzL21hc3Rlci9tb2J5LWRpY2stbW8uZXB1Yg==/

KASAMAKURA (20MB):
https://rawgit.com/pmstss/epub-books/master/kusamakura-japanese-vertical-writing.epub
=>
https://readium2.herokuapp.com/pub/aHR0cHM6Ly9yYXdnaXQuY29tL3Btc3Rzcy9lcHViLWJvb2tzL21hc3Rlci9rdXNhbWFrdXJhLWphcGFuZXNlLXZlcnRpY2FsLXdyaXRpbmcuZXB1Yg==/

Many more test EPUBs here: https://github.com/pmstss/epub-books
...and of course more EPUBs available from OPDS feeds: https://github.com/edrlab/r2-streamer-js/blob/develop/docs/opds.md


text:
---
layout: post
title: Libcloud 0.6.2 released
author: Tomaz Muraus
tags:
  - news
  - release announcement
---

Libcloud team is pleased to announce the release of Libcloud 0.6.2!

This is primary a bug-fix release and includes the following bug-fixes:

* Fix the PollingConnection class and actually use the poll_interval class
variable (previously it was ignored). This bug-fix affects Rackspace Cloud
DNS driver, CloudStack and Ninefold compute driver.
* Fix a bug in the Rackspace Cloud DNS driver exception handling and throw
an Exception if an unexpected status code is returned.

Besides the bug-fixes it also includes some new features:

* Support for Amazon's new location (Oregon)
* Expose CloudStack provider. This way it can be used with an arbitrary
CloudStack installation and not just with the provider drivers which
sub-class it (e.g. Ninefold.com driver).

For a full list of changes, please see the CHANGES file
<https://svn.apache.org/viewvc/libcloud/branches/0.6.x/CHANGES?revision=1202009&view=markup>.

### Download

Libcloud 0.6.2 can be downloaded from
http://libcloud.apache.org/downloads.html or installed using pip:

{% highlight bash %}
pip install apache-libcloud
{% endhighlight %}

It is possible that the file hasn't been synced to all the mirrors yet. If
this is the case, please use the main Apache mirror -
http://www.apache.org/dist/libcloud

### Upgrading

If you have installed Libcloud using pip you can also use it to upgrade it:

{% highlight bash %}
pip install --upgrade apache-libcloud
{% endhighlight %}

### Upgrade notes

A page which describes backward incompatible or semi-incompatible changes
and how to preserve the old behavior when this is possible can be found at
http://libcloud.apache.org/upgrade-notes-0-6.html.

### Documentation

API documentation can be found at http://libcloud.apache.org/apidocs/0.6.2/.

### Bugs / Issues

If you find any bug or issue, please report it on our issue tracker <
https://issues.apache.org/jira/browse/LIBCLOUD>. Don't forget to attach an
example and / or test which reproduces your problem.

### Thanks

Thanks to everyone who contributed and made this release possible! Full
list of people who contributed to this release can be found in the CHANGES
file
<https://svn.apache.org/viewvc/libcloud/branches/0.6.x/CHANGES?revision=1202009&view=markup>.

Source: [release announcement][1].

[1]: http://mail-archives.apache.org/mod_mbox/libcloud-users/201111.mbox/%3CCAJMHEmJTN407_JJRfnwDuJxNsWCupEGc0cXWxs%3DM-n8HoHoQKQ%40mail.gmail.com%3E


text:
v0.3.0
------
*Released on March 1st, 2022*

**BREAKING CHANGES**
* New VTEnc API. [#31](https://github.com/vteromero/VTEnc/pull/31)

**FIXES**
* Fix nodes visiting order. [#25](https://github.com/vteromero/VTEnc/pull/25)

**OTHER**
* Improve decoding performance by memoizing higher bits. [#29](https://github.com/vteromero/VTEnc/pull/29)
* Coding style. [#30](https://github.com/vteromero/VTEnc/pull/30)
* Do not use typedef for internal structs. [#27](https://github.com/vteromero/VTEnc/pull/27)
* Re-implement BitClusterStack to use a fixed-size array instead of allocating memory. [#26](https://github.com/vteromero/VTEnc/pull/26)
* Replace BitClusterStack with generic implementation. [#28](https://github.com/vteromero/VTEnc/pull/28)
* Removes -g3 gcc flag for all targets, except debug. [#32](https://github.com/vteromero/VTEnc/pull/32)

v0.2.0
------
*Released on May 20th, 2020*

**BREAKING CHANGES**:
* Simplify API by removing specific functions for lists and sets. [#20](https://github.com/vteromero/VTEnc/pull/20)
* Add `VtencEncoder` and `VtencDecoder` structures to provide encoding parameters and to hold returning state in `vtenc_encode`* and `vtenc_decode`* functions. [#20](https://github.com/vteromero/VTEnc/pull/20)
* Remove sequence size from encoding data format. [#21](https://github.com/vteromero/VTEnc/pull/21)
* Remove `vtenc_decoded_size`* API functions. [#21](https://github.com/vteromero/VTEnc/pull/21)
* Remove "non-empty sequence" restriction when encoding sequences with no repeated values. [#21](https://github.com/vteromero/VTEnc/pull/21)
* Add `allow_repeated_values` encoding parameter. [#20](https://github.com/vteromero/VTEnc/pull/20)
* Add `skip_full_subtrees` encoding parameter. [#20](https://github.com/vteromero/VTEnc/pull/20)
* Add `min_cluster_length` encoding parameter. [#22](https://github.com/vteromero/VTEnc/pull/22)

**FIXES:**
* Fix bug on decoding steps order not matching its encoding counterpart. [#23](https://github.com/vteromero/VTEnc/pull/23)

v0.1.0
------
*Released on March 26th, 2020*
* **BREAKING CHANGE**: Encode lower bits of values in clusters of length 1. [#18](https://github.com/vteromero/VTEnc/pull/18)
* Refactor of `count_zeros_at_bit_pos`* functions to improve encoding performance. [#16](https://github.com/vteromero/VTEnc/pull/16)
* Fix bug on wrongly using `memcmp` on some testing programs. [#17](https://github.com/vteromero/VTEnc/pull/17) [#14](https://github.com/vteromero/VTEnc/pull/14)
* Tests for random sequences. [#15](https://github.com/vteromero/VTEnc/pull/15)

v0.0.3
------
*Released on February 13th, 2020*
* Refactor encoding and decoding to get rid of recursion. Decoding speed has been improved by ~ 30%.
* Added document that describes encoding data format.

v0.0.2
------
*Released on December 16th, 2019*
* Improved encoding and decoding speed.
* Added CI through GitHub Actions.

v0.0.1
------
*Released on October 27th, 2019*

repository: vteromero/VTEnc

gha_language: C

repo_name: vteromero/VTEnc


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

### Description

Cross-site scripting (XSS) vulnerability in Microsoft Office XP SP3 allows remote attackers to inject arbitrary web script or HTML via a document that contains a "Content-Disposition: attachment" header and is accessed through a cdo: URL, which renders the content instead of raising a File Download dialog box, aka "Vulnerability in Content-Disposition Header Vulnerability."

### POC

#### Reference
- https://docs.microsoft.com/en-us/security-updates/securitybulletins/2008/ms08-056

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

repository: trickest/cve

gha_language: HTML

repo_name: trickest/cve


text:
# string-methods-testing

This repository is about "recreating" array methods, and test them with jstinytest testing library.

# String Methods Testing

This project is about "recreating" string methods, and test them with jstinytest testing library. Creating step by step with simple testing cases most of the array methods. All the testing cases are made with Tiniest JavaScript unit testing library.
String Methods

-   [x] String.prototype.charAt()
-   [x] String.prototype.charCodeAt()
-   [x] String.prototype.concat()
-   [x] String.prototype.endsWith()
-   [x] String.prototype.includes()
-   [x] String.prototype.indexOf()
-   [x] String.prototype.lastIndexOf()
-   [] String.prototype.match()
-   [x] String.prototype.repeat()
-   [] String.prototype.replace()
-   [] String.prototype.search()
-   [x] String.prototype.slice()
-   [x] String.prototype.split()
-   [x] String.prototype.startsWith()
-   [x] String.prototype.substring()
-   [] String.prototype.toString()
-   [x] String.prototype.trim()
-   [x] String.prototype.trimEnd()
-   [x] String.prototype.trimStart()
-   [] String.prototype.valueOf()
-   [x] String.prototype.padEnd()
-   [x] String.prototype.padStart()

## Getting Started

Download the file and just open each array method file in your browser.

### Prerequisites

You dont need any !

## Built With

-   [tinytest.js](https://github.com/gordonmzhu/jstinytest) - Tiniest JavaScript unit testing library

## Authors

-   **Andreas Chris** - _Initial work_ -

## License

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

## Acknowledgments

-   Gordon Zhu for being excelent teacher and inspiration.
-   watchandcode.com

repository: Clickys/string-methods

repo_name: Clickys/string-methods


text:
# mIDAssistant_iGov

**mIDAssistant_iGov** is an Android Studio plugin that guides native mobile app developers with secure integeration of OpneID Connect iGov profile ([OpenID Connect iGov](https://openid.net/specs/openid-igov-openid-connect-1_0.html)) solutions within their apps.

## Features

**mIDAssistant_iGov** provides a wizard-based approach that guides developers to integrate single iGov Identity Management provider (iGov-IdMP) within their native apps. The mIDAssistant_iGov Plugin aims to support native app developers for integration of iGov-IdMPs which are fully-compliant with the both best current practices for native apps [RFC 8252](https://tools.ietf.org/html/rfc8252) and the OpenID Connect iGov draft [OpenID Connect iGov](https://openid.net/specs/openid-igov-openid-connect-1_0.html). The current version of mIDAssistant_iGov is able to:

  - Enforce the usage of best current practices (BCP) for native apps set out in
    [RFC 8252 - OAuth 2.0 for Native Apps](https://tools.ietf.org/html/rfc8252) with thanks to the integration of [AppAuth](https://appauth.io).
  - Avoid the need to download the iGov-IdMP SDK and understand its online documentations (a list of known
    IdMPs with their configuration information is embedded within our tool).
  - Automatically integrating the secure customized code to enable the communication with the different iGov-IdMPs.
  - Support ArubaID, InfocertID, IntesaID, Lepida, LoginGov, NamirialID, PosteID, SielteID, SpidIT, and TimID as OpenID Connect iGov-IdMPs.

## Requirements

mIDAssistant_iGov demands the following requirments:

- It supports Android API 16 (Jellybean) and above (AppAuth SDK requirement).
- HTTPS App Link redirection for Android API 23 and above.

## Download

You can install mIDAssistant_iGov by downloading the jar file from the Github repository.

## mIDAssistant_iGov Installation

In order to install mIDAssistant_iGov within the Android Studio environment, developers should perform the following steps:

- In the Android Studio IDE, click on the android studio menu tab → preferences → Plugins
- Select install plugin from disk → locate the mIDAssistant_iGov jar file → select → apply
- Restart the Android Studio IDE

## Setup Phase

Developers must perform the following steps:

- Create an activity for the iGov Login in the case that developers start the integeration of iGov-IdMP within their apps from the scratch, or they just need to navigate into their Login activity that they want to add the Login button.
- Create the Layout files related to the Login activity.
- Create "raw" folder within the following path ("src/app/main/res/raw").
- Developers installed the plugin within Android Studio (This step will happen just once).

## Usage

Developers should perform the steps in the setup phase beforehand. Then, developers should navigate into the targeted activity (the activity they are going to add the Login Button) and within the ``onCreate()`` method. Developers can access the plugin GUI by clicking on the mIDAssistant_iGov tab and select iGov Profile. After that, developers are shown with a GUI that contains a list of OpenID Connect iGov-IdMPs and configuration questions.

Based on the IdMP selection, varied questions will populate within the GUI. Developers should provide the necessary infromation to provide the AppAuth customize code and automatically integrate the secure code within developers app. Indeed, developers are asking to provide the following configuration information:

- Scopes: the authorization scopes that should be added within the Access Token.
- Level of Assurance: enables the IdMPs to request strong authentication methods.
- Client ID: the application specific identifier that developers will obtain after the registration of the app in the IdMPs developer dashboard.
- Button Name: It is the button name that declared by the developer in the correlated activity layout file.
- Redirection method: Developers can select the prefered method from the available IdMPs supported redirection methods.
- Valid Domain URL: In the case of the HTTPS redirection scheme, developers must provide scheme, host, and path value.
- Custom URL: In case of the Custom URL redirection scheme, developers must provide the Custom URL.

A demo video providing an overview of using the mIDAssistant_iGov plugin for integration of OpenID Connect iGov provider can be accessed [here](https://).

## Limitations

The current prototype of the mIDAssistant_iGov has the following limitations:

- Developers must create a folder at a specific location ("src/app/main/res/raw").
- The plugin supports the integration of single iGov-IdMP and the integration of multiple IdMPs is a work in progress.
- The plugin supports only the iGov profile following static client registration, while the iGov profile following dyanmic client registration and the iGov profile for SPID are the works in progress.

## License
Copyright 2019-2020, Fondazione Bruno Kessler

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Developed within [Security & Trust](https://st.fbk.eu) Research Unit at [Fondazione Bruno Kessler](https://www.fbk.eu/en/) (Italy)


text:
#Object-Oriented Programming – Practical Exam

##Problem 1 – Cosmetics Shop

Enough with these silly games – StarCraft, MarCraft...! This ain’t nerd academy! Let’s do something for the girls! We need to create an online cosmetics shop! And by “we”, I mean “ you”! :D

In the shop there are currently two types of products: shampoos and toothpastes. Each product has name, brand, price and gender (men, women, unisex). Each shampoo has quantity (in milliliters) and usage (every day or medical). All shampoos’ price is per milliliter. Toothpastes have ingredients. There are categories of products. Each category has name and products can be added or removed. The same product can be added to a category more than once. There is also a shopping cart. Products can be added or removed from it. The same product can be added to the shopping cart more than once. The shopping cart can calculate the total price of all products in it.

###Design the Class Hierarchy

Your task is to design an object-oriented class hierarchy to model the cosmetics shop, using the best practices for object-oriented design (OOD) and object-oriented programming (OOP). Avoid duplicated code though abstraction, inheritance, and polymorphism and encapsulate correctly all fields.

You are given few C# interfaces that you should obligatory implement and use as a basis of your code:

    namespace Cosmetics.Contracts
    {
        public interface ICategory
        {
            string Name { get; }

            void AddCosmetics(IProduct cosmetics);

            void RemoveCosmetics(IProduct cosmetics);

            string Print();
        }

        public interface ICosmeticsFactory
        {
            ICategory CreateCategory(string name);

            IShampoo CreateShampoo(string name, string brand, decimal price, GenderType gender,
                        uint millilitres, UsageType usage);

            IToothpaste CreateToothpaste(string name, string brand, decimal price,
                        GenderType gender, IList<string> ingredients);

            IShoppingCart ShoppingCart();
        }

        public interface IProduct
        {
            string Name { get; }

            string Brand { get; }

            decimal Price { get; }

            GenderType Gender { get; }

            string Print();
        }

        public interface IShampoo : IProduct
        {
            uint Milliliters { get; }

            UsageType Usage { get; }
        }

        public interface IToothpaste : IProduct
        {
            string Ingredients { get; }
        }

        public interface IShoppingCart
        {
            void AddProduct(IProduct product);

            void RemoveProduct(IProduct product);

            bool ContainsProduct(IProduct product);

            decimal TotalPrice();
        }
    }

Categories should implement ICategory. Adding the same product to one category more than once is allowed. Minimum category name’s length is 2 symbols and maximum is 15 symbols. The error message should be "Category name must be between {min} and {max} symbols long!". Products in category should be sorted by brand in ascending order and then by price in descending order. When removing product from category, if the product is not found, the error message should be "Product {product name} does not exist in category {category name}!". Category’s print method should return text in the following format:

	{category name} category – {number of products} products/product in total
    - {product brand} – {product name}:
      * Price: ${product price}
      * For gender: Men/Women/Unisex
      * Ingredients: {product ingredients, separated by “, “} (when applicable)
    - {product brand} – {product name}:
      * Price: ${product price}
      * For gender: {product gender}
      * Quantity: {product quantity} ml (when applicable)
      * Usage: EveryDay/Medical (when applicable)

All products should implement the IProduct interface. Minimum product name’s length is 3 symbols and maximum is 10 symbols. The error message should be "Product name must be between {min} and {max} symbols long!". Minimum brand name’s length is 2 symbols and maximum is 10 symbols. The error message should be "Product brand must be between {min} and {max} symbols long!". Gender type can be “Men”, “Women” or “Unisex”.

All shampoos should implement the IShampoo interface. Shampoo’s price is given per millilitre. Usage type can be “EveryDay” or “Medical”.

All toothpastes should implement the IToothpaste interface. Ingredients should be represented as text, joined in their order of addition, separated by “, “ (comma and space). Each ingredient name’s length should be between 4 and 12 symbols, inclusive. The error message should be "Each ingredient must be between {min} and {max} symbols long!".

Shopping cart should implement the IShoppingCart interface. Adding the same product more than once is allowed. Do not check if the product exists, when removing it from the shopping cart.

Look into the example below to get better understanding of the printing format.

All number type fields should be printed “as is”, without any formatting or rounding.

All properties in the above interfaces are mandatory (cannot be null or empty).

If a null value is passed to some mandatory property, your program should throw a proper exception.

###Additional Notes

To simplify your work you are given an already built execution engine that executes a sequence of commands read from the console using the classes and interfaces in your project (see the Cosmetics-Skeleton folder). Please, put your classes in namespace Cosmetics.Products. Implement the CosmeticsFactory class in the namespace Cosmetics.Engine.

You are only allowed to write classes. You are not allowed to modify the existing interfaces and classes except the CosmeticsFactory class.

Current implemented commands the engine supports are:

*	CreateCategory (name) – adds a category with given name. Duplicate names are not allowed
*	AddToCategory (categoryName) (productName) – adds a product to a category, if both are already created in the program
*	RemoveFromCategory (categoryName) (productName) – removes a product from a category, if both are already created in the program
*	ShowCategory (categoryName) – prints the category and all products in it
*	CreateShampoo (name) (brand) (price) (gender) (millilitres) (usage) – parses the input and creates shampoo. Duplicate names are not allowed
*	CreateToothpaste (name) (brand) (price) (gender) (ingredients) – parses the input and creates toothpaste. Ingredients are comma separated. Duplicate names are not allowed
*	AddToShoppingCart (productName) – adds a product to the shopping cart, if the product is already created
*	RemoveFromShoppingCart (productName) – removes a product from the shopping cart, if the product is created and is already in the shopping cart
*	TotalPrice – return the total price of all products in the shopping cart

All commands return appropriate success messages. In case of invalid operation or error, the engine returns appropriate error messages.

repository: svetlai/TelerikAcademy

repo_name: svetlai/TelerikAcademy


text:
---
layout: default
---

# 1997-09-15 - National Security Committee amendments to SAFE

## Header Data

From: Greg Broiles<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: bf7368aee7e41dab25708da639c4271df6cfba3bf312634ab58168a8443c0a8c

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1997-09-15 23:45:06 UTC

Raw Date: Tue, 16 Sep 1997 07:45:06 +0800

## Raw message

```
{% raw  %}From: Greg Broiles<EMAIL_ADDRESS>Date: Tue, 16 Sep 1997 07:45:06 +0800
To<EMAIL_ADDRESS>Subject: National Security Committee amendments to SAFE
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Got a fax from Dellums' office this afternoon (finally!) with the
amendments from the National Security committee to SAFE - this will be on
the web at <http://www.parrhesia.com/safe-dellums.html>.

---

AMENDMENTS TO H.R. 695
OFFERED BY MR. WELDON AND MR. DELLUMS

Strike Section 3 and insert the following:

SEC 3. EXPORTS OF ENCRYPTION.
	(a) EXPORT CONTROL OF ENCRYPTION PRODUCTS NOT CONTROLLED ON THE UNITED
STATES MUNITIONS LIST. - The Secretary of Commerce, with the concurrence of
the Secretary of Defense, shall have the authority to control the export of
encryption products not controlled on the United States Munitions List.
Decisions made by the Secretary of Commerce with the concurrence of the
Secretary of Defense with respect to exports of encryption products under
this section shall not be subject to judicial review.

	(b) LICENSE EXCEPTION FOR CERTAIN ENCRYPTION PRODUCTS - Encryption
products with encryption strength equal to or less than the level
identified in subsection (d) shall be eligible for export under a license
exception after a 1-time review, if the encryption product being exported
does not include features that would otherwise require licensing under
applicable regulations, is not destined for countries, end-users, or
end-uses that the Secretary of Commerce has determined by regulation, with
the concurrence of the Secretary of Defense, are ineligible to receive such
products, and is otherwise qualified for export.

	(c) ONE-TIME PRODUCT REVIEW - The Secretary of Commerce, with the
concurrence of the Secretary of Defense, shall specify the information that
must be submitted for the 1-time review referred to in subsection (b).

	(d) ELIGIBLE ENCRYPTION LEVELS -

		(1) INITIAL ELIGIBILITY LEVEL. - Not later than 30 days after the date of
the enactment of this Act, the President shall notify the Congress of the
maximum level of encryption strength that could be exported from the United
States under license exception pursuant to this section without harm to the
national security of the United States. Such level shall not become
effective until 60 days after such notification.

		(2) ANNUAL REVIEW OF ELIGIBILITY LEVEL - Not later than 1 year after
notifying the Congress of the maximum level of encryption strength under
paragraph (1), and annually thereafter, the President shall notify the
Congress of the maximum level of encryption strength that could be exported
from the United States under license exception pursuant to this section
without harm to the national security of the United States. Such level
shall not become effective until 60 days after such notification.

		(3) CALCULATION OF 60-DAY PERIOD. - The 60-day period referred to in
paragraphs (1) and (2) shall be computed by excluding -

			(A) the days on which either House is not in session because of an
adjournment of more than 3 days to a day certain or an adjournment of the
Congress sine die; and

			(B) each Saturday and Sunday, not excluded under subparagraph (A), when
either House is not in session.

	(e) EXERCISE OF EXISTING AUTHORITIES. - The Secretary of Commerce and the
Secretary of Defense may exercise the authorities they have under other
provisions of law to carry out this section.

Amend the title so as to read "A bill to amend title 18, United States
Code, to affirm the rights of United States persons to use and sell
encryption."

[Note - title 18 is the criminal section of the US Code. SAFE's original
title was "To amend title 18, United States Code, to affirm the rights of
United States persons to use and sell encryption and to relax export
controls on encryption."]

--
Greg Broiles                | US crypto export control policy in a nutshell:
<EMAIL_ADDRESS>       |
http://www.io.com/~gbroiles | Export jobs, not crypto.

{% endraw %}
```

## Thread

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

+ Return to "[Ben Cox <cox+@transarc.com>](/authors/ben_cox_cox_at_transarc_com_)"
+ Return to "[Carl Ellison <cme@cybercash.com>](/authors/carl_ellison_cme_at_cybercash_com_)"
+ Return to "[f_estema@alcor.concordia.ca](/authors/f_estema_at_alcor_concordia_ca)"
+ Return to "[Greg Broiles <gbroiles@netbox.com>](/authors/greg_broiles_gbroiles_at_netbox_com_)"
+ Return to "[Lee Tien <tien@well.com>](/authors/lee_tien_tien_at_well_com_)"
+ Return to "["Peter D. Junger" <junger@upaya.multiverse.com>](/authors/peter_d_junger_junger_at_upaya_multiverse_com_)"
+ Return to "[Tim May <tcmay@got.net>](/authors/tim_may_tcmay_at_got_net_)"

+ 1997-09-15 (Tue, 16 Sep 1997 07:45:06 +0800) - National Security Committee amendments to SAFE - _Greg Broiles<EMAIL_ADDRESS>  + 1997-09-17 (Thu, 18 Sep 1997 04:26:43 +0800) - [Re: National Security Committee amendments to SAFE](/archive/1997/09/0539189d7caa09479c00afe1d1681baa879fdc7cdf12d521da233b8d5e731cc3) - _Carl Ellison<EMAIL_ADDRESS>    + 1997-09-17 (Thu, 18 Sep 1997 07:13:58 +0800) - [Re: National Security Committee amendments to SAFE](/archive/1997/09/cd175dc11eb4a9dc333ee570c1cde7399e727d927b32b16f0e5a5965ca7b0af0) - _Tim May<EMAIL_ADDRESS>    + 1997-09-18 (Thu, 18 Sep 1997 16:42:38 +0800) - [Re: National Security Committee amendments to SAFE](/archive/1997/09/d67732f9b0dcc7d8eaeb15dccd960d46101fc6ac7fa5aeeed30df291936fd44e) - _"Peter D. Junger"<EMAIL_ADDRESS>  + 1997-09-17 (Thu, 18 Sep 1997 05:42:19 +0800) - [Re: National Security Committee amendments to SAFE](/archive/1997/09/c619976de9c6fbd95ccf93865380094ee324539e6dc5cc765ebe71582a03cc30) - _Ben Cox<EMAIL_ADDRESS>    + 1997-09-17 (Thu, 18 Sep 1997 06:11:20 +0800) - [Re: National Security Committee amendments to SAFE](/archive/1997/09/50a672c96d2ebf4c4b1e530e30c91b27292097bf81a7d1793275bd1020c487de) -<EMAIL_ADDRESS>    + 1997-09-18 (Thu, 18 Sep 1997 13:49:22 +0800) - [Re: National Security Committee amendments to SAFE](/archive/1997/09/91285f4f4cf532034320021d77de34d562b18eb1356feadf53a22c74128b83c3) - _Lee Tien<EMAIL_ADDRESS>  + 1997-09-17 (Thu, 18 Sep 1997 06:14:48 +0800) - [Re: National Security Committee amendments to SAFE](/archive/1997/09/847eadcaf30c5694a78044f916cc63706dddd54d39f4defe8c6a92407a7cddf8) - _Greg Broiles<EMAIL_ADDRESS>    + 1997-09-18 (Thu, 18 Sep 1997 17:13:47 +0800) - [Re: National Security Committee amendments to SAFE](/archive/1997/09/5ed443c59ba1cc19cf40f53f485ca032780a074cb50d31fb9d10320de53a8b2e) - _"Peter D. Junger"<EMAIL_ADDRESS>


text:
1. If you had to describe semantic HTML to the next cohort of students, what would you say?

Semantic HTML is giving meaning to your website

2. Describe some differences between ```display: block;``` and ```display: inline;```.

display: block takes up whole width of a line while display: inline takes up a certain width

3. What are the 4 areas of the box model?

Margin, Border, padding, and content

4. While using flexbox, what axis are you using when you use the property: ```align-items: center```?

cross axis

5.


text:
## Array Performance Testing

This file tests the efficency of C++ arrays, Vectors, and Valarrays.  Each is tested in four areas: Initialization, Filling the array with zeroes, Sequential access of each element in the array, and Random access of each element in the array.  It also tests different methods such as Vector [] with .at() for accessing elements.

## How to Use

Compile the program by running (replace the X with 0-4 for different compiler optimization levels)

> g++ -OX -o arraytest arraySpeedTest.cpp

Then run the test using

> ./arraytest

## Results

When used properly, Array, Vector, and Valarray have very similar performance.  Built-in compiler optimization makes a huge difference in speed.  If you know the size of your data beforehand, then reserve the size of the array before using it.  Avoid functions that perform bounds checking.

## Sample Output

>No optimization:
>Array initialization took       	43989   µs
>Vector initialization took      	182074  µs
>Valarray initialization took    	58962   µs
>
>Array access and sum took       	22617   µs
>Vector [] access and sum took   	30256   µs
>Vector .at() access and sum took        105913  µs
>Valarray access and sum took    	30225   µs
>
>Array random access and sum took        105570  µs
>Vector [] random access and sum took    142558  µs
>Vector .at() random access and sum took 289157  µs
>Valarray random access and sum took     143044  µs
>
>O1 :
>Array initialization took       	23012   µs
>Vector initialization took      	42519   µs
>Valarray initialization took    	24857   µs
>
>Array access and sum took       	6809    µs
>Vector [] access and sum took   	6338    µs
>Vector .at() access and sum took        6639    µs
>Valarray access and sum took    	6544    µs
>
>Array random access and sum took        73207   µs
>Vector [] random access and sum took    73429   µs
>Vector .at() random access and sum took 73406   µs
>Valarray random access and sum took     73156   µs
>
>O2:
>Array initialization took       	20268   µs
>Vector initialization took      	37518   µs
>Valarray initialization took    	21361   µs
>
>Array access and sum took       	6906    µs
>Vector [] access and sum took   	6638    µs
>Vector .at() access and sum took        6449    µs
>Valarray access and sum took    	6586    µs
>
>Array random access and sum took        73473   µs
>Vector [] random access and sum took    73400   µs
>Vector .at() random access and sum took 73767   µs
>Valarray random access and sum took     75460   µs


text:
# Contributing guide for “qm-interpolated-string” Haskell library

This document has some notes, instructions, and recommendations for making a
contribution to the project.

## Development environment

This project supports 3 build tools:

1. [Cabal](https://www.haskell.org/cabal/)
2. [Stack](https://haskellstack.org)
3. [Nix (package manager)](https://github.com/NixOS/nix)
   (also Cabal and Stack are available in the nix-shell configuration)

### Cabal

``` sh
cabal build
```

### Stack

``` sh
stack build
```

### Nix

#### Build

``` sh
nix-build
```

See for `result*` files.

#### Enter development nix-shell

``` sh
nix-shell
```

You can also use [direnv](https://direnv.net/).
See [.envrc example file](.envrc.example).

##### Using Cabal and Stack inside nix-shell

Cabal is turned on by default. You can change what tools are available by
providing `buildTools` argument:

``` sh
nix-shell --arg buildTools '[ "cabal" "stack" ]'
```

##### Haskell Language Server

[HLS](https://github.com/haskell/haskell-language-server) is turned on by
default (see `withHLS` argument).

###### Vim

If you are using (Neo)Vim you can use
[vim-lsp](https://github.com/prabirshrestha/vim-lsp) plugin.
Here is a configuration example:

``` viml
if executable('haskell-language-server-wrapper')
  aug HaskellLsp
  au! User lsp_setup cal lsp#register_server({
    \ 'name': 'hls',
    \ 'cmd': {server_info->['haskell-language-server-wrapper', '--lsp']},
    \ 'allowlist': ['haskell'],
    \ })
  aug END
en
```

##### Using different GHC versions

See `nixpkgs.haskell.packages.*` for available GHC versions.
Example (HLS was failing to build with GHC 9.2.3 at the moment, turned it off):

``` sh
nix-shell --argstr ghcVersion ghc923 --arg withHLS false
```

## How to upload new version to Hackage

See https://hackage.haskell.org/upload page for details.

We are going to use Cabal for this. If you are using Nix you can just enter
`nix-shell` being in the directory of this repository, Cabal will be available.
I recommend to use at least Cabal v3 for this.

1. Check the CI first that everything is green.

   https://github.com/unclechu/haskell-qm-interpolated-string/actions

2. Cleanup the artifacts of previous builds:

   ``` sh
   cabal clean
   ```

3. Check that everything is okay with *.cabal file:

   ``` sh
   cabal check
   ```

4. Build the library:

   ``` sh
   cabal build
   ```

5. Run tests:

   ``` sh
   cabal test
   ```

6. Build documentation using [Haddock][Haddock]:

   ``` sh
   cabal v2-haddock --builddir=dist-docs --haddock-for-hackage --enable-documentation
   ```

7. Create a source distribution:

   ``` sh
   cabal sdist
   ```

8. Test the distribution as a *candidate*:

   1. Upload produced tarball:

      ``` sh
      cabal upload dist-newstyle/sdist/qm-interpolated-string-<IP_ADDRESS>.tar.gz
      ```

      where `<IP_ADDRESS>` is a version you're going to release.

   2. Upload previously generated docs for the *candidate*:

      ``` sh
      cabal upload -d dist-docs/qm-interpolated-string-<IP_ADDRESS>-docs.tar.gz
      ```

      where `<IP_ADDRESS>` is a version you're going to release.

   3. Look for the given link in the logs to the *candidate* page, open it,
      and inspect carefully that everything seems correct, including
      documentation.

9. If you sure it's ready to be released (**this cannot be undone!**) then do it:

   ``` sh
   cabal upload --publish dist-newstyle/sdist/qm-interpolated-string-<IP_ADDRESS>.tar.gz
   ```

   where `<IP_ADDRESS>` is a version you're going to release.

10. Publish previously generated docs:

    ``` sh
    cabal upload --publish -d dist-docs/qm-interpolated-string-<IP_ADDRESS>-docs.tar.gz
    ```

    where `<IP_ADDRESS>` is a version you're going to release.

11. Do not forget to create and push a Git tag for the new version!

    https://github.com/unclechu/haskell-qm-interpolated-string/tags

[Haddock]: https://hackage.haskell.org/package/haddock

repository: unclechu/haskell-qm-interpolated-string

gha_language: Haskell

gha_license_id: Unlicense

repo_name: unclechu/haskell-qm-interpolated-string


text:
# Kernel Regression Leave-p-Out Cross-Validation workflow

Functions in this folder provides a wrapper function to perform single-kernel leave-p-sites-out cross-validation workflow used in the paper. Suppose all the subjects are from N sites, in each cross-validation fold we choose subjects from p sites as test set and the remaining subjects in the training set. This is repeated N-choose-p times.

# Usage
Run `./CBIG_TRBPC_KRR_LpOCV_workflow.sh --help` for the usage

repository: ThomasYeoLab/CBIG

gha_language: MATLAB

repo_name: ThomasYeoLab/CBIG


text:
## `ArchToken`

The governance token for Archer DAO

ERC-20 with supply controls + add-ons to allow for offchain signing

See EIP-712, EIP-2612, and EIP-3009 for details

# Functions:

- [`constructor(address _metadataManager, address _supplyManager, uint256 _firstSupplyChangeAllowed)`](#ArchToken-constructor-address-address-uint256-)

- [`setSupplyManager(address newSupplyManager)`](#ArchToken-setSupplyManager-address-)

- [`setMetadataManager(address newMetadataManager)`](#ArchToken-setMetadataManager-address-)

- [`mint(address dst, uint256 amount)`](#ArchToken-mint-address-uint256-)

- [`burn(address src, uint256 amount)`](#ArchToken-burn-address-uint256-)

- [`setMintCap(uint16 newCap)`](#ArchToken-setMintCap-uint16-)

- [`setSupplyChangeWaitingPeriod(uint32 period)`](#ArchToken-setSupplyChangeWaitingPeriod-uint32-)

- [`updateTokenMetadata(string tokenName, string tokenSymbol)`](#ArchToken-updateTokenMetadata-string-string-)

- [`allowance(address account, address spender)`](#ArchToken-allowance-address-address-)

- [`approve(address spender, uint256 amount)`](#ArchToken-approve-address-uint256-)

- [`increaseAllowance(address spender, uint256 addedValue)`](#ArchToken-increaseAllowance-address-uint256-)

- [`decreaseAllowance(address spender, uint256 subtractedValue)`](#ArchToken-decreaseAllowance-address-uint256-)

- [`permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)`](#ArchToken-permit-address-address-uint256-uint256-uint8-bytes32-bytes32-)

- [`balanceOf(address account)`](#ArchToken-balanceOf-address-)

- [`transfer(address dst, uint256 amount)`](#ArchToken-transfer-address-uint256-)

- [`transferFrom(address src, address dst, uint256 amount)`](#ArchToken-transferFrom-address-address-uint256-)

- [`transferWithAuthorization(address from, address to, uint256 value, uint256 validAfter, uint256 validBefore, bytes32 nonce, uint8 v, bytes32 r, bytes32 s)`](#ArchToken-transferWithAuthorization-address-address-uint256-uint256-uint256-bytes32-uint8-bytes32-bytes32-)

- [`receiveWithAuthorization(address from, address to, uint256 value, uint256 validAfter, uint256 validBefore, bytes32 nonce, uint8 v, bytes32 r, bytes32 s)`](#ArchToken-receiveWithAuthorization-address-address-uint256-uint256-uint256-bytes32-uint8-bytes32-bytes32-)

- [`getDomainSeparator()`](#ArchToken-getDomainSeparator--)

# Events:

- [`MintCapChanged(uint16 oldMintCap, uint16 newMintCap)`](#ArchToken-MintCapChanged-uint16-uint16-)

- [`SupplyManagerChanged(address oldManager, address newManager)`](#ArchToken-SupplyManagerChanged-address-address-)

- [`SupplyChangeWaitingPeriodChanged(uint32 oldWaitingPeriod, uint32 newWaitingPeriod)`](#ArchToken-SupplyChangeWaitingPeriodChanged-uint32-uint32-)

- [`MetadataManagerChanged(address oldManager, address newManager)`](#ArchToken-MetadataManagerChanged-address-address-)

- [`TokenMetaUpdated(string name, string symbol)`](#ArchToken-TokenMetaUpdated-string-string-)

- [`Transfer(address from, address to, uint256 value)`](#ArchToken-Transfer-address-address-uint256-)

- [`Approval(address owner, address spender, uint256 value)`](#ArchToken-Approval-address-address-uint256-)

- [`AuthorizationUsed(address authorizer, bytes32 nonce)`](#ArchToken-AuthorizationUsed-address-bytes32-)

# Function `constructor(address _metadataManager, address _supplyManager, uint256 _firstSupplyChangeAllowed)` {#ArchToken-constructor-address-address-uint256-}

Construct a new Arch token

## Parameters:

- `_metadataManager`: The account with the ability to change token metadata

- `_supplyManager`: The address with minting ability

- `_firstSupplyChangeAllowed`: The timestamp after which the first supply change may occur

# Function `setSupplyManager(address newSupplyManager) → bool` {#ArchToken-setSupplyManager-address-}

Change the supplyManager address

## Parameters:

- `newSupplyManager`: The address of the new supply manager

## Return Values:

- true if successful

# Function `setMetadataManager(address newMetadataManager) → bool` {#ArchToken-setMetadataManager-address-}

Change the metadataManager address

## Parameters:

- `newMetadataManager`: The address of the new metadata manager

## Return Values:

- true if successful

# Function `mint(address dst, uint256 amount) → bool` {#ArchToken-mint-address-uint256-}

Mint new tokens

## Parameters:

- `dst`: The address of the destination account

- `amount`: The number of tokens to be minted

## Return Values:

- Boolean indicating success of mint

# Function `burn(address src, uint256 amount) → bool` {#ArchToken-burn-address-uint256-}

Burn tokens

## Parameters:

- `src`: The account that will burn tokens

- `amount`: The number of tokens to be burned

## Return Values:

- Boolean indicating success of burn

# Function `setMintCap(uint16 newCap) → bool` {#ArchToken-setMintCap-uint16-}

Set the maximum amount of tokens that can be minted at once

## Parameters:

- `newCap`: The new mint cap in bips (10,000 bips = 1% of totalSupply)

## Return Values:

- true if successful

# Function `setSupplyChangeWaitingPeriod(uint32 period) → bool` {#ArchToken-setSupplyChangeWaitingPeriod-uint32-}

Set the minimum time between supply changes

## Parameters:

- `period`: The new supply change waiting period

## Return Values:

- true if succssful

# Function `updateTokenMetadata(string tokenName, string tokenSymbol) → bool` {#ArchToken-updateTokenMetadata-string-string-}

Update the token name and symbol

## Parameters:

- `tokenName`: The new name for the token

- `tokenSymbol`: The new symbol for the token

## Return Values:

- true if successful

# Function `allowance(address account, address spender) → uint256` {#ArchToken-allowance-address-address-}

Get the number of tokens `spender` is approved to spend on behalf of `account`

## Parameters:

- `account`: The address of the account holding the funds

- `spender`: The address of the account spending the funds

## Return Values:

- The number of tokens approved

# Function `approve(address spender, uint256 amount) → bool` {#ArchToken-approve-address-uint256-}

Approve `spender` to transfer up to `amount` from `src`

This will overwrite the approval amount for `spender`

and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve)

It is recommended to use increaseAllowance and decreaseAllowance instead

## Parameters:

- `spender`: The address of the account which may transfer tokens

- `amount`: The number of tokens that are approved (2^256-1 means infinite)

## Return Values:

- Whether or not the approval succeeded

# Function `increaseAllowance(address spender, uint256 addedValue) → bool` {#ArchToken-increaseAllowance-address-uint256-}

Increase the allowance by a given amount

## Parameters:

- `spender`: Spender's address

- `addedValue`: Amount of increase in allowance

## Return Values:

- True if successful

# Function `decreaseAllowance(address spender, uint256 subtractedValue) → bool` {#ArchToken-decreaseAllowance-address-uint256-}

Decrease the allowance by a given amount

## Parameters:

- `spender`: Spender's address

- `subtractedValue`: Amount of decrease in allowance

## Return Values:

- True if successful

# Function `permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)` {#ArchToken-permit-address-address-uint256-uint256-uint8-bytes32-bytes32-}

Triggers an approval from owner to spender

## Parameters:

- `owner`: The address to approve from

- `spender`: The address to be approved

- `value`: The number of tokens that are approved (2^256-1 means infinite)

- `deadline`: The time at which to expire the signature

- `v`: The recovery byte of the signature

- `r`: Half of the ECDSA signature pair

- `s`: Half of the ECDSA signature pair

# Function `balanceOf(address account) → uint256` {#ArchToken-balanceOf-address-}

Get the number of tokens held by the `account`

## Parameters:

- `account`: The address of the account to get the balance of

## Return Values:

- The number of tokens held

# Function `transfer(address dst, uint256 amount) → bool` {#ArchToken-transfer-address-uint256-}

Transfer `amount` tokens from `msg.sender` to `dst`

## Parameters:

- `dst`: The address of the destination account

- `amount`: The number of tokens to transfer

## Return Values:

- Whether or not the transfer succeeded

# Function `transferFrom(address src, address dst, uint256 amount) → bool` {#ArchToken-transferFrom-address-address-uint256-}

Transfer `amount` tokens from `src` to `dst`

## Parameters:

- `src`: The address of the source account

- `dst`: The address of the destination account

- `amount`: The number of tokens to transfer

## Return Values:

- Whether or not the transfer succeeded

# Function `transferWithAuthorization(address from, address to, uint256 value, uint256 validAfter, uint256 validBefore, bytes32 nonce, uint8 v, bytes32 r, bytes32 s)` {#ArchToken-transferWithAuthorization-address-address-uint256-uint256-uint256-bytes32-uint8-bytes32-bytes32-}

Transfer tokens with a signed authorization

## Parameters:

- `from`: Payer's address (Authorizer)

- `to`: Payee's address

- `value`: Amount to be transferred

- `validAfter`: The time after which this is valid (unix time)

- `validBefore`: The time before which this is valid (unix time)

- `nonce`: Unique nonce

- `v`: The recovery byte of the signature

- `r`: Half of the ECDSA signature pair

- `s`: Half of the ECDSA signature pair

# Function `receiveWithAuthorization(address from, address to, uint256 value, uint256 validAfter, uint256 validBefore, bytes32 nonce, uint8 v, bytes32 r, bytes32 s)` {#ArchToken-receiveWithAuthorization-address-address-uint256-uint256-uint256-bytes32-uint8-bytes32-bytes32-}

Receive a transfer with a signed authorization from the payer

This has an additional check to ensure that the payee's address matches

the caller of this function to prevent front-running attacks.

## Parameters:

- `from`: Payer's address (Authorizer)

- `to`: Payee's address

- `value`: Amount to be transferred

- `validAfter`: The time after which this is valid (unix time)

- `validBefore`: The time before which this is valid (unix time)

- `nonce`: Unique nonce

- `v`: v of the signature

- `r`: r of the signature

- `s`: s of the signature

# Function `getDomainSeparator() → bytes32` {#ArchToken-getDomainSeparator--}

EIP-712 Domain separator

# Event `MintCapChanged(uint16 oldMintCap, uint16 newMintCap)` {#ArchToken-MintCapChanged-uint16-uint16-}

An event that's emitted when the mintCap is changed

# Event `SupplyManagerChanged(address oldManager, address newManager)` {#ArchToken-SupplyManagerChanged-address-address-}

An event that's emitted when the supplyManager address is changed

# Event `SupplyChangeWaitingPeriodChanged(uint32 oldWaitingPeriod, uint32 newWaitingPeriod)` {#ArchToken-SupplyChangeWaitingPeriodChanged-uint32-uint32-}

An event that's emitted when the supplyChangeWaitingPeriod is changed

# Event `MetadataManagerChanged(address oldManager, address newManager)` {#ArchToken-MetadataManagerChanged-address-address-}

An event that's emitted when the metadataManager address is changed

# Event `TokenMetaUpdated(string name, string symbol)` {#ArchToken-TokenMetaUpdated-string-string-}

An event that's emitted when the token name and symbol are changed

# Event `Transfer(address from, address to, uint256 value)` {#ArchToken-Transfer-address-address-uint256-}

The standard EIP-20 transfer event

# Event `Approval(address owner, address spender, uint256 value)` {#ArchToken-Approval-address-address-uint256-}

The standard EIP-20 approval event

# Event `AuthorizationUsed(address authorizer, bytes32 nonce)` {#ArchToken-AuthorizationUsed-address-bytes32-}

An event that's emitted whenever an authorized transfer occurs


text:
# Auth0 Setup

You need to have an Auth0 OAuth application registered ahead of time, see
Auth0's official documentation about [registering an app].

[registering an app]: https://auth0.com/docs/get-started/auth0-overview/create-applications/regular-web-apps

## JupyterHub configuration

Your `jupyterhub_config.py` file should look something like this:

```python
c.JupyterHub.authenticator_class = "auth0"
c.OAuthenticator.oauth_callback_url = "https://[your-domain]/hub/oauth_callback"
c.OAuthenticator.client_id = "[your oauth2 application id]"
c.OAuthenticator.client_secret = "[your oauth2 application secret]"
```

## Additional required configuration

Auth0OAuthenticator expands OAuthenticator with the following required config,
read more about it in the configuration reference:

- {attr}`.Auth0OAuthenticator.auth0_domain`

repository: jupyterhub/oauthenticator

repo_name: jupyterhub/oauthenticator


text:
---
title: OnClientDropDownItemDataBound
page_title: OnClientDropDownItemDataBound - RadAutoCompleteBox
description: Check our Web Forms article about OnClientDropDownItemDataBound.
slug: autocompletebox/client-side-programming/events/onclientdropdownitemdatabound
tags: onclientdropdownitemdatabound
published: True
position: 12
---

# OnClientDropDownItemDataBound

##

The **OnClientDropDownItemDataBound** client-side event occurs for each item that is created during a request to a Web service.

The event handler receives two parameters:

1. An instance of RadAutoCompleteBox firing the event.

1. An eventArgs parameter containing the following methods:

* **get_item()** - returns the client object of the drop-down item.

* **get_dataItem()** - returns a reference to the **DataItem**(**AutoCompleteBoxItemData** or any other serializable custom object) that the current drop-down item is bound to.

````JavaScript
<script type="text/javascript">
	function dropDownItemDataBound(sender, args) {
		alert("Item with Text='" + args.get_item().get_text() + "' has just been bound.");
	}
</script>
````

````ASPNET
<telerik:RadAutoCompleteBox RenderMode="Lightweight" runat="server" ID="RadAutoCompleteBox1" OnClientDropDownItemDataBound="dropDownItemDataBound">
	<WebServiceSettings Path="ClientTemplates.aspx" Method="GetChildren" />
</telerik:RadAutoCompleteBox>
````

# See Also

 * [Overview]({%slug autocompletebox/client-side-programming/overview%})

repository: telerik/ajax-docs

gha_language: C#

repo_name: telerik/ajax-docs


text:
---
layout: post
title: Week 9 Preview - Media Queries and Atomic Design
category: blog
published: true
---

Let your interested friends know that the RWD class will be held at the same time and place for Fall 2016!

* Tuesdays from 5:30 - 8: 15 p.m. at IdeaBase
* Both undergraduate and graduate sections
* Permission from the student's advisor is required in order to register for the course

Please send those interested to the RWD website or have them contact me with any questions about the course.

Many programs will substitute this class as one of the required program electives.

## Last Week

In the last class we:

* Had an in-class show-and-tell for your Style Tiles
* Covered CSS boxes, layouts and images
* Got started on the CSS Basics 2 assignment

You can find the slides from each class under the [Class Schedule](http://rwdkent.com/class/schedule/) section of the website.

## For Next Class

We'll be putting together everything we've learned and covering HTML and CSS responsive layouts and media queries.  We'll also discuss the atomic design methodology.  Finally, we'll get started on the mini-assignment, CSS Layout/Media Queries.

### Guest Speaker: Tyler Clark

Tyler Clark is a consultant, writer and frequent speaker on business technology and digital marketing.  He most recently worked as Senior Digital Architect for Hitchcock Fleming & Associates, and he was previously an Interactive Designer/Developer for Kent State University and managed his own web consulting firm.

Tyler will join us for a half hour to speak and answer questions about his extensive experience working on websites with teams from a variety of industries.

### CSS Basics 2

This is the individual CodePen assignment that we started in class.  In it, you're applying CSS styles as well as HTML5 elements to your pre-existing Welcome Weekend website.  You'll be using the whole family of CSS attributes to make this happen.  Submit the assignment like normal via Blackboard.

Because this is likely the most challenging mini-assignment yet, I will give you some time to finish it up at the beginning of class.  Please come see me if you'd like any additional help!

View CSS Basics 2 Details

### Reading

There are a few assigned readings for class.  If nothing else, you should definitely be familiar with the reading from the Responsive Web Design book.

* HTML&CSS - Ch. 17 HTML5 Layout (this finishes the book)
* Responsive Web Design Ch. 2 The Flexible Grid, Ch. 3 Flexible Images, Ch. 4 Media Queries
* [Atomic Web Design by Brad Frost](http://bradfrost.com/blog/post/atomic-web-design/)
* [Responsive Deliverables by Dave Rupert](http://daverupert.com/2013/04/responsive-deliverables/)

## News and Announcements

Check out your mid-semester grades in the Blackboard Learn gradebook to see where you're at so far. There are ***38 points*** total in the class right now.

repository: KentStateWeb/rwd

repo_name: KentStateWeb/rwd


text:
---
layout: post
title: "New year, New Things!"
---

Well, well well - it's been a long time since the last update.

### A lot of things has happened in the last 3 months.

* First things first, Christmas again in Hong Kong (love it).
* Followed by New Years Eve in Korea
* Then back to Taiwan in the beginning of the year for a little to get some business sorted out
* Then powering on to HK for startup weekend, and startmeupfestival.
* As a result of a very successful startup weekend, a [Vaultarch](https://vaultarch.com) was born. A secure platform for detecting counterfeits through imaging. We've pivoted a few times due to demand, but I think we are settling down in the  area where we are doing provenance.

### As a result of winning startup weekend
* Launch IoT (although I could have gotten a free ticket anyway). Lots of good connections including meeting a friend of a friend coming from Malaysia (will visit next week). And another travelpreneur friend of mine from Korea (also going to catch up soon - so far with met in 3 different cities!).
* Meeting some more ppl at startup weekend

### Chinese New Year
* Chinese New Year for the first time in Hong Kong was a blast. Met a **TON** of connections from Hong Kong and abroad. This is going to make it hard to leave soon.
* A nice short break too, and got to experience the local culture

### As a result of winning startup weekend
* Being pitched many ideas (thanks to startupweekend)
* Work Work Work on making the startup weekend project a reality. And ended up staying in Hong Kong longer than anticipated (missed out on this years Sydney Mardi Gras, and SXSW 2016). Always next year though I hope.

### Other stuff
* Friend of Friend development leads are starting to pay off with referrals.
* Kicked off startup weekend in Shenzhen
* Passive income for some past projects trickling in (after some big projects funding dried up)
* Converting my bitcoin exchange API bindings to ruby gems
* Amazon Lambda and OpenCV
* Amazon Lambda in general (and trying to focus on static sites with javascript microservices)

### And now for the latest project
Which I might add, should interest nomads - [Where was I in the last 90 days](http://static.barryteoh.com/travel-stats.html)

Sounds good? It's sure a rollercoaster - just like the prices of bitcoin.

### Future
* Kicking off another passive income project in Taipei soon. This will hopefully match the same income I've had. Only that I don't have to do much but actually focus on new stuff.
* Funnelling funds into my current startup (and other startups)
* RISE
* Hopefully a new Hong Kong visa in the future (It's been an awesome 1 1/2 years. I feel like I need to stay for more)

### Messing Around

**Snapchat**

![Snapcode](https://images.itinerantfoodie.com/snapchat_code.png)

**Peach**

Username: barryt


text:
## Camunda Cockpit Command-Line Client

The [Camunda Cockpit web application][2] enables easy resolution of isolated incidents. However, it's much more common to have many incidents arise simultaneously, along with similar exceptions messages — for example, "Read timed out." Retrying multiple incidents using the Cockpit web app is very cumbersome. That's why we've created this command line client, which simplifies bulk-handling of incidents using Camunda Process Engine's [REST API][1].

 **Featured operations**. This tool supports the following:

 - Listing process instances (`--list` / `-l`)
 - Increasing job retries (`--retry` / `-r`)
 - Canceling process instances (`--cancel` / `-c`)

Select **process instances** to operate on with these:

 - Process instance id (`--process-instance-id` / `-i`)
 - Part of an error message from a failed job (`--message` / `-m`)
 - Time range (`--from-timestamp` and `--to-timestamp`, both in ISO-8601 format)

###Development Status
####Login/Configuration

This tool supports cookie-based authorization of the Camunda Cockpit and [OAuth](https://oauth.net/). Configure the base url and process engine name in a configuration file. The script tries to read the configuration from the following two places:

 - the user's home directory, as `~/.cockpit-client.yaml`
 - relative to this Python script, as `cockit-client.yaml`

The authors have tested and used the following script/configuration file in production with version 7.1 and 7.4 of the Camunda engine. In this example, four process engines run for the live instance:

    live:
        url: 'https://live.example.com/engine-rest'
        engines: [engine1, engine2, engine3, engine4]
        auth: 'oauth'
    staging:
        url: 'https://staging.example.com/camunda'
        api-path: 'api/engine'
        engines: [engine1, engine2]
        verify: '/path/to/certificate.pem'

Here, you could either specify the process engine using the `--shard` flag on the command line, or use the `--all` flag to execute the operation on all process engines of an environment.

If the url uses HTTPS without a certificate known to the [Python request library][3], you can specify a path to a certificate in this configuration file.

###Contributing to Camunda Cockpit Command-Line Client
This project welcomes feedback and contributions. Feel free to claim something from our ["Help Wanted"](https://github.com/zalando/SwiftMonkey) items, or pitch an idea of your own. And take a look at our [Contributor guidelines](https://github.com/zalando/camunda-cockpit-client/blob/master/CONTRIBUTING.md) for info and updates about our process.

###License
This project uses the [Apache license, version 2](https://github.com/zalando/camunda-cockpit-client/blob/master/LICENSE).

 [1]: https://docs.camunda.org/manual/7.4/reference/rest/
 [2]: https://camunda.org/features/cockpit/
 [3]: http://docs.python-requests.org/en/master/user/advanced/#ca-certificates


text:
# TODO

## 1.0
- ~~Finish documenting DSL spec in DSL.md~~
- ~~Split tests out into separate files~~
- ~~Columns~~
  - ~~Names & headers (revised header name behavior)~~
  - ~~Raw parser (verify behavior)~~
  - ~~String parser (verify behavior)~~
  - ~~Integer parser (handle negative values)~~
  - ~~Decimal parser (handle negative values)~~
  - ~~Allow accounting negative notation for integer & decimal~~
  - ~~Boolean parser (whitelist negative values; return nil for everythign else)~~
  - ~~Date parser (implement)~~
  - ~~Time parser (implement)~~
  - ~~Think about what to do with invalid date/time values~~
  - ~~Update error messages to reflect additional parsers~~
  - ~~Custom parser blocks (verify behavior)~~
  - ~~Custom named parsers (verify behavior)~~
  - ~~Reserved column names (verify behavior)~~
  - ~~Parsing `nil` and `blank` values (verify behavior)~~
- ~~Importing~~
  - ~~Rows (verify that error is thrown on missing processor)~~
  - ~~Files (verify behavior + raise error if `import_rows!` is not called)~~
  - ~~Errors (`:ignore` option, raise if unspecified, don't capture parsing errors from CSV library)~~
  - ~~Dependencies (MissingDependency error should happen on import, not instantiation)~~
  - ~~All validations should happen at import time, not instantiation time~~
  - ~~Add row number as attribute on row struct~~
- ~~Flow Control~~
  - ~~Next row (implement new behavior)~~
  - ~~Skip row (implement new behavior)~~
  - ~~Abort row (implement new behavior)~~
  - ~~Abort import (rework API; return `false` on `importer.import!`)~~
- ~~CSV Improvements~~
  - ~~Accept file path string~~
  - ~~Accept `IO` object~~
  - ~~Accept CSV string~~
  - ~~Raise error if invalid CSV file path is assigned~~
  - ~~Raise error if invalid CSV object is assigned~~
  - ~~Provide access to `defined_columns`, `present_columns`, and `missing_columns` so missing columns can be reported to users~~
  - ~~Accept options for underlying `CSV` object~~
  - ~~Raise error on unexpected CSV options~~
  - ~~Raise error on unexpected options~~
  - ~~Improve API for assigning CSV files/path/content~~
  - ~~Test that different encodings work~~
- ~~Verify usage of Struct~~
- ~~Investigate using catch/throw where appropriate~~
- ~~Improve test organization~~
  - ~~Move associated importer classes and CSV files into same file as test.~~
- ~~Get to 100% test coverage~~
- ~~Add test helper file~~
- Refactor
  - ~~Extract Configuration class~~
  - ~~Extract Importer class~~
  - ~~Disable post-instantiation CSV assignment~~
  - ~~Extract DataPreparer class~~
  - ~~Switch to composition instead of inheritance~~
  - Use classes instead of structs
  - Add test for files with no header on first row
- Include alternate column headings for missing column header error message
- Allow flow control methods to work in methods defined on importer class
- Check argument types on all public methods
- Investigate improving error messages on NoMethodErrors inside of import/rows/errors/etc. blocks
- Verify that all public API methods are tested
- Add DSL method for skipping importing rows (for conditions where that is not desired)
- ~~Add license~~
- Documentation
  - Re-enable class documentation cop
  - Document classes
  - Revamp README.md
  - Add CHANGELOG.md
  - Flesh out advanced usage in Wiki
    - Testing
    - User specified column names
    - Reporting missing columns to user
    - Automatically determining file encoding
    - Low memory usage
    - Downloads of skipped/aborted/errored rows
  - Blog post + video showing best practices in a Rails app

gha_language: Ruby


text:
---
title: Cockpit 287
author: garrett
date: '2023-03-09'
tags: cockpit, podman
slug: cockpit-287
category: release
summary: 'Pinned services update, esbuild developer information'
---

Cockpit is the [modern Linux admin interface](https://cockpit-project.org/).
We release regularly.

Here are the release notes from Cockpit 287 and cockpit-podman 64:

## Services: Pinned units need to be re-done

The data storage for "pinned" systemd units has changed. After upgrading to this Cockpit version, you need to re-pin units.

## Development: Cockpit now supports the esbuild bundler

[esbuild](https://esbuild.github.io/) is a much faster bundler alternative for [webpack](https://webpack.js.org/). It also  natively understands [JSX](https://reactjs.org/docs/introducing-jsx.html), so that it is not necessary any more to use [babel](https://babeljs.io/). Cockpit's shared components and bundler plugins in [pkg/lib/](https://github.com/cockpit-project/cockpit/tree/main/pkg/lib) now support both eslint and webpack, so that projects can pick either. [cockpit-podman](https://github.com/cockpit-project/cockpit-podman) moved to esbuild in [this commit](https://github.com/cockpit-project/cockpit-podman/commit/d48f58297f66d2f6390aa85b54883d9be980850b). You may choose to do the same for your project.

## Try it out

Cockpit 287 and cockpit-podman 64 are available now:

* [For your Linux system](https://cockpit-project.org/running.html)
* [Cockpit Client](https://flathub.org/apps/details/org.cockpit_project.CockpitClient)

* [Cockpit Source Tarball](https://github.com/cockpit-project/cockpit/releases/tag/287)
* [Cockpit Fedora 38](https://bodhi.fedoraproject.org/updates/FEDORA-2023-6987aaacad)
* [Cockpit Fedora 37](https://bodhi.fedoraproject.org/updates/FEDORA-2023-2e47853ed4)
* [cockpit-machines Source Tarball](https://github.com/cockpit-project/cockpit-machines/releases/tag/285)
* [cockpit-machines Fedora 38](https://bodhi.fedoraproject.org/updates/FEDORA-2023-99b4679f77)
* [cockpit-machines Fedora 37]https://bodhi.fedoraproject.org/updates/FEDORA-2023-9893be2f68()
* [cockpit-podman Source Tarball](https://github.com/cockpit-project/cockpit-podman/releases/tag/64)
* [cockpit-podman Fedora 38](https://bodhi.fedoraproject.org/updates/FEDORA-2023-82b8596f0f)
* [cockpit-podman Fedora 37](https://bodhi.fedoraproject.org/updates/FEDORA-2023-ff01f5ff9e)


text:
# Agaricus stuppeus Berk. SPECIES

#### Status
ACCEPTED

#### According to
Index Fungorum

#### Published in
Botany of the Antarctic Voyage of H. M. Discovery Ships Erebus and Terror, in the years 1839-1843, II. , Part II. Flowerless Plants 2: 175 (1855)

#### Original name
Agaricus stuppeus Berk.

### Remarks
null

repository: mdoering/backbone

repo_name: mdoering/backbone


text:
---
layout: post
rel_link:  "9_4_20"
title:  "CMSSW_9_4_20"
date:   2021-02-10 03:01:12
categories: cmssw
relmajor: 9
relminor: 4
relsubminor: 20
---

# CMSSW_9_4_20
#### Changes since CMSSW_9_4_19:
[compare to previous](https://github.com/cms-sw/cmssw/compare/CMSSW_9_4_19...CMSSW_9_4_20)

#### CMSDIST Changes between Tags REL/CMSSW_9_4_19/slc6_amd64_gcc630 and REL/CMSSW_9_4_20/slc6_amd64_gcc630:
[compare to previous](https://github.com/cms-sw/cmsdist/compare/REL/CMSSW_9_4_19/slc6_amd64_gcc630...REL/CMSSW_9_4_20/slc6_amd64_gcc630)

1. [6582](http://github.com/cms-sw/cmsdist/pull/6582){:target="_blank"}  from **@cms-sw**: [94X][pythia8] BeamRemnants update for LHE events created: 2021-01-21 18:20:05 merged: 2021-01-22 00:48:39

repository: cms-sw/ReleaseNotes

repo_name: cms-sw/ReleaseNotes


text:
ng Classifier [![Build Status](https://travis-ci.org/kamalkhan/NgClassifier.svg?branch=master)](https://travis-ci.org/kamalkhan/NgClassifier)
======
A browserify transform for ng-classify ([https://github.com/CaryLandholt/ng-classify](https://github.com/CaryLandholt/ng-classify)).

**Table of contents**

- [Install](#install)
- [Usage](#usage)
- [Development](#development)
	- [Test](#test)
	- [Build](#build)
	- [Test & Build](#test-build)
- [License](#license)

---
# Install
```shell
$ npm install --save-dev ng-classifier
```

# Usage

Use `ng-classifier` as the browserify transform.
```js
transform: [
    ['ng-classifier', {config: {
        appName: 'App' // ng-classify arguments
    }}],
    ['coffeeify']
]
```
ng-classify arguments can be passed in the config object.
*Note* `coffeeify` is not included in this module. It is only listed here to convert coffee to js.

# Development

```shell
$ npm install
```
## Test
```shell
$ gulp test
```
## Build
```shell
$ gulp js
```
## Test & Build
```shell
$ gulp
```

# License

Released under the [MIT License](http://opensource.org/licenses/MIT).

repository: kamalkhan/ng-classifier

repo_name: kamalkhan/ng-classifier


text:
# State Machines in Python

STMPY is a simple implementation for state machines in Python.

## Installation

STMPY is available via [Python Package Index](https://pypi.org/project/stmpy/), and you can install it via pip:

```bash
pip install stmpy
```

To upgrade, use:

```bash
pip install --upgrade stmpy
```

## Example: Tick Tock State Machine

```python
from stmpy import Machine, Driver

class Tick:

  def __init__(self):
    self.ticks = 0
    self.tocks = 0

  def on_init(self):
    print('Init!')

  def on_tick(self):
    print('Tick!')
    self.ticks = self.ticks + 1

  def on_tock(self):
    print('Tock!')
    self.tocks = self.tocks + 1

driver = Driver()
tick = Tick()

t0 = {'source':'initial', 'target':'s_tick', 'effect':'on_init; start_timer("tick", 1000)'}
t1 = {'trigger':'tick', 'source':'s_tick', 'target':'s_tock', 'effect':'on_tick; start_timer("tock", 1000)'}
t2 = {'trigger':'tock', 'source':'s_tock', 'target':'s_tick', 'effect':'on_tock; start_timer("tick", 1000)'}

stm_tick = Machine(transitions=[t0, t1, t2], obj=tick, name='stm_tick')
tick.stm = stm_tick

driver.add_stm(stm_tick)
driver.start(max_transitions=5)
driver.wait_until_finished()
```

## Contributing

`stmpy` [is on GitHub](https://github.com/falkr/stmpy).
Pull requests and bug reports are welcome.

repository: falkr/stmpy

repo_name: falkr/stmpy


text:
# gensync

This module allows for developers to write common code that can share
implementation details, hiding whether an underlying request happens
synchronously or asynchronously. This is in contrast with many current Node
APIs which explicitly implement the same API twice, once with calls to
synchronous functions, and once with asynchronous functions.

Take for example `fs.readFile` and `fs.readFileSync`, if you're writing an API
that loads a file and then performs a synchronous operation on the data, it
can be frustrating to maintain two parallel functions.

## Example

```js
const fs = require("fs");
const gensync = require("gensync");

const readFile = gensync({
  sync: fs.readFileSync,
  errback: fs.readFile,
});

const myOperation = gensync(function* (filename) {
  const code = yield* readFile(filename, "utf8");

  return "// some custom prefix\n" + code;
});

// Load and add the prefix synchronously:
const result = myOperation.sync("./some-file.js");

// Load and add the prefix asynchronously with promises:
myOperation.async("./some-file.js").then(result => {

});

// Load and add the prefix asynchronously with promises:
myOperation.errback("./some-file.js", (err, result) => {

});
```

This could even be exposed as your official API by doing
```js
// Using the common 'Sync' suffix for sync functions, and 'Async' suffix for
// promise-returning versions.
exports.myOperationSync = myOperation.sync;
exports.myOperationAsync = myOperation.async;
exports.myOperation = myOperation.errback;
```
or potentially expose one of the async versions as the default, with a
`.sync` property on the function to expose the synchronous version.
```js
module.exports = myOperation.errback;
module.exports.sync = myOperation.sync;
````

## API

### gensync(generatorFnOrOptions)

Returns a function that can be "await"-ed in another `gensync` generator
function, or executed via

* `.sync(...args)` - Returns the computed value, or throws.
* `.async(...args)` - Returns a promise for the computed value.
* `.errback(...args, (err, result) => {})` - Calls the callback with the computed value, or error.

#### Passed a generator

Wraps the generator to populate the `.sync`/`.async`/`.errback` helpers above to
allow for evaluation of the generator for the final value.

##### Example

```js
const readFile = function* () {
  return 42;
};

const readFileAndMore = gensync(function* (){
  const val = yield* readFile();
  return 42 + val;
});

// In general cases
const code = readFileAndMore.sync("./file.js", "utf8");
readFileAndMore.async("./file.js", "utf8").then(code => {})
readFileAndMore.errback("./file.js", "utf8", (err, code) => {});

// In a generator being called indirectly with .sync/.async/.errback
const code = yield* readFileAndMore("./file.js", "utf8");
```

#### Passed an options object

* `opts.sync`

  Example: `(...args) => 4`

  A function that will be called when `.sync()` is called on the `gensync()`
  result, or when the result is passed to `yield*` in another generator that
  is being run synchronously.

  Also called for `.async()` calls if no async handlers are provided.

* `opts.async`

  Example: `async (...args) => 4`

  A function that will be called when `.async()` or `.errback()` is called on
  the `gensync()` result, or when the result is passed to `yield*` in another
  generator that is being run asynchronously.

* `opts.errback`

  Example: `(...args, cb) => cb(null, 4)`

  A function that will be called when `.async()` or `.errback()` is called on
  the `gensync()` result, or when the result is passed to `yield*` in another
  generator that is being run asynchronously.

  This option allows for simpler compatibility with many existing Node APIs,
  and also avoids introducing the extra even loop turns that promises introduce
  to access the result value.

* `opts.name`

  Example: `"readFile"`

  A string name to apply to the returned function. If no value is provided,
  the name of `errback`/`async`/`sync` functions will be used, with any
  `Sync` or `Async` suffix stripped off. If the callback is simply named
  with ES6 inference (same name as the options property), the name is ignored.

* `opts.arity`

  Example: `4`

  A number for the length to set on the returned function. If no value
  is provided, the length will be carried over from the `sync` function's
  `length` value.

##### Example

```js
const readFile = gensync({
  sync: fs.readFileSync,
  errback: fs.readFile,
});

const code = readFile.sync("./file.js", "utf8");
readFile.async("./file.js", "utf8").then(code => {})
readFile.errback("./file.js", "utf8", (err, code) => {});
```

### gensync.all(iterable)

`Promise.all`-like combinator that works with an iterable of generator objects
that could be passed to `yield*` within a gensync generator.

#### Example

```js
const loadFiles = gensync(function* () {
  return yield* gensync.all([
    readFile("./one.js"),
    readFile("./two.js"),
    readFile("./three.js"),
  ]);
});
```

### gensync.race(iterable)

`Promise.race`-like combinator that works with an iterable of generator objects
that could be passed to `yield*` within a gensync generator.

#### Example

```js
const loadFiles = gensync(function* () {
  return yield* gensync.race([
    readFile("./one.js"),
    readFile("./two.js"),
    readFile("./three.js"),
  ]);
});
```

repository: ChromeDevTools/devtools-frontend

gha_language: TypeScript

repo_name: ChromeDevTools/devtools-frontend