text:
---
layout: post
title: Echo State Networks
author: remcotukker
description:
category:
tags: ["robot control", "echo state networks"]
---
{% include JB/setup %}

# Echo State Networks

Just a quick post for people that are interested in Echo State Networks.

The past months I spent my time at DoBots to investigate Echo State Networks
(ESNs) as part of my studies Cognitive Neuroscience. ESNs are a type of
recurrent neural network that is easier to train than conventional recurrent
neural networks. Those conventional networks require gradient-based learning
algorithms, such as backpropagation through time (BPTT), and can have problems
with convergence. In order to circumvent this problem, the recurrent
connections are not trained at all in the ESN approach. Instead, the recurrent
neural network is used as a reservoir of non-linear combinations of the input
data, and this reservoir is used to train a simple perceptron output node with
regression. The resulting network gives especially impressive results in
timeseries prediction.

Here is a scholarpedia link with a better (and short) explanation of the idea
and two good review articles:

  * [http://www.scholarpedia.org/article/Echo_state_network](http://www.scholarpedia.org/article/Echo_state_network)
  * M. Lukosevicius and H. Jaeger. Reservoir computing approaches to recurrent neural network training. Computer Science Review, 3(3):127-149, 2009.
  * B. Schrauwen, D. Verstraeten, and J. Van Campenhout. An overview of reservoir computing: theory, applications and implementations. In proceedings of the 15th European Symposium on Arti cial Neural Networks. 2007.

##  Classification of context

I investigated classification with ESNs. Specifically, classification of
environments and abstract context. This can be useful in a couple of
situations. First, you may want to create a robot controller based on a
recurrent neural network, but get stuck at the training procedure. As
explained earlier, an ESN can solve this problem. Another possibility is to
create a behavioral robot controller and use the output nodes of the ESN to
inhibit or enhance specific behaviors, depending on the context. For example,
you could use a small ESN to process battery status and light sensor
information to create a sleeping pattern or simply to make a robot look for
energy when the battery is almost empty. Unfortunately, I did not get around
to implementing the ESNs in an actual robot for demonstration. Nevertheless, I
adapted the basic ESN concept to deal with different timescales, by using a
continuous times reservoir instead of a discrete reservoir. This system can
solve some artificial but non-trivial abstract tasks. The main challenges for
a robot implementation will be the use of continuous input signals instead of
binary input and the timing of the input signals: in my system, the input is
given every 15 timesteps and at the end of every such trial, the output is
read. In a robot, this will probably not be so simple.

For more detailed information and the matlab code for the ESNs, see
[https://github.com/RemcoTukker/PFC-ESN](https://github.com/RemcoTukker/PFC-ESN)

For reference, the most common application of ESNs in robots are for motor
control and inverse modelling of robot control. Here's some articles about
these applications, in chronological order:

  * P. Ploger, A. Arghir, T. Gunther, and R. Hosseiny. Echo state networks for mobile robot modeling and control. RoboCup 2003: Robot Soccer World Cup VII, pages 157-168, 2004.
  * M. Salmen and P.G. Ploger. Echo state networks used for motor control. In Robotics and Automation, 2005. ICRA 2005. Proceedings of the 2005 IEEE International Conference on, pages 1953-1958. IEEE, 2005.
  * A.F. Krause, V. Durr, B. Blasing, and T. Schack. Evolutionary optimization of echo state networks: multiple motor pattern learning. 2010.
  * C. Hartland and N. Bredeche. Using echo state networks for robot navigation behavior acquisition. In Robotics and Biomimetics, 2007. ROBIO 2007. IEEE International Conference on, pages 201-206. IEEE, 2007.
  * T. Waegeman, E. Antonelo, F. Wyels, and B. Schrauwen. Modular reservoir computing networks for imitation learning of multiple robot behaviors. In Computational Intelligence in Robotics and Automation (CIRA), 2009 IEEE International Symposium on, pages 27-32. IEEE, 2009.

repository: dobots/website

gha_language: HTML

repo_name: dobots/website


text:
### Okta Workflows Templates

You are able to download the `.flow` template files and upload them to your sandbox or production instance of Okta Workflows. The example flows include use of the Okta, Google, Jamf Pro, and Jamf Classic APIs.

Most automations are in a parent/child flow pair. **I suggest uploading all child flows first.** The Okta Workflows import tool may prompt you to select a parent flow to associate with each child flow as they are imported.

`unlockLocalMacUser.flow` is an example of a standalone flow without a child.

## Parent Flows

Parent flows begin with an event trigger. Some flows may have a suggested event like User Activation. Others may have a placeholder Helper Flow with a hint as to the information needed to complete the flow.

For example: `removeFromStaticGroupParent.flow` needs the user's email address to process the remainder of both the parent and child flows. Common choices might be Okta User Activation or Okta User Deactivation.

## Child Flows

Child flows typically begin with a Helper Flow card to reference the parent flow on-demand.

## Connections

Action cards may require a Workflows Connection to authenticate with the Okta or Jamf APIs. Your Workflows environment may prompt you to associate Connections that you have previously configured in your org with these templates.

## Parsing the Okta Syslog

This collection of flows contains a parent and multiple child flows to parse extraneous data from the Okta syslog. This is helpful when other stakeholders and teams ask for reports on a regular basis.

The Google API does not allow you to dynamically generate new sheet or worksheet IDs, which makes generating reports in Google Sheets cumbersome. The multiple child flows in this collection will import the Okta syslog data into a Workflows table where it is parsed before sending to Google Sheets.

## Available Flows

* Remove Computers from a Static Group
* Add Computers to a Static Group
* Reinstall the Jamf Framework
* Unlock Local Mac User Account on Okta Password Reset
* Lock Devices On Okta User Deactivation
* Parse Okta Syslog

license: MIT

branch_name: refs/heads/master

extension: md

gha_language: Shell

gha_license_id: MIT

license_type: permissive


text:
Cronus is a lightweight framework for dispatching and receiving messages between microservices with DDD/CQRS in mind
==================================================================================================================
[![Build status](https://ci.appveyor.com/api/projects/status/0ka8b6vnwjj9lhav?svg=true)](https://ci.appveyor.com/project/Elders-OSS/cronus)

#Motivation
Building software is not an easy task. It involves specific domain knowledge and a lot of software infrastructure. The goal of Cronus is to keep the software engineers focused on the domain problems because this is important at the end of the day. Cronus aims to keep you away from the software infrastructure.

Usually you do not need a CQRS framework to develop greate apps. However we noticed a common infrastructure code written with every applicaiton. We started to abstract and move that code to github. The key aspect was that even with a framework you still have full control and flexibility over the application code.

#Domain Modeling
To get out the maximum of Cronus you need to mark certain parts of your code to give hints to Cronus.

##Serialization
[ISerializer](https://github.com/Elders/Cronus/blob/master/src/Elders.Cronus/Serializer/ISerializer.cs#L5-L9) interface is really simple. You can plugin your own implementation but do not do it once you are in production.

The samples on this page work with Json and Proteus-protobuf serializers. Every ICommand, IEvent, ValueObject or anything which is persisted is marked with a DataContractAttribute and the properties are marked with a DataMemberAttribute. [Here is a quick sample how this works (just ignore the WCF or replace it with Cronus while reading)](https://msdn.microsoft.com/en-us/library/bb943471%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396). We use `Guid` for the name of the DataContract because it is unique.

####You can/should/must...
- you must add private parameterless constructor
- you must initialize all collections in the constructor(s)
- you can rename any class whenever you like even when you are already in production
- you can rename any property whenever you like even when you are already in production
- you can add new properties

####You must not...
- you must not delete a class when already deployed to production
- you must not remove/change the `Name` of the DataContractAttribute when already deployed to production
- you must not remove/change the `Order` of the DataMemberAttribute when deployed to production. You can change the visibility modifier from `public` to `private`

##ICommand
A command is used to dispatch domain model changes. It can be accepted or rejected depending on the domain model invariants.

| Triggered by | Description |
|:--------------:|:-------------|
| UI | It is NOT a common practice to send commands directly from the UI. Usually the UI communicates with web APIs. |
| API | APIs sit in the middle between UI and Server translating web requests into commands |
| External System | It is NOT a common practice to send commands directly from the External System. Usually the External System communicates with web APIs. |
| IPort | Ports are simple way for an aggregate root to communicate with another aggregate root. |
| ISaga | Sagas are simple way for an aggregate root to do complex communication with other aggregate roots. |

| Handled by | Description |
|:----------:|-------------|
| IAggregateRootApplicationService | This is a handler where commands are received and delivered to the addressed AggregateRoot. We call these handlers ApplicationService. This is the write side in CQRS. |

####You can/should/must...
- a command must be immutable
- a command must clearly state a business intent with a name in imperative form
- a command can be rejected due to domain validation, error or other reason
- a command must update only one AggregateRoot

####Example
```cs
public class DeactivateAccount : ICommand
{
	DeactivateAccount() {}
    public DeactivateAccount(AccountId id, string reason)
    {
    	Id = id;
    	Reason = reason;
    }

    public AccountId Id { get; private set; }
    public Reason ReasonToDeactivate { get; private set; }
}

[DataContract(Name = "24c59143-b95e-4fd6-8bbf-8d5efffe3185")]
public class AccountId : StringTenantId
{
    protected AccountId() { }
    public AccountId(string id, string tenant) : base(id, "account", tenant) { }
    public AccountId(IUrn urn) : base(urn, "account") { }
}

public class Reason : ValueObject<Reason>{...}
```

##IAggregateRootApplicationService
This is a handler where commands are received and delivered to the addressed AggregateRoot. We call these handlers *ApplicationService*. This is the *write side* in CQRS.

| Triggered by | Description |
|:--------------:|:-------------|
| ICommand | A command is used to dispatch domain model changes. It can be accepted or rejected depending on the domain model invariants |

####You can/should/must...
- an appservice can load an aggregate root from the event store
- an appservice can save new aggregate root events to the event store
- an appservice can do calls to the ReadModel (not a common practice but sometimes needed)
- an appservice can do calls to external services
- you can do dependency orchestration
- an appservice must be stateless
- an appservice must update only one aggreate root. Yes, this means that you can create one aggregate and update another one but think twice

####You should not...
- an appservice should not update more than one aggregate root in single command/handler
- you should not place domain logic inside an application service
- you should not use application service to send emails, push notifications etc. Use Port or Gateway instead
- an appservice should not update the ReadModel

```cs
public class AccountAppService : AggregateRootApplicationService<Account>,
    ICommandHandler<RegisterAccount>,
    ICommandHandler<ActivateAccount>,
    ICommandHandler<SuspendAccount>,
    ICommandHandler<ResetAccountPassword>,
    ICommandHandler<ChangeAccountEmail>,
    ICommandHandler<ChangeAccountUsername>
{
    public void Handle(SuspendAccount message)
    {
        Update(message.Id, account => account.Suspend());
    }

    ...
}
```

##IAggregateRoot - triggered by ApplicationService

| Triggered by | Description |
|:------------:|:-------------|
| IAggregateRootApplicationService | This is a handler where commands are received and delivered to the addressed AggregateRoot. We call these handlers *ApplicationService*. This is the *write side* in CQRS. |

```cs
public class Account : AggregateRoot<AccountState>
{
    Account() { }

    public Account(AccountId id, string username, string password, Email email)
    {
        if (ReferenceEquals(null, id)) throw new ArgumentNullException(nameof(id));
        if (ReferenceEquals(null, username)) throw new ArgumentNullException(nameof(username));
        if (ReferenceEquals(null, password)) throw new ArgumentNullException(nameof(password));

        state = new AccountState();
        var evnt = new NewAccountRegistered(id, username, password, email);
        Apply(evnt);
    }

    public void Suspend()
    {
        if (!state.IsSuspended)
        {
            var evnt = new AccountSuspended(state.Id);
            Apply(evnt);
        }
    }

    ...
}
```

```cs
public class AccountState : AggregateRootState<Account, AccountId>
{
    public override AccountId Id { get; set; }

    public string Username { get; set; }

    public Email Email { get; set; }

    public string Password { get; set; }

    public bool IsSuspended { get; set; }

    public void When(NewAccountRegistered e)
    {
        Id = e.Id;
        Email = e.Email;
        Password = e.Password;
    }

    public void When(AccountSuspended e)
    {
        IsSuspended = true;
    }

    ...
}
```

##IEvent - triggered by IAggregateRoot
Domain events represent business changes which already happened.

| Triggered by | Description |
|:------------:|:------------|
| IAggregateRoot | TODO |

####You can/should/must...
- an event must be immutable
- an event must represent a domain event which already happened with a name in past tense
- an event can be dispatche only by one aggregate

```cs
[DataContract(Name = "fff400a3-1af0-4332-9cf5-b86c1c962a01")]
public class AccountSuspended : IEvent
{
    AccountSuspended() { }

    public AccountSuspended(AccountId id)
    {
        Id = id;
    }

    [DataMember(Order = 1)]
    public AccountId Id { get; private set; }

    public override string ToString()
    {
        return "Account was suspended";
    }
}
```

##IProjection
Projection tracks events and project their data for specific purposes.

| Triggered by | Description |
|:------------:|:------------|
| IEvent | Domain events represent business changes which already happened |

####You can/should/must...
- a projection must be idempotent
- a projection must not issue new commands or events

####You should not...
- a projection should not query other projections. All the data of a projection must be collected from the Events' data
- a projection should not do calls to external systems

##IPort
Port is the mechanizm to do communication between aggregates. Usually this involves one aggregate who triggered an event and one aggregate which needs to react.

If you feel the need to do more complex interactions it is advised to use ISaga. The reason for this is that ports do not provide transperant view of a business flow because they do not have persistent state.

| Triggered by | Description |
|:------------:|:------------|
| IEvent | Domain events represent business changes which already happened |

####You can/should/must...
- a port can send a command

##ISaga/ProcessManager
When we have a workflow which involves several aggregates it is recommended to have the whole process described in a single place such as Saga/ProcessManager.

| Triggered by | Description |
|:------------:|:------------|
| IEvent | Domain events represent business changes which already happened |

####You can/should/must...
- a saga can send new commands

##IGateway
Compared to IPort, which can dispatch a command, an IGateway can do the same but it also has a persistent state. A scenario could be sending commands to external BC like push notifications, emails etc. There is no need to event source this state and its perfectly fine if this state is wiped. Example: iOS push notifications badge. This state should be used only for infrastructure needs and never for business cases. Compared to IProjection, which track events and project their data and are not allowed to send any commands at all, an IGateway store and track a metadata required by external systems. Also, IGateway are restricted and not touched when events are replayed.

| Triggered by | Description |
|:------------:|:------------|
| IEvent | Domain events represent business changes which already happened |

####You can/should/must...
- a gateway can send new commands

#Ecosystem

Legend
------

| Name | Description |
|------|-------------|
| olympus | It is stable and it will continue to get support, maintenance and future development |
| styx | The future is not clear. There are two possible paths from here - olympus or tartarus |
| tartarus | abandoned |

Domain Modeling / Core
----------------------

| Name | Links | Status | Description |
|------|------ |--------|-------------|
| DomainModeling | [code](https://github.com/Elders/Cronus.DomainModeling) [nuget](https://www.nuget.org/packages/Cronus.DomainModeling) | olympus | Contains contracts for DDD/CQRS development |
| Cronus | [code](https://github.com/Elders/Cronus) [nuget](https://www.nuget.org/packages/Cronus) | olympus | Cronus is a lightweight framework for dispatching and receiving messages between microservices with DDD/CQRS in mind |

Messaging
---------

| Broker | Status | Description |
|--------|--------|-------------|
| [RabbitMQ](https://github.com/Elders/Cronus.Transport.RabbitMQ) | olympus | It works so well that we do not need to implement other messaging. |

Event store persistence
------------------------

| Store | Status | Description |
|-------|--------|-------------|
| [Cassandra](https://github.com/Elders/Cronus.Persistence.Cassandra) | olympus | This persister is in production since 2013 and it is recommended for production purposes. |
| [MSSQL](https://github.com/Elders/Cronus.Persistence.MSSQL) | styx | The persister has been used in production with Cronus v1 but MSSQL is relational database and it does not fit well as an event store persister. |
| [GIT](https://github.com/Elders/Cronus.Persistence.Git-) | tartarus | Persister exists just for fun. |

Serialization
-------------

| Serializer | Status | Description |
|------------|--------|-------------|
| [Json](https://github.com/Elders/Cronus.Serialization.NewtonsoftJson) | olympus | It is recommended to use the serializer with DataContracts |
| [Protobuf (Proteus)](https://github.com/Elders/Cronus.Serialization.Proteus) | styx | This has been the prefered serialization with Cronus v2. However, there is a huge warm up performance hit with big projects which needs to be resolved. Despite this it works really fast. The implementation has small protocol changes |

Projections persistence
-----------------------

| Store | Status | Description |
|------------|--------|-------------|
| [Cassandra](https://github.com/Elders/Cronus.Projections.Cassandra) | olympus | Stores projections in Cassandra |
| [ElasticSearch](https://github.com/Elders/Cronus.Projection.ElasticSearch) | olympus | Builds projections dynamically. Very usefull for projects which just started and changes occur frequently. Later must be switch to other persister such as Cassandra |
| [AtomicAction](https://github.com/Elders/Cronus.AtomicAction.Redis) | olympus | Aggregate distrubited lock with Redis |

Other
-------------

| Name | Status | Description |
|------------|--------|-------------|
| [Hystrix](https://github.com/Elders/Cronus.Hystrix) | olympus | Circuit breaker middleware for Cronus |
| [Migrations](https://github.com/Elders/Cronus.Migration.Middleware) | olympus | Middleware to handle migrations of any kind |
| [AtomicAction](https://github.com/Elders/Cronus.AtomicAction.Redis) | olympus | Aggregate distrubited lock with Redis |

repository: MicroServiceProvider/Cronus

repo_name: MicroServiceProvider/Cronus


text:
# issues package

**Work in progress!**

A generic issues viewer.

## Provider

* Github [issues](https://github.com/josa42/atom-issues-github).


text:
![student](https://user-images.githubusercontent.com/59175027/114692294-21745900-9d36-11eb-9265-0c791909d847.jpg)

Build | Static code analysis | Unit Testing | Code coverage | Dynamic code analysis| Git Inspector
------|----------------------|--------------|----------------|----------------------|-------------
![C/C++ CI - Build Status](https://github.com/RavaliSri/c_miniproject_lnt/actions/workflows/c-cpp.yml/badge.svg) | ![cppcheck-action](https://github.com/RavaliSri/c_miniproject_lnt/actions/workflows/cppcheck.yml/badge.svg) | ![Unit Testing - Unity](https://github.com/RavaliSri/c_miniproject_lnt/actions/workflows/Unit%20Testing.yml/badge.svg) | ![CI-Coverage](https://github.com/RavaliSri/c_miniproject_lnt/actions/workflows/code-coverage.yml/badge.svg) | ![Dynamic Code Analysis Valgrind](https://github.com/RavaliSri/c_miniproject_lnt/actions/workflows/dynamic%20code.yml/badge.svg) | ![Contribution Check - Git Inspector](https://github.com/RavaliSri/c_miniproject_lnt/actions/workflows/gitinspector.yml/badge.svg)

Code Grade| Code Quality Score
----------|-----------
![Code Grade](https://www.code-inspector.com/project/21415/status/svg) |![Code Grade](https://www.code-inspector.com/project/21415/score/svg)

Folder Structure

   Folder | Behavior
   ------ | --------
   1_Requirements | Documents detailing requirements and research
   2_Design       | Documents specifying design details
   3_Implementation |All code and documentation
   4_Test_plan      |Documents with test plans and procedures

Contributors List and Summary

PS No. |	Name |	Features|	Issuess Raised |	Issues Resolved|	No of Test Cases|	Test Case Pass
-------|-------|----------|------------------|-----------------|-----------------|----------------
291988 |	Ravali Sri |	SC1, SC2, SC3, SC4, SC5 |	0 |	0 |	2 |	2

No |	Feature
----|---------
SC1 |	Displaying the Student Details
SC2 |	Unit Testing the code with various testcases
SC3 |	Building the all workflows In Git
SC4 |	Designing each module with readme files
SC5 |	Gathering all requirments and designing each phase

Challenge Faced and How Was It Overcome

No |	Challenge |	Solution
----|-----------|----------
01 |	Warnings for getch function and can't use conio.h header file| Verified in stack overflow and changed  getch to getchar
02 |	Make file not working even after following all steps |	Added make to environment variables

branch_name: refs/heads/main


text:
## The Radar API

Overview:

- Presence can only be set from the Radar client, not via the API. This is because "being present" means that you are available for push communication, so you need the full client.
- All the POST apis respond with:

```js
{}
200: OK
```

### Status

#### /radar/status [POST]

    curl -k -H "Content-Type: application/json" -X POST -d '{"accountName":"test","scope":"ticket/1","key":"greeting","value":"hello"}' https://localhost/radar/status

You probably want to set the key to the current user's ID if you want to have each user have it's own value in the same scope.

You can store any arbitrary string as the value.

##### /radar/status [GET]

    curl -k "https://localhost/radar/status?accountName=test&scope=ticket/1"

###### Response - Status
```js
{
  1: 'foo',
  2: 'bar',
  123: 'foo'
}
200: OK
```

The keys and values of the hash are determined by the content of the status. Often these are userID: value pairs.

### Presence

Presence can only be set from the Radar client, not via the API.

#### /radar/presence [GET]

    curl -k "https://localhost/radar/presence?accountName=test&scope=ticket/1"

You can use scopes=one,two to get multiple scopes in one get:

    curl -k "https://localhost/radar/presence?accountName=test&scopes=ticket/1,ticket/2"

###### Response - Presence
```js
{
  1: 0,
  2: 2,
  123: 4
}
200: OK
```

This the keys are the user IDs of present users, and the values are the user types of the users (0 = end user, 2 = agent, 4 = admin).

When getting multiple scopes, the format is:

```js
{
  "scope1": { ... },
  "scope2": { ... }
}
```

### MessageList

#### /radar/message [POST]

    curl -k -H "Content-Type: application/json" -X POST -d '{"accountName":"test","scope":"chat/123", "value":"hello"}' https://localhost/radar/message

#### /radar/message [GET]

    curl -k "https://localhost/radar/message?accountName=test&scope=dev/test"

###### Response - MessageList
```js
[
  { to: 'message:/dev/test', value: ... },
  { to: 'message:/dev/test', value: ... }
]
200: OK
```

The response includes all the messages have not yet expired (based on the message retention policy on the server side, e.g. time-limited for some resources).

repository: zendesk/radar

gha_language: JavaScript

repo_name: zendesk/radar


text:
## tab sekmeleri nasıl oluşturulur

{{c1::ul}}.nav.nav-tabs

{{c2::li}}.active

{{c3::a}}(href="#tab1" data-toggle="tab") header tab1

{{c2::li}}

{{c3::a}}(href="#tab2" data-toggle="tab") header tab2

.{{c4::tab-content}}

.{{c5::tab-pane}}.active(id="tab1")

content tab1

.{{c5::tab-pane}}(id="tab2")

content tab2

%

%

clozeq
suspended

---

## intellij bootstrap support

{{c1::bs3}}-...

shortcut: {{c1::#j}}

%

%

clozeq
suspended

---

## twitter bootstrap dokümantasyonu

örneklerle resmi dokümantasyonu:

https://{{c1::getbootstrap}}.com/docs/3.3/javascript/#tabs

%

%

clozeq
suspended

---

## Bootstrap Getting Started TOC

··  Download

····  Bootstrap CDN

····  Install with npm

··  What's included

····  Precompile Bootstrap

····  Compiling CSS and JS

··  Basic template

····  start with basic html template

··  {{c1::Examples}}

····  Using the framework

······  Starter template

······  Bootstrap {{c2::theme}}

········  more visual

······  {{c3::Grids}}

········  examples of grid layouts

······  Jumbotron

········  with navbar and basic grid columns

······  Narrow jumbotron

····  {{c4::Navbars}} in action

······  Navbar

········  basic template

······  Static top navbar

······  Fixed navbar

····  Custom {{c5::components}}

······  Cover

········  one-page template

······  Carousel

······  Blog

········  two column blog layout

······  {{c6::Dashboard}}

········  admin dashboard

········  fixed sidebar and navbar

······  Sign-in page

······  Justified nav

······  Sticky footer

········  fotter at bottom

······  Sticky footer with navbar

%

%

clozeq
suspended

---

## Bootstrap CSS TOC 01

··  https://getbootstrap.com/docs/3.3/css/

··  Overview

····  HTML5 doctype

········  <!DOCTYPE html>

········  <html lang="en">

····  Mobile first

····  Typography and links

······  basic global display params

······  background-color: #fff;

······  ...

····  {{c1::Containers}}

······  bs requires a containing element to wrap contents and grid system

······  opt

··········  <div class="container">

··········  # fixed width

··········  <div class="container-fluid">

··········  # spans entire width

··  {{c2::Grid}} system

····  what is

······  12 columns

······  predefined classes

······  mixins for more semantic layouts

····  Introduction

······  .{{c3::row}} within .container

······  content within columns

······  predefined classes: .{{c4::col-xs}}-4

······  gutters: gaps between column content via `padding`

····  Grid options

······  small devices: .col-xs-

······  small devices tablets: .col-sm-

······  medium devices: .col-md-

······  large: .{{c5::col-lg}}-

··  {{c6::Typography}}

····  Headings

····  Body copy

····  Inline text elements

······  Marked text

········  for highlighting

··········  <mark>

····  {{c7::Alignment}} classes

······  .text-left

····  Transformation classes

······  text capitalization

······  .text-lowercase

··  {{c8::Tables}}

····  Basic example

········  add .{{c9::table}} to <table>

····  {{c10::Striped}} rows

······  .table-striped

····  Bordered table

······  .table-bordered

····  {{c11::Hover}} rows

······  .table-hover

····  Responsive tables

······  .table-responsive

········  scroll horizontally on phones

%

%

clozeq
suspended

---

## Bootstrap CSS TOC 02

··  {{c1::Forms}}

····  Basic Examples

······  width: {{c2::100}}%; by default

······  wrap in .{{c3::form-group}}

······  ex:

··········  <form>

············  <div class="form-group">

··············  <label for="exampleInputEmail1">Email address</label>

··············  <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email">

············  </div>

····  {{c4::Inline}} Form

······  .form-inline

······  /Users/mertnuhoglu/gdrive/public/img/ss-277.png

····  {{c5::Horizontal}} form

······  like rows

······  ex

··········  <form class="form-horizontal">

············  <div class="form-group">

··············  <label for="inputEmail3" class="col-sm-2 control-label">Email</label>

··············  <div class="{{c6::col-sm}}-10">

················  <input type="email" class="form-control" id="inputEmail3" placeholder="Email">

··············  </div>

····  Supported controls

······  Inputs

········  text, password, datetime, datetime-local, number, email, ...

······  {{c7::Selects}}

········  .form-control

··········  <select {{c8::multiple}} class="form-control">

············  <{{c9::option}}>1<...>

····  Static control

······  static text next to a form label

······  /Users/mertnuhoglu/gdrive/public/img/ss-278.png

······  ex

··········  <form class="form-horizontal">

··········  <div class="form-group">

············  <label class="col-sm-2 control-label">Email</label>

············  <div class="col-sm-10">

··············  <p class="form-control-static">email@example.com</p>

············  </div>

····  Disabled state

······  disabled attribute

········  <input ... disabled>

%

%

clozeq
suspended

---

## Bootstrap CSS TOC 03

··  {{c1::Buttons}}

····  Button tags

······  <a> <button> <input> elements

······  button types: {{c2::link}} {{c5::button}} {{c6::input}} {{c7::submit}}

········  <a class="btn {{c3::btn-default}}" href="#" {{c8::role}}="button">Link</a>

········  <button class="btn btn-default" type="submit">Button</button>

········  <input class="btn btn-default" type="{{c4::button}}" value="Input">

········  <input class="btn btn-default" type="submit" value="Submit">

····  Options

······  styled buttons

······  classes: btn-default btn-primary btn-success ...

····  Sizes

······  .btn-lg .btn-sm .btn-xs

····  Active state

····  Disabled state

··  {{c9::Images}}

····  Responsive images

······  .img-responsive

····  Image shapes

······  .{{c10::img-rounded}} .img-circle .img-thumbnail

··  {{c11::Helper}} classes

····  Contextual colors

······  /Users/mertnuhoglu/gdrive/public/img/ss-279.png

····  Contextual backgrounds

······  /Users/mertnuhoglu/gdrive/public/img/ss-280.png

····  Close icon

······  /Users/mertnuhoglu/gdrive/public/img/ss-281.png

··  Responsive utilities

····  Print classes

····  Test cases

··  Using Less

%

%

clozeq
suspended

---

## Bootstrap Components TOC 01

··  https://getbootstrap.com/docs/3.3/components/

··  {{c1::Glyphicons}}

··  {{c2::Dropdowns}}

····  for displaying lists of links

····  .dropdown

··  {{c3::Button groups}}

····  Basic example

········  <div class="btn-group" ...>

······  /Users/mertnuhoglu/gdrive/public/img/ss-282.png

····  Button toolbar

······  multiple .btn-group elements grouped

······  .btn-toolbar

····  Sizing

······  .btn-group-lg

····  Nesting

······  for dropdown menus mixed with normal buttons

····  Vertical variation

······  .btn-group-vertical

··  Button dropdowns

····  use buttons to trigger dropdown

··  Input groups

····  /Users/mertnuhoglu/gdrive/public/img/ss-283.png

··  {{c4::Navs}}

····  Tabs

········  <ul class="nav nav-tabs">

······  /Users/mertnuhoglu/gdrive/public/img/ss-284.png

····  Pills

······  .nav-pills instead of .nav-tabs

%

%

clozeq
suspended

---

## Bootstrap Components TOC 02

··  {{c1::Navbar}}

····  Default navbar

······  as navigation headers

······  /Users/mertnuhoglu/gdrive/public/img/ss-285.png

······  ex:

········  <nav class="navbar"

··········  <div ..

············  <div class="navbar-header"

··············  <button .. class="navbar-toggle"...

··  Breadcrumbs

··  Pagination

····  Deafult pagination

··  Labels

····  <span class="label"

··  Badges

····  /Users/mertnuhoglu/gdrive/public/img/ss-286.png

····  <span class="badge">42

··  Jumbotron

····  key content on page

····  <div class="jumbotron"

··  Page header

····  .page-header

··  {{c2::Thumbnails}}

····  to display grids of images, text

······  <a class="thumbnail"

··  Alerts

··  Progress bars

··  Media Object

····  image + alongside text

····  /Users/mertnuhoglu/gdrive/public/img/ss-287.png

··  {{c3::List group}}

····  .list-group

····  /Users/mertnuhoglu/gdrive/public/img/ss-288.png

%

%

clozeq
suspended

---

## Bootstrap Components TOC 03

··  {{c1::Panels}}

····  to put element in a box

····  Basic example

······  .panel

······  /Users/mertnuhoglu/gdrive/public/img/ss-289.png

····  With tables

······  /Users/mertnuhoglu/gdrive/public/img/ss-290.png

··  {{c2::Wells}}

····  .well

····  Default well

······  gives inset effect

······  /Users/mertnuhoglu/gdrive/public/img/ss-291.png

%

%

clozeq
suspended

---

## Bootstrap Javascript TOC 01

··  https://getbootstrap.com/docs/3.3/javascript/

··  Overview

····  Individual or compiled

······  bootstrap plugins: {{c1::individual}} *.js files

······  or all: bootstrap.js

····  {{c2::Data attributes}}

······  use bs plugins without js

······  or use js

····  Programmatic API

······  use bs plugins through js api

······  ex: $('.btn.danger').button('toggle').addClass('fat')

······  methods

········  chainable

··········  returns collection acted upon

········  accept optional options object

····  No conflict

······  name collisions with other UI frameworks

····  Events

······  ex:

········  show: triggered at the start of event

········  shown: triggered on completion of an action

······  all events are namespaced

······  ex: stop execution of action before it starts

········  $('#myModal').on('show.{{c3::bs.modal}}', function (e) {

··········  if (!data) return e.preventDefault() // stops modal from being shown

········  })

····  Version numbers

······  $.fn.tooltip.Constructor.VERSION // => "3.3.7"

····  When JavaScript is disabled

······  how to gracefully fail when js is disabled

··  Transitions

····  transition.js

%

%

clozeq
suspended

---

## Bootstrap Javascript TOC 02

··  {{c1::Modal}}

····  what is

······  dialog prompts

····  Examples

······  static examples

······  sections: {{c2::header}}, body, set of actions in footer

······  .modal

······  .modal-header

······  ex

········  <div class="modal fade" tabindex="-1" role="dialog">

··········  <div class="modal-dialog" role="document">

············  <div class="modal-content">

··············  <div class="modal-header">

················  <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>

················  <h4 class="modal-title">Modal title</h4>

··············  </div>

····  Sizes

······  .modal-lg

····  Remove animation

······  .fade: appears with animation

····  Using the grid system

······  nest .row within .modal-body

······  ex

········  <div class="modal-body">

··········  <div class="{{c3::row}}">

············  <div class="col-md-4">.col-md-4</div>

%

%

clozeq
suspended

---

## Bootstrap Javascript TOC 03

··  {{c1::Dropdown}}

····  what is

······  add dropdown menus to anything

········  within a navbar

········  within pills

····  Examples

······  via data attributes

········  {{c2::data-toggle}}="dropdown"

········  {{c3::data-target}}="#"

··········  use data-target instead of href="#"

········  ex

··········  <div class="dropdown">

············  <button id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">

······  via js

········  $('.dropdown-toggle').dropdown()

··  {{c4::Scrollspy}}

····  what is

······  scroll ederken bulunulan konuma göre nav target'ını highlight eder

····  Examples

····  Usage

······  requires

········  nav

········  position: relative;

······  via data attributes

········  {{c5::data-spy}}="scroll"

··········  to element that you spy on

········  {{c6::data-target}}="#navbar-example"

········  ex:

··········  <body data-spy="scroll" data-target="#navbar-example">

············  ...

············  <div id="navbar-example">

··············  <ul class="nav nav-tabs" role="tablist">

······  via js

········  $('body').scrollspy({ target: '#navbar-example' })

%

%

clozeq
suspended

---

## Bootstrap Javascript TOC 04

··  {{c1::Tab}}

····  what is

······  tab.js

······  panes of local content

····  Examples

······  via markup

········  {{c2::data-toggle}}="tab"

······  ex

········  <div>

··········  <ul class="nav nav-tabs" role="tablist">

············  <li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a></li>

············  <li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">Profile</a></li>

··········  </ul>

··········  <div class="tab-content">

············  <div role="tabpanel" class="tab-pane active" id="home">...</div>

············  <div role="tabpanel" class="tab-pane" id="profile">...</div>

··  {{c3::Tooltip}}

····  what is

······  tooltip.js

······  hover over a link to see tooltips

····  Examples

····  Usage

······  markup

········  {{c4::data-toggle}}="tooltip"

········  {{c5::title}}="content of tip"

%

%

clozeq
suspended

---

## Bootstrap Javascript TOC 05

··  {{c1::Popover}}

····  what is

······  popver.js

······  add small overlays of content

······  konuşma balonu gibi

····  Examples

····  Usage

······  markup

········  {{c2::data-toggle}}="popver"

········  title="title of it"

········  data-content="content of it"

··  {{c3::Alert}}

····  what is

······  alert.js

······  alert messages

····  Examples

····  Usage

······  markup

········  data-dismiss="alert"

········  ex:

··········  <button type="button" class="close" data-dismiss="alert" aria-label="Close">

············  <span aria-hidden="true">×</span>

····  Methods

······  $().alert()

····  Events

%

%

clozeq
suspended

---

## Bootstrap Javascript TOC 06

··  {{c1::Button}}

····  what is

······  button.js

····  Examples

······  single toggle button

······  checkbox/radio

········  ex:

··········  <div class="btn-group" data-toggle="buttons">

············  <label class="btn btn-primary active">

··············  <input type="checkbox" autocomplete="off" checked> Checkbox 1 (pre-checked)

··  {{c2::Collapse}}

····  what is

······  collapse.js

······  collapse/expand a pane

····  Examples

······  accordion

········  data-parent="#accordion"

····  Usage

······  markup

········  {{c3::data-toggle}}="collapse"

········  data-target=""

··········  what to collapse

··  {{c4::Carousel}}

····  what is

······  carousel.js

······  slideshow

····  Examples

····  Usage

······  markup

········  data-ride="carousel"

········  data-slide

······  ex

········  <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">

··········  <!-- Indicators -->

··········  <ol class="carousel-indicators">

············  <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>

············  <li data-target="#carousel-example-generic" data-slide-to="1"></li>

··········  ...

··········  <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">

%

%

clozeq
suspended

---

## css grid ex 01

··  columns and rows sizes

····  .container {

········  {{c1::display}}: grid;

········  {{c2::grid-template-columns}}: 100px auto 100px;

········  {{c3::grid-template-rows}}: 50px 50px;

····  grid-template-columns: {{c4::repeat}}(auto-fit, 100px);

··  sizes:

····  100px

····  {{c5::1fr}}

····  {{c6::auto}}

··  display: grid;

··  grid-{{c7::gap}}: 3px;

%

%

clozeq
active

---

## css grid ex 02

··  positioning

····  .header {

······  grid-column-start: 1;

······  grid-column-end: 3;

····  shorthand form:

······  {{c1::grid-column}}: 1 / 3;

········  # start-end lines

······  grid-column: 1 / {{c2::span}} 2;

········  # size

······  grid-column: 1 / {{c3::-}}1;

········  # from end

····  grid-{{c4::row}}: 1 / 3;

%

%

clozeq
active

---

## css grid ex 03

··  naming lines

····  grid-template-columns: {{c1::[main-start]}} 1fr [content-start] 5fr [content-end main-end];

····  grid-template-rows: [main-start] 40px {{c2::[content-start]}} auto [content-end] 40px [main-end];

····  grid-column: {{c3::main-start}} / main-end;

····  grid-column: {{c4::main}};

····  grid-{{c5::area}}: content;

··  grid-template-areas

····  grid-{{c6::template-areas}}:

······  "m . . h h h h h h h h h"

······  "m c c c c c c c c c c c"

······  "m f f f f f f f f f f f"

····  .header {

······  grid-area: {{c7::h}};

%

%

clozeq
active

---

## css grid ex 04

··  auto-fit minmax auto-fill

····  grid-template-columns: {{c1::repeat}}(auto-fit, 100px);

····  grid-template-columns: repeat(auto-fit, {{c2::minmax}}(100px, 1fr));

····  auto-fit

····  auto-{{c3::fill}}

··  grid-auto-rows flow

····  grid-{{c4::auto-rows}}: 100px;

····  grid-auto-{{c5::flow}}: dense;

··  justify-{{c6::content}} align

····  justify-content: {{c7::end}};

····  start {{c8::center}} end

····  space-evenly {{c9::space-between}} space-around

····  {{c10::align-content}}: end;

%

%

clozeq
active

---

## css basic selectors 01

··  | description··················   | example··············   |

··  | select all elements of any type | {{c1::*}}{}··················   |

··  | select some—id················  | {{c2::#some—id}}{}············  |

··  | select class1 and class2 elems  | {{c3::.class1.class2}} {}····   |

··  | select h1 h3 types············  | {{c4::h1, h3}} {}············   |

··  | p follows img directly········  | {{c5::img + p}} {}············  |

··  | li direct children of ul······  | {{c6::ul > li}} {}············  |

%

%

clozeq
active

---

## css basic selectors 02

··  | span follows p················  | {{c1::p ~ span}} {}··········   |

··  | li descendant of ul··········   | {{c2::ul li}} {}··············  |

··  | <a> with title attribute······  | {{c3::a[title]}} {}··········   |

··  | <a> href matches g.com········  | {{c4::a[href="https://g.com"]}} |

··  | <a> href contains g··········   | {{c5::a[href*="g"]}}··········  |

··  | <a> href ends with ".org"····   | {{c6::a[href$=".org"]}}······   |

··  | <a> attr contains "val" word··  | {{c7::a[attr~="val"]}}········  |

%

%

clozeq
active

---

## css pseudo selectors 01

··  | description··········  | selector············   |

··  | mouse over··········   | a{{c1:::hover}}······  |

··  | active link··········  | a{{c2:::active}}····   |

··  | focus················  | input{{c3:::focus}}··  |

··  | visited links········  | a{{c4:::visited}}····  |

··  | link (not yet visited) | a{{c5:::link}}······   |

··  | checked elements····   | input{{c6:::checked}}  |

··  | disabled elements····  | input{{c7:::disabled}} |

··  | enabled elements····   | input{{c8:::enabled}}  |

%

%

clozeq
active

---

## css pseudo selectors 01

··  | not a specified element······  | {{c1:::not(p)}}······   |

··  | first line··················   | p{{c2::::first-line}}   |

··  | first letter················   | p{{c3::::first-letter}} |

··  | first child··················  | p{{c4:::first-child}}   |

··  | last child··················   | p{{c5:::last-child}}··  |

··  | nth child (every 4th)········  | p{{c6:::nth-child(4n)}} |

··  | first among same type siblings | p{{c7:::first-of-type}} |

··  | element with no children····   | p{{c8:::empty}}······   |

%

%

clozeq
active

---

## css box properties 01

··  | description | css················  | values··············   |

··  | sizing····  | {{c1::box-sizing}}   | border-box··········   |

··  | margin····  | {{c2::margin}}····   | 2px 4px 6px 8px······  |

··  | padding··   | {{c3::padding}}····  | ..··················   |

··  | color····   | {{c4::border-color}} |······················  |

··  | style····   | {{c5::border-style}} | none hidden dotted ... |

··  | width····   | {{c6::border-width}} | 10px················   |

%

%

clozeq
active

---

## embed iframe

··  <iframe src="{{c1::page.html}}" {{c2::width}}="200" height="30"></iframe>

%

%

clozeq
active

---

repository: mertnuhoglu/study

repo_name: mertnuhoglu/study


text:
[![](https://jitpack.io/v/coroutineDispatcher/smoothie.svg)](https://jitpack.io/#coroutineDispatcher/smoothie)

# Smoothie 🍦⛸🍨❄
Simple way to handle the Idling Resource in your Espresso tests.

# Download

## Add it in your root build.gradle at the end of repositories:

```Groovy
allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}
```

## Add the dependency

```Groovy
	dependencies {
	        implementation 'com.github.coroutineDispatcher:smoothie:1.0.1'
	}
```

# Usage:

## In your class where you have some async operation:

To increment:

```Kotlin
Smoothie.startProcess()
```
To decrement:

```Kotlin
Smoothie.endProcess()
```
In your Espresso test:

```Kotlin
    @Before
    fun setUp() {
        IdlingRegistry.getInstance().register(Smoothie.countingIdlingResource)
        //other dependencies
    }

    @After
    fun tearDown() {
        IdlingRegistry.getInstance().unregister(Smoothie.countingIdlingResource)
        print("Finished testing")
    }
```

Note: The library supports the latest version for Idling-Resources with the AndroidX usage:
```Groovy
    implementation 'androidx.test.espresso:espresso-idling-resource:3.2.0'
```
And we are good to go.

```
Copyright 2019 stavro96.

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.
```

repository: coroutineDispatcher/smoothie

repo_name: coroutineDispatcher/smoothie


text:
# Numberlink solver

## A Numberlink puzzle solver in JavaScript

This is a non-interactive web page that acts
as a front end to the accompanying JavaScript file
[js/numberlink.js](js/numberlinks.js). The page displays a solution to a
[Numberlink puzzle](https://en.wikipedia.org/wiki/Numberlink) that is
defined and solved in the JavaScript file.

![Numberlink solver](screenshot.png)

repository: settinger/numberlink-solver

repo_name: settinger/numberlink-solver


text:
# Vue-Trix Text Editor

[![npm](https://img.shields.io/npm/v/vue-trix.svg?style=flat)](https://www.npmjs.com/package/vue-trix) [![Build status](https://ci.appveyor.com/api/projects/status/nffmo893v52evpgm/branch/master?svg=true)](https://ci.appveyor.com/project/tranduchanh/vue-trix/branch/master) <img alt="npm" src="https://img.shields.io/npm/dm/vue-trix.svg">

Simple and lightweight [Trix](https://www.npmjs.com/package/trix) rich-text editor Vue.js component for writing daily

## Table of Contents

- [Vue-Trix Text Editor](#vue-trix-text-editor)
  - [Table of Contents](#table-of-contents)
  - [Getting started](#getting-started)
    - [Demo page](#demo-page)
    - [Integrate into the form](#integrate-into-the-form)
  - [Features](#features)
  - [Installation](#installation)
    - [NPM](#npm)
    - [YARN](#yarn)
    - [Or directly from latest Github repo](#or-directly-from-latest-github-repo)
  - [Mount](#mount)
    - [Mount with global](#mount-with-global)
    - [Mount with component](#mount-with-component)
    - [Setup with Nuxt.js (SSR)](#setup-with-nuxtjs-ssr)
  - [Component Usages](#component-usages)
    - [Create a simple editor in your single component file](#create-a-simple-editor-in-your-single-component-file)
    - [Integrating with Forms](#integrating-with-forms)
    - [Props descriptions](#props-descriptions)
    - [Populating editor content](#populating-editor-content)
      - [Init loading content into the editor](#init-loading-content-into-the-editor)
      - [Track data changes](#track-data-changes)
    - [Binding attachment events](#binding-attachment-events)
    - [Process uploading attachment to remote server](#process-uploading-attachment-to-remote-server)
  - [Trix document](#trix-document)
  - [Contributing](#contributing)

## Getting started

### [Demo page](/example)

![vue-trix editor](/example/src/assets/vue-trix-editor.png)

### Integrate into the form

![vue-trix in production](/example/src/assets/vue-trix-in-prod.png)

## Features

- A simple and lightweight rich-text editor for writing daily.
- Two-ways binding with `v-model` easily.
- Auto-save editor data temporally what you has typed into the form input in case something goes wrong (for example, the browser could crash or you could accidentally refresh the page without submit saving).

## Installation

### NPM

```Shell
  $npm install --save vue-trix
```

### YARN

```Shell
  $yarn add vue-trix
```

### Or directly from latest Github repo

```Shell
  $npm install --save hanhdt/vue-trix
```

## Mount

### Mount with global

in the `main.js`, import the package as a global component.

```javascript
import "vue-trix";
```

### Mount with component

```javascript
import VueTrix from "vue-trix";

export default {
  // ...
  components: {
    VueTrix
  }
};
```

### Setup with Nuxt.js (SSR)

Create mounting plugin file

```javascript
// plugins/vue_trix.js
import Vue from "vue";
import VueTrix from "vue-trix";

Vue.use(VueTrix);
```

Update Nuxt.js config file

```javascript
// nuxt.config.js
plugins: [{ src: "~/plugins/vue_trix", mode: "client" }];
```

## Component Usages

### Create a simple editor in your single component file

Add `VueTrix` component into `*.vue` template

```XML
  <template>
    <!-- ... -->
    <VueTrix v-model="editorContent" placeholder="Enter content" localStorage/>
    <!-- ... -->
  </template>
```

### Integrating with Forms

```XML
  <form ...>
    <VueTrix inputId="editor1" v-model="editorContent" placeholder="enter your content..."/>
  </form>
```

### Props descriptions

- `inputId`: This is referenced `id` of the hidden input field defined, it is optional.
- `inputName`: This is referenced `name` of the hidden input field defined, default value is `content`.
- `placeholder`: The placeholder option attribute specifies a short hint that describes the expected value of a editor.
- `autofocus`: Automatically focus the editor when it loads
- `disabledEditor`: This prop will put the editor in read-only mode.
- `localStorage`: The boolean attribute allows saving editor state into browser's localStorage (optional, default is `false`).

### Populating editor content

#### Init loading content into the editor

In case, you want to load initial data from database then display into the editor. you can use `v-model` directive with local component's state.

```javascript
// Declare local component's state is loaded from database
export default {
  // ...
  data() {
    return {
      editorContent: "<h1>Editor contents</h1>"
    };
  }
  // ...
};
```

```HTML
  // Assign to v-model directive
  <template>
    <!-- ... -->
    <VueTrix v-model="editorContent"/>
    <!-- ... -->
  </template>
```

#### Track data changes

The local component's state will be changed reactively when you modified contents inside the trix editor UI. Therefore, you need to `watch` the local state for updating content back to database

```javascript
export default {
  // ...
  methods: {
    updateEditorContent(value) {
      // Update new content into the database via state mutations.
    }
  },
  watch: {
    editorContent: {
      handler: "updateEditorContent"
    }
  }
  // ...
};
```

### Binding attachment events

The `<VueTrix/>` element emits several events which you can use to observe and respond to changes in editor state.

- `@trix-file-accept` fires before an attachment is added to the document. If you don’t want to accept dropped or pasted files, call preventDefault() on this event.

- `@trix-attachment-add` fires after an attachment is added to the document. You can access the Trix attachment object through the attachment property on the event. If the attachment object has a file property, you should store this file remotely and set the attachment’s URL attribute.

- `@trix-attachment-remove` fires when an attachment is removed from the document. You can access the Trix attachment object through the attachment property on the event. You may wish to use this event to clean up remotely stored files.

### Process uploading attachment to remote server

Add binding event listener to `trix-attachment-add`

```HTML
  <template>
    <!-- ... -->
    <VueTrix @trix-attachment-add="handleAttachmentChanges"/>
    <!-- ... -->
  </template>
```

In Javascript

```Javascript
  const remoteHost = 'your remote host';

  function handleAttachmentChanges(event) {
    // 1. get file object
    let file = event.attachment.file;

    // 2. upload file to remote server with FormData
    // ...

    // 3. if upload success, set back the attachment's URL attribute
    // @param object data from remote server response data after upload.
    let attributes = {
      url: remoteHost + data.path,
      href: remoteHost + data.path
    };
    event.attachment.setAttributes(attributes);
  }
```

## Trix document

[Full documentation](https://github.com/basecamp/trix#readme)

## Contributing

If you're interested in contributing to Vue-Trix or share your opinions, please consider to submitting a [**pull request**](https://github.com/hanhdt/vue-trix/pulls) or post [**issues**](https://github.com/hanhdt/vue-trix/issues). Also, I will try to code-self documentation.

repository: hanhdt/vue-trix

gha_language: Vue

repo_name: hanhdt/vue-trix


text:
[handlebar](http://nathanrosspowell.github.io/handlebar)
=================================================

A `handlebars.js` example website
---------------------------------

Test project for a handlebar.js web page that was made by following the tutorial at [javascriptissexy.com](http://javascriptissexy.com/handlebars-js-tutorial-learn-everything-about-handlebars-js-javascript-templating/)

repository: nathanrosspowell/handlebar

branch_name: HEAD

repo_name: nathanrosspowell/handlebar


text:
Book Network
=========================
The network of most popular books from GoodReads.

Final project for class *02805 Social graphs and interactions* at Technical University of Denmark.

repository: MonikaF/booknetwork

repo_name: MonikaF/booknetwork


text:
# Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).

## [0.0.3]
### Fixed
- Upgraded to ember-cli 0.2.7

## [0.0.2]
### Fixed
- Fixed `tagPrefix` defaulting to `undefined` instead of `modulePrefix` [#7](https://github.com/blimmer/ember-cli-server-variables/issues/7)

### Added
- Added CHANGELOG.md file to track changes

## 0.0.1
### Added
- Initial implementation of ember-cli-server-variables

[unreleased]: https://github.com/blimmer/ember-cli-server-variables/compare/v0.0.2...HEAD
[0.0.2]: https://github.com/blimmer/ember-cli-server-variables/compare/v0.0.1...v0.0.2
[0.0.3]: https://github.com/blimmer/ember-cli-server-variables/compare/v0.0.2...v0.0.3

repository: swr/ember-cli-server-variables

repo_name: swr/ember-cli-server-variables


text:
---
title:  "Magic Wormhole improvements in Keysign"
date:   2017-06-29 23:30:00 +0100
category: GNOME
tags:
  - GNOME
---

From the [last blog post](/_posts/2017-06-17-initial-wormhole-implementation.markdown) the following are the improvements that I have done so far.

## User experience improvements

#### Let the user choose between Avahi and Wormhole
----
Initially I displayed the Wormhole code alongside the security code for Avahi. Users were shown two codes but no clue as to which one was right to use.

Because of this now only one code at a time is displayed.
Adding a switch button the users can declare if they want to transfer the key in a local only mode (Avahi) or with Internet connection (Magic Wormhole).

Before
![wormhole transfer](/assets/images/avahi-worm-before.png)

After
![wormhole transfer](/assets/images/avahi-worm-after.gif)

----
#### Inform users about slow or no connection
----
When a user chooses to use Magic Wormhole the program tries to reserve a channel and get a code contacting the Wormhole server.
Because the users may not have a working Internet connection, or a very slow one, I added an infobar after a timeout of 10 seconds that inform the users about a possible problem with the connection.

![wormhole transfer](/assets/images/infobar.png)

----
#### Every unnecessary UI element adds complexity
----
Trying to achieve an user-friendly UI we decided to remove the buttons "redo", "ok" and "cancel" from the result page.
The users can still accomplish the same actions using only the "back" button in the top bar and we avoid to overwhelm the users with a lot of extra elements.

Before
![wormhole transfer](/assets/images/buttons-before.png)

After
![wormhole transfer](/assets/images/buttons-after.png)

## Magic Wormhole error handling
---
Now if an user tries to download a gpg key with a wrong wormhole code the program will automatically stop offering the key and the user will be informed of this failed attempt.
There are also other errors displayed, for example if the connection attempt fails.

![wormhole transfer](/assets/images/error-handling.png)

## Automated unit tests
---
I started to write some automated unit tests that utilize the python module "nose".
Right now they tests a wormhole transfer checking the key integrity after the download.

## Bug fixing
---
And in the end a lot of bug fixing.

extension: markdown

gha_language: CSS


text:
---
layout: post
author: Justin Ball
title: "Bringing the Web Back to the Blind with Ryan Florence"
date: 2014-03-17 15:49:58 -0600
tags:
  - Mountain West Javascript
  - mwjs
  - Programming
  - accessibility
---
Ryan Florence presenting "Bringing the Web Back to the Blind".

Probably the biggest accessiblity resource on the web: webaim.org.

Accessiblity

Accessiblity is more than just alt tags. You still want alt tags but there's more.

Use your headers for organization of content rather than for visual display. It helps blind users navigation through
the content based on its importance.

Landmarks

Use the role tag on elements. For example:

Adding 'role="main"' provides a 'landmark' in the page that a screen reader can find. A blind user can use these landmarks
to quickly navigate to specific sections of the page.

Html 5 includes a 'main' tag as well as others like 'article' that screen readers can use as landmarks.

Screen Reader Specific Content

Use css to hide text that is important for screen readers. Create a 'visually-hidden' css class then include
additional information to to describe the element. For example, developers frequently use an 'x' to close a modal
or other window. The screen reader will read this as 'times'. We can add additional information indicating that the
link/button will close the window.

Screen readers will execute Javascript!

ARIA

Add screen reader specific text with an attribute:

aria-label="A close button"

Tell the screen reader to ignore an element with:

aria-hidden="true"

WAI ARIA is a specification that defines how to make your website more accessible.

Aria attributes that can be used with tabs:

 - aria-selected
 - aria-controls
 - aria-expanded

However, if you don't know how to use 'aria' then don't. You'll probably make things worse.

We frequently think of Visual Interaction Design. Consider "Audible Interaction Design". Try out a screen reader and
see what it's like to use your website without the visual UI.


text:
# 4 Bias
- Our experiences shape our
	- thinking,
	- perspectives, and
	- creations

If we don't reflect on our own background and how that has shaped who we are, we lose control over what we create.

When we lose control over what we create, we lose control over the impact it has on others, and we risk compounding problems instead of solving them.

Go to [[5 Design and Representation]]

For the full list see [[The Feminist Design Tool]]

This is part of the [[Feminist Chatbot Main Page]]

url: https://raw.githubusercontent.com/KGBicheno/KGB_Agora/70ea95c9d38ab2f31abbd510691bb4c050a6cb3b/Artificial Intelligence/Feminist Chatbot/The Feminist Design Tool/4 Bias.md

filename: 4 Bias.md


text:
99 TSP - Verilog Simulated Annealing
====================================

Welcome to my Verilog solution to the Travelling Salesman Problem!

This being Verilog, it's designed to run on hardware. The board I used to develop this solution on is the Mojo v3 board (and therefore the Xilinx ISE toolchain).

I have long ago given up on making this code run in a simulator or building it using the toolchain in this repository, which caters to a software-oriented crowd. This folder contains a Xilinx ISE project which is derived from the Mojo base project for ISE: https://github.com/embmicro/mojo-base-project. Six of the files in this folder are straight from that repo: avr_interface, cclk_detector, mojo.ucf, serial_rx, serial_tx, and spi_slave.

There are, in addition to the source files, 7 modules which must be generated:
- city_ram: Stores up to 8192 cities.
- cordic_sqrt: Computes an integer square root.
- div_mod: Divides a 32-bit integer by a 16-bit integer to get the remainder.
- fixed2float: Converts an integer to a single-precision float.
- floating_point_add: Adds two floats.
- floating_point_mult: Multiplies two floats.
- floating_point_mult_double: Multiplies two doubles.
- floating_point_recprocate: Computes the reciprocal of a floating point value.

The algorithm is not particularly complicated. distance.v and negexp.v abstract away heavy math (sqrt(dx*dx+dy*dy) and the Taylor expansion of e^x, respectively).

xorshift.v is a self-seeding implementation of the xorshift random number generator.

mojo_top.v is the frontend to this whole mess.

tsp.v is where the fun happens. There are three stages to what it does: Parsing, computing the total distance of the given order, and trying swaps.

The first step deals with converting from a textual representation of the file to a list of cities in memory. It only checks the first three characters of a line for a match to either "DIMENSION" or "NODE", it doesn't compare against the entire shebang (though it could).

The next step computes the total length. Again, nothing special here.

Then we try swaps. When we try swaps, observe that we don't have to re-compute the entire distance every time: Since distance are rounded to integers (per the TSPLIB spec), if we have a sequence of cities 1-2-3-4 and we're considering swapping 2 and 3 (to 1-3-2-4), we need only compute the distances 1-2, 3-4, 1-3, 2-4, and compare (1-2)+(3-4) with (1-3)+(2-4).

The temperature schedule is: Start at a given temperature, multiply it each iteration by a constant value (about 0.9999999). Since we only ever divide by T (and division is super expensive - over 30 cycles!), we start at a given 1/T, and multiply it each iteration by 1/factor (about 1.0000001).

However, we still have to do a reciprocal, and thus the latency of each iteration is on the order of a hundred cycles. Since iterations aren't pipelined (yet), the throughput is about 1 per 30 cycles, depending on how often it computes negexp.

But, for all of these problems, this code actually fits on a Mojo chip, so that's pretty cool.

gha_language: Verilog


text:
# crypto-bot

Telegram bot that uses the CoinMarketCap API and the Binance API to get information on cryptocurrencies and the global cryptocurrency market.

Talk to @coinmarketcap_info_bot on Telegram! <https://t.me/coinmarketcap_info_bot>

## Installation
1. Clone the repo to your computer and install the required dependencies.
    ```console
    git clone https://github.com/abhinavk99/crypto-bot.git
    cd crypto-bot
    npm install
    ```
2. Get Binance API key and secret from your Binance user settings.
3. Get a Telegram bot token from [@BotFather](https://t.me/BotFather).
4. Make a file called `config.json` in the repo directory.
5. Copy/paste the below into the file.
    ```javascript
    {
        "telegramToken" : "Telegram token here",
        "binanceKey": "Binance API key here",
        "binanceSecret": "Binance API secret here"
    }
    ```
6. Put your Telegram token and Binance API key and secret where it says to in the config.
7. Run the bot.
    ```console
    node bot.js
    ```

## Commands
| Command | Description | Usage | Example |
| --- | --- | --- | --- |
| /info | Get info on coin with that name | /info `<coin>` | `/info Bitcoin` |
| /info | Get info on coin with that CoinMarketCap rank | /info `<number>` | `/info 11` |
| /global | Get total market information | /global | `/global` |
| / | Get latest Binance ticker price for a coin | /`<ticker>` | `/ETH` |

repository: rmcbezgin/rmccbezginotebo

repo_name: rmcbezgin/rmccbezginotebo


text:
Title: netstandard
Order: 10
---

# .NET Standard Library

As of version 8.0 of ReactiveUI, support for netstandard will be included. For any version lower than 8.0, you are still able to reference the RxUI nuget pacakge (along with other popular PCL-based packages) with a little modification.

## Projects using Project.json:

Locate the project.json file in your netstandard library project, then locate the following:

```json
"frameworks": {
    "netstandard1.4": {}
}
```

and append the `imports` section:

```json
"frameworks": {
    "netstandard1.4": {
      "imports": "portable-net45+win8+wp8"
    }
  }
```

For a detailed understanding of what `imports` does, read the following [detailed post](https://msdn.microsoft.com/en-us/library/system.windows.input.icommand.aspx).

## Projects using PackageReference:

Edit your .Net Standard project file and locate the following:

```xml
<PropertyGroup>
	<TargetFramework>netstandard1.4</TargetFramework>
</PropertyGroup>
```

  then change it as such:

```xml
<PropertyGroup>
	<TargetFramework>netstandard1.4</TargetFramework>
	<PackageTargetFallback>portable-net45+win8+wpa81+wp8</PackageTargetFallback>
</PropertyGroup>
```

repository: MaggieFero/website

repo_name: MaggieFero/website


text:
Welcome to Audio Classification Journey
============================

LOOKING AT SOUND

![image](https://cdn-images-1.medium.com/max/2600/1*TRurXpWTjfLg-oDzamHApA.jpeg)

- Content Created & Presented by Deepanshu Setia

### Overview

Sounds are all around us. Whether directly or indirectly, we are always in contact with audio data. Sounds outline the context of our daily activities, ranging from the conversations we have when interacting with people, the music we listen to, and all the other environmental sounds that we hear on a daily basis such as a car driving past, the patter of rain, or any other kind of background noise. The human brain is continuously processing and understanding this audio data, either consciously or subconsciously, giving us information about the environment around us.

Automatic environmental sound classification is a growing area of research with numerous real world applications. Whilst there is a large body of research in related audio fields such as speech and music, work on the classification of environmental sounds is comparatively scarce. Likewise, observing the recent advancements in the field of image classification where convolutional neural networks are used to to classify images with high accuracy and at scale, it begs the question of the applicability of these techniques in other domains, such as sound classification, where discrete sounds happen over time.

Problem Statement
=======================

The goal of this project, is to apply Deep Learning techniques to the classification of environmental sounds , specifically focusing on the identification of particular urban sounds.

When given an audio sample in a computer readable format (such as a .wav file) of a few seconds duration, we want to be able to determine if it contains one of the target urban sounds with a corresponding likelihood score.

![image](https://i.ibb.co/kBBVLX4/image.png)

### Motivation

There is a plethora of real world applications for this research, such as:

Content-based multimedia indexing and retrieval
Assisting deaf individuals in their daily activities
Smart home use cases such as 360-degree safety and security capabilities
Automotive where recognising sounds both inside and outside of the car can improve safety
Industrial uses such as predictive maintenance
Heart, snoring sound classification

### Live Fun Neural BeatBox Demo

[Neural BeatBox](https://codepen.io/setiadeepanshu/full/PrQmNP)

Built with magenta.js, tensorflow.js and p5.js

```{tableofcontents}
```


text:
# Inverse Ising

This repository contains Julia implementation of RISE, logRISE and RPLE algorithms for the inverse Ising problem.

## Prerequisites

For running the code, you need to have Julia installed on your computer, as well as the Julia packages JuMP, Ipopt and StatsBase packages. The code includes `Project.toml` and `Manifest.toml` files that can be used to configure a Julia environment that the code was tested with.

## Running

Specify desired parameters and file names in the arguments.csv file: reconstruction method (RISE, logRISE, RPLE), regularization coefficient c_lambda, symmetrization of reconstructed couplings (Y, N), name of the input sample file, name of the output parameters file.

Then run `Inverse_Ising.jl` in the command line:

```
julia Inverse_Ising.jl RISE 0.0 N synthetic_example/output_samples.csv output_model.csv
```

The input csv sample file should be in the histogram form, where each line is in the format "number of time a configuration has been sampled, configuration". The output file of reconstructed parameters has the form of a csv matrix that includes couplings (as off-diagonal entries) and magnetic fields (as diagonal entries).

For small systems (e.g. N<=25), samples can be exhaustively generated with `Gibbs_Sampler.jl`:

```
julia Gibbs_Sampler.jl synthetic_example/input_adjacency.csv 1000 output_samples.csv
```

See above for the formats of the adjacency matrix (containing parameters) and of the output file (containing samples in the histogram representation). A small synthetic example of input and output files is provided in the folder "synthetic_example".

## D-Wave data set

The real data set generated on the D-Wave 2X quantum annealer "Ising" at Los Alamos National Laboratory and used in the paper for illustration is available in the folder "data_dwave".

## Reference

If you find this code useful in your work, we kindly request that you cite the following [paper](https://arxiv.org/abs/1612.05024):
* A. Y. Lokhov, M. Vuffray, S. Misra, M. Chertkov (2016). Optimal structure and parameter learning of Ising models.
arXiv preprint arXiv:1612.05024.
```
@article{lokhov2016optimal,
  title={Optimal structure and parameter learning of Ising models},
  author={Lokhov, Andrey Y and Vuffray, Marc and Misra, Sidhant and Chertkov, Michael},
  journal={arXiv preprint arXiv:1612.05024},
  year={2016}
}
```

## License

D-WISC is provided under a BSD-ish license with a "modifications must be indicated" clause. See the [LICENSE.md](LICENSE.md) file for the full text. This package is part of the Hybrid Quantum-Classical Computing suite, known internally as LA-CC-16-032.


text:
---
title: LicheeRV ubuntu
keywords: ubuntu, riscv, lichee
update:
  - date: 2022-12-01
    version: v0.1
    author: wonder
    content:
      - Create file
---

Ubuntu released the image file which can run on LicheeRV. But we can't flash this image file with PhoenixCard application, so here are steps.

After booting this system on LicheeRV, we can use mouse and keyboard to operate this system if connecting this board with HDMI screen, otherwise we can only operate this system by serial communication.

## Ubuntu Introduction

Ubuntu is based on another linux distribution Debian, and we can find many answers from internet when meet trouble, which is friendly to beginners and helps them find solutions quickly when they have trouble.

Because of the limited performance, it's suggested running this system by command edition. If you need graphical interface, you need to do it by yourself.

The photo above is D1 Dock Pro，and it's different with Dock board, Dock Pro board incorporates USB uart port, by which we can communicate the board card with the computer with only one USB TypeC cable. The relevant peripherals can be seen in the following figure.

This board can be bought from [aliexpress](https://www.aliexpress.com/item/1005003741287162.html?).

## Steps

### Get image

We upload this image file on [mega](https://mega.nz/folder/1FxlVKrA#nONEKgZWKBzeEkWKAq_AcQ).

### Software

Visit [balenaEtcher](https://www.balena.io/etcher/) to download application. We have upload Windows edition software in our [Download station](https://dl.sipeed.com/shareURL/others/balenaEtcher), other edition can be downloaded from [balenaEtcher official site](https://www.balena.io/etcher/).

### Flash System

Prepare a SD card over 8G, the card with better performance can have better experienxe.

Connect the TF card with computer by SD card reader or SD card slot in the computer. Here is an example about SD card slot in computer, if your computer dose not have SD card slot, you need the SD card reader.

         Connect TF card with computer

        Connect by SD card reader
        Connect by SD card slot

Run balenaEtcher, choose the downloaded image file, choose your TF card, click Flash:

![d1_ubuntu_burn_image](./../../../zh/lichee/assets/RV/ubuntu/d1_ubuntu_burn_image.gif)

Make sure you choose the correct SD card.

![d1_ubuntu_burn_image_sdcard_choose](./../../../zh/lichee/assets/RV/ubuntu/d1_ubuntu_burn_image_sdcard_choose.png)

This will take a bit time, and after finishing this work it will be like as following figure. If there is no `Successful` shown after finishing this work, try to reburn this image.

![d1_ubuntu_finish_burn_image](./../../../zh/lichee/assets/RV/ubuntu/d1_ubuntu_finish_burn_image.png)

## Run System

Finishing flashing system and seeing `sucessful` shown in the end, we can connect SD card with this board to start ubuntu.

![dock_pro_ubuntu](./../../../zh/lichee/assets/RV/ubuntu/dock_pro_ubuntu.jpg)

View messages from UART, and we can operate this board by UART.

Wait a while, then the username and password are both `root`.

![d1_ubuntu_login](./../../../zh/lichee/assets/RV/ubuntu/d1_ubuntu_login.jpg)

## Connect wifi

Use command `nmcli` to connect 2.4G wireless.

- Scan wifi

```bash
nmcli dev wifi
```

![d1_ubuntu_wifi_scan](./../../../zh/lichee/assets/RV/ubuntu/d1_ubuntu_wifi_scan.jpg)

- Connect wifi，by command `nmcli dev wifi connect wifi_name password wifi_password`

```bash
nmcli dev wifi connect Sipeed_Guest password 12345678
```

![d1_ubuntu_wifi_connect](./../../../zh/lichee/assets/RV/ubuntu/d1_ubuntu_wifi_connect.jpg)

See `successfully`, then we have already connected to the wifi, and commands like `apt` and others work fine.

![d1_ubuntu_install_tree](./../../../zh/lichee/assets/RV/ubuntu/d1_ubuntu_install_tree.jpg)

## Blink led

We can blink led on our board by this Ubuntu system like what we have done on Tina, here are the codes:

Tuen on LED :

```bash
echo 1 > /sys/class/leds/\:status/brightness
```

Note the `\` in this command, without which you can't run this command successfully.

![d1_ubuntu_led_on](./../../../zh/lichee/assets/RV/ubuntu/d1_ubuntu_led_on.jpg)

Turn off LED :

```bash
echo 0 > /sys/class/leds/\:status/brightness
```

![d1_ubuntu_led_off](./../../../zh/lichee/assets/RV/ubuntu/d1_ubuntu_led_off.jpg)

## In the end

Based in [Ubuntu LicheeRV image](https://wiki.ubuntu.com/RISC-V/LicheeRV), we packed the wireless driver inside, which make user more convenient to experience this system.

## Questions

### No HDMI output

The board will not display HDMI command line when booting, and after the HDMI related service starts LicheeRV displays the command line console on HDMI screen, and some screen is not fit LicheeRV ubuntu image output and will not display the command line console.

Here is the login photo of UART (ttyS0) and HDMI command line console (tty1) of LicheeRV ubuntu image.

![d1_ubuntu_console_hdmi](./../../../zh/lichee/assets/RV/ubuntu/d1_ubuntu_console_hdmi.jpg)