text:
Every presentation needs this slide in it.

(Laughter)

It's beautiful, isn't it?
Do you see?
All the points, all the lines --
it's incredible.
It is the network;
and in my case, the network has been important in media,
because I get to connect to people.
Isn't it amazing?
Through that, I connect to people.
And the way that I've been doing it
has been multifaceted.
For example, I get people to dress up their vacuum cleaners.

(Laughter)

I put together projects like Earth Sandwich,
where I ask people
to try and simultaneously place
two pieces of bread
perfectly opposite each other on the Earth.
And people started laying bread in tribute,
and eventually a team was able to do it
between New Zealand and Spain.
It's pretty incredible -- the video's online.
Connecting to people in projects
like YoungmeNowme for example.
In YoungmeNowme, the audience was asked
to find a childhood photograph of themselves
and restage it as an adult.

(Laughter)

This is the same person --
top photo, James, bottom photo, [Jennifer].
Poignant.
This was a Mother's Day gift.

(Laughter)

Particularly creepy.

(Applause)

(Laughter)

My favorite of these photos, which I couldn't find,
is there's a picture of a 30 year-old woman or so
with a little baby on her lap,
and the next photo is a 220-lb man
with a tiny, little old lady peaking over his shoulder.
But this project changed the way
that I thought about connecting to people.
This is project called Ray.
And what happened was I was sent this piece of audio
and had no idea who generated the audio.
Somebody said, "You have to listen to this."
And this is what came to me.

Recording: Hi, my name is Ray,
and on yesterday my daughter called me
because she was stressed out
because of things that were going on on her job
that she felt was quite unfair.
Being quite disturbed, she called for comfort,
and I didn't really know what to tell her,
because we have to deal with so much mess in our society.
So I was led to write this song just for her,
just to give her some encouragement
while dealing with stress and pressures on her job.
And I figured I'd put it on the Internet
for all employees under stress
to help you better deal with what you're going through on your job.

And let it give you some strength to get the next few moments on your job.
All right. Stay strong. Peace.

Ze Frank: So -- yeah.
No, no, no, shush. We've got to go quickly.
So I was so moved by this --
this is incredible. This was connecting, right.
This was, at a distance,
realizing that someone was feeling something,
wanting to affect them in a particular way,
using media to do it, putting it online
and realizing that there was a greater impact.
This was incredible; this is what I wanted to do.
So the first thing I thought of is we have to thank him.
And I asked my audience, I said, "Listen to this piece of audio.
We have to remix it. He's got a great voice.
It's actually in the key of B flat.
And have to do something with it."
Hundreds of remixes came back -- lots of different attempts.
One stood out in particular.
It was done by a guy named Goose.

That song --
(Applause)
 Thank you.
So that song, somebody told me that it was at a baseball game
in Kansas City.
In the end,
it was one of the top downloads
on a whole bunch of music streaming services.
And so I said, "Let's put this together in an album."
And the audience came together, and they designed an album cover.

In two weeks, they found him.
I received and email and it said,
"Hi, I'm Ray.
I heard you were looking for me."

(Laughter)

And I was like, "Yeah, Ray.
It's been an interesting two weeks."
And so I flew to St. Louis
and met Ray,
and he's a preacher --

(Laughter)

among other things.
So but anyways, here's the thing --
is it reminds me of this,
which is a sign that you see in Amsterdam on every street corner.
And it's sort of a metaphor for me for the virtual world.
I look at this photo, and he seems really interested
in what's going on with that button,
but it doesn't seem like he is really that interested in crossing the street.

(Laughter)

And it makes me think of this.
On street corners everywhere, people are looking at their cell phones,
and it's easy to dismiss this
as some sort of bad trend
in human culture.
But the truth is
life is being lived there.
When they smile --
right, you've seen people stop --
all of a sudden, life is being lived there,
somewhere up in that weird, dense network.
And this is it, right, to feel and be felt.
It's the fundamental force
that we're all after.
We can build all sorts of environments
to make it a little bit easier,
but ultimately, what we're trying to do
is really connect with one other person.
And that's not always going to happen in physical spaces.
It's also going to now happen in virtual spaces,
and we have to get better at figuring that out.
I think, of the people that build all this technology in the network,
a lot of them aren't very good
at connecting with people.
This is kind of like something I used to do
in third grade.

(Laughter)

So here's a series of projects
over the last few years
where I've been inspired by trying to figure out
how to really facilitate close connection.
Sometimes they're very, very simple things.
A Childhood Walk, which is a project
where I ask people to remember a walk
that they used to take as a child over and over again
that was sort of meaningless --
like on the route to the bus stop, to a neighbor's house,
and take it inside of Google Streetview.

And I collected those moments --
the photos inside Google Streetview
and the memories, specifically.
"Our conversation started with me saying, 'I'm bored,'
and her replying, 'When I'm bored I eat pretzels.'
I remember this distinctly because it came up a lot."
"Right after he told me and my brother
he was going to be separating from my mom,
I remember walking to a convenience store
and getting a cherry cola."
"They used some of the morbidly artist footage,
a close-up of Chad's shoes in the middle of the highway.
I guess the shoes came off when he was hit.
He slept over at my house once, and he left his pillow.
It had 'Chad' written in magic marker on it.
He died long after he left the pillow at my house,
but we never got around to returning it."
Sometimes they're a little bit more abstract.
This is Pain Pack.
Right after September 11th, last year,
I was thinking about pain and the way that we disperse it,
the way that we excise it from our bodies.
So what I did is I opened up a hotline --
a hotline where people could leave voicemails of their pain,
not necessarily related to that event.
And people called in and left messages like this.

Recording: Okay, here's something.
I'm not alone,
and I am loved.
I'm really fortunate.
But sometimes I feel really lonely.
And when I feel that way
even the smallest act of kindness
can make me cry.
Like even people in convenience stores
saying, "Have a nice day,"
when they're accidentally looking me in the eye.

ZF: So what I did was I took those voicemails,
and with their permission, converted them to MP3s
and distributed them to sound editors
who created short sounds
using just those voicemails.
And those were then distributed to DJs
who have made hundreds of songs
using that source material.
(Music)
We don't have time to play much of it.
You can look at it online.
"From 52 to 48 with love"
was a project around the time of the last election cycle,
where McCain and Obama both,
in their speeches after the election, talked about reconciliation,
and I was like, "What the hell
does that look like?"
So I thought, "Well let's just give it a try.
Let's have people hold up signs about reconciliation."
And so some really nice things came together.
"I voted blue. I voted red.
Together, for our future."
These are very, very cute little things right.
Some came from the winning party.
"Dear 48, I promise to listen to you, to fight for you, to respect you always."
Some came from the party who had just lost.
"From a 48 to a 52, may your party's leadership be as classy as you,
but I doubt it."
But the truth was that as this start becoming popular,
a couple rightwing blogs and some message boards
apparently found it to be a little patronizing,
which I could also see.
And so I started getting amazing amounts of hate mail,
death threats even.
And one guy in particular kept on writing me these pretty awful messages,
and he was dressed as Batman.
And he said, "I'm dressed as Batman to hide my identity."
Just in case I thought the real Batman
was coming after me;
which actually made me feel a little better --
like, "Phew, it's not him."
So what I did --
unfortunately, I was harboring all this kind of
awful experience and this pain inside of me,
and it started to eat away at my psyche.
And I was protecting the project from it, I realized. I was protecting it --
I didn't want this special, little group of photographs
to get sullied in some way.
So what I did, I took all those emails,
and I put them together into something called Angrigami,
which was an origami template
made out of this sort of vile stuff.
And I asked people to send me beautiful things
made out of the Angrigami.

(Laughter)

But this was the emotional moment.

It's amazing.
The last thing I'm going to tell you about is a series of projects
called Songs You Already Know,
where the idea was,
I was trying to figure out to address
particular kinds of emotions with group projects.
So one of them was fairly straightforward.
A guy said that his daughter got scared at night
and could I write a song for her, his daughter.
And I said, "Oh yeah,
I'll try to write a mantra that she can sing to herself
to help herself go to sleep."
And this was "Scared."
(Video) ♫ This is a song that I sing when I'm scared of something ♫
♫ I don't know why but it helps me get over it ♫
♫ The words of the song just move me along ♫
♫ And somehow I get over it ♫
♫ At least I don't suck at life ♫
♫ I keep on trying despite ♫
♫ At least I don't suck at life ♫
♫ I keep on trying despite ♫
♫ This is a song that I sing when I'm scared of something ♫
Okay, so I wrote that song, right. Thank you.
So the nice thing was is he walked by his daughter's room at some point,
and she actually was singing that song to herself.
So I was like, "Awesome. This is great."
And then I got this email. And there's a little bit of a back story to this.
And I don't have much time.
But the idea was that at one point
I did a project called Facebook Me Equals You,
where I wanted to experience what it was like
to live as another person.
So I asked for people's usernames and passwords to be sent to me.
And I got a lot, like 30 in a half an hour.
And I shut that part down.
And I chose two people to be,
and I asked them to send me descriptions
of how to act as them on Facebook.
One person sent me a very detailed description;
the other person didn't.
And the person who didn't, it turned out,
had just moved to a new city and taken on a new job.
So, you know, people were writing me and saying, "How's your new job?"
I was like, "I don't know.
Didn't know I had one."
But anyway, this same person, Laura,
ended up emailing me a little bit after that project.
And I felt badly for not having done a good job.
And she said, "I'm really anxious, I just moved to a new town, I have this new job,
and I've just had this incredible amount of anxiety."
So she had seen the "Scared" song and wondered if I could do something.
So I asked her, "What does it feel like when you feel this way?"
And she wrote a sort of descriptive set
of what it felt like to have had this anxiety.
And so what I decided to do.
I said, "Okay, I'll think about it."
And so quietly in the background, I started sending people this.
(Audio) ♫ Hey ♫
♫ You're okay ♫
♫ You'll be fine ♫
So I asked people
whether they had basic audio capabilities,
just so they could sing along to the song with headphones on,
so I could just get their voices back.
And this is the kind of thing that I got back.

Recording: ♫ Hey ♫
♫ You're okay ♫
♫ You'll be fine ♫

