text:
# Edge
This is the most useful of all the helper functions in this module. It is used to define a link between two nodes. This function is also very flexible.

# Basic Syntax
## Edge -From [string] -To [string]
This is the most common way to define an edge in a graph.

    graph g {
        edge -From start -To middle
        edge -From middle To end
    }

We can shorten this syntax by dropping the `-From` and `-To` properties.

    graph g {
        edge start middle
        edge middle end
    }

These both generate this basic graph:

[![Source](images/firstGraph.png)](images/firstGraph.png)

## Edge [string[]]
If you have a list of things that connect in order, you can specify the entire list.

    graph g {
        edge start,middle,end
    }

This works even better when you have it defined in an array.

    $list = @('start','middle','end')
    graph g {
        edge $list
    }

## Edge -From [string[]] -To [string[]]
Multiple `from` nodes or `to` nodes can be specified at once. Every node in the `from` list will be connected to every node in the `to` list.

    graph g {
       edge -From web1,web2 -To database1,database2
    }

[![Source](images/crossMultiplyEdges.png)](images/crossMultiplyEdges.png)

Just like before, you can drop the `-from` or the `-to` keywords if you prefer. I find myself selectively using them.

repository: zloeber/PSGraph

repo_name: zloeber/PSGraph


text:
INWX Domrobot Python 3 Client
=========
You can access all functions of our frontend via our API, which is available via the XML-RPC or JSON-RPC protocol and thus can be easily consumed with all programming languages.

