text:
### 2016-01-28

#### swift
* [
      twitterdev
      /
      furni-ios
](https://github.com/twitterdev/furni-ios):
      Furni for iOS is a furniture store demo app presented at the Twitter Flight conference on October 21st, 2015, showing the power of the Fabric platform.

* [
      hollance
      /
      swift-algorithm-club
](https://github.com/hollance/swift-algorithm-club):
      Algorithms and data structures in Swift, with explanations!

* [
      marmelroy
      /
      Localize-Swift
](https://github.com/marmelroy/Localize-Swift):
      Swift 2.0 friendly localization and i18n with in-app language switching

* [
      yukiasai
      /
      Gecco
](https://github.com/yukiasai/Gecco):
      Simply highlight items for your tutorial walkthrough, written in Swift

* [
      CosmicMind
      /
      Material
](https://github.com/CosmicMind/Material):
      A beautiful graphics framework for Material Design in Swift.

* [
      PerfectlySoft
      /
      Perfect
](https://github.com/PerfectlySoft/Perfect):
      Server-side Swift. The Perfect library, application server, connectors and example apps. (For mobile back-end development, website and web app development, and more...)

* [
      tannernelson
      /
      vapor
](https://github.com/tannernelson/vapor):
      Elegant web framework for Swift that works on iOS, OS X, and Ubuntu.

* [
      matteocrippa
      /
      awesome-swift
](https://github.com/matteocrippa/awesome-swift):
      A collaborative list of awesome swift resources. Feel free to contribute!

* [
      hkellaway
      /
      Gloss
](https://github.com/hkellaway/Gloss):
      A shiny JSON parsing library in Swift

* [
      JakeLin
      /
      IBAnimatable
](https://github.com/JakeLin/IBAnimatable):
      Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.

* [
      Alamofire
      /
      Alamofire
](https://github.com/Alamofire/Alamofire):
      Elegant HTTP Networking in Swift

* [
      ReactiveX
      /
      RxSwift
](https://github.com/ReactiveX/RxSwift):
      Reactive Programming in Swift

* [
      ipader
      /
      SwiftGuide
](https://github.com/ipader/SwiftGuide):
      这份指南汇集了Swift语言主流学习资源，并以开发者的视角整理编排。http://dev.swiftguide.cn

* [
      FolioReader
      /
      FolioReaderKit
](https://github.com/FolioReader/FolioReaderKit):
      A Swift ePub reader and parser framework for iOS.

* [
      danielgindi
      /
      ios-charts
](https://github.com/danielgindi/ios-charts):
      An iOS port of the beautiful MPAndroidChart. - Beautiful charts for iOS apps!

* [
      daltoniam
      /
      Starscream
](https://github.com/daltoniam/Starscream):
      Websockets in swift for iOS and OSX

* [
      collinhundley
      /
      Swift-AI
](https://github.com/collinhundley/Swift-AI):
      Highly optimized artificial intelligence and machine learning library written in Swift.

* [
      hsavit1
      /
      Awesome-Swift-Education
](https://github.com/hsavit1/Awesome-Swift-Education):

 All of the resources for Learning About Swift

* [
      doushiDev
      /
      ds_ios
](https://github.com/doushiDev/ds_ios):
      逗视iOS客户端

* [
      SwiftyJSON
      /
      SwiftyJSON
](https://github.com/SwiftyJSON/SwiftyJSON):
      The better way to deal with JSON data in Swift

* [
      realm
      /
      realm-cocoa
](https://github.com/realm/realm-cocoa):
      Realm is a mobile database: a replacement for Core Data & SQLite

* [
      ReSwift
      /
      ReSwift
](https://github.com/ReSwift/ReSwift):
      Unidirectional Data Flow in Swift - Inspired by Redux

* [
      artsy
      /
      eidolon
](https://github.com/artsy/eidolon):
      The Artsy Auction Kiosk App

* [
      Nododo
      /
      Swift_100days
](https://github.com/Nododo/Swift_100days):
* [
      SnapKit
      /
      SnapKit
](https://github.com/SnapKit/SnapKit):
      A Swift Autolayout DSL for iOS & OS X

#### objective-c
* [
      KnuffApp
      /
      Knuff
](https://github.com/KnuffApp/Knuff):
      The debug application for Apple Push Notification Service (APNs).

* [
      coderyi
      /
      blog
](https://github.com/coderyi/blog):
      coderyi's blog,about iOS ,CS and my code life

* [
      dkhamsing
      /
      open-source-ios-apps
](https://github.com/dkhamsing/open-source-ios-apps):

 Collaborative List of Open-Source iOS Apps

* [
      AFNetworking
      /
      AFNetworking
](https://github.com/AFNetworking/AFNetworking):
      A delightful networking framework for iOS, OS X, watchOS, and tvOS.

* [
      ibireme
      /
      YYKit
](https://github.com/ibireme/YYKit):
      A collection of iOS components.

* [
      wujunyang
      /
      MobileProject
](https://github.com/wujunyang/MobileProject):
      一个通用的IOS项目基础

* [
      pili-engineering
      /
      PLCameraStreamingKit
](https://github.com/pili-engineering/PLCameraStreamingKit):
      Pili RTMP Streaming SDK for iOS, H.264 and AAC hardware encoding supported. Camera and Microphone as input source.

* [
      matbeich
      /
      StickyCollectionView
](https://github.com/matbeich/StickyCollectionView):
      UICollectionView layout for presenting of the overlapping cells.

* [
      ChenYilong
      /
      CYLTabBarController
](https://github.com/ChenYilong/CYLTabBarController):
      最低只需传两个数组即可完成主流App框架搭建

* [
      magicalpanda
      /
      MagicalRecord
](https://github.com/magicalpanda/MagicalRecord):
      Super Awesome Easy Fetching for Core Data 1!!!11!!!!1!

* [
      bang590
      /
      JSPatch
](https://github.com/bang590/JSPatch):
      JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App.

* [
      SnapKit
      /
      Masonry
](https://github.com/SnapKit/Masonry):
      Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. Supports iOS and OSX Auto Layout

* [
      rs
      /
      SDWebImage
](https://github.com/rs/SDWebImage):
      Asynchronous image downloader with cache support as a UIImageView category

* [
      zhengmin1989
      /
      iOS_ICE_AND_FIRE
](https://github.com/zhengmin1989/iOS_ICE_AND_FIRE):
      iOS冰与火之歌

* [
      YouXianMing
      /
      Animations
](https://github.com/YouXianMing/Animations):
      The Animation Collection.

* [
      ReactiveCocoa
      /
      ReactiveCocoa
](https://github.com/ReactiveCocoa/ReactiveCocoa):
      Streams of values over time

* [
      alcatraz
      /
      Alcatraz
](https://github.com/alcatraz/Alcatraz):
      Package manager for Xcode

* [
      facebook
      /
      AsyncDisplayKit
](https://github.com/facebook/AsyncDisplayKit):
      Smooth asynchronous user interfaces for iOS apps.

* [
      dzenbot
      /
      DZNEmptyDataSet
](https://github.com/dzenbot/DZNEmptyDataSet):
      A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display.

* [
      jessesquires
      /
      JSQMessagesViewController
](https://github.com/jessesquires/JSQMessagesViewController):
      An elegant messages UI library for iOS

* [
      ibireme
      /
      YYText
](https://github.com/ibireme/YYText):
      Powerful text framework for iOS to display and edit rich text.

* [
      matryer
      /
      bitbar
](https://github.com/matryer/bitbar):
      Put the output from any script or program in your Mac OS X Menu Bar

* [
      hackiftekhar
      /
      IQKeyboardManager
](https://github.com/hackiftekhar/IQKeyboardManager):
      Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. Neither need to write any code nor any setup required and much more.

* [
      CocoaLumberjack
      /
      CocoaLumberjack
](https://github.com/CocoaLumberjack/CocoaLumberjack):
      A fast & simple, yet powerful & flexible logging framework for Mac and iOS

* [
      ViccAlexander
      /
      Chameleon
](https://github.com/ViccAlexander/Chameleon):
      Flat Color Framework for iOS (Obj-C & Swift)

#### go
* [
      nlf
      /
      dlite
](https://github.com/nlf/dlite):
      The simplest way to use Docker on OS X

* [
      zquestz
      /
      s
](https://github.com/zquestz/s):
      Open a web search in your terminal.

* [
      docker
      /
      docker
](https://github.com/docker/docker):
      Docker - the open-source application container engine

* [
      getlantern
      /
      lantern
](https://github.com/getlantern/lantern):

 Open Internet for everyone. Lantern is a free desktop application that delivers fast, reliable and secure access to the open Internet for users in censored regions. It uses a variety of techniques to stay unblocked, including P2P and domain fronting. Lantern relies on users in uncensored regions acting as access points to the open Internet.

* [
      gogits
      /
      gogs
](https://github.com/gogits/gogs):
      Gogs (Go Git Service) is a painless self-hosted Git service.

* [
      golang
      /
      go
](https://github.com/golang/go):
      The Go programming language

* [
      go-kit
      /
      kit
](https://github.com/go-kit/kit):
      A standard library for microservices.

* [
      mholt
      /
      caddy
](https://github.com/mholt/caddy):
      Fast, cross-platform HTTP/2 web server with automatic HTTPS

* [
      gophergala2016
      /
      meshbird
](https://github.com/gophergala2016/meshbird):
      Distributed private networking

* [
      icholy
      /
      rip
](https://github.com/icholy/rip):
      Yes, I know sed can do this

* [
      kubernetes
      /
      kubernetes
](https://github.com/kubernetes/kubernetes):
      Container Cluster Manager from Google

* [
      spf13
      /
      hugo
](https://github.com/spf13/hugo):
      A Fast and Flexible Static Site Generator built with love in GoLang

* [
      ivpusic
      /
      httpcheck
](https://github.com/ivpusic/httpcheck):
      supertest inspired library for testing HTTP servers

* [
      apex
      /
      apex
](https://github.com/apex/apex):
      Minimal AWS Lambda function manager with Go support.

* [
      gdm85
      /
      wolfengo
](https://github.com/gdm85/wolfengo):
      Wolfenstein3D clone in Go

* [
      hashicorp
      /
      terraform
](https://github.com/hashicorp/terraform):
      Terraform is a tool for building, changing, and combining infrastructure safely and efficiently.

* [
      deuill
      /
      go-php
](https://github.com/deuill/go-php):
      PHP bindings for the Go programming language (Golang)

* [
      golang-china
      /
      gopl-zh
](https://github.com/golang-china/gopl-zh):
      Go语言圣经《The Go Programming Language》中文版!

* [
      ivpusic
      /
      neo
](https://github.com/ivpusic/neo):
      Go Web Framework

* [
      gin-gonic
      /
      gin
](https://github.com/gin-gonic/gin):
      Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.

* [
      coreos
      /
      etcd
](https://github.com/coreos/etcd):
      Distributed reliable key-value store for the most critical data of a distributed system

* [
      hashicorp
      /
      consul
](https://github.com/hashicorp/consul):
      Consul is a tool for service discovery, monitoring and configuration.

* [
      drone
      /
      drone
](https://github.com/drone/drone):
      Drone is a Continuous Integration platform built on Docker, written in Go

* [
      astaxie
      /
      build-web-application-with-golang
](https://github.com/astaxie/build-web-application-with-golang):
      A golang ebook intro how to build a web with golang

* [
      revel
      /
      revel
](https://github.com/revel/revel):
      A high productivity, full-stack web framework for the Go language.

#### javascript
* [
      FreeCodeCamp
      /
      FreeCodeCamp
](https://github.com/FreeCodeCamp/FreeCodeCamp):
      The http://FreeCodeCamp.com open source codebase and curriculum. Learn to code and help nonprofits.

* [
      fengyuanchen
      /
      viewerjs
](https://github.com/fengyuanchen/viewerjs):
      JavaScript image viewer.

* [
      cht8687
      /
      You-Dont-Need-Lodash-Underscore
](https://github.com/cht8687/You-Dont-Need-Lodash-Underscore):
      Lists of Javascript methods which you can use natively

* [
      developit
      /
      preact
](https://github.com/developit/preact):

 Fast 3kb React alternative with the same ES6 API. Components & Virtual DOM.

* [
      DrkSephy
      /
      es6-cheatsheet
](https://github.com/DrkSephy/es6-cheatsheet):
      ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets

* [
      denysdovhan
      /
      bash-handbook
](https://github.com/denysdovhan/bash-handbook):
      For those who wanna learn Bash

* [
      yabwe
      /
      medium-editor
](https://github.com/yabwe/medium-editor):
      Medium.com WYSIWYG editor clone. Uses contenteditable API to implement a rich text solution.

* [
      mxstbr
      /
      login-flow
](https://github.com/mxstbr/login-flow):

 A login/register flow built with React&Redux

* [
      Soundnode
      /
      soundnode-app
](https://github.com/Soundnode/soundnode-app):
      Soundnode App is the Soundcloud for desktop. Built with NW.js, Angular.js and Soundcloud API.

* [
      mpociot
      /
      whiteboard
](https://github.com/mpociot/whiteboard):
      Simply write beautiful API documentation.

* [
      jiahaog
      /
      nativefier
](https://github.com/jiahaog/nativefier):
      Wrap any web page natively without even thinking, across Windows, OSX and Linux

* [
      mholt
      /
      curl-to-go
](https://github.com/mholt/curl-to-go):
      Convert curl commands to Go code in your browser

* [
      facebook
      /
      react
](https://github.com/facebook/react):
      A declarative, efficient, and flexible JavaScript library for building user interfaces.

* [
      rackt
      /
      redux
](https://github.com/rackt/redux):
      Predictable state container for JavaScript apps

* [
      alexanderGugel
      /
      ied
](https://github.com/alexanderGugel/ied):

 Like npm, but faster - an alternative package manager for Node (WIP)

* [
      brave
      /
      browser-laptop
](https://github.com/brave/browser-laptop):
      Brave browser for Desktop and Laptop computers running Windows, OSX, and Linux

* [
      angular
      /
      angular.js
](https://github.com/angular/angular.js):
      HTML enhanced for web apps

* [
      sgaurav
      /
      understanding-es6
](https://github.com/sgaurav/understanding-es6):
      Simple examples to help you understand ES6

* [
      getify
      /
      You-Dont-Know-JS
](https://github.com/getify/You-Dont-Know-JS):
      A book series on JavaScript. @YDKJS on twitter.

* [
      sdc-alibaba
      /
      SUI-Mobile
](https://github.com/sdc-alibaba/SUI-Mobile):
      SUI Mobile (MSUI)是由阿里巴巴国际UED前端出品的移动端UI库，轻量精美

* [
      mbostock
      /
      d3
](https://github.com/mbostock/d3):
      A JavaScript visualization library for HTML and SVG.

* [
      airbnb
      /
      javascript
](https://github.com/airbnb/javascript):
      JavaScript Style Guide

* [
      vuejs
      /
      vue
](https://github.com/vuejs/vue):
      Simple yet powerful library for building modern web interfaces.

* [
      nodejs
      /
      node
](https://github.com/nodejs/node):
      Node.js JavaScript runtime

* [
      cdmedia
      /
      cms.js
](https://github.com/cdmedia/cms.js):
      The Javascript Site Generator

#### ruby
* [
      thoughtbot
      /
      scenic
](https://github.com/thoughtbot/scenic):
      Versioned database views for Rails

* [
      rails
      /
      rails
](https://github.com/rails/rails):
      Ruby on Rails

* [
      Homebrew
      /
      homebrew
](https://github.com/Homebrew/homebrew):

 The missing package manager for OS X.

* [
      jekyll
      /
      jekyll
](https://github.com/jekyll/jekyll):

 Jekyll is a blog-aware, static site generator in Ruby

* [
      jondot
      /
      awesome-react-native
](https://github.com/jondot/awesome-react-native):
      An "awesome" type curated list of React Native components, news, tools, and learning material

* [
      zverok
      /
      worldize
](https://github.com/zverok/worldize):
      Simple coloured countries drawing

* [
      discourse
      /
      discourse
](https://github.com/discourse/discourse):
      A platform for community discussion. Free, open, simple.

* [
      Thibaut
      /
      devdocs
](https://github.com/Thibaut/devdocs):
      API Documentation Browser

* [
      shakacode
      /
      react_on_rails
](https://github.com/shakacode/react_on_rails):
      Integration of React + Webpack + Rails to build Universal (Isomorphic) Apps

* [
      fastlane
      /
      fastlane
](https://github.com/fastlane/fastlane):
      Connect all iOS deployment tools into one streamlined workflow

* [
      caskroom
      /
      homebrew-cask
](https://github.com/caskroom/homebrew-cask):
      A CLI workflow for the administration of Mac applications distributed as binaries

* [
      mitchellh
      /
      vagrant
](https://github.com/mitchellh/vagrant):
      Vagrant is a tool for building and distributing development environments.

* [
      ruby
      /
      ruby
](https://github.com/ruby/ruby):
      The Ruby Programming Language

* [
      gitlabhq
      /
      gitlabhq
](https://github.com/gitlabhq/gitlabhq):
      GitLab is version control for your server

* [
      hanami
      /
      hanami
](https://github.com/hanami/hanami):
      The web, with simplicity.

* [
      rapid7
      /
      metasploit-framework
](https://github.com/rapid7/metasploit-framework):
      Metasploit Framework

* [
      bbatsov
      /
      rubocop
](https://github.com/bbatsov/rubocop):
      A Ruby static code analyzer, based on the community Ruby style guide.

* [
      plataformatec
      /
      devise
](https://github.com/plataformatec/devise):
      Flexible authentication solution for Rails with Warden.

* [
      saasbook
      /
      typo
](https://github.com/saasbook/typo):
      Typo is the oldest and most powerful Ruby on Rails blogware, providing custom templates, powerful drag and drop plugins API, advanced SEO capabilities, XMLRPC API and many more.

* [
      twbs
      /
      bootstrap-sass
](https://github.com/twbs/bootstrap-sass):
      Official Sass port of Bootstrap 2 and 3.

* [
      samaaron
      /
      sonic-pi
](https://github.com/samaaron/sonic-pi):
      The Live Coding Synth for Everyone

* [
      CocoaPods
      /
      CocoaPods
](https://github.com/CocoaPods/CocoaPods):
      The Cocoa Dependency Manager.

* [
      tmuxinator
      /
      tmuxinator
](https://github.com/tmuxinator/tmuxinator):
      Manage complex tmux sessions easily

* [
      thoughtbot
      /
      guides
](https://github.com/thoughtbot/guides):
      A guide for programming in style.

* [
      thoughtbot
      /
      administrate
](https://github.com/thoughtbot/administrate):
      A Rails engine that helps you put together a super-flexible admin dashboard.

repository: josephyzhou/github-trending

gha_language: Go

repo_name: josephyzhou/github-trending


text:
# import-map-overrides

[![](https://data.jsdelivr.com/v1/package/npm/import-map-overrides/badge)](https://www.jsdelivr.com/package/npm/import-map-overrides)

A browser javascript library for being able to override [import maps](https://github.com/WICG/import-maps). This works
with native browser import maps, [SystemJS](https://github.com/systemjs/systemjs) import maps, [es-module-shims](https://github.com/guybedford/es-module-shims) import maps, and more.

## Motivation

![import map overrides 3](https://user-images.githubusercontent.com/5524384/77237035-07476600-6b8a-11ea-9041-8b70f633d5d0.gif)

Import maps are a way of controlling which url to download javascript modules from. The import-map-overrides library allows you
to dynamically change the url for javascript modules by storing overrides in local storage. This allows developers to **override individual modules to point to their localhost during development of a module, without having to boot up a local environment with all the other modules and a backend server.**

You should not use import-map-overrides as the **only** import map on your page, since you cannot count on everyone's local storage having
valid values for all of your modules. Instead, import-map-overrides should be viewed as a developer experience enhancement and dev tool --
developers can develop and debug on deployed environments instead of having to boot up a local environment.

Here are some tutorial videos that explain this in more depth:

- [In-browser vs build-time modules](https://www.youtube.com/watch?v=Jxqiu6pdMSU&list=PLLUD8RtHvsAOhtHnyGx57EYXoaNsxGrTU&index=2)
- [Import Maps](https://www.youtube.com/watch?v=Lfm2Ge_RUxs&list=PLLUD8RtHvsAOhtHnyGx57EYXoaNsxGrTU&index=3)
- [Local development with import map overrides](https://www.youtube.com/watch?v=vjjcuIxqIzY&list=PLLUD8RtHvsAOhtHnyGx57EYXoaNsxGrTU&index=4)

## Documentation

The UI for import-map-overrides works in evergreen browsers (web components support required). The javascript API works in IE11+.

- [Security](/docs/security.md)
- [Installation](/docs/installation.md)
- [Configuration](/docs/configuration.md)
- [User Interface](/docs/ui.md)
- [Javascript API](/docs/api.md)

license: MIT

repository: ajaybeniwal/import-map-overrides

branch_name: refs/heads/master

extension: md

gha_license_id: MIT

license_type: permissive

repo_name: ajaybeniwal/import-map-overrides


text:
# BoilerStack

Boilerplate for blockstack apps

BoilerStack is modified version of a rejected create-react-app. Includes blockstack auth and a radiks based crud todo application.

## Installation

#### 1- Clone this repo:

```
git clone --depth 1 https://github.com/talhasch/boilerstack my-app
cd my-app
```

#### 2- Make it your own:

```
rm -rf .git && git init && npm init
```

#### 3- Install the dependencies:

```
npm install
```

#### 4- Create config.js

Make a copy of config.example.js and edit RADIKS_ADDRESS inside it

```
cp src/config.example.js src/config.js
```

#### 5- Run

```
npm start
```

repository: talhasch/boilerstack

repo_name: talhasch/boilerstack


text:
* * * * *

# Simple 2D SDF tutorial

### Better tutorial, or watch first - [Inigo Quilez The basics of Painting with Maths (youtube video)](https://youtu.be/0ifChJ0nJfM)

This my tutorial shows how to use 2D SDF shape to create some basic effect.

___

![](https://www.ronja-tutorials.com/assets/images/posts/035/Result.gif)

### Read this link first if you do not know what SDF is - [link to blog on ronja-tutorials.com](https://www.ronja-tutorials.com/post/035-2d-sdf-combination/#simple-combinations)

Look there for *Simple Combinations* such as - merge, intersect, subtract, and others.

Down below I use **merge operation**, that literally just `min(shape1, shape2);` so I use directly `min`.

[2D distance functions](https://iquilezles.org/articles/distfunctions2d/) - this page has list of **more basic SDF shapes**, I use just Circle. If you need repetition of same shape - [hg_sdf](http://mercury.sexy/hg_sdf/).
___

## Content:

1. SDF of Circle and Circle
2. Two circles
3. Glow edge
4. Adding Noise glow
5. Animating everything (**final effect** with shadertoy link)

___

Copy-paste shader code to [Shadertoy.com](https://www.shadertoy.com/)
___

## SDF of Circle and Circle:
![](1.png)

Basic SDF
```c
float sdCircle( vec2 p, float r )
{
    return length(p) - r;
}

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{

    vec2 res = iResolution.xy/iResolution.y;
    vec2 uv = fragCoord.xy / iResolution.y-res*0.5;
    uv*=2.;

    vec3 col = vec3(0.);

    float d = 1.;
    d = min(d,sdCircle(uv,0.4));

    // d is sdf, abs(d) because d is negative when it on other side of edge, d==0 is edge
    col = vec3(abs(d));

    fragColor = vec4(col,1.0);
}
```

**Edge of SDF** (selecting border)
```c
float sdCircle( vec2 p, float r )
{
    return length(p) - r;
}

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{

    vec2 res = iResolution.xy/iResolution.y;
    vec2 uv = fragCoord.xy / iResolution.y-res*0.5;
    uv*=2.;

    vec3 col = vec3(0.);

    float d = 1.;
    d = min(d,sdCircle(uv,0.4));

    // pixel size for antialiased SDF shape, 2.* because uv*=2.; above so 2 is scale of uv
    float px = 2.*(1.5/iResolution.y);
    col = vec3(smoothstep(0.0,px,abs(d)-0.01)); // edge of sdf 0.01 is thickness of edge

    fragColor = vec4(col,1.0);
}
```

New code is `float px...` where `1./iResolution.y` is pixel size, I add +0.5 for more smooth transition.\
And `smoothstep` to select smooth edge, result on screenshot.

___

## Two circles:
```c
float sdCircle( vec2 p, float r )
{
    return length(p) - r;
}

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{

    vec2 res = iResolution.xy/iResolution.y;
    vec2 uv = fragCoord.xy / iResolution.y-res*0.5;
    uv*=2.;

    vec3 col = vec3(0.);

    vec2 c1 = vec2(-0.1,0.2); //pos of first circle
    vec2 c2 = vec2(0.2,-0.3); //pos of second circle

    float d = 1.;
    d = min(d,sdCircle(uv+c1,0.3));
    d = min(d,sdCircle(uv+c2,0.3));

    // pixel size for antialiased SDF shape, 2.* because uv*=2.; above so 2 is scale of uv
    float px = 2.*(1.5/iResolution.y);
    col = vec3(smoothstep(0.0,px,abs(d)-0.01)); // edge of sdf 0.01 is thickness of edge

    fragColor = vec4(col,1.0);
}
```

I just add position of circles, everything else is same. (and changed radius of circles to 0.3)
___

## Glow edge:
![](2.png)

**Basic SDF glow is** - `0.01/d`
For test use this - `col = vec3(0.01/max(abs(d),0.0001));`

**More correct glow** - look this shadertoy shader [Smoothed Airy intensity / glow ](https://www.shadertoy.com/view/tlc3zM) by FabriceNeyret2. (just as reference, not needed in this tutorial)

Code from screenshot:
```c
float sdCircle( vec2 p, float r )
{
    return length(p) - r;
}

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{

    vec2 res = iResolution.xy/iResolution.y;
    vec2 uv = fragCoord.xy / iResolution.y-res*0.5;
    uv*=2.;

    vec3 col = vec3(0.);

    vec2 c1 = vec2(-0.1,0.2); //pos of first circle
    vec2 c2 = vec2(0.2,-0.3); //pos of second circle

    float d = 1.;
    d = min(d,sdCircle(uv+c1,0.3));
    d = min(d,sdCircle(uv+c2,0.3));

    col = (0.5 + 0.5*cos(iTime+vec3(0,1,2))); // basic color that change on time
    //col = max(col,vec3(0.051)); // uncomment if you want static white glow at edge

    col = col*0.051/max(abs(d),0.0001); // edge glow

    fragColor = vec4(col,1.0);
}
```

Line `col = col*0.051/max(abs(d),0.0001);` glow for this example.

___

## Adding Noise glow:
![](3.png)

Added `fbm` function and use of fbm noise value `d=d*d_fbm;`
```c

float hash(vec2 p)
{
    p  = fract( p*0.3183099+.1 );
  p *= 17.0;
    return -1.+2.*fract( p.x*p.y*(p.x+p.y) );
}

// simple (and bad!) value noise
float noise( in vec2 p )
{
    vec2 i = floor( p );
    vec2 f = fract( p );
  vec2 u = f*f*(3.0-2.0*f);
    return mix( mix( hash( i + vec2(0.0,0.0) ),
                     hash( i + vec2(1.0,0.0) ), u.x),
                mix( hash( i + vec2(0.0,1.0) ),
                     hash( i + vec2(1.0,1.0) ), u.x), u.y);
}

// modified fbm func
float fbm(in vec2 p)
{
  float z=2.;
  float rz = 0.;
  vec2 bp = p;
  for (float i= 1.;i < 6.;i++)
  {
    rz+= abs((noise(p)-0.5)*2.)/z;
    z = z*2.;
    p = p*2.;
  }
  return rz;
}

float sdCircle( vec2 p, float r )
{
    return length(p) - r;
}

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{

    vec2 res = iResolution.xy/iResolution.y;
    vec2 uv = fragCoord.xy / iResolution.y-res*0.5;
    uv*=2.;

    vec3 col = vec3(0.);

    vec2 c1 = vec2(-0.1,0.2); //pos of first circle
    vec2 c2 = vec2(0.2,-0.3); //pos of second circle

    float d = 1.;
    d = min(d,sdCircle(uv+c1,0.3));
    d = min(d,sdCircle(uv+c2,0.3));

    float d_fbm = fbm(uv*2.); // d_fbm is 0+
    d=d*d_fbm;

    col = (0.5 + 0.5*cos(iTime+vec3(0,1,2))); // basic color that change on time
    //col = max(col,vec3(0.051)); // uncomment if you want static white glow at edge
    col = col*0.051/max(abs(d),0.0001); // edge glow

    fragColor = vec4(col,1.);
}
```
___

## Animating everything (**final effect**):
![](4.png)

Shadertoy shader link - [https://www.shadertoy.com/view/fsdyRl](https://www.shadertoy.com/view/fsdyRl)

Shader code (same as on shadertoy):

```c

// Created by Danil (2022+)
// License - CC0 or use as you wish

// made for https://github.com/danilw/danilw.github.io/blob/master/blog/simple_SDF_tutorial/

// uncomment v1 or v2 or v3 to see different animation (line 77-79)

float hash(vec2 p)
{
    p  = fract( p*0.3183099+.1 );
  p *= 17.0;
    return -1.+2.*fract( p.x*p.y*(p.x+p.y) );
}

// simple (and bad!) value noise
float noise( in vec2 p )
{
    vec2 i = floor( p );
    vec2 f = fract( p );
  vec2 u = f*f*(3.0-2.0*f);
    return mix( mix( hash( i + vec2(0.0,0.0) ),
                     hash( i + vec2(1.0,0.0) ), u.x),
                mix( hash( i + vec2(0.0,1.0) ),
                     hash( i + vec2(1.0,1.0) ), u.x), u.y);
}

// modified fbm func
float fbm(in vec2 p)
{
  float z=2.;
  float rz = 0.;
  vec2 bp = p;
  for (float i= 1.;i < 6.;i++)
  {
    rz+= abs((noise(p)-0.5)*2.)/z;
    z = z*2.;
    p = p*2.;
  }
  return rz;
}

float sdCircle( vec2 p, float r )
{
    return length(p) - r;
}

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{

    vec2 res = iResolution.xy/iResolution.y;
    vec2 uv = fragCoord.xy / iResolution.y-res*0.5;
    uv*=2.;

    vec3 col = vec3(0.);

    vec2 c1 = vec2(-0.1,0.2); //pos of first circle
    vec2 c2 = vec2(0.2,-0.3); //pos of second circle

    float d = 1.;
    d = min(d,sdCircle(uv+c1,0.3));
    d = min(d,sdCircle(uv+c2,0.3));

    // anim loop timer (color use own iTime)
    // 0-0.5 beginning (first half, look smoothstep usage)
    // 0.5-1 ending (second half)
    float anim_timer = fract(iTime*0.15);
    //anim_timer = iMouse.x/iResolution.x; // for testing

    float d_fbm = fbm(uv*2.); // d_fbm is 0.+
    float d_fbm2 = fbm(uv*5.); // additional for coloring
    d_fbm = (d_fbm-smoothstep(0.,0.5,anim_timer)*3.);

    //animations, uncomment one of this
    //d = d*d_fbm+d_fbm2*(0.2*(1.-smoothstep(0.15,1.,anim_timer))); //v1
    //d = abs(d)*d_fbm+d_fbm2*(0.2*(1.-smoothstep(0.15,1.,anim_timer))); //v2
    d = (abs(d)-0.35*(1.-smoothstep(0.15,1.,anim_timer)))*d_fbm+d_fbm2*(0.2*(1.-smoothstep(0.15,1.,anim_timer))); //v3

    vec3 ocol = (0.5 + 0.5*cos(iTime*1.35+vec3(0,1,2))); // basic color that change on time
    col = ocol;
    col*=0.21/max(d_fbm2,0.0001); // addition coloring
    col = max(col,vec3(0.151)); // uncomment if you want static white glow at edge
    col = col*0.151/max(abs(d),0.0001); // edge glow

    col = (col-0.5*col*smoothstep(0.,0.5,length(col)))+col*ocol.bgr; // some extra coloring
    col = clamp(col,0.,1.);
    fragColor = vec4(col,1.);
}
```

There many ways to do effects like this, my example just showing basic-steps to create this effect.

For example - you can shift UV that used for SDF `d = min(d,sdCircle(uv+c1+d_fbm*0.1,0.3));` by adding d_fbm(or any noise) to UV and then use morphed SDF shape in next steps.

And instead of "procedural SDF generation" texture can be used, if you make SDF-like looking texture in GIMP then just do `float d = texture(<your texture>, UV).x;`


text:
# Python script that checks the availability of sites and pages

The script checks the health of sites on the http status, and specific pages checking for the presence of certain content. Can send notification of problems to the specified E-mails. Works asynchronously and can process a large number of sites in parallel.

## Installation

```
# 1. install all necessary modules:
pip3 install -r requirements.txt

# 2. copy the configuration file:
cp config.yaml.dist config.yaml
```

## Configuration
Configuration example

```
# maximum number of concurrent checks
max_parallel_checks: 3

# list of sites/pages to check
sites:
- domain: "www.google.com"
  # by default, the script connects to the sites by https, but for a specific domain, you can choose to connect to http
  http: true
  # you can add multiple pages at once
  urls:
    - uri: "/"
      check_text: "Google"
    - uri: "/analytics/"
      check_text: "Google Analytics"

# - domain: "branchup.pro"
#   urls:
#     - uri: "/"
#       check_text: "some text of front page..."
# ...

# logger settings
logger:
  # log level: DEBUG / INFO / ERROR
  level: 'INFO'
  log_to_screen: true
  log_to_file: false
  log_file_path: 'log.txt'

# email list for notifications
administration:
  - email<EMAIL_ADDRESS>  - email<EMAIL_ADDRESS>
# configuring smtp through which the script will send mail
smtp_notifi:
  enabled: false
  host: "smtp.gmail.com"
  # port: 587
  username<EMAIL_ADDRESS>  password: "some-password-here"
```

## Using

```
./site_checker.py
```

## System requirements
* python 3 >= 3.5.3
* aiohttp >= 2.3.6
* aiosmtplib >= 1.0.2
* PyYAML >= 3.12

repository: evmason/py-site-available-checker

repo_name: evmason/py-site-available-checker


text:
# Instance Control
- 🔍 Instance Control - A NPM module to wrap around node's child process spawn functions.
  - Just a wrapper to start and stop process instances.
  - **Not for public production! Please fork for personal use!** - This module is for @htkoca's private development.

## Usage Summary
- Prep: Load the module
- Step 1: Instance creation and termination
- Step 2: General instance functions

### Prep
Let's install the module
- in terminal: `npm install instance-control`

### Step 1
Instance creation and termination
```js
// dependencies
const InstanceCtrl = require('instance-control')

// create new controller
let instanceCtrl = new InstanceCtrl();

// start new child instances with name string, returns node native <ChildProcess>
let subProcess = instanceCtrl.startInstance('nodeApp', `node example-process.js`)
let subProcess2 = instanceCtrl.startInstance('nodeApp', `node example-process.js`)

// let's get a console log when process exited
subProcess.on('exit', (code, signal) => {
	console.log(`subProcess exited with code: '${code}', signal: '${signal}'`);
});

// get all instances under 'nodeApp' child name, returns: array of <ChildProcess>'s
let instances = instanceCtrl.getInstances('nodeApp');

// kill all instances under 'nodeApp' child name, returns: true if any kill signal sent
let killStatus = instanceCtrl.killInstances('nodeApp');
```

### Step 2
General instance functions
```js
// start another instance to test global functions
instanceCtrl.startInstance('nodeApp', `node example-process.js`);

// get all instances, returns: object with child name as property, process arrays as value
let allInstances = instanceCtrl.getAll();

// kill all instances, returns: object with child name as property, process arrays as value
let killStatusAll = instanceCtrl.killAll();
```

### Step 3
Single instance functions - promise based
```js
// start only one process - each command kills previous app
(async function() {
  let subProcess = await instanceCtrl.singleInstance('nodeApp', `node example-process.js`);
	let subProcess2 = await instanceCtrl.singleInstance('nodeApp', `node example-process.js`);
	let subProcess3 = await instanceCtrl.singleInstance('nodeApp', `node example-process.js`);
	console.log(subProcess3);
})();
```

repository: tkodev/lib-instance-control

repo_name: tkodev/lib-instance-control


text:
---
wordpress_id: 221
title: Full screen multi-touch gesture
tags:
- OS X
- MacBook Air
---
This is something I've noticed but haven't seen mentioned elsewhere. It applies to recent Macs with multi-touch gestures (MacBook Air and new MacBook Pro).

In QuickTime Player as well as in Quick Look of a video or picture, you can use the "pinch open" gesture to enter full screen mode. "Pinch close" will exit full screen.

Quite handy.

extension: markdown

gha_language: CSS


text:
# ProtonMail Bridge Changelog

Changelog [format](http://keepachangelog.com/en/1.0.0/)

## Unpublished

## [v1.0.3] - 2018-03-26
* All from silent updates plus following

### Changed
* Okay -> "Remind me later"
* Imported message with `text/html` body was imported as `text/plain`
* Reload cache when labeling Seen/Unseen
* Merge with Import-Export branch
    * Inheritable Bug report window
    * Common functions: WriteHeader (parse PM mail) and CustomMessage (when incorrect keys)
    * Updates refactor
    * Bug report window
    * Checkbox and with label (only I/E)
    * Error dialog and Info tooltip (only I/E)
    * Add user modal formating (colors, text)
    * Account view style
    * Input box style (used in bug report)
    * Input field style (used in add account and change port)
    * Added style variables for I/E
    * Tab button style
    * Window bar style and functionality (closing / minimize window)

### Release notes
* Improved responsiveness in the UI

### Fixed bugs
* Fixed some formatting issues with imports
* Fixed port changing via CLI

## Silent update - 2018-03-13

### Changed
* Remove firewall error message

## [v1.0.2] - 2018-03-12
* All from silent updates plus following

### Added
* UTF-7 support
* Message when communication between bridge and email client is blocked by firewall (Windows only)

### Changed
* Added gnome-keyring dejavu fonts into linux dependency
* Corrected parentID when reply/forward: taken from `protonmail.internalid` reference
* Update user object in backend after unlock to apply address changes

### Release notes
* UTF7 encoding support for older imported emails

### Fixed bugs
* Fixed issues with conversation threading
* Support for multiple "ReplyTo" addresses
* Fixed issue where some address updates would not register immediately

## [v1.0.1-4 (linux only)] Silent deploy - 2018-02-28

### Changed
* More similar look of window title bar to Windows 10 style.
* Qt 5.10 Button Controls 2 conflict (`icon`->`iconText`)

### Added
* Linux default font
* Multiple reply-to addresses support (also API)
* Command line interface
* Credits are generated automatically from glide.lock
* Created script to build linux packages (dep,rpm,PKGBUILD)
* Correct config folders with env variable `$XDG_CONFIG_HOME`

### Fixed bugs
* Clearing global cache
* Default linux font problems
* Support Reply-To multiple addresses

### Release notes
* Improved visual appearance for win and linux

## [v1.0.1] Silent deploy - 2017-12-30

### Changed
* Fixed bug with parsing address list (CC became BCC)

## [v1.0.1] - 2017-12-20

### Added
* When current log file is more than 10MB open new one, checked every 15min
* Keep only last three log files including current one, triggered every start and when switching log files
* Translation context
* Accessibility objects for button and static text
* All objects are accessible including focus scope for modals and messages
* Automatically fill the email client in bug report form
* Catch corrupted MacOS keychain error and show the link to FAQ
* Unlabel message
* Update emptying and filtering routes
* Parse the address comment as defined in RFC

### Changed
* Default log level set to Warning
* Info logs during adding account and connecting client promoted to warning level
* Log only when email client was changed (previously logged on every assign)
* Force upgrade bubble notification only when requested by API
* Don't show warning systray icon when "You have then newest version!" bubble message is showed
* Header date format  RFC822Z -> RFC1123Z
* IMAP ID and QUOTA responses forced to use quoted strings (fixing SparkMail issue)
* Avoid AddressChanged bubble when no address was changed

### Release notes
* Reduced log file size and log file history
* Accessibility support for MacOS VoiceOver and Windows Narrator
* Improved notification system
* Supported imports with older address format

## [v1.0.0] - 2017-12-06

### Added
* Encoding support of message body, title items, attachment name, for all standard charsets
* Force update API message handled as new version event

### Changed
* Refactor `bridge-qtfronted` -> `frontend`
* Only one main file and basic support of CLI (not finished)
* Common QML package `ProtonUI`, which is used by `BridgeUI` and `ImportExportUI`
* ChangedUser signal contain address and event type to distinguish between logout, internet off/on, address_change
* API address changed event handled gracefully (if not possible, logout)
* Update mac keychain (should resolve problem with adding new account to bridge, NOT CONFIRMED)
* Solved hanging GUI on keychain error (should solve all win-7, no-gui errors)
* New systray icons for Mac (black and white no background)
* GUI cosmetics:
    - "Click here to start" triangle position
    - Wrong cursor type on link
    - Create main window before notification

### Release notes
* Better notification when new version is needed or when account address is changed.
* Encoding support for the standard charsets.
* Improved visual appearance.

### Fixed bugs
* Fixed missing GUI for Windows with empty keychain.

repository: awesomebjt/protonmail-bridge-solus

repo_name: awesomebjt/protonmail-bridge-solus


text:
# Chimes

`Array.prototype` iteration methods for any iterator.

## About

It's hard to justify using the new iterable data structures in ES6 as they're severely lacking in expressive power when compared to Arrays e.g. no map/filter/reduce etc. This library's goal is to add the expressive power of Arrays to anything iterable, including generators.

Current implementation is porcelain for future sugar.

Note: `map`/`filter` may eventually be added to the `Collection`/`Iterator` prototype:

https://esdiscuss.org/notes/2014-11-19#5-8-map-prototype-map-and-map-prototype-filter-spec-set

## Installation

```
npm install chimes
```

Requires an ES6 transpiler such as [babel](https://babeljs.io/), [traceur](https://github.com/google/traceur-compiler) or a polyfill like [core-js](https://github.com/zloirock/core-js).

## Usage

Most methods work just as they do for `Array.prototype`, though they
take the iterable as the first argument and always return an iterator.

Note that even `every`, `some` & `reduce` return iterators – the last value in the iterator is the value you'd expect from the corresponding `Array.prototype` method.

An iterable is any object that implements `Symbol.iterator` or a generator.

```js
const {map} = require('chimes')

let set = new Set()
set.add(1)
set.add(2)
set.add(3)

let doubleSet = new Set(map(set, (value, i) => value * 2))
console.log(doubleSet.has(1)) // false
console.log(doubleSet.has(2)) // true
console.log(doubleSet.has(4)) // true
console.log(doubleSet.has(6)) // true
console.log(Array.from(doubleSet))
// [2,4,6]
```

## API

#### Methods Implemented

* map
* filter
* every
* some
* reduce
* concat

* first
* last

* * *

### map(iterable, fn, context)

Creates a new Iterator with the results of lazily calling `fn` on every
element in the supplied `iterable`.

Array.prototype.map for Iterables.

```js
const {map} = require('chimes')

let set = new Set()
set.add(1)
set.add(2)
set.add(3)

let doubleSet = new Set(map(set, value => value * 2))
console.log(doubleSet.has(1)) // false
console.log(doubleSet.has(2)) // true
console.log(doubleSet.has(4)) // true
console.log(doubleSet.has(6)) // true
console.log(Array.from(doubleSet))
// [2,4,6]
```

**Parameters**

**iterable**: `Iterable`, Creates a new Iterator with the results of lazily calling `fn` on every
element in the supplied `iterable`.
**fn**: `function`, Will be invoked with: value, index & iteration object
**context**: `Mixed`, Optional. Value to use as this when executing `fn`.
**Returns**: `Iterator`

### filter(iterable, fn, context)

Creates a new Iterator with all elements in the supplied `iterable` that
pass the test implemented by `fn`. `fn` is applied lazily.

Array.prototype.filter for iterables.

```js
const {filter} = require('chimes')

let isEven = value => value % 2 === 0
let size = 5
let evenNumbers = filter(function* () {
  while(size--) yield size
}, isEven)

Array.from(evenNumbers) // [ 4, 2, 0 ]
```

**Parameters**

**iterable**: `Iterable`, Creates a new Iterator with all elements in the supplied `iterable` that
pass the test implemented by `fn`. `fn` is applied lazily.

**fn**: `function`, Will be invoked with: value, index & iteration object

**context**: `Mixed`, Optional. Value to use as this when executing `fn`.

**Returns**: `Iterator`

### every(iterable, fn, context)

Creates a new Iterator which tests whether all elements that have passed
through the iterator thus far pass the test implemented by `fn`.
`fn` is applied lazily.

Array.prototype.every for iterables.

```js
const {every} = require('chimes')

let isEven = value => value % 2 === 0
let size = 5
let allEven = every(new Set([2,4,6]), isEven)
let notAllEven = every(new Set([2,3,6]), isEven)

Array.from(allEven.next().value) // true
Array.from(notAllEven.next().value) // false
```

**Parameters**

**iterable**: `Iterable`, Creates a new Iterator which tests whether all elements that have passed
through the iterator thus far pass the test implemented by `fn`.
`fn` is applied lazily.

**fn**: `function`, Will be invoked with: value, index & iteration object

**context**: `Mixed`, Optional. Value to use as this when executing `fn`.

**Returns**: `Iterator`

### some(iterable, fn, context)

Creates a new Iterator which tests whether any elements that have passed
through the iterator thus far pass the test implemented by `fn`.
`fn` is applied lazily.

Array.prototype.some for iterables.

```js
const {some} = require('chimes')

let isEven = value => value % 2 === 0
let allEven = some(new Set([2,4,6]), isEven)
let someEven = some(new Set([2,3,6]), isEven)
let noneEven = some(new Set([1,3,5]), isEven)

Array.from(allEven.next().value) // true
Array.from(someEven.next().value) // true
Array.from(noneEven.next().value) // false
```

**Parameters**

**iterable**: `Iterable`, Creates a new Iterator which tests whether any elements that have passed
through the iterator thus far pass the test implemented by `fn`.
`fn` is applied lazily.

**fn**: `function`, Will be invoked with: value, index & iteration object

**context**: `Mixed`, Optional. Value to use as this when executing `fn`.

**Returns**: `Iterator`

### reduce(iterable, fn, initialValue)

Creates a new Iterator that lazily applies `fn` against an accumulator.
Each step of the iteration reduces it to a single value.

Array.prototype.reduce for iterables.

```js
const {reduce} = require('chimes')

let addNumbers = (init, value, i) => init + value
let total = reduce(new Set([1,2,3]), addNumbers, 0))
let otherTotal = reduce(new Set([1,2,3]), addNumbers, 1))

Array.from(total.next().value) // 6
Array.from(otherTotal.next().value) // 7
```

**Parameters**

**iterable**: `Iterable`, Creates a new Iterator that lazily applies `fn` against an accumulator.
Each step of the iteration reduces it to a single value.

**fn**: `function`, Will be invoked with: previousValue, currentValue, index & iteration object.

**initialValue**: `Mixed`, Optional. Object to use as the first argument to the first call of `fn`.

**Returns**: `Iterator`

### concat(iterable, )

Creates a new Iterator comprising of the first iterable joined with the second iterable.

Array.prototype.concat for iterables.

```js
const {concat} = require('chimes')

let set = new Set([1,2,3])
let array = [4,5,6]
let joined = concat(set, array)
for (let item in joined) {
  console.log(item)
}
// 1
// 2
// 3
// 4
// 5
// 6

```

**Parameters**

**iterable**: `Iterable`, Creates a new Iterator comprising of the first iterable joined with the second iterable.

**concat**: `Iterable`, Creates a new Iterator comprising of the first iterable joined with the second iterable.

Array.prototype.concat for iterables.

**Returns**: `Iterator`

### last(iterable)

Creates a new Iterator that simply contains the last element of `iterable`.

```js
const {last} = require('chimes')

for (let item in last(new Set([2,4,6]))) {
  console.log(item) // 6
}
```

**Parameters**

**iterable**: `Iterable`, Creates a new Iterator that simply contains the last element of `iterable`.

**Returns**: `Iterator`

### first(iterable)

Creates a new Iterator that simply contains the first element of `iterable`.

```js
const {first} = require('chimes')

for (let item in first(new Set([2,4,6]))) {
  console.log(item) // 2
}
```

**Parameters**

**iterable**: `Iterable`, Creates a new Iterator that simply contains the first element of `iterable`.

**Returns**: `Iterator`

* * *

# License

MIT

repository: timoxley/chimes

repo_name: timoxley/chimes


text:
# Timesheet-Filler
Ease the pain of logging your time in JIRA Timesheets

## Installation

Run following command to install `timeSHIT` module:

`pip install timeSHIT`

## How to run?
Create a `config.txt` file with following content:

<pre>{
    "jira_url": "http://<IP_ADDRESS>",
    "username": "[your_username]",
    "password": "[your_password]",
    "timesheet_jira_id": "ABCD-1",
    "hours_to_fill": "8",
    "minutes_to_fill": "0",
    "comment": "[your_comment]"
}</pre>

Now run following command in the directory where above `config.txt` is saved.

For Linux: `nohup python -m timeSHIT &`

### Note
Supports both Python 2.x and 3.x


text:
Table of Contents

1. Batch isssues with rna-seq data

1.1. Blocking and normal voom

1.2. Blocking and voom with weights

1.3. Omitting the "odd" samples

# Batch isssues with rna-seq data

The lack of clustering of the problematic samples is not trivial to
resolve. It might be that including batch effect would reduce the
issue, but it is certainly not certain that you will resolve the issue
due to this as therse data points is not forming any kind of coherent
group, but is found at two different places far from the "good"
samples. I would hence based on this pattern and the fact that it
corresponds to slightly lower RIN values consider omitting this
samples all together. Optimally I would however like to have other
data to back that exclusion.

So based on your analysis I decided to try to use a, for me not very
commonly applied, function from the limma package. The
voomWithQualityWeigths function is doing the same thing as limmas voom
function, but instead of only adding weights to genes it try to
estimates samples weights in an attempt to put less emphasis in
samples that globally have a different pattern. Since this is outside
my comfort zone I encourage you to read up on this in the limma manual
as well as the 2006 paper describing how to jointly weight both genes
and arrays in a linera model approach.

## Blocking and normal voom

This is basically the same as your DEseq2 analysis and blocks the
family effect. As with your analysis this analysis does not find any
significant genes between sat and lat after multiple correction.

    library(limma)
    library(edgeR)

Reads in your data and reformat data into a DGElist that are suitable
for de analysis. I also estimate normfactor to take library sizes
differences into account.

    bc <- read.table("brain-counts.txt", header = TRUE)
    meta <- read.table("brain-meta.txt", header = TRUE)

    meta$condition <- relevel(meta$condition, ref = "sat")
    meta$family <- as.factor(meta$family)
    mod <- model.matrix(~meta$family+meta$condition )

    y <- DGEList(counts = bc, genes = row.names(bc), group = meta$condition)
    y <- calcNormFactors(y)

Using voom to convert counts to log2 scale and also estimate a weight
for each gene that is later used in the lmFit function.

The summary shows that 0 genes are significant for the condition and
there seem to be large differences between between family 19 compared
to the rest which is due to the fact that this family have many
samples with low at the rinbatch factor, so it is likely to mostly
reflect this.

    # limma with blocking for family
    # Gives 0 significant genes for lat/sat
    y.voom <- voom(y, des = mod)
    fit.y <- lmFit(y.voom, des = mod)
    fit.y <- eBayes(fit.y)
    summary(dt.y <- decideTests(fit.y))
    topTable(fit.y, coef = 5)

       (Intercept) meta$family16 meta$family19 meta$family20 meta$conditionlat
    -1         135             0          2394             1                 0
    0         2703         20860         17075         20852             20861
    1        18023             1          1392             8                 0
                                    genes      logFC  AveExpr         t
    ENSDARG00000038213 ENSDARG00000038213 -0.2571926 4.477578 -3.874298
    ENSDARG00000024877 ENSDARG00000024877 -0.8697534 4.511426 -3.743882
    ENSDARG00000045367 ENSDARG00000045367  1.0291212 4.302541  3.644256
    ENSDARG00000102403 ENSDARG00000102403  0.3114920 5.825162  3.296172
    ENSDARG00000096904 ENSDARG00000096904 -0.5924871 3.541640 -3.561318
    ENSDARG00000069589 ENSDARG00000069589 -0.2506152 3.680434 -3.462826
    ENSDARG00000000796 ENSDARG00000000796 -0.5645205 3.964481 -3.378700
    ENSDARG00000101726 ENSDARG00000101726  0.6844830 3.870745  3.349761
    ENSDARG00000069498 ENSDARG00000069498  0.3885613 2.367423  3.957819
    ENSDARG00000077180 ENSDARG00000077180  0.2960716 3.999188  3.199637
                            P.Value adj.P.Val         B
    ENSDARG00000038213 0.0004176489 0.9999821 -2.585068
    ENSDARG00000024877 0.0006099773 0.9999821 -2.723873
    ENSDARG00000045367 0.0008121738 0.9999821 -2.906091
    ENSDARG00000102403 0.0021570005 0.9999821 -3.016529
    ENSDARG00000096904 0.0010285303 0.9999821 -3.075896
    ENSDARG00000069589 0.0013578367 0.9999821 -3.108228
    ENSDARG00000000796 0.0017171893 0.9999821 -3.137574
    ENSDARG00000101726 0.0018606281 0.9999821 -3.183842
    ENSDARG00000069498 0.0003269599 0.9999821 -3.242570
    ENSDARG00000077180 0.0028078243 0.9999821 -3.254578

## Blocking and voom with weights

In this section we have the same results, but with the alternative
voomWithWeights function. It alters things quite drastically, which
oftem makes me a bit worried as it moves us far from the raw
counts. Looking at the estimated weights it is basically downweighting
the samples that is far from the main cluster in the MDS plot. So the
samples from fam. 13 that in your MDS plot is forming a group clearly
sep. from the main cluster along axis 3 have estimated weights between
0.32, 0.16 and 0.18. The samples that are clearly sep. along the first
dimension have weights lower than 0.05 and there signal will hence
contribute much less to the inferred expression pattern.

Due to my limited experience with this, I would in your place still
focus my analysis on the samples that behaves as expected and omit the
rest. It is however somewhat re-assuring that among the 48 significant
genes with this approach, we find all genes that are significant in
the analysis where these samples are excluded, so the approach is not
interrupting this signal.

    y.voomW <- voomWithQualityWeights(y, des = mod)
    fit.yw <- lmFit(y.voomW, des = mod)
    fit.yw <- eBayes(fit.yw)
    summary(dt.yw <- decideTests(fit.yw))
    topTable(fit.yw, coef = 5)

       (Intercept) meta$family16 meta$family19 meta$family20 meta$conditionlat
    -1         448           970           188           331                23
    0         1613         19218         20518         20177             20813
    1        18800           673           155           353                25
                                    genes      logFC   AveExpr         t
    ENSDARG00000101726 ENSDARG00000101726  0.8742591 3.8707450  6.147013
    ENSDARG00000012499 ENSDARG00000012499  0.3504051 7.0847155  6.174131
    ENSDARG00000102403 ENSDARG00000102403  0.3327276 5.8251616  6.030203
    ENSDARG00000104818 ENSDARG00000104818  0.8157812 3.4364518  5.966072
    ENSDARG00000000212 ENSDARG00000000212 -1.5210869 0.9591816 -6.096417
    ENSDARG00000045367 ENSDARG00000045367  1.3598822 4.3025407  5.837156
    ENSDARG00000024877 ENSDARG00000024877 -1.0314416 4.5114261 -5.824597
    ENSDARG00000000796 ENSDARG00000000796 -0.7051283 3.9644808 -5.700994
    ENSDARG00000069262 ENSDARG00000069262  0.4843307 3.8443761  5.634835
    ENSDARG00000040536 ENSDARG00000040536 -0.7757342 2.2704160 -5.520455
                            P.Value   adj.P.Val        B
    ENSDARG00000101726 2.744277e-07 0.001676650 6.776055
    ENSDARG00000012499 2.511736e-07 0.001676650 6.759785
    ENSDARG00000102403 4.018624e-07 0.001676650 6.316085
    ENSDARG00000104818 4.954655e-07 0.001722651 6.212450
    ENSDARG00000000212 3.237266e-07 0.001676650 5.899153
    ENSDARG00000045367 7.546467e-07 0.002050142 5.796014
    ENSDARG00000024877 7.862106e-07 0.002050142 5.749124
    ENSDARG00000000796 1.176445e-06 0.002726868 5.380422
    ENSDARG00000069262 1.459386e-06 0.003044425 5.189759
    ENSDARG00000040536 2.117372e-06 0.004015500 4.768774

## Omitting the "odd" samples

Below I have done the same analysis as above, but I have omitted the
samples that are clustering outside the main cluster in the MDS. Doing
this reveals a small number of genes that are different between Sat
and Lat. For the sake of making my tests complete I also include
weights here and that increases the number of significant genes. The
later analysis reveals 2 genes that are not found among the
significant from weighted analysis of the complete data above, but
overall the patterns are largely the same.

    meta2 <- meta[meta$rinbatch !="low",]
    bc2 <- bc[,colnames(bc)%in%row.names(meta2)]
    meta2$condition <- relevel(meta2$condition, ref = "sat")
    meta2$family <- as.factor(meta2$family)
    mod2 <- model.matrix(~meta2$family+meta2$condition )

    y2 <- DGEList(counts = bc2, genes = row.names(bc2), group = meta2$condition)
    y2 <- calcNormFactors(y2)

    y.voom2 <- voom(y2, des = mod2)
    fit.y2 <- lmFit(y.voom2, des = mod2)
    fit.y2 <- eBayes(fit.y2)
    summary(dt.y2 <- decideTests(fit.y2))
    topTable(fit.y2, coef = 5)

       (Intercept) meta2$family16 meta2$family19 meta2$family20 meta2$conditionlat
    -1         398            750             40             63                  3
    0         1804          19736          20802          20733              20851
    1        18659            375             19             65                  7
                                    genes      logFC   AveExpr         t
    ENSDARG00000069262 ENSDARG00000069262  0.4581458 3.4395424  6.597473
    ENSDARG00000045768 ENSDARG00000045768  0.2958556 6.7019539  6.091893
    ENSDARG00000102403 ENSDARG00000102403  0.3503684 5.8042317  6.024707
    ENSDARG00000012499 ENSDARG00000012499  0.3615351 7.2026446  5.714886
    ENSDARG00000024877 ENSDARG00000024877 -1.1013067 4.2632573 -5.520183
    ENSDARG00000086933 ENSDARG00000086933  0.7217278 2.1742931  5.333333
    ENSDARG00000000212 ENSDARG00000000212 -1.5575497 0.6753062 -5.590954
    ENSDARG00000078567 ENSDARG00000078567  0.3229310 5.7934707  5.163730
    ENSDARG00000101726 ENSDARG00000101726  0.8265865 3.5768913  4.856424
    ENSDARG00000098899 ENSDARG00000098899 -0.6156610 4.6572151 -4.815047
                            P.Value   adj.P.Val        B
    ENSDARG00000069262 1.997158e-07 0.004166272 7.022350
    ENSDARG00000045768 8.497327e-07 0.007171621 5.752628
    ENSDARG00000102403 1.031344e-06 0.007171621 5.580309
    ENSDARG00000012499 2.526621e-06 0.011994120 4.692468
    ENSDARG00000024877 4.444638e-06 0.013245655 4.212869
    ENSDARG00000086933 7.647223e-06 0.019941090 3.464674
    ENSDARG00000000212 3.619347e-06 0.012583868 3.394976
    ENSDARG00000078567 1.251509e-05 0.029008596 3.183816
    ENSDARG00000101726 3.050809e-05 0.053035780 2.418071
    ENSDARG00000098899 3.438739e-05 0.055181184 2.275077

    y.voom22 <- voomWithQualityWeights(y2, des = mod2)
    fit.y22 <- lmFit(y.voom22, des = mod2)
    fit.y22 <- eBayes(fit.y22)
    summary(dt.y22 <- decideTests(fit.y22))
    topTable(fit.y22, coef = 5)

       (Intercept) meta2$family16 meta2$family19 meta2$family20 meta2$conditionlat
    -1         441           2118            163            508                 11
    0         1732          17395          20590          19954              20834
    1        18688           1348            108            399                 16
                                    genes      logFC   AveExpr         t
    ENSDARG00000069262 ENSDARG00000069262  0.4914066 3.4395424  7.275510
    ENSDARG00000012499 ENSDARG00000012499  0.3530555 7.2026446  6.372873
    ENSDARG00000102403 ENSDARG00000102403  0.3293710 5.8042317  5.865138
    ENSDARG00000086933 ENSDARG00000086933  0.7728629 2.1742931  5.896854
    ENSDARG00000070971 ENSDARG00000070971  0.4855436 6.0660989  5.823174
    ENSDARG00000045768 ENSDARG00000045768  0.2643559 6.7019539  5.689056
    ENSDARG00000101726 ENSDARG00000101726  0.8699100 3.5768913  5.537323
    ENSDARG00000104818 ENSDARG00000104818  0.8168754 3.1469681  5.454815
    ENSDARG00000000212 ENSDARG00000000212 -1.5529246 0.6753062 -5.679082
    ENSDARG00000078567 ENSDARG00000078567  0.2957581 5.7934707  5.388188
                            P.Value    adj.P.Val        B
    ENSDARG00000069262 2.717201e-08 0.0005668352 8.964528
    ENSDARG00000012499 3.553188e-07 0.0037061523 6.500055
    ENSDARG00000102403 1.550444e-06 0.0073106126 5.114299
    ENSDARG00000086933 1.413576e-06 0.0073106126 5.053914
    ENSDARG00000070971 1.752220e-06 0.0073106126 4.979699
    ENSDARG00000045768 2.591667e-06 0.0079518440 4.570791
    ENSDARG00000101726 4.037805e-06 0.0096445442 4.299145
    ENSDARG00000104818 5.139578e-06 0.0107216737 4.065371
    ENSDARG00000000212 2.668276e-06 0.0079518440 3.851922
    ENSDARG00000078567 6.245376e-06 0.0118440723 3.757336

repository: thokall/sc

repo_name: thokall/sc


text:
# helper-example [![NPM version](https://img.shields.io/npm/v/helper-example.svg)](https://www.npmjs.com/package/helper-example) [![Build Status](https://img.shields.io/travis/jonschlinkert/helper-example.svg)](https://travis-ci.org/jonschlinkert/helper-example)

> Opinionated template helper that inserts a code example from a filepath.

## Install

Install with [npm](https://www.npmjs.com/):

```sh
$ npm install helper-example --save
```

## Usage

Register the helper with `app` ([verb](https://github.com/verbose/verb), [assemble](https://github.com/assemble/assemble) or [templates](https://github.com/jonschlinkert/templates));

```js
app.helper('example', require('helper-example'));
```

To use the helper, pass the filepath of the code example to inject and the name of the module as the second argument:

```html
<%= example("examples/foo.js", "foo-bar-baz") %>
```

If the contents of `foo.js` is something like this:

```js
var app = require('./');

function foo(a, b, c) {
  //=> do stuff with a, b, and c
  return app(a, b, c);
}
foo('one', 'two', 'three');
```

The `require('./')` statement is converted to `require('helper-example')`:

```js
var app = require('helper-example');

function foo(a, b, c) {
  //=> do stuff with a, b, and c
  return app(a, b, c);
}
foo('one', 'two', 'three');
```

## Related projects

* [assemble](https://www.npmjs.com/package/assemble): Assemble is a powerful, extendable and easy to use static site generator for node.js. Used… [more](https://www.npmjs.com/package/assemble) | [homepage](https://github.com/assemble/assemble)
* [generate](https://www.npmjs.com/package/generate): Fast, composable, highly extendable project generator with a user-friendly and expressive API. | [homepage](https://github.com/generate/generate)
* [templates](https://www.npmjs.com/package/templates): System for creating and managing template collections, and rendering templates with any node.js template engine.… [more](https://www.npmjs.com/package/templates) | [homepage](https://github.com/jonschlinkert/templates)
* [update](https://www.npmjs.com/package/update): Easily keep anything in your project up-to-date by installing the updaters you want to use… [more](https://www.npmjs.com/package/update) | [homepage](https://github.com/update/update)
* [verb](https://www.npmjs.com/package/verb): Documentation generator for GitHub projects. Verb is extremely powerful, easy to use, and is used… [more](https://www.npmjs.com/package/verb) | [homepage](https://github.com/verbose/verb)

## Contributing

Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/helper-example/issues/new).

## Building docs

Generate readme and API documentation with [verb](https://github.com/verbose/verb):

```sh
$ npm install verb && npm run docs
```

Or, if [verb](https://github.com/verbose/verb) is installed globally:

```sh
$ verb
```

## Running tests

Install dev dependencies:

```sh
$ npm install -d && npm test
```

## Author

**Jon Schlinkert**

* [github/jonschlinkert](https://github.com/jonschlinkert)
* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)

## License

Copyright © 2016 [Jon Schlinkert](https://github.com/jonschlinkert)
Released under the [MIT license](https://github.com/jonschlinkert/helper-example/blob/master/LICENSE).

***

_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on February 26, 2016._

repository: helpers/helper-example

repo_name: helpers/helper-example


text:
# Regsitre de preuve data exploration

RPC Data exploration with jupyter notebook

## Python (3.10.6)

## Create virtualenv

You can use vscode python extension or

```bash
python3.10 -m venv .venv
```

## Use python virtual env

Vscode does this automatically with a new terminal
```bash
source ./.venv/bin/activate
```

## Exit python virtual env

```bash
deactivate
```

## Install requierements (with venv activated)
```bash
pip install -r requirements.txt
pip install -r requirements-dev.txt
```

## Install pre-commit hook to prevent sensitve data to be added to the repo

This will create a pre-commit hook in `.git` folder
```
pre-commit install
```

https://zhauniarovich.com/post/2020/2020-06-clearing-jupyter-output/

Please use untracked playground folder as much as possible for local analysis

repository: betagouv/preuve-covoiturage

branch_name: refs/heads/main

gha_language: TypeScript

repo_name: betagouv/preuve-covoiturage


text:
scala-aws-lambda-seed,g8
=========================

This is a seed project to create AWS Lambdas in Sala

## To create a new project run

```
sbt new yeghishe/scala-aws-lambda-seed.g8
```

## Overview

Once the project is generated you get few things out of the box:
* [Config](https://github.com/yeghishe/minimal-scala-akka-http-seed/blob/master/src/main/scala/io/github/yeghishe/Config.scala) is handled using [Ficus](https://github.com/ceedubs/ficus). Make sure to create your case classes for new config values you add in typesafe config. You can later mix in `Config` trait or import your values from `Config` object.
* [Scalafmt](https://github.com/olafurpg/scalafmt) is being used for code formatting.
* [Scalastyle](http://www.scalastyle.org/) is being used fro code style checking.
* [Scoverage](https://github.com/scoverage/sbt-scoverage) is being used for code coverage .
* [Sbt Assembly](https://github.com/sbt/sbt-assembly) is being used for packaging.
* [Sbt S3](https://github.com/sbt/sbt-s3) is being used for deployment to S3.


text:
## Kye Engine

The intention of this project is to be essentially a game engine for kye-like games, hopefully supporting custom theming and rules.

The key limitations of that engine are: - Nothing can move more than one square in any direction in a given tick.

repository: Telepathetic/Aisle

repo_name: Telepathetic/Aisle


text:
# Weight File Format
## General Structure
```
MAGIC_NUMBER
MODEL_NAME
NUM_LAYERS
LAYER_0_NAME
LAYER_0_OP_TYPE
LAYER_0_DATA
LAYER_1_NAME
LAYER_1_OP_TYPE
LAYER_1_DATA
...
LAYER_{NUM_LAYERS-1}_NAME
LAYER_{NUM_LAYERS-1}_OP_TYPE
LAYER_{NUM_LAYERS-1}_DATA
...
END_MARKER
```
## Structure of LAYER_X_DATA
```
if LAYER_X_OP_TYPE == "Conv":
    LAYER_X_KERNEL_HEIGHT
    LAYER_X_KERNEL_WIDTH
    LAYER_X_NUM_KERNELS
    LAYER_X_KERNEL_0[0:LAYER_X_KERNEL_HEIGHT x LAYER_X_KERNEL_WIDTH-1]
    LAYER_X_KERNEL_1[0:LAYER_X_KERNEL_HEIGHT x LAYER_X_KERNEL_WIDTH-1]
    LAYER_X_KERNEL_2[0:LAYER_X_KERNEL_HEIGHT x LAYER_X_KERNEL_WIDTH-1]
    ...
    LAYER_X_KERNEL_{LAYER_X_NUM_KERNELS-2}[0:LAYER_X_KERNEL_HEIGHT x LAYER_X_KERNEL_WIDTH-1]
    LAYER_X_KERNEL_{LAYER_X_NUM_KERNELS-1}[0:LAYER_X_KERNEL_HEIGHT x LAYER_X_KERNEL_WIDTH-1]
    LAYER_X_NUM_BIASES
    LAYER_X_BIAS[0:LAYER_0_NUM_BIASES-1]

if LAYER_X_OP_TYPE == "BatchNormalization":
    LAYER_X_NUM_GAMMA
    LAYER_X_GAMMAS[0:LAYER_X_NUM_GAMMA-1]
    LAYER_X_NUM_BETA
    LAYER_X_BETAS[0:LAYER_X_NUM_BETA-1]
    LAYER_X_NUM_MEAN
    LAYER_X_MEANS[0:LAYER_X_NUM_MEAN-1]
    LAYER_X_NUM_VARIANCE
    LAYER_X_VARIANCES[0:LAYER_X_NUM_VARIANCE-1]

if LAYER_X_OP_TYPE == ["Gemm"|"MatMul"|"Transpose"]:
    LAYER_X_KERNEL_HEIGHT
    LAYER_X_KERNEL_WIDTH
    LAYER_X_NUM_KERNELS
    LAYER_X_KERNEL_0[0:LAYER_X_KERNEL_HEIGHT x LAYER_X_KERNEL_WIDTH-1]
    LAYER_X_KERNEL_1[0:LAYER_X_KERNEL_HEIGHT x LAYER_X_KERNEL_WIDTH-1]
    LAYER_X_KERNEL_2[0:LAYER_X_KERNEL_HEIGHT x LAYER_X_KERNEL_WIDTH-1]
    ...
    LAYER_X_KERNEL_{LAYER_X_NUM_KERNELS-2}[0:LAYER_X_KERNEL_HEIGHT x LAYER_X_KERNEL_WIDTH-1]
    LAYER_X_KERNEL_{LAYER_X_NUM_KERNELS-1}[0:LAYER_X_KERNEL_HEIGHT x LAYER_X_KERNEL_WIDTH-1]
    LAYER_X_NUM_BIASES
    LAYER_X_BIAS[0:LAYER_0_NUM_BIASES-1]

if LAYER_X_OP_TYPE == "Add":
    LAYER_X_NUM_BIASES
    LAYER_X_BIAS[0:LAYER_0_NUM_BIASES-1]
```

## Example LeNet-5
```
FD
LeNet-5
4
C1
Conv
5
5
20
...
20
...
...
FC2
Gemm
10
500
1
...
10
...
end
```

repository: dataronio/pico-cnn

repo_name: dataronio/pico-cnn


text:
# Prodo

> A Laravel 5 Notification Package for detecting if debug is enabled in production.

## Installation

[PHP](https://php.net) 5.4+ , and [Composer](https://getcomposer.org) are required.

```
composer require "codingnninja/prodo @dev"

```

## How to use it?

```
You only need to add

{!! Prodo::is_debug_on() !!}

to a blade file that is used everywhere in your application such as the header.blade.php or app.blade.php (blade layout file).

Then paste

'is_debug_on' => true,

bellow debug in config/app.php,in laravel, any time you set debug to true.

```

## Love this?

Why not star the github repo? I'd love the attention! Why not share the link for this repository on Twitter or HackerNews? Spread the news!

Don't forget to [follow me on twitter](https://twitter.com/ayovision)!

Thanks!
Ayobami.

## License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

repository: codingnninja/prodo

repo_name: codingnninja/prodo


text:
# version-number-comparator [![Build Status](https://travis-ci.org/farbodsafaei/version-number-comparator.svg?branch=master)](https://travis-ci.org/farbodsafaei/version-number-comparator)  [![codecov](https://codecov.io/gh/farbodsafaei/version-number-comparator/branch/master/graph/badge.svg)](https://codecov.io/gh/farbodsafaei/version-number-comparator)  [![Codacy Badge](https://api.codacy.com/project/badge/Grade/d7be704fa75c4da0880171797070772b)](https://www.codacy.com/app/farbod-safaei/version-number-comparator?utm_source=github.com&utm_medium=referral&utm_content=farbodsafaei/version-number-comparator&utm_campaign=Badge_Grade)

A simple string comparator for comparing two given values representing software versions constructed by only numbers (0 to 9) and dots as separators. It compares two strings that are formatted in a typical software version format using only numbers and dots.
The comparator assumes only numeric versions are supplied, except for dot separators.
There is no limit in length of a string.

#### Some valid versioning examples
- 0.0.7
- <IP_ADDRESS>
- 6.9
- <IP_ADDRESS>.5

#### How to use
When sorting, just pass a comparator instance:
```java
List<String> list = new ArrayList<String>();
list.add("<IP_ADDRESS>");
list.add("1.0.2");
...
list.sort(new NumericalVersionComparator());
```
or just simply use the ```compare()``` method in ```NumericalVersionComparator``` as needed.

repository: farbodsafaei/version-number-comparator

gha_language: Java

repo_name: farbodsafaei/version-number-comparator


text:
## Notes for Week 3

By cloning the repository you can get a local version synhced with Github, where downloading will just give you a Zip file

R is the language (so is GIT), whereas RStudio is the GUI (graphical user interface) where R can be implemeted and used (Github is online interface)

Need to check the version of R and Rstudio constantaly to ensure that all the packages are compatibale and up to date as could form error messages

The platform that operates the system is the laptop (or computer i.e. the terminal) that you use i.e masosx mojavie 12344 etc

The course repository can be sorted out in R

- Clone repository
- File
- Create new project
- Version control
- Git
- Paste URL (keep name of fiel/repository the same)
- Clone to suitable folder
- Create project
- Finder, Find the folder
- it is possible to move about the files in the finder and organise it there
- choose suitable names for files, decide on grammar i.e caps or no caps, any abbbreviations (if everyone creates with slighly different names all the folders will be created as it sees them as different as it is case senistive)
- Go to Git tab in Rstudio then you will see newly created folders
- Read D in git tab means delete
- Question marks means something complex has happened, you can click on it and it will tell you what has happened i.e green A means added
- Make all changes along a themetic change i.e. chnage all of the things that are of a similar theme so you dont get confused anf the work is easy to keep track of
- commit push pull regualary as you go through the work to esnure that if there is an accident etc there is not a catastrophic loss of work
- Slect what folders and files what want to be committed
- Type in informative commit message to avoid confusion
- then commit the files, pull, push

Git doesnt recognise folders unless it has content within it

CAmelback is a method of naming files where there is no underscores e.g codeOfCodnuct (always start with lower case)(underscores is the other method)

DS store files are hidden files that os systems use to indicate what is in a folder (indexs files in a folder i.e. tracks whats in a folder) (need to put in gitignore)

Git has no way of tracking folders so when files are moved it sees it as a deletion in one area and addition in another area

In Rstudio Asterix means its a wildcard and no matter what file path there is if it ends in .example it will be ignored (gitignore)

Large files cannot be pushed i.e images, powerpoints etc

best practice is to try and keep the git window in Rstudio as clear as possible to ensure the workspace can easily be navigated

if files are commited to github online that are not wanted they can be deleted online

if Rproj files is deleted connected bwteen github and rstudio will be lost very important not too deleted

if you go to file, recent projects it will give you a list of all the recent projects you have been working on

All coding club tutorials should be uploaded to tutorial folder in personal github repository

Highlighting all the code then cmd + enter runs all the code whereas having your cursor anywhere on that line of code will just run that line of code

workspace is cleared in rstutio with broom icon

to make section headings in rstudio place 4 dashes or hastages after the comment written in the code, this allows you go between specific points in the code

good practice to have a license in a file to allow access to anyone and allow them to know to use your repository and if you want credited etc. basically tells people what they can and cannot do with your repository

creative commons license (images and more creative content) vs MIT (general coding, scripts and generations)

if a license is not put in you retain copyright rights and nobody can access your work/repository

keep issues on that one issue, then it will be closed if there is another unrelated question you can start your own new issue

object orienatated programmming

Object orientated programming languages

objects have names and attritubytes (description of what type of object)

functions are actions (doing things)

differences are when langausges are more focused on doing things (functionsal) or naming things (object)

names can be linked to the properties

to improve readablility of script use spaces around symbols to make it clearer

double equals means equals as one equals sign can be used to assign objects

Lots of different languagues each with their own benefits which need to be considered before use

R is good for data analysis and visualisation

TO DO

- check out troubleshooting tutorial
- Transfer across files to private reposiotry
- transfer across coding club work into new repository


text:
---
path: "/blog/project-nunicorn-alpha"
title: "Project Nunicorn Alpha"
subtitle: "Distributed DevOps"
author: "devon"
profilePic: "https://next-release-public-assets.s3.us-east-2.amazonaws.com/devon_profile_pic.png"
image: ../../src/images/blog/devops_team.png
date: 2020-07-13T18:33:46+10:00
---

## 15 Years of Centralized Continuous Integration

In February of 2005, Jenkins first made its debut and quickly
became the de facto continuous integration (CI) platform for developers.
Fast forward a few years and SaaS platforms such as TravisCI and CircleCI
started offering products that significantly reduced the effort required
to manage project configurations and brought easy scalability to growing
teams. The mass majority of development teams today have some centralized
continuous integration platform as the foundation for their continuous
deployment pipeline.

## Centralized DevOps Platform Flaws

As software teams have scaled and the tools we use to develop have
increased, our build environments have grown in complexity. Much of this
complexity is shielded wonderfully by the platforms we use. Still, it can
be seen in increased run times, expanding queues, and ballooning costs for
containers and execution cycles. These problems are exacerbated by the
increasing number of devices that teams are building software for. Mobile
devices, edge gateways, connected cars, gaming systems, and server
applications, to name a few. Each environment requiring unique setups and
configurations that shift month by month as new technologies are released
to help developers be more efficient within their domain.

Centralized platforms and developer operation teams struggle to keep up with
these changes. While the CI platforms add new features, it’s impossible to
add everything immediately in a cost-effective way. This leaves operation
teams stuck waiting on the platforms to adopt new technologies or forces
them back to managing sprawling Jenkins infrastructure. They have no
alternative validation methodology that provides the same level of
confidence that each audit and test has been executed and passed before
deploying the changes to production environments.

## Distributing DevOps Across Developers

Developers already need to have local environments set up to test what
they’re developing; there’s no need for a centralized system that duplicates
this environment. Developers already have powerful enough machines to run
their code on; there’s no need for a centralized platform to build and test
code. With docker and other virtualization technology, local environments
can already be made to mimic production environments, and operation teams
should already be assisting team members with making their local environments
as production-esque as possible.

So if we already all have production-like environments locally, why do we
need the centralized CI environment to run tests? Especially when we’re
already running inspections, tests, and other audits before pushing code
into the pipeline. This wastes CPU cycles, wastes resources, wastes time,
creates additional security threats, increases policy complexity, creates
single points of failure, and wastes people’s energy. The problem is we don’t
have a way to certify what actions have been taken by developers in their
local environments.

Someone could run the unit test suite multiple times locally, and the CI
environment will still run it. Another developer might run one set of tests
that certifies those tests pass, but the CI environment will still rerun
those tests when they are pushed. As a DevOps engineer, how do you know
what has already been done, and what needs to be completed prior to
deploying it to production? You can’t trust someone’s verbal commitment
that they ran all the tests. You can’t stand over everyone’s shoulder and
run the tests for them. This is why we’ve historically relied on a
centralized platform for a record of trust that everything that needs to
be run against the code, is run.

What if there was a way to log and certify what was executed locally on a
developer’s machine for a given version of code? This is what our distributed DevOps platform, Nunicorn, does. We define a protocol that allows you to log each action that is taken against a given variant of code and then use this information to query what has already happened to it.

We generate auditable records of validation actions taken by developers in
their local environment and allow DevOps engineers to define what needs to
be executed before pushing code.

This distributed approach lets organizations incentivize developers to
run more checks on their code locally and reduce strain on their
centralized CI platforms by having a percentage of the costs for executing
actions go to the developer. This, in turn, helps shift more responsibility
left, which also helps to promote learning by the developers of what types
of checks they should be running to produce the best code.

By taking this approach, developers can use the existing environments they
use locally to validate their code. DevOps engineers can focus on improving
efficiencies in team culture and adopting new technologies into local
development environments. And team members receive incentives for adopting
the new processes. By decentralizing where audits are executed, we’re able
to reduce the load on CI pipelines, increase build throughput, reduce or
remove single points of failure, and create an audit trail of everything that
has happened to facilitate a feature. The audit log, in turn, enables more
accurate measurement of the four key DevOps measurables:

-   Lead Time To Change
-   Deployment Frequency
-   Mean Time to Restore
-   Change Failure Rate

If you’d like to join the alpha, [contact us](https://www.nextrelease.io/contact) today and let us know what
solutions make up your DevOps toolchain.


text:
---
layout: docsplus
title: Random
section: language
---

The Random function is used to generate random numbers.

## random

The random function *takes a seed* and a range within which to generate the random number, remember to use a seed which makes sense from your input object [so that replayed data gets the same random number](../user-guide/philosophy.html#determinism).

The seed may be:
* a string, this is murmurhashed and fed in
* an integer, this is used to seed directly
* an object, this is serialized and murmurhashed

### generating a random number on the whole input
```
sample  = root.random()           # generates a random 64-bit integer seeded by the entire input object
sample1 = root.random(0, 100)     # generates a random integer between 0 and 100, seeded by the entire input
sample2 = root.random(0.0, 100.0) # generates a random float between 0.0 and 100.0, seeded by the entire input
```

### seeding with a couple fields
```
sample = (url + title).random(0, 100) # seed with two strings and range between 0 and 100
```

repository: IDML/idml

gha_language: Scala

repo_name: IDML/idml


text:
---
severity: Important
pillar: Security
category: Identity and access management
resource: Subscription
online version: https://azure.github.io/PSRule.Rules.Azure/en/rules/Azure.RBAC.UseGroups/
ms-content-id: 818cc242-5912-44b6-b3dc-461822079522
---

# Use groups

## SYNOPSIS

Use groups for assigning permissions instead of individual user accounts.

## DESCRIPTION

Granting access with individual user accounts can bypass existing on-premises identity management tools and processes.

## RECOMMENDATION

Consider using groups for assigning permissions instead of individual user accounts.

## LINKS

- [Avoid granular and custom permissions](https://learn.microsoft.com/azure/architecture/framework/security/design-admins#avoid-granular-and-custom-permissions)
- [What is Azure role-based access control (Azure RBAC)?](https://docs.microsoft.com/azure/role-based-access-control/overview)

gha_language: PowerShell


text:
# Docker-Compose ZSH plugin

Add an extra flavor to your ZSH prompt, displaying the machine's name (if isn't `default`) and status of different application
containers.

*`dev_test` the machine's name*

![Example of display](example-screenshot.png)

## Getting started

Download the plugin file [docker-compose.plugin.zsh](https://raw.githubusercontent.com/sroze/docker-compose-zsh-plugin/master/docker-compose.plugin.zsh) and move it to `~/.oh-my-zsh/plugins/docker-compose/docker-compose.plugin.zsh`. Then, add the given plugin in your `plugins` list in the `.zshrc` file:

```zsh
plugins=(git docker docker-compose)
```

Then, update the shell prompt of your theme. The default theme is `robbyrussell` so you can update the `PROMPT` variable in the file `~/.oh-my-zsh/themes/robbyrussell.zsh-theme`.

You have to add the `$(dock_status)% ` expression like in the following example:

```zsh
PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} %$(dock_status) % %{$reset_color%}'
```

repository: withfig/plugins

repo_name: withfig/plugins


text:
### PeakAddress
A tool for the processing of peaks of spectrums.
### Quick start

Download the files and set the appropriate work path.

The spectrum file is needed. The details of data format are referred in docs.
```
python PeakAddress.py spectrum_data.csv -o newData.csv
```
### Parameters

```
positional arguments:
  spectrum_data         Input original spectrum data

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        Output dir

Peak Recognition Threshold Arguments:
  -p PATH, --path PATH  The path of peak recognition (1)
  -t THRESHOLD, --threshold THRESHOLD
                        The rate of increase or decrease of the peak (400)
  -O OVERLAP_RATE, --overlap_rate OVERLAP_RATE
                        Reciprocal overlaps between peaks to be demixed (0.7)

Optimization Arguments:
  -b BASELINECORRECT, --baselinecorrect BASELINECORRECT
                        Whether correct the baseline of the raw data (False)
  -i INTERMEDIATE, --intermediate INTERMEDIATE
                        Whether output the intermediate peak location files
                        (False)
```

repository: cic-gmk/PeakAddress

repo_name: cic-gmk/PeakAddress


text:
# Examples for Android

[ ![Codeship Status for fritzlabs/fritz-sdk-android](https://app.codeship.com/projects/c74152e0-65d1-0136-2d69-32e87736c6c6/status?branch=master)](https://app.codeship.com/projects/297281)
[![Twitter](https://img.shields.io/badge/twitter-@fritzlabs-blue.svg?style=flat)](http://twitter.com/fritzlabs)

Fritz AI is the machine learning platform for iOS and Android developers. Teach your mobile apps to see, hear, sense, and think. [Sign up](https://www.fritz.ai/pricing/?utm_source=github&utm_campaign=fritz-examples) for a Fritz AI plan to see how you can include machine learning features in your app.

**Vision API: Prebuilt models that you can simply drop into your apps:**

- [Image Segmentation](https://www.fritz.ai/features/image-segmentation.html?utm_source=github&utm_campaign=fritz-examples): Create pixel level masks of different objects in a scene. ([code](HeartbeatDemoApp/app/src/main/java/ai/fritz/aistudio/activities/vision/ImageSegmentationActivity.java))
- [Image Labeling](https://www.fritz.ai/features/image-labeling.html?utm_source=github&utm_campaign=fritz-examples): Classify different objects in an video or image.([code](HeartbeatDemoApp/app/src/main/java/ai/fritz/aistudio/activities/vision/ImageLabelingActivity.java))
- [Pose Estimation](https://www.fritz.ai/features/pose-estimation.html?utm_source=github&utm_campaign=fritz-examples): Identify and track a person's body position.([code](HeartbeatDemoApp/app/src/main/java/ai/fritz/aistudio/activities/vision/PoseEstimationActivity.java))
- [Object Detection](https://www.fritz.ai/features/object-detection.html?utm_source=github&utm_campaign=fritz-examples): Detect multiple objects and track their location.([code](HeartbeatDemoApp/app/src/main/java/ai/fritz/aistudio/activities/vision/ObjectDetectionActivity.java))
- [Style Transfer](https://www.fritz.ai/features/style-transfer.html?utm_source=github&utm_campaign=fritz-examples): Transform photos and videos into artistic masterpieces.([code](HeartbeatDemoApp/app/src/main/java/ai/fritz/aistudio/activities/vision/StyleTransferActivity.java))

**Custom Models: Deploy, Monitor, and Update your own models:**

We currently support both TensorFlow Lite ([code](HeartbeatDemoApp/app/src/main/java/ai/fritz/aistudio/activities/custommodel/CustomTFLiteActivity.java)) and TensorFlow Mobile ([code]([HeartbeatDemoApp/app/src/main/java/ai/fritz/aistudio/activities/custommodel/CustomTFMobileActivity.java)) for Android.

- [Analytics and Monitoring](https://www.fritz.ai/features/analytics-monitoring.html?utm_source=github&utm_campaign=fritz-examples): Monitor machine learning models running on-device with Fritz.
- [Model Management](https://www.fritz.ai/features/model-management.html?utm_source=github&utm_campaign=fritz-examples): Iterate on your ML models over-the-air, without having to release your app.
- [Model Protection](https://www.fritz.ai/features/model-protection.html?utm_source=github&utm_campaign=fritz-examples): Use model protection to keep models from being tampered-with or stolen.

## Example Apps

If you are new to Fritz, it's recommended to get started with our Fritz AI Studio app. You can also install the latest version from the [Google Play Store](https://play.google.com/store/apps/details?id=ai.fritz.heartbeat&hl=en_US):

- Fritz AI Studio App - Our kitchen sink project showcases all on-device Vision APIs and Custom Model usage.
- Camera Boilerplate App - Our lightweight camera app to quickly get started implementing features with the camera.
- Background Replacement App [People Segmentation] - An example app to replace the background of portraits ([tutorial](https://heartbeat.fritz.ai/image-segmentation-for-android-smart-background-replacement-with-fritz-a09d8b0592a4)).
- Sky Animation App [Sky Segmentation] - A simple photo app that replaces the sky with an animation. (Tutorial coming soon)
- Hair Coloring App [Hair Segmentation] - An example app to replace a user's hair color ([tutorial](https://heartbeat.fritz.ai/embrace-your-new-look-with-hair-segmentation-by-fritz-now-available-for-android-developers-f20f5b4e9ae1)).
- Pet Monitoring App [Object Detection] - An example app to track dogs and cats with the camera ([tutorial](https://medium.freecodecamp.org/a-guide-to-object-detection-with-fritz-build-a-pet-monitoring-app-in-android-with-machine-learning-a8ed500978e5)).
- Pet Sticker App [Pose Estimation] - Create a sticker from photos of your pets. (Tutorial coming soon)
- Pose Estimation App [Pose Estimation] - Track body movements and position with Pose Estimation ([tutorial](https://heartbeat.fritz.ai/pose-estimation-on-android-with-fritz-474e646dfede?utm_source=github&utm_campaign=fritz-examples)).

## Latest SDK version

- Fritz Android SDK 3.3.1

## Official Documentation

[SDK Documentation](https://docs.fritz.ai/?utm_source=github&utm_campaign=fritz-examples)

[Android API Docs](https://docs.fritz.ai/android/latest/index.html?utm_source=github&utm_campaign=fritz-examples)

## Join the community

[Heartbeat](https://heartbeat.fritz.ai/?utm_source=github&utm_campaign=fritz-examples) is a community of developers interested in the intersection of mobile and machine learning. [Chat with us in Slack](https://fritz.ai/slack?utm_source=github&utm_campaign=fritz-examples) and stay up to date on the latest mobile ML news with our [Newsletter](https://www.fritz.ai/newsletter?utm_source=github&utm_campaign=fritz-examples).

## Help

For any questions or issues, you can:

- Submit an issue on this repo
- Go to [Support](https://support.fritz.ai/?utm_source=github&utm_campaign=fritz-examples)
- Message us directly in [Slack](https://fritz.ai/slack?utm_source=github&utm_campaign=fritz-examples)

repository: fritzlabs/fritz-examples

repo_name: fritzlabs/fritz-examples


text:
# type: weekly task trigger

Weekly triggers are used by the Task Scheduler to launch a task at a specific time of day on a weekly schedule, such as 9:00 PM every other Friday.

# days run of <weekly task trigger> : day of week

Returns a day of week corresponding to the days that a task will run given the specified weekly task trigger.

# random delay of <weekly task trigger> : time interval

Returns a delay time that is randomly added to the start time of the specified weekly task trigger.

# weeks interval of <weekly task trigger> : time interval

Returns the interval between the weeks in the schedule provided by the specified weekly task trigger.

gha_language: JavaScript


text:
Vorbisenc.js
=========
JavaScript Ogg Vorbis encoder.

This is a JavaScript Ogg Vorbis encoder. It has been built using Emscripten. It runs in a browser environment as a web worker.

This project may be built by executing build.sh. This builds Ogg, Vorbis and the root project. This script has only been tested in a Linux environment. It should also work on other *nix systems.

Workflow
---

1. Create the worker.

    ```javascript
    var worker = new Worker("/path/to/worker.js");
    ```

2. Start the worker. The given buffer size determines when the worker will respond with data. If set to 0, worker will respond with an encoded buffer for every input buffer. If set to a larger value, worker will respond every time the buffer gets full. The buffer size is limited but may be adjusted, see TOTAL_MEMORY emcc parameter.

    ```javascript
    // sampleRate : The sampling rate of the source audio
    // quality    : Desired quality level, from -0.1 to 1.0 (lo to hi)
    // bufferSize : Internal encoded buffer size, in bytes from 0 to N
    worker.postMessage({
        "cmd"  : "start",
        "args" : [sampleRate,quality,bufferSize]
    });
    ```

3. Wait for a "started" message from the worker. This is necessary because, internally, an initialization procedure takes place and because workers run in their own threads.

    ```javascript
    worker.onmessage = function(e) {
        switch(e.data.message) {
            case "started":
                // Do stuff
            break;
        }
    }
    ```

4. Send data as it becomes available. Currently, only two channels are supported.

    ```javascript
    // inputBufferLeft  : left channel, non-interleaved floating point samples
    // inputBufferRight : right channel, non-interleaved floating point samples
    worker.postMessage({
        "cmd"  : "write",
        "args" : [inputBufferLeft,inputBufferRight]
    });
    ```

5. Receive encoded data as it becomes available. Data is a Uint8Array, an array of 8-bit unsigned integers.

    ```javascript
    worker.onmessage = function(e) {
        switch(e.data.message) {
            case "buffer":
                // Come up with a better name
                var buffer = e.data.data;
            break;
        }
    }
    ```

6. Stop the encoder when done.

    ```javascript
    worker.postMessage({ "cmd" : "finish" });
    ```

7. Wait for a finished message. Note that, between this step and the previous one, you may receive more output buffers.

    ```javascript
    worker.onmessage = function(e) {
        switch(e.data.message) {
            case "finished":
                // Do stuff
            break;
        }
    }
    ```

8. Worker may be reused. Go back to step 1 if necessary.

To Do
---
* Minify & optimize. Currently, the generated JavaScript is almost 3 megabytes.
* Currently, during my own testing, the encoded audio has some artifacts. Figure out what the issue is.
* Add an example.
* Document/remove node_encoder_example.js, a Node.js encoding command line utility. An initial sample project.

Credits
---
* Myself, Mateusz Wielgos.
* [halfvector] here on GitHub - most of the C/C++ code was taken from his [jist].
* [ogv.js] and its forks - help with build script.

License
---
BSD

[jist]:https://gist.github.com/halfvector/9105335#file-ogg-vorbis-encoder-cpp
[halfvector]:https://github.com/halfvector
[ogv.js]:https://github.com/brion/ogv.js/tree/master


text:
## Mirrors

Hex packages, the registry and other files are by distributed (mirrored) in various locations. The choice of mirror can be customized in Hex clients.

_Note_: By default, Fastly is used to deliver the files. Fastly distributes files geographically for low latency and fast downloads.

### Usage

To permanently select a mirror, simply run the following command in a shell session.

**Mix Example**: `$ mix hex.config mirror_url https://repo.hex.pm`

**Rebar3 Example**: Add to the global or a project's top level `rebar.config`, `{rebar_packages_cdn, "https://repo.hex.pm"}.`. For more information see rebar3's package support and configuration [documentation](https://rebar3.org/docs/configuration/dependencies/).

To temporarily select a mirror, Hex commands can be prefixed with an environment variable in the shell.

**Mix Example**: `$ HEX_MIRROR=https://repo.hex.pm mix deps.get`

**Rebar3 Example**: `$ HEX_CDN=https://repo.hex.pm rebar3 update`

### Available mirrors

| Provider | Location | URL | Official? |
| -------- | -------- | --- | --------- |
| Fastly   | Geographically distributed [*](https://www.fastly.com/network-map) | [https://repo.hex.pm](https://repo.hex.pm) | Yes |
| jsDelivr | Geographically distributed [*](http://www.jsdelivr.com/features/network-map) | [https://cdn.jsdelivr.net/hex](https://cdn.jsdelivr.net/hex) | No |
| UPYUN    | China    | [https://hexpm.upyun.com](https://hexpm.upyun.com) | No |
{: .table .table-striped}

repository: hexpm/hexpm

gha_language: Elixir

repo_name: hexpm/hexpm