text:
# Changelog

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [1.25.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.24.5...v1.25.0) (2022-12-30)

### Features

- :arrow_up: update gitmoji to v3.13.1 ([#297](https://github.com/vivaxy/vscode-conventional-commits/issues/297)) ([b8ddaff](https://github.com/vivaxy/vscode-conventional-commits/commit/b8ddaffa450d5f686c53f20937cbba7c295a3343))

### Bug Fixes

- :bug: update vsce to @vscode/vsce ([#298](https://github.com/vivaxy/vscode-conventional-commits/issues/298)) ([dd92433](https://github.com/vivaxy/vscode-conventional-commits/commit/dd92433d9dc84eb73e7c5310108a624068a7f602))

## [1.24.5](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.24.4...v1.24.5) (2022-12-30)

### Bug Fixes

- get `rootUri` from `VSCodeGit.Repository` ([#292](https://github.com/vivaxy/vscode-conventional-commits/issues/292)) ([cbdcfd2](https://github.com/vivaxy/vscode-conventional-commits/commit/cbdcfd28c8b55cd4aae1e4fc10872b8b2cfcd3eb)), closes [#289](https://github.com/vivaxy/vscode-conventional-commits/issues/289)

## [1.24.4](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.24.3...v1.24.4) (2022-12-09)

### Bug Fixes

- mark `_rootUri` as optional property ([#284](https://github.com/vivaxy/vscode-conventional-commits/issues/284)) ([da7c9fa](https://github.com/vivaxy/vscode-conventional-commits/commit/da7c9fa9c71f5f9c27d4d2d79f4c4b95edd9f679)), closes [#282](https://github.com/vivaxy/vscode-conventional-commits/issues/282)

## [1.24.3](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.24.2...v1.24.3) (2022-08-23)

## [1.24.2](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.24.1...v1.24.2) (2022-08-23)

### Bug Fixes

- :bug: resolve `skip ci` in none-english version ([#258](https://github.com/vivaxy/vscode-conventional-commits/issues/258)) ([f2fb6e9](https://github.com/vivaxy/vscode-conventional-commits/commit/f2fb6e97cabe84889539a419cb9ce380eae8f43e)), closes [#257](https://github.com/vivaxy/vscode-conventional-commits/issues/257)

## [1.24.1](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.24.0...v1.24.1) (2022-04-22)

### Bug Fixes

- :bug: update gitmoji description ([#241](https://github.com/vivaxy/vscode-conventional-commits/issues/241)) ([aa24fdd](https://github.com/vivaxy/vscode-conventional-commits/commit/aa24fdd6864922028e6a523d9083464ac1bfab2f)), closes [#240](https://github.com/vivaxy/vscode-conventional-commits/issues/240)

## [1.24.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.23.0...v1.24.0) (2021-12-17)

### Features

- :sparkles: add option to skip ci run ([#213](https://github.com/vivaxy/vscode-conventional-commits/issues/213)) ([67c9da7](https://github.com/vivaxy/vscode-conventional-commits/commit/67c9da7849f58a3fd56b55f13327ec8aad1c3f29))
- add silentAutoCommit option to not focus scm pane on auto commit ([#200](https://github.com/vivaxy/vscode-conventional-commits/issues/200)) ([15258eb](https://github.com/vivaxy/vscode-conventional-commits/commit/15258ebc5c79e508fc765f93ee69a639524f1003))
- **gitmojis:** :sparkles: update gitmojis to v3.8.0 ([#216](https://github.com/vivaxy/vscode-conventional-commits/issues/216)) ([0dfc309](https://github.com/vivaxy/vscode-conventional-commits/commit/0dfc30993e501bc7578e68b4230a2a3910405a17))

## [1.23.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.22.0...v1.23.0) (2021-10-08)

### Features

- :sparkles: add confirm button ([fcbe20d](https://github.com/vivaxy/vscode-conventional-commits/commit/fcbe20daca91336d19ee3e6b0573f402cac398b5)), closes [#155](https://github.com/vivaxy/vscode-conventional-commits/issues/155)
- :sparkles: use pre-downloaded gitmojis.json ([#197](https://github.com/vivaxy/vscode-conventional-commits/issues/197)) ([15234f1](https://github.com/vivaxy/vscode-conventional-commits/commit/15234f1a8405c1509f8721768422d24db2eebbda))

### Bug Fixes

- :bug: fix post-build action ([bc8f297](https://github.com/vivaxy/vscode-conventional-commits/commit/bc8f2979cd064db291ccd26174e1b8116811df4b))
- :lipstick: default activeItem to be the top choice ([70580af](https://github.com/vivaxy/vscode-conventional-commits/commit/70580afdaa3c5409c201ebf9ec6e575c3a453a40))

## [1.22.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.21.3...v1.22.0) (2021-08-27)

### Features

- :sparkles: add back button ([#183](https://github.com/vivaxy/vscode-conventional-commits/issues/183)) ([f5d17fb](https://github.com/vivaxy/vscode-conventional-commits/commit/f5d17fbf91d8f62f43915cd4acf24a6b1d6a20d8))

### Bug Fixes

- **deps:** update commitlint monorepo to v13 ([5c6f70e](https://github.com/vivaxy/vscode-conventional-commits/commit/5c6f70ef9842432d211e8ef2d6f7d94b640bad0a))

## [1.21.3](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.21.0...v1.21.3) (2021-06-26)

## [1.21.2](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.21.0...v1.21.2) (2021-06-26)

## [1.21.1](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.21.0...v1.21.1) (2021-06-26)

## [1.21.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.20.0...v1.21.0) (2021-04-26)

### Features

- **deps:** :arrow_up: update vscode engines ([153a685](https://github.com/vivaxy/vscode-conventional-commits/commit/153a6859489a2ae32e0c38d9e7e004ba6d842885)), closes [#141](https://github.com/vivaxy/vscode-conventional-commits/issues/141)

### Bug Fixes

- **readme:** :memo: fix the configuration mistake ([c59fba3](https://github.com/vivaxy/vscode-conventional-commits/commit/c59fba3b3c94baca9dd2ef1a52a7150cd01d71a9))

## [1.20.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.19.0...v1.20.0) (2021-04-08)

### Features

- **editor:** :sparkles: add option to allow keeping editor after saving files ([7d773c4](https://github.com/vivaxy/vscode-conventional-commits/commit/7d773c433c26f1c8dc7f1106c36ec1cc87e05b22)), closes [#128](https://github.com/vivaxy/vscode-conventional-commits/issues/128)
- **extension:** :sparkles: add new version note ([92e554c](https://github.com/vivaxy/vscode-conventional-commits/commit/92e554c9db64fc59bc71d00522728806e69e7f78))
- **extension:** :sparkles: add two commands about note ([d9e1118](https://github.com/vivaxy/vscode-conventional-commits/commit/d9e11186b35e96fd92fda02d854de660df59efc9))

## [1.19.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.18.2...v1.19.0) (2021-04-02)

### Features

- **body:** :sparkles: add option to remove body prompt ([a199912](https://github.com/vivaxy/vscode-conventional-commits/commit/a1999123e07f9df9ed7f3c63d38168d27f596984)), closes [#107](https://github.com/vivaxy/vscode-conventional-commits/issues/107)
- **footer:** :sparkles: add option to remove footer prompt ([46fc717](https://github.com/vivaxy/vscode-conventional-commits/commit/46fc717b82d3f13b37a33ea1f9f7d6576efca6e0)), closes [#107](https://github.com/vivaxy/vscode-conventional-commits/issues/107)

### Bug Fixes

- **commit-message:** :bug: fix the prompt context retaining issue ([#119](https://github.com/vivaxy/vscode-conventional-commits/issues/119)) ([cde052c](https://github.com/vivaxy/vscode-conventional-commits/commit/cde052ceafd3d5bc781af48eb05c441364bc9c53))
- **log:** :bug: fix repeated output of extension version ([bb809ae](https://github.com/vivaxy/vscode-conventional-commits/commit/bb809ae7f1046ae0fb85ce9e9fa14273169ddfd0))

## [1.18.2](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.18.1...v1.18.2) (2021-03-29)

### Bug Fixes

- **commitlint:** :bug: fix commitlint configuration loading issue ([f29c3a7](https://github.com/vivaxy/vscode-conventional-commits/commit/f29c3a776edd78d6335cf5e92adc48e3a8257411)), closes [#102](https://github.com/vivaxy/vscode-conventional-commits/issues/102)

## [1.18.1](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.18.0...v1.18.1) (2021-03-25)

### Bug Fixes

- **commitlint:** :bug: repair commitlint configuration failures ([#103](https://github.com/vivaxy/vscode-conventional-commits/issues/103)) ([b79bb31](https://github.com/vivaxy/vscode-conventional-commits/commit/b79bb316543dd31cb200cd6159142489cdfb5773)), closes [#102](https://github.com/vivaxy/vscode-conventional-commits/issues/102)

## [1.18.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.17.0...v1.18.0) (2021-03-22)

### Features

- **scope:** :sparkles: add option to disable scope prompt ([#95](https://github.com/vivaxy/vscode-conventional-commits/issues/95)) ([a35bc7b](https://github.com/vivaxy/vscode-conventional-commits/commit/a35bc7bdb0dcb1a28337770ebe139c053596098f)), closes [#43](https://github.com/vivaxy/vscode-conventional-commits/issues/43)

### Bug Fixes

- :pencil2: fix little typo ([#94](https://github.com/vivaxy/vscode-conventional-commits/issues/94)) ([e6a01cf](https://github.com/vivaxy/vscode-conventional-commits/commit/e6a01cff411419d6fc7be2c888c442c8dfd877b2))

## [1.17.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.16.1...v1.17.0) (2021-03-17)

### Features

- :package: use webpack to bundle extension ([#78](https://github.com/vivaxy/vscode-conventional-commits/issues/78)) ([60e7415](https://github.com/vivaxy/vscode-conventional-commits/commit/60e7415057add068f94ae89e13f3575627ce832b))

### Bug Fixes

- **localization:** :globe_with_meridians: fix localization missing by using the webpack ([f331c24](https://github.com/vivaxy/vscode-conventional-commits/commit/f331c24cbc1eb69d51115c968cb3c9eef1dcce99))
- **localization:** :globe_with_meridians: fix localization missing by using the wekpack ([#82](https://github.com/vivaxy/vscode-conventional-commits/issues/82)) ([1bc69b9](https://github.com/vivaxy/vscode-conventional-commits/commit/1bc69b917666e534ce84ec1cc1b367cf41f7f25c))

## [1.16.1](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.16.0...v1.16.1) (2021-03-11)

### Bug Fixes

- **actions:** :bug: fix the pushing commit before the publishing ([#65](https://github.com/vivaxy/vscode-conventional-commits/issues/65)) ([8117589](https://github.com/vivaxy/vscode-conventional-commits/commit/81175895c864b86a54cc026cd03cb113801a7e0d)), closes [#64](https://github.com/vivaxy/vscode-conventional-commits/issues/64)
- **actions:** :recycle: rebuild ci publish system ([#63](https://github.com/vivaxy/vscode-conventional-commits/issues/63)) ([70e785b](https://github.com/vivaxy/vscode-conventional-commits/commit/70e785b162a6ffc5cd4be3dafcfbd0abdf27a8da)), closes [#59](https://github.com/vivaxy/vscode-conventional-commits/issues/59)

## [1.16.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.15.1...v1.16.0) (2021-03-02)

### Features

- ✨ add new scope selection ([#51](https://github.com/vivaxy/vscode-conventional-commits/issues/51)) ([05a5b39](https://github.com/vivaxy/vscode-conventional-commits/commit/05a5b39c3e677104a9999e069ab74e8818212bc5)), closes [#50](https://github.com/vivaxy/vscode-conventional-commits/issues/50)

## [1.15.1](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.15.0...v1.15.1) (2021-02-24)

### Bug Fixes

- 🚑 fix the bug for locale unavailable ([7672206](https://github.com/vivaxy/vscode-conventional-commits/commit/76722068e7cdf64a5ad9feffccfd40d6bc231620)), closes [#52](https://github.com/vivaxy/vscode-conventional-commits/issues/52)

## [1.15.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.14.0...v1.15.0) (2021-02-23)

### Features

- :globe_with_meridians: support conventional commit types in chinese ([295cecd](https://github.com/vivaxy/vscode-conventional-commits/commit/295cecd9f0c3349be77eb711916df22ebacb2195)), closes [#47](https://github.com/vivaxy/vscode-conventional-commits/issues/47)

### Bug Fixes

- :bug: fix the extension language source ([2909708](https://github.com/vivaxy/vscode-conventional-commits/commit/2909708b0eecdec20dba9dfdcc44b146942d41f4))
- **deps:** update commitlint monorepo to v12 ([f6a1e57](https://github.com/vivaxy/vscode-conventional-commits/commit/f6a1e5757b3c8caa407fb7e7ca08006944541e25))

## [1.14.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.13.0...v1.14.0) (2021-02-15)

### Features

- add option to open the full commit message in a separate tab ([e519d11](https://github.com/vivaxy/vscode-conventional-commits/commit/e519d11306e3165ba880eb4709f6951592bd2929))

### Bug Fixes

- **typo:** workspacceFolders -> workspaceFolders ([7055a58](https://github.com/vivaxy/vscode-conventional-commits/commit/7055a58f25837200fe37366e4e152027ea77dbd7))

## [1.13.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.12.1...v1.13.0) (2020-11-10)

### Features

- :sparkles: support more commitlint rules ([c3168e0](https://github.com/vivaxy/vscode-conventional-commits/commit/c3168e07bbeac6d2ce65f52d59c914e6a529f9d1))

## [1.12.1](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.12.0...v1.12.1) (2020-10-09)

### Bug Fixes

- :bug: fix ts type ([117cf92](https://github.com/vivaxy/vscode-conventional-commits/commit/117cf92a1101792d66c9ae20a396f531ecab72fd))

## [1.12.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.11.1...v1.12.0) (2020-10-09)

### Features

- :globe_with_meridians: support chinese language ([cfabbc2](https://github.com/vivaxy/vscode-conventional-commits/commit/cfabbc2f6e5e8f064545fde1c9434c3b3bc36457))

### Bug Fixes

- **deps:** update commitlint monorepo to v11 ([1ec93cf](https://github.com/vivaxy/vscode-conventional-commits/commit/1ec93cfd594a3cb8170e9e3a5c2ddb3661ff3f37))
- **deps:** update dependency gitmojis to v3 ([4ccad4e](https://github.com/vivaxy/vscode-conventional-commits/commit/4ccad4e1ebbc9ea1c2def63579207b83e4288e86))

## [1.11.1](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.11.0...v1.11.1) (2020-08-26)

### Bug Fixes

- :bug: fix an error when nothing selected in quick picker ([cf15aa4](https://github.com/vivaxy/vscode-conventional-commits/commit/cf15aa4285864992e6d41d3b55b91fa4bc81b818))
- :bug: fix subject length lint not matching commitlint ([93922b2](https://github.com/vivaxy/vscode-conventional-commits/commit/93922b20be5bfaf2c30ec38cbe1af1a3c2ad9830)), closes [#30](https://github.com/vivaxy/vscode-conventional-commits/issues/30)

## [1.11.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.10.1...v1.11.0) (2020-08-18)

### Features

- :arrow_up: upgrade to the latest gitmoji ([607a5b0](https://github.com/vivaxy/vscode-conventional-commits/commit/607a5b0964861b83fbf069a05c91de9a7eec279d))

## [1.10.1](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.10.0...v1.10.1) (2020-07-15)

### Bug Fixes

- :bug: fix icon not displayed on SVM title when workspace is enabled ([0507aa9](https://github.com/vivaxy/vscode-conventional-commits/commit/0507aa96bfd4d9836955a1884dd5cf275e06c6c6))

## [1.10.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.9.0...v1.10.0) (2020-07-07)

### Features

- :sparkles: add subject-empty && modify subject-min-length message ([c7b1e8f](https://github.com/vivaxy/vscode-conventional-commits/commit/c7b1e8f510158ba544d6e22a0ddb1ae84d47e07f))
- :sparkles: subject is required && add subjectMinLength ([0e0f2df](https://github.com/vivaxy/vscode-conventional-commits/commit/0e0f2df132dd063b92311a55dc51766853f5af6f))
- :sparkles: support more commitlint rules ([89d7440](https://github.com/vivaxy/vscode-conventional-commits/commit/89d7440ae7d083310600b98cb98dc6d65758bb5e))

## [1.9.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.8.1...v1.9.0) (2020-07-06)

### Features

- :sparkles: support config emoji format ([bf54e57](https://github.com/vivaxy/vscode-conventional-commits/commit/bf54e57f286cae8cf7500b96afe1c1dff0510bf9)), closes [#19](https://github.com/vivaxy/vscode-conventional-commits/issues/19)

### Bug Fixes

- **deps:** update dependency @commitlint/load to v9 ([2829c97](https://github.com/vivaxy/vscode-conventional-commits/commit/2829c97d699a3d1f85a0627619ef0f9e7cee0c1e))

## [1.8.1](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.8.0...v1.8.1) (2020-06-15)

### Bug Fixes

- :bug: fix branch name is undefined when repo is detached ([e9c6945](https://github.com/vivaxy/vscode-conventional-commits/commit/e9c6945b1031883603c9482dc7a6875bed9cc317))

## [1.8.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.7.0...v1.8.0) (2020-06-12)

### Features

- :sparkles: support workspace ([70fbb83](https://github.com/vivaxy/vscode-conventional-commits/commit/70fbb83cd85574566fe5a9e670e2e441c7b01dd3))

## [1.7.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.6.2...v1.7.0) (2020-06-09)

### Features

- :sparkles: support custom commit types ([c4810d9](https://github.com/vivaxy/vscode-conventional-commits/commit/c4810d961776cf6396e673013f61ec1ddd88d205)), closes [#16](https://github.com/vivaxy/vscode-conventional-commits/issues/16)

## [1.6.2](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.6.1...v1.6.2) (2020-06-09)

### Bug Fixes

- :bug: fix an issue which results in an empty scope saved to the settings file ([640223f](https://github.com/vivaxy/vscode-conventional-commits/commit/640223fccbf1441fb5dc34d9980e4449979f2968))

## [1.6.1](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.6.0...v1.6.1) (2020-05-15)

### Bug Fixes

- :bug: fix `\\` treated as `\` ([f7bf9a5](https://github.com/vivaxy/vscode-conventional-commits/commit/f7bf9a5fcdf0cd66f18a6f644c19af66a38202df))

## [1.6.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.5.0...v1.6.0) (2020-05-15)

### Features

- :sparkles: add `lineBreak` option ([3f5a18e](https://github.com/vivaxy/vscode-conventional-commits/commit/3f5a18e7d373854acecb453cde84c76253c74fbe)), closes [#10](https://github.com/vivaxy/vscode-conventional-commits/issues/10)

## [1.5.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.4.4...v1.5.0) (2020-05-08)

### Features

- :sparkles: read scopes from commitlint config ([1b77af0](https://github.com/vivaxy/vscode-conventional-commits/commit/1b77af05d84e9bd9ac67b9e554d519046577293e)), closes [#11](https://github.com/vivaxy/vscode-conventional-commits/issues/11)

## [1.4.4](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.4.3...v1.4.4) (2020-05-07)

## [1.4.3](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.4.2...v1.4.3) (2020-05-07)

## [1.4.2](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.4.1...v1.4.2) (2020-05-06)

## [1.4.1](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.4.0...v1.4.1) (2020-05-01)

### Bug Fixes

- :bug: fix `cannot find module` ([3cce3c8](https://github.com/vivaxy/vscode-conventional-commits/commit/3cce3c822bdd6f41eb982fe2a00b78caad3660b5))

## [1.4.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.3.0...v1.4.0) (2020-04-28)

### Features

- :sparkles: always show none value and new scope item ([2e2952f](https://github.com/vivaxy/vscode-conventional-commits/commit/2e2952f64498614c747f311a31f12269598710b9))
- :sparkles: supports commitlint max length rules ([6b93fc9](https://github.com/vivaxy/vscode-conventional-commits/commit/6b93fc9af76c38e5f55a60bd53a68685c3720a1a))

## [1.3.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.2.0...v1.3.0) (2020-04-21)

### Features

- :sparkles: Persist prompts on focus out ([80ef1d8](https://github.com/vivaxy/vscode-conventional-commits/commit/80ef1d8bfecba103977d5885c691ce2a4af3fc97)), closes [#5](https://github.com/vivaxy/vscode-conventional-commits/issues/5)

## [1.2.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.1.1...v1.2.0) (2020-04-02)

### Features

- :sparkles: support commits in git subdirectories ([4e001cd](https://github.com/vivaxy/vscode-conventional-commits/commit/4e001cdfe135bcf8dee23e4e15e81c5e4686608c))

## [1.1.1](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.1.0...v1.1.1) (2020-03-31)

## [1.1.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v1.0.0...v1.1.0) (2020-03-31)

### Features

- :sparkles: supports remember previous scopes ([9f91e30](https://github.com/vivaxy/vscode-conventional-commits/commit/9f91e303d1bb37a20c3950544175f457ced0f9a1)), closes [#2](https://github.com/vivaxy/vscode-conventional-commits/issues/2)
- **scope:** :sparkles: limit scope to existing scopes with the ability to add new scopes ([643f689](https://github.com/vivaxy/vscode-conventional-commits/commit/643f68973b75daaca4ce0a01979cc328d61ee583))
- :sparkles: add step indicators ([6a98690](https://github.com/vivaxy/vscode-conventional-commits/commit/6a9869027110917d1d1545483d47b4f5443a4254))

### Bug Fixes

- :bug: fix commit message with extra space words ([b4d2802](https://github.com/vivaxy/vscode-conventional-commits/commit/b4d2802d8be374aa7e75127c51fe3f38f4e92279))

## [1.0.0](https://github.com/vivaxy/vscode-conventional-commits/compare/v0.0.7...v1.0.0) (2020-03-27)

### Features

- :sparkles: support disable gitmoji ([d55b16e](https://github.com/vivaxy/vscode-conventional-commits/commit/d55b16ec121c130d48315599be663b02d43c5a5b)), closes [#4](https://github.com/vivaxy/vscode-conventional-commits/issues/4)

## [0.0.7](https://github.com/vivaxy/vscode-conventional-commits/compare/v0.0.6...v0.0.7) (2020-03-27)

### Features

- :sparkles: support auto commit ([c22919e](https://github.com/vivaxy/vscode-conventional-commits/commit/c22919ef3fa0c6449f82b1c7af800ef97e8c38c7)), closes [#3](https://github.com/vivaxy/vscode-conventional-commits/issues/3)

## [0.0.6](https://github.com/vivaxy/vscode-conventional-commits/compare/v0.0.5...v0.0.6) (2020-03-25)

## [0.0.5](https://github.com/vivaxy/vscode-conventional-commits/compare/v0.0.4...v0.0.5) (2020-03-25)

### Features

- :sparkles: add extension icon ([b23025b](https://github.com/vivaxy/vscode-conventional-commits/commit/b23025b7784d95c777a86874e9f188e6d6889f4e))

## [0.0.4](https://github.com/vivaxy/vscode-conventional-commits/compare/v0.0.3...v0.0.4) (2020-03-24)

### Features

- :truck: rename extension name ([d205626](https://github.com/vivaxy/vscode-conventional-commits/commit/d2056267022d10bfe91ade6fc3d9a336f7d09dbb))

## [0.0.3](https://github.com/vivaxy/vscode-conventional-commits/compare/v0.0.2...v0.0.3) (2020-03-24)

### 0.0.2 (2020-03-24)

### Features

- :sparkles: init ([a8c2a57](https://github.com/vivaxy/vscode-conventional-commits/commit/a8c2a57a1d754eebb5f5de620bf010c2eae1c8de))
- :sparkles: initial commit ([3dec3d5](https://github.com/vivaxy/vscode-conventional-commits/commit/3dec3d5c86a304e5f354d7d464d3633bbc92250f))

repository: vivaxy/vscode-conventional-commits

repo_name: vivaxy/vscode-conventional-commits


text:
# tello32
Fly the Ryze Tech Tello by DJI with a gamepad attached to your PC. It works with [XInput](https://docs.microsoft.com/en-us/windows/win32/xinput/xinput-game-controller-apis-portal) devices or [DirectInput](https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ee416842(v=vs.85)) devices and uses the [Tello SDK](https://dl-cdn.ryzerobotics.com/downloads/Tello/Tello%20SDK%202.0%20User%20Guide.pdf).

Only the most basic controls are supported (no video, no flight modes, etc.).

## Controls

The controls are in mode 2. Press Y to takeoff and A to land. Pressing B will query the battery status and cause it to be displayed in the console window. When all four shoulder buttons are pressed simultaneously, the drone will fall to the ground.

**Important:** The drone needs to be set to SDK mode before it will process commands. However, the mode resets when the drone is turned off. Since this program enables SDK mode only during startup, you need to restart this program whenever the drone is turned off.

## Building
###### Visual Studio

As Microsoft Visual Studio is unable to create a solution in an existing directory, the solution/project needs to be created first after which the code can be cloned into the solution directory (as described [here](https://stackoverflow.com/questions/2411031/how-do-i-clone-into-a-non-empty-directory)) and the resulting files can then be added to the project.

license: MIT

branch_name: refs/heads/master

extension: md

license_type: permissive


text:
---
title: "Obituary"
---

<img align="left" src="/uploads/(1a) 5.jpg" width="256px" style="padding: 0 1.5em 0 0;">

## Sally Anthony Taylor

**September 24, 1938 - June 5, 2020**

Sally Anthony Taylor peacefully passed from her earthly-home in Ames, IA to her heavenly-home on June 5, 2020--culminating a wonderful and rich lifetime of experiences.

Sally Anthony was born September 24, 1938 to Ray & Marion Anthony in Norseland, MN. She graduated from high school at Bethany Lutheran College in Mankato, MN in 1956. She attended Iowa State University-- graduating with her BSc degree in Textiles & Clothing in 1960, and her MSc degree in Textiles & Clothing, with a minor in education, in 1964. On July 4, 1964, she joined Donald C. Taylor in marriage at the Norseland Lutheran Church in MN.

Sally is survived by her husband Don; their three children: Stacia (Brian) Steward in Ames, IA, Chris (Catherine) in Brookfield, WI, & Terry (Nicole) in Piedmont, CA; eight grandchildren--Timothy, Benjamin, Simeon, & Micah Steward (IA), Topher & Stephanie Taylor (WI), and Christian & Caroline Taylor (CA); her sister Joy (Fred) Struck in St Peter, MN, and her sister-in-law Dotty Anthony in Norseland, MN. She was preceded in death by her parents, Ray & Marion Anthony; her brother, Larry Anthony; & an infant son, Timothy.

Sally & Don were greatly blessed to live their 80+ years in roughly equal "20-year" segments: growing up in their respective homes; one-half their professional careers in Asia--in Lebanon, India, Indonesia, & Malaysia;  the other half in Brookings, SD; & the final segment of retirement in Ames.

Sally had a heart to serve others and was an accomplished cook, baker, & seamstress. Her latter accomplishments included sewing Don's university graduation-gown & hood and Stacia's wedding & bridesmaids' dresses. She deeply loved her children and was effective in teaching them to be persons of character & talent.

Prior to having children, Sally taught elementary school at the American Community School in Beirut, Lebanon and later at the International School of Kuala Lumpur, Malaysia. She was a wonderful stay-at-home Mom and volunteered at church and in the community.

On this website, you can find links to view the memorial service, share memories with the family, schedule a time to video call the family, or donate to the memorial.


text:
# kinesis

Kinematic modelling of clusters with the [Gaia](https://www.cosmos.esa.int/web/gaia/home) data.

[![codecov](https://codecov.io/gh/smoh/kinesis/branch/master/graph/badge.svg)](https://codecov.io/gh/smoh/kinesis)

Kinesis is a package for fitting the internal kinematics of a star cluster
with astrometry and (incomplete) radial velocity data of its members.
In the most general model, the stars can be a mixture of background (contamination)
and the cluster, for which the (3,3) velocity dispersion matrix and
velocity gradient (dv_x/dx, dv_y/dx, ...) are included.
Please refer to [Oh & Evans 2020](https://ui.adsabs.harvard.edu/abs/2020MNRAS.498.1920O) for full details.
There are also simpler versions of the most general model and
utilities to generate mock clusters and mock observations.

Check out the [documentation](https://smoh.space/kinesis) (it is under
development and may be incomplete).

## Attribution

If you make use of this code, please cite [Oh & Evans 2020](https://ui.adsabs.harvard.edu/abs/2020MNRAS.498.1920O).
The bibtex entry is:

```
@ARTICLE{2020MNRAS.498.1920O,
       author = {{Oh}, Semyeong and {Evans}, Neil Wyn},
        title = "{Kinematic modelling of clusters with Gaia: the death throes of the Hyades}",
      journal = {\mnras},
     keywords = {methods: data analysis, software: data analysis, astrometry, stars: distances, stars: fundamental parameters, open clusters and associations: individual: Hyades, Astrophysics - Solar and Stellar Astrophysics, Astrophysics - Astrophysics of Galaxies},
         year = 2020,
        month = oct,
       volume = {498},
       number = {2},
        pages = {1920-1938},
          doi = {10.1093/mnras/staa2381},
archivePrefix = {arXiv},
       eprint = {2007.02969},
 primaryClass = {astro-ph.SR},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2020MNRAS.498.1920O},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
```

repository: smoh/kinesis

gha_language: Jupyter Notebook

gha_license_id: MIT

repo_name: smoh/kinesis


text:
# Robinhood Ticker

![GitHub version](https://d25lcipzij17d.cloudfront.net/badge.svg?id=gh&type=6&v=3.0.0&x2=0) ![Open Source Love](https://badges.frapsoft.com/os/mit/mit.svg?v=102)

Easily track the performance of your Robinhood stock portfolio just by glancing at the your computer's menubar. Robinhood Ticker uses the [unofficial Robinhood API](https://github.com/sanko/Robinhood) to authenticate with and retrieve data from the Robinhood servers. Your credentials and portfolio information are **never** stored or sent to any third party.

## Getting Started

The latest release for MacOS and Windows is version 3.0.0: https://github.com/peniqliotuv/robinhood-ticker/releases/tag/v3.0.0

## Features

- Tracking the total value of your stock portfolio

- Tracking your portfolio/watchlist with an interactive chart

- Searching for equities traded on Robinhood

- Tracking the performance of each individual asset in your portfolio

- Changing between percent change and gain/loss in USD

- Automatic updates

- Supports two-factor authentication

## More Screenshots

Authenticating with Robinhood

Chart view

Search

## Releases

Latest Release: https://github.com/peniqliotuv/robinhood-ticker/releases/tag/v3.0.0

## Built With

- [Electron](https://electronjs.org/)
- [Chartist](http://gionkunz.github.io/chartist-js/index.html)
- [Mousetrap](https://github.com/ccampbell/mousetrap)
- [Countup.js](https://github.com/inorganik/CountUp.js)
- Vanilla Javascript ❤

## License

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


text:
Hi there , I am Prem 👨💻

[![](https://img.icons8.com/color/32/000000/linkedin.png)](https://linkedin.com/in/premchandra-singh)
[![](https://img.icons8.com/color/32/000000/twitter.png)](#)
[![](https://img.icons8.com/plasticine/32/000000/gmail.png)](mailto:premchandra.singh.5268@gmail.com?Subject=From_GitHub)

![](https://komarev.com/ghpvc/?username=pcsingh&color=brightgreen&style=flat)

---

[![WhatsApp Chat Analyzer](https://github-readme-stats.vercel.app/api/pin/?username=pcsingh&repo=WhatsApp-Chat-Analyzer)](https://github.com/pcsingh/WhatsApp-Chat-Analyzer)

                                      [![Style Transfer](https://github-readme-stats.vercel.app/api/pin/?username=pcsingh&repo=Neural_Style_Transfer)](https://github.com/pcsingh/Neural_Style_Transfer)

---

### Data Science related projects:

|                                                                                |                                                                                |
|:-------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------:|
| [Spam filter for phone messages](https://github.com/pcsingh/Spam-filter-for-Phone-Messages)                   | [Predicting the Upvotes](https://github.com/pcsingh/Predicting-the-Upvotes)                 |
| [Mushroom classification WebApp](https://github.com/pcsingh/ML-WebApp-with-Streamlit-and-Python)              | [Popular Data Science questions](https://github.com/pcsingh/Popular-Data-Science-Questions) |
| [Predicting-Stock-Market](https://github.com/pcsingh/Predicting-Stock-Market)                                 | [Best market for Advertisement](https://github.com/pcsingh/Best-Market-For-Advertisement)   |
| [Predicting bikes on rent](https://github.com/pcsingh/Predicting-Bikes-On-Rent)                               | [Scraping Movie Data](https://github.com/pcsingh/scraping_movie_data)                       |
| [WhatsApp Chat Analyzer](https://github.com/pcsingh/WhatsApp-Chat-Analyzer)                                   | [Data Science Dashboard](https://github.com/pcsingh/Data-Science-Dashboard)                 |
| [Traffic Signal Classification using Deep Learning](https://github.com/pcsingh/Traffic-Signal-Classification) | [Neural Style Transfer](https://github.com/pcsingh/Neural_Style_Transfer)                                                                                |
|                                                                                |                                                                                |

### Web based projects:
- [GitHub Profile Finder](https://github.com/pcsingh/Github-Profile-Finder)
- [Real Estate App](https://github.com/pcsingh/Real_Estate_App)
- [WhatsApp Chat Analyzer](https://github.com/pcsingh/WhatsApp-Chat-Analyzer)
- [Data Science Dashboard](https://github.com/pcsingh/Data-Science-Dashboard)
- [Contact Keeper](https://keepyourcontacts.herokuapp.com/login)

---

[![Prem's github stats](https://github-readme-stats.vercel.app/api?username=pcsingh&hide=stars&count_private=true&include_all_commits=true&show_icons=true&theme=algolia)](https://github.com/pcsingh/github-readme-stats)


text:
# Cursor

Cursor is a type within a client (like MongoKitten) that points to a set of results from a query.
This query can be a [find](find.md) or [aggregate](aggregates.md) operation.

FindOne technically also uses a cursor, but will automatically select the first (and only) result if it exists.

### (Un-)finalized

In MongoKitten we represent cursor as two public types, alongside an internal one.
All cursor types except `Finalized` are in an "unfinalized" state.

These cursors are essentially a wrapper around an operation, such as find or aggregate, that will be implicitly executed when read.
The only other type, the finalized cursor, can not be executed anymore since they're in a state of reading.

All cursors except finalized cursors will become a finalized cursor when executed.
You can not initialize your own finalized cursor, it has to be done through an uninitialized cursor provided by MongoKitten.

## Common use cases

There are a few patterns that are common when using cursors. Most of the time your action can be solved with (a combination of) the following operations.

### decode

`decode` is a feature that is only usable on a cursor of `Document`'s, these are the initial cursors that are returned when working with a `find` or `aggregate` operation.
Decode requires a `Decodable` type as an argument, such as `User.self`. The optional second argument is a preconfigured [BSONDecoder](bson-codable-settings.md) that can be used to modify the behaviour of the decoding process.

**Usages**

```swift
// Arbitrary query
users.find("age" > 40 && "age" < 50).decode(User.self).forEach { user in
    print(user.username)
}
```

### map

Mapping a cursor is similar to the `map` function on an `EventLoopFuture` (in Vapor `Future`).
You can think of cursor as an Asynchronous `Sequence`. It can be read once, from front to back and every value is created asynchronously.

`map` works like any array/sequence's map, transforming the type's contained values from one type to another using the provided function/closure.
This process is more efficient than using `getAllResults`, because the transformations are done in smaller chunks. This allows the memory usage to stay far lower than would be possible when mapping the array returned from `getAllResults` and is far more scalable.

**Usages**

Mapping a User object to return just the username from a `User` object:

```swift
// Arbitrary query
users.find("age" > 40 && "age" < 50).decode(User.self).map { user in
    return user.name
}.forEach { username in
    print(username)
}
```

Mapping a document to return just the username without decoding it first.

```swift
// Arbitrary query
enum MyCustomErrors: Error {
    case missingField(String)
}

users.find("age" > 40 && "age" < 50).project(["username"]).map { document in
    guard let username = document["username"] as? String else {
        throw MyCustomErrors.missingField("username")
    }

    return username
}.forEach { username in
    print(username)
}
```

### forEach

`forEach` takes each value in the cursor from the current position forward and calls the provided closure with each result
This works brilliantly when chained behind a cursor mapped with the `decode` and/or `map` functions.
Throwing from the callback closure will stop the entire iteration process.

`forEach` is a really strong replacement for iterating over `getAllResults` because it's far more efficient on memory which improves it's scalability.
Because it throws an error when iterating, this prevents the cursor for doing any additional unnecessary effort for the query when it's cancelled.
This is another big performance gain over `getAllResults`.

`forEach` also returns an `EventLoopFuture<Void>` which is completed when `forEach`. If the operation was cancelled due to an error being thrown, the future will not be completed successfully but failed with the thrown error instead.

**Usages**

Iterating over all users

```swift
users.find().forEach { document in
    print(document)
}
```

```swift
let completed = users.find().decode(User.self).forEach { user in
    user.sendNotification()
}

return completed.map {
    return "All users received the notification!"
}
```

### getFirstResult

The `getFirstResult` function will fetch exactly one more entity from the cursor. Normally this is useful when a query is executed that is known to have only 1 result, however it can be used to slowly but surely drain the cursor one document at a time.

**Usages**

```swift
users.find().getFirstResult().decode(User.self).onSuccess { user in
    if let user = user {
        print(user.username)
    }
}
```

### getAllResults

`getAllResults` is the simplest method of draining a cursor. The entire cursor will be put into one (big) array containing all entities. It's the most efficient and easy to use method when you want to fetch all entities at the same time, especially if it's unconditionally.

**Usages**

```swift
let usersJSON = users.find().getAllResults().map { users in
    return try JSONEncoder().encode(users)
}
```

repository: StefanoDeVuono/MongoKitten

branch_name: refs/heads/crud-tests

gha_language: Swift

repo_name: StefanoDeVuono/MongoKitten


text:
# pokemon-go
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg)](code-of-conduct.md)
[![GoDoc](https://godoc.org/github.com/Sigafoos/pokemongo?status.svg)](https://godoc.org/github.com/Sigafoos/pokemongo)

A library for dealing with Pokemon Go CP and IVs.

It requires you to have a `gamemaster.json` file in the same format as what PVPoke uses. The easiest way would be to... use PVPoke's:

```
curl -O https://raw.githubusercontent.com/pvpoke/pvpoke/master/src/data/gamemaster.json
```

## Usage
Here's an example `main.go`. It:

* loads the gamemaster file
* looks up Wobbuffet by its Pokedex number
* sets its level and IVs
* calculates its CP and stat product
* prints the object

```go
package main

import (
	"fmt"
	"os"

	"github.com/Sigafoos/pokemongo"
)

func main() {
	fp, err := os.Open("gamemaster.json")
	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}
	defer fp.Close()

	gm, err := pokemongo.NewGamemaster(fp)
	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}

	wob := gm.PokemonByNumber(202)
	wob.Level = 23.5
	wob.IVs = pokemongo.Stats{
		Attack:  10,
		Defense: 13,
		HP:      12,
	}
	wob.Calculate()
	fmt.Printf("%+v\n", wob)
}
```

repository: Sigafoos/pokemongo

repo_name: Sigafoos/pokemongo


text:
# İETT Next Departures
This alfred workflow shows next departures from beautiful Istanbul's bus service İETT. It uses data from İETT's website.

# Install
[Download](https://github.com/ttuygun/alfred-iett-workflow/blob/master/%C4%B0ETT%20Next%20Departures.alfredworkflow) workflow and start to use it!

# Usage
ie keyword continues with route number like 15c or 522.
* ie 15c
* ie 522

Note: This is the initial release of workflow. Lots of error handling, auto-updating and changing direction of bus feature is coming.

Script created by Tarık Taha Uygun

# Copyright and License
This script created by Tarık Taha Uygun and released under MIT license.

repository: ttuygun/alfred-iett-workflow

repo_name: ttuygun/alfred-iett-workflow


text:
# Max CSV / TSV Tools
Version 0.7

by Adam Murray

Latest version: https://github.com/adamjmurray/max_csv_tools/archive/master.zip

## INSTALLATION

Put this folder somewhere on your Max search path (see Options -> File Preferences)

Get started with the maxhelp file for cellblock2csv or csv2cellblock

## LIMITATIONS

csv2cellblock only works with tsv (tab separated value) formatted files.
It also doesn't handle tabs inside a spreadsheet cell.

Most spreadsheets can export as tsv, so this should work for the majority of use
cases. If you need to convert a csv to tsv, you can do that for free with Google Spreadsheets.

## ABOUT

This is an add-on for [Cycling '74 Max](https://cycling74.com/max7/)

CSV/TSV is a format supported by spreadsheet programs, so you can use this to edit data
from Max in an application like Excel or OpenOffice.

------------------------

Copyright (c) 2009-2020 Adam Murray (adam [at] compusition . com)

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.


text:
#  Hide Unwanted - Chrome Extension :sparkles:

This extension will help you to stay focused and improve productivity.
Easily block any distracting or harmful websites and stop procrastination once and for all!
Simply Hide unwanted links and Websites - No willpower necessary.

# Features
- **Stay Focused**:
Hide Unwanted empowers you to stop procrastinating and stay focused. Avoid procrastination and increase productivity by removing distractions from your life and work!

- **Control Your Browsing**
 Make sure your internet usage is productive and effective. Hide social media sites, adult content, gambling sites, adware or malware popups or any other sites you find disturbing.

# How To Use?
- Clone this repository or download as a zip file
- Incase you downloaded as a zip, unzip it
- Open Google Chrome
- Go to `chrome://extensions`
- Click on `Load Unpacked` which you can see in the top left side.
- Select the path where you cloned/downloaded this project.
- An icon  should appear besides your Chrome Search bar.
- That's all :D Stay Focued!!

repository: manavshrivastavagit/hideunwanted

repo_name: manavshrivastavagit/hideunwanted


text:
# realtime_transportlayer
learning kafka

## Theory

### Guarantees
- Messages are always appended in an order to the topic::partition
- Messages are always read by the consumes in the same order as stored
- If you have _n_ replication factor, it is guaranteed to operate even when _n-1_ brokers go down
- Tip: Have at least 3 replication factor. Because one can be maintained while the other works as a backup for unexpected impacts.

## Installation on Windows
- download Java 8 sdk (needs oracle account)
- download latest Kafka version (2.4 in this case)
- Install Java 8 sdk
- winRAR kafka file and place it in a sane path: (C:\softwares\kafka>bin\windows\kafka-topics.bat)
- add it to env Path
- Edit zookeeper.properties found in the config folder and replace _dataDir=/tmp/zookeeper_ with _dataDir=C:/softwares/kafka/data/zookeeper_. Make sure _C:/softwares/kafka/data/zookeeper_ is created in the first place.
- Launch zookeeper: _C:\softwares\kafka>zookeeper-server-start.bat config\zookeeper.properties_ (ensure to see this on command line: INFO ... <IP_ADDRESS>/<IP_ADDRESS>:2181)
- Edit server.properties by replacing _log.dirs=/tmp/kafka-logs_ with _log.dirs=C:\softwares\kafka\data\kafka_. Ensure the directory exists in the firstplace.
- Launch Kafka server: _C:\softwares\kafka>kafka-server-start.bat config\server.properties_

## Kafka CLI
- Run both the servers (Refer _Launch_ topics in the installation section above)
- Execute: _C:\softwares\kafka>kafka-topics --zookeeper <IP_ADDRESS>:2181 --topic first_topic --create --partitions 3 --replication-factor 2_. This will fail as we are running only one server (broker) and trying to replicate twice (or on two different servers)
- Hence change the command to: _C:\softwares\kafka>kafka-topics --zookeeper <IP_ADDRESS>:2181 --topic first_topic --create --partitions 3 --replication-factor 1_
- Now list all the Kafka topics: _C:\softwares\kafka>kafka-topics --zookeeper <IP_ADDRESS>:2181 --list_
- details of first topic: _C:\QSD\learn\kafka\realtime_transportlayer>kafka-topics --zookeeper <IP_ADDRESS>:2181 --topic first_topic --describe_
- Delete the topic: _kafka-topics --zookeeper <IP_ADDRESS>:2181 --topic second_topic --delete_


text:
Lab: Image Gallery Day 1
===

Work in pairs to create a full-stack image gallery app

## App

The app allows users to create albums and the add images to those albums.

The `App` component should have at least a header, nav and footer plus a main area whose
content is controlled by the router and whose layout is controlled by css grid, css, and media queries.

The `AlbumDetail` component (displayed at route `/albums/:id`) has a sub-route area that displays
one of three image views or the new image form

## Client side routes

We won't be implementing all of these routes on day 1, but here is complete overview:

route | description
---|---
`/` | Home/Dashboard page (provide link to `/albums`)
`/about` | About page (make something up)
`/albums` | List of albums (name plus posterImage - only name for today!)
`/albums/new` | Add a new album
`/albums/:id` | Album detail route with name and description that has sub-routes (listed below)
`/albums/:id/images/thumbnail` | Album detail with sub-route of thumbnails of images
`/albums/:id/images/gallery` | Album detail with sub-route of gallery image viewer
`/albums/:id/images/list` | Album detail with sub-route of tabular list of image data
`/albums/:id/images/new` | Album detail with sub-route for adding a new image
`/images` | searchable list of all images (in thumbnail view)

## Data

model | properties
---|---
Album | id, title, description, posterImage
Image | id, albumId, title, description, url

## Day 1 Requirements

1. ~~Create Route sketches and consider Responsive layout. Goal is to understand how the
app will behave at each supported breakpoint for each supported route~~
1. ~~Consider and decide on color schemes and font~~
1. ~~Using CSS Grid and React Router, implement routes and sub-routes with static components and
placeholder components for data-driven routes~~
1. Using `redux` in the app (plus `promise` and `thunk` middleware), and standard express/mongoose/mongodb back-end, implement the components
for the `/albums` and `/albums/new` routes. For these routes:
    1. Draw out decomposed UIs
    1. List out state (things that change over time)
    1. List out general actions (things that will happen that change state)
    1. Draw out tree view of components and what data and actions they require
    1. Per route view:
        1. Implement component presentation using static data
        1. TDD Reducers
        1. TDD Actions
            1. Mock services!
        1. TDD Selectors
        1. Implement service apis in client app
        1. Implement need routes/models on server
        1. Integrate actions and store via connect with component and make based on props

## Rubric

* Plan/sketch/design out routes, responsive layout, components (submit images) **3pts**
* Responsive CSS Grid Layout **2pts**
* albums reducers and actions **4pts**
* Clean, organized project and code **1pt**

repository: hnrzzle/image-gallery

gha_language: JavaScript

repo_name: hnrzzle/image-gallery


text:
**DEBUG="*"** Allows to display all possible debug logs in ~/.pm2/pm2.log

## Install PM2 development

```bash
npm install git://github.com/Unitech/pm2#development -g
```

## Launch the tests

Master: [![Build Status](https://img.shields.io/travis/Unitech/pm2/master.svg?style=flat-square)](https://travis-ci.org/Unitech/pm2)

Dev   : [![Build Status](https://img.shields.io/travis/Unitech/pm2/development.svg?style=flat-square)](https://travis-ci.org/Unitech/pm2)

Just try the tests before using PM2 on your production server:

```bash
git clone https://github.com/Unitech/pm2.git
cd pm2
npm install  # Or do NODE_ENV=development npm install if some packages are missing
npm test
```

If a test is not correctly working, please report issues [here](https://github.com/Unitech/pm2/issues?state=open).
You should also make sure that you have all dependencies needed.
For Ubuntu:

```bash
sudo apt-get install build-essential
# nvm is a Node.js version manager - https://github.com/creationix/nvm
wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
nvm install 4
nvm use 4
```


text:
# Cov-MS-scoring

This repository contains the code and results for an initial exploration of machine learning-based scoring of mass spectrometry-based SARS-CoV-2 diagnostic testing. Feedback and suggestions are welcome in the [issue tracker](https://github.com/compomics/Cov-MS-scoring/issues).

All information, code, and results are available in a Jupyter Notebook, which can be
easily opened statically with Jupyter, or interactively with Binder:

[![nbviewer](https://img.shields.io/badge/open-nbviewer-purple.svg?style=square)](https://nbviewer.jupyter.org/github/compomics/Cov-MS-scoring/blob/main/Cov-MS-scoring.ipynb)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/compomics/Cov-MS-scoring/HEAD)

This project is part of the Cov-MS manuscript:

> Cov-MS: a community-based template assay for clinical MS-based protein detection in Sars-Cov-2 patients

repository: compomics/Cov-MS-scoring

branch_name: refs/heads/main

repo_name: compomics/Cov-MS-scoring


text:
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [6.0.7] - 2022-06-26

### Fixed
- Change return type of helper methods in `DbContextHelpers` from `obj` to `'a`

## [6.0.6] - 2022-01-16

### Fixed
- Prevent ManyServiceProvidersCreatedWarning exception - https://github.com/efcore/EFCore.FSharp/pull/130
- Helper methods should allow composite keys - https://github.com/efcore/EFCore.FSharp/pull/131
- AlterColumn operations no longer create unnecessary migrations - https://github.com/efcore/EFCore.FSharp/pull/133

## [6.0.5] - 2021-11-30

### Fixed
- AlterColumn operations no longer emit compiler warnings - https://github.com/efcore/EFCore.FSharp/pull/125

### Known Issues
- AlterColumn operations are being created in what should be empty migrations. No effect on functionality but shouldn't be happening - associated issue - https://github.com/efcore/EFCore.FSharp/issues/126

## [6.0.4] - 2021-11-29

### Fixed
- Fix compilation error in generated migrations - https://github.com/efcore/EFCore.FSharp/pull/123

### Added
- Support for Check Constraints in Migrations - https://github.com/efcore/EFCore.FSharp/pull/123

## [6.0.3] - 2021-11-21

### Fixed
- Fix compilation error in generated migrations - https://github.com/efcore/EFCore.FSharp/pull/122

## [6.0.2] - 2021-11-13

### Fixed
- Fix compilation errors in scaffolded Many-to-Many joins - https://github.com/efcore/EFCore.FSharp/pull/119

## [6.0.1] - 2021-11-10

### Fixed
- Issue with generated records using Many-to-Many joins

## [6.0.0] - 2021-11-09

### Added
- Support EF Core 6.0
- Many-to-Many relationships now scaffolded without joining table
- Temporal tables in SQL Server supported

## [5.0.3] - 2021-10-16

### Fixed
- Fix formatting of Nullable parameters - [@LiteracyFanatic](https://github.com/LiteracyFanatic) - https://github.com/efcore/EFCore.FSharp/pull/106

### Added
- Translations for `isNull` to be evaluated in-database - https://github.com/efcore/EFCore.FSharp/pull/114
- Single case union support - [@lucasteles](https://github.com/lucasteles) - https://github.com/efcore/EFCore.FSharp/pull/98
- Query translation for Option types - [@lucasteles](https://github.com/lucasteles) - https://github.com/efcore/EFCore.FSharp/pull/93
- DbSet/IQueryable helpers to deal with EF Core async and nullable methods - [@lucasteles](https://github.com/lucasteles) - https://github.com/efcore/EFCore.FSharp/pull/94
- Automatic registration of DesignTimeServices - https://github.com/efcore/EFCore.FSharp/pull/86
- DbContextHelpers - curried functions for interacting with DbContext to allow for a more 'native' F# experience
[Unreleased]: https://github.com/efcore/EFCore.FSharp/compare/v6.0.7...HEAD
[6.0.7]: https://github.com/efcore/EFCore.FSharp/compare/v6.0.6...v6.0.7
[6.0.6]: https://github.com/efcore/EFCore.FSharp/compare/v6.0.5...v6.0.6
[6.0.5]: https://github.com/efcore/EFCore.FSharp/compare/v6.0.4...v6.0.5
[6.0.4]: https://github.com/efcore/EFCore.FSharp/compare/v6.0.3...v6.0.4
[6.0.3]: https://github.com/efcore/EFCore.FSharp/compare/v6.0.2...v6.0.3
[6.0.2]: https://github.com/efcore/EFCore.FSharp/compare/v6.0.1...v6.0.2
[6.0.1]: https://github.com/efcore/EFCore.FSharp/compare/v6.0.0...v6.0.1
[6.0.0]: https://github.com/efcore/EFCore.FSharp/compare/v5.0.3...v6.0.0

gha_language: F#


text:
Intelligent Job Scrapper

  This project crawls and scraps Canada's most popular job posting websites to see what skill are associate with your a specific technology-based job.

   Note: This project was reposted from the original repository. This was a collaborative project and I did not build it alone.

## Table of Contents
* [About The Project](#about-the-project)
* [Getting Started](#getting-started)
  * [Prerequisites](#prerequisites)
  * [Setup](#setup)
	  *  [Server](#server)
	  * [Web Client](#web-client)
 * [Usage](#usage)
* [Contributors](#Contributors)
* [Contact](#contact)

## About The Project

**Note:** *This repository is a **duplicate** of the original project. I decided to duplicated so I could have more control over the read-me file you are reading now. Please acknowledge that [guzbandu](https://github.com/guzbandu) and [sahajarora1286](https://github.com/sahajarora1286) both contributed in making this awesome project a reality. If you want to see the original please check it out [here](https://github.com/guzbandu/comp4601-Project).*

This project crawls a handful of job posting websites that are popular in Canada and, provided a job title term like: 'Database Engineer' or 'Data Scientist' scraps relevant job posting to see what are the top skills that are currently popular with said job.

This project is a **fullstack project** as it implements a REST back-end and front-end system.

As a recent computer science grade, I thought this project was really useful because it seems every company has a different preference of technologies to master so understanding what skills are appreciated across multiple industries is really helpful.

## Getting Started

This project was developed with Java and a slew of other technologies. Please Follow the instructions bellow carefully to download and run the project. If you have any issues please feel free to email me at<EMAIL_ADDRESS>. I would be happy to help or fix any issues you run into.

### Prerequisites

Here the things you need to run the code:
* Java 8
```sh
npm install java
```

* Maven
```sh
npm install maven
```
* Ionic and Cordova
```sh
npm install -g ionic cordova
```
 * Node.js 8.4: [download](https://nodejs.org/en/blog/release/v8.4.0/)

* MongoDB : [download](https://www.mongodb.com/download-center/community)

* Studio 3T: [download](https://studio3t.com/download/)

* Eclipse Neon: [download](https://www.eclipse.org/neon/)

### Setup
#### Server
1. Clone the repo
```sh
git clone https://github.com/LukeVibes/PopularMusicAI
```
2. Download all the prerequisite goodies.
3. Open project with Eclipse Neon
4. Right click the project then choose Maven -> Update Project before running the project
5. From the Web perspective click on the Servers tab, select Tomcat v7.0 and right click. Choose the add and remove... menu option. Be certain that the COMP4601-Project is added to the server.
6. Start the server

#### Web Client
Awesome, next step is running the Web Client! To do that:
1.  In the terminal, navigate to the root of this project (/ProjectClient/project), and run the following command to download the required modules:
```sh
npm install
```
2. In the terminal, navigate to the root of this project (/ProjectClient/project), and run the bellow command to launch this app in a browser. This command launches a static file server at a URL like "http://localhost:8003/index.html". Your URL might be different than this. You can check the URL in the output within the terminal.
```sh
ionic cordova run browser
```
3. To find your URL, Look for the line that reads
```sh
Static file server running @ ...
```
4.  If the app did not automatically open up in a browser, then open a browser, enter the static file server URL (obtained from the output in terminal) and hit Enter.

## Usage

Please follow the steps in Setup to properly have the Server and Client running before proceeding with this section.

Great, so now that you have all the good stuff running head to we front-end client website and follow the steps bellow to try-out the program!

 1. From within the web client select a skill.
 2. Click on "Find Relevant Skills (Database)" button.
 3. View the related skills and their relevance in the Chart that is presented.

## Contact

Luke Daschko - [@lukeduker](https://www.instagram.com/lukeduker/) -<EMAIL_ADDRESS>
Project Link: [hhttps://github.com/LukeVibes/Intelligent-Job-Scrapper](https://github.com/LukeVibes/Intelligent-Job-Scrapper)

[build-shield]: https://img.shields.io/badge/build-passing-brightgreen.svg?style=flat-square
[contributors-shield]: https://img.shields.io/badge/contributors-1-orange.svg?style=flat-square
[license-shield]: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
[license-url]: https://choosealicense.com/licenses/mit
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/othneildrew
[product-screenshot]: https://raw.githubusercontent.com/othneildrew/Best-README-Template/master/screenshot.png

repository: LukeVibes/Intelligent-Job-Scrapper

repo_name: LukeVibes/Intelligent-Job-Scrapper


text:
# Indio
A simple static generator

----------
This is a simple static generator in the early stages of conception.

##Usage:
what the script essentially does is replace tags in an html file, that are enclosed in square brackets with any .md files in a folder with the same name.

##To Do:

 - proper support of multiple .md files
 - support for making multipul pages id there is more than one md file
 - many other things

repository: Herbejo/Indio

repo_name: Herbejo/Indio


text:
# Comparison with NaN
Arithmetic comparisons with the special not-a-number value `NaN` are useless: nothing is considered to be equal to `NaN`, not even `NaN` itself, and similarly nothing is considered greater or less than `NaN`.

## Recommendation
Use the `isNaN` function from the standard library to determine whether a given value is `NaN`.

## Example
Instead of `x === NaN`, use `isNaN(x)`.

## References
* Arvind Kumar: [Javascript common mistake of comparing with NaN and not with isNaN](http://www.devarticles.in/javascript/javascript-common-mistake-of-comparing-variable-with-nan-and-not-with-isnan/).
* Mozilla Developer Network: [NaN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN).
* Common Weakness Enumeration: [CWE-570](https://cwe.mitre.org/data/definitions/570.html).
* Common Weakness Enumeration: [CWE-571](https://cwe.mitre.org/data/definitions/571.html).


text:
# futures-shim

The idea behind this small Rust library is to provide a way integrate futures-unaware components
into futures pipelines.

Currently covered APIs:

* stdlib's mpsc unbounded channels

# License

`futures-shim` is primarily distributed under the terms of both the MIT license
and the Apache License (Version 2.0).

See LICENSE-APACHE, and LICENSE-MIT for details.

repository: yrashk/futures-shim

repo_name: yrashk/futures-shim


text:
### Node

This project was built using *Node 14* and has *not* been updated to work with newer versions of node.

### Install

```
npm install
```

### Run Webpack Dev Server

```
npm start
```

### Build Dev Files

Builds the css and js files into an uncompressed state

```
npm run build-dev
```

### Build Production Files

Builds the css and js files into an compressed state

```
npm run build
```

### Unit Tests

```
npm run test
```


text:
# AspNetCore.AsyncInitialization

[![NuGet version](https://img.shields.io/nuget/v/AspNetCore.AsyncInitialization.svg?logo=nuget)](https://www.nuget.org/packages/AspNetCore.AsyncInitialization)
[![AppVeyor build](https://img.shields.io/appveyor/ci/thomaslevesque/aspnetcore-asyncinitialization.svg?logo=appveyor)](https://ci.appveyor.com/project/thomaslevesque/aspnetcore-asyncinitialization)
[![AppVeyor tests](https://img.shields.io/appveyor/tests/thomaslevesque/aspnetcore-asyncinitialization.svg?logo=appveyor)](https://ci.appveyor.com/project/thomaslevesque/aspnetcore-asyncinitialization/build/tests)

A simple helper to perform async application initialization in ASP.NET Core 2.x.

***Note:** This project supports **only** ASP.NET Core 2.x. If you need to perform async initialization for the generic host (.NET Core 2.1+ and ASP.NET Core 3), use [Extensions.Hosting.AsyncInitialization](https://github.com/thomaslevesque/Extensions.Hosting.AsyncInitialization) instead.*

## Usage

1. Install the [AspNetCore.AsyncInitialization](https://www.nuget.org/packages/AspNetCore.AsyncInitialization/) NuGet package:

    Command line:

    ```PowerShell
    dotnet add package AspNetCore.AsyncInitialization
    ```

    Package manager console:
    ```PowerShell
    Install-Package AspNetCore.AsyncInitialization
    ```

1. Create a class (or several) that implements `IAsyncInitializer`. This class can depend on any registered service.

    ```csharp
    public class MyAppInitializer : IAsyncInitializer
    {
        public MyAppInitializer(IFoo foo, IBar bar)
        {
            ...
        }

        public async Task InitializeAsync()
        {
            // Initialization code here
        }
    }
    ```

1. Register your initializer(s) in the `Startup.ConfigureServices` method:

    ```csharp
        services.AddAsyncInitializer<MyAppInitializer>();
    ```

1. In the `Program` class, make the `Main` method async and change its code to initialize the host before running it:

    ```csharp
    public static async Task Main(string[] args)
    {
        var host = CreateWebHostBuilder(args).Build();
        await host.InitAsync();
        host.Run();
    }
    ```

(Note that you need to [set the C# language version to 7.1 or higher in your project](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version#edit-the-csproj-file) to enable the "async Main" feature.)

This will run each initializer, in the order in which they were registered.


text:
---
layout: default
---

# 1998-11-08 - Advertising Creepiness

## Header Data

From: Tim May<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: deacce50d825fb155c549cc68274dedb2a443f54c0ca0a394a5a511b3565cd4a

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1998-11-08 08:11:41 UTC

Raw Date: Sun, 8 Nov 1998 16:11:41 +0800

## Raw message

```
{% raw  %}From: Tim May<EMAIL_ADDRESS>Date: Sun, 8 Nov 1998 16:11:41 +0800
To<EMAIL_ADDRESS>Subject: Advertising Creepiness
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

At 9:35 PM -0800 11/7/98, Declan McCullagh wrote:
>Seems to me that it would have been just as easy for "believer" to send the
>URL to the story as the whole thing. Same with ol'VZ.
>
>Not only is it in poor taste, but it means less people will read the
>article on wired.com, which is what pays the rent.
>

Myself, I try to mostly just snip out a few paragraphs of a story and
comment on them, fair use and all.

However, Declan's point about "what pays the rent" brings up an obvious
point: does _anybody_ look at those damned banner ads?

This is the new "blind spot"...that foveal region about a third of the way
down a Web page screen that has dancing icons, "click on me" junk, and
corporate logos. My guess is that nearly all of us skip this junk
completely, and I think marketing studies will someday confirm this. (There
have been tantalizing reports in places like the "Wall Street Journal" that
basically almost nobody sees these ads, but the full message hasn't sunk
in.)

And the advertising creeps are getting even creepier. Intel was running a
banner ad that looked like a typical Mac or Windows error/alert box,
something like "Click Here to Resume Operation." Creepy. And annoying.

And even my current favorite search engine, Metacrawler, now has banner ads
scattered throughout the search results. Tonight's ad (they change
frequently, of course) even looked like a *search script*! A field for
entering text and then an OK button...I didn't try it, but it was obviously
an attempt to mislead people--embedding a search script inside a search
result. (It was a "fake search script" to "Find people just like you," from
"PlanetAll.com")

And the common pages--Wired, Yahoo, Excite, Dejanews, .....--devote the
left third to junky promotions, the top fourth to their damned name
("Metacrawler" in 40-point type), and then scatter banned ads across a
third of what's remaining.

It's not uncommon for only 2-3 search results to come back on a screen of
1024 x 768.

Declan's own site, Wired.com, runs junk across the top, junk on the left
side, junk on the right side, and doesn't even use the screen real estate.
His story on Y2K, for example, is crammed into about a column inch or two
in the center.

This is what we've come to. Beautiful high resolution screens with junk
filling them.

(Yes, I tried the utilities which purport to flush banner ads, but they
didn't work well (long delays, cruftiness).)

Friends of mine routinely turn off all graphics, a point I'm about to reach.

So, Declan may think the banner ads at Wired.com pay the rent, and the bean
counters may think this is so, but I doubt any of us are looking at the
ads. Except the dummies.

--Tim May

Y2K: A good chance to reformat America's hard drive and empty the trash.
---------:---------:---------:---------:---------:---------:---------:----
Timothy C. May              | Crypto Anarchy: encryption, digital money,
ComSec 3DES:<PHONE_NUMBER> | anonymous networks, digital pseudonyms, zero
W.A.S.T.E.: Corralitos, CA  | knowledge, reputations, information markets,
Licensed Ontologist         | black markets, collapse of governments.

{% endraw %}
```

## Thread

+ Return to [November 1998](/archive/1998/11)

+ Return to "[Declan McCullagh <declan@well.com>](/authors/declan_mccullagh_declan_at_well_com_)"
+ Return to "[Ray Arachelian <sunder@brainlink.com>](/authors/ray_arachelian_sunder_at_brainlink_com_)"
+ Return to "[Steve Mynott <stevem@tightrope.demon.co.uk>](/authors/steve_mynott_stevem_at_tightrope_demon_co_uk_)"
+ Return to "[Tim May <tcmay@got.net>](/authors/tim_may_tcmay_at_got_net_)"
+ Return to "["Vladimir Z. Nuri" <vznuri@netcom.com>](/authors/vladimir_z_nuri_vznuri_at_netcom_com_)"
+ Return to "["William H. Geiger III" <whgiii@gulf.net>](/authors/william_h_geiger_iii_whgiii_at_gulf_net_)"

+ 1998-11-07 (Sun, 8 Nov 1998 07:05:42 +0800) - [IP: Crunch Time for Y2K Suppliers](/archive/1998/11/b7cdf011f4e54f35ec065dce2778f835852ea562e570380af668b7a402e2a75d) - _"Vladimir Z. Nuri"<EMAIL_ADDRESS>  + 1998-11-08 (Sun, 8 Nov 1998 14:01:25 +0800) - [Re: IP: Crunch Time for Y2K Suppliers](/archive/1998/11/2bbe8bca4b34e037201a86ae6ab01df382b7ff8fe5e2591f7722c58f5aad257f) - _Declan McCullagh<EMAIL_ADDRESS>  + 1998-11-08 (Sun, 8 Nov 1998 16:11:41 +0800) - Advertising Creepiness - _Tim May<EMAIL_ADDRESS>    + 1998-11-08 (Sun, 8 Nov 1998 16:39:08 +0800) - [Re: Advertising Creepiness](/archive/1998/11/b42a2e886f3bd071e0aa9b4057048c816d26edab55013c4ec2fac657a61896ae) - _"Vladimir Z. Nuri"<EMAIL_ADDRESS>  + 1998-11-08 (Sun, 8 Nov 1998 22:10:34 +0800) - [Re: Advertising Creepiness](/archive/1998/11/ead26017f39f8e8a50f6b4331455e7573844954617d73d0a875ed3a14f6032ef) - _Steve Mynott<EMAIL_ADDRESS>  + 1998-11-09 (Tue, 10 Nov 1998 01:30:47 +0800) - [Re: Advertising Creepiness](/archive/1998/11/a983898f237202b8b55c9b7c3c3334aade5e34d07987d63f16c3edb0ea1f2860) - _Ray Arachelian<EMAIL_ADDRESS>    + 1998-11-09 (Tue, 10 Nov 1998 02:26:00 +0800) - [Re: Advertising Creepiness](/archive/1998/11/08e2950d6bda7aac4494590c6fb7fd1a9df5a55dd0a6bdaf6e01983e794f69ab) - _"William H. Geiger III"<EMAIL_ADDRESS>


text:
[Heroku App](https://pslab-stage.herokuapp.com/)

# PSLab Remote Experiments

[![Build Status](https://travis-ci.org/fossasia/pslab-remote.svg?branch=master)](https://travis-ci.org/fossasia/pslab-remote)
[![Gitter](https://badges.gitter.im/fossasia/pslab.svg)](https://gitter.im/fossasia/pslab?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[![Twitter Follow](https://img.shields.io/twitter/follow/pslabio.svg?style=social&label=Follow&maxAge=2592000?style=flat-square)](https://twitter.com/pslabio)

[Backend API server](https://pslab-stage.herokuapp.com/) : Hosted on Heroku. The dyno is reaped after an hour of inactivity and may take up to 10 seconds to boot up.
[Webapp](https://pslab-remote.surge.sh) : Hosted on surge.sh

## Introduction to the Virtual Lab

A virtual lab interface gives students remote access to equipment in laboratories via the internet without having to be physically present near the equipment.
The idea is that lab experiments can be made accessible to a larger audience which may not have the resources to set up the experiment at their place.
Another use-case scenario is that the experiment setup must be placed at a specific location which may not be habitable.

The PSLab’s capabilities can be increased significantly by setting up a framework that allows remote data acquisition and control.
It can then be deployed in various test and measurement scenarios such as an interactive environment monitoring station.

## Introductory blog posts

+ [Designing a remote access framework with PSLab](http://blog.fossasia.org/designing-a-virtual-laboratory-with-pslab/)
+ [Creating backend API methods using Python Flask Framework](http://blog.fossasia.org/designing-a-remote-laboratory-with-pslab-using-python-flask-framework/)
+ [Execute python function calls remotely](http://blog.fossasia.org/designing-a-remote-laboratory-with-pslab-execution-of-function-strings/)
+ [Deploying the API server and Webapp to separate domains automaticaly ](http://blog.fossasia.org/pslab-remote-lab-automatically-deploying-the-emberjs-webapp-and-flask-api-server-to-different-domains/)
+ [Creating better structured apps from user submitted scripts](http://blog.fossasia.org/enhancing-the-functionality-of-user-submitted-scripts-in-the-pslab-remote-framework/)
+ [Adding a graph component to the frontend](http://blog.fossasia.org/including-a-graph-component-in-the-remote-access-framework-for-pslab/)

## Structure

### Backend

The virtual lab will be hosted using [Python-Flask](http://flask.pocoo.org/), which is a BSD Licensed microframework for Python based on Werkzeug and Jinja 2  .
It will use sqlalchemy to interface with databases containing user credentials and data. At present, postgresql will be used.

The repository has been integrated with Heroku, and modifications to the master branch are automatically deployed to pslab-stage.herokuapp.com after the CI build passes

### Frontend

The frontend code resides in a subdirectory called `frontend` . It is Designed with EmberJS , and a production build is automatically deployed to pslab-remote.surge.sh by the CI if the build is successful.

## Installing dependencies

+ Install all packages in requirements.txt
+ Change directory to the **frontend** sub-directory, and run `npm install`

## Running the app locally

`gunicorn app:app`
This launches the API server on default port 8000

`cd frontend`
`ember -s environment='development'`
this launches the the emberjs webapp on port 4200

navigate to localhost:4200 in your web browser

## Implemented features
- backend
  - [x] homepage hook
  - [x] SignUp hook
  - [x] SignUp database updation procedure
  - [x] SignIn hook
  - [x] SignIn database verification
  - [x] User script page hook
  - [x] Store, Edit, View, Delete user submitted code snippets
  - [x] Execute a function string
  - [x] Execute a code snippet
  - [x] Create object oriented apps

- New Frontend based on EmberJS
  - [x] Home Page
  - [x] Navbar with bootstrap styling
  - [x] sign-up page
  - [x] sign-in page
  - [x] user-home.html. Feature to Create and Store code snippets. Execute function strings
  - [x] Create/Edit/Delete/Execute Python scripts. Embedded ace-js code editor.
  - [x] Display object oriented applications
  - [x] Plot data with the integrated JQplot library

## Old resources
This project was moved from another repository, and in order to browse the various issues and PRs, the following links may help
+ [Initialize a virtual lab framework](https://github.com/fossasia/pslab-desktop-apps/pull/165)
+ [Sign-up process](https://github.com/fossasia/pslab-desktop-apps/pull/169)
+ [vlab sign-in process](https://github.com/fossasia/pslab-desktop-apps/pull/173)


text:
# Sentinum--Sentiment-Analysis-using-Social-Media-Data

#### Languages
![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54)
![Dart](https://img.shields.io/badge/dart-%230175C2.svg?style=for-the-badge&logo=dart&logoColor=white)
![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge&logo=html5&logoColor=white)
![CSS3](https://img.shields.io/badge/css3-%231572B6.svg?style=for-the-badge&logo=css3&logoColor=white)
![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=for-the-badge&logo=javascript&logoColor=%23F7DF1E)

#### Machine Learning Packages
![NumPy](https://img.shields.io/badge/numpy-%23013243.svg?style=for-the-badge&logo=numpy&logoColor=white)
![Pandas](https://img.shields.io/badge/pandas-%23150458.svg?style=for-the-badge&logo=pandas&logoColor=white)
![scikit-learn](https://img.shields.io/badge/scikit--learn-%23F7931E.svg?style=for-the-badge&logo=scikit-learn&logoColor=white)

#### Frameworks
![Flask](https://img.shields.io/badge/flask-%23000.svg?style=for-the-badge&logo=flask&logoColor=white)
![Flutter](https://img.shields.io/badge/Flutter-%2302569B.svg?style=for-the-badge&logo=Flutter&logoColor=white)

#### Hosting
![Heroku](https://img.shields.io/badge/heroku-%23430098.svg?style=for-the-badge&logo=heroku&logoColor=white)

## Contents

1. [Introduction](https://github.com/swapnanildutta/Sentinum--Sentiment-Analysis-using-Social-Media-Data#introduction)
2. [Problem Statement](https://github.com/swapnanildutta/Sentinum--Sentiment-Analysis-using-Social-Media-Data#)
3. [Theoretical Approach]()
4. [Tech Stacks Used]()
5. [Machine Learning Model]()
    1. [Resources Used](https://github.com/swapnanildutta/Sentinum--Sentiment-Analysis-using-Social-Media-Data/tree/ml-model-training#resources-used)
    2. [Natural Language Toolkit](https://github.com/swapnanildutta/Sentinum--Sentiment-Analysis-using-Social-Media-Data/tree/ml-model-training#natural-language-toolkit)
6. [Backend Serving API](https://github.com/swapnanildutta/Sentinum--Sentiment-Analysis-using-Social-Media-Data/tree/backend-api)
    1. []()
7. [Mobile Application](https://github.com/swapnanildutta/Sentinum--Sentiment-Analysis-using-Social-Media-Data/tree/flutter-application)
8. [Web Application]()
9. [Scope of Work]()
10. [References](https://github.com/swapnanildutta/Sentinum--Sentiment-Analysis-using-Social-Media-Data/tree/main#references)

## Introduction

In this project, we are using the Sentiment Analysing algorithm to predict the emotional state of an individual based on the data input from the person's social media posts and interactions. To perform this analysis, we use an interactive platform like the website or the mobile application and take the user authorized account name and process the data accordingly in our server and finally display the result of analysis performed i.e. the emotional state of the individual whose account name was provided. The main motive behind this project is to predict the mental health of a person during the lockdown period. When a person is locked-up in his home, he/she express his/her emotion through social media posts.

## Problem Statement

The main thought behind the project is to predict the average sentiment/mood of the user during the period of the “Lockdown” from their social media posts. We will feed our algorithm with the data from the user’s account and our AI model will predict the “then” sentiment of the user. Sentiment analysis is the interpretation and classification of emotion(positive, negative, neutral).

## Theoretical Approach

The problem is a very challenging one for us. But the basic approach we are devising is very simple. First, we will be asking the user to enter the username of his/her. We will then process the username and fetch the data from the Twitter database using the Tweepy API. Then we will pass the data through our pre-trained model to analyze the photo and determine the state of it. In this case, we will not be storing any kind of data. The below diagram will help it understand better![img](assets/SentinumFlowchart.png)

We will be using Heroku as our hosting server for API and backend activities. Our web platform will be running on an Heroku web server. Note:-For now we will only be using the Twitter database and not any other social media platform.The reason behind this is because Facebook and Instagram only provide data to verified organizations, due to their privacy policies.

## Techstack Used

- [**Machine Learning Model**](https://github.com/swapnanildutta/Sentinum--Sentiment-Analysis-using-Social-Media-Data/tree/ml-model-training)
  - NLTK Toolkit for Data processing and cleaning
  - Sentinum140 dataset
  - XGBoost Classifier
- [**Backend Serving API**](https://github.com/swapnanildutta/Sentinum--Sentiment-Analysis-using-Social-Media-Data/tree/backend-api)
  - Tweepy Package
  - Flask Framework with Python3 Language
-

## Scope of Work

#### Here are some of the ideas we have for this project in the future:

- Login system and personal accounts with email/mobile verification for individual users to record search histories as well as recording some valuable feedback and also users may add nominee/nominees.
- Each personal account may link their social media id/username and he/she may get the predicted result spontaneously and also they can automate their account scoring and this will help us to produce more granular results and also can be used for further analysis and visualization.
- Currently, our app supports only English for predicting the sentiment of the searched username. Later we intend to add more language support.
- Currently, our app supports only searches made on Twitter. Later we intend to add some more social media platforms.
- Related to the personal accounting system, we also plan to add an SMS notification feature, where if the person’s own predicted happiness ratio becomes low, the nominee/nominees will be notified that the person has added you as a nominee and according to our analysis he/she may be feeling depressed. Hope you help him/her out.
- We also intend to integrate our app with voice assistants like Google Assistant, Alexa, Siri, etc.
- Lately, we intend to add some offline text analyzing system, using Tensorflow Lite within our Mobile Application.

## **References**

API:

- [https://medium.com/@aakashgoel12/my-first-simple-nlp-based-heroku-app-5-easy-steps-to-deploy-flask-application-on-heroku-bed53ebcbc6e](https://medium.com/@aakashgoel12/my-first-simple-nlp-based-heroku-app-5-easy-steps-to-deploy-flask-application-on-heroku-bed53ebcbc6e)
- [https://towardsdatascience.com/create-an-api-to-deploy-machine-learning-models-using-flask-and-heroku-67a011800c50](https://towardsdatascience.com/create-an-api-to-deploy-machine-learning-models-using-flask-and-heroku-67a011800c50)
- [http://docs.tweepy.org/en/v3.2.0/getting_started.html#introduction](http://docs.tweepy.org/en/v3.2.0/getting_started.html#introduction)

ML Model:

- [https://www.nltk.org/](https://www.nltk.org/)

Mobile Application:

- [https://flutter.dev/docs](https://flutter.dev/docs)

Web Application:

- [https://getbootstrap.com/docs/4.5/getting-started/introduction/](https://getbootstrap.com/docs/4.5/getting-started/introduction/)
- [https://www.w3schools.com/bootstrap/](https://www.w3schools.com/bootstrap/)
- [https://stackoverflow.com/questions/35410228/how-to-get-status-code-when-using-after-request](https://stackoverflow.com/questions/35410228/how-to-get-status-code-when-using-after-request)
- Flask Web Development: Developing Web Applications with Python- by Miguel Grinberg


text:
# MCM/ICM 2018

## Problem C - Meritorious Winner

- general linear regression
  - `sklearn.linear_model.LinearRegression`
  - `sklearn.preprocessing.PolynomialFeatures`
- curve fitting
  - `scipy.optimize.curve_fit`

## Background

Energy production and usage are a major portion of any economy. In the United States, many aspects of energy policy are decentralized to the state level. Additionally, the varying geographies and industries of different states affect energy usage and production. In 1970, 12 western states in the U.S. formed the Western Interstate Energy Compact (WIEC), whose mission focused on fostering cooperation between these states for the development and management of nuclear energy technologies. An interstate compact is a contractual arrangement made between two or more states in which these states agree on a specific policy issue and either adopt a set of standards or cooperate with one another on a particular regional or national matter.

## Problem

Along the U.S. border with Mexico, there are four states – California (CA), Arizona (AZ), New Mexico (NM), and Texas (TX) – that wish to form a realistic new energy compact focused on increased usage of cleaner, renewable energy sources. Your team has been asked by the four governors of these states to perform data analysis and modeling to inform their development of a set of goals for their interstate energy compact.

## Reference

<http://www.comap.com/undergraduate/contests/mcm/contests/2018/problems/>


text:
---
layout: default
---

# 1996-04-29 - Re: code vs. cypher

## Header Data

From: attila<EMAIL_ADDRESS>To: Rich Graves<EMAIL_ADDRESS>Message Hash: 498c0c9afdc5c52f37b211797509ac6841b6f9a02e6ad6a43ee37561533d9b81

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1996-04-29 17:13:31 UTC

Raw Date: Tue, 30 Apr 1996 01:13:31 +0800

## Raw message

```
{% raw  %}From: attila<EMAIL_ADDRESS>Date: Tue, 30 Apr 1996 01:13:31 +0800
To: Rich Graves<EMAIL_ADDRESS>Subject: Re: code vs. cypher
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

** Reply to note from Rich Graves<EMAIL_ADDRESS>04/28/96 01:41am -0700

= Admitting that you pray -- now, that takes courage, well, in polite
= circles in California it does.

	aahh, but I live in rural Utah where the closest large city has a population of less
    than 25,000!

--
"When you know everything I do - and you will - you will never think
 of the American government in the same way again."
        -- Tim McVeigh's defense attorney, Stephen Jones

cc: Cypherpunks<EMAIL_ADDRESS>

{% endraw %}
```

## Thread

+ Return to [April 1996](/archive/1996/04)

+ Return to "[attila <attila@primenet.com>](/authors/attila_attila_at_primenet_com_)"

+ 1996-04-29 (Tue, 30 Apr 1996 01:13:31 +0800) - Re: code vs. cypher - _attila<EMAIL_ADDRESS>


text:
---
layout: base
title:  'Statistics of PUNCT in UD_Tamil-TTB'
udver: '2'
---

## Treebank Statistics: UD_Tamil-TTB: POS Tags: `PUNCT`

There are 13 `PUNCT` lemmas (1%), 13 `PUNCT` types (0%) and 1000 `PUNCT` tokens (10%).
Out of 14 observed tags, the rank of `PUNCT` is: 11 in number of lemmas, 12 in number of types and 4 in number of tokens.

The 10 most frequent `PUNCT` lemmas: ., ,, -, :, (, ), ", ரூ, ரூ., ;

The 10 most frequent `PUNCT` types:  ., ,, -, :, (, ), ", ரூ, ரூ., ;

The 10 most frequent ambiguous lemmas:

The 10 most frequent ambiguous types:

## Morphology

The form / lemma ratio of `PUNCT` is 1.000000 (the average of all parts of speech is 1.576386).

The 1st highest number of forms (1) was observed with the lemma “"”: ".

The 2nd highest number of forms (1) was observed with the lemma “(”: (.

The 3rd highest number of forms (1) was observed with the lemma “)”: ).

`PUNCT` occurs with 1 features: <tt>PunctType</tt> (1000; 100% instances)

`PUNCT` occurs with 2 feature-value pairs: `PunctType=Comm`, `PunctType=Peri`

`PUNCT` occurs with 2 feature combinations.
The most frequent feature combination is `PunctType=Peri` (600 tokens).
Examples: .

## Relations

`PUNCT` nodes are attached to their parents using 1 different relations: <tt>punct</tt> (1000; 100% instances)

Parents of `PUNCT` nodes belong to 9 different parts of speech: <tt>VERB</tt> (705; 71% instances), <tt>NOUN</tt> (155; 16% instances), <tt>PROPN</tt> (81; 8% instances), <tt>AUX</tt> (20; 2% instances), <tt>NUM</tt> (18; 2% instances), <tt>ADJ</tt> (7; 1% instances), <tt>PART</tt> (7; 1% instances), <tt>PRON</tt> (6; 1% instances), <tt>ADV</tt> (1; 0% instances)

1000 (100%) `PUNCT` nodes are leaves.

The highest child degree of a `PUNCT` node is 0.

repository: UniversalDependencies/docs

branch_name: refs/heads/pages-source

gha_language: HTML

repo_name: UniversalDependencies/docs


text:
1. *Write out some of your awesome attributes,*
2. *and* **use** emphasis (like bold or italics) to identify keywords,
3. programming **languages, or** skills.


text:
# Kubernetes Model

In general, as the OpenShift fork of Kubernetes remains fairly current, it may be useful to refer to the [Kubernetes documentation](https://github.com/GoogleCloudPlatform/kubernetes/tree/master/docs) for unknown terminology.

## Master

A host for the orchestration API of Kubernetes. Has no actual model in the API.

## Minion / Node

A Node is a worker host in Kubernetes, previously known as Minion. Pods run on nodes. [Kubernetes docs](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/node.md)

## ReplicationController

A Replication Controller ensures that a specific number of pods with a particular [Label](#label) are running at all times. If one of the matching pods or a kubernetes  host goes down, the replication controller will re-instantiate matching pods up to the desired number across the cluster.

While the JSON structure of a replicationController object is fairly complex, the most important elements are the `replicas` and `replicaSelector` values defined therein:

```
{
    "kind": "ReplicationControllerList",
    "creationTimestamp": null,
    "selfLink": "/api/v1beta1/replicationControllers",
    "resourceVersion": 27,
    "apiVersion": "v1beta1",
    "items": [
        {
            "id": "docker-registry-1",
            "uid": "7fa58610-9b31-11e4-9dff-f0def1de880f",
            "creationTimestamp": "2015-01-13T09:36:02-05:00",
            "selfLink": "/api/v1beta1/replicationControllers/docker-registry-1?namespace=default",
            "resourceVersion": 26,
            "namespace": "default",
            "annotations": {
                ...
            },
            "desiredState": {
                "replicas": 1, <1>
                "replicaSelector": {
                    "name": "registrypod" <2>
                },
```

- 1: The number of copies of the pod to run.
- 2: The label selector of the pod to run.

These determine which [Pod](#pod) definitions (see below) to maintain. For more on replicationControllers, see the [Kubernetes documentation](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/replication-controller.md).

## Pod

Pods map to one or more docker containers collocated on the same host.  Each pod has its own ip address and therefore owns its entire port space.  Containers within pods can also share storage. Pods can be assign one or more [Labels](#label), which are used to select and manage arbitrary pod groups as a single operation.

Currently, the Kubernetes documentation does not provide an example of a Pod JSON structure. The sample below was retrieved from an OpenShift system by running `openshift kube get pods/<pod_id>`.

#### Sample JSON output for a Kubernetes Pod object

```
{
    "annotations": {
        "deployment": "docker-registry-1" <1>
    },
    "apiVersion": "v1beta1",
    "creationTimestamp": "2015-01-08T13:12:31-05:00",
    "currentState": {
        "host": "host.example.com",
        "info": {
            "deployment": {
                "containerID": "docker://0d9b9c3dee08c6b5f22ef5d6fcba2f3991d713c6b337d036d5434b496ae207ef",
                "image": "openshift/origin-deployer",
                "restartCount": 0,
                "state": {
                    "termination": {
                        "exitCode": 255,
                        "finishedAt": "2015-01-08T18:12:42Z",
                        "startedAt": "2015-01-08T18:12:41Z"
                    }
                }
            },
            "net": {
                "containerID": "docker://4617946052b093310d14516e14279232da1a220bcf81a46b50dc94ae11065ea2",
                "image": "kubernetes/pause:latest",
                "podIP": "<IP_ADDRESS>",
                "restartCount": 1,
                "state": {
                    "running": {
                        "startedAt": "2015-01-13T12:10:50Z"
                    }
                }
            }
        },
        "manifest": {
            "containers": null,
            "id": "",
            "restartPolicy": {},
            "version": "",
            "volumes": null
        },
        "podIP": "<IP_ADDRESS>",
        "status": "Terminated"
    },
    "desiredState": {
        "manifest": {
            "containers": [
                {
                    "env": [
                        {
                            "key": "OPENSHIFT_DEPLOYMENT_NAME",
                            "name": "OPENSHIFT_DEPLOYMENT_NAME",
                            "value": "docker-registry-1"
                        },
                        {
                            "key": "OPENSHIFT_DEPLOYMENT_NAMESPACE",
                            "name": "OPENSHIFT_DEPLOYMENT_NAMESPACE",
                            "value": "default"
                        },
                        {
                            "key": "KUBERNETES_MASTER",
                            "name": "KUBERNETES_MASTER",
                            "value": "http://<IP_ADDRESS>:8080"
                        },
                        {
                            "key": "OPENSHIFT_MASTER",
                            "name": "OPENSHIFT_MASTER",
                            "value": "http://<IP_ADDRESS>:8080"
                        }
                    ],
                    "image": "openshift/origin-deployer", <2>
                    "imagePullPolicy": "PullIfNotPresent",
                    "name": "deployment"
                }
            ],
            "id": "",
            "restartPolicy": {
                "never": {}
            },
            "version": "v1beta2",
            "volumes": null
        }
    },
    "id": "e9bae2ce-9761-11e4-86f8-f0def1de880f",
    "kind": "Pod",
    "namespace": "default",
    "resourceVersion": 14,
    "selfLink": "/api/v1beta1/pods/e9bae2ce-9761-11e4-86f8-f0def1de880f?namespace=default",
    "uid": "e9bae2ce-9761-11e4-86f8-f0def1de880f"
}
```

- 1: The labels are stored in key/value format in the `annotation` hash. The original label in this example is `deployment=docker-registry-1`.
- 2: The docker image(s) that define the Pod are listed are provided in the `containers` list along with related environment variable mappings.

## Label

Labels are used to organize and filter resources. Pods are "tagged" with labels, and then Services and ReplicationControllers use labels to indicate which pods they relate to. This abstraction makes it possible for Services and ReplicationControllers to reference whole groups of Pods, and also to treat Pods with potentially different docker containers as like entities. For instance, consider:

* A Pod consisting of an nginx docker container, with the label `role=webserver`
* A Pod consisting of an apache docker container, with the same label `role=webserver`

A Service or ReplicationController that is defined to use Pods with the `role=webserver` label will treat both of these pods as part of the same group.

For more information on Labels, refer to the [Kubernetes documentation](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/labels.md).

## Service

A service provides a network connection to one or more network services.

A service uses a label selector to find all the containers running which provide a certain network service on a certain port. The service is then bound to a local port. So to access the service from inside your application or container you just bind to the local network on the port number for the service.

You can find a more complete definition, and an example of the JSON structure that represents a service object, in the [Kubernetes documentation](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/services.md).

## Namespace

A scope for Kubernetes resources, which will most likely be used for access / admission control. Under development, refer to [Kubernetes docs](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/design/namespaces.md).

## ResourceController

Specifies limits placed on resources, such as CPU / RAM usage allowed per pod, or number of pods / services / replica controllers allowed per namespace. Under active development.

## Resource

A Kubernetes Resource is something that can be requested by, allocated to, or consumed by a pod or container. Examples include memory (RAM), CPU, disk-time, and network bandwidth. [Kubernetes docs](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/resources.md)

## Secret

Storage for keys, passwords, certificates, and such which is accessible by the intended pod(s) but held separately from their definitions. Under active development.

repository: TomasTomecek/origin

repo_name: TomasTomecek/origin


text:
* A **story** is the smallest component of a UI.
* A **panel** is composed of multiple stories.
* A **workspace** is composed of multiple panels.

Therefore, it can be summarized as:
{% include callout.html content="Workspace <- Panel <- Story" type="primary" %}

Our current goal is to tell the visual story to the user using the following mediums:

* desktop
* tablet

{% include links.html %}

repository: cglewis/gestalt

gha_license_id: NOASSERTION

repo_name: cglewis/gestalt