ZF: So that's one of the better ones, really.
But what's awesome is, as I started getting more and more and more of them,
all of a sudden I had 30, 40 voices from around the world.
And when you put them together, something magical happens,
something absolutely incredible happens,
and all of a sudden I get a chorus from around the world.
And what was really great is, I'm putting all this work together in the background,
and Laura sent me a follow-up email because a good month had passed by.
And she said, "I know you've forgotten about me.
I just want to say thanks for even considering it."
And then a few days later I sent her this.

(Applause)

repository: prewittdavon/TEDVis

gha_language: Python

repo_name: prewittdavon/TEDVis


text:
# [Find and Replace](https://github.com/thierryc/Sketch-Find-And-Replace/) for Sketch

![Find and Replace for Sketch](https://raw.githubusercontent.com/thierryc/Sketch-Find-And-Replace/master/assets/icon.png)

## V2 is ready for Sketch 53, 54...

[Folow me on twitter](https://twitter.com/@Autre_planete) to be posted.

For Sketch 52 and previous use the V1.

## How to

Finds text in selected layer(s) and all layers contained within - and replaces it with different text. Features partial, case sensitive and full-document matching.

Now works with symbol overrides. 🎉

Find and Replace [Sketch Plugin source code](https://github.com/thierryc/Sketch-Find-And-Replace/) on github

![Find and Replace dialog](https://raw.githubusercontent.com/thierryc/Sketch-Find-And-Replace/master/Screenshots/screenshot.png)

## Installation

Download and unzip, then double-click on the `Find and Replace.sketchplugin` file.
Sketch will copy it to the plugins folder and install it automatically.

## Update > 1.6

Use Sketch Automatic Update (Sketch 45+).

## Usage
**Menu** - You can access it from the menu **Plugins → Find and Replace**
**Keyboard** - Alternatively, use the keyboard shortcut **cmd + shift + f**

**Complex documents** - If you have an extremely complex document, and set the scope to the entire document, it might take a few seconds longer to process it all. Don't panic if you get a beach ball, it hasn't crashed Sketch, it just has to go through every layer in every artboard in every page and do a comparison.

## Options

### Search scope
How much of your document it will actually search

* If you have selected layers to search in, then **Selected layers** will be chosen automatically.
* You can also choose to search all layers in the **Current page**
* Or you can search the **Whole document** and it will search every layer in every artboard in every page of your document.

### Case matching
Whether it matches exactly as you typed or not

**Case insensitive** by default ("john" will match "John")

**Case sensitive** it will match exactly as you typed it ("john" won't match "John").

### Match whole words or phrases only

Whether it matches whole or partial words

**Yes** (default) will match whole words ("oh" will not match "John")

**No** will match partial words ("oh" will match "John", if you wanted to change him to "Joan" for example)

## Other features

**Remembers your settings** - Remembers your settings for next time you do a find/replace (doesn't remember find/replace/scope as these will change each time)

## Regex new feature

Get the Regex Power ! ⚡

### "John Smith" to "Smith John"

Find
```
(\w+)\s+(\w+)
```

Replace with
```
$2 $1
```

Result: Smith John.

#### Replace all double spaces

Find
```
\s{2,}

```

Replace with
```
(one space)

```

Follow me on twitter for more tips.

https://twitter.com/Autre_planete

## Issues or ideas

If you have any problems, or ideas, please open an issue!

### Credits and Thanks

V1 Created by [Martin Steven - @mscodemonkey](https://github.com/mscodemonkey) - Thank you Martin.

V2 Created by [Thierry Charbonnel - @thierryc](https://anotherplanet.io).

V1 and V2 Maintained and improved by [Thierry Charbonnel - @thierryc](https://anotherplanet.io).

Thanks to [Aby Nimbalkar - @abynim](https://github.com/abynim) - for the SketchPlugin-Remember code to save user settings.

Thanks to [Autre Planete - @thierryc](https://github.com/thierryc) - for writing the code to change text within symbol overrides.

Thanks to [Vincenzo Petito - @vincenzopetito](https://github.com/vincenzopetito) - for code within [Shapr](https://github.com/vincenzopetito/Shapr) showing how to focus the text field on start and tabbing between input fields found within the dialog.

Thanks to [Sean Dellis - @seandellis](https://github.com/seandellis) - for his help, test sketch doc and issues review.

Thanks to [@iconmaster](https://github.com/iconmaster) - for his test.

### Disclaimer

I take no responsibility for what you find and replace, or for any changes made unintentionally due to this software erroring. I do test it before I release it so the chances of bugs are minimised, but still, use wisely and completely at your own risk. Remember, cmd-z is your saviour.*

[![Install PLUGIN NAME with Sketchpacks](http://sketchpacks-com.s3.amazonaws.com/assets/badges/sketchpacks-badge-install.png "Install PLUGIN NAME with Sketchpacks")](https://sketchpacks.com/YOUR_NAME/PLUGIN_NAME/install)

repository: thierryc/Sketch-Find-And-Replace

branch_name: refs/heads/master

extension: md

gha_language: JavaScript

license_type: permissive

repo_name: thierryc/Sketch-Find-And-Replace


text:
---
title: Taking Notes Between Linux and Windows
date: 2016-12-24T08:23:03+00:00
author: gerryw1389
layout: single
classes: wide
permalink: /2016/12/taking-notes-between-linux-and-windows/
categories:
  - Linux
tags:
  - Tweaks
---
<!--more-->

### Description:

Saving notes between Linux and Windows can be done easily through a client such as Google Drive installed on both machines, Shared Folders through Virtual Box, or a number of methods. I found the easiest to be to just save to Google Docs.

### To Resolve:

1. Create blah.txt on desktop, paste in:

   ```shell
   #!/usr/bin/env xdg-open
   [Desktop Entry]
   Version=1.0
   Encoding=UTF-8
   Name=Firefox Web Browser
   Exec=firefox %u -new-tab https://docs.google.com/document/your/link/here
   Icon=firefox
   Terminal=false
   Type=Application
   StartupWMClass=Firefox-bin
   MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;
   StartupNotify=true
   X-Desktop-File-Install-Version=0.15
   Categories=Network;WebBrowser;
   ```

1. Save as => Firefox.desktop

license: MIT

branch_name: refs/heads/main


text:
---
cip: 82
title: StreamID json-schema definition
author: Paul Le Cam (@PaulLeCam)
discussions-to: https://github.com/ceramicnetwork/CIP/issues/82
status: Draft
category: Standards
type: RFC
created: 2021-02-15
edited: 2021-07-02
requires: [CIP-88](https://github.com/ceramicnetwork/CIP/issues/88)
---

## Simple Summary

Provide a static way to define a string in a JSON schema represents a Ceramic StreamID, optionally with static references to the schema(s) that must be used by the referenced stream.

## Abstract

This CIP defines a standard way to add a reference to an existing Ceramic stream in a JSON schema and references to existing JSON schemas, so it is possible to access this information about Ceramic streams at build time rather than only at runtime on created streams.

## Motivation

It is sometimes necessary to reference Ceramic streams from other streams, such as a list containing the streamIDs of individual Ceramic streams.
Currently, we are sometimes using definitions that can be referenced in a schema using `"$ref": "#/definitions/CeramicDocId"` for example, but this has not be defined as a standard.
Using local definitions to a schema also has the downside of providing no guaranty of being unique or having the definition matching any standard.

Furthermore, IDX definitions contain a `schema` property that references an existing schema, guarantying the IDX record associated to the definition matches this schema.
This CIP provides a way to implement similar logic for any schema independently of IDX.

Using this CIP, a `NotesList` schema could explicitly reference a `Note` schema with the following example:

```
{
  $schema: 'http://json-schema.org/draft-07/schema#',
  title: 'Notes',
  type: 'object',
  properties: {
    notes: {
      type: 'array',
      title: 'list',
      items: {
        type: 'object',
        title: 'item',
        properties: {
          note: { $ref: '#/definitions/NoteDocID' },
          title: {
            type: 'string',
            maxLength: 100,
          },
        },
        required: ['note'],
      },
    },
  },
  definitions: {
    NoteDocID: {
      type: 'string',
      maxLength: 150,
      $comment: 'cip88:ref:<Note schema streamID>',
    },
  },
}
```

This way, by loading the `Notes` schema, it is possible by a tool/library to discover the `Note` schema the same way loading a IDX definition allows the discovery of the record's schema.

## Specification

References to Ceramic schema should use a `string` with the `$comment` field using the `cip88:ref` type, and optionally with a schema string of the StreamID (implicit reference to latest version) or CommitID (specific version) of the supported schema(s).
Multiple schemas can be provided, using the `|` character as separator.

```js
{
  type: 'string',
  maxLength: 150,
  $comment: 'cip88:ref:<Note schema streamID>',
}
```

## Rationale

This CIP uses the `$comment` field as defined in [CIP-88](https://github.com/ceramicnetwork/CIP/blob/main/CIPs/CIP-88/CIP-88.md).

This spec allows to either define a single schema or multiple ones sparated by the `|` character.
The use case would be to support different schemas for a single reference, for example a "media" schema could reference an "image" schema, but also the "audio" and "video" ones as acceptable document schemas: `$comment: 'cip88:ref:<image schema docID>|<audio schema docID>|<video schema docID>'`.

## Backwards Compatibility

Ideally we should replace the use of the `CeramicDocId` definition in IDX schemas we provide, as well as examples and tutorials.

## Implementation

None yet.

## Security Considerations

None I'm aware of.

## Copyright

Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).

repository: ukstv/CIP

repo_name: ukstv/CIP


text:
# Start Stay Grow Marketing Site

## Getting Started
This project is using Jekyll and github pages for hosting. First install gem dependencies by running:

```
gem install bundler
bundle install
```

Next, start the server by running:

```
jekyll serve -w
```

The website should now be running at http://localhost:4000. To make changes simply push up to the master branch.

gha_language: CSS


text:
## TC-13: Configuring a database in Superset

   Use case ID

   TC-13

   Use case name

   Configuring a database in Superset

   Actors

Business Analyst

Business Leader

   Trigger

Visualize results coming from a new database

Visualize results for the first time

   Short Description

   The FADI platform enables to visualize the results of the data analysis and to export these results in reports. In this context, the Superset tool is used. The first thing to do is to link Superset to a data source.

   Pre-Conditions

The actor knows either the URL address or the command to access to the Superset service

The actor knows the credentials to connect to the Superset service

The actor knows the credentials of the database (i.e. the database name, SQLAlchemy URI)

   Post-Conditions

The database is linked to the Superset

   Steps

   1

   Access to the Superset service

   2

   Authenticate to the Superset service

   3

   Create a new database by entering the following information:

the Database and the SQLAlchemy URI

   4

   Confirm the creation by clicking on the “Test Connection” button to check the connection to the database

   Exceptions

Error in the entered information

The connection to the database failed

   Frequency

Every time an actor wants to visualize data coming from a database which is not connected to Superset

repository: cetic/fadi

repo_name: cetic/fadi


text:
---
layout: post
title: "How Stack Overflow Redesigned the Top Navigation"
author: kjbeavers
date: 2017-02-14 13:30:00
tags:
- engineering
- company
- announcements
---
You may have noticed that we’re sporting a new look today.

![New Top Navigation](https://i.stack.imgur.com/jHJJI.png)

We launched this update today as part of a series of changes supporting our core mission: Make developers’ lives better. In the past year, we fully integrated our by-developers, for-developers [Jobs](http://stackoverflow.com/jobs) product. We added a whole new content type — [Documentation](https://stackoverflow.blog/2016/07/introducing-stack-overflow-documentation-beta/) — to help you find even more solutions to your programming questions. And we added [Developer Story](https://stackoverflow.blog/2016/10/bye-bye-bullets-the-stack-overflow-developer-story-is-the-new-technical-resume/) to help developers ditch the outdated resume format.

During this time, we also evolved our product development process to include more user research, allowing us to validate ideas earlier and surface more users’ voices. There’s a ton you can learn by watching people try to use a feature — things that don’t get uncovered when directly soliciting feedback. As both product and process expanded, it quickly became apparent that Stack Overflow had outgrown some of our previous design decisions.

# A Common Theme

A pattern surfaced when talking to users: even with the addition of Jobs and Documentation to the navigation, many developers weren’t aware of the change. Digging deeper, we discovered that many weren’t really seeing the top bar at all - a “mental block” so effective that most users also couldn’t identify what the icons meant.

![Previous Top Navigation](https://i.stack.imgur.com/M6h7O.png)

Here’s what a few of you said:

> “When I come here I’m on a mission; I don’t care about the rest.”

> “You’re only there for 1 reason: to find the answer to your question.”

> “From my point of view, nothing above the question title exists.”

> “I scroll down and read the question.”

The data validated our hypothesis — of the average 9.3 million daily visits to Stack Overflow, we get fewer than 88,000 clicks to the navigation or top bar (this includes inbox, rep, profile, and search.) If you divided each individual click per visit, that’s fewer than 1% of visits navigating anywhere (and far fewer if you counted multiple clicks per visit). Our navigation is not being used by 99% of our users.

The common use case for millions of daily visitors is “come from Google, scroll to middle of the page to a find an answer (without seeing the nav and sometimes evening ignore the question itself), and leave. This workflow makes sense — and we love helping the world’s developers gain programming knowledge quickly — but this also means many visitors don’t benefit from everything that Stack Overflow has to offer. If they’re not aware, then we’re less effective in helping more developers share their knowledge by finding questions to answer, advance their career search, utilize Documentation, or become contributing members of our community.

We hypothesized that a lack of engagement with the nav was due to a combination of browsing habits, visual hierarchy, and the right-hand position of the layout. Based on research about  [F-shaped reading patterns](https://www.nngroup.com/articles/f-shaped-pattern-reading-web-content/) and how readers’ eyes commonly move down the page, it made sense that our navigation was sub-optimal for most people.

![F-shaped reading patterns](https://i.stack.imgur.com/A2DaF.png)

We also hypothesized that the focal point of the page (the logo) caused many users to skip over the small top bar. Plus the nav and top bar quickly scroll out of view when moving down the page.

![](https://i.stack.imgur.com/ea5NY.png)

The product design team then did a [design sprint](https://robots.thoughtbot.com/the-product-design-sprint). Each designer created their own design of the top nav and then converged to critique and identify the strongest ideas. The team then combined the best parts of their ideas into one design. The main thinking generated from the sprint:

![](https://i.stack.imgur.com/pYRge.png)

* Remove clutter and group similar information in a way that’s more quickly parsable
* Stick the navigation to the top of the page so that users who are scrolling quickly to answers or arriving from answer or comment links still have access to search or navigate the site
* Use navigation design patterns more commonly found in contemporary web apps
* Design the navigation as shorthand for the Stack Overflow brand

Stack Overflow users compared the new screens against the current navigation in focus groups at three tech companies. Here’s a sampling of what we heard about the **current version of the top bar**:

> “I’m not even sure if the black bar is new.”

> “I logically filter out the stuff that I know I’m not looking for.”

> “Nav looks like tags — they might filter, but they don’t look like navigation. Makes you question what it is so I don’t click it and instead go back to Google that I’m familiar with.”

> “I’m signed in and I still don’t know what those (inbox, achievements) mean.”

> “Jumbled stuff at the top that you have to read and decipher.”

> “Black bar is kinda… doesn’t look like it belongs, all else is white, grey, orange.”

And the **new version**:

> “On the current nav I didn’t know what the inbox / rep icons were, on the new one I know what every button will do.”

> “I know I can search, I know I can go to Jobs.”

> “Much more modern, this one.”

> “I like the old black bar, but I like that I know what I’m getting myself into on the new one.”

> “A lot less noise, more signal.”

> “Cleaner, more organized. Instead of jumbled stuff at top you have to read and decipher you can go to this.”

> “More standardized position that you’re used to on other sites.”

# Project Definition

At this point there was enough info to make the top navigation redesign an actual project. The nav is an area of the site that touches so many different use cases, user types, and metrics; it was important to tightly scope the project and clearly define the goals in advance in order to ship quickly. To mitigate scope creep, feature parity to the current navigation was the defined scope (with a few exceptions).

![](https://i.stack.imgur.com/DnQ56.png)

**Primary goals**

* Present all the tools we provide for developers in a way that's consistent with them actually discovering them
* Increase traffic to Jobs and Documentation
* More intuitive, updated visual design
* Increase the number of users who sign up and gain access to more site features

**Secondary goals**

* Increase in notifications acknowledged
* Increase or no decline in searches
* No decline in questions asked
* And a handful of other important and boring metrics that we simply didn’t want to screw up

The progressive rollout plan to measure success had the following objectives:

* **Usability tests** on clickable prototype with 6 additional users to catch any major UX and functionality issues and gather qualitative insights about the new design
* **A/B test with 5% of anonymous users** to measure usage data
* **A/B test with 10% of registered users** with less than 500 reputation to measure usage data
* **Opt-in for all Stack Overflow employees**
* **Opt-in for all users** for Meta feedback and for debugging

Our findings from each...

# Usability Tests

These tests were conducted in 1-1 recorded hangouts with 6 users who ranged from having low to high reputation.

While a few participants struggled with identifying two of the icons (which were updated mid-testing), all participants successfully completed all tasks, and all participants prefered the new design over the current.

> “Looks really, really good. By far I like the new one — in the current one, you don’t notice the navigation at all, only the top bar. The (sub) tabs catch my eye before the current navigation.”

> “In the old, it is weird to me that the two bars exist separately. This one feels more natural.”

> “The new one is cleaner. Less wasted space. Things are more compact on the new one and account info is better grouped. Tabs across the top is preferable because a lot of sites have a similar flow. ...much prefer the new one.”

## A/B Test with 5% of Anonymous Visitors

This test ran from 2016-12-01 to 2017-01-19 for about 2 million users in each A/B group. Anonymous visitors account for about 97% of all page views but only 61% of the current navigation clicks.

* Signups increased by 7%
* Clicks to Questions increased by 163%
* Clicks to Jobs increased by 160% (an expected 16% increase in overall Jobs traffic)
* Clicks to Documentation increased by 229%
* Clicks to Tags increased by 113%
* Clicks to Users increased by 178%
* Clicks to Ask Question increased by 33%
* Searches decreased by 13%*

*Adjustments to the design between the anonymous test and the registered user test were made that resolved this issue and actually improved the number of searches in the next test.

While some dropoff often happens after launch due to novelty effect, these increases were large enough to make us think that a good portion of the increases would be sustained after launch. Regardless, we’ll continue to measure and monitor the performance of the new top nav.

![](https://i.stack.imgur.com/5GGGc.png)

## A/B Test with 10% of Registered Users with Less than 500 Rep

This test ran from 2017-01-18 to 2017-01-30 for about 100k users in each A/B group . Registered user account for about 3% of all page views but about 44% of the current top navigation clicks.

* Inboxes shown increased by 45%
* Achievements shown increased by 11%
* Clicks to Questions increased by 51%
* Clicks to Jobs increased by 99% (an expected 15% increase in overall Jobs traffic)
* Clicks to Documentation increased by 113%
* Clicks to Tags increased by 32%
* Clicks to Users increased by 82%
* Clicks to Ask Question remained the same
* Searches increased by 8%

## Opt-in for Stack Overflow Employees

This phase began Tuesday, February 1. About 100 Stack Overflow employees opted in to test the new top nav.

## Opt-in for All Users

This phase began 2017-02-07 to 2017-02-14. Around 1600 users opted in.

Feedback from the Meta community has been extremely helpful. Thank you to everyone who participated! A number of bugs were fixed during this period, some feature requests were implemented and others considered or planned. For a more complete list of updates, see [Des’s most recent post](http://meta.stackoverflow.com/questions/343653/top-navigation-update?noredirect=1#comment447065_343653).

# Next Steps

There’s a running list of ideas we’d like to try in the near future. We plan on iterating upon the design and functionality of our new top nav in a series of A/B tests. There are also early-phase explorations into how this might roll out to international and other Stack Exchange community sites.

The design team is working on a cohesive design language  in order to create consistent experiences across all our product areas. Some of these changes have already rolled out, and more are coming in the near future. Special thanks to Paweł Ludwiczak’s and Oded Coster's hard work designing and implementing the new top navigation.

As always, we appreciate your feedback. If you have a bug or feature request — post it on Meta.

repository: bongjovi/stack-blog

gha_license_id: MIT

repo_name: bongjovi/stack-blog


text:
# Chainshaw

A simple block chain written in Python

Based on Daniel van Flymen's ["Learn Blockchains by Building One"](https://hackernoon.com/learn-blockchains-by-building-one-117428612f46) article on [Hackernoon](https://hackernoon.com/).

___

## Prerequisites

Uses:
* **Python 3.6**
* **Flask** with **Request** library

## Quickstart

*Make sure you have [Python 3.6](https://www.python.org/downloads/) installed!*

***1. Create a virtual environment***

```
$ virtualenv -p python3.6 <envname>
$ source <envname>/bin/activate
```

***2. Install requirements***

```
$ pip3 install -r requirements.txt
```

***3. Run the server***

```
$ python3.6 chainshaw/chainshaw.py

 *  Running on http://<IP_ADDRESS>:5000/ (Press CTRL+C to quit)
```

All set! Deploy on some nodes (e.g. a LAN) to use the block chain via the API resources!

*Many thanks to ***[Daniel van Flymen](https://github.com/dvf)*** for his amazing guide!*

repository: dimgrav/Chainsaw

repo_name: dimgrav/Chainsaw


text:
# Harvard Crime Maps

By the Harvard Open Data Project

Based off prior work from https://github.com/Harvard-Open-Data-Project/crimewatchbeta.

## Setup

First, set up a Python3 virtual environment:

```
virtualenv -p python3 venv
```

Switch to that environment:

```
source venv/bin/activate
```

Install required packages:

```
pip install -r requirements.txt
```

Now get a Jupyter kernel for this project:

```
python -m ipykernel install --user --name=crime
```

Finally open up Jupyter:

```
jupyter notebook
```

Be sure to change the Jupyter Kernel to your new `crime` one. Go to Kernel > Change kernel > crime from the notebook page.

## Usage

Did you add any packages with pip? Be sure to run `pip freeze > requirements.txt` every time so others can get them installed too.

To quit the virtual env, use `deactivate`.

Need help? See:

* <https://stackoverflow.com/questions/23842713/using-python-3-in-virtualenv>
* <https://stackoverflow.com/questions/33496350/execute-python-script-within-jupyter-notebook-using-a-specific-virtualenv>

## Running the website

Make sure you have Ruby.

```
gem install bundler jekyll
bundle exec jekyll serve
```


text:
# steam_api wrapper for the Go language

This is a pre-Alpha release
---------------------------

This is a work in progress. At this time I am using Linux64. Contributors would be welcomed.

Package Concept
===============

The steam_api is a c++ product.
  * wrapper.cpp uses the steam_api.
  * wrapper.h defines the extern "C" functions used by go.
  * steam.go is where we call our steam functions from go.
  * steam_test.go tests the functions.

Installation
------------

We currently support only steamworks_sdk_128

		$ go get gopkg.in/steam.v1

Begin by:
  * downloading steamworks_sdk_ver to your GOPATH, ver is the version number.
  * extract steamworks_sdk_ver
  * rename sdk folder to steamworks_sdk_ver
  * you may need to copy the appropriate contents of the redistributable_bin of the sdk to your /usr/lib so that the .so files can be found by the test programs.
  * copy the header files in steamworks_sdk_ver/public/steam to the davsk/steam/v128/linux64/steam
  * go test will fail if the steam client is not running on your machine.

Version Control
---------------

Current Version is v1.0.0 and is compatable only with steamworks_sdk_128.
We recommend that all developers use version control tags to avoid breaking their project.
Our version format is MAJOR,MINOR,PATCH.
We recommend the use of godep to preserve your projects dependencies.

For more details about semantic versioning, see the documentation at:
    [http://semver.org](http://semver.org)

Platforms
---------

We are developing on Linux AMD64.
We will also be testing on the Windows AMD64.

Documentation
-------------

Detailed instructions for the use of the steam_api is found at
[https://partner.steamgames.com/documentation/api](https://partner.steamgames.com/documentation/api)

Addition documentation is available through package documention.

repository: go-steam/steam

repo_name: go-steam/steam


text:
---
title: Rule no-unneeded-ternary
layout: doc
---
<!-- Note: No pull requests accepted for this file. See README.md in the root directory for details. -->

# Disallow conditional expressions that can be expressed with simpler constructs (no-unneeded-ternary)

It's a common mistake in JavaScript to use a conditional expression to select between two Boolean values instead of using ! to convert the test to a Boolean.
Here are some examples:

```js
// Bad
var isYes = answer === 1 ? true : false;

// Good
var isYes = answer === 1;

// Bad
var isNo = answer === 1 ? false : true;

// Good
var isNo = answer !== 1;
```

This rule disallows the use of 'Boolean' literals inside conditional expressions.

Another common mistake is using a single variable as both the conditional test and the consequent. In such cases, the logical `OR` can be used to provide the same functionality.
Here is an example:

```js
// Bad
var foo = bar ? bar : 1;

// Good
var foo = bar || 1;
```

This rule disallows the conditional expression as a default assignment pattern when the `defaultAssignment` option is set to `false`.

## Rule Details

This rule enforces a coding style where it disallows conditional expressions that can be implemented using simpler language constructs. Specifically, this rule disallows the use of Boolean literals inside conditional expressions, and conditional expressions where a single variable is used as both the test and consequent. This rule's default options are `{"defaultAssignment": true }`.

The following patterns are considered problems:

```js
/*eslint no-unneeded-ternary: "error"*/

var a = x === 2 ? true : false;

var a = x ? true : false;
```

The following pattern is considered a warning when `defaultAssignment` is `false`:

```js
var a = x ? x : 1;
```

The following patterns are not considered problems:

```js
/*eslint no-unneeded-ternary: "error"*/

var a = x === 2 ? "Yes" : "No";

var a = x !== false;

var a = x ? "Yes" : "No";

var a = x ? y : x;
```

The following pattern is not considered a warning when `defaultAssignment` is `true`:

```js
var a = x ? x : 1;
```

## When Not To Use It

You can turn this rule off if you are not concerned with unnecessary complexity in conditional expressions.

## Related Rules

* [no-ternary](no-ternary)
* [no-nested-ternary](no-nested-ternary)

## Version

This rule was introduced in ESLint 0.21.0.

## Resources

* [Rule source](https://github.com/eslint/eslint/tree/master/lib/rules/no-unneeded-ternary.js)
* [Documentation source](https://github.com/eslint/eslint/tree/master/docs/rules/no-unneeded-ternary.md)


text:
- [Home](/Syringe-Pump/)
- [Mechanical](/Syringe-Pump/mechanical)
- **[Electrical](/Syringe-Pump/electrical)**
- [Code](/Syringe-Pump/code)

# Electrical Wiring of Syringe Pump

![Electrical Diagram for Syringe Pump](/Syringe-Pump/Assets/Electrical Flow Chart.png)

## Electrical Wiring Images

![Syringe Pump Breadboard](/Syringe-Pump/Assets/Breadboard.png)

![Syringe Pump Breadboard Connected](/Syringe-Pump/Assets/Connected Breadboard.png)

![Breadboard and Arduino Connected](/Syringe-Pump/Assets/Breadboard and Arduino.png)

repository: fehrmadr/Syringe-Pump

repo_name: fehrmadr/Syringe-Pump


text:
# Firebase Smoke Test Suite

This directory contains smoke tests for Firebase on Android. These tests are
intended to verify the integrations between different components and versions of
Firebase. The tests should not include additional overhead, such as user
interfaces. However, the tests should strive to remain similar to real use
cases. As such, these tests run on devices or emulators (no Robolectric). This
is a work in progress, and the following list shows what is complete:

- [x] Create first set of tests to replace old test apps.
- [x] Reliably run smoke tests on CI.
- [ ] Support version matrices.
- [ ] Extend to collect system health metrics.

# Running the Tests

The tests may be run locally with the command `../gradlew
connectedCombinedDebugCheck`. The combined flavor includes all supported test
cases. Optionally, other flavors (explained below) may be used to run a subset
of the tests. Additionally, the test suite uses a Bill of Materials to specify
Firebase versions. This may be configured using the `-Pfirebase-bom`
command-line parameter. The value must be a valid Bill of Materials artifact.
The default is `com.google.firebase:firebase-bom:18.1.0`.

# Project Structure

This Gradle project is split into flavors for each Firebase product. Test code
lives in these flavors. Each flavor has one or more test classes in the app APK.
These are regular JUnit tests.

There is only one testing variant, `androidTest`. This contains the
`SmokeTestSuite` JUnit test runner. This custom runner finds the test classes by
searching for metadata in the application's Android manifest. Therefore, a
metadata tag named `com.google.firebase.testing.classes` is needed in each
application variant with a comma-separated list of test class names. The
`androidTest` variant does not need to be modified by test authors.

# Test Workflow

Android instrumentation uses two APKs: one for the app and the other for tests.
As we want to test building as a third-party consumer, the test code and
Firebase dependencies all belong in the application APK. This can be optionally
obfsucated like a real application.

The Android instrumentation runner loads one test class, `SmokeTests`. This is
executed by the `SmokeTestSuite`. `SmokeTests` is simply a placeholder class to
bootstrap the logic contained in the suite runner, which then delegates to the
test runners for the classes referenced by the Android manifest.

repository: firebase/firebase-android-sdk

gha_language: Java

repo_name: firebase/firebase-android-sdk


text:
# String Config

## Dataset

| Name | Value |
| :--- | :---- |
| Catalog | [Link](https://catalog.data.gov/dataset/string-config-c9c5c) |
| Metadata | [Link](https://data.montgomerycountymd.gov/api/views/w7si-gcgk) |
| Data: JSON | [100 Rows](https://data.montgomerycountymd.gov/api/views/w7si-gcgk/rows.json?max_rows=100) |
| Data: CSV | [100 Rows](https://data.montgomerycountymd.gov/api/views/w7si-gcgk/rows.csv?max_rows=100) |
| Host | data.montgomerycountymd.gov |
| Id | w7si-gcgk |
| Name | String Config |
| Category | Financial |
| Created | 2014-12-11T18:48:02Z |
| Publication Date | 2014-12-11T18:49:31Z |

## Description

Supporting dataset necessary to launch spendingMontgomery

## Columns

```ls
| Included | Schema Type | Field Name  | Name        | Data Type | Render Type |
| ======== | =========== | =========== | =========== | ========= | =========== |
| No       | time        | :updated_at | updated_at  | meta_data | meta_data   |
| Yes      | series tag  | name        | Name        | text      | text        |
| Yes      | series tag  | description | Description | text      | text        |
| Yes      | series tag  | value       | Value       | text      | text        |
```

## Time Field

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

## Data Commands

```ls
series e:w7si-gcgk d:2014-12-11T10:48:07.000Z t:description="Your organization's name. Shouldn't be longer than a couple of words." t:name=customer_name t:value="Montgomery County" m:row_number.w7si-gcgk=1

series e:w7si-gcgk d:2014-12-11T10:48:07.000Z t:description="Your jurisdiction type. For example: state or commonwealth or county or city." t:name=customer_type t:value=county m:row_number.w7si-gcgk=2

series e:w7si-gcgk d:2014-12-11T10:48:07.000Z t:description="The title of the site to use on the homepage." t:name=site_title t:value="Welcome to spendingMontgomery" m:row_number.w7si-gcgk=3
```

## Meta Commands

```ls
metric m:row_number.w7si-gcgk p:long l:"Row Number"

entity e:w7si-gcgk l:"String Config" t:url=https://data.montgomerycountymd.gov/api/views/w7si-gcgk

property e:w7si-gcgk t:meta.view v:id=w7si-gcgk v:category=Financial v:averageRating=0 v:name="String Config"

property e:w7si-gcgk t:meta.view.owner v:id=fnci-gphj v:screenName="MC Open Data" v:displayName="MC Open Data"

property e:w7si-gcgk t:meta.view.tableauthor v:id=fnci-gphj v:screenName="MC Open Data" v:roleName=administrator v:displayName="MC Open Data"
```

## Top Records

```ls
| :updated_at | name          | description                                                                   | value                                |
| =========== | ============= | ============================================================================= | ==================================== |
|<PHONE_NUMBER>  | customer_name | Your organization's name. Shouldn't be longer than a couple of words.         | Montgomery County                    |
|<PHONE_NUMBER>  | customer_type | Your jurisdiction type. For example: state or commonwealth or county or city. | county                               |
|<PHONE_NUMBER>  | site_title    | The title of the site to use on the homepage.                                 | Welcome to spendingMontgomery        |
|<PHONE_NUMBER>  | browser_title | The title of the site to use in the browser window.                           | Spending | Montgomery County         |
|<PHONE_NUMBER>  | header_link   | Where clicking the logo at the top of the page should direct to.              | https://data.montgomerycountymd.gov/ |
```

repository: SpellarBot/open-data-catalog

repo_name: SpellarBot/open-data-catalog


text:
[Oracle Official Tutorial](https://docs.oracle.com/javase/tutorial/essential/regex/index.html)

##Notes

	Enter your regex: a?
	Zero-Length Matches

	Enter input string to search: ababaaaab
	I found the text "a" starting at index 0 and ending at index 1.
	I found the text "" starting at index 1 and ending at index 1.
	I found the text "a" starting at index 2 and ending at index 3.
	I found the text "" starting at index 3 and ending at index 3.
	I found the text "a" starting at index 4 and ending at index 5.
	I found the text "a" starting at index 5 and ending at index 6.
	I found the text "a" starting at index 6 and ending at index 7.
	I found the text "a" starting at index 7 and ending at index 8.
	I found the text "" starting at index 8 and ending at index 8.
	I found the text "" starting at index 9 and ending at index 9.

	Enter your regex: a*
	Enter input string to search: ababaaaab
	I found the text "a" starting at index 0 and ending at index 1.
	I found the text "" starting at index 1 and ending at index 1.
	I found the text "a" starting at index 2 and ending at index 3.
	I found the text "" starting at index 3 and ending at index 3.
	I found the text "aaaa" starting at index 4 and ending at index 8.
	I found the text "" starting at index 8 and ending at index 8.
	I found the text "" starting at index 9 and ending at index 9.

	Enter your regex: a+
	Enter input string to search: ababaaaab
	I found the text "a" starting at index 0 and ending at index 1.
	I found the text "a" starting at index 2 and ending at index 3.
	I found the text "aaaa" starting at index 4 and ending at index 8.

	Greedy	Reluctant	Possessive	Meaning
	X?	    X??	        X?+	        X, once or not at all
	X*	    X*?	        X*+	        X, zero or more times
	X+	    X+?	        X++	        X, one or more times
	X{n}	X{n}?	    X{n}+	    X, exactly n times
	X{n,}	X{n,}?	    X{n,}+	    X, at least n times
	X{n,m}	X{n,m}?	    X{n,m}+	    X, at least n but not more than m times

	Greedy quantifiers are considered "greedy" because they force the matcher to read in, or eat, the entire input string prior to attempting the first match.
	If the first match attempt (the entire input string) fails, the matcher backs off the input string by one character and tries again, repeating the process until a match is found or there are no more characters left to back off from.
	Depending on the quantifier used in the expression, the last thing it will try matching against is 1 or 0 characters.

	The reluctant quantifiers, however, take the opposite approach: They start at the beginning of the input string, then reluctantly eat one character at a time looking for a match.
	The last thing they try is the entire input string.

	Finally, the possessive quantifiers always eat the entire input string, trying once (and only once) for a match.
	Unlike the greedy quantifiers, possessive quantifiers never back off, even if doing so would allow the overall match to succeed.

	Enter your regex: .*foo  // greedy quantifier
	Enter input string to search: xfooxxxxxxfoo
	I found the text "xfooxxxxxxfoo" starting at index 0 and ending at index 13.

	Enter your regex: .*?foo  // reluctant quantifier
	Enter input string to search: xfooxxxxxxfoo
	I found the text "xfoo" starting at index 0 and ending at index 4.
	I found the text "xxxxxxfoo" starting at index 4 and ending at index 13.

	Enter your regex: .*+foo // possessive quantifier
	Enter input string to search: xfooxxxxxxfoo
	No match found.


text:
## Commonly white listed domains for Pi-Hole (Compatible with Pi-Hole Docker Image).

A robust collection of commonly whitelisted websites borrowed from various sources including Pi-Hole subreddit, Pi-Hole forum, Pi-Hole GitHub repository and more!
Add these domains to your Pi-Hole setup by running a script or manually and make your setup **trouble-free!**

Want to report a new domain? Want to report an existing one? Feel free to file an issue.

* * *

### Main features:

- The entire repo is curated.
- New domains are added frequently.
- Supports Pi-Hole Docker installation.
- Comes with a shell script i.e. you can add all domains automatically at an instant.
- If you are a beginner to Pi-Hole, adding these sites resolves many problems.

***

### Description
[whitelist.txt](https://raw.githubusercontent.com/Soundium/Pi_hole_Whitelist/master/domains/whitelist.txt) -- This file contains domains that are **safe** to whitelist, i.e. it does not include any tracking or advertising sites. Adding this file fixes many problems like YouTube watch history, videos on news sites, and so on. If you want to report additional domain, feel free to file an [issue](https://github.com/Soundium/Pi_hole_Whitelist/issues).

***

### Installation and Usage

 ***For Docker installation***
 Access you running Pi-Hole container by `docker exec -it <container-ID> bash` and proceed with the steps given below:
```
git clone https://github.com/Soundium/Pi_hole_Whitelist.git
cd Pi_hole_Whitelist/scripts
./whitelist.sh
```
If you keep the `/etc/pihole` on a volume outside the container you need to change `PIHOLE_LOCATION`and `GRAVITY_UPDATE_COMMAND` variables based on your setup.

***Manual installation***
```
git clone https://github.com/Soundium/Pi_hole_Whitelist.git
cd Pi_hole_Whitelist/scripts
sudo chmod +x ./whitelist.sh
sudo ./whitelist.sh
```
**Note: You don't have to clone the repo every time you need to update whitelist file. Navigate to `Pi_hole_Whitelist/scripts` and run it again `sudo ./whitelist.sh`**

***For Automated Update***
```
cd /opt/
sudo git clone https://github.com/Soundium/Pi_hole_Whitelist.git
```

Give the rights.
```
sudo chmod +x /opt/Pi_hole_Whitelist/scripts/whitelist.sh
```

Make the script to run the script at 1AM every day.

`sudo nano /etc/crontab`

Add this line at the end of the file:
`0 1 * * *   root    /opt/Pi_hole_Whitelist/scripts/whitelist.sh`

CTRL + X then Y and Enter

```
sudo /opt/Pi_hole_Whitelist/scripts/whitelist.sh
```

***

### Donation
All donations are welcome and will help me to maintain this project. Please use "**Sponsor**" button on the top of this page.

***

### License
```
MIT License

Copyright (c) 2020 Soundium

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

 IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```

gha_language: Shell


text:
Documentation

* Administrator Documentation
  * [Working with Docker](https://github.com/Robinyo/serendipity-api/blob/master/projects/spring-boot/docs/administrator/docker.md)
  * [Working with Flowable](https://github.com/Robinyo/serendipity-api/blob/master/projects/spring-boot/docs/administrator/flowable.md)
  * [Working with Jaspersoft Studio](https://github.com/Robinyo/serendipity-api/blob/master/projects/spring-boot/docs/administrator/jaspersoft-studio.md)
  * [Working with JasperReports Server](https://github.com/Robinyo/serendipity-api/blob/master/projects/spring-boot/docs/administrator/jasperreports-server.md)
  * [Working with Keycloak](https://github.com/Robinyo/serendipity-api/blob/master/projects/spring-boot/docs/administrator/keycloak.md)
  * [Working with OpenLDAP](https://github.com/Robinyo/serendipity-api/blob/master/projects/spring-boot/docs/administrator/openldap.md)
  * [Working with PostgreSQL](https://github.com/Robinyo/serendipity-api/blob/master/projects/spring-boot/docs/administrator/postgres.md)
* Developer Documentation
  * [Quick Start Guide](./developer/quick-start-guide.md)
  * [Build Management](./developer/build-management.md)
* User Documentation

repository: Robinyo/serendipity

gha_language: TypeScript

repo_name: Robinyo/serendipity


text:
# Web Starter NSE - Nunjucks, SCSS, ES6 Modules

## Overview
It's a starting package to get a web project up and running quickly but with careful thought into **production ready code**, using: Nunjucks templating, SCSS and ES6 Modules out of the box!

### Table of Contents:
* [Install](#install)
* [Technologies Used](#technologies-used)
    * [SCSS](#scss)
    * [Javascript](#javascript)
    * [Nunjucks (HTML)](#nunjucks-html)
* [Gulp Builds (dev/prod)](#gulp-builds-devprod)

---

#### Key features:
* Modular build, include what you need, nothing else for all 3 technologies.
* [PurgeCSS](https://github.com/FullHuman/purgecss/) works out of the box, to make sure we include only what is needed.
* Gulp Config file.. set it.. and forget it [see example](https://youtu.be/tLq27iOW0R0?t=23s)
* ES6 Modules **OR** RequireJS ready
    * with examples of how to use both
* SCSS ready
* [Nunjucks](https://mozilla.github.io/nunjucks/) (HTML Templating) ready
* Production build gives the option for CDN base pathing across the board (replacing all local/relative pathing).
* Error handling, with terminal notifications when something went wrong (doesn't break watchmen listen chain)

**Before you get started, please edit the `gulp-config.json`**

## Install

Make sure you have NodeJS - [download](https://nodejs.org/)

***currently works with v7.10.1*** and **lower**

Once you have node on your machine:

* navigate into this project's root via your command line
* then run: `npm install`

## Technologies Used

#### SCSS
Everything for SCSS starts at: `src/scss/main.scss`

##### What's included by default:
* **PurgeCSS** is probably the biggest win of this entire project, it just makes everything better. All these DRY classes, that are present in the build, if you don't end up using them, they will be removed! [purgecss project](https://github.com/FullHuman/purgecss/)
* [reset.css](http://meyerweb.com/eric/tools/css/reset/): v2.0
* mixins:
    * media breakpoints [pulled from bootstrap 4](https://github.com/twbs/bootstrap/blob/v4-dev/scss/mixins/_breakpoints.scss)
    * opacity (also cases for IE's filter alpha())
* variables:
    * animation settings
    * breakpoints
    * colors
* animations and animation helpers
* font face support
* easily turn on and off what gets included

#### Javascript
There are two options for js bundling, ES6 Modules or RequireJS. Edit the `/gulp-config.js` file to turn on/off which, ES6 Modules are used by default.

* **ES6 Modules** (default)
    * starter file: `src/js/jsES6/main.js`
    * examples:
        * how to import a js module
        * use of services.js (helper functions)
        * purgeCSS javascript test (mention of a class only within js), purgeCSS works! It keeps the class `.fadeOut`... perfect.
    * code treeshaking happens on *production* build

* **RequireJS**
    * starter file: `src/js/requireJS/main.js`
    * examples `src/js/requireJS/modules/logo-fade-in.js`:
        * how to include a js module in RequireJS
        * use of services.js (helper functions)

#### Nunjucks (HTML)
A simple html templating structure that will pretty much handle everything you would need to, with Mozilla's [Nunjucks](https://mozilla.github.io/nunjucks/).

**With this implementation:**

* You can get as shared as you'd want to be
* You can get as specific as you need to be

**About the HTML Structure:**

* Creating a new page is as simple as adding 2 files:
    * `html/data/[pagename].json`
        * settable data
        * `<html>` language attribute
        * `<html>` class
        * `<body>` class
        * page title
        * page description
        * page keywords
        * robot meta tag (follow, index, etc.)
    * `html/pages/[pagename].nunjucks`
    * output will be: **pagename.html**
* Under `html/templates/layout.nunjucks` is the default layout but you can always create another layout if you'd need to, but this one pretty much covers it all.
    * ability to add extra *css* & *js* specific to a single page.
    * under `html/templates/partials/` directory, gives you the ability to create shared html blocks.
    * these html blocks can be used specifically for a single html page or shared on all html pages.

## Gulp Builds (dev/prod)

**Dev Build**
* Run: `npm run dev` when developing locally.
* What happens during the dev build?
    * Watch tasks are initiated, all files edited will rebuild respectively (edit a .scss file, `sass` task rebuilds... etc).
    * Any fonts, images and videos moved to `dist` directory.
    * SCSS compiled to css (with autoprefixer set for last 2 versions of browsers)
    * JS compiled, source maps created
    * Nunjucks templating to HTML compiled
    * Purge CSS runs at the very end, removes all unused css that is not referenced in the HTML or JS.

**Production Build**
* Run: `npm run prod` when code is ready for production.
* What happens during the **production** build?
  * All references to fonts, images and videos (within css and html) are now pointing to the CDN base url set within `gulp-config.json`
  * SCSS compiled to css (with autoprefixer set for last 2 versions of browsers) and minified.
  * JS compiled, minified, and removal of all console, debug and alert leftovers (via [strip-debug](https://www.npmjs.com/package/gulp-strip-debug))
  * Nunjucks templating to HTML compiled and [minified](https://github.com/kangax/html-minifier#options-quick-reference) with `collapseWhitespace` and `removeComments` set to true.
  * Purge CSS runs at the very end, removes all unused css that is not referenced in the HTML or JS.

built with :heart:, Caleb

repository: calebnance/web-starter-nse

repo_name: calebnance/web-starter-nse


text:
---
layout: page
title: [Eph](/new-testament/eph.html) 3
---

# [Eph](/new-testament/eph.html) 3

[New Testament](/new-testament.html)

[prev](/new-testament/eph/eph-2.html)

[next](/new-testament/eph/eph-4.html)

1 _That is why I, Paul, am a prisoner who belongs to Jesus Christ. It is for the sake of you people who are not Jews._

2 _I am sure you have heard that God gave me work to do for you._

3 _He showed me what his plan was. And I have already written a little about it to you._

4 _When you read this, you can understand why I know about his plan for Christ._

5 _In the past, God did not tell his plan to people. But now the Holy Spirit has shown it to his holy apostles and prophets._

6 _This is Gods plan. Those who are not Jews will also share in the blessings of God. They also are a part of the body of Jesus Christ. They also will receive the things God has promised in Jesus Christ through the good news._

7 _God gave me the work of telling that good news. And he blessed me by his power._

8 _I am less than the least of all Gods people, and yet he blessed me. It is my work to tell those who are not Jews about the wonderful blessings of Christ. There are so many that we cannot know them all._

9 _God has blessed me so that I might tell all people plainly what his plan is. God, who made all things, did not tell anyone about his plan in all the times in the past._

10 _Now he wants those who rule and have power in the sky to know how very wise God is.  They will know this when they look at the church people._

11 _This is what God has always planned to do. And he did it in Jesus Christ our Lord._

12 _In Christ we are not to be afraid to come to God. We are sure we can come because we believe in Christ._

13 _So I ask you not to be sad when you think of the troubles I have for your sake. You should be proud about it._

14 _That is why I kneel down before the Father of our Lord Jesus Christ._

15 _From him every family in heaven or on earth gets its name._

16 _I ask him to make you very strong in heart by his Spirit. He has great and wonderful blessings and is able to do so because of the fullness of his glory._

17 _And I ask that Christ may live in your hearts because you believe in him. I ask that you may live and grow in love._

18 _I ask that God will give you power to know how wide and long and high and deep the love of Christ is. All Christians should know that._

19 _I ask God that you may know the love of Christ which is more than we can ever know. I ask that you may be filled with everything that God has._

21 _God can do much more than we ask him to do, or we even think of. He does it by his power which is working in us. So, praise him in the church meeting in Christ Jesus.  Praise him for ever and ever! May it be so!_

license: Unlicense


text:
# Sequence diagram

### Add coin to favorite list
---
![](https://github.com/b00m-b00m/CoinMarketApp-TRTPO/blob/master/Documents/sequence/SetupCoinsSeq.PNG)
### Update coin price info
---
![](https://github.com/b00m-b00m/CoinMarketApp-TRTPO/blob/master/Documents/sequence/UpdateSeq.PNG)
### Show favorite coins price
---
![](https://github.com/b00m-b00m/CoinMarketApp-TRTPO/blob/master/Documents/sequence/MainWindowSeq.PNG)
### Show detailed coin charts
---
![](https://github.com/b00m-b00m/CoinMarketApp-TRTPO/blob/master/Documents/sequence/chartViewSeq.PNG)

repository: MakarenkoPavel/CoinMarketApp-TRTPO

repo_name: MakarenkoPavel/CoinMarketApp-TRTPO


text:
---
layout: post
status: publish
published: true
title: 'Sequencing data: I want the truth! (You can''t handle the truth!)'
author:
  display_name: Nick Loman
  login: nick
  email<EMAIL_ADDRESS>  url: http://xbase.bham.ac.uk
author_login: nick
author_email<EMAIL_ADDRESS>author_url: http://xbase.bham.ac.uk
wordpress_id: 1514
wordpress_url: http://pathogenomics.bham.ac.uk/blog/?p=1514
date: '2013-01-10 10:47:57 +0000'
date_gmt: '2013-01-10 10:47:57 +0000'
categories:
- High-throughput sequencing
- Genomics
tags: []
comments:
- id: 59948
  author: BioMickwatson
  author_email<EMAIL_ADDRESS>  author_url: ''
  date: '2013-01-10 11:34:21 +0000'
  date_gmt: '2013-01-10 11:34:21 +0000'
  content: "Hi Nick\r\n\r\nIn terms of artifacts, I can point to Lachlan Coin's paper
    where Table 1 shows that the false positive rate for indel calls can be higher
    than 60% for certain well-known tools:\r\n\r\nhttp://www.ncbi.nlm.nih.gov/pubmed/23221639\r\n\r\nObviously
    this is a bioinformatics artifact, not library preparation, but I wonder how many
    students and post-docs around the World are chasing down that elusive indel that
    their Illumina data found in their PI's favourite gene....\r\n\r\nMick"
- id: 59949
  author: dnamj
  author_email<EMAIL_ADDRESS>  author_url: ''
  date: '2013-01-10 18:04:21 +0000'
  date_gmt: '2013-01-10 18:04:21 +0000'
  content: "Could you please elaborate a bit on the \"PCR Duplicates\" error in your
    library preparation errors column? Does this mean you've unintentionally designed
    the amplicon with non-unique primer sites (from duplicated regions in the genome)
    and are amplifying two sequences?\r\n\r\nThank you, \r\n\r\n-Mike"
- id: 59950
  author: Nick Loman
  author_email<EMAIL_ADDRESS>  author_url: http://xbase.bham.ac.uk
  date: '2013-01-11 10:02:49 +0000'
  date_gmt: '2013-01-11 10:02:49 +0000'
  content: "Hi Mike\r\n\r\nPCR duplicates are seen when you have a biased enrichment
    of particular sequences in your library. This happens more commonly with low complexity
    samples. It's mostly a problem when you are doing counting-type applications like
    RNA-Seq or ChIP-Seq where the counts may throw off accurate quantity estimates.
    \ Here's a good Seqanswers thread on the subject: http://seqanswers.com/forums/showthread.php?t=6854\r\n\r\nCheers"
- id: 59951
  author: NextGenSeek Stories This Week (10/1/13)
  author_email: ''
  author_url: http://nextgenseek.com/2013/01/nextgenseek-stories-this-week-10113/
  date: '2013-01-11 17:52:18 +0000'
  date_gmt: '2013-01-11 17:52:18 +0000'
  content: '[...] Nick Loman on sequencing errors: Sequencing data: I want the truth!
    (You can’t handle the truth!) [...]'
- id: 59952
  author: BioMickwatson
  author_email<EMAIL_ADDRESS>  author_url: ''
  date: '2013-01-12 13:55:27 +0000'
  date_gmt: '2013-01-12 13:55:27 +0000'
  content: "The other thing I'd add is that, whilst every effort should be made to
    remove errors from your data, with the scale of the data, you will never remove
    all of the errors - in fact, you can be crippled worrying about the errors, and
    end up never delivering an output.  \r\n\r\nEwan has an excellent blog post relating
    to some of this: http://genomeinformatician.blogspot.co.uk/2011/07/10-rules-of-thumb-in-genomics.html\r\n\r\nI
    honestly think a lot of the skill in being a big-data scientist is in assessing
    and accepting risk, making sure none of your conclusions are solely supported
    by errors, and getting the data and publication out.
- id: 59954
  author: Nick Loman
  author_email<EMAIL_ADDRESS>  author_url: http://xbase.bham.ac.uk
  date: '2013-01-14 12:03:06 +0000'
  date_gmt: '2013-01-14 12:03:06 +0000'
  content: Ewan's blog post is indeed very relevant. And also beware being falsely
    reassured by validation techniques that don't actually deal with the source of
    the error. The Cheung study 'validated' with Sanger but the sequencing chemistry
    wasn't the problem. The Broad study noted that Illumina and Ion Torrent datasets
    show the same problem, because the issue is during library prep. So I would argue
    if your results need validation it is important to understand all possible sources
    of artifacts to ensure you pick the correct validation technique(s).
- id: 59955
  author: Links 1/14/12 | Mike the Mad Biologist
  author_email: ''
  author_url: http://mikethemadbiologist.com/2013/01/14/links-11412-3/
  date: '2013-01-14 21:50:44 +0000'
  date_gmt: '2013-01-14 21:50:44 +0000'
  content: '[...] of Winter’s Ills 60 Wild Coyotes Patrol Chicago (And Occasionally
    Stop At Convenience Stores) Sequencing data: I want the truth! (You can’t handle
    the truth!) [...]'
- id: 60152
  author: ecdest3
  author_email<EMAIL_ADDRESS>  author_url: ''
  date: '2014-03-07 18:59:07 +0000'
  date_gmt: '2014-03-07 18:59:07 +0000'
  content: |-
    To give a little perspective, please check out this already published letter which points to the non-consensus findings of multiple studies about single disease under study. This letter calls for standardization of sequencing practices.
    http://www.clinchem.org/content/58/12/1720.long

    I agree with you. However, I would conclude that sequencing is still in primary state and needs time to mature and establish standardization criteria before we can make hard core commitments...
- id: 60165
  author: 'Thinking aloud: Implementing ArtQ score | nickjharding'
  author_email: ''
  author_url: http://nickjharding.wordpress.com/2014/06/03/thinking-aloud-implementing-artq-score/
  date: '2014-06-03 19:22:02 +0100'
  date_gmt: '2014-06-03 19:22:02 +0100'
  content: '[…] from last year: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3616734/.
    This was blogged about here: http://pathogenomics.bham.ac.uk/blog/2013/01/sequencing-data-i-want-the-truth-you-cant-handle-the-tr…
    which provides a good […]'
---

Two sequencing papers caught my eye this week.

This letter from Piskol and Li  is perhaps the final nail in the coffin for the heavily criticised and debunked (also see: GenomesUnzipped) RNA editing paper from Li and Cheung published in Science in early 2011 (as Thomas Keane said on Twitter: 'I can't believe people are still debating this!).

The letter Piskol and Li examined the claim of "non-canonical" RNA editing, i.e. post-transcriptional editing differing from the two known types, adenosine-to-insosine (A-to-I; I read as G) and the rare cytosine-to-uracil (C-to-U). Although a vast swathe of the claimed editing events had been debunked by previous studies, they examined 11 putative events which had been apparently validated by sequencing PCR amplicons using capillary instruments. What they found should be disturbing to sequence bioinformaticians:

They noticed that if you search each of these amplicon sequences using BLAT against the reference human genome, each one had a very similar, 'second-best' hit in the human genome. And lo, if you examine the sequence of those second best hits, the variant pointing to RNA editing wasn't present. They then designed primers to specifically amplify the region of the genome around the second-best hit and demonstrated that was in fact the likely template for the original sequencing read, and not the region associated with the best hit that originally hinted at RNA editing. Put simply, the RNA editing event wasn't an RNA editing event at all.

If you've done much sequence bioinformatics and variation detection you will know that alignment to paralogous regions of the genome (repeats) is a major reason for false positive SNP calls (perhaps the number one reason?). I see this frequently in the microbial genome projects I am involved in. As an aside, I bet this kind of analysis error happens all the time in published papers, but that they relate to findings not significant enough to attract extensive scrutiny-- discovering novel types of RNA editing would be a pretty big prize, in this case it was deemed worthy of a Nature paper. What is notable is that Sanger 'validation' also has the capacity to mislead if primers are not designed to unique regions of the genome.

That finding reminded me of an email I'd send to Titus Brown a few months ago, where he'd asked me to do some pre-publication peer review of a manuscript he'd written on possible sequencing artifacts causing problems with metagenomics assembly. I sent him a list of potential reasons for artifacts that may or may not explain his results, which I have reproduced and augmented here:

Library preparation errors
Sequencing errors
Analysis errors

PCR amplification point mutations (e.g. TruSeq protocol, amplicons) [1]

emPCR amplification point mutations (454, Ion Torrent and SOLiD)

Bridge amplification errors (Illumina)

Chimera generation (particularly during amplicon protocols) [1]

Sample contamination

Amplification errors associated with high or low GC content

PCR duplicates
Base miscalls due to low signal

Indel errors (particular PacBio)

Base under- and over-calls with flow-based chemistries, associated with long homopolymers (454, Ion Torrent) [2]

Short homopolymer associated indels (Ion Torrent PGM) [2]

Post-homopolymeric tract SNPs (Illumina) and/or read-through problems [3]

Associated with inverted repeats (Illumina) [4]

Specific motifs particularly with older Illumina chemistry [4]
Calling variants without sufficient reads mapping

Bad mapping (incorrectly placed read)

Correctly placed read but indels misaligned

Multi-mapping to repeat/paralogous regions

Sequence contamination e.g. adaptors

Error in reference sequence

Alignment to ends of contigs in draft assemblies

Incorrect trimming of reads, aligning adaptors

Inclusion of PCR duplicates

Phew!  Casey Bergman has started a Citeulike collection of papers relating to sequencer error profiles.

Now, thanks to a second paper published this week we have another item for the table (BTW please comment on my table and let me know what I've missed). This is a technical tour de force from the Broad Institute (ht @dgmacarthur) published in Nucleic Acids Research. Allow me to summarise:

Whilst searching for variants in cancer samples they discovered artifacts involving triplets of the pattern "C>A/G>T", occurring at low frequency in some cancer projects. Low frequency variants are of course of great interest in cancer genetics as the sample is genetically heterogenous, and any of these low frequency variants may be of interest as potential "drivers" of cancer progression which over time may become dominant. They may also represent clues to pathways which could be targeted with specific drugs.

However these artifacts seemed not to be real due to certain patterns spotted in the analysis; specifically, strand bias (significantly different patterns of forward/reverse orientations between the reads with variant calls and the non-variant calls) and their presence in both tumour and normal samples.

The impressive part of this study is that they then managed to track down the cause, and unlike the normal suspects in such cases, which include errors in PCR amplification, sequencing errors and alignment/analysis errors, they demonstrated that oxidation of DNA during the library preparation step - in this case acoustic shearing - generated 8-oxoguanine 'lesions' in the genome, which were responsible for these errors.

In order to confirm these were not sequencing errors they showed that the error was present on HiSeq V2, V3 and MiSeq chemistries as well as on the Ion Torrent PGM.

They developed a metric called "ArtQ" which was a probability of the error being present, akin to the phred score:

-10 x log10(consistent errors - inconsistent errors / all observations)

They considered an ArtQ score of >30 to mean the sample is unaffected by this problem. They then go onto  suggest an alternative library preparation with the inclusion of anti-oxidants in order to improve the ArtQ score, but they also suggest a bioinformatics based filter to exclude such mutations when this is not possible. Go read the rest of the paper, it's impressive stuff (despite the presence of 3-D barcharts, yuck!).

The conclusions of the paper are the ones I want to focus on. They state (emphasis mine):

The obvious deleterious effects  that the existence of such artifacts can have on the ﬁeld of cancer research could be dramatic. If multiple common  processes in the laboratory can signiﬁcantly alter the physical base sequence of DNA, it begs the question of  whether we can truly be conﬁdent that the rare mutations we are searching for can actually be attributed to true biological variation

They then warn that this may not be the only undiscovered artifact out there:

this is one of the myriad of possible  low frequency errors that could be induced during NGS sample preparation

They conclude that:

A systematic review of a wide variety of data obtained using different protocols from different laboratories needs to be undertaken by the sequencing community to identify whether there are any types of other artifacts that may be induced during extraction and/or library preparation that could be wrongly attributed to the biology of a given disease.

I couldn't agree more. Lex Nederbragt and I are working on a project we are calling SeqBench which we hope will start to address this problem by producing a well curated metadatabase of sequencing reads. By collecting high quality metadata we hope to be able to provide a useful testing resource which could be used to compare the results of different library preparation techniques, as well as the results from different sequencing platforms, aligners, assemblers and more. I am presenting a poster on this project at AGBT and plan to post more on the blog during the run-up to this meeting. I'd be delighted if this was something you would like to get involved with.

This is a draft blog post. I reserve the right to make changes to it until I remove this disclaimer, probably later on today. If you make useful comments or suggestions via the comments form or Twitter I'll happily change the post and give you a credit.

Thanks to Casey Bergman for proof reading and useful suggestions.

References

[1] http://pathogenomics.bham.ac.uk/blog/2010/08/come-on-feel-the-pyronoise/

[2] http://pathogenomics.bham.ac.uk/blog/2012/05/benchtop-sequencer-comparison-paper/

[3]  Quail MA, Smith M, Coupland P, Otto TD, Harris SR, Connor TR, Bertoni A, Swerdlow HP, Gu Y. A tale of three next generation sequencing platforms: comparison of Ion Torrent, Pacific Biosciences and Illumina MiSeq sequencers. BMC Genomics. 2012 Jul 24;13:341. doi: 10.1186/1471-2164-13-341. PubMed PMID: 22827831; PubMed Central PMCID: PMC3431227.

[4]  Nakamura K, Oshima T, Morimoto T, Ikeda S, Yoshikawa H, Shiwa Y, Ishikawa S, Linak MC, Hirai A, Takahashi H, Altaf-Ul-Amin M, Ogasawara N, Kanaya S. Sequence-specific error profile of Illumina sequencers. Nucleic Acids Res. 2011 Jul;39(13):e90. doi: 10.1093/nar/gkr344. Epub 2011 May 16. PubMed PMID: 21576222; PubMed Central PMCID: PMC3141275.

extension: markdown


text:
# BridleNSIS for SublimeText

[![The MIT License](https://img.shields.io/badge/license-MIT-orange.svg?style=flat-square)](http://opensource.org/licenses/MIT)
[![Package Control](https://packagecontrol.herokuapp.com/downloads/BridleNSIS.svg?style=flat-square)](https://packagecontrol.io/packages/BridleNSIS)
[![GitHub release](https://img.shields.io/github/release/idleberg/sublime-bridlensis.svg?style=flat-square)](https://github.com/idleberg/sublime-bridlensis/releases)
[![Travis](https://img.shields.io/travis/idleberg/sublime-bridlensis.svg?style=flat-square)](https://travis-ci.org/idleberg/sublime-bridlensis)
[![Gitter](https://img.shields.io/badge/chat-Gitter-ed1965.svg?style=flat-square)](https://gitter.im/NSIS-Dev/SublimeText)

[BridleNSIS](https://github.com/henrikor2/bridlensis) syntax definitions and completions for [Sublime Text](http://www.sublimetext.com/) (the former work for [TextMate](http://macromates.com/) as well!)

BridleNSIS is a language extension for [NSIS](http://nsis.sourceforge.net) designed to make things easier to express and rein in verbosity of NSIS at places.

**Note:** This package is compatible with Sublime Text 3 ([Build 3103](http://www.sublimetext.com/blog/articles/sublime-text-3-build-3103) or higher). Click [here](https://github.com/idleberg/sublime-bridlensis/tree/st2-master) for a Sublime Text 2 version of this package.

## Installation

### Package Control

1. Make sure you already have [Package Control](https://packagecontrol.io/) installed
2. Choose *“Install Package”* from the Command Palette (Super+Shift+p)
3. Type *“BridleNSIS”* and press Enter

With [auto_upgrade](http://wbond.net/sublime_packages/package_control/settings/) enabled, Package Control will keep all installed packages up-to-date!

### Using Git

1. Change to your Sublime Text `Packages` directory
2. Clone repository `git clone https://github.com/idleberg/sublime-bridlensis.git BridleNSIS`

### Manual installation

1. Download the latest [stable release](https://github.com/idleberg/sublime-bridlensis/releases)
2. Unzip the archive to your Sublime Text `Packages` directory

## Usage

To avoid interference with vanilla NSIS, consider using the file-extensions `.bridle-nsis` and `.bridle-nsh`. Alternatively, you can set the syntax to *“BridleNSIS”* (`source.nsis.bridle`) manually.

### Completions

Since all BridleNSIS commands match their [vanilla](https://en.wikipedia.org/wiki/Vanilla_software) NSIS equivalents, the completions are prefixed with `b:`. While Sublime Text's fuzzy search doesn't require you to type the prefix, you might get quicker results doing so, especially for commands such as `If`, which could be confused with the [compile-time command](https://github.com/NSIS-Dev/Documentation/blob/master/Reference/!if.markdown) `!if` or the [LogicLib](https://github.com/NSIS-Dev/Documentation/blob/master/Includes/LogicLib/If.markdown) macro `${If}`.

### Build System

On Windows, you can build your script using the default Superb. If you have any build systems for vanilla NSIS installed, you might have to switch to BridleNSIS before building.

## License

This work is licensed under the [The MIT License](LICENSE).

repository: idleberg/sublime-bridlensis

repo_name: idleberg/sublime-bridlensis


text:
---
layout: post
title: Attention
date: 2022-10-24
description: Day 32
tags: review
categories: ml, dl
---
There are a lot of nice materials explaining Attention model fairly well. My favorite have been [the "Attention Interfaces" of this blog post](https://distill.pub/2016/augmented-rnns/#attentional-interfaces) and the [CS224N lecture note](https://web.stanford.edu/class/cs224n/readings/cs224n-2019-notes06-NMT_seq2seq_attention.pdf).

#### Attention
Great [video](https://www.youtube.com/watch?v=SysgYptB198) with the intuition of Attention model explained by Andrew Ng.

Typical sequence-to-sequence models like RNN were used in machine translation, where a input sentence of language A is translated to an output sentence of target language B in an encoder-decoder architecture. One problem with it was that the models go word by word within a sentence during encoding and depending on the final hidden layer before decoding to memorize everything fed into the system for translation; the decoder than taking the hidden layer and pass on another sequence to predict the most likely word that should pop up next given the current translated word.

On the contrary, the decoder network (language B) of the Attention model was trained by **the entire input sequence** (language A) at every decoding step (y_t) with the goal of learning the **attention weight** ($$\alpha_{t,1}$$ to $$\alpha_{t,T}$$) of individual translated word in B on all the input words (x_1, ..., x_T) in A. Below cited the Figure 1 from the [original Attention paper](https://arxiv.org/pdf/1409.0473.pdf).

        {% include figure.html path="assets/img/attention.png" title="example image" %}

Great video materials:
- [Attention model](https://www.youtube.com/watch?v=FMXUkEbjf9k) by Andrew Ng.


text:
# pass-me-app

> Pass me desktop app

## Build Setup

``` bash
# install dependencies
yarn install

# serve with hot reload at localhost:9080
yarn dev

# build NW.js application for production
yarn build
```

---

This project was generated with [nwjs-vue](https://github.com/elegantweb/nwjs-vue) using [vue-cli](https://github.com/vuejs/vue-cli).

repository: Shuunen/pass-me-app

repo_name: Shuunen/pass-me-app


text:
<!---
Group:drug exposure
Name:DEX23 Distribution of days supply
Author:Patrick Ryan
CDM Version: 5.0
-->

# DEX23: Distribution of days supply

## Description
| This query is used to provide summary statistics for days supply (days_supply) across all drug exposure records: the mean, the standard deviation, the minimum, the 25th percentile, the median, the 75th percentile, the maximum and the number of missing values. No input is required for this query.

## Input <None>

## Query
The following is a sample run of the query. The input parameters are highlighted in  blue

```sql
SELECT
    min(tt.stat_value) AS min_value ,
    max(tt.stat_value) AS max_value ,
    avg(tt.stat_value) AS avg_value ,
    (round(STDEV(tt.stat_value)) ) AS STDEV_value ,
    APPROXIMATE PERCENTILE_DISC(0.25) WITHIN GROUP( ORDER BY tt.stat_value ) AS percentile_25 ,
    APPROXIMATE PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY tt.stat_value ) AS median_value ,
    APPROXIMATE PERCENTILE_DISC(0.75) WITHIN GROUP (ORDER BY tt.stat_value ) AS percential_75
FROM
    ( SELECT t.days_supply AS stat_value FROM @cdm.drug_exposure t where t.days_supply > 0 ) tt ;
```

## Output

## Output field list

|  Field |  Description |
| --- | --- |
| min_value |   |
| max_value |   |
| avg_value |   |
| STDEV_value |   |
| percentile_25 |   |
| median_value |   |
| percentile_75 |   |

## Sample output record

|  Field |  Description |
| --- | --- |
| min_value |   |
| max_value |   |
| avg_value |   |
| STDEV_value |   |
| percentile_25 |   |
| median_value |   |
| percentile_75 |   |

## Documentation
https://github.com/OHDSI/CommonDataModel/wiki/

repository: mi-erasmusmc/QueryLibrary

gha_language: HTML

repo_name: mi-erasmusmc/QueryLibrary