There is also an OT&E test system, which you can access via [ote.inwx.com](https://ote.inwx.com/en/). Here you will find the known web interface which is using a test database. On the OT&E system no actions will be charged. So you can test as much as you like there.

Documentation
------
You can view a detailed description of the API functions in our documentation. You can find the online documentation [by clicking here](https://www.inwx.de/en/help/apidoc).

If you still experience any kind of problems don't hesitate to contact our [support via email](mailto:support@inwx.de).

Installation
-------
The recommended way is via pip:

```bash
pip install inwx-domrobot
```

You can find more information about the package on [pypi.org](https://pypi.org/project/inwx-domrobot).

Example
-------

```python
from INWX.Domrobot import ApiClient

username = ''
password = ''
domain = 'my-test-domain-which-is-definitely-not-registered6737.com'

api_client = ApiClient(api_url=ApiClient.API_OTE_URL, debug_mode=True)

login_result = api_client.login(username, password)

if login_result['code'] == 1000:
    domain_check_result = api_client.call_api(api_method='domain.check', method_params={'domain': domain})

    if domain_check_result['code'] == 1000:
        checked_domain = domain_check_result['resData']['domain'][0]

        if checked_domain['avail']:
            print(domain + ' is still available!')
        else:
            print('Unfortunately, ' + domain + ' is already registered.')

    else:
        raise Exception('Api error while checking domain status. Code: ' + str(domain_check_result['code'])
                        + '  Message: ' + domain_check_result['msg'])
    api_client.logout()
else:
    raise Exception('Api login error. Code: ' + str(login_result['code']) + '  Message: ' + login_result['msg'])
```

You can also have a look at the [example folder](INWX/examples) in the project for even more info.

License
----

MIT

license: MIT

repository: inwx/python-client

branch_name: refs/heads/master

extension: md

gha_language: Python

gha_license_id: MIT

license_type: permissive

repo_name: inwx/python-client


text:
# Web UI setup
* Set up [Pegasus](https://github.com/InsightDataScience/pegasus)
* Create master node: `peg up webui.yml`
	* You can create this from `webui-template.yml`, but you will need to fill in:
		* Subnet ID
		* Name of .pem file you would use to SSH into the instances
			* Only the filename, **without** the extension (.pem part)!
		* Security group
			* Multiple security groups are not supported!
			* I suggest making a single security group with all the rules for each of your clusters.
				* The security group should only be allowed to connect to the Cassandra master node on the correct port. For example, if Cassandra master was on <IP_ADDRESS>, I would allow only outbound <IP_ADDRESS>/32 on port 9042 in AWS.
			* You can also assign the security group after manually.
* Fetch with `peg fetch webui`
* Install SSH: `peg install webui ssh`
* Install AWS credentials: `peg install webui aws`
* Installing Flask is a bit involved, so it's better to SSH in: `peg ssh webui 1`
	* Update apt cache: `sudo apt update`
	* Install Python3 pip: `sudo apt install python3-pip`
	* Install Flask: `pip3 install Flask`
	* Install Cassandra driver: `pip3 install cassandra-driver`
	* Copy over the `web_ui.py` and dependencies: `peg scp to-rem webui 1 projects/insight-silverbullet/src/ silverbullet`
		* Edit `silverbullet/conf/cassandra.json` so that it reflects the internal IP of Cassandra master.

This node will host the Web UI, and can be opened to internet access, but it hsould be locked down with respect to the rest of the VPC. It only needs to fetch from the Cassandra (see remark above about security groups).

## To start the Web UI:
* Set Flask env.var: `export FLASK_APP=~/silverbullet/web_ui.py`
* Go to the script dir: `cd silverbullet` (Flask is a bit finicky about working dirs)
* You need to run with sudo to use port 80: `sudo python3 web_ui.py`
	* Ordinarily, it's bad to run Flask on 80. You should let Flask run on something like 5000, and use a proxy server like nginx to redirect 80 to that port. I did not have time to set that up for this project.
	* Web UI should now be accessible at the public IP of the node! To troubleshoot, you can `curl localhost` when SSH'd into the node.

repository: metov/insight-silverbullet

repo_name: metov/insight-silverbullet


text:
# ConsultTransferResponse

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**destinationParticipantId** | **string** | Participant ID to whom the call is being transferred. |

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

repository: jameBruno/platform-client-sdk-php

repo_name: jameBruno/platform-client-sdk-php


text:
sindexer
========

This is a wrapper for Sphinx (http://sphinxsearch.com) indexer, which
simplifies synchronization of indices across replicas.

Usage
-----

	usage: sindexer [options] [index, [index...]]

	optional arguments:
	  -h, --help            show this help message and exit
	  --data-dir PATH       force remote data directory
	  -n, --dry-run         do nothing, just print the commands that would get
	                        executed
	  -r [USER@]HOST, --remote [USER@]HOST
	                        send indices to a remote host (can be given multiple
	                        times)
	  --remove-suffix SUFFIX
	                        when renaming index files to *.new.* remove suffix
	                        from names
	  --wait SECONDS        number of seconds to wait for local index rotation
	                        when running with --rotate (default: 5))
	  -s, --sync-only       sync indices and reload, do not rebuild or merge
	  --ssh-key PATH        explicitly set a ssh key to use

	All options apart from the ones defined above are passed to the indexer.

The following commands should be available in $PATH:

  - local host: indexer, kill, rsync, ssh
  - remote hosts: kill, mv, rename

Examples
--------

Rebuild all local indices (live) and synchronize with two remote hosts:

	sindexer --all --rotate -r <IP_ADDRESS> -r <IP_ADDRESS>

Synchronize previously built indices:

	sindexer --all -s -r <IP_ADDRESS>

Merge two indices and synchronize the resulting one:

	sindexer --merge data data-new --rotate -r <IP_ADDRESS> -r <IP_ADDRESS> -r <IP_ADDRESS>

It may be desired to build indices with a predefined suffix in file names and
strip the suffix during synchronization. This can be achieved as follows:

	sindexer --config /etc/sphinxsearch/sphinx-build.conf data-build --remove-suffix=-build -r <IP_ADDRESS>


text:
# Yelp

This data is from the SQLizer authors.

The SQL dataset can be found at:

https://s3.amazonaws.com/umdb-users/cjbaik/YELP.sql

## Setup

To enable NaLIR and/or Templar code, make sure to run `setup_yelp.sql` on the database before running.

## Details

The dataset is split up into natural language queries in the `*.nlqs` files, and possible SQL queries in the `*.sqls` files, where each line in the `*.sqls` file can contain multiple possible queries, separated by tabs.

## Deleted Query

Deleted previous query: *Find the number of users called Michelle*, because this is an unsupported query where we know the answer will always be either 1 or 0.

repository: umich-dbgroup/templar

gha_language: Roff

repo_name: umich-dbgroup/templar


text:
---
layout: post
title: "DISN: Deep Implicit Surface Network for High-quality Single-view 3D Reconstruction"
date: 2019-05-26 01:58:28
categories: arXiv_CV
tags: arXiv_CV Knowledge Attention Face
author: Qiangeng Xu, Weiyue Wang, Duygu Ceylan, Radomir Mech, Ulrich Neumann
mathjax: true
---

* content
{:toc}

##### Abstract
Reconstructing 3D shapes from single-view images has been a long-standing research problem and has attracted a lot of attention. In this paper, we present DISN, a Deep Implicit Surface Network that generates a high-quality 3D shape given an input image by predicting the underlying signed distance field. In addition to utilizing global image features, DISN also predicts the local image patch each 3D point sample projects onto and extracts local features from the patch. Combining global and local features significantly improves the accuracy of the predicted signed distance field. To the best of our knowledge, DISN is the first method that constantly captures details such as holes and thin structures present in 3D shapes from single-view images. DISN achieves state-of-the-art single-view reconstruction performance on a variety of shape categories reconstructed from both synthetic and real images. Code is available at github.com/laughtervv/DISN.

##### Abstract (translated by Google)

##### URL
[http://arxiv.org/abs/1905.10711](http://arxiv.org/abs/1905.10711)

##### PDF
[http://arxiv.org/pdf/1905.10711](http://arxiv.org/pdf/1905.10711)


text:
## Fork
This is a heavily modified fork of the [go.rice](https://github.com/GeertJohan/go.rice) tool by GeertJohan. We found the rice tool's use of go source parsing excessive for our needs so we developed a smaller and simpler version that would be easy to maintain and still use the useful features go.rice provided. This version simply creates a tool that will import the paths listed as 'boxes' and append them to the executable.

## boxedRice

[![Build Status](https://travis-ci.org/bypasslane/boxedRice.png)](https://travis-ci.org/bypasslane/boxedRice)
[![Godoc](https://img.shields.io/badge/godoc-boxedRice-blue.svg?style=flat-square)](https://godoc.org/github.com/bypasslane/boxedRice)

boxedRice is a [Go](http://golang.org) package that makes working with resources such as html,js,css,images and templates very easy. During development `boxedRice` will load required files directly from disk. Upon deployment it is easy to add all resource files to a executable using the `boxedRice` tool, without changing the source code for your package. boxedRice provides several methods to add resources to a binary.

### What does it do?
The first thing boxedRice does is finding the correct absolute path for your resource files. Say you are executing go binary in your home directory, but your `html-files` are located in `$GOPATH/src/yourApplication/html-files`. `boxedRice` will lookup the correct path for that directory (relative to the location of yourApplication). The only thing you have to do is include the resources using `boxedRice.FindBox("html-files")`.

This only works when the source is available to the machine executing the binary. Which is always the case when the binary was installed with `go get` or `go install`. It might occur that you wish to simply provide a binary, without source. The `boxedRice` tool provides the `append` command to append items to the binary as a zip. `boxedRice` will detect the appended resources and load those, instead of looking up files from disk.

### Installation

Use `go get` to install the package the `boxedRice` tool.
```
go get github.com/bypasslane/boxedRice
go get github.com/bypasslane/boxedRice/boxedRice
```

### Package usage

Import the package: `import "github.com/bypasslane/boxedRice"`

**Serving a static content folder over HTTP with a boxedRice Box**
```go
http.Handle("/", http.FileServer(boxedRice.MustFindBox("http-files").HTTPBox()))
http.ListenAndServe(":8080", nil)
```

**Service a static content folder over HTTP at a non-root location**
```go
box := boxedRice.MustFindBox("cssfiles")
cssFileServer := http.StripPrefix("/css/", http.FileServer(box.HTTPBox()))
http.Handle("/css/", cssFileServer)
http.ListenAndServe(":8080", nil)
```

Note the *trailing slash* in `/css/` in both the call to
`http.StripPrefix` and `http.Handle`.

**Loading a template**
```go
// find a boxedRice.Box
templateBox, err := boxedRice.FindBox("example-templates")
if err != nil {
	log.Fatal(err)
}
// get file contents as string
templateString, err := templateBox.String("message.tmpl")
if err != nil {
	log.Fatal(err)
}
// parse and execute the template
tmplMessage, err := template.New("message").Parse(templateString)
if err != nil {
	log.Fatal(err)
}
tmplMessage.Execute(os.Stdout, map[string]string{"Message": "Hello, world!"})

```

Never call `FindBox()` or `MustFindBox()` from an `init()` function, as the boxes might have not been loaded at that time.

### Tool usage
The `boxedRice` tool lets you add the resources to a binary executable so the files are not loaded from the filesystem anymore. This creates a 'standalone' executable.

#### append
**Append resources to executable as zip file**

This method changes an already built executable. It appends the resources as zip file to the binary. It makes compilation a lot faster and can be used with large resource files.

Downsides for appending are that it requires `zip` to be installed and does not provide a working Seek method.

Run the following commands to create a standalone executable.
```
go build -o example
boxedRice append -b example/example-files --exec example
```

**Note: requires zip command to be installed**

On windows, install zip from http://gnuwin32.sourceforge.net/packages/zip.htm or cygwin/msys toolsets.

#### Help information
Run `boxedRice -h` for information about all options.

You can run the -h option for each sub-command, e.g. `boxedRice append -h`.

### Order of precedence
When opening a new box, the boxedRice package tries to locate the resources in the following order:

 - appended as zip
 - 'live' from filesystem

### License
This project is licensed under a Simplified BSD license. Please read the [LICENSE file][license].

### TODO & Development
This package is not completed yet. Though it already provides working appending, there are some refinements to be made. These are noted in code as `TODO` comments.

### Package documentation

You will find package documentation at [godoc.org/github.com/bypasslane/boxedRice][godoc].

 [license]: https://github.com/bypasslane/boxedRice/blob/master/LICENSE
 [godoc]: http://godoc.org/github.com/bypasslane/boxedRice

repository: bypasslane/boxedRice

repo_name: bypasslane/boxedRice


text:
# rsSixtySeven

An open source AES67 implemention in [Rust](http://www.rust-lang.org)

## Introduction

The AES67 standard is designed to allow realtime transmission of uncompressed audio data over standard ethernet.
It has been defined by the Audio Engineering Society [http://www.aes.org/](http://www.aes.org/) to ensure interoperabilty
across multiple manufacturers.

In fact AES67 bundles previous standards and RFCs so many already implemented parts can be reused.

The following references (minimal subset) must be taken into account:

* IEEE 1588-2008 - IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems, IEEE
* RFC 3190 – RTP Payload Format for 12-bit DAT Audio and 20- and 24-bit Linear Sampled Audio, IETF
* RFC 3261 - SIP: Session Initiation Protocol, IETF
* RFC 3264 - An Offer/Answer Model with the Session Description Protocol (SDP), IETF
* RFC 3550 – RTP: A Transport Protocol for Real-Time Applications, IETF
* RFC 4566 – Session Description Protocol, IETF
* RFC 7273 – RTP Clock Source Signalling, IETF

## Scope of this library

This library provides means of packetizing and timestamping audio data, as well as send and receive them over an ethernet network.
The retrieval of timestamps is done by an external library.

Examples are provided that show sending and receiving of wave files.

## License

Copyright 2016 Marc Schettke

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.


text:
# FM Radio Tuner

![Image of fmradio](screens/fmradio.png)

A simple cross-platform Electron app for listening to FM radio using an RTL2832U based USB dongle.

## Features:
- Tested on Windows 10 Windows 7, MacOS 10.13, Ubuntu 18.04 and Fedora 28.
- Supports all tuners supported by [rtl-sdr](http://sdr.osmocom.org/trac/wiki/rtl-sdr)
- Stereo decoding.
- Good sound quality at higher sample rates (you be the judge).
- Plays audio locally and on local HTTP server for remote listening.
- Scan for stations.
- Add station presets.
- Record audio in lossless FLAC format.
- Fully configurable.
- Prebuilt for x64 Windows, Mac and Linux.

## Hardware Requirements
### Intel CPUs
- Dual core CPU (tested and runs on a 2008 Pentium dual core T4200 laptop).
- 1.5GB RAM.
- Max sample rate for Intel is usually 2.56Msps.
### ARM CPU
- Runs well on ASUS Tinkerboard. Tested using Armbian and TinkerOS. A fan will be required to run at higher sample rates to avoid overheating and stability issues.
- Does not run on Raspberry Pi but should run on any SBC with enough RAM and CPU grunt.

## Running
Download required package from the [releases](https://github.com/dmooney65/fmradio/releases) page and install.
### Windows
Requires dongle to be properly set up using [Zadig](https://zadig.akeo.ie/).
### Mac
Install [Homebrew](https://brew.sh/) and run `brew install flac rtl-sdr`. Install the DMG package as normal.
### Linux
Requirements will be installed automatically for deb and rpm packages. For AppImage, librtlsdr0 (debian/ubuntu) or rtl-sdr (Fedora/CentOS etc.) must be installed. A reboot may be required after installation of dependencies.

## Building

Install dependencies (see below), clone/copy the repo and run `npm install`, then `npm start` from the cloned directory. If `npm install` fails, it is usually necessary to delete the `node_modules` directory before retrying.

### Linux
Requires librtlsdr-dev (Debian/Ubuntu) or rtl-sdr-devel (Fedora etc.), libflac-dev (Debian/Ubuntu) or flac-devel (Fedorra etc.).

### Mac
Install [Homebrew](https://brew.sh/) and run `brew install flac rtl-sdr`.

### Windows
Complicated - will document at some point.

## Acknowledgements
This app is essentially an Electron rewrite/adaption of the [Radio Reciever](https://github.com/google/radioreceiver) Chrome app.

repository: sewellge/fmradio

repo_name: sewellge/fmradio


text:
---
layout: post
title: Expore java timezone
author:
tags:
- Java
- timezone
wordpress_id: 200
wordpress_url: http://kaiwangchen.com/?p=200
date: 2012-11-03 16:01:04 +0800
---

I previously wrote about the [off-by-one-hour][1] problem that oudated timezone data files could cause false conversion to local time, and warned that certain programs might assume `/etc/localtime` being copied or symlinked from tzdata files in `/usr/share/zoneinfo`. This followup post demonstrates such an assumption and explores how Java applications decide their timezones, which was filed as a [bug][2] though. <!--more-->

Due to limited network access and too much old operating system, we applied a quick fix of by replacing obsolete only `/etc/localtime` with one from an up-to-date operating system. Then `date(1)` worked as expected, however, some guy reported that his Java program was logging in GMT time when restarted *across* the quick fix. Although it is a complex application, the defect could be reproduced by several lines of code. I would call this a good example of *precise and reliable reproduction* of defects, and the bad habbit of complaining in a complex context should be avoided completely.

## The problem

Here is the source code reproducing the defect.

    import java.util.Date;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    public class Test {
       public static void main(String args[]) {
          Date now = new Date();
          DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss, SSS/zzz");
          System.out.println(df.format(now));
       }
    }

It is able to produce correct localtime before quick fix even `date(1)` is not. After the quick fix is applied, `date(1)` output is OK, while the test program prints unexpected timezone. If both `/etc/localtime` and the one in `/usr/share/zoneinfo` are updated to correct version, both work with good output.

    $ date
    Wed Oct 31 19:28:12 PST 2012
    $ java Test
    2012-10-31 20:14:28,329/PDT

    $ date
    Wed Oct 31 20:28:47 PDT 2012
    $ java Test
    2012-11-01 03:49:28,902/GMT

    $ date
    Wed Oct 31 20:29:44 PDT 2012
    $ java Test
    2012-10-31 20:47:29,601/PDT

## Discussion

Time to explore timezone in the Java world.

Although the preliminary impression was Java maintains its own timezone database regardless of the host operating system, it confused me a little why Java fell back to GMT. Let's stop guessing and dig into code.

TIPS: For quick source code access, visit links like [`java.util.Date`][3], otherwise, the source bundle could be retrieved from [official site][4].

Actually a `Date` object constructed with empty argument list simply captures epoch time with `System.currentTimeMillis()`, so that line of code is irrelavant. `SimpleDateFormat(pattern)` is a shortcut of `SimpleDateFormat(pattern, Locale.getDefault())`. `Locale.getDefault()` is singleton access to an object created with `Locale(language,country,variant)` which is simple encapsulation around string varriables, named `language`, `country` and `variant`, guessed out from system property `user.language`, `user.region`, `user.country` and `user.variant`. The default Locale essentially could be represented by something like `en_US`, and obviously is irrelavant.

So the hard parts probably lie in the overloaded constructor

    491    public SimpleDateFormat(String pattern, Locale locale)
    492    {
    493        if (pattern == null || locale == null) {
    494            throw new NullPointerException();
    495        }
    496
    497        initializeCalendar(locale);
    498        this.pattern = pattern;
    499        this.formatData = DateFormatSymbols.getInstance(locale);
    500        this.locale = locale;
    501        initialize(locale);
    502    }

The magic could be in line 497, 499 or 501.

`DataFormatSymbols` is some mapping between numeric values and string representations, so line 499 is irrelavant. Let's take a look at line 497 which in turn calls `Calendar.getInstance(TimeZone.getDefault(), loc)`. Now you might get hit by strong feelings that `TimeZone.getDefault()` is the point, and create another small program to verify it.

    public class Tz {
       public static void main(String args[]) {
          System.out.println(java.util.TimeZone.getDefault());
       }
    }

It actually `clone`s an object created by private method `setDefaultZone()`, which determines the `zoneID` by system property *`user.timezone`* or

    547        // if the time zone ID is not set (yet), perform the
    548        // platform to Java time zone ID mapping.
    549        if (zoneID == null || zoneID.equals("")) {
    550            String country = AccessController.doPrivileged(
    551                    new GetPropertyAction("user.country"));
    552            String javaHome = AccessController.doPrivileged(
    553                    new GetPropertyAction("java.home"));
    554            try {
    555                zoneID = getSystemTimeZoneID(javaHome, country);
    556                if (zoneID == null) {
    557                    zoneID = GMT_ID;
    558                }
    559            } catch (NullPointerException e) {
    560                zoneID = GMT_ID;
    561            }
    562        }
    563
    564        // Get the time zone for zoneID. But not fall back to
    565        // "GMT" here.
    566        tz = getTimeZone(zoneID, false);
    567
    568        if (tz == null) {
    569            // If the given zone ID is unknown in Java, try to
    570            // get the GMT-offset-based time zone ID,
    571            // a.k.a. custom time zone ID (e.g., "GMT-08:00").
    572            String gmtOffsetID = getSystemGMTOffsetID();
    573            if (gmtOffsetID != null) {
    574                zoneID = gmtOffsetID;
    575            }
    576            tz = getTimeZone(zoneID, true);
    577        }

Bad news is `getSystemTimeZoneID(javaHome, country)` is native, good news is the comments are full of hits. Anyway, we meet what was noticed earlier, that Java produces right local times with explicit *`-Duser.timezone=America/Los_Angeles`* argument. Additionally we can guess that the native method should fail to get a `zoneID` in the environment where `/etc/localtime` is not from `/usr/share/zoneinfo`, resulting the program fall back to GMT as the last resort. Let's trace the program to verify the point.

    strace -o test.trace -f java Test

One thing to note is that you should `strace(1)` with `-f` option to capture the Java program's complete interaction with the system. Try that command before quick fix, after quick fix, then after good practice. Examine the trace file, and you will have interesting findings that

*   with alien `/etc/localtime`, Java searches through `/usr/share/zoneinfo` and gets no match. It fall back to take GMT as its timezone.
*   with `/etc/localtime` from `/usr/share/zoneinfo`, Java is able to determine its timezone from zone file name by either following the symlink, or traversing the directory to stat each tzdata file and stopping at the first match. It is irrelavant whether the content of the matched tzdata file is update or not.
*   with explicit timezone, no need to guess.

After having determined the name of its timezone, a Java program looks up with the mapping between *system timezone* and *Java timezone*, `/usr/java/jdk1.6.0_30/jre/lib/zi/ZoneInfoMappings` and locates the timezone database file of the Java world such as `/usr/java/jdk1.6.0_30/jre/lib/zi/GMT` which is of different format from `tzfile(5)` though. Java then uses *its own* interpretation of timezones, and is independent on operating system tzdata files.

## Conclusion

Reproduce bugs with simple code, and try to **reduce the context as much as possible**. When you reduce to its limit, you understand the problem.

Update your operating system, at least essential parts.

 [1]: {{ site.baseurl }}/2012/11/01/off-by-one-hour.html
 [2]: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6626679
 [3]: http://javasourcecode.org/html/open-source/jdk/jdk-6u23/src-html/java/util/Date.html
 [4]: http://download.java.net/openjdk/jdk6/

extension: markdown


text:
---
title: KernelDumpDecrypt.exe | Windows Kernel Dump File Decryptor
excerpt: What is KernelDumpDecrypt.exe?
---

# KernelDumpDecrypt.exe

* File Path: `C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\KernelDumpDecrypt.exe`
* Description: Windows Kernel Dump File Decryptor

## Hashes

Type | Hash
-- | --
MD5 | `7236DD7BB0053E540A396C483755E7FC`
SHA1 | `8B80C883F0B16C4F5FABE30971303A7B240711F3`
SHA256 | `A629705EBC2205EE0C565E397E93814A46BA40A35E981FBC8B8F0EBF8D8E2E95`
SHA384 | `76E9F094144EEE54506B065CFE9849224A0ACE1C1F138ECFD3AEFD02008F2F2D16BA96CAF95E59B92CF0E886C91BC6AB`
SHA512 | `B05D970C87654E10954D498046636A0BCE97884A547ECC18BD2FF7A5BA424CE6D4DB3E011B82AB4356DCF23F748B0E52DDDD23D7956CC90CEFB5AC6259C6D3E1`
SSDEEP | `384:LtSsmphK0Wvpv81zpqv2f0x8FYaHeaq/SWoXWEYwGyAlITvb:Jjcwe1F1yCeFcOov`
IMP | `4831C665BDBFB7166F68E6FB09509318`
PESHA1 | `B2BFDDBC2767DE31FE60CEBDF5DDA8E2898652CC`
PE256 | `8B169AE37C89B2C0E61B2AEC836896071AE8F2D3B62A5D48ACAE727B6E0B4031`

## Runtime Data

### Usage (stdout):
```cmhg
Usage: KernelDumpDecrypt [args] <input.dmp> <output.dmp>
Where args is a sequence of the following:
	/user             - Use user certificate store/key store.
	/machine          - Use machine certificate store/key store.
	/keystore <name>  - Name of the key store provider.
	/keyname <name>   - Name of the key to lookup in the KSP.
	/keyfile <path>   - Path to the file containing a raw private key
	                    or a full key pair (starts with 'RSA2' magic).
	/enumproviders    - List key store providers.
	/enumkeys         - List keys in the key store.

If no key parameters are specified, the tool looks up the certificate
matching the thumbprint contained in the encrypted dump file.
If only the keyname is specified, the key will be retrieved from the
default key store for the current user.

Examples:

KernelDumpDecrypt memory.dmp memory_decr.dmp
	Decrypts memory.dmp using the private key obtained from the
	current user's certificate store. Writes memory_decr.dmp.

KernelDumpDecrypt /machine memory.dmp memory_decr.dmp
	Decrypts the dump using a key obtained from the local
	machine's certificate store.

KernelDumpDecrypt  /user /keyname "My app key" memory.dmp memory_decr.dmp
	Decrypts the dump using named key in the
	user store of the default key storage provider

Exit status: SUCCEEDED: 00000000: The operation completed successfully.

```

### Loaded Modules:

Path |
-- |
C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\KernelDumpDecrypt.exe |
C:\Windows\System32\KERNEL32.DLL |
C:\Windows\System32\KERNELBASE.dll |
C:\Windows\SYSTEM32\ntdll.dll |

## Signature

* Status: Signature verified.
* Serial: `33000002CF6D2CC57CAA65A6D80000000002CF`
* Thumbprint: `1A221B3B4FEF088B17BA6704FD088DF192D9E0EF`
* Issuer: CN=Microsoft Code Signing PCA 2010, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
* Subject: CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US

## File Metadata

* Original Filename: KernelDumpDecrypt.exe
* Product Name: Microsoft Windows Operating System
* Company Name: Microsoft Corporation
* File Version: 10.0.19041.1 (WinBuild.160101.0800)
* Product Version: 10.0.19041.1
* Language: English (United States)
* Legal Copyright:  Microsoft Corporation. All rights reserved.
* Machine Type: 64-bit

## File Scan

* VirusTotal Detections: 0/75
* VirusTotal Link: https://www.virustotal.com/gui/file/a629705ebc2205ee0c565e397e93814a46ba40a35e981fbc8b8f0ebf8d8e2e95/detection

MIT License. Copyright (c) 2020-2021 Strontic.


text:
# Netflix Plugin for Kodi 18 (plugin.video.netflix)

[![Bitcoin donate button](https://img.shields.io/badge/bitcoin-donate-yellow.svg)](https://blockchain.info/address/1DHGftMkFXXsDY7UnqQuatWwxQzKVu88sF)
[![Build Status](https://travis-ci.org/asciidisco/plugin.video.netflix.svg?branch=master)](https://travis-ci.org/asciidisco/plugin.video.netflix)
[![Test Coverage](https://codeclimate.com/github/asciidisco/plugin.video.netflix/badges/coverage.svg)](https://codeclimate.com/github/asciidisco/plugin.video.netflix/coverage)
[![Issue Count](https://codeclimate.com/github/asciidisco/plugin.video.netflix/badges/issue_count.svg)](https://codeclimate.com/github/asciidisco/plugin.video.netflix)
[![Code Climate](https://codeclimate.com/github/asciidisco/plugin.video.netflix/badges/gpa.svg)](https://codeclimate.com/github/asciidisco/plugin.video.netflix)
[![GitHub release](https://img.shields.io/github/release/asciidisco/plugin.video.netflix.svg)](https://github.com/asciidisco/plugin.video.netflix/releases)
[![Docs](https://media.readthedocs.org/static/projects/badges/passing.svg)](https://asciidisco.github.io/plugin.video.netflix/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Disclaimer

This plugin is not officially commisioned/supported by Netflix.
The trademark "Netflix" is registered by "Netflix, Inc."

## Prerequisites

- Kodi 18 [nightlybuild](http://mirrors.kodi.tv/nightlies/)
- Inputstream.adaptive [>=v2.0.0](https://github.com/peak3d/inputstream.adaptive)
  (should be included in your Kodi 18 installation)
- Libwidevine >=<IP_ADDRESS>0 (for non Android devices)

Note: The link to download the Widevine Libary for none ARM Systems can be
found in the [Firefox Sources](https://hg.mozilla.org/mozilla-central/raw-file/31465a03c03d1eec31cd4dd5d6b803724dcb29cd/toolkit/content/gmp-sources/widevinecdm.json)
& needs to be placed in the `cdm` folder in [special://home](http://kodi.wiki/view/Special_protocol).

Please make sure to read the licence agreement that comes with it,
so you know what you´re getting yourself into.

## Installation & Updates

You can use
[our repository](https://github.com/kodinerds/repo/raw/master/repository.netflix/repository.netflix-1.0.1.zip)
to install plugin.
Using this, you´ll immediately receive updates once a
new release has been drafted.

Further installations instructions can be found in the [Wiki](https://github.com/asciidisco/plugin.video.netflix/wiki)

## FAQ

- [Does it work with Kodi 17](https://github.com/asciidisco/plugin.video.netflix/issues/25)
- [Does it work on a RPI](https://github.com/asciidisco/plugin.video.netflix/issues/28)
- [Which video resolutions are supported](https://github.com/asciidisco/plugin.video.netflix/issues/27)
- [Can it play 4k Videos](https://github.com/asciidisco/plugin.video.netflix/issues/86)

## Functionality

- Multiple profiles
- Search Netflix (incl. suggestions)
- Netflix categories, recommendations, "my list" & continue watching
- Rate show/movie
- Add & remove to/from "my list"
- Export of complete shows & movies in local database

## Something doesn't work

If something doesn't work for you, please:

- Make sure all prerequisites are met
- Enable verbose logging in the plugin settings
- Enable the Debug log in you Kodi settings
- Open an issue with a titles that summarises your problems

## Donate

If you like this project feel free to buy us some cups of coffee.
Our bitcoin address is: `1DHGftMkFXXsDY7UnqQuatWwxQzKVu88sF`

## Code of Conduct

[Contributor Code of Conduct](Code_of_Conduct.md)
By participating in this project you agree to abide by its terms.

## Licence

Licenced under The MIT License.


text:
# ip-clipboard
macOS Automator workflows/services to make your life easier when copying/pasting your IP address

### Installation
Unzip the relevant zip file ("Copy IP to clipboard.zip" / "Paste IP.zip") from the repository services folder and extract it into ~/Library/Services

### Usage recommendation
1. Define a keyboard shortcut for the new service:
    1. Choose **Apple menu** > **System Preferences**, click **Keyboard**, then click **Shortcuts**
    2. Select **Services** in the left-hand column, then scroll down to the **General** and select the relevant service name
    then click **Add Shortcut** and use a __unique__ key combination
2. Use the unique key combination anywhere to have your external IP copied/pasted

### Author
[Or Guz](https://github.com/orpx)

repository: PerimeterX/ip-clipboard

repo_name: PerimeterX/ip-clipboard


text:
# Min-width

The `min-width` style sets a minimum width for a widget.

## Syntax

--8<-- "docs/snippets/syntax_block_start.md"
min-width: <scalar>;
--8<-- "docs/snippets/syntax_block_end.md"

The `min-width` style accepts a [`<scalar>`](../css_types/scalar.md) that defines a lower bound for the [`width`](./width.md) of a widget.
That is, the width of a widget is never allowed to be under `min-width`.

## Example

The example below shows some placeholders with their width set to `50%`.
Then, we set `min-width` individually on each placeholder.

=== "Output"

    ```{.textual path="docs/examples/styles/min_width.py"}
    ```

=== "min_width.py"

    ```py
    --8<-- "docs/examples/styles/min_width.py"
    ```

=== "min_width.tcss"

    ```sass hl_lines="13 17 21 25"
    --8<-- "docs/examples/styles/min_width.tcss"
    ```

    1. This won't affect the placeholder because its width is larger than the minimum width.

## CSS

```sass
/* Set the minimum width to 10 rows */
min-width: 10;

/* Set the minimum width to 25% of the viewport width */
min-width: 25vw;
```

## Python

```python
# Set the minimum width to 10 rows
widget.styles.min_width = 10

# Set the minimum width to 25% of the viewport width
widget.styles.min_width = "25vw"
```

## See also

 - [`max-width`](./max_width.md) to set an upper bound on the width of a widget.
 - [`width`](./width.md) to set the width of a widget.

repository: Textualize/textual

branch_name: refs/heads/main

repo_name: Textualize/textual


text:
The *numeric types* are the integral types and the floating-point types.

The *integral types* are *byte,short,int, and long*, whose values are 8-bit, 16-bit, 32-bit and 64-bit signed two's-complement integers.
*char* are 16-bit unsigned integers representing UTF-16 code units.

The *floating-point types* are float, whose values include the 32-bit IEEE 754 floating-point numbers, and *double* values include the 64-bit IEEE 754 floating-point numbers.

The *boolean* type has exactly two values: true and false.

| name | size | range | sample |
| ----- | ----- | ----- | ----|
| boolean | 1 bit |  |  false , true|
| unsigned integers char | 16 bits = 2 Bytes| \u0000 ~ \uffff ( 0 ~ 65535 ) |  |
|byte | 8 bits = 1 Byte |-128 ~ 127 |
| short|  16 bits = 2 Bytes | -32768 ~ 32767 |
|int | 32 bits = 4 bytes | -2,147,483,648 ~ 2,147,483,647  | |
|long | 64 bits = 8 bytes | -923372036854775808 ~<PHONE_NUMBER>54775807 | |
| float|32 bits | | |
|double|64 bits | | |

A *literal* is the source code representation of a value of a primitice type, the *String* type, or the *null* type.

An *integer* literal may be expressed in decimal (base 10), hexadecimal (base 16), octal (base 8), or binary (base 2).

An integer literal is of type *long* if it is suffixed with an ASCII letter L or l; otherwise it is of type int

A floating-point literal is of type *float* if it is suffixed with an ASCII letter F or f; otherwise its type is *double* and it can optionally be suffixed with an ASCII letter D or d.

#The _char_ type
the 16 bit _char_ type is insufficient to describe all Unicode characters.

# Integer type
## All integer types are SIGNED

# Floating-Point type
_double_ refers to the fact that these numbers have twice the precision of the _float_ type

A variable name must begin with a lettter and must be a sequence of letters or digits.

| conversions without information loss | source | target |
| ------ |----- | ----- |
| | byte | short |
| | short | int|
| | char| int|
| | int | long|
| | int | double|
| | float | double|

| conversions lose precision| source  | target |
| ---- | ---- | ----- |
| | int | float|
| | long | float|
| |long | double|

# Operator
when two values are combined with a binary operator, both operands are converted to a common type before the operation is carried out
 * If either of the operands is of type _double_ , the other one will be converted to a _double_
 * Otherwise, if either of the operands is of type _float_, the other one will be converted to a _float_
 * Otherwise, if either of the operands is of type _long_, the other one will be converted to a _long_
 * Otherwise, both operands will be converted to an int

If an interger addition overflows, then the result is the low-order bits of the mathematical sum as represented in some
sufficiently large two's-complement format. If overflow occurs, then the sign of the result is not the same as the sign of the
mathematical sum of the two operand values.

### Widening Primitive Conversion

* byte to short, int, long, float, or double
* short to int, long, float, or double
* char to int, long, float, or double
* int to long, float, or double
* long to float or double
* float to double

The numeric value is preserved exactly:
* from an integral type to another integral type
* from byte, short, or char to a floating point type
* from int to double
* from float to double in a strcitfp expression

### Narrowing Primitive Conversion

* short to byte or char
* char to byte or short
* int to byte, short or char
* long to byte, short, char, or int
* float to byte, short, char, int or long
* double to byte, short, char, int, long or float

### Binary Numeric Promotion

When an operator applies *binary numeric promotion* to a pair of operands, each of which must denote a value that is convertible to a
numeric type, the following rules apply, in order:
1. If any operand is of a reference type, it is subjected to unboxing conversion.
2. Widening primitive conversion is applied to convert either or both operands as specified by the following rules:
* if either operand is of type double, the other is converted to double
* otherwise, if either operand is of type float, the other is converted to float
* otherwise, if either operand is of type long, the other is coverted to long.
* Otherwist, both operands are converted to type int.

After the conversion(s), if any, value set conversion is then appied to each operand.

### 15.18.2 Additive Operators ( + and - ) for Numeric Types

The type of an additive expression on numeric operands is the promoted type of ite operands.
If this promoted type is int or long, then integer arithmetic is performed.
If this promoted type is float or double, then the floating-point arithmetic is performed.

Integer addition is associative when the operands are all of the same type.


text:
# RIA-ROS-Basics-with-CPP-in-5-days
This are the source files for the ROS C++ course
These are my answers to the ROS Basics course by Robot Ignite Academy.

The Courses covers ROS basics like NODES,TOPICS,SERVICES and ACTIONS.
It has 3 quizes which are to be completed.

## Code style
This Project used standard Code Style

[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](https://github.com/feross/standard)

## Brief Summary

ROS In 5 Days is the ideal course if you are new to ROS.The objective of this course is to give you the basic tools and knowledge to be able to understand and create any basic ROS related project. You will be able to move robots, read their sensor data, make the robots perform intelligent tasks, see visual representations of complex data such as Point Clouds and debug errors in the programs.

## What you will learn

This course covers following topics:

    1. ROS Basic Structure
    2. ROS Topics
    3. ROS Services
    4. ROS Actions
    5. ROS Debugging Tools

### Unit 0: Course Preview
- Interacting with a simulated robot and What you will need to learn to program a robot with ROS

### Unit 1: Guide for ROS in a Single Week
- It is possible to learn ROS fast if you have the proper method
- Robots we are going to use along the course
- Main Objective of this course
- Learning ROS: attack in two ways
- Apply what you learnt to a Robot Project
- How to proceed with the whole course

### Unit 2: ROS Basics
- Basic Concepts
- Move a Robot with ROS
- What's a ROS Package
- What is a launch file
- Create a ROS Package
- Your first ROS program
- ROS Nodes
- Compiling a ROS Package
- Parameter Server
- ROS Core
- Environment Variables

### Unit 3: ROS Topics - part 1
- Topic Publisher
- ROS Messages
- Exercises

### Unit 4: ROS Topics - part 2
- Topic Subscriber
- Custom Topic Message Compilation
- ROS Topics Mini Project

### Unit 5: ROS Services - part 1
- Topics - Services - Actions
- Services Introduction
- How to call a ROS Service
- Exercises

### Unit 6: ROS Services - part 2
- How to give a Service
- How to create your own service message
- Custom Service Compilation

### Unit 7: ROS Actions - part 1
- Playing with the Quadrotor simulation
- What are ROS Actions
- Calling an Action Server
- Performing other tasks while the Action is in progress
- The axclient

### Unit 8: ROS Actions - part 2
- Writing an Action Server
- Creating your own Action Server Message
- Custom Action Messages compilation

### Unit 9: Debugging Tools
- ROS What The F*ck
- ROS Debugging Messages and RQT-Console
- Plot topic data and RQT Plot
- Node Connections and RQT graph
- Record experimental data and ROSBags
- Visualize Complex data and RViz

### Unit 10: Course Project
- Win the Sphero Race
- What Sphero provides to program It
- Ideas to start working on
- Steps you should cover

### Unit 15: What to do after the Course?
- Keep Learning


text:
# Dynamic Launch Screens

This sample application shows how to create a special type of storyboard to be used as a Dynamic Launch Screen in a Xamarin.iOS application.

## Unified Storyboards

New to iOS 8, Unified Storyboards allow the developer to create one, unified storyboard file that can be displayed on both iPhone and iPad devices by targeting multiple Size Classes. By using Unified Storyboards, the developer writes less UI specific code and has only interface design to create and maintain.

The key benefits of Unified Storyboards are:

* Use the same storyboard file for iPhone and iPad.
* Able to deploy backwards to iOS 6 and iOS 7.
* Preview the layout for different devices, orientations and OS versions all from within the Xamarin iOS Designer.

Storyboards using this feature will require Xcode 6 and Auto Layout, so they will not be compatible with older versions of Xcode.

### Enabling Size Classes

Before Size Classes and Adaptive Segues can be used inside a storyboard, it must first be converted to the Xcode 6 Unified Storyboard format from inside the iOS Designer.

To do this:

1. Open the Storyboard to be converted in the iOS Designer and check the Use **Size Classes** check box.
2. The iOS Designer will confirm that the developer wants to convert the format of the storyboard to use Size Classes.
3. Click the Enable Size Classes button to convert the format to continue and start the conversion process.

### Adaptive Segue Types

If the developer has used storyboards before then they will be familiar with the existing segue types of **Push**, **Modal** and **Popover**. When Size Classes are enabled on a Unified Storyboard file, the following Adaptive Segue Types are made available: Show and Show Detail.

When Size Classes are enabled, any existing segues will be converted to the new types.

### Generic Device Types

Once the storyboard has been converted to use **Size Classes**, it will be redisplayed in the **Design Surface** and the **View As** device will be **Generic**. When the Generic device type is selected, all View Controllers will be resized to a 480 x 480 Square. This square represents sizes of **any width** and **any height**. When the iOS Designer is in this mode, any edits will apply to all of the Size Classes.

### Select a Size Class

The **Size Class Selector** button is at the upper left hand corner of the **Design Surface** (near the **View As** dropdown). It allows the developer to select which Size Classes are currently being edited.

The selector presents the Size Class selection as a 3 x 3 grid. Each of the squares in the grid represents a combination of a **Width Class** and a **Height Class**. The center square selects the **Any Width/Any Height Size class** (which is the default view for a Unified Storyboard). When this square is selected, the developer is editing the default layout, which is inherited by all the other configurations.

### Excluding an Element from a Size Class

There are times when a given element (such as a View, Control or a Constraint) is not required or desired inside of a specific Size Class. To exclude an Item from a Size Class, select the desired class from the **Size Class Selector**, and uncheck the **Installed** checkbox in the **Properties Explorer**.

## Dynamic Launch Screens

A Dynamic Launch Screen is a special storyboard (or optionally a `.XIB` file) added to a Xamarin.iOS project that acts as a universal launch screen. The Dynamic Launch Screen can only be form from simple controls (such as Images Views and Labels), uses Size Classes and Auto Layout for element positioning and must _not_ do any form of calculation or have any backing code.

repository: gmalyshev/monotouch-samples

repo_name: gmalyshev/monotouch-samples


text:
# Vimgem

Browse your favorite gem source code in Vim.

## Inspired by

https://gist.github.com/e6d5d8c9d5dd5b556d86

## Installation

    gem install vimgem

## Usage

    vimgem gem_name

### Example

    vimgem rails

Enjoy!!!

repository: lchanmann/vimgem

repo_name: lchanmann/vimgem


text:
---
layout: page
title: Coursework
permalink: /coursework/
order: 5
header: true
---

> If you would like a copy of my unofficial undergraduate or graduate transcript, please email me.

Fall 2013

* ComS 610: Seminar (Advanced Topics in Repository Analysis and Code Search)

Spring 2012

* HCI 573X: User Interface Implementation for Web Applications
* HCI 596: Emerging Practices in Human-Computer Interaction

Fall 2011

* ComS 510X: Distributed Software Development
* Psych 516: Advanced Cognition

Spring 2011

* Stat 401: Statistics Methods for Researchers

Fall 2010

* ComS 610: Seminar (Nvidia CUDA Programming)
* HCI 591: Seminar in Human-Computer Interaction

Spring 2010

* HCI 575: Computational Perception
* HCI 591: Seminar in Human-Computer Interaction

Fall 2009

* HCI 521: Cognitive Psychology of Human-Computer Interaction
* HCI 591: Seminar in Human-Computer Interaction
* ComS/ME 557: Computer Graphics and Geometric Modeling

Spring 2009

* Econ 308: Agent-Based Computational Economics
* HCI 591: Seminar in Human-Computer Interaction
* JLMC 598P: Communication Technology-Philosophy and Ethics

Fall 2008

* ComS 587: Principles of Network and Distributed Programming
* ComS 592X: Research Colloquia

gha_language: HTML


text:
---
title: Single Page Application
comments: true
---
**What, Why, and How. That's the main question.**

SPA (single page application) is a web app or site that only have 'one page' so you did not need to make too much page request. The popular example is gmail website. SPA is the new trend several years ago until now.

Why a lot people decide to use SPA ? simple, it create desktop-application-like experience since you did not need to reload your webpage to do some action. So the rest action will be handled secretly by javascript ninja lol.

### Okay, then How?
There are a lot of JS framework that can help you, like i used today, [AngularJS](https://angularjs.org)!

As a programmer who familiar with MVVM and data-binding concept, this framework help me so much. You just define the ViewModel (in angular, we use called `Controller`), you can attach the data model using directive `ng-model`.

below some cool [example](https://www.w3schools.com/angular/tryit.asp?filename=try_ng_module):

![the source](https://raw.githubusercontent.com/putuyoga/putuyoga.github.io/master/assets/images/source_code_ng.JPG)

See that? you just update the property, without call any method, the model will be updated seamlessly. I am still trying explore this one.

You can check [my repository](https://github.com/putuyoga/yoga-core) to follow what i've done so far with AngularJS and ASP.NET Core.

Cheers!


text:
---
title: "Browser Storage"
date: 2018-01-16T10:05:20-05:00
draft: false
noTitle: true
description: ""
---

Browser Storage

Master local storage, get and set cookies, and create browser-based databases.

Learn the ins-and-outs of browser storage with vanilla JavaScript in about an hour.

This guide is short, focused, and made for beginners. Get hands-on learning and grow your portfolio with a real project with browser storage techniques.

{{<cta for="guide">}}

{{<pricing-link>}}

{{<used-by>}}

## What you'll learn

- How to set, get, and remove cookies.
- How to store data in the browser with `window.localStorage` and `window.sessionStorage`.
- How to handle objects and arrays with `window.localStorage` and `window.browserStorage`.
- How to create expiration dates for `window.localStorage` items.
- How to create a local database with indexedDB, and get, set, and delete data from it.
- How to access and manipulate browser storage data with your browser's developer tools.
- How to put it all together and write a working project with browser storage.

{{<formats>}}

{{<testimonial-group group="learn">}}

## Learn by doing with a real JavaScript project

Reinforce your learning and build your portfolio by using browser storage on a real project. Together, we'll build a form that automatically saves your data as you type.

{{<bonuses>}}

{{<pricing-link>}}

{{<testimonial-group group="slack">}}

{{<skills>}}

## A Sample Lesson

What IndexedDB is and how it works.

{{<sample>}}

{{<money-back>}}

{{<cta for="bio">}}

{{%purchase-box%}}

Get everything you need to start mastering browser storage with vanilla JavaScript:

{{<purchase-summary>}}{{</purchase-summary>}}

{{<cta for="guide-buy">}}

{{<purchase-link product="browserStorage">}}

{{<purchase-upsell upsell="fundamentals">}}

{{<sales-numbers>}}

{{%/purchase-box%}}

{{<testimonial-group group="purchase">}}

{{<faq>}}

{{<pricing-link>}}

{{<testimonial-group group="faq">}}

{{<not-ready-yet>}}

repository: cferdinandi/vanilla-js-guides

repo_name: cferdinandi/vanilla-js-guides


text:
# Functional testing for Thales

This folder contains a set of functional tests desgined for Thales network.

It is written in typescript, using Mocha/Chai as Test framework.

## Test flow

Each group will start a dev service with the
[development spec](../node/src/chain_spec.rs) before executing the tests.

## Installation

```
npm install
```

## Run the tests

```
npm run test
```

and to print more information:

```
npm run test-with-logs
```

## Write Tests

### Add a new contract

- Add contract source code to `contracts/sources.ts`
- Run `npm run pre-build-contracts`=> This will generate the necessary abi and byte code
- Create your contract with
  `const { contract, rawTx } = await createContract(context.web3, "TestContract");`

## Verbose mode

You can also add the node's logs to the output using the `THALES_LOG` env variable. Ex:

```
THALES_LOG="warn,rpc=trace" npm run test
```

The test script will find available ports above 20000 in order to ensure that it doesn't conflict
with any other running services.

# Debugging a Thales node

The repository contains a pre-configured debugger configuration for VSCode with the **CodeLLDB**
(`vadimcn.vscode-lldb`) extension.

Before debugging, you need to build the node with debug symbols with command
`RUSTFLAGS=-g cargo build --release` (available as a VSCode task). Then go in the **Debug** tab in
the left bar of VSCode and make sure **Launch Thales Node (Linux)** is selected in the top
dropdown. **Build & Launch Thales Node (Linux)** will trigger the build before launching the node.

To launch the debug session click on the green "play" arrow next to the dropdown. It will take some
time before the node starts, but the terminal containing the node output will appear when it is
really starting. The node is listening on ports 19931 (p2p), 19932 (rpc) and 19933 (ws).

You can explore the code and place a breakpoint on a line by left clicking on the left of the line
number. The execution will pause the next time this line is reached. The debug toolbar contains the
following buttons :

- Resume/Pause : Resume the execution if paused, pause the execution at the current location
  (pretty random) if running.
- Step over : Resume the execution until next line, or go one level up if the end of the current
  scope is reached.
- Step into : Resume the execution to go inside the immediatly next function call if any, otherwise
  step to next line.
- Step out : Resume the execution until the end of the scope is reached.
- Restart : Kill the program and start a new debuging session.
- Stop : Kill the program and end debugin session.

Breakpoints stay between debugging sessions. When multiple function calls are made on the same line,
multiple step into, step out, step into, ... can be requiered to go inside one of the chained
calls.

When paused, content of variables is showed in the debuging tab of VSCode. Some basic types are
displayed correctly (primitive types, Vec, Arc) but more complex types such as HashMap/BTreeMap
are not "smartly" displayed (content of the struct is shown by mapping is hidden in the complexity
of the implementation).

## Running Typescript tests with a debug node

By setting the environement variable `DEBUG_MODE=true`, the Typescript tests will not spawn its
own node and instead will connect to an external node running on ports 19931/19932/19933, which
are the ports used by the debug node.

A VSCode test allow to quickly run the `test-single` test in debug mode. To run another test,
change the command in the `package.json`. Note that you should restart the node after running
one test file.

repository: Thales-network/Thales

repo_name: Thales-network/Thales


text:
# Minizare
[Web Site](https://abdulhamidoumer.github.io/Minizare/).

![Demo Picture](public/Demo.png)

Minizare is an open source currency conveter web app powered by the free currency converter API. currently Minizare supports about 156 currencies and 201 countries internationally.

## Contributions
Any kind of contributions and bug fixes to the Minizare code base is always welcome. Read the instructions below and fix any kind of bugs that are disturbing you, to make code improvments or to add any new features you want.

1. Fork Minizare and clone to your machine if you prefer to do that.
2. Minizare is built using react so make sure your development machine have Node.js installed.After that install all the dependencies inside the directory using the npm install command.
3. If you want to add new features make sure to branch from the 'develop' branch.
4. Don't do your works on 'gh-pages' branch as it is a production build, no changes will bemerged.
5. Do all your works and test your works.
6. Write a good commit messages to every new things you have changed or made.
7. Push to your origin repository and create a new pull request.

If you want more guide on contributing for opensource projects read this [Tutorial](https://akrabat.com/the-beginners-guide-to-contributing-to-a-github-project/)

repository: abdulhamidOumer/Minizare

gha_language: JavaScript

repo_name: abdulhamidOumer/Minizare


text:
# web-transcode

CLI program to transcode video + captions for playback in a Browser

```sh
npm i -g web-transcode

# will create web/video.mp4, web/video.vtt, web/video.html
#
# video.mp4 is the transcoded video with video codec h264
# video.vtt is the vtt captions file
#
# video.html will contain a simple fullscreen player
# that adds the subtitles to the video

web-transcode -i video.something -o web -s subtitle.srt
```

Requires ffmpeg to be installed in your PATH.

repository: mafintosh/web-transcode

repo_name: mafintosh/web-transcode


text:
# awkward-cpp
A curated list of awkward C++ (or C) syntax, standard library, ways of doing things, best practices, etc.

## Motivation
Even learning and using C++ for years, you would definitely have times when C++ surprises you with weird looking syntax that you never used, simple ways to do complicating things  you never expect or hard to find bugs that you encounter again and again. This is a curated list of these sorts of things. You can read one everyday and learn C++ better.

## List

### Name Lookup

- [Qualified name lookup can be used to access a class member that is hidden by a nested declaration or by a derived class](https://en.cppreference.com/w/cpp/language/qualified_lookup)

```c++
struct B { virtual void foo(); };
struct D : B {
  void foo() override;
  void bar() {
    B::foo(); // This is commonly used to call B::foo() (static dispatch)
  }
};
int main() {
    D x;
    B& b = x;
    b.foo(); // calls D::foo (virtual dispatch)
    b.B::foo(); // Do you know this syntax before? calls B::foo (static dispatch)
}
```

### Misc

- [0.1+0.2](https://0.30000000000000004.com/)
```c++
#include <iomanip>
#include <iostream>

int main() {
  std::cout << std::setprecision(17) << 0.1 + 0.2; // -> 0.30000000000000004
}
```


text:
---
layout: note
title: Usability research
notes:
- friction diagram
---

Some techniques used in usability research

- [Friction diagram]
  Plot of activity against time that highlights deviations from the
  primary activity.

- [Likert scale](https://en.wikipedia.org/wiki/Likert_scale)
  is a questionnaire entry that asks you to respond on a symmetric scale
  of subjective responses along the lines of "strongly disagree" through
  to "strongly agree".

- [Snowball sampling](https://en.wikipedia.org/wiki/Snowball_sampling)
  is finding participants by starting with a small seed
  of participants and using them to find some more participants.
  Keep going until you have enough.
  Typically used with hidden populations such as drug addicts.

- [Open coding](https://en.wikipedia.org/wiki/Open_coding)
  is deciding which features of an interview (say) are
  significant based on sampling a few interviews. Then using the resulting set
  of codes for the remainder.
  (But the Wikipedia link says something a little different.)

{% include links.html %}

repository: alastairreid/RelatedWork

gha_language: TeX

repo_name: alastairreid/RelatedWork


text:
# Changelog
Please READ this changelog before performing the update on your current Framework Version.

In order to update the your Framework Version from ( 1.0.- 1.2.- 2.0.0 ) to ( The Current Version ) you're subject to read the following doc.
- This update has a brand new features and improvments.
- This update is not beta.

## Requirements
Each Version of this Framework may require new modules or extensions to be available on your server.

- Server
    - If localhost ( Please install Ampps or AppServ )
- PHP
    - Version 5.6 or Newer
    - Tokenizer ( PHP Module )
- Apache
    - Mode_Rewrite ( Apache Module )

## Whats New?
- Features
    - Auto Load ( Controllers )
    - Pre-Installation Check ( Extensions )
    - Native Controllers Compiler
    - SQL Manager ( The Advanced Query Builder )
    - DBObject ( Advanced stdSQL Manager )
    - Developer Console ( Improved )
    - Brand new Console for Debugging
    - Multi-Languages ( Is now supported )
    - New Internal Functions
    - Brand new Page Navigator
    - Auto Detection of ( Controllers, Models, Helpers ) associated for the Viewer.
    - More +9 Features..
- Improvements
    - Main Core ( Improvements )
    - Main Controller ( Improvements )
    - Auto Loader ( Improvements )
    - Firewall ( Improvements )
    - Caching System ( Improvements )
    - Performance ( Bugs Fixed )
    - MySQL(i) Objective Controller ( Improvements )
    - More Improvements And fixes..

## Changes

Each change between versions will be shown here.

### Version 2.2.0

Global Updates :
  - Firewall Whitelisted URLs Feature Added.
  - Performance Improvements

Libraries :
  - MessengerBot Library Added.
  - IDateTime Library Added.
  - Google reCAPTCHA v2 Added.
  - Benchmark Library Added.
  - Password Policy Added.
  - File Streaming Library Added.
  - File Uploader Library Added.
  - Carbon DateTime Added.
  - User Agent Library Added.
  - JSONP Validation Added.

Engines :
  - SQL Manager Improved.
  - DBObject Improved.

Core :
  - Development Tools Improved.
  - Services Loader Improved.
  - Namespaces Support.

#### Changes

##### FROM Version 1.* to 2.*

FILES & FOLDERS :
  - New Settings folder - (Application/Misc/Config)
  - File (~root/Router.php) File moved to (Application/Misc/Config/Routes.php)
  - Firewall Settings File is here : (Application/Misc/Config/Firewall.php)
  - Terminal Settings File is here : (Application/Misc/Config/Terminal.php)

THINGS TO DO :
  - Controllers Settings are not available in (Application/Misc/Config/Routes.php)
    - You need to set the DEFAULT_CONTROLLER of your Application.
    - By default, this option set to (Home) Controller.

## How to perform the Update?
Using your browser or Git.

```sh
 $ git clone https://github.com/Skytells/Framework.git
```

repository: brmoda/Framework

repo_name: brmoda/Framework


text:
To complete this exercise, load the core file at {coreFilePath} with mdb, and
find the value of the property `bar` of all objects of type `Foo`. Copy and
paste mdb's output in a file and then verify your solution by running:
```
$ {appname} verify solution.txt
```
where `solution.txt` is the file that contains mdb's output.

# HINTS

In the previous exercise, we learned how to inspect all objects with a given
type.

In this exercise, you can use `::jsprint`'s ability to display the content of
only one property:
```
address::jsprint some-property
```
will only display the property `some-property` of the object at address
`address`.


text:
# PHYS220 CW 1

**Author(s):** _Aaron Grisez, Preston Kamada 9/1/2016_

[![Build Status](https://travis-ci.org/chapman-phys220-2016f/cw-01-aareston.svg?branch=master)](https://travis-ci.org/chapman-phys220-2016f/cw-01-aareston)

**Due date:** 2016/09/06

## Specification

Complete the following exercises, saving your solutions in the indicated files. For Python files that include test functions, GitHub will automatically run your tests with ```nosetests``` on every commit, indicating any failures via the Travis framework in the build status image above.

1. Using ```vim``` in a terminal, create a ```bash``` script named ```mktmpfiles.sh``` that, when executed, creates a new directory ```testfiles``` in the current working directory, then changes the working directory to the newly created directory, then creates 100 empty new files named ```file001.tmp``` through ```file100.tmp```, then changes the working directory back to the original directory. Commit only the file ```mktmpfiles.sh``` to GitHub.
1. Using ```vim``` in a terminal, create a LaTeX file ```testlatex.tex``` (using the template in the ```info``` repository). In this file write an explanation of what the definition of the derivative $f'(x)$ of a function $f(x)$ means.  Include both inline and numbered equations, as well as a proper title, abstract, and section headings. Find a suitable image to illustrate your definition online, and include it as a figure, with proper citation of the source. After ensuring that your LaTeX file compiles properly to pdf, commit only the source file ```testlatex.tex``` to GitHub.
1. Using ```vim``` in  a terminal, create a python file ```testpython.py```. In this file write only a single function ```test_trivial()``` that contains only the line ```assert True```. Commit this python file to GitHub and ensure that the Travis tests detect it and report a passing status. You will need to edit the links in README file and commit the changes to GitHub to see the Travis status image.

## Assessment

Analyze in this section what you found useful about this assignment in your own words. Include any lingering questions or comments that you may have.

I found learning LaTeX through trial and error to be a bit frustrating, yet rewarding when I started to grasp it. I also found getting thrown back into coding to be an efficient way of relearning the skill.

There was a definite learning curve for the git system which was demoralizing at first. After overcoming that, I feel much more confident.

_INSTRUCTOR COMMENT:_
_Make sure the "I" is actually a "we" here. It's useful to hear from everyone in the group. Feel free to add constructive suggestions for how to improve the assignment in the future._

## Honor Pledge

I pledge that all the work in this repository is my own with only the following exceptions:

* Content of starter files supplied by the instructor;
* Code borrowed from another source, documented with correct attribution in the code and summarized here.

Signed,

Aaron Grisez
Preston S Kamada


text:
# Finite State Machine

A finite state machine is composed of a finite number of states, which are particular configurations of a system.

A system can only be in one state. An event can cause the state transition but the result state should be only one, otherwise the transition is ambiguous. Optionally, there can be actions taken on the state transition.

path: /2. Transport/2.6. Finite State Machine.md

filename: 2.6. Finite State Machine.md


text:
# Maybearray

Native JavaScript Maybes built with arrays.

* [API docs](docs/api.md)

## Credits

Created for [EricElliottJS.com](https://ericelliottjs.com).

repository: ericelliott/maybearray

repo_name: ericelliott/maybearray


text:
# Cross Environment Modules

While developing libraries that where intended to run on both node and the browser I wanted
to create a simple method of defining modules (think node not AMD) that would behave
the same in both the browser and node.

## Goals:

  1. In the browser provide familiar semantics where
     there is aways _one_ top level namespace and sub components
     can live inside this namespace.

     ````js
     var instance = new Module.Thing();
     ````

  2. Even though libraries may be intended to be bundled into a single
     javascript file for simple inclusion in the browser (think mocha.js)
     each component also  be able to run standalone or with only its
     immediate dependancies included.

     The intend is that if you develop some awesome library with utility X
     some other author can include utility X without your entire library
     and without figuring out your build system. Simply include utility X
     and any of its dependancies and it should work.

  3. Node conventions are followed when running in node noone should
     know or care that you are taking special steps to also run in the browser.

     ````js
     var Module = require('module');
     var instance = new Module.Thing();

     //also!

     //this will also work if thing has dependancies
     //on other files inside your library.
     var instance = require('module/lib/thing');

     ````

  4. Achieve 1-3 without dependancies on an external library with
     an absolutely minimal footprint and no special build process.

## Test it out

Load index.html in your browser

Run `bin/test-node-individual` and `bin/test-node-all`

## LICENSE

(MIT) see LICENSE.md

repository: lightsofapollo/cross-env-js-modules

repo_name: lightsofapollo/cross-env-js-modules


text:
# FEW 2.5 - Making an interactive view

<!-- Put a link to the slides so that students can find them -->

➡ [**Slides**](https://make-school-courses.github.io/FEW-2.5-Data-Visualization-and-Web-Graphics/Slides/Lesson-5.html ':ignore')

<!-- > -->

## Overview

The goal of this session is to focus on making interactive views.

<!-- > -->

## Why you should know this

Handling interaction is an important skill for front end developers. It's your job to handle user interaction and interface user input with software logic.

<!-- > -->

## Learning Objectives

- Handle user interactions with events
- Create dynamic views
- Style views dynamically
- Displaying your work with GitHub Pages

<!-- > -->

## Defining State

Using the Titanic Data you have displayed gender, embarkation, and survival. The goal now will be to show these dynamically.

To turn the display of a property on or off you can use a variable.

```JS
let showGender = false
let showEmbarked = false
let showSurvived = false
```

If one of these variables is true we can show the data and if false the data is not shown.

<!-- > -->

Next, we need some buttons to toggle the state of each of these features.

```HTML
<button id="button-gender">Gender</button>
<button id="button-embarked">Embarked</button>
<button id="button-survived">Survived</button>
```

Define a few buttons in the DOM with id names to connect them with JS.

<!-- > -->

Add event listeners to each of the buttons that toggle the property.

```JS
buttonGender.addEventListener('click', (e) => {
 showGender = !showGender
})
```
Here `showGender` will change from true to false to true again with each click.

<!-- > -->

Show the state of the button:

```JS
buttonGender.addEventListener('click', (e) => {
  showGender = !showGender
  if (showGender) {
    e.target.style.backgroundColor = 'black'
    e.target.style.color = 'white'
  } else {
    e.target.style.backgroundColor = 'white'
    e.target.style.color = 'black'
  }
})
```

Now when showGender is true the button has a black background and white text.

<!-- > -->

### Challenges 1

**Challenge:** Abstract the code from the previous section. Here are two ideas you can try:

**Option 1:** use a class name to change the appearance of the button. Replace the iff statement in the previous code with:

```js
if (showGender) {
  e.target.classList.add('button-selected')
} else {
  e.target.classList.remove('button-selected')
}
```
Define the styles for the button-selected class in your stylesheet.

```CSS
.button-selected {
  background-color: black;
  color: white;
}
```

**Option 2:** Create a function to abstract the code in the if-else.

```JS
buttonGender.addEventListener('click', (e) => {
  showGender = !showGender
  selectButton(e.target, showGender) //
})

function selectButton(el, state) {
  // change the appearance of el
  // based on state
}
```

<!-- > -->

### Elements and data

The next step is connecting the data with the DOM. A good approach might be to create a DOM for each passenger in the Titanic dataset.

```JS
const elements = []
const passengerData = []
```

Make two arrays. One to hold the DOM elements that will display passengers. And the other to hold the passenger data loaded from the Titanic data set.

<!-- > -->

```JS
const elements = []
const passengerData = []

function handleData(data) {
  const fields = data.map(({ fields }) => fields)

  fields.forEach(passenger => {
    const el = document.createElement('div')
    passengers.appendChild(el)
    elements.push(el)             // store the element
    passengerData.push(passenger) // Store the passenger
  });
}
```
Loop over the Titanic data and create an element for each passeneger, and push each passenger object into the data array.

<!-- > -->

Now that you made DOM elements for each object in your dataset give each element a few default properties

```JS
fields.forEach(passenger => {
  ...
  el.style.width = '14px'
  el.style.height = '14px'
  el.style.backgroundColor = 'black'
  el.style.margin = '1px'
  el.style.transition = '200ms' // use trasnsition to asnimate changes
  el.style.boxSizing = 'border-box'
});
```

<!-- > -->

### Display data in the DOM

You should have an array of elements for each passenger and an array of passenger data. Time to connect the two.

The index of each data item will map to the index of the DOM element.

Keeping two arrays allows the DOM to be unaffected by changes to data. This is important since sorting the data will not rearrange the DOM.

<!-- > -->

Make a function that loops through your data and sets the appearance of an element at the same index in the elements array.

```JS
function displayByGender() {
  passengerData.forEach((obj, i) => {
    const el = elements[i]
    const color = obj.sex === 'male' ? 'blue' : 'pink'
    el.style.backgroundColor = showGender ? color : 'black'
  })
}
```

If `showGender` is `true` the color is displayed otherwise the color is black.

Call this function from the button event handler.

<!-- > -->

### Challenges 2

**Challenges**

Create functions to display embarked and survival. You can decide how these will be displayed. You can use background color, border, border-radius or other.

The function should use the variable `showSurvival` or `showEmbarked` to either display the feature or use a neutral value to not display that feature.

<!-- > -->

<!-- .slide: data-background="#087CB8" -->
## [**10m**] BREAK

<!-- > -->

### Sorting

We can sort the data on any of the fields. Sorting will rearrange the data array

Use the sorting ideas from the previous lesson.

IF you sort the data you'll need to display it again in the DOM. Call your display functions.

<!-- > -->

### Button Group

Radio buttons are buttons that work in a group where only one can be selected at a time.

To do this when clicking a button that is part of a group remove the `button-selected` class from all the buttons in the group and add the class to the selected button.

<!-- > -->

## Your work on GitHub Pages

Use GitHub Pages to host your work. Each of your visualizations should exist on GitHub Pages.

Take some time to do the following:

1. Follow the guide [here](https://pages.github.com) to set up your GitHub Pages.
1. Add a link to your GitHub Pages repo in the project tracker.

For inspiration, here are some [example visualizations](https://github.com/soggybag/data-visualizations) on GitHub Pages.

<!-- > -->

## After Class

Complete assignment 4

<!-- > -->

## Resources

- https://javascript.info/introduction-browser-events
- https://javascript.info/array-methods#sort-fn
- [Assignment 4](../Assignments/Data-Visualization-4.md)

<!-- > -->

## Minute-by-Minute

| **Elapsed** | **Time** | **Activity** |
| ----------- | --------- | ----------- |
| 0:05 | 0:05 | Admin |
| 0:05 | 0:10 | [Overview](#overview) |
| 0:05 | 0:15 | [Learning objectives](#learning-objectives) |
| 0:10 | 0:25 | [Defining State](#defining-state) |
| 0:30 | 0:55 | [Challenges 1](#challenges-1) |
| 0:10 | 1:05 | [Elements and data](#elements-and-data) |
| 0:30 | 0:35 | [Challenges 2](#challenges-2) |
| 0:10 | 1:55 | [BREAK](#break) |
| 0:10 | 2:05 | [Sorting](#sorting) |
| 0:40 | 2:45 | [Lab](#lab) |
| 0:05 | 2:50 | [wrap up](#wrap-up) |


text:
The files within this folder describe various aspects of how EACOF works or is designed.

When describing code, the description refers to the current implementation of EACOF. There may be discussion about possible alternative implementations. These sections are indicated by phrases such as `alternative implementations`.

Using EACOF
-----------

Docs useful for those who wish to use EACOF.

* `apis.md`
* `components.md`
* `device-classification.md`
* `key-concepts.md`
* `limitations.md`

Modifying EACOF
---------------

Docs useful for those who wish to understand the internals of EACOF.

* `apis.md`
* `device-classification.md`
* `internal-structure.md`
* `versioning.md`

Further Docs
------------

Further docs can be generated by running `make docs` from the parent directory with doxygen installed.

repository: hoangt/eacof

repo_name: hoangt/eacof


text:
# @form-create
> @form-create 包说明

- @form-create/core `表单生成器核心包`

    - dist/form-create.core.js
    - dist/form-create.core.min.js

- @form-create/iview `iview 版表单生成器`

    - dist/form-create.js
    - dist/form-create.min.js

- @form-create/iview4 `iview 4.x 版表单生成器`

    - dist/form-create.js
    - dist/form-create.min.js

- @form-create/element-ui `element-ui 版表单生成器`

    - dist/form-create.js
    - dist/form-create.min.js

- @form-create/ant-design-vue `ant-design-vue 版表单生成器`

    - dist/form-create.js
    - dist/form-create.min.js

- @form-create/utils `表单生成器工具包`

repository: xaboy/form-create-doc

repo_name: xaboy/form-create-doc


text:
---
layout: post
title: Wine Controller Joystick Error
image: /images/winejoy/wineglass.png
---

![Logo Pipewire]({{ site.baseurl }}/images/winejoy/wineglass.png)

If You have issue with USB Joystick with driver **Bus 002 Device 004: ID 0810:0001 Personal Communication Systems, Inc. Dual PSX Adaptor** on *L1*/*R1* Button like pictures on below You can try downgrade Wine packages before version 7.×, version 5.× is highly recomended. These example for downgrade a Wine packages on Arch linux based distro (Manjaro, Artix, and others Arch-based distro).
![Logo Pipewire]({{ site.baseurl }}/images/winejoy/joy5.png)
![Logo Pipewire]({{ site.baseurl }}/images/winejoy/joy6.png)

## Method 1
### Download old packages of wine
You can download Wine packages on links below:
- [Wine](https://archive.archlinux.org/packages/w/wine/)
- [Wine Staging](https://archive.archlinux.org/packages/w/wine-staging/)
![Logo Pipewire]({{ site.baseurl }}/images/winejoy/winepkg.png)

Pick one of packages with ended by (file extension) *.xz* or *.zst*. And download it by clicking that hyperlinks or you can use *wget* and for example you can follow this command:
```
cd ~/Downloads
wget https://archive.archlinux.org/packages/w/wine-staging/wine-staging-5.5-1-x86_64.pkg.tar.zst
```
![Logo Pipewire]({{ site.baseurl }}/images/winejoy/wgetwine.png)

After package downloaded, go to directory of downloaded package (Usually at: "**~/Downloads**"). then you can run *pacman -U* and for example you run this command:
```
pacman -U wine-staging-5.5-1-x86_64.pkg.tar.zst
```

![Logo Pipewire]({{ site.baseurl }}/images/winejoy/pacmanu.png)

## Method 2
### Install a downgrade package
If you dont have *downgrade* install on your system. you can follow this command:
```
yay -S downgrade
```

![Logo Pipewire]({{ site.baseurl }}/images/winejoy/yaydown.png)

This tools can usefull when you have problem with newer package install on your system when is needed next.

### Run downgrade tools
Next you run downgrade tools with following this command:
```
downgrade wine
```
![Logo Pipewire]({{ site.baseurl }}/images/winejoy/downmain.png)

Then you can select what old packages you want to install on your system and after selecting packages you can follow instruction on downgrade tools like using *pacman* package manager.
![Logo Pipewire]({{ site.baseurl }}/images/winejoy/downpac.png)

# Why this happen?
Wine have new a driver for some Joystick that effected Playstation like Joystick. they mapping *L1*/*R1* Button as a *Z,Rz*.


text:
# Drupal 8 Rest AngularJS

This project tries to reimplement the Bartik theme from Drupal 8 as an AngularJS webapplication communicating with Drupal through ReST

## Getting Started

This project setup is done by [angular-seed][angular-seed]

All dependencies are managed with npm and bower. To start clone this repository and run:

```bash
$ npm install
$ npm start
  ...
  ^C
```

## Default installation

Drupal 8 ReST doesn't support [CORS][cors] yet so the app directory should be
hosted on the same hostname and port as the Drupal 8 instance running
the ReST api. The easiest way is to copy or symlink the `app` directory from
this repo to to root of your Drupal 8 installation.

BASIC AUTH is currently broken on [authenticated users](https://www.drupal.org/node/2504433) and [views REST export](https://www.drupal.org/node/2228141) so we use COOKIE based.

```bash
# Go to your Drupal 8 root directory
$ cd /var/www/drupal
$ ln -s /path/to/drupal-8-rest-angularjs/app .
```

### config.js

You must copy `config.js.dist` to `app/config.js` and change it's values.

### Installing on a CORS configured server

When having configured your web server of the .htaccess with core you should
change the app.js config section.

## Drupal configuration

Current version only supports __hal+json__ so make sure all views and rest
resources support these.

## Modules

Install and enable [Rest UI][restui] module. With that module you can expose nodes, comments and users to Rest clients.

## Add rest export displays

Add a "Rest export" display to the following views:

- http://drupal.d8/admin/structure/views/view/frontpage set path to '/node'
- http://drupal.d8/admin/structure/views/view/taxonomy_term/ set path to '/taxonomy/term/%'

## Import views

You need to import the views from `/app/_drupal` directory.

### /taxonomy/list

This view adds a "Rest export" display with path to '/taxonomy/list' to display the term name.

### /node/%/comments

This view adds a "Rest export" display with path to '/node/%/comments' to display the comments.

## Rest UI

Check the configuration on http://drupal.d8/admin/config/services/rest

## Permissions

Check the permissions on http://drupal.d8/admin/people/permissions for 'RESTful Web Services' permissions.

[cors]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
[angular-seed]: https://github.com/angular/angular-seed
[restui]: https://www.drupal.org/project/restui

branch_name: refs/heads/develop


text:
# 70-480-microsoft-certification
A repo for my study material, example code and important topics summary.

This repo was created on November of 2018, but the test is far older. Some content in this repo don't work like specified here anymore, but the topics here helps us to pass the exam. So please, if you want to learn the proper way to use HTML5, CSS3 and javascript, this isn't the best place or you should double check with another website like [MDN](https://developer.mozilla.org) for every topic.

You can start at [summary.md](summary.md)


text:
Bovespa End of Day data
=======

Bovespa EOD is a project that aims to promote Algorithm trading providing a JSON API for access end of day data to Bovespa stock market. To archive this goal, it downloads data directly from Bovespa website, stores in a Postgres database and provides an API to access this data.

Features
========
- Updates database from the last updated date.
- Provide a API to access spot / options / futures data

Installation
============

1. Installing requirements:
-----------------------
      $ pip install -r requirements.txt

2.  Configs
-----------------------
   2.1 It's necessary to database path: DATABASE_URL

   2.2. If you are running the database on your machine you need to install postgresql. In order to do that:
    $  sudo apt-get install postgresql python-psycopg2 libpq-dev

3.  Create schema
-----------------------
3.1 - Open the database and create a new database
3.2 - Run the script setup_database.sql

Running
============
1. The project has 2 servers:
   updateserver -  that must be called whenever you want to update your database.
   restserver - Run the API service.


text:
Link to a pythia card generation code for the CMS Emerging Jets analysis:
https://github.com/yimuchen/EMJ

Contributed by Yi-Mu Chen (See discussion here: https://indico.cern.ch/event/970758/contributions/4098429/attachments/2139321/3604346/YiMu_20201109.pdf)


text:
# 05-Space-Shooter

* DISCOUNT ENTERPRISE *
This is my space shooter that I decided to call "discount enterprise" because it kind of reminds me of what Star Trek would be like if it was the generic brand.

- The game uses a spaceship that is controlled by the mouse.
- Left mouse button clicks will allow the ship to shoot out a laser.
- The spaceship can shoot a laser (which is worth 10 damage) at an asteroid, whose "HP" is 100.


text:
---
title: bud.entry
---

**bud.entry** is used to specify and group assets to include in the compilation.

If no entrypoint is provided **bud.js** will attempt to compile **src/index.js** to **dist/main.js**.

repository: roots/bud

gha_language: TypeScript

repo_name: roots/bud


text:
# Marketbeat Scraper

[![Codacy Badge](https://api.codacy.com/project/badge/Grade/0b0d6c99353e4d3d91ac2385c9ae17e3)](https://www.codacy.com/app/forray.zsolt/marketbeat-scraper?utm_source=github.com&utm_medium=referral&utm_content=Zsolt-Forray/marketbeat-scraper&utm_campaign=Badge_Grade)
[![Python 3.6](https://img.shields.io/badge/python-3.6-blue.svg)](https://www.python.org/downloads/release/python-360/)

## Description
This tool collects today's analyst actions (upgrades, downgrades, etc.) of major brokerage houses for US companies (including OTC markets).

## Usage
`Data Source: https://www.marketbeat.com/`

![Screenshot](/png/input.png)

### Usage Example
Collect all available today's analyst actions.

```python
#!/usr/bin/python3

import marketbeat_scraper as mbs

sc = mbs.MarketBeatScraper()
res = sc.run_app()

print(res)
```

### Output
List/Dictionary of analyst actions.

![Screenshot](/png/output.png)

## LICENSE
MIT

## Contributions
Contributions to this repository are always welcome.
This repo is maintained by Zsolt Forray (forray.zsolt@gmail.com).

repository: PostPCEra/marketbeat-scraper

repo_name: PostPCEra/marketbeat-scraper


text:
## Patty
A reusable component for iOS apps that supports a left, right and top Hamburger menu. Written in Swift.
Open-sourced for the _sole purpose_ of reusability in future projects. Expect _VAST_ changes to this library over time.

## Intro
This here's Patty. Y'all know her from The Simpsons. She's pretty...

And here she is, in all her Simpsons palette glory:

## Usage
- Ensure you have yourself a Navigation-based iOS app setup in Xcode.

- Copy in Patty to your project _no I will not use Pods_

- Open up the Storyboard and change the Navigation Controller to `NavigationController`
-- _P.S. I was told to remove the prefix I had on all the class files_

- Add in a View Controller, and set the class to `SidebarViewController`. Also, set the Storyboard Identifier to `SidebarViewController`. You can change the in-code requirement if you want to break standards in naming those however.

- You can basically do whatever you want to the `SidebarViewController`. It can have a `UITableView`, or some buttons or if you're thinking in the mindset of an OS X Dev circa 2005, you'll pop a ~~UI~~NSTextView in there and use it to house your "About This App" info text.

- The next step is to make sure each View Controller that should access the Sidebar conforms to `NavigationControllerDelegate.`

## Control

- Each class that wants a Sidebar should implement one, or all, of the following methods. For the sake of convenience I made these empty, and of course in the future I'll make it better.

```swift
func shouldShowLeftMenu() {}
func shouldShowRightMenu() {}
func shouldShowAccessoryMenu() {}
```

- The `NavigationController` class asks the View Controller if it responds to any of these selectors, and if it does, shows the relevant button and allows you to show the associated Sidebar, or Topbar.

## Lastly

- This is being released under the MIT... blah blah... which means you can edit and change and use it free of charge... blah blah.

- I only ask that if you use this, @ me on Twitter (@cocotutch) or submit a PR with improvements :joy:

## Thanks!

repository: jtribe/patty

repo_name: jtribe/patty


text:
---
title: "DIY Whiteboard Magnets"
layout: post
date: 2018-02-04 03:42
tag:
- DIY
- design
projects: true
hidden: true # don't count this post in blog pagination
description: "How to design and make DIY whiteboard magnets!"
category: project
author: Jessica Lee
---

![whiteboard magnets](https://jursurcur.github.io/assets/images/whiteboard-magnets.jpg)

For my boyfriend's really belated one-year anniversary and Christmas present, I knew his present had to be epic especially since his 20th birthday present for me was [skydiving](/assets/images/skydiving.jpg) passes.

Don't get me wrong. I'm a very thoughtful person, but I also have inconveniently high expectations. I REFUSE to gift a present that I'm not satisfied with even if it means the person never receiving one. (Sorry Katherine! I promise that you'll get your 21st birthday present before you turn 22.)

Anyways, if you thought I was a workaholic, then my boyfriend is the definition of one. For example, on our first Valentine's, I got him an electric kettle packed with snacks, tea, and ramen, all necessities to help him power through late nights. So I knew I had to get him a present that he would use to streamline his already inhuman productivity.

He's a CS/ELEC major and math minor, carries Expo markers on him like he'll spontaneously derive equations, and has TA'd every course in his curriculum. You now probably understand how a whiteboard could ever become a present. Besides, he was terribly lacking in room decor. To give you an idea, he taped a figure from a neuro paper onto his wall. #art

I got the idea to make custom magnets when I went to Texas Art Supply with Kira, my incredibly talented pre-dental BIOS/VADA friend and fellow coffee shop 'n werk connoisseur. (Stay posted for our joint coffeeshop 'n werk blog.) I bought a 2-pack 4"x6" [magnet sheet](https://www.texasart.com/group/3831/102) and a 2-pack 5"x7" [magnetic photo pocket](https://www.texasart.com/group/3830/102).

I then started brainstorming inside jokes to base my magnets off of. Over the past year, Aidan and I have created our own catchphrases, including some in Chinese. The hardest part was illustrating text. I had to get real creative with color theory and texture, but I learned a couple techniques in Illustrator, and I also downloaded open sourced brush libraries.

![compiled magnets](/assets/images/compiled-magnets.jpg)

<figcaption class="caption">Disclaimer: I did not design the Apple emojis, sad Chipotle cow, Nintendo shroom, Skype moji, and stuffed rabbit. I also adapted the lightening bolts, molecular structure of caffeine, hedgehog, and Texas outline due to time constraints.</figcaption>

I learned to create a hatched drop shadow text effect through this YouTube [tutorial](https://www.youtube.com/watch?v=PVij2CNspjE), and the colorful transparent overlay effect is done by changing the transparency settings from "normal" to "multiply." For this project, I worked exclusively with these [Stipple Shading](https://blog.spoongraphics.co.uk/freebies/8-free-stipple-shading-brushes-for-adobe-illustrator) and [Doodle Sketch](http://www.melsbrushes.co.uk/free-illustrator-brushes-natural-sketch-doodle-lines-set/) brushes.

I organized my designs into 2 sets of 4"x6" blocks (as pictured above), printed a copy onto 8.5"x11" 60 lb paper, adhered it to the 2 magnet sheets, and cut each design out. Overall, I'm really happy with this DIY project! He loves his personalized whiteboard and even brought it to teach his students at TA sessions.


text:
# ctpbee

bee bee .... for developer's trading ~

> tiny but strong

`ctpbee` provide a micro core of trading, you can make trade and backtest in it.

## 环境设置

```bash
#  linux用户快速生成中文支持/ windows用户无须设置
sudo ctpbee -auto generate
```

## 灵感起源

- using ctp interface from [vnpy](https://github.com/vnpy/vnpy)

## 快速安装

```bash
# 源码安装
git clone https://github.com/ctpbee/ctpbee && cd ctpbee && python3 setup.py install

# pip源安装
pip3 install ctpbee
```

## 文档信息

点击阅读 [document address](http://docs.ctpbee.com)

## 快速开始

```python
from ctpbee import CtpBee
from ctpbee import CtpbeeApi

sta = CtpbeeApi("hello world")

@sta.route(handler="tick")
def on_tick(context, tick):
    print(tick)

@sta.route(handler="bar")
def on_tick(context, bar):
    print(bar)

app = CtpBee("ctpbee", __name__)
info = {
    "CONNECT_INFO": {
        "userid": "",
        "password": "",
        "brokerid": "",
        "md_address": "",
        "td_address": "",
        "appid": "",
        "auth_code": "",
        "product_info": ""
    },
    "INTERFACE": "ctp",
    "TD_FUNC": True,  # Open trading feature
}
app.config.from_mapping(info)  # loading config from dict object
app.add_extension(sta)
app.start()
```

更多功能 请阅读[document address](http://docs.ctpbee.com)

## 命令行运行截图

![avatar](source/运行.png)

## 回测截图

支持多周期多合约回测

![avatar](source/回测.png)

## PR支持

Only Accept [PR](https://github.com/ctpbee/ctpbee/compare) code to `dev` branch, please remember that !

## For a high performance version

click the 👉 [FlashFunk](https://github.com/HFQR/FlashFunk) for more detail.

At last, have a good luck.

## License

- MIT

repository: scanfyu/ctpbee

repo_name: scanfyu/ctpbee


text:
---
type: location
date: 2015-05-13
title: Using Machine & Docker to develop Docker
event:
    name: Meetup
    location: Paris, France
links:
    Meetup: http://www.meetup.com/Docker-Paris/events/222207797/
---

<iframe src="//www.slideshare.net/slideshow/embed_code/key/ewhF0NOPW1Zre6" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>

A talk given at a Docker Paris meetup which presents how the Docker team
internally relies on Docker tooling to developer on Docker itself.


text:
Usage:

Overlay:

- Put this line in /etc/make.conf:

```
OVERLAYS+=/path/to/freebsd-ports-boost
```

repository: lbartoletti/freebsd-ports-boost

repo_name: lbartoletti/freebsd-ports-boost