From d8d1c860c46342cbf91ae4930000ca2da719dc30 Mon Sep 17 00:00:00 2001 From: github-actions-bot Date: Mon, 23 Oct 2023 13:03:48 +0000 Subject: [PATCH] Updates --- 1c-enterprise/daily/index.xml | 2 +- 1c-enterprise/weekly/index.xml | 7 ---- 2-dimensional-array/daily/index.xml | 2 +- 2-dimensional-array/weekly/index.xml | 7 ---- 4d/daily/index.xml | 2 +- 4d/weekly/index.xml | 7 ---- abap-cds/daily/index.xml | 2 +- abap-cds/weekly/index.xml | 7 ---- abap/daily/index.xml | 2 +- abap/weekly/index.xml | 7 ---- abnf/daily/index.xml | 2 +- abnf/weekly/index.xml | 7 ---- actionscript/daily/index.xml | 9 +----- actionscript/weekly/index.xml | 28 ---------------- ada/daily/index.xml | 2 +- ada/weekly/index.xml | 14 -------- adobe-font-metrics/daily/index.xml | 2 +- adobe-font-metrics/weekly/index.xml | 7 ---- agda/daily/index.xml | 2 +- agda/weekly/index.xml | 7 ---- ags-script/daily/index.xml | 2 +- ags-script/weekly/index.xml | 7 ---- aidl/daily/index.xml | 2 +- aidl/weekly/index.xml | 7 ---- al/daily/index.xml | 2 +- al/weekly/index.xml | 7 ---- all/daily/index.xml | 32 +++++++++---------- all/weekly/index.xml | 28 ---------------- alloy/daily/index.xml | 2 +- alloy/weekly/index.xml | 7 ---- alpine-abuild/daily/index.xml | 2 +- alpine-abuild/weekly/index.xml | 7 ---- altium-designer/daily/index.xml | 2 +- altium-designer/weekly/index.xml | 7 ---- ampl/daily/index.xml | 2 +- ampl/weekly/index.xml | 7 ---- angelscript/daily/index.xml | 2 +- angelscript/weekly/index.xml | 7 ---- ant-build-system/daily/index.xml | 2 +- ant-build-system/weekly/index.xml | 7 ---- antlr/daily/index.xml | 2 +- antlr/weekly/index.xml | 14 -------- apacheconf/daily/index.xml | 2 +- apacheconf/weekly/index.xml | 7 ---- apex/daily/index.xml | 9 +++++- apex/weekly/index.xml | 14 -------- api-blueprint/daily/index.xml | 2 +- api-blueprint/weekly/index.xml | 7 ---- apl/daily/index.xml | 2 +- apl/weekly/index.xml | 7 ---- apollo-guidance-computer/daily/index.xml | 2 +- apollo-guidance-computer/weekly/index.xml | 7 ---- applescript/daily/index.xml | 2 +- applescript/weekly/index.xml | 7 ---- arc/daily/index.xml | 2 +- arc/weekly/index.xml | 7 ---- asciidoc/daily/index.xml | 2 +- asciidoc/weekly/index.xml | 7 ---- asl/daily/index.xml | 2 +- asl/weekly/index.xml | 7 ---- asn.1/daily/index.xml | 2 +- asn.1/weekly/index.xml | 7 ---- asp.net/daily/index.xml | 2 +- asp.net/weekly/index.xml | 7 ---- aspectj/daily/index.xml | 2 +- aspectj/weekly/index.xml | 7 ---- assembly/daily/index.xml | 23 ++++++++++++- assembly/weekly/index.xml | 28 ---------------- astro/daily/index.xml | 23 ++++++++++++- astro/weekly/index.xml | 21 ------------ asymptote/daily/index.xml | 2 +- asymptote/weekly/index.xml | 7 ---- ats/daily/index.xml | 2 +- ats/weekly/index.xml | 7 ---- augeas/daily/index.xml | 2 +- augeas/weekly/index.xml | 7 ---- autohotkey/daily/index.xml | 2 +- autohotkey/weekly/index.xml | 7 ---- autoit/daily/index.xml | 2 +- autoit/weekly/index.xml | 14 -------- avro-idl/daily/index.xml | 2 +- avro-idl/weekly/index.xml | 7 ---- awk/daily/index.xml | 2 +- awk/weekly/index.xml | 7 ---- ballerina/daily/index.xml | 2 +- ballerina/weekly/index.xml | 7 ---- basic/daily/index.xml | 9 +++++- basic/weekly/index.xml | 7 ---- batchfile/daily/index.xml | 9 +----- batchfile/weekly/index.xml | 28 ---------------- beef/daily/index.xml | 2 +- beef/weekly/index.xml | 7 ---- befunge/daily/index.xml | 2 +- befunge/weekly/index.xml | 7 ---- berry/daily/index.xml | 2 +- berry/weekly/index.xml | 7 ---- bibtex/daily/index.xml | 2 +- bibtex/weekly/index.xml | 7 ---- bicep/daily/index.xml | 2 +- bicep/weekly/index.xml | 14 -------- bison/daily/index.xml | 2 +- bison/weekly/index.xml | 7 ---- bitbake/daily/index.xml | 2 +- bitbake/weekly/index.xml | 7 ---- blade/daily/index.xml | 2 +- blade/weekly/index.xml | 14 -------- blitzbasic/daily/index.xml | 2 +- blitzbasic/weekly/index.xml | 7 ---- blitzmax/daily/index.xml | 2 +- blitzmax/weekly/index.xml | 7 ---- bluespec/daily/index.xml | 2 +- bluespec/weekly/index.xml | 7 ---- boo/daily/index.xml | 2 +- boo/weekly/index.xml | 7 ---- boogie/daily/index.xml | 2 +- boogie/weekly/index.xml | 7 ---- brainfuck/daily/index.xml | 2 +- brainfuck/weekly/index.xml | 7 ---- brightscript/daily/index.xml | 2 +- brightscript/weekly/index.xml | 7 ---- browserslist/daily/index.xml | 2 +- browserslist/weekly/index.xml | 7 ---- c%23/daily/index.xml | 19 ++++------- c%23/weekly/index.xml | 28 ---------------- c++/daily/index.xml | 12 +++---- c++/weekly/index.xml | 28 ---------------- c-objdump/daily/index.xml | 2 +- c-objdump/weekly/index.xml | 7 ---- c/daily/index.xml | 29 +++++++---------- c/weekly/index.xml | 28 ---------------- c2hs-haskell/daily/index.xml | 2 +- c2hs-haskell/weekly/index.xml | 7 ---- cabal-config/daily/index.xml | 2 +- cabal-config/weekly/index.xml | 7 ---- cadence/daily/index.xml | 2 +- cadence/weekly/index.xml | 7 ---- cairo/daily/index.xml | 2 +- cairo/weekly/index.xml | 7 ---- cap'n-proto/daily/index.xml | 2 +- cap'n-proto/weekly/index.xml | 7 ---- cartocss/daily/index.xml | 2 +- cartocss/weekly/index.xml | 7 ---- ceylon/daily/index.xml | 2 +- ceylon/weekly/index.xml | 7 ---- chapel/daily/index.xml | 2 +- chapel/weekly/index.xml | 7 ---- charity/daily/index.xml | 2 +- charity/weekly/index.xml | 7 ---- chuck/daily/index.xml | 2 +- chuck/weekly/index.xml | 7 ---- cil/daily/index.xml | 2 +- cil/weekly/index.xml | 7 ---- cirru/daily/index.xml | 2 +- cirru/weekly/index.xml | 7 ---- clarion/daily/index.xml | 2 +- clarion/weekly/index.xml | 7 ---- clarity/daily/index.xml | 2 +- clarity/weekly/index.xml | 7 ---- classic-asp/daily/index.xml | 9 +++++- classic-asp/weekly/index.xml | 14 -------- clean/daily/index.xml | 2 +- clean/weekly/index.xml | 7 ---- click/daily/index.xml | 2 +- click/weekly/index.xml | 7 ---- clips/daily/index.xml | 2 +- clips/weekly/index.xml | 14 -------- clojure/daily/index.xml | 2 +- clojure/weekly/index.xml | 7 ---- closure-templates/daily/index.xml | 2 +- closure-templates/weekly/index.xml | 7 ---- .../daily/index.xml | 2 +- .../weekly/index.xml | 7 ---- cmake/daily/index.xml | 12 +++---- cmake/weekly/index.xml | 21 ------------ cobol/daily/index.xml | 2 +- cobol/weekly/index.xml | 7 ---- codeowners/daily/index.xml | 2 +- codeowners/weekly/index.xml | 7 ---- codeql/daily/index.xml | 9 +++++- codeql/weekly/index.xml | 7 ---- coffeescript/daily/index.xml | 9 +----- coffeescript/weekly/index.xml | 28 ---------------- coldfusion-cfc/daily/index.xml | 2 +- coldfusion-cfc/weekly/index.xml | 7 ---- coldfusion/daily/index.xml | 2 +- coldfusion/weekly/index.xml | 7 ---- collada/daily/index.xml | 2 +- collada/weekly/index.xml | 7 ---- common-lisp/daily/index.xml | 2 +- common-lisp/weekly/index.xml | 7 ---- common-workflow-language/daily/index.xml | 2 +- common-workflow-language/weekly/index.xml | 7 ---- component-pascal/daily/index.xml | 2 +- component-pascal/weekly/index.xml | 14 -------- conll-u/daily/index.xml | 2 +- conll-u/weekly/index.xml | 7 ---- cool/daily/index.xml | 2 +- cool/weekly/index.xml | 7 ---- coq/daily/index.xml | 2 +- coq/weekly/index.xml | 7 ---- cpp-objdump/daily/index.xml | 2 +- cpp-objdump/weekly/index.xml | 7 ---- creole/daily/index.xml | 2 +- creole/weekly/index.xml | 7 ---- crystal/daily/index.xml | 2 +- crystal/weekly/index.xml | 7 ---- cson/daily/index.xml | 2 +- cson/weekly/index.xml | 7 ---- csound-document/daily/index.xml | 2 +- csound-document/weekly/index.xml | 7 ---- csound-score/daily/index.xml | 2 +- csound-score/weekly/index.xml | 7 ---- csound/daily/index.xml | 2 +- csound/weekly/index.xml | 7 ---- css/daily/index.xml | 19 +++++++---- css/weekly/index.xml | 28 ---------------- csv/daily/index.xml | 2 +- csv/weekly/index.xml | 7 ---- cuda/daily/index.xml | 2 +- cuda/weekly/index.xml | 14 -------- cue/daily/index.xml | 2 +- cue/weekly/index.xml | 7 ---- curl-config/daily/index.xml | 2 +- curl-config/weekly/index.xml | 7 ---- curry/daily/index.xml | 2 +- curry/weekly/index.xml | 7 ---- cweb/daily/index.xml | 2 +- cweb/weekly/index.xml | 7 ---- cycript/daily/index.xml | 2 +- cycript/weekly/index.xml | 7 ---- cython/daily/index.xml | 2 +- cython/weekly/index.xml | 7 ---- d-objdump/daily/index.xml | 2 +- d-objdump/weekly/index.xml | 7 ---- d/daily/index.xml | 2 +- d/weekly/index.xml | 14 -------- dafny/daily/index.xml | 2 +- dafny/weekly/index.xml | 7 ---- darcs-patch/daily/index.xml | 2 +- darcs-patch/weekly/index.xml | 7 ---- dart/daily/index.xml | 2 +- dart/weekly/index.xml | 7 ---- dataweave/daily/index.xml | 2 +- dataweave/weekly/index.xml | 7 ---- debian-package-control-file/daily/index.xml | 2 +- debian-package-control-file/weekly/index.xml | 7 ---- denizenscript/daily/index.xml | 2 +- denizenscript/weekly/index.xml | 7 ---- desktop/daily/index.xml | 2 +- desktop/weekly/index.xml | 7 ---- dhall/daily/index.xml | 2 +- dhall/weekly/index.xml | 7 ---- diff/daily/index.xml | 2 +- diff/weekly/index.xml | 7 ---- digital-command-language/daily/index.xml | 2 +- digital-command-language/weekly/index.xml | 7 ---- dircolors/daily/index.xml | 2 +- dircolors/weekly/index.xml | 7 ---- directx-3d-file/daily/index.xml | 2 +- directx-3d-file/weekly/index.xml | 7 ---- dm/daily/index.xml | 2 +- dm/weekly/index.xml | 7 ---- dns-zone/daily/index.xml | 2 +- dns-zone/weekly/index.xml | 7 ---- dockerfile/daily/index.xml | 16 +++++++++- dockerfile/weekly/index.xml | 28 ---------------- dogescript/daily/index.xml | 2 +- dogescript/weekly/index.xml | 7 ---- dtrace/daily/index.xml | 2 +- dtrace/weekly/index.xml | 7 ---- dylan/daily/index.xml | 2 +- dylan/weekly/index.xml | 7 ---- e-mail/daily/index.xml | 2 +- e-mail/weekly/index.xml | 7 ---- e/daily/index.xml | 2 +- e/weekly/index.xml | 7 ---- eagle/daily/index.xml | 2 +- eagle/weekly/index.xml | 7 ---- earthly/daily/index.xml | 2 +- earthly/weekly/index.xml | 7 ---- easybuild/daily/index.xml | 2 +- easybuild/weekly/index.xml | 7 ---- ebnf/daily/index.xml | 2 +- ebnf/weekly/index.xml | 7 ---- ec/daily/index.xml | 2 +- ec/weekly/index.xml | 7 ---- ecere-projects/daily/index.xml | 2 +- ecere-projects/weekly/index.xml | 7 ---- ecl/daily/index.xml | 2 +- ecl/weekly/index.xml | 7 ---- eclipse/daily/index.xml | 2 +- eclipse/weekly/index.xml | 7 ---- editorconfig/daily/index.xml | 2 +- editorconfig/weekly/index.xml | 7 ---- edje-data-collection/daily/index.xml | 2 +- edje-data-collection/weekly/index.xml | 7 ---- edn/daily/index.xml | 2 +- edn/weekly/index.xml | 7 ---- eiffel/daily/index.xml | 2 +- eiffel/weekly/index.xml | 7 ---- ejs/daily/index.xml | 19 +++++++---- ejs/weekly/index.xml | 7 ---- elixir/daily/index.xml | 19 ++++------- elixir/weekly/index.xml | 28 ---------------- elm/daily/index.xml | 2 +- elm/weekly/index.xml | 7 ---- emacs-lisp/daily/index.xml | 16 +--------- emacs-lisp/weekly/index.xml | 28 ---------------- emberscript/daily/index.xml | 2 +- emberscript/weekly/index.xml | 7 ---- eq/daily/index.xml | 2 +- eq/weekly/index.xml | 7 ---- erlang/daily/index.xml | 9 +++++- erlang/weekly/index.xml | 7 ---- euphoria/daily/index.xml | 2 +- euphoria/weekly/index.xml | 7 ---- f%23/daily/index.xml | 2 +- f%23/weekly/index.xml | 14 -------- f*/daily/index.xml | 2 +- f*/weekly/index.xml | 7 ---- factor/daily/index.xml | 2 +- factor/weekly/index.xml | 7 ---- fancy/daily/index.xml | 2 +- fancy/weekly/index.xml | 7 ---- fantom/daily/index.xml | 2 +- fantom/weekly/index.xml | 7 ---- faust/daily/index.xml | 2 +- faust/weekly/index.xml | 7 ---- fennel/daily/index.xml | 2 +- fennel/weekly/index.xml | 7 ---- figlet-font/daily/index.xml | 2 +- figlet-font/weekly/index.xml | 7 ---- filebench-wml/daily/index.xml | 2 +- filebench-wml/weekly/index.xml | 7 ---- filterscript/daily/index.xml | 2 +- filterscript/weekly/index.xml | 7 ---- fish/daily/index.xml | 2 +- fish/weekly/index.xml | 7 ---- fluent/daily/index.xml | 2 +- fluent/weekly/index.xml | 7 ---- flux/daily/index.xml | 2 +- flux/weekly/index.xml | 7 ---- formatted/daily/index.xml | 2 +- formatted/weekly/index.xml | 7 ---- forth/daily/index.xml | 2 +- forth/weekly/index.xml | 7 ---- fortran-free-form/daily/index.xml | 2 +- fortran-free-form/weekly/index.xml | 7 ---- fortran/daily/index.xml | 2 +- fortran/weekly/index.xml | 14 -------- freebasic/daily/index.xml | 2 +- freebasic/weekly/index.xml | 7 ---- freemarker/daily/index.xml | 2 +- freemarker/weekly/index.xml | 7 ---- frege/daily/index.xml | 2 +- frege/weekly/index.xml | 7 ---- futhark/daily/index.xml | 2 +- futhark/weekly/index.xml | 7 ---- g-code/daily/index.xml | 2 +- g-code/weekly/index.xml | 14 -------- game-maker-language/daily/index.xml | 2 +- game-maker-language/weekly/index.xml | 7 ---- gaml/daily/index.xml | 2 +- gaml/weekly/index.xml | 7 ---- gams/daily/index.xml | 2 +- gams/weekly/index.xml | 7 ---- gap/daily/index.xml | 2 +- gap/weekly/index.xml | 7 ---- gcc-machine-description/daily/index.xml | 2 +- gcc-machine-description/weekly/index.xml | 7 ---- gdb/daily/index.xml | 2 +- gdb/weekly/index.xml | 7 ---- gdscript/daily/index.xml | 19 ++++------- gdscript/weekly/index.xml | 28 ---------------- gedcom/daily/index.xml | 2 +- gedcom/weekly/index.xml | 7 ---- gemfile.lock/daily/index.xml | 2 +- gemfile.lock/weekly/index.xml | 7 ---- genero-forms/daily/index.xml | 2 +- genero-forms/weekly/index.xml | 7 ---- genero/daily/index.xml | 2 +- genero/weekly/index.xml | 7 ---- genie/daily/index.xml | 2 +- genie/weekly/index.xml | 7 ---- genshi/daily/index.xml | 2 +- genshi/weekly/index.xml | 7 ---- gentoo-ebuild/daily/index.xml | 2 +- gentoo-ebuild/weekly/index.xml | 7 ---- gentoo-eclass/daily/index.xml | 2 +- gentoo-eclass/weekly/index.xml | 7 ---- gerber-image/daily/index.xml | 2 +- gerber-image/weekly/index.xml | 7 ---- gettext-catalog/daily/index.xml | 2 +- gettext-catalog/weekly/index.xml | 7 ---- gherkin/daily/index.xml | 2 +- gherkin/weekly/index.xml | 7 ---- git-attributes/daily/index.xml | 2 +- git-attributes/weekly/index.xml | 7 ---- git-config/daily/index.xml | 2 +- git-config/weekly/index.xml | 7 ---- gleam/daily/index.xml | 2 +- gleam/weekly/index.xml | 7 ---- glsl/daily/index.xml | 12 +++---- glsl/weekly/index.xml | 14 -------- .../daily/index.xml | 2 +- .../weekly/index.xml | 7 ---- glyph/daily/index.xml | 2 +- glyph/weekly/index.xml | 7 ---- gn/daily/index.xml | 2 +- gn/weekly/index.xml | 7 ---- gnuplot/daily/index.xml | 2 +- gnuplot/weekly/index.xml | 7 ---- go-checksums/daily/index.xml | 2 +- go-checksums/weekly/index.xml | 7 ---- go-module/daily/index.xml | 2 +- go-module/weekly/index.xml | 7 ---- go/daily/index.xml | 26 +++++++++++---- go/weekly/index.xml | 28 ---------------- golo/daily/index.xml | 2 +- golo/weekly/index.xml | 7 ---- gosu/daily/index.xml | 2 +- gosu/weekly/index.xml | 7 ---- grace/daily/index.xml | 2 +- grace/weekly/index.xml | 7 ---- gradle/daily/index.xml | 2 +- gradle/weekly/index.xml | 7 ---- grammatical-framework/daily/index.xml | 2 +- grammatical-framework/weekly/index.xml | 7 ---- graph-modeling-language/daily/index.xml | 2 +- graph-modeling-language/weekly/index.xml | 7 ---- graphql/daily/index.xml | 2 +- graphql/weekly/index.xml | 7 ---- graphviz-(dot)/daily/index.xml | 2 +- graphviz-(dot)/weekly/index.xml | 7 ---- groovy-server-pages/daily/index.xml | 2 +- groovy-server-pages/weekly/index.xml | 7 ---- groovy/daily/index.xml | 16 +--------- groovy/weekly/index.xml | 28 ---------------- gsc/daily/index.xml | 2 +- gsc/weekly/index.xml | 7 ---- hack/daily/index.xml | 9 +----- hack/weekly/index.xml | 21 ------------ haml/daily/index.xml | 2 +- haml/weekly/index.xml | 7 ---- handlebars/daily/index.xml | 2 +- handlebars/weekly/index.xml | 7 ---- haproxy/daily/index.xml | 2 +- haproxy/weekly/index.xml | 7 ---- harbour/daily/index.xml | 2 +- harbour/weekly/index.xml | 7 ---- haskell/daily/index.xml | 12 +++---- haskell/weekly/index.xml | 28 ---------------- haxe/daily/index.xml | 2 +- haxe/weekly/index.xml | 14 -------- hcl/daily/index.xml | 16 +++++++++- hcl/weekly/index.xml | 28 ---------------- hiveql/daily/index.xml | 2 +- hiveql/weekly/index.xml | 7 ---- hlsl/daily/index.xml | 9 +----- hlsl/weekly/index.xml | 14 -------- holyc/daily/index.xml | 2 +- holyc/weekly/index.xml | 7 ---- hoon/daily/index.xml | 2 +- hoon/weekly/index.xml | 7 ---- html+ecr/daily/index.xml | 2 +- html+ecr/weekly/index.xml | 7 ---- html+eex/daily/index.xml | 2 +- html+eex/weekly/index.xml | 7 ---- html+erb/daily/index.xml | 2 +- html+erb/weekly/index.xml | 7 ---- html+php/daily/index.xml | 2 +- html+php/weekly/index.xml | 7 ---- html+razor/daily/index.xml | 2 +- html+razor/weekly/index.xml | 7 ---- html/daily/index.xml | 22 ++++++------- html/weekly/index.xml | 28 ---------------- http/daily/index.xml | 2 +- http/weekly/index.xml | 7 ---- hxml/daily/index.xml | 2 +- hxml/weekly/index.xml | 7 ---- hy/daily/index.xml | 2 +- hy/weekly/index.xml | 7 ---- hyphy/daily/index.xml | 2 +- hyphy/weekly/index.xml | 7 ---- idl/daily/index.xml | 2 +- idl/weekly/index.xml | 7 ---- idris/daily/index.xml | 2 +- idris/weekly/index.xml | 7 ---- ignore-list/daily/index.xml | 2 +- ignore-list/weekly/index.xml | 7 ---- igor-pro/daily/index.xml | 2 +- igor-pro/weekly/index.xml | 7 ---- imagej-macro/daily/index.xml | 2 +- imagej-macro/weekly/index.xml | 7 ---- inform-7/daily/index.xml | 2 +- inform-7/weekly/index.xml | 7 ---- ini/daily/index.xml | 2 +- ini/weekly/index.xml | 7 ---- inno-setup/daily/index.xml | 2 +- inno-setup/weekly/index.xml | 7 ---- io/daily/index.xml | 2 +- io/weekly/index.xml | 7 ---- ioke/daily/index.xml | 2 +- ioke/weekly/index.xml | 7 ---- irc-log/daily/index.xml | 2 +- irc-log/weekly/index.xml | 7 ---- isabelle-root/daily/index.xml | 2 +- isabelle-root/weekly/index.xml | 7 ---- isabelle/daily/index.xml | 2 +- isabelle/weekly/index.xml | 7 ---- j/daily/index.xml | 2 +- j/weekly/index.xml | 7 ---- janet/daily/index.xml | 2 +- janet/weekly/index.xml | 7 ---- jar-manifest/daily/index.xml | 2 +- jar-manifest/weekly/index.xml | 7 ---- jasmin/daily/index.xml | 2 +- jasmin/weekly/index.xml | 7 ---- java-properties/daily/index.xml | 2 +- java-properties/weekly/index.xml | 7 ---- java-server-pages/daily/index.xml | 2 +- java-server-pages/weekly/index.xml | 7 ---- java/daily/index.xml | 12 +++---- java/weekly/index.xml | 28 ---------------- javascript+erb/daily/index.xml | 2 +- javascript+erb/weekly/index.xml | 7 ---- javascript/daily/index.xml | 26 ++++----------- javascript/weekly/index.xml | 28 ---------------- jest-snapshot/daily/index.xml | 2 +- jest-snapshot/weekly/index.xml | 7 ---- jflex/daily/index.xml | 2 +- jflex/weekly/index.xml | 7 ---- jinja/daily/index.xml | 2 +- jinja/weekly/index.xml | 7 ---- jison-lex/daily/index.xml | 2 +- jison-lex/weekly/index.xml | 7 ---- jison/daily/index.xml | 2 +- jison/weekly/index.xml | 7 ---- jolie/daily/index.xml | 2 +- jolie/weekly/index.xml | 7 ---- jq/daily/index.xml | 2 +- jq/weekly/index.xml | 7 ---- json-with-comments/daily/index.xml | 2 +- json-with-comments/weekly/index.xml | 7 ---- json/daily/index.xml | 2 +- json/weekly/index.xml | 7 ---- json5/daily/index.xml | 2 +- json5/weekly/index.xml | 7 ---- jsoniq/daily/index.xml | 2 +- jsoniq/weekly/index.xml | 7 ---- jsonld/daily/index.xml | 2 +- jsonld/weekly/index.xml | 7 ---- jsonnet/daily/index.xml | 2 +- jsonnet/weekly/index.xml | 28 ---------------- julia/daily/index.xml | 27 ++++++++++------ julia/weekly/index.xml | 21 ------------ jupyter-notebook/daily/index.xml | 29 ++++++++++------- jupyter-notebook/weekly/index.xml | 28 ---------------- kaitai-struct/daily/index.xml | 2 +- kaitai-struct/weekly/index.xml | 7 ---- kakounescript/daily/index.xml | 2 +- kakounescript/weekly/index.xml | 7 ---- kicad-layout/daily/index.xml | 2 +- kicad-layout/weekly/index.xml | 7 ---- kicad-legacy-layout/daily/index.xml | 2 +- kicad-legacy-layout/weekly/index.xml | 7 ---- kicad-schematic/daily/index.xml | 2 +- kicad-schematic/weekly/index.xml | 7 ---- kit/daily/index.xml | 2 +- kit/weekly/index.xml | 7 ---- kotlin/daily/index.xml | 19 +++++++---- kotlin/weekly/index.xml | 14 -------- krl/daily/index.xml | 2 +- krl/weekly/index.xml | 7 ---- kusto/daily/index.xml | 2 +- kusto/weekly/index.xml | 7 ---- kvlang/daily/index.xml | 2 +- kvlang/weekly/index.xml | 7 ---- labview/daily/index.xml | 2 +- labview/weekly/index.xml | 7 ---- lark/daily/index.xml | 2 +- lark/weekly/index.xml | 7 ---- lasso/daily/index.xml | 2 +- lasso/weekly/index.xml | 7 ---- latte/daily/index.xml | 2 +- latte/weekly/index.xml | 7 ---- lean/daily/index.xml | 9 +++++- lean/weekly/index.xml | 14 -------- less/daily/index.xml | 2 +- less/weekly/index.xml | 7 ---- lex/daily/index.xml | 2 +- lex/weekly/index.xml | 7 ---- lfe/daily/index.xml | 2 +- lfe/weekly/index.xml | 7 ---- ligolang/daily/index.xml | 2 +- ligolang/weekly/index.xml | 7 ---- lilypond/daily/index.xml | 2 +- lilypond/weekly/index.xml | 7 ---- limbo/daily/index.xml | 2 +- limbo/weekly/index.xml | 7 ---- linker-script/daily/index.xml | 2 +- linker-script/weekly/index.xml | 7 ---- linux-kernel-module/daily/index.xml | 2 +- linux-kernel-module/weekly/index.xml | 7 ---- liquid/daily/index.xml | 9 +----- liquid/weekly/index.xml | 7 ---- literate-agda/daily/index.xml | 2 +- literate-agda/weekly/index.xml | 7 ---- literate-coffeescript/daily/index.xml | 2 +- literate-coffeescript/weekly/index.xml | 7 ---- literate-haskell/daily/index.xml | 2 +- literate-haskell/weekly/index.xml | 7 ---- livescript/daily/index.xml | 2 +- livescript/weekly/index.xml | 7 ---- llvm/daily/index.xml | 2 +- llvm/weekly/index.xml | 7 ---- logos/daily/index.xml | 9 +++++- logos/weekly/index.xml | 14 -------- logtalk/daily/index.xml | 2 +- logtalk/weekly/index.xml | 7 ---- lolcode/daily/index.xml | 2 +- lolcode/weekly/index.xml | 7 ---- lookml/daily/index.xml | 2 +- lookml/weekly/index.xml | 7 ---- loomscript/daily/index.xml | 2 +- loomscript/weekly/index.xml | 7 ---- lsl/daily/index.xml | 2 +- lsl/weekly/index.xml | 7 ---- ltspice-symbol/daily/index.xml | 2 +- ltspice-symbol/weekly/index.xml | 7 ---- lua/daily/index.xml | 16 +--------- m/daily/index.xml | 2 +- m/weekly/index.xml | 7 ---- m4/daily/index.xml | 2 +- m4/weekly/index.xml | 7 ---- m4sugar/daily/index.xml | 2 +- m4sugar/weekly/index.xml | 7 ---- macaulay2/daily/index.xml | 2 +- macaulay2/weekly/index.xml | 7 ---- makefile/daily/index.xml | 12 +++---- makefile/weekly/index.xml | 28 ---------------- mako/daily/index.xml | 2 +- mako/weekly/index.xml | 7 ---- markdown/daily/index.xml | 2 +- markdown/weekly/index.xml | 7 ---- marko/daily/index.xml | 2 +- marko/weekly/index.xml | 7 ---- mask/daily/index.xml | 2 +- mask/weekly/index.xml | 7 ---- mathematica/daily/index.xml | 2 +- mathematica/weekly/index.xml | 7 ---- matlab/daily/index.xml | 2 +- matlab/weekly/index.xml | 28 ---------------- maven-pom/daily/index.xml | 2 +- maven-pom/weekly/index.xml | 7 ---- max/daily/index.xml | 2 +- max/weekly/index.xml | 14 -------- maxscript/daily/index.xml | 2 +- maxscript/weekly/index.xml | 7 ---- mcfunction/daily/index.xml | 2 +- mcfunction/weekly/index.xml | 7 ---- mercury/daily/index.xml | 2 +- mercury/weekly/index.xml | 7 ---- meson/daily/index.xml | 2 +- meson/weekly/index.xml | 7 ---- metal/daily/index.xml | 2 +- metal/weekly/index.xml | 7 ---- .../daily/index.xml | 2 +- .../weekly/index.xml | 7 ---- .../daily/index.xml | 2 +- .../weekly/index.xml | 7 ---- minid/daily/index.xml | 2 +- minid/weekly/index.xml | 7 ---- mint/daily/index.xml | 2 +- mint/weekly/index.xml | 7 ---- mirah/daily/index.xml | 2 +- mirah/weekly/index.xml | 7 ---- mirc-script/daily/index.xml | 2 +- mirc-script/weekly/index.xml | 7 ---- mlir/daily/index.xml | 2 +- mlir/weekly/index.xml | 7 ---- modelica/daily/index.xml | 2 +- modelica/weekly/index.xml | 7 ---- modula-2/daily/index.xml | 2 +- modula-2/weekly/index.xml | 7 ---- modula-3/daily/index.xml | 2 +- modula-3/weekly/index.xml | 7 ---- module-management-system/daily/index.xml | 2 +- module-management-system/weekly/index.xml | 7 ---- monkey-c/daily/index.xml | 2 +- monkey-c/weekly/index.xml | 7 ---- monkey/daily/index.xml | 2 +- monkey/weekly/index.xml | 7 ---- moocode/daily/index.xml | 2 +- moocode/weekly/index.xml | 7 ---- moonscript/daily/index.xml | 2 +- moonscript/weekly/index.xml | 7 ---- motoko/daily/index.xml | 2 +- motoko/weekly/index.xml | 7 ---- motorola-68k-assembly/daily/index.xml | 2 +- motorola-68k-assembly/weekly/index.xml | 7 ---- mql4/daily/index.xml | 2 +- mql4/weekly/index.xml | 7 ---- mql5/daily/index.xml | 2 +- mql5/weekly/index.xml | 7 ---- mtml/daily/index.xml | 2 +- mtml/weekly/index.xml | 7 ---- muf/daily/index.xml | 2 +- muf/weekly/index.xml | 7 ---- mupad/daily/index.xml | 2 +- mupad/weekly/index.xml | 7 ---- muse/daily/index.xml | 2 +- muse/weekly/index.xml | 7 ---- mustache/daily/index.xml | 2 +- mustache/weekly/index.xml | 14 -------- myghty/daily/index.xml | 2 +- myghty/weekly/index.xml | 7 ---- nanorc/daily/index.xml | 2 +- nanorc/weekly/index.xml | 7 ---- nasl/daily/index.xml | 2 +- nasl/weekly/index.xml | 7 ---- ncl/daily/index.xml | 2 +- ncl/weekly/index.xml | 7 ---- nearley/daily/index.xml | 2 +- nearley/weekly/index.xml | 7 ---- nemerle/daily/index.xml | 2 +- nemerle/weekly/index.xml | 7 ---- neon/daily/index.xml | 2 +- neon/weekly/index.xml | 7 ---- nesc/daily/index.xml | 2 +- nesc/weekly/index.xml | 7 ---- netlinx+erb/daily/index.xml | 2 +- netlinx+erb/weekly/index.xml | 7 ---- netlinx/daily/index.xml | 2 +- netlinx/weekly/index.xml | 7 ---- netlogo/daily/index.xml | 2 +- netlogo/weekly/index.xml | 7 ---- newlisp/daily/index.xml | 2 +- newlisp/weekly/index.xml | 7 ---- nextflow/daily/index.xml | 2 +- nextflow/weekly/index.xml | 7 ---- nginx/daily/index.xml | 2 +- nginx/weekly/index.xml | 7 ---- nim/daily/index.xml | 9 +----- nim/weekly/index.xml | 7 ---- ninja/daily/index.xml | 2 +- ninja/weekly/index.xml | 7 ---- nit/daily/index.xml | 2 +- nit/weekly/index.xml | 7 ---- nix/daily/index.xml | 2 +- nix/weekly/index.xml | 21 ------------ nl/daily/index.xml | 2 +- nl/weekly/index.xml | 7 ---- npm-config/daily/index.xml | 2 +- npm-config/weekly/index.xml | 7 ---- nsis/daily/index.xml | 2 +- nsis/weekly/index.xml | 7 ---- nu/daily/index.xml | 2 +- nu/weekly/index.xml | 7 ---- numpy/daily/index.xml | 2 +- numpy/weekly/index.xml | 7 ---- nunjucks/daily/index.xml | 2 +- nunjucks/weekly/index.xml | 7 ---- nwscript/daily/index.xml | 2 +- nwscript/weekly/index.xml | 7 ---- objdump/daily/index.xml | 2 +- objdump/weekly/index.xml | 7 ---- object-data-instance-notation/daily/index.xml | 2 +- .../weekly/index.xml | 7 ---- objective-c++/daily/index.xml | 2 +- objective-c++/weekly/index.xml | 7 ---- objective-c/daily/index.xml | 16 +++++++++- objective-c/weekly/index.xml | 28 ---------------- objective-j/daily/index.xml | 2 +- objective-j/weekly/index.xml | 7 ---- objectscript/daily/index.xml | 2 +- objectscript/weekly/index.xml | 7 ---- ocaml/daily/index.xml | 16 +++++++++- ocaml/weekly/index.xml | 28 ---------------- odin/daily/index.xml | 2 +- odin/weekly/index.xml | 7 ---- omgrofl/daily/index.xml | 2 +- omgrofl/weekly/index.xml | 7 ---- ooc/daily/index.xml | 2 +- ooc/weekly/index.xml | 7 ---- opa/daily/index.xml | 2 +- opa/weekly/index.xml | 7 ---- opal/daily/index.xml | 2 +- opal/weekly/index.xml | 7 ---- open-policy-agent/daily/index.xml | 2 +- open-policy-agent/weekly/index.xml | 7 ---- opencl/daily/index.xml | 2 +- opencl/weekly/index.xml | 7 ---- openedge-abl/daily/index.xml | 2 +- openedge-abl/weekly/index.xml | 7 ---- openqasm/daily/index.xml | 2 +- openqasm/weekly/index.xml | 7 ---- openrc-runscript/daily/index.xml | 2 +- openrc-runscript/weekly/index.xml | 7 ---- openscad/daily/index.xml | 2 +- openscad/weekly/index.xml | 7 ---- openstep-property-list/daily/index.xml | 2 +- openstep-property-list/weekly/index.xml | 7 ---- opentype-feature-file/daily/index.xml | 2 +- opentype-feature-file/weekly/index.xml | 7 ---- org/daily/index.xml | 2 +- org/weekly/index.xml | 7 ---- ox/daily/index.xml | 2 +- ox/weekly/index.xml | 7 ---- oxygene/daily/index.xml | 2 +- oxygene/weekly/index.xml | 7 ---- oz/daily/index.xml | 2 +- oz/weekly/index.xml | 7 ---- p4/daily/index.xml | 2 +- p4/weekly/index.xml | 7 ---- pan/daily/index.xml | 2 +- pan/weekly/index.xml | 7 ---- papyrus/daily/index.xml | 2 +- papyrus/weekly/index.xml | 7 ---- parrot-assembly/daily/index.xml | 2 +- parrot-assembly/weekly/index.xml | 7 ---- .../daily/index.xml | 2 +- .../weekly/index.xml | 7 ---- parrot/daily/index.xml | 2 +- parrot/weekly/index.xml | 7 ---- pascal/daily/index.xml | 2 +- pascal/weekly/index.xml | 21 ------------ pawn/daily/index.xml | 2 +- pawn/weekly/index.xml | 7 ---- peg.js/daily/index.xml | 2 +- peg.js/weekly/index.xml | 7 ---- pep8/daily/index.xml | 2 +- pep8/weekly/index.xml | 7 ---- perl/daily/index.xml | 12 +++---- perl/weekly/index.xml | 21 ------------ php/daily/index.xml | 9 +++++- php/weekly/index.xml | 28 ---------------- pic/daily/index.xml | 2 +- pic/weekly/index.xml | 7 ---- pickle/daily/index.xml | 2 +- pickle/weekly/index.xml | 7 ---- picolisp/daily/index.xml | 2 +- picolisp/weekly/index.xml | 7 ---- piglatin/daily/index.xml | 2 +- piglatin/weekly/index.xml | 7 ---- pike/daily/index.xml | 2 +- pike/weekly/index.xml | 7 ---- plantuml/daily/index.xml | 2 +- plantuml/weekly/index.xml | 7 ---- plpgsql/daily/index.xml | 2 +- plpgsql/weekly/index.xml | 14 -------- plsql/daily/index.xml | 2 +- plsql/weekly/index.xml | 7 ---- pod-6/daily/index.xml | 2 +- pod-6/weekly/index.xml | 7 ---- pod/daily/index.xml | 2 +- pod/weekly/index.xml | 7 ---- pogoscript/daily/index.xml | 2 +- pogoscript/weekly/index.xml | 7 ---- pony/daily/index.xml | 2 +- pony/weekly/index.xml | 7 ---- postcss/daily/index.xml | 2 +- postcss/weekly/index.xml | 7 ---- postscript/daily/index.xml | 2 +- postscript/weekly/index.xml | 7 ---- pov-ray-sdl/daily/index.xml | 2 +- pov-ray-sdl/weekly/index.xml | 7 ---- powerbuilder/daily/index.xml | 2 +- powerbuilder/weekly/index.xml | 7 ---- powershell/daily/index.xml | 32 +++++++++---------- powershell/weekly/index.xml | 28 ---------------- prisma/daily/index.xml | 2 +- prisma/weekly/index.xml | 7 ---- processing/daily/index.xml | 2 +- processing/weekly/index.xml | 28 ---------------- procfile/daily/index.xml | 2 +- procfile/weekly/index.xml | 7 ---- proguard/daily/index.xml | 2 +- proguard/weekly/index.xml | 7 ---- prolog/daily/index.xml | 2 +- prolog/weekly/index.xml | 14 -------- promela/daily/index.xml | 2 +- promela/weekly/index.xml | 7 ---- propeller-spin/daily/index.xml | 2 +- propeller-spin/weekly/index.xml | 7 ---- protocol-buffer-text-format/daily/index.xml | 2 +- protocol-buffer-text-format/weekly/index.xml | 7 ---- protocol-buffer/daily/index.xml | 2 +- protocol-buffer/weekly/index.xml | 7 ---- public-key/daily/index.xml | 2 +- public-key/weekly/index.xml | 7 ---- pug/daily/index.xml | 2 +- pug/weekly/index.xml | 7 ---- puppet/daily/index.xml | 2 +- puppet/weekly/index.xml | 28 ---------------- pure-data/daily/index.xml | 2 +- pure-data/weekly/index.xml | 7 ---- purebasic/daily/index.xml | 2 +- purebasic/weekly/index.xml | 7 ---- purescript/daily/index.xml | 2 +- purescript/weekly/index.xml | 7 ---- python-console/daily/index.xml | 2 +- python-console/weekly/index.xml | 7 ---- python-traceback/daily/index.xml | 2 +- python-traceback/weekly/index.xml | 7 ---- python/daily/index.xml | 32 +++++++++---------- python/weekly/index.xml | 28 ---------------- q%23/daily/index.xml | 2 +- q%23/weekly/index.xml | 7 ---- q/daily/index.xml | 2 +- q/weekly/index.xml | 7 ---- qmake/daily/index.xml | 2 +- qmake/weekly/index.xml | 7 ---- qml/daily/index.xml | 2 +- qml/weekly/index.xml | 21 ------------ qt-script/daily/index.xml | 2 +- qt-script/weekly/index.xml | 7 ---- quake/daily/index.xml | 2 +- quake/weekly/index.xml | 7 ---- r/daily/index.xml | 29 ++++++++++------- r/weekly/index.xml | 14 -------- racket/daily/index.xml | 2 +- racket/weekly/index.xml | 7 ---- ragel/daily/index.xml | 2 +- ragel/weekly/index.xml | 7 ---- raku/daily/index.xml | 2 +- raku/weekly/index.xml | 14 -------- raml/daily/index.xml | 2 +- raml/weekly/index.xml | 7 ---- rascal/daily/index.xml | 2 +- rascal/weekly/index.xml | 7 ---- raw-token-data/daily/index.xml | 2 +- raw-token-data/weekly/index.xml | 7 ---- rdoc/daily/index.xml | 2 +- rdoc/weekly/index.xml | 7 ---- readline-config/daily/index.xml | 2 +- readline-config/weekly/index.xml | 7 ---- realbasic/daily/index.xml | 2 +- realbasic/weekly/index.xml | 7 ---- reason/daily/index.xml | 2 +- reason/weekly/index.xml | 7 ---- rebol/daily/index.xml | 2 +- rebol/weekly/index.xml | 7 ---- record-jar/daily/index.xml | 2 +- record-jar/weekly/index.xml | 7 ---- red/daily/index.xml | 2 +- red/weekly/index.xml | 7 ---- redcode/daily/index.xml | 2 +- redcode/weekly/index.xml | 7 ---- redirect-rules/daily/index.xml | 2 +- redirect-rules/weekly/index.xml | 7 ---- regular-expression/daily/index.xml | 2 +- regular-expression/weekly/index.xml | 7 ---- ren'py/daily/index.xml | 2 +- ren'py/weekly/index.xml | 7 ---- renderscript/daily/index.xml | 2 +- renderscript/weekly/index.xml | 7 ---- rescript/daily/index.xml | 2 +- rescript/weekly/index.xml | 7 ---- restructuredtext/daily/index.xml | 2 +- restructuredtext/weekly/index.xml | 7 ---- rexx/daily/index.xml | 2 +- rexx/weekly/index.xml | 7 ---- rich-text-format/daily/index.xml | 9 +----- rich-text-format/weekly/index.xml | 7 ---- ring/daily/index.xml | 2 +- ring/weekly/index.xml | 7 ---- riot/daily/index.xml | 2 +- riot/weekly/index.xml | 7 ---- rmarkdown/daily/index.xml | 2 +- rmarkdown/weekly/index.xml | 7 ---- robotframework/daily/index.xml | 2 +- robotframework/weekly/index.xml | 7 ---- robots.txt/daily/index.xml | 2 +- robots.txt/weekly/index.xml | 7 ---- roff-manpage/daily/index.xml | 2 +- roff-manpage/weekly/index.xml | 7 ---- roff/daily/index.xml | 2 +- roff/weekly/index.xml | 14 -------- rouge/daily/index.xml | 2 +- rouge/weekly/index.xml | 7 ---- rpc/daily/index.xml | 2 +- rpc/weekly/index.xml | 7 ---- rpgle/daily/index.xml | 2 +- rpgle/weekly/index.xml | 7 ---- rpm-spec/daily/index.xml | 2 +- rpm-spec/weekly/index.xml | 7 ---- ruby/daily/index.xml | 9 +----- ruby/weekly/index.xml | 28 ---------------- runoff/daily/index.xml | 2 +- runoff/weekly/index.xml | 7 ---- rust/daily/index.xml | 26 +++++++++++---- rust/weekly/index.xml | 28 ---------------- sage/daily/index.xml | 2 +- sage/weekly/index.xml | 7 ---- saltstack/daily/index.xml | 2 +- saltstack/weekly/index.xml | 7 ---- sas/daily/index.xml | 2 +- sas/weekly/index.xml | 7 ---- sass/daily/index.xml | 2 +- sass/weekly/index.xml | 7 ---- scala/daily/index.xml | 12 +++---- scala/weekly/index.xml | 21 ------------ scaml/daily/index.xml | 2 +- scaml/weekly/index.xml | 7 ---- scheme/daily/index.xml | 2 +- scheme/weekly/index.xml | 14 -------- scilab/daily/index.xml | 2 +- scilab/weekly/index.xml | 7 ---- scss/daily/index.xml | 16 +++++++++- scss/weekly/index.xml | 21 ------------ sed/daily/index.xml | 2 +- sed/weekly/index.xml | 7 ---- self/daily/index.xml | 2 +- self/weekly/index.xml | 7 ---- selinux-policy/daily/index.xml | 2 +- selinux-policy/weekly/index.xml | 7 ---- shaderlab/daily/index.xml | 2 +- shaderlab/weekly/index.xml | 14 -------- shell/daily/index.xml | 26 ++++----------- shell/weekly/index.xml | 28 ---------------- shellcheck-config/daily/index.xml | 2 +- shellcheck-config/weekly/index.xml | 7 ---- shellsession/daily/index.xml | 2 +- shellsession/weekly/index.xml | 7 ---- shen/daily/index.xml | 2 +- shen/weekly/index.xml | 7 ---- sieve/daily/index.xml | 2 +- sieve/weekly/index.xml | 7 ---- singularity/daily/index.xml | 2 +- singularity/weekly/index.xml | 7 ---- slash/daily/index.xml | 2 +- slash/weekly/index.xml | 7 ---- slice/daily/index.xml | 2 +- slice/weekly/index.xml | 7 ---- slim/daily/index.xml | 2 +- slim/weekly/index.xml | 7 ---- smali/daily/index.xml | 2 +- smali/weekly/index.xml | 7 ---- smalltalk/daily/index.xml | 2 +- smalltalk/weekly/index.xml | 7 ---- smarty/daily/index.xml | 9 +----- smarty/weekly/index.xml | 14 -------- smpl/daily/index.xml | 2 +- smpl/weekly/index.xml | 7 ---- smt/daily/index.xml | 2 +- smt/weekly/index.xml | 7 ---- solidity/daily/index.xml | 23 ++++++++++++- solidity/weekly/index.xml | 28 ---------------- soong/daily/index.xml | 2 +- soong/weekly/index.xml | 7 ---- sourcepawn/daily/index.xml | 2 +- sourcepawn/weekly/index.xml | 7 ---- sparql/daily/index.xml | 2 +- sparql/weekly/index.xml | 7 ---- spline-font-database/daily/index.xml | 2 +- spline-font-database/weekly/index.xml | 7 ---- sqf/daily/index.xml | 2 +- sqf/weekly/index.xml | 7 ---- sql/daily/index.xml | 2 +- sql/weekly/index.xml | 7 ---- sqlpl/daily/index.xml | 2 +- sqlpl/weekly/index.xml | 14 -------- squirrel/daily/index.xml | 2 +- squirrel/weekly/index.xml | 7 ---- srecode-template/daily/index.xml | 2 +- srecode-template/weekly/index.xml | 7 ---- ssh-config/daily/index.xml | 2 +- ssh-config/weekly/index.xml | 7 ---- stan/daily/index.xml | 2 +- stan/weekly/index.xml | 7 ---- standard-ml/daily/index.xml | 2 +- standard-ml/weekly/index.xml | 7 ---- starlark/daily/index.xml | 9 +----- starlark/weekly/index.xml | 14 -------- stata/daily/index.xml | 2 +- stata/weekly/index.xml | 7 ---- ston/daily/index.xml | 2 +- ston/weekly/index.xml | 7 ---- stringtemplate/daily/index.xml | 2 +- stringtemplate/weekly/index.xml | 7 ---- stylus/daily/index.xml | 9 +----- stylus/weekly/index.xml | 7 ---- subrip-text/daily/index.xml | 2 +- subrip-text/weekly/index.xml | 7 ---- sugarss/daily/index.xml | 2 +- sugarss/weekly/index.xml | 7 ---- supercollider/daily/index.xml | 2 +- supercollider/weekly/index.xml | 7 ---- svelte/daily/index.xml | 12 +++---- svelte/weekly/index.xml | 28 ---------------- svg/daily/index.xml | 2 +- svg/weekly/index.xml | 7 ---- swift/daily/index.xml | 9 +----- swift/weekly/index.xml | 7 ---- swig/daily/index.xml | 2 +- swig/weekly/index.xml | 7 ---- systemverilog/daily/index.xml | 2 +- systemverilog/weekly/index.xml | 21 ------------ talon/daily/index.xml | 2 +- talon/weekly/index.xml | 7 ---- tcl/daily/index.xml | 2 +- tcl/weekly/index.xml | 7 ---- tcsh/daily/index.xml | 2 +- tcsh/weekly/index.xml | 7 ---- tea/daily/index.xml | 2 +- tea/weekly/index.xml | 7 ---- terra/daily/index.xml | 2 +- terra/weekly/index.xml | 14 -------- tex/daily/index.xml | 19 ++++------- tex/weekly/index.xml | 28 ---------------- texinfo/daily/index.xml | 2 +- texinfo/weekly/index.xml | 7 ---- text/daily/index.xml | 2 +- text/weekly/index.xml | 7 ---- textile/daily/index.xml | 2 +- textile/weekly/index.xml | 7 ---- textmate-properties/daily/index.xml | 2 +- textmate-properties/weekly/index.xml | 7 ---- thrift/daily/index.xml | 2 +- thrift/weekly/index.xml | 7 ---- ti-program/daily/index.xml | 2 +- ti-program/weekly/index.xml | 7 ---- tla/daily/index.xml | 2 +- tla/weekly/index.xml | 7 ---- toml/daily/index.xml | 2 +- toml/weekly/index.xml | 7 ---- tsql/daily/index.xml | 9 +----- tsql/weekly/index.xml | 7 ---- tsv/daily/index.xml | 2 +- tsv/weekly/index.xml | 7 ---- tsx/daily/index.xml | 2 +- tsx/weekly/index.xml | 7 ---- turing/daily/index.xml | 2 +- turing/weekly/index.xml | 7 ---- turtle/daily/index.xml | 2 +- turtle/weekly/index.xml | 7 ---- twig/daily/index.xml | 2 +- twig/weekly/index.xml | 7 ---- txl/daily/index.xml | 2 +- txl/weekly/index.xml | 7 ---- type-language/daily/index.xml | 2 +- type-language/weekly/index.xml | 7 ---- typescript/daily/index.xml | 32 +++++++++---------- typescript/weekly/index.xml | 28 ---------------- unified-parallel-c/daily/index.xml | 2 +- unified-parallel-c/weekly/index.xml | 7 ---- unity3d-asset/daily/index.xml | 2 +- unity3d-asset/weekly/index.xml | 7 ---- unix-assembly/daily/index.xml | 2 +- unix-assembly/weekly/index.xml | 7 ---- unknown/daily/index.xml | 32 +++++++++---------- unknown/weekly/index.xml | 28 ---------------- uno/daily/index.xml | 2 +- uno/weekly/index.xml | 7 ---- unrealscript/daily/index.xml | 2 +- unrealscript/weekly/index.xml | 7 ---- urweb/daily/index.xml | 2 +- urweb/weekly/index.xml | 7 ---- v/daily/index.xml | 2 +- v/weekly/index.xml | 7 ---- vala/daily/index.xml | 2 +- vala/weekly/index.xml | 14 -------- valve-data-format/daily/index.xml | 2 +- valve-data-format/weekly/index.xml | 7 ---- vba/daily/index.xml | 2 +- vba/weekly/index.xml | 7 ---- vbscript/daily/index.xml | 2 +- vbscript/weekly/index.xml | 7 ---- vcl/daily/index.xml | 2 +- vcl/weekly/index.xml | 7 ---- verilog/daily/index.xml | 2 +- verilog/weekly/index.xml | 7 ---- vhdl/daily/index.xml | 9 +++++- vhdl/weekly/index.xml | 7 ---- vim-help-file/daily/index.xml | 2 +- vim-help-file/weekly/index.xml | 7 ---- vim-script/daily/index.xml | 2 +- vim-script/weekly/index.xml | 28 ---------------- vim-snippet/daily/index.xml | 2 +- vim-snippet/weekly/index.xml | 14 -------- visual-basic-.net/daily/index.xml | 2 +- visual-basic-.net/weekly/index.xml | 14 -------- volt/daily/index.xml | 2 +- volt/weekly/index.xml | 7 ---- vue/daily/index.xml | 23 ++++++++++++- vue/weekly/index.xml | 14 -------- vyper/daily/index.xml | 2 +- vyper/weekly/index.xml | 7 ---- wavefront-material/daily/index.xml | 2 +- wavefront-material/weekly/index.xml | 7 ---- wavefront-object/daily/index.xml | 2 +- wavefront-object/weekly/index.xml | 7 ---- wdl/daily/index.xml | 2 +- wdl/weekly/index.xml | 7 ---- web-ontology-language/daily/index.xml | 2 +- web-ontology-language/weekly/index.xml | 7 ---- webassembly/daily/index.xml | 2 +- webassembly/weekly/index.xml | 7 ---- webidl/daily/index.xml | 2 +- webidl/weekly/index.xml | 7 ---- webvtt/daily/index.xml | 2 +- webvtt/weekly/index.xml | 7 ---- wget-config/daily/index.xml | 2 +- wget-config/weekly/index.xml | 7 ---- wikitext/daily/index.xml | 2 +- wikitext/weekly/index.xml | 7 ---- windows-registry-entries/daily/index.xml | 2 +- windows-registry-entries/weekly/index.xml | 7 ---- wisp/daily/index.xml | 2 +- wisp/weekly/index.xml | 7 ---- witcher-script/daily/index.xml | 2 +- witcher-script/weekly/index.xml | 7 ---- wollok/daily/index.xml | 2 +- wollok/weekly/index.xml | 7 ---- world-of-warcraft-addon-data/daily/index.xml | 2 +- world-of-warcraft-addon-data/weekly/index.xml | 7 ---- x-bitmap/daily/index.xml | 2 +- x-bitmap/weekly/index.xml | 7 ---- x-font-directory-index/daily/index.xml | 2 +- x-font-directory-index/weekly/index.xml | 7 ---- x-pixmap/daily/index.xml | 2 +- x-pixmap/weekly/index.xml | 7 ---- x10/daily/index.xml | 2 +- x10/weekly/index.xml | 7 ---- xbase/daily/index.xml | 2 +- xbase/weekly/index.xml | 7 ---- xc/daily/index.xml | 2 +- xc/weekly/index.xml | 7 ---- xcompose/daily/index.xml | 2 +- xcompose/weekly/index.xml | 7 ---- xml-property-list/daily/index.xml | 2 +- xml-property-list/weekly/index.xml | 7 ---- xml/daily/index.xml | 2 +- xml/weekly/index.xml | 14 -------- xojo/daily/index.xml | 2 +- xojo/weekly/index.xml | 7 ---- xonsh/daily/index.xml | 2 +- xonsh/weekly/index.xml | 7 ---- xpages/daily/index.xml | 2 +- xpages/weekly/index.xml | 7 ---- xproc/daily/index.xml | 2 +- xproc/weekly/index.xml | 7 ---- xquery/daily/index.xml | 2 +- xquery/weekly/index.xml | 7 ---- xs/daily/index.xml | 2 +- xs/weekly/index.xml | 7 ---- xslt/daily/index.xml | 9 +++++- xslt/weekly/index.xml | 7 ---- xtend/daily/index.xml | 2 +- xtend/weekly/index.xml | 7 ---- yacc/daily/index.xml | 2 +- yacc/weekly/index.xml | 7 ---- yaml/daily/index.xml | 2 +- yaml/weekly/index.xml | 7 ---- yang/daily/index.xml | 2 +- yang/weekly/index.xml | 7 ---- yara/daily/index.xml | 2 +- yara/weekly/index.xml | 7 ---- yasnippet/daily/index.xml | 2 +- yasnippet/weekly/index.xml | 7 ---- zap/daily/index.xml | 2 +- zap/weekly/index.xml | 7 ---- zeek/daily/index.xml | 2 +- zeek/weekly/index.xml | 7 ---- zenscript/daily/index.xml | 2 +- zenscript/weekly/index.xml | 7 ---- zephir/daily/index.xml | 2 +- zephir/weekly/index.xml | 7 ---- zig/daily/index.xml | 16 +++++++++- zig/weekly/index.xml | 14 -------- zil/daily/index.xml | 2 +- zil/weekly/index.xml | 7 ---- zimpl/daily/index.xml | 2 +- zimpl/weekly/index.xml | 7 ---- 1275 files changed, 1170 insertions(+), 6791 deletions(-) delete mode 100644 1c-enterprise/weekly/index.xml delete mode 100644 2-dimensional-array/weekly/index.xml delete mode 100644 4d/weekly/index.xml delete mode 100644 abap-cds/weekly/index.xml delete mode 100644 abap/weekly/index.xml delete mode 100644 abnf/weekly/index.xml delete mode 100644 actionscript/weekly/index.xml delete mode 100644 ada/weekly/index.xml delete mode 100644 adobe-font-metrics/weekly/index.xml delete mode 100644 agda/weekly/index.xml delete mode 100644 ags-script/weekly/index.xml delete mode 100644 aidl/weekly/index.xml delete mode 100644 al/weekly/index.xml delete mode 100644 all/weekly/index.xml delete mode 100644 alloy/weekly/index.xml delete mode 100644 alpine-abuild/weekly/index.xml delete mode 100644 altium-designer/weekly/index.xml delete mode 100644 ampl/weekly/index.xml delete mode 100644 angelscript/weekly/index.xml delete mode 100644 ant-build-system/weekly/index.xml delete mode 100644 antlr/weekly/index.xml delete mode 100644 apacheconf/weekly/index.xml delete mode 100644 apex/weekly/index.xml delete mode 100644 api-blueprint/weekly/index.xml delete mode 100644 apl/weekly/index.xml delete mode 100644 apollo-guidance-computer/weekly/index.xml delete mode 100644 applescript/weekly/index.xml delete mode 100644 arc/weekly/index.xml delete mode 100644 asciidoc/weekly/index.xml delete mode 100644 asl/weekly/index.xml delete mode 100644 asn.1/weekly/index.xml delete mode 100644 asp.net/weekly/index.xml delete mode 100644 aspectj/weekly/index.xml delete mode 100644 assembly/weekly/index.xml delete mode 100644 astro/weekly/index.xml delete mode 100644 asymptote/weekly/index.xml delete mode 100644 ats/weekly/index.xml delete mode 100644 augeas/weekly/index.xml delete mode 100644 autohotkey/weekly/index.xml delete mode 100644 autoit/weekly/index.xml delete mode 100644 avro-idl/weekly/index.xml delete mode 100644 awk/weekly/index.xml delete mode 100644 ballerina/weekly/index.xml delete mode 100644 basic/weekly/index.xml delete mode 100644 batchfile/weekly/index.xml delete mode 100644 beef/weekly/index.xml delete mode 100644 befunge/weekly/index.xml delete mode 100644 berry/weekly/index.xml delete mode 100644 bibtex/weekly/index.xml delete mode 100644 bicep/weekly/index.xml delete mode 100644 bison/weekly/index.xml delete mode 100644 bitbake/weekly/index.xml delete mode 100644 blade/weekly/index.xml delete mode 100644 blitzbasic/weekly/index.xml delete mode 100644 blitzmax/weekly/index.xml delete mode 100644 bluespec/weekly/index.xml delete mode 100644 boo/weekly/index.xml delete mode 100644 boogie/weekly/index.xml delete mode 100644 brainfuck/weekly/index.xml delete mode 100644 brightscript/weekly/index.xml delete mode 100644 browserslist/weekly/index.xml delete mode 100644 c%23/weekly/index.xml delete mode 100644 c++/weekly/index.xml delete mode 100644 c-objdump/weekly/index.xml delete mode 100644 c/weekly/index.xml delete mode 100644 c2hs-haskell/weekly/index.xml delete mode 100644 cabal-config/weekly/index.xml delete mode 100644 cadence/weekly/index.xml delete mode 100644 cairo/weekly/index.xml delete mode 100644 cap'n-proto/weekly/index.xml delete mode 100644 cartocss/weekly/index.xml delete mode 100644 ceylon/weekly/index.xml delete mode 100644 chapel/weekly/index.xml delete mode 100644 charity/weekly/index.xml delete mode 100644 chuck/weekly/index.xml delete mode 100644 cil/weekly/index.xml delete mode 100644 cirru/weekly/index.xml delete mode 100644 clarion/weekly/index.xml delete mode 100644 clarity/weekly/index.xml delete mode 100644 classic-asp/weekly/index.xml delete mode 100644 clean/weekly/index.xml delete mode 100644 click/weekly/index.xml delete mode 100644 clips/weekly/index.xml delete mode 100644 clojure/weekly/index.xml delete mode 100644 closure-templates/weekly/index.xml delete mode 100644 cloud-firestore-security-rules/weekly/index.xml delete mode 100644 cmake/weekly/index.xml delete mode 100644 cobol/weekly/index.xml delete mode 100644 codeowners/weekly/index.xml delete mode 100644 codeql/weekly/index.xml delete mode 100644 coffeescript/weekly/index.xml delete mode 100644 coldfusion-cfc/weekly/index.xml delete mode 100644 coldfusion/weekly/index.xml delete mode 100644 collada/weekly/index.xml delete mode 100644 common-lisp/weekly/index.xml delete mode 100644 common-workflow-language/weekly/index.xml delete mode 100644 component-pascal/weekly/index.xml delete mode 100644 conll-u/weekly/index.xml delete mode 100644 cool/weekly/index.xml delete mode 100644 coq/weekly/index.xml delete mode 100644 cpp-objdump/weekly/index.xml delete mode 100644 creole/weekly/index.xml delete mode 100644 crystal/weekly/index.xml delete mode 100644 cson/weekly/index.xml delete mode 100644 csound-document/weekly/index.xml delete mode 100644 csound-score/weekly/index.xml delete mode 100644 csound/weekly/index.xml delete mode 100644 css/weekly/index.xml delete mode 100644 csv/weekly/index.xml delete mode 100644 cuda/weekly/index.xml delete mode 100644 cue/weekly/index.xml delete mode 100644 curl-config/weekly/index.xml delete mode 100644 curry/weekly/index.xml delete mode 100644 cweb/weekly/index.xml delete mode 100644 cycript/weekly/index.xml delete mode 100644 cython/weekly/index.xml delete mode 100644 d-objdump/weekly/index.xml delete mode 100644 d/weekly/index.xml delete mode 100644 dafny/weekly/index.xml delete mode 100644 darcs-patch/weekly/index.xml delete mode 100644 dart/weekly/index.xml delete mode 100644 dataweave/weekly/index.xml delete mode 100644 debian-package-control-file/weekly/index.xml delete mode 100644 denizenscript/weekly/index.xml delete mode 100644 desktop/weekly/index.xml delete mode 100644 dhall/weekly/index.xml delete mode 100644 diff/weekly/index.xml delete mode 100644 digital-command-language/weekly/index.xml delete mode 100644 dircolors/weekly/index.xml delete mode 100644 directx-3d-file/weekly/index.xml delete mode 100644 dm/weekly/index.xml delete mode 100644 dns-zone/weekly/index.xml delete mode 100644 dockerfile/weekly/index.xml delete mode 100644 dogescript/weekly/index.xml delete mode 100644 dtrace/weekly/index.xml delete mode 100644 dylan/weekly/index.xml delete mode 100644 e-mail/weekly/index.xml delete mode 100644 e/weekly/index.xml delete mode 100644 eagle/weekly/index.xml delete mode 100644 earthly/weekly/index.xml delete mode 100644 easybuild/weekly/index.xml delete mode 100644 ebnf/weekly/index.xml delete mode 100644 ec/weekly/index.xml delete mode 100644 ecere-projects/weekly/index.xml delete mode 100644 ecl/weekly/index.xml delete mode 100644 eclipse/weekly/index.xml delete mode 100644 editorconfig/weekly/index.xml delete mode 100644 edje-data-collection/weekly/index.xml delete mode 100644 edn/weekly/index.xml delete mode 100644 eiffel/weekly/index.xml delete mode 100644 ejs/weekly/index.xml delete mode 100644 elixir/weekly/index.xml delete mode 100644 elm/weekly/index.xml delete mode 100644 emacs-lisp/weekly/index.xml delete mode 100644 emberscript/weekly/index.xml delete mode 100644 eq/weekly/index.xml delete mode 100644 erlang/weekly/index.xml delete mode 100644 euphoria/weekly/index.xml delete mode 100644 f%23/weekly/index.xml delete mode 100644 f*/weekly/index.xml delete mode 100644 factor/weekly/index.xml delete mode 100644 fancy/weekly/index.xml delete mode 100644 fantom/weekly/index.xml delete mode 100644 faust/weekly/index.xml delete mode 100644 fennel/weekly/index.xml delete mode 100644 figlet-font/weekly/index.xml delete mode 100644 filebench-wml/weekly/index.xml delete mode 100644 filterscript/weekly/index.xml delete mode 100644 fish/weekly/index.xml delete mode 100644 fluent/weekly/index.xml delete mode 100644 flux/weekly/index.xml delete mode 100644 formatted/weekly/index.xml delete mode 100644 forth/weekly/index.xml delete mode 100644 fortran-free-form/weekly/index.xml delete mode 100644 fortran/weekly/index.xml delete mode 100644 freebasic/weekly/index.xml delete mode 100644 freemarker/weekly/index.xml delete mode 100644 frege/weekly/index.xml delete mode 100644 futhark/weekly/index.xml delete mode 100644 g-code/weekly/index.xml delete mode 100644 game-maker-language/weekly/index.xml delete mode 100644 gaml/weekly/index.xml delete mode 100644 gams/weekly/index.xml delete mode 100644 gap/weekly/index.xml delete mode 100644 gcc-machine-description/weekly/index.xml delete mode 100644 gdb/weekly/index.xml delete mode 100644 gdscript/weekly/index.xml delete mode 100644 gedcom/weekly/index.xml delete mode 100644 gemfile.lock/weekly/index.xml delete mode 100644 genero-forms/weekly/index.xml delete mode 100644 genero/weekly/index.xml delete mode 100644 genie/weekly/index.xml delete mode 100644 genshi/weekly/index.xml delete mode 100644 gentoo-ebuild/weekly/index.xml delete mode 100644 gentoo-eclass/weekly/index.xml delete mode 100644 gerber-image/weekly/index.xml delete mode 100644 gettext-catalog/weekly/index.xml delete mode 100644 gherkin/weekly/index.xml delete mode 100644 git-attributes/weekly/index.xml delete mode 100644 git-config/weekly/index.xml delete mode 100644 gleam/weekly/index.xml delete mode 100644 glsl/weekly/index.xml delete mode 100644 glyph-bitmap-distribution-format/weekly/index.xml delete mode 100644 glyph/weekly/index.xml delete mode 100644 gn/weekly/index.xml delete mode 100644 gnuplot/weekly/index.xml delete mode 100644 go-checksums/weekly/index.xml delete mode 100644 go-module/weekly/index.xml delete mode 100644 go/weekly/index.xml delete mode 100644 golo/weekly/index.xml delete mode 100644 gosu/weekly/index.xml delete mode 100644 grace/weekly/index.xml delete mode 100644 gradle/weekly/index.xml delete mode 100644 grammatical-framework/weekly/index.xml delete mode 100644 graph-modeling-language/weekly/index.xml delete mode 100644 graphql/weekly/index.xml delete mode 100644 graphviz-(dot)/weekly/index.xml delete mode 100644 groovy-server-pages/weekly/index.xml delete mode 100644 groovy/weekly/index.xml delete mode 100644 gsc/weekly/index.xml delete mode 100644 hack/weekly/index.xml delete mode 100644 haml/weekly/index.xml delete mode 100644 handlebars/weekly/index.xml delete mode 100644 haproxy/weekly/index.xml delete mode 100644 harbour/weekly/index.xml delete mode 100644 haskell/weekly/index.xml delete mode 100644 haxe/weekly/index.xml delete mode 100644 hcl/weekly/index.xml delete mode 100644 hiveql/weekly/index.xml delete mode 100644 hlsl/weekly/index.xml delete mode 100644 holyc/weekly/index.xml delete mode 100644 hoon/weekly/index.xml delete mode 100644 html+ecr/weekly/index.xml delete mode 100644 html+eex/weekly/index.xml delete mode 100644 html+erb/weekly/index.xml delete mode 100644 html+php/weekly/index.xml delete mode 100644 html+razor/weekly/index.xml delete mode 100644 html/weekly/index.xml delete mode 100644 http/weekly/index.xml delete mode 100644 hxml/weekly/index.xml delete mode 100644 hy/weekly/index.xml delete mode 100644 hyphy/weekly/index.xml delete mode 100644 idl/weekly/index.xml delete mode 100644 idris/weekly/index.xml delete mode 100644 ignore-list/weekly/index.xml delete mode 100644 igor-pro/weekly/index.xml delete mode 100644 imagej-macro/weekly/index.xml delete mode 100644 inform-7/weekly/index.xml delete mode 100644 ini/weekly/index.xml delete mode 100644 inno-setup/weekly/index.xml delete mode 100644 io/weekly/index.xml delete mode 100644 ioke/weekly/index.xml delete mode 100644 irc-log/weekly/index.xml delete mode 100644 isabelle-root/weekly/index.xml delete mode 100644 isabelle/weekly/index.xml delete mode 100644 j/weekly/index.xml delete mode 100644 janet/weekly/index.xml delete mode 100644 jar-manifest/weekly/index.xml delete mode 100644 jasmin/weekly/index.xml delete mode 100644 java-properties/weekly/index.xml delete mode 100644 java-server-pages/weekly/index.xml delete mode 100644 java/weekly/index.xml delete mode 100644 javascript+erb/weekly/index.xml delete mode 100644 javascript/weekly/index.xml delete mode 100644 jest-snapshot/weekly/index.xml delete mode 100644 jflex/weekly/index.xml delete mode 100644 jinja/weekly/index.xml delete mode 100644 jison-lex/weekly/index.xml delete mode 100644 jison/weekly/index.xml delete mode 100644 jolie/weekly/index.xml delete mode 100644 jq/weekly/index.xml delete mode 100644 json-with-comments/weekly/index.xml delete mode 100644 json/weekly/index.xml delete mode 100644 json5/weekly/index.xml delete mode 100644 jsoniq/weekly/index.xml delete mode 100644 jsonld/weekly/index.xml delete mode 100644 jsonnet/weekly/index.xml delete mode 100644 julia/weekly/index.xml delete mode 100644 jupyter-notebook/weekly/index.xml delete mode 100644 kaitai-struct/weekly/index.xml delete mode 100644 kakounescript/weekly/index.xml delete mode 100644 kicad-layout/weekly/index.xml delete mode 100644 kicad-legacy-layout/weekly/index.xml delete mode 100644 kicad-schematic/weekly/index.xml delete mode 100644 kit/weekly/index.xml delete mode 100644 kotlin/weekly/index.xml delete mode 100644 krl/weekly/index.xml delete mode 100644 kusto/weekly/index.xml delete mode 100644 kvlang/weekly/index.xml delete mode 100644 labview/weekly/index.xml delete mode 100644 lark/weekly/index.xml delete mode 100644 lasso/weekly/index.xml delete mode 100644 latte/weekly/index.xml delete mode 100644 lean/weekly/index.xml delete mode 100644 less/weekly/index.xml delete mode 100644 lex/weekly/index.xml delete mode 100644 lfe/weekly/index.xml delete mode 100644 ligolang/weekly/index.xml delete mode 100644 lilypond/weekly/index.xml delete mode 100644 limbo/weekly/index.xml delete mode 100644 linker-script/weekly/index.xml delete mode 100644 linux-kernel-module/weekly/index.xml delete mode 100644 liquid/weekly/index.xml delete mode 100644 literate-agda/weekly/index.xml delete mode 100644 literate-coffeescript/weekly/index.xml delete mode 100644 literate-haskell/weekly/index.xml delete mode 100644 livescript/weekly/index.xml delete mode 100644 llvm/weekly/index.xml delete mode 100644 logos/weekly/index.xml delete mode 100644 logtalk/weekly/index.xml delete mode 100644 lolcode/weekly/index.xml delete mode 100644 lookml/weekly/index.xml delete mode 100644 loomscript/weekly/index.xml delete mode 100644 lsl/weekly/index.xml delete mode 100644 ltspice-symbol/weekly/index.xml delete mode 100644 m/weekly/index.xml delete mode 100644 m4/weekly/index.xml delete mode 100644 m4sugar/weekly/index.xml delete mode 100644 macaulay2/weekly/index.xml delete mode 100644 makefile/weekly/index.xml delete mode 100644 mako/weekly/index.xml delete mode 100644 markdown/weekly/index.xml delete mode 100644 marko/weekly/index.xml delete mode 100644 mask/weekly/index.xml delete mode 100644 mathematica/weekly/index.xml delete mode 100644 matlab/weekly/index.xml delete mode 100644 maven-pom/weekly/index.xml delete mode 100644 max/weekly/index.xml delete mode 100644 maxscript/weekly/index.xml delete mode 100644 mcfunction/weekly/index.xml delete mode 100644 mercury/weekly/index.xml delete mode 100644 meson/weekly/index.xml delete mode 100644 metal/weekly/index.xml delete mode 100644 microsoft-developer-studio-project/weekly/index.xml delete mode 100644 microsoft-visual-studio-solution/weekly/index.xml delete mode 100644 minid/weekly/index.xml delete mode 100644 mint/weekly/index.xml delete mode 100644 mirah/weekly/index.xml delete mode 100644 mirc-script/weekly/index.xml delete mode 100644 mlir/weekly/index.xml delete mode 100644 modelica/weekly/index.xml delete mode 100644 modula-2/weekly/index.xml delete mode 100644 modula-3/weekly/index.xml delete mode 100644 module-management-system/weekly/index.xml delete mode 100644 monkey-c/weekly/index.xml delete mode 100644 monkey/weekly/index.xml delete mode 100644 moocode/weekly/index.xml delete mode 100644 moonscript/weekly/index.xml delete mode 100644 motoko/weekly/index.xml delete mode 100644 motorola-68k-assembly/weekly/index.xml delete mode 100644 mql4/weekly/index.xml delete mode 100644 mql5/weekly/index.xml delete mode 100644 mtml/weekly/index.xml delete mode 100644 muf/weekly/index.xml delete mode 100644 mupad/weekly/index.xml delete mode 100644 muse/weekly/index.xml delete mode 100644 mustache/weekly/index.xml delete mode 100644 myghty/weekly/index.xml delete mode 100644 nanorc/weekly/index.xml delete mode 100644 nasl/weekly/index.xml delete mode 100644 ncl/weekly/index.xml delete mode 100644 nearley/weekly/index.xml delete mode 100644 nemerle/weekly/index.xml delete mode 100644 neon/weekly/index.xml delete mode 100644 nesc/weekly/index.xml delete mode 100644 netlinx+erb/weekly/index.xml delete mode 100644 netlinx/weekly/index.xml delete mode 100644 netlogo/weekly/index.xml delete mode 100644 newlisp/weekly/index.xml delete mode 100644 nextflow/weekly/index.xml delete mode 100644 nginx/weekly/index.xml delete mode 100644 nim/weekly/index.xml delete mode 100644 ninja/weekly/index.xml delete mode 100644 nit/weekly/index.xml delete mode 100644 nix/weekly/index.xml delete mode 100644 nl/weekly/index.xml delete mode 100644 npm-config/weekly/index.xml delete mode 100644 nsis/weekly/index.xml delete mode 100644 nu/weekly/index.xml delete mode 100644 numpy/weekly/index.xml delete mode 100644 nunjucks/weekly/index.xml delete mode 100644 nwscript/weekly/index.xml delete mode 100644 objdump/weekly/index.xml delete mode 100644 object-data-instance-notation/weekly/index.xml delete mode 100644 objective-c++/weekly/index.xml delete mode 100644 objective-c/weekly/index.xml delete mode 100644 objective-j/weekly/index.xml delete mode 100644 objectscript/weekly/index.xml delete mode 100644 ocaml/weekly/index.xml delete mode 100644 odin/weekly/index.xml delete mode 100644 omgrofl/weekly/index.xml delete mode 100644 ooc/weekly/index.xml delete mode 100644 opa/weekly/index.xml delete mode 100644 opal/weekly/index.xml delete mode 100644 open-policy-agent/weekly/index.xml delete mode 100644 opencl/weekly/index.xml delete mode 100644 openedge-abl/weekly/index.xml delete mode 100644 openqasm/weekly/index.xml delete mode 100644 openrc-runscript/weekly/index.xml delete mode 100644 openscad/weekly/index.xml delete mode 100644 openstep-property-list/weekly/index.xml delete mode 100644 opentype-feature-file/weekly/index.xml delete mode 100644 org/weekly/index.xml delete mode 100644 ox/weekly/index.xml delete mode 100644 oxygene/weekly/index.xml delete mode 100644 oz/weekly/index.xml delete mode 100644 p4/weekly/index.xml delete mode 100644 pan/weekly/index.xml delete mode 100644 papyrus/weekly/index.xml delete mode 100644 parrot-assembly/weekly/index.xml delete mode 100644 parrot-internal-representation/weekly/index.xml delete mode 100644 parrot/weekly/index.xml delete mode 100644 pascal/weekly/index.xml delete mode 100644 pawn/weekly/index.xml delete mode 100644 peg.js/weekly/index.xml delete mode 100644 pep8/weekly/index.xml delete mode 100644 perl/weekly/index.xml delete mode 100644 php/weekly/index.xml delete mode 100644 pic/weekly/index.xml delete mode 100644 pickle/weekly/index.xml delete mode 100644 picolisp/weekly/index.xml delete mode 100644 piglatin/weekly/index.xml delete mode 100644 pike/weekly/index.xml delete mode 100644 plantuml/weekly/index.xml delete mode 100644 plpgsql/weekly/index.xml delete mode 100644 plsql/weekly/index.xml delete mode 100644 pod-6/weekly/index.xml delete mode 100644 pod/weekly/index.xml delete mode 100644 pogoscript/weekly/index.xml delete mode 100644 pony/weekly/index.xml delete mode 100644 postcss/weekly/index.xml delete mode 100644 postscript/weekly/index.xml delete mode 100644 pov-ray-sdl/weekly/index.xml delete mode 100644 powerbuilder/weekly/index.xml delete mode 100644 powershell/weekly/index.xml delete mode 100644 prisma/weekly/index.xml delete mode 100644 processing/weekly/index.xml delete mode 100644 procfile/weekly/index.xml delete mode 100644 proguard/weekly/index.xml delete mode 100644 prolog/weekly/index.xml delete mode 100644 promela/weekly/index.xml delete mode 100644 propeller-spin/weekly/index.xml delete mode 100644 protocol-buffer-text-format/weekly/index.xml delete mode 100644 protocol-buffer/weekly/index.xml delete mode 100644 public-key/weekly/index.xml delete mode 100644 pug/weekly/index.xml delete mode 100644 puppet/weekly/index.xml delete mode 100644 pure-data/weekly/index.xml delete mode 100644 purebasic/weekly/index.xml delete mode 100644 purescript/weekly/index.xml delete mode 100644 python-console/weekly/index.xml delete mode 100644 python-traceback/weekly/index.xml delete mode 100644 python/weekly/index.xml delete mode 100644 q%23/weekly/index.xml delete mode 100644 q/weekly/index.xml delete mode 100644 qmake/weekly/index.xml delete mode 100644 qml/weekly/index.xml delete mode 100644 qt-script/weekly/index.xml delete mode 100644 quake/weekly/index.xml delete mode 100644 r/weekly/index.xml delete mode 100644 racket/weekly/index.xml delete mode 100644 ragel/weekly/index.xml delete mode 100644 raku/weekly/index.xml delete mode 100644 raml/weekly/index.xml delete mode 100644 rascal/weekly/index.xml delete mode 100644 raw-token-data/weekly/index.xml delete mode 100644 rdoc/weekly/index.xml delete mode 100644 readline-config/weekly/index.xml delete mode 100644 realbasic/weekly/index.xml delete mode 100644 reason/weekly/index.xml delete mode 100644 rebol/weekly/index.xml delete mode 100644 record-jar/weekly/index.xml delete mode 100644 red/weekly/index.xml delete mode 100644 redcode/weekly/index.xml delete mode 100644 redirect-rules/weekly/index.xml delete mode 100644 regular-expression/weekly/index.xml delete mode 100644 ren'py/weekly/index.xml delete mode 100644 renderscript/weekly/index.xml delete mode 100644 rescript/weekly/index.xml delete mode 100644 restructuredtext/weekly/index.xml delete mode 100644 rexx/weekly/index.xml delete mode 100644 rich-text-format/weekly/index.xml delete mode 100644 ring/weekly/index.xml delete mode 100644 riot/weekly/index.xml delete mode 100644 rmarkdown/weekly/index.xml delete mode 100644 robotframework/weekly/index.xml delete mode 100644 robots.txt/weekly/index.xml delete mode 100644 roff-manpage/weekly/index.xml delete mode 100644 roff/weekly/index.xml delete mode 100644 rouge/weekly/index.xml delete mode 100644 rpc/weekly/index.xml delete mode 100644 rpgle/weekly/index.xml delete mode 100644 rpm-spec/weekly/index.xml delete mode 100644 ruby/weekly/index.xml delete mode 100644 runoff/weekly/index.xml delete mode 100644 rust/weekly/index.xml delete mode 100644 sage/weekly/index.xml delete mode 100644 saltstack/weekly/index.xml delete mode 100644 sas/weekly/index.xml delete mode 100644 sass/weekly/index.xml delete mode 100644 scala/weekly/index.xml delete mode 100644 scaml/weekly/index.xml delete mode 100644 scheme/weekly/index.xml delete mode 100644 scilab/weekly/index.xml delete mode 100644 scss/weekly/index.xml delete mode 100644 sed/weekly/index.xml delete mode 100644 self/weekly/index.xml delete mode 100644 selinux-policy/weekly/index.xml delete mode 100644 shaderlab/weekly/index.xml delete mode 100644 shell/weekly/index.xml delete mode 100644 shellcheck-config/weekly/index.xml delete mode 100644 shellsession/weekly/index.xml delete mode 100644 shen/weekly/index.xml delete mode 100644 sieve/weekly/index.xml delete mode 100644 singularity/weekly/index.xml delete mode 100644 slash/weekly/index.xml delete mode 100644 slice/weekly/index.xml delete mode 100644 slim/weekly/index.xml delete mode 100644 smali/weekly/index.xml delete mode 100644 smalltalk/weekly/index.xml delete mode 100644 smarty/weekly/index.xml delete mode 100644 smpl/weekly/index.xml delete mode 100644 smt/weekly/index.xml delete mode 100644 solidity/weekly/index.xml delete mode 100644 soong/weekly/index.xml delete mode 100644 sourcepawn/weekly/index.xml delete mode 100644 sparql/weekly/index.xml delete mode 100644 spline-font-database/weekly/index.xml delete mode 100644 sqf/weekly/index.xml delete mode 100644 sql/weekly/index.xml delete mode 100644 sqlpl/weekly/index.xml delete mode 100644 squirrel/weekly/index.xml delete mode 100644 srecode-template/weekly/index.xml delete mode 100644 ssh-config/weekly/index.xml delete mode 100644 stan/weekly/index.xml delete mode 100644 standard-ml/weekly/index.xml delete mode 100644 starlark/weekly/index.xml delete mode 100644 stata/weekly/index.xml delete mode 100644 ston/weekly/index.xml delete mode 100644 stringtemplate/weekly/index.xml delete mode 100644 stylus/weekly/index.xml delete mode 100644 subrip-text/weekly/index.xml delete mode 100644 sugarss/weekly/index.xml delete mode 100644 supercollider/weekly/index.xml delete mode 100644 svelte/weekly/index.xml delete mode 100644 svg/weekly/index.xml delete mode 100644 swift/weekly/index.xml delete mode 100644 swig/weekly/index.xml delete mode 100644 systemverilog/weekly/index.xml delete mode 100644 talon/weekly/index.xml delete mode 100644 tcl/weekly/index.xml delete mode 100644 tcsh/weekly/index.xml delete mode 100644 tea/weekly/index.xml delete mode 100644 terra/weekly/index.xml delete mode 100644 tex/weekly/index.xml delete mode 100644 texinfo/weekly/index.xml delete mode 100644 text/weekly/index.xml delete mode 100644 textile/weekly/index.xml delete mode 100644 textmate-properties/weekly/index.xml delete mode 100644 thrift/weekly/index.xml delete mode 100644 ti-program/weekly/index.xml delete mode 100644 tla/weekly/index.xml delete mode 100644 toml/weekly/index.xml delete mode 100644 tsql/weekly/index.xml delete mode 100644 tsv/weekly/index.xml delete mode 100644 tsx/weekly/index.xml delete mode 100644 turing/weekly/index.xml delete mode 100644 turtle/weekly/index.xml delete mode 100644 twig/weekly/index.xml delete mode 100644 txl/weekly/index.xml delete mode 100644 type-language/weekly/index.xml delete mode 100644 typescript/weekly/index.xml delete mode 100644 unified-parallel-c/weekly/index.xml delete mode 100644 unity3d-asset/weekly/index.xml delete mode 100644 unix-assembly/weekly/index.xml delete mode 100644 unknown/weekly/index.xml delete mode 100644 uno/weekly/index.xml delete mode 100644 unrealscript/weekly/index.xml delete mode 100644 urweb/weekly/index.xml delete mode 100644 v/weekly/index.xml delete mode 100644 vala/weekly/index.xml delete mode 100644 valve-data-format/weekly/index.xml delete mode 100644 vba/weekly/index.xml delete mode 100644 vbscript/weekly/index.xml delete mode 100644 vcl/weekly/index.xml delete mode 100644 verilog/weekly/index.xml delete mode 100644 vhdl/weekly/index.xml delete mode 100644 vim-help-file/weekly/index.xml delete mode 100644 vim-script/weekly/index.xml delete mode 100644 vim-snippet/weekly/index.xml delete mode 100644 visual-basic-.net/weekly/index.xml delete mode 100644 volt/weekly/index.xml delete mode 100644 vue/weekly/index.xml delete mode 100644 vyper/weekly/index.xml delete mode 100644 wavefront-material/weekly/index.xml delete mode 100644 wavefront-object/weekly/index.xml delete mode 100644 wdl/weekly/index.xml delete mode 100644 web-ontology-language/weekly/index.xml delete mode 100644 webassembly/weekly/index.xml delete mode 100644 webidl/weekly/index.xml delete mode 100644 webvtt/weekly/index.xml delete mode 100644 wget-config/weekly/index.xml delete mode 100644 wikitext/weekly/index.xml delete mode 100644 windows-registry-entries/weekly/index.xml delete mode 100644 wisp/weekly/index.xml delete mode 100644 witcher-script/weekly/index.xml delete mode 100644 wollok/weekly/index.xml delete mode 100644 world-of-warcraft-addon-data/weekly/index.xml delete mode 100644 x-bitmap/weekly/index.xml delete mode 100644 x-font-directory-index/weekly/index.xml delete mode 100644 x-pixmap/weekly/index.xml delete mode 100644 x10/weekly/index.xml delete mode 100644 xbase/weekly/index.xml delete mode 100644 xc/weekly/index.xml delete mode 100644 xcompose/weekly/index.xml delete mode 100644 xml-property-list/weekly/index.xml delete mode 100644 xml/weekly/index.xml delete mode 100644 xojo/weekly/index.xml delete mode 100644 xonsh/weekly/index.xml delete mode 100644 xpages/weekly/index.xml delete mode 100644 xproc/weekly/index.xml delete mode 100644 xquery/weekly/index.xml delete mode 100644 xs/weekly/index.xml delete mode 100644 xslt/weekly/index.xml delete mode 100644 xtend/weekly/index.xml delete mode 100644 yacc/weekly/index.xml delete mode 100644 yaml/weekly/index.xml delete mode 100644 yang/weekly/index.xml delete mode 100644 yara/weekly/index.xml delete mode 100644 yasnippet/weekly/index.xml delete mode 100644 zap/weekly/index.xml delete mode 100644 zeek/weekly/index.xml delete mode 100644 zenscript/weekly/index.xml delete mode 100644 zephir/weekly/index.xml delete mode 100644 zig/weekly/index.xml delete mode 100644 zil/weekly/index.xml delete mode 100644 zimpl/weekly/index.xml diff --git a/1c-enterprise/daily/index.xml b/1c-enterprise/daily/index.xml index 266a56035d0..e290d4f6e3c 100644 --- a/1c-enterprise/daily/index.xml +++ b/1c-enterprise/daily/index.xml @@ -1,7 +1,7 @@ GitHub 1C Enterprise Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:26:33Z + 2023-10-23T01:23:57Z Daily Trending of 1C Enterprise in GitHub \ No newline at end of file diff --git a/1c-enterprise/weekly/index.xml b/1c-enterprise/weekly/index.xml deleted file mode 100644 index 5c4ca6e9dd1..00000000000 --- a/1c-enterprise/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub 1C Enterprise Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:57Z - Weekly Trending of 1C Enterprise in GitHub - - \ No newline at end of file diff --git a/2-dimensional-array/daily/index.xml b/2-dimensional-array/daily/index.xml index 4f87d80af35..ac9ac73a5f8 100644 --- a/2-dimensional-array/daily/index.xml +++ b/2-dimensional-array/daily/index.xml @@ -1,7 +1,7 @@ GitHub 2-Dimensional Array Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:01Z + 2023-10-23T01:24:21Z Daily Trending of 2-Dimensional Array in GitHub \ No newline at end of file diff --git a/2-dimensional-array/weekly/index.xml b/2-dimensional-array/weekly/index.xml deleted file mode 100644 index e752a7d486c..00000000000 --- a/2-dimensional-array/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub 2-Dimensional Array Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:14Z - Weekly Trending of 2-Dimensional Array in GitHub - - \ No newline at end of file diff --git a/4d/daily/index.xml b/4d/daily/index.xml index 6df4d31b4b2..3acc11e947b 100644 --- a/4d/daily/index.xml +++ b/4d/daily/index.xml @@ -1,7 +1,7 @@ GitHub 4D Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:02Z + 2023-10-23T01:24:19Z Daily Trending of 4D in GitHub \ No newline at end of file diff --git a/4d/weekly/index.xml b/4d/weekly/index.xml deleted file mode 100644 index 3783dbc6bdd..00000000000 --- a/4d/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub 4D Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:15Z - Weekly Trending of 4D in GitHub - - \ No newline at end of file diff --git a/abap-cds/daily/index.xml b/abap-cds/daily/index.xml index f5efcb8fa33..950beaa2acc 100644 --- a/abap-cds/daily/index.xml +++ b/abap-cds/daily/index.xml @@ -1,7 +1,7 @@ GitHub ABAP CDS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:00Z + 2023-10-23T01:24:21Z Daily Trending of ABAP CDS in GitHub \ No newline at end of file diff --git a/abap-cds/weekly/index.xml b/abap-cds/weekly/index.xml deleted file mode 100644 index d15bbfd7fbd..00000000000 --- a/abap-cds/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ABAP CDS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:17Z - Weekly Trending of ABAP CDS in GitHub - - \ No newline at end of file diff --git a/abap/daily/index.xml b/abap/daily/index.xml index 6694df0faf7..47c604acbeb 100644 --- a/abap/daily/index.xml +++ b/abap/daily/index.xml @@ -1,7 +1,7 @@ GitHub ABAP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:03Z + 2023-10-23T01:24:20Z Daily Trending of ABAP in GitHub \ No newline at end of file diff --git a/abap/weekly/index.xml b/abap/weekly/index.xml deleted file mode 100644 index 26eddbd029e..00000000000 --- a/abap/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ABAP Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:16Z - Weekly Trending of ABAP in GitHub - - \ No newline at end of file diff --git a/abnf/daily/index.xml b/abnf/daily/index.xml index 2c3d346240f..f06bc21e13d 100644 --- a/abnf/daily/index.xml +++ b/abnf/daily/index.xml @@ -1,7 +1,7 @@ GitHub ABNF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:06Z + 2023-10-23T01:24:25Z Daily Trending of ABNF in GitHub \ No newline at end of file diff --git a/abnf/weekly/index.xml b/abnf/weekly/index.xml deleted file mode 100644 index 67457cd4a8b..00000000000 --- a/abnf/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ABNF Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:18Z - Weekly Trending of ABNF in GitHub - - \ No newline at end of file diff --git a/actionscript/daily/index.xml b/actionscript/daily/index.xml index 29b9aabefb9..43832d27d9f 100644 --- a/actionscript/daily/index.xml +++ b/actionscript/daily/index.xml @@ -1,14 +1,7 @@ GitHub ActionScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:06Z + 2023-10-23T01:24:26Z Daily Trending of ActionScript in GitHub - - michaelavila/asynchrony - 2023-10-22T01:27:06Z - tag:github.com,2023-10-22:/michaelavila/asynchrony - - <p>Simplifies your asynchronous ActionScript code</p><hr> - \ No newline at end of file diff --git a/actionscript/weekly/index.xml b/actionscript/weekly/index.xml deleted file mode 100644 index 32a79736adf..00000000000 --- a/actionscript/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub ActionScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:22Z - Weekly Trending of ActionScript in GitHub - - - alumican/alumican.as - 2023-10-22T01:46:22Z - tag:github.com,2023-10-22:/alumican/alumican.as - - <p>My private ActionScript libs, PixelBender, and so on.</p><hr> - - - yangboz/as3MachineLearning - 2023-10-22T01:46:22Z - tag:github.com,2023-10-22:/yangboz/as3MachineLearning - - <p>A pure AS3 library on Machine Learning.</p><hr> - - - barmatz/compfy-sample - 2023-10-22T01:46:22Z - tag:github.com,2023-10-22:/barmatz/compfy-sample - - <p>Interactive Comfy game with Facebook integration</p><hr> - - \ No newline at end of file diff --git a/ada/daily/index.xml b/ada/daily/index.xml index 78f93a11b8e..dc18b618e3d 100644 --- a/ada/daily/index.xml +++ b/ada/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ada Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:04Z + 2023-10-23T01:24:23Z Daily Trending of Ada in GitHub \ No newline at end of file diff --git a/ada/weekly/index.xml b/ada/weekly/index.xml deleted file mode 100644 index 72eec8ebf7f..00000000000 --- a/ada/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Ada Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:20Z - Weekly Trending of Ada in GitHub - - - pjambet/adas5 - 2023-10-22T01:46:20Z - tag:github.com,2023-10-22:/pjambet/adas5 - - <p>School project - 2010</p><hr> - - \ No newline at end of file diff --git a/adobe-font-metrics/daily/index.xml b/adobe-font-metrics/daily/index.xml index 221a2bbb32d..511a5c80615 100644 --- a/adobe-font-metrics/daily/index.xml +++ b/adobe-font-metrics/daily/index.xml @@ -1,7 +1,7 @@ GitHub Adobe Font Metrics Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:13Z + 2023-10-23T01:24:30Z Daily Trending of Adobe Font Metrics in GitHub \ No newline at end of file diff --git a/adobe-font-metrics/weekly/index.xml b/adobe-font-metrics/weekly/index.xml deleted file mode 100644 index b9c0e900450..00000000000 --- a/adobe-font-metrics/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Adobe Font Metrics Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:26Z - Weekly Trending of Adobe Font Metrics in GitHub - - \ No newline at end of file diff --git a/agda/daily/index.xml b/agda/daily/index.xml index 1e2eac11cba..c5e84119d5b 100644 --- a/agda/daily/index.xml +++ b/agda/daily/index.xml @@ -1,7 +1,7 @@ GitHub Agda Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:10Z + 2023-10-23T01:24:29Z Daily Trending of Agda in GitHub \ No newline at end of file diff --git a/agda/weekly/index.xml b/agda/weekly/index.xml deleted file mode 100644 index d2211d2af4e..00000000000 --- a/agda/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Agda Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:23Z - Weekly Trending of Agda in GitHub - - \ No newline at end of file diff --git a/ags-script/daily/index.xml b/ags-script/daily/index.xml index f6652171c3f..33acc2dc601 100644 --- a/ags-script/daily/index.xml +++ b/ags-script/daily/index.xml @@ -1,7 +1,7 @@ GitHub AGS Script Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:09Z + 2023-10-23T01:24:27Z Daily Trending of AGS Script in GitHub \ No newline at end of file diff --git a/ags-script/weekly/index.xml b/ags-script/weekly/index.xml deleted file mode 100644 index 9700cb819d6..00000000000 --- a/ags-script/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AGS Script Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:24Z - Weekly Trending of AGS Script in GitHub - - \ No newline at end of file diff --git a/aidl/daily/index.xml b/aidl/daily/index.xml index a4bc5f14426..761a0877cef 100644 --- a/aidl/daily/index.xml +++ b/aidl/daily/index.xml @@ -1,7 +1,7 @@ GitHub AIDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:12Z + 2023-10-23T01:24:28Z Daily Trending of AIDL in GitHub \ No newline at end of file diff --git a/aidl/weekly/index.xml b/aidl/weekly/index.xml deleted file mode 100644 index 9d47697929f..00000000000 --- a/aidl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AIDL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:25Z - Weekly Trending of AIDL in GitHub - - \ No newline at end of file diff --git a/al/daily/index.xml b/al/daily/index.xml index 47ec43dbf05..b54b14d464e 100644 --- a/al/daily/index.xml +++ b/al/daily/index.xml @@ -1,7 +1,7 @@ GitHub AL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:15Z + 2023-10-23T01:24:31Z Daily Trending of AL in GitHub \ No newline at end of file diff --git a/al/weekly/index.xml b/al/weekly/index.xml deleted file mode 100644 index a29405240e5..00000000000 --- a/al/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:29Z - Weekly Trending of AL in GitHub - - \ No newline at end of file diff --git a/all/daily/index.xml b/all/daily/index.xml index c923378be31..689f58bfdb6 100644 --- a/all/daily/index.xml +++ b/all/daily/index.xml @@ -1,28 +1,28 @@ GitHub All Languages Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:26:44Z + 2023-10-23T01:24:06Z Daily Trending of All Languages in GitHub - danieldonda/Cybersecurity101 - 2023-10-22T01:26:44Z - tag:github.com,2023-10-22:/danieldonda/Cybersecurity101 - - <p>Um guia abrangente para iniciantes na área de cibersegurança.</p><hr><h1>📣 <strong>COMECE POR AQUI!</strong></h1> <p>Um guia abrangente para iniciantes na área de cibersegurança.</p> <img src="https://github.com/danieldonda/Cybersecurity101/assets/16530643/33aa3883-9e3c-482c-b821-df63ce22ec1b" width="300"> <h2>📖 Conteúdo</h2> <ul> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#trilha-de-estudo">Trilha de Estudo</a></li> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#-guia-de-certifica%C3%A7%C3%B5es">Guia de Certificações</a></li> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#-fundamentos-de-ciberseguran%C3%A7a">Fundamentos de Cibersegurança</a></li> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#soft-skills">Soft skills</a></li> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#-livros-recomendados-para-iniciar">Livros recomendados</a></li> <li><a href="https://github.com/danieldonda/1stStepCyberSec/raw/main/README.md#-eventos-no-brasil">Eventos no Brasil</a></li> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#laborat%C3%B3rios-virtuais">Laboratórios Virtuais</a></li> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#%EF%B8%8Fdesafios-ctf-capture-the-flag">Desafios CTF (Capture The Flag)</a></li> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#-sites-e-blogs-recomendados">Sites e Blogs Recomendados:</a></li> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#-podcasts-sobre-ciberseguran%C3%A7a">Podcasts sobre Cibersegurança:</a></li> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#-ferramentas-essenciais">Ferramentas Essenciais:</a></li> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#-reddit-subreddits-para-discuss%C3%B5es">Reddit: Subreddits para discussões.</a></li> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#-youtube-canais-sobre-ciberseguran%C3%A7a-brasileiros">Youtube: Canais sobre Cibersegurança Brasileiros.</a></li> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#-youtube-usa">Youtube: USA</a></li> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#awesome-github--reposit%C3%B3rios-para-ciberseguran%C3%A7a">Awesome Github – Repositórios para cibersegurança</a></li> <li><a href="https://raw.githubusercontent.com/danieldonda/Cybersecurity101/main/#-frameworks-e-melhores-pr%C3%A1ticas">Frameworks e Melhores Práticas</a></li> </ul> <hr> <h2>📚Trilha de Estudo</h2> <h3>Eu devo fazer Faculdade ou uma certificação para começar a trabalhar em Cibersegurança 🤔 ?</h3> <p>O mercado de trabalho em cibersegurança é semelhante aos outros: quanto mais qualificações você tiver, melhor. Afinal, o mercado está se tornando competitivo, e você deve sempre se destacar para conquistar uma oportunidade.</p> <h3>🎓Faculdade Prós e Contras</h3> <p><strong>Prós:</strong></p> <ul> <li><strong>Base Sólida</strong>: Formação teórica e prática abrangente sobre fundamentos de TI e cibersegurança.</li> <li><strong>Ampla Cobertura</strong>: Abordagem de diversos tópicos para visão holística da área.</li> <li><strong>Networking</strong>: Oportunidades para conectar-se com colegas, professores e profissionais.</li> <li><strong>Reconhecimento</strong>: Muitas vezes, é um requisito ou diferencial para certos cargos.</li> </ul> <p><strong>Contras:</strong></p> <ul> <li><strong>Tempo e Custo</strong>: Geralmente leva anos e pode ser caro.</li> <li><strong>Conteúdo Desatualizado</strong>: A rápida evolução da cibersegurança pode superar alguns currículos.</li> </ul> <h3>💼 Certificações Prós e Contras</h3> <p><strong>Prós:</strong></p> <ul> <li><strong>Especialização</strong>: Foco em habilidades e tópicos específicos.</li> <li><strong>Atualização</strong>: Reflete tendências e tecnologias atuais.</li> <li><strong>Reconhecimento da Indústria</strong>: Valorizado por empregadores.</li> <li><strong>Flexibilidade</strong>: Pode ser obtido mais rapidamente e com menor custo.</li> </ul> <p><strong>Contras:</strong></p> <ul> <li><strong>Falta de Base Ampla</strong>: Pode não fornecer uma base tão ampla quanto um diploma universitário.</li> <li><strong>Validade</strong>: Algumas certificações precisam ser renovadas.</li> </ul> <p><em><strong>Lembrando, o mais importante é a curiosidade e a vontade de aprender. A cibersegurança é um campo vasto, e sempre haverá algo novo a ser descoberto. Comece com o básico, construa uma base sólida e avance gradualmente para tópicos mais complexos.</strong></em></p> <hr> <h2>📝 Guia de Certificações</h2> <p><strong>Paul Jerimy</strong> compilou <strong>436 certificações</strong> (abril de 2022) e criou um <strong><a href="https://pauljerimy.com/security-certification-roadmap/">roadmap</a></strong> de certificação de segurança para iniciantes, intermediários e experts. <img src="https://danieldonda.com/wp-content/uploads/2022/06/image-9-1024x505.png" alt=""></p> <p>🚨 Acesse <em><a href="https://danieldonda.com/roteiro-de-certificacao-de-seguranca/">Roteiro de certificação de segurança</a></em></p> <h3>🔒 Fundamentos de Cibersegurança</h3> <p>A trilha de aprendizado <strong>pode variar com base nos objetivos individuais</strong> e nas especialidades desejadas, mas aqui estão os fundamentos que, em geral, todos os profissionais de cibersegurança devem considerar.</p> <ul> <li><strong>Kit Básico necessário de conhecimento</strong> <ul> <li>Windows / Windows Server + Active Directory</li> <li>Redes de computadores / TCP/IP / Portas e protocolos</li> <li>Linux</li> <li>Básico de programação</li> </ul> </li> </ul> <p><strong>Princípios Básicos de Tecnologia da Informação</strong></p> <p>Entendimento de <strong>sistemas operacionais</strong> (Windows, Linux, macOS). Noções básicas sobre <strong>redes</strong> (TCP/IP, sub-redes, VLANs, roteadores, switches). Familiaridade com <strong>bancos de dados</strong> e armazenamento.</p> <p><strong>Conceitos de Segurança</strong></p> <ul> <li>Compreensão do triângulo CIA: <strong>Confidencialidade</strong>, <strong>Integridade</strong> e <strong>Disponibilidade</strong>.</li> <li>Conhecimento sobre tipos de ameaças: malware, phishing, ataques man-in-the-middle, etc.</li> <li>Familiaridade com a diferença entre vulnerabilidades, ameaças e riscos.</li> </ul> <p><strong>Criptografia</strong></p> <ul> <li>Entender os conceitos básicos de criptografia simétrica e assimétrica.</li> <li>Familiaridade com protocolos de criptografia comuns e uso de certificados.</li> </ul> <p><strong>Redes e Monitoramento</strong></p> <ul> <li>Familiaridade com ferramentas como Wireshark e Nmap.</li> <li>Compreensão de firewalls, IDS/IPS, e VPNs.</li> </ul> <p><strong>Segurança Física</strong></p> <ul> <li>A importância de controlar o acesso físico a áreas e dispositivos críticos.</li> <li>Proteção contra ameaças físicas, como tailgating e dumpster diving.</li> </ul> <p><strong>Gestão de Identidade e Acesso</strong></p> <ul> <li>Autenticação, autorização e contabilidade (AAA).</li> <li>Controle de acesso baseado em função (RBAC) e controle de acesso discricionário (DAC).</li> </ul> <p><strong>Resposta a Incidentes</strong></p> <ul> <li>Etapas básicas para responder a um incidente de segurança.</li> <li>Construção e manutenção de um plano de resposta a incidentes.</li> </ul> <p><strong>Legislação e Ética</strong></p> <ul> <li>Leis e regulamentos relacionados à cibersegurança (por exemplo, GDPR, LGPD, CCPA).</li> <li>Código de ética em cibersegurança e hacking ético.</li> </ul> <p><strong>Desenvolvimento Seguro</strong></p> <ul> <li>Práticas básicas de codificação segura.</li> <li>Compreensão das vulnerabilidades comuns de desenvolvimento, como as listadas no OWASP Top 10.</li> </ul> <p><strong>Cloud e Virtualização</strong></p> <ul> <li>Segurança em ambientes de nuvem (IaaS, PaaS, SaaS).</li> <li>Conceitos básicos de virtualização e seus desafios de segurança.</li> </ul> <hr> <h2>📣Soft skills</h2> <p>Segundo a <a href="https://br.psicologia-online.com/autor/sara-sanchis-24.html">Sara Sanchis</a>, Psicóloga especializada em Crescimento Pessoal, Hard skills são habilidades que <strong>podem ser medidas</strong>, como saber programar, operar um sistema operacional, fazer pentest. Já as soft skills são <strong>traços</strong> que fazem de você um <strong>bom profissional</strong>, como etiqueta, comunicação etc.</p> <p>Pensando em cibersegurança e nas empresas no qual eu trabalhei, notei que os soft skill mais requeridos eram:</p> <ul> <li>Resolução de problemas</li> <li>Comunicação</li> <li>Capacidade de organização</li> <li>Pensamento crítico</li> </ul> <p>Leia mais sobre o tema em <a href="https://br.psicologia-online.com/soft-skills-o-que-sao-quais-sao-e-exemplos-440.html">Psicologia-Online</a>.</p> <h2>📚 Livros recomendados para iniciar</h2> <ul> <li><a href="https://amzn.to/48WyP0N">Análise de Tráfego em Redes TCP/IP: Utilize Tcpdump na Análise de Tráfegos em Qualquer Sistema Operacional </a></li> <li><a href="https://amzn.to/48W5JP8">Testes de Invasão: uma Introdução Prática ao Hacking </a></li> <li><a href="https://amzn.to/400wIow">Técnicas de Invasão: Aprenda as técnicas usadas por hackers em invasões reais</a></li> <li><a href="https://amzn.to/3Q06VbG">Black Hat Python: Programação Python Para Hackers e Pentesters</a></li> </ul> <h2>📚 Livros para pesquisa e entendimento</h2> <ul> <li><a href="https://amzn.to/46Mhkym">Redes de Computadores</a></li> <li><a href="https://amzn.to/3rYOmwq">Perícia forense digital: Guia prático com uso do sistema operacional Windows</a></li> <li><a href="https://amzn.to/48SXYtn">Programação Shell Linux: Referência Definitiva da Linguagem Shell</a></li> </ul> <h2>📚 Livros de cybersecurity em inglês</h2> <ul> <li><a href="https://amzn.to/3rPELYT">Linux Basics for Hackers: Getting Started with Networking, Scripting, and Security in Kali</a></li> </ul> <h2>🗺 Eventos no Brasil</h2> <p>Melhor maneira de aprender e fazer um excelente network que pode gerar ótimas oportunidades.</p> <ul> <li><a href="https://www.ysts.org/">You Shot The Sheriff</a> (São Paulo)</li> <li><a href="https://mindthesec.com.br/">Mind the Sec</a> (São Paulo e Rio de Janeiro)</li> <li><a href="http://roadsec.com.br/">RoadSec</a> (Vários estados do Brasil)</li> <li><a href="http://www.cnasi.com.br/home-df">CNASI</a> (Vários estados do Brasil)</li> <li><a href="https://www.nullbyte-con.org/">Nullbyte</a> (Salvador)</li> <li><a href="https://bhack.com.br/">BHACK</a> (Belo Horizonte)</li> <li><a href="http://sp13.securitybsides.com.br/">BSidesSP</a> (São Paulo)</li> <li><a href="https://www.h2hc.com.br/h2hc/pt/">H2HC</a> (São Paulo)</li> <li><a href="http://www.securityleaders.com.br/">Congresso Security Leaders</a> (Vários estados do Brasil)</li> <li><a href="http://sacicon.com.br/">SACICON</a> (São Paulo)</li> <li><a href="http://www.cybersecuritybrazil.com.br/">Cyber Security Brazil</a> (São Paulo)</li> <li><a href="http://www.cybersecuritysummit.com.br/">Cyber Security Summit</a> (São Paulo)</li> <li><a href="http://www.sbc.org.br/2-uncategorised/1816-sbseg-simposio-brasileiro-de-seguranca-da-informacao-e-sistemas-computacionais">SBSeg</a> (Brasília)</li> <li><a href="https://hackbahia.github.io/">HACKBAHIA</a> (Bahia)</li> <li><a href="http://caos.ufrj.br/">CAOS</a> (Rio de Janeiro)</li> <li><a href="https://workshop.seginfo.com.br/">SegInfo</a> (São Paulo e Rio de Janeiro)</li> <li><a href="http://hackerday.com.br/">Hacker Day</a> (Paraná)</li> <li><a href="http://www.bwcon.com.br/">BWCON</a> (Recife)</li> <li><a href="https://www.gartner.com/events/pt/la/security">Gartner Security &amp; Risk Management Summit</a> (São Paulo)</li> </ul> <h2>💻Laboratórios Virtuais</h2> <p><strong>Laboratórios Virtuais</strong>: São ambientes controlados onde se pode praticar e testar habilidades de cibersegurança.</p> <ul> <li><a href="https://pentesterlab.com/">PentesterLab</a></li> <li><a href="https://www.vulnhub.com/">VulnHub</a></li> <li><a href="https://www.hackthebox.eu/">Hack The Box</a></li> </ul> <h2>🏴‍☠️Desafios CTF (Capture The Flag)</h2> <ul> <li><a href="https://picoctf.org/">picoCTF</a></li> <li><a href="https://www.hackthebox.eu/">Hack The Box</a></li> <li><a href="https://overthewire.org/wargames/">OverTheWire</a></li> <li><a href="https://www.root-me.org/">Root Me</a></li> <li><a href="https://ctftime.org/">CTFtime</a></li> <li><a href="https://www.defcon.org/">DEF CON CTF</a></li> <li><a href="https://capturetheflag.withgoogle.com/">Google CTF</a></li> <li><a href="https://csaw.engineering.nyu.edu/">CSAW CTF</a></li> <li><a href="https://ringzer0ctf.com/">RingZer0 CTF</a></li> <li><a href="https://ctf.hacker101.com/">Hacker101 CTF</a></li> </ul> <h2>🔍 Sites e Blogs Recomendados:</h2> <ul> <li><a href="https://danieldonda.com">Daniel Donda</a> Site onde eu compartilho artigos e recursos de cibersegurança.</li> <li><a href="https://garoa.net.br/wiki/P%C3%A1gina_principal">Garoa Hacker Clube</a>: Coletivo hacker paulistano com eventos e workshops frequentes.</li> <li><a href="https://seginfo.com.br/">SegInfo</a> Blog com notícias, artigos e informações sobre segurança da informação.</li> <li><a href="https://segurancalegal.com/">Segurança Legal</a> Blog focado em cibersegurança e aspectos legais da tecnologia. -<a href="https://mindthesec.com.br">Mind The Sec</a> Conferência de segurança da informação que também conta com um blog com notícias e análises.</li> </ul> <h3>Em inglês:</h3> <ul> <li><a href="https://krebsonsecurity.com/">Krebs on Security</a></li> <li><a href="https://thehackernews.com/">The Hacker News</a></li> <li><a href="https://www.darkreading.com/">Dark Reading</a></li> <li><a href="https://threatpost.com/">Threatpost</a></li> <li><a href="https://www.infosecurity-magazine.com/">Infosecurity Magazine</a></li> <li><a href="https://www.zdnet.com/topic/security/">ZDNet Security</a></li> <li><a href="https://www.cyberscoop.com/">CyberScoop</a></li> <li><a href="https://www.securityweek.com/">SecurityWeek</a></li> <li><a href="https://www.scmagazine.com/">SC Magazine</a></li> <li><a href="https://www.wired.com/category/security/">Wired - Security Section</a></li> </ul> <h2>🎧 Podcasts sobre Cibersegurança:</h2> <ul> <li><strong>Darknet Diaries</strong> Histórias reais de ataques cibernéticos.</li> <li><strong>CyberWire</strong> Resumos diários sobre notícias.</li> <li><strong>Smashing Security</strong> Notícias com um toque humorístico.</li> <li><strong>Cyber Morning Call</strong> Produzido pela Tempest com episódios diários</li> </ul> <h2>🔐 Ferramentas Essenciais:</h2> <ul> <li><strong>Nmap</strong>: Ferramenta de escaneamento de portas e descoberta de rede e scan de vuln.</li> <li><strong>Wireshark</strong>: Analisador de protocolo de rede.</li> <li><strong>Metasploit</strong>: Framework de teste de penetração.</li> <li><strong>Burp Suite</strong>: Ferramenta de teste de segurança para aplicações web.</li> <li><strong>Aircrack-ng</strong>: Conjunto de ferramentas para auditoria de redes sem fio.</li> <li><strong>John the Ripper</strong>: Cracker de senha.</li> <li><strong>Hydra</strong>: Ferramenta de força bruta para autenticação.</li> <li><strong>Nessus</strong>: Scanner de vulnerabilidades.</li> <li><strong>OpenVAS</strong>: Sistema de gerenciamento de vulnerabilidades.</li> <li><strong>Snort</strong>: Sistema de detecção/prevenção de intrusões.</li> <li><strong>Suricata</strong>: Motor de detecção de ameaças de alto desempenho.</li> <li><strong>Tails</strong>: Sistema operacional focado em privacidade.</li> <li><strong>TrueCrypt/VeraCrypt</strong>: Software de criptografia de disco.</li> <li><strong>Kali Linux</strong>: Distribuição Linux para teste de penetração.</li> <li><strong>Parrot Security OS</strong>: Distribuição Linux focada em segurança e forense digital.</li> <li><strong>Ghidra</strong>: Desmontador e decompilador.</li> <li><strong>Sqlmap</strong>: Ferramenta de detecção e exploração de injeção SQL.</li> <li><strong>OWASP ZAP</strong>: Ferramenta de teste de penetração para aplicações web.</li> <li><strong>Mimikatz</strong>: Ferramenta de extração de credenciais.</li> <li><strong>Cuckoo Sandbox</strong>: Análise automatizada de malware.</li> <li><strong>Yara</strong>: Ferramenta para identificar e classificar malware.</li> <li><strong>Shodan</strong>: Motor de busca para dispositivos conectados à Internet.</li> <li><strong>Binary Ninja</strong>: Plataforma de análise de código binário.</li> <li><strong>Radare2</strong>: Framework de engenharia reversa.</li> <li><strong>Steganography Toolkit</strong>: Conjunto de ferramentas para esteganografia.</li> <li><strong>Hashcat</strong>: Ferramenta de cracking de senha.</li> <li><strong>Empire</strong>: Framework pós-exploração.</li> <li><strong>Responder</strong>: Ferramenta para análise de protocolo NetBIOS/LLMNR.</li> <li><strong>Cobalt Strike</strong>: Ferramenta de avaliação de ameaças.</li> <li><strong>Recon-ng</strong>: Framework de reconhecimento da web.</li> <li><strong>SIFT</strong>: Kit de ferramentas forenses.</li> <li><strong>Volatility</strong>: Análise de memória forense.</li> </ul> <h2>🚀 <strong>Reddit</strong>: Subreddits para discussões.</h2> <ul> <li><strong>r/netsec</strong> - Este subreddit é dedicado a discussões de alto nível sobre segurança da informação.</li> <li><strong>r/AskNetsec</strong> - Um lugar para perguntar a profissionais de segurança questões relacionadas ao campo.</li> <li><strong>r/cybersecurity</strong> - Discussão geral sobre cibersegurança.</li> <li><strong>r/ReverseEngineering</strong> - Um subreddit para os interessados em reverse engineering.</li> <li><strong>r/malware</strong> - Discussões sobre malwares e artefatos relacionados.</li> <li><strong>r/pentest</strong> - Focado em testes de penetração e ferramentas/técnicas relacionadas.</li> <li><strong>r/Hacking_Tutorials</strong> - Focado em tutoriais hackers</li> <li><strong>r/hacking</strong> - Um lugar para hackers e aspirantes a hackers aprenderem e compartilharem.</li> <li><strong>r/ComputerForensics</strong> - Discussão sobre forense digital e tópicos relacionados.</li> <li><strong>r/HowToHack</strong> - Comunidade Hacker.</li> <li><strong>r/CompTIA</strong> - Comunidade sobre certificações da CompTIA</li> </ul> <h2>📺 <strong>Youtube</strong>: Canais sobre Cibersegurança Brasileiros.</h2> <ul> <li><a href="https://www.youtube.com/c/PapoBin%C3%A1rio">Papo Binário</a> –Entrevistas, tutoriais e dicas voltada a TI e cibersegurança</li> <li><a href="https://www.youtube.com/@RicardoLongatto">Ricardo Longatto</a> – Segurança da informação, pentest, técnicas de invasão</li> <li><a href="https://www.youtube.com/user/adsecf">Guia Anônima</a> – Metodologias, técnicas, entrevistas e tutoriais</li> <li><a href="https://www.youtube.com/@FabioSobiecki">Fabio Sobiecki</a> – Ajuda a profissionais a conquistarem sua primeira vaga em Segurança da Informação.</li> <li><a href="https://www.youtube.com/channel/UCpIYXOF825aX8qq77xnTCLQ">prog.shell.linux</a> – Curso de Shell Linux com o Prof. Julio Cezar Neves</li> <li><a href="https://www.youtube.com/user/kretcheu2001">Paulo Kretcheu</a> – Curso de Redes, Curso GNU/Linux – Tutoriais – Solução de problemas</li> <li><a href="https://www.youtube.com/user/securitycast">SecurityCast</a> – Programas quinzenais sobre Segurança da Informação</li> <li><a href="https://www.youtube.com/@videos100security/about">100SECURITY</a> – Profissionais de Segurança da Informação</li> <li><a href="https://www.youtube.com/@GabrielPato/">Gabriel Pato</a> – Tecnologia e Hacking</li> <li><a href="https://www.youtube.com/@danieldonda">Daniel Donda</a> – O melhor canal do youtube</li> <li><a href="https://www.youtube.com/c/AcademiadeForenseDigital">Academia de Forense Digital</a> – Ensino e desenvolvimento de Forense Digital no Brasil</li> </ul> <h2>📺 <strong>Youtube</strong>: USA</h2> <ul> <li><a href="https://www.youtube.com/user/CyberSecurityHub">Cyber Security Hub</a> - Oferece notícias, entrevistas e análises sobre as mais recentes ameaças e soluções de segurança.</li> <li><a href="https://www.youtube.com/user/irongeek">Adrian Crenshaw (IronGeek)</a> - Compila e compartilha várias palestras e tutoriais de conferências de segurança.</li> <li><a href="https://www.youtube.com/c/WebDevSimplified">WebDevSimplified</a> - Embora seja mais voltado para o desenvolvimento web, frequentemente aborda tópicos de segurança web, como Cross-Site Scripting (XSS) e Cross-Site Request Forgery (CSRF).</li> <li><a href="https://www.youtube.com/c/NetworkChuck">NetworkChuck</a> - Enquanto este canal aborda uma ampla gama de tópicos de TI, frequentemente explora aspectos de cibersegurança, especialmente relacionados a redes.</li> <li><a href="https://www.youtube.com/channel/UC3s0BtrBJpwNDaflRSoiieQ">Cyber Weapons Lab</a> - Uma série que explora hacking ético, ferramentas de segurança e técnicas.</li> <li><a href="https://www.youtube.com/user/professormesser">Professor Messer</a> - Conhecido por seus cursos de certificação, incluindo CompTIA Security+.</li> <li><a href="https://www.youtube.com/user/MalwareTech">MalwareTech</a> - Como o nome sugere, este canal se concentra principalmente na análise de malware e no estudo de botnets.</li> <li><a href="https://www.youtube.com/channel/UCJUFUScDG1t0Z_5mndVGfAg">Jenny Radcliffe - The People Hacker</a> - Jenny é uma especialista em engenharia social e frequentemente compartilha insights sobre o lado humano da cibersegurança.</li> <li><a href="https://www.youtube.com/c/CyberSecLabs">CyberSecLabs</a> - Oferece tutoriais práticos e walkthroughs de boxes de pentesting.</li> <li><a href="https://www.youtube.com/c/Detectify">DETECTIFY LABS</a> - Detectify é uma empresa de segurança que frequentemente compartilha descobertas, vulnerabilidades e dicas sobre segurança web.</li> <li><a href="https://www.youtube.com/c/PwnFunction">PwnFunction</a> - Este canal explora vulnerabilidades, com uma ênfase particular em JavaScript e segurança web.</li> <li><a href="https://www.youtube.com/user/Hak5Darren">Hak5</a> - Um dos canais mais antigos sobre hacking e segurança cibernética, apresentando uma variedade de conteúdos, desde ferramentas a tutoriais.</li> <li><a href="https://www.youtube.com/c/LiveOverflowCTF">LiveOverflow</a> - Oferece uma série de vídeos que se aprofundam em diversos tópicos de segurança, especialmente relacionados a CTFs (Capture The Flag) e vulnerabilidades.</li> <li><a href="https://www.youtube.com/user/ToolsWatch">Black Hat</a> - O canal oficial do Black Hat, uma das mais renomadas conferências de segurança. Contém palestras e apresentações dos eventos.</li> <li><a href="https://www.youtube.com/user/DEFCONConference">DefconConference</a> - Semelhante ao Black Hat, é o canal oficial da DEFCON, uma das maiores e mais antigas conferências de hackers.</li> <li><a href="https://www.youtube.com/c/TheCyberMentor">The Cyber Mentor</a> - Oferece tutoriais práticos e cursos sobre ethical hacking e segurança cibernética.</li> <li><a href="https://www.youtube.com/c/NullByteWht">Null Byte</a> - Foca em tutoriais sobre hacking ético e ferramentas populares, ideal para iniciantes e intermediários.</li> <li><a href="https://www.youtube.com/c/stokfredrik">STÖK</a> - Oferece insights sobre a vida de um hacker ético, com dicas e truques sobre pentesting e segurança cibernética.</li> <li><a href="https://www.youtube.com/c/JohnHammond010">John Hammond</a> - Oferece tutoriais, desafios de CTF e dicas sobre segurança cibernética e ethical hacking.</li> </ul> <h2>💎Awesome Github – Repositórios para cibersegurança</h2> <ul> <li><a href="https://github.com/Hack-with-Github/Awesome-Hacking">Awesome Hacking</a></li> <li><a href="https://github.com/vitalysim/Awesome-Hacking-Resources">Awesome Hacking Resources</a></li> <li><a href="https://github.com/sbilly/awesome-security">Awesome Security</a></li> <li><a href="https://github.com/jivoi/awesome-osint">Awesome OSINT</a></li> <li><a href="https://github.com/enaqx/awesome-pentest">Awesome Penetration Testing</a></li> <li><a href="https://github.com/gwen001/pentest-tools">Awesome Pentest Tools</a></li> <li><a href="https://github.com/ivbeg/awesome-forensicstools">Awesome Forensic Tools</a></li> <li><a href="https://github.com/djadmin/awesome-bug-bounty">Awesome Bug Bounty</a></li> </ul> <h2>🔐 Frameworks e Melhores Práticas</h2> <ul> <li><a href="https://attack.mitre.org/">Framework MITRE Adversarial Tactics Techniques e Common Knowledge® (MITRE ATT&amp;CK®)</a> – A estrutura MITRE ATT&amp;CK é uma base de conhecimento com curadoria e um modelo para o comportamento do adversário cibernético, refletindo as várias fases do ciclo de vida do ataque de um adversário e as plataformas que eles visam.</li> <li><a href="https://www.nist.gov/">National Institute of Standards and Technology® (NIST®)</a> – O <strong>National Institute of Standards and Technology,</strong> anteriormente conhecido como The National Bureau of Standards, é uma agência governamental não regulatória da administração de tecnologia do Departamento de Comércio dos Estados Unidos. <strong>Possui um excelente framework de cibersegurança.</strong></li> <li><a href="https://cloudsecurityalliance.org/">Cloud Security Alliance (CSA)</a> – A <strong>Cloud Security Alliance</strong> é uma organização sem fins lucrativos com a missão de “promover o uso das <strong>melhores práticas para fornecer garantia de segurança na computação em nuvem</strong></li> <li><a href="https://safecode.org/">Software Assurance Forum for Excellence in Code (SAFECode)</a> – O SAFECode é um esforço global liderado pela indústria para identificar e promover as <strong>melhores práticas para desenvolver e fornecer software, hardware e serviços mais seguros e confiáveis.</strong></li> <li><a href="https://owasp.org/">Open Web Application Security Project® (OWASP®)</a> – O <strong>Open Web Application Security Project (OWASP)</strong> é uma fundação sem fins lucrativos que fornece orientação sobre como desenvolver, comprar e manter aplicativos de software confiáveis e seguros. <strong>OWASP é conhecido por sua popular lista Top 10 de vulnerabilidades de segurança de aplicativos da web.</strong></li> <li><a href="https://www.itgovernance.asia/iso27000-family">International Organization for Standardization (ISO)</a> – Normas ISO foram criadas para fornecer orientação, coordenação, simplificação e unificação de critérios para empresas e organizações. A família <strong>ISO 27000</strong> é um conjunto de certificações de segurança da informação e proteção de dados. Elas servem como base para a criação de um <strong>Sistema de Gestão de Segurança da Informação (SGSI)</strong> em organizações de pequeno, médio e grande porte.</li> <li><a href="https://www.cisecurity.org/controls">CIS Critical Security Controls</a> – <strong>CIS Controls</strong> é uma publicação de diretrizes de melhores práticas para segurança.</li> </ul> + WisdomShell/codeshell + 2023-10-23T01:24:06Z + tag:github.com,2023-10-23:/WisdomShell/codeshell + + <p>A series of code large language models developed by PKU-KCL</p><hr><p align="center"> <img src="https://cdn-uploads.huggingface.co/production/uploads/6489a27bd0b2fd1f3297e5ca/3LQsqRzluBhBN2DipN6Ox.png" width="400"> </p> <p> </p> <p align="center"> 🤗 <a href="https://huggingface.co/WisdomShell/CodeShell" target="_blank">Hugging Face</a> • 🌐 <a href="http://se.pku.edu.cn/kcl/" target="_blank">PKU-KCL</a> </p> <div align="center"> <p><a href="https://github.com/WisdomShell/codeshell/raw/main/LICENSE"><img src="https://img.shields.io/github/license/modelscope/modelscope.svg?sanitize=true" alt="license"></a></p> <h4 align="center"> <p><a href="https://github.com/WisdomShell/codeshell/raw/main/README.md"><b>中文</b></a>|<a href="https://github.com/WisdomShell/codeshell/raw/main/README_EN.md">English</a></p> </h4> </div> <h2>Introduction</h2> <p>CodeShell是<a href="http://se.pku.edu.cn/kcl/">北京大学知识计算实验室</a>联合四川天府银行AI团队研发的多语言代码大模型基座。CodeShell具有70亿参数,在五千亿Tokens进行了训练,上下文窗口长度为8192。在权威的代码评估Benchmark(HumanEval与MBPP)上,CodeShell取得同等规模最好的性能。与此同时,我们提供了与CodeShell配套的部署方案与IDE插件,请参考代码库<a href="https://github.com/WisdomShell/codeshell">CodeShell</a>。</p> <p>本次开源的模型如下:</p> <ul> <li><a href="https://huggingface.co/WisdomShell/CodeShell" target="_blank"><b>CodeShell Base</b></a>:CodelShell底座模型,具有强大的代码基础能力。</li> <li><a href="https://huggingface.co/WisdomShell/CodeShell-Chat" target="_blank"><b>CodeShell Chat</b></a>:CodelShell对话模型,在代码问答、代码补全等下游任务重性能优异。</li> <li><a href="https://huggingface.co/WisdomShell/CodeShell-Chat-int4" target="_blank"><b>CodeShell Chat 4bit</b></a>:CodelShell对话模型4bit量化版本,在保证模型性能的前提下内存消耗更小,速度更快。</li> <li><a href="https://github.com/WisdomShell/llama_cpp_for_codeshell" target="_blank"><b>CodeShell CPP</b></a>:CodelShell对话模型CPP版本,支持开发者在没有GPU的个人电脑中使用。注意,CPP版本同样支持量化操作,用户可以在最小内存为8G的个人电脑中运行CodeShell。</li> </ul> <h2>Main Characteristics of CodeShell</h2> <ul> <li><strong>强大的性能</strong>:CodelShell在HumanEval和MBPP上达到了7B代码基座大模型的最优性能</li> <li><strong>完整的体系</strong>:除了代码大模型,同时开源IDE(VS Code与JetBrains)插件,形成开源的全栈技术体系</li> <li><strong>轻量化部署</strong>:支持本地C++部署,提供轻量快速的本地化软件开发助手解决方案</li> <li><strong>全面的评测</strong>:提供支持完整项目上下文、覆盖代码生成、代码缺陷检测与修复、测试用例生成等常见软件开发活动的多任务评测体系(即将开源)</li> <li><strong>高效的训练</strong>:基于高效的数据治理体系,CodeShell在完全冷启动情况下,只训练了五千亿Token即获得了优异的性能</li> </ul> <h2>Performance</h2> <p>我们选取了目前最流行的两个代码评测数据集(HumanEval与MBPP)对模型进行评估,与目前最先进的两个7b代码大模型CodeLllama与Starcoder相比,Codeshell 取得了最优的成绩。具体评测结果如下。</p> <table> <thead> <tr> <th>任务</th> <th>CodeShell-7b</th> <th>CodeLlama-7b</th> <th>Starcoder-7b</th> </tr> </thead> <tbody> <tr> <td>humaneval</td> <td><strong>34.32</strong></td> <td>29.44</td> <td>27.80</td> </tr> <tr> <td>mbpp</td> <td><strong>38.65</strong></td> <td>37.60</td> <td>34.16</td> </tr> <tr> <td>multiple-js</td> <td><strong>33.17</strong></td> <td>31.30</td> <td>27.02</td> </tr> <tr> <td>multiple-java</td> <td><strong>30.43</strong></td> <td>29.24</td> <td>24.30</td> </tr> <tr> <td>multiple-cpp</td> <td><strong>28.21</strong></td> <td>27.33</td> <td>23.04</td> </tr> <tr> <td>multiple-swift</td> <td>24.30</td> <td><strong>25.32</strong></td> <td>15.70</td> </tr> <tr> <td>multiple-php</td> <td><strong>30.87</strong></td> <td>25.96</td> <td>22.11</td> </tr> <tr> <td>multiple-d</td> <td>8.85</td> <td><strong>11.60</strong></td> <td>8.08</td> </tr> <tr> <td>multiple-jl</td> <td>22.08</td> <td><strong>25.28</strong></td> <td>22.96</td> </tr> <tr> <td>multiple-lua</td> <td>22.39</td> <td><strong>30.50</strong></td> <td>22.92</td> </tr> <tr> <td>multiple-r</td> <td><strong>20.52</strong></td> <td>18.57</td> <td>14.29</td> </tr> <tr> <td>multiple-rkt</td> <td><strong>17.20</strong></td> <td>12.55</td> <td>10.43</td> </tr> <tr> <td>multiple-rs</td> <td>24.55</td> <td><strong>25.90</strong></td> <td>22.82</td> </tr> </tbody> </table> <h2>Requirements</h2> <ul> <li>python 3.8 and above</li> <li>pytorch 2.0 and above are recommended</li> <li>transformers 4.32 and above</li> <li>CUDA 11.8 and above are recommended (this is for GPU users, flash-attention users, etc.)</li> </ul> <h2>Quickstart</h2> <p>CodeShell系列模型已经上传至 <a href="https://huggingface.co/WisdomShell/CodeShell" target="_blank">Hugging Face</a>,开发者可以通过Transformers快速调用CodeShell和CodeShell-Chat。</p> <p>在开始之前,请确保已经正确设置了环境,并安装了必要的代码包,以及满足上一小节的环境要求。你可以通过下列代码快速安装相关依赖。</p> <pre><code>pip install -r requirements.txt </code></pre> <p>接下来你可以通过Transformers使用CodeShell。</p> <h3>Code Generation</h3> <p>开发者可以使用CodeShell快速生成代码,加速开发效率。</p> <pre><code class="language-python">import torch from transformers import AutoModelForCausalLM, AutoTokenizer device = 'cuda' if torch.cuda.is_available() else 'cpu' tokenizer = AutoTokenizer.from_pretrained("WisdomShell/CodeShell-7B") model = AutoModelForCausalLM.from_pretrained("WisdomShell/CodeShell-7B", trust_remote_code=True, torch_dtype=torch.bfloat16).to(device) inputs = tokenizer('def merge_sort():', return_tensors='pt').to(device) outputs = model.generate(**inputs) print(tokenizer.decode(outputs[0])) </code></pre> <ul> <li>Fill in the Moddle</li> </ul> <p>CodeShell 支持Fill-in-the-Middle模式,从而更好的支持软件开发过程。</p> <pre><code class="language-python">input_text = "&lt;fim_prefix&gt;def print_hello_world():\n &lt;fim_suffix&gt;\n print('Hello world!')&lt;fim_middle&gt;" inputs = tokenizer(input_text, return_tensors='pt').to(device) outputs = model.generate(**inputs) print(tokenizer.decode(outputs[0])) </code></pre> <ul> <li>代码问答</li> </ul> <p>CodeShell同时开源了代码助手模型CodeShell-7B-Chat,开发者可以通过下列代码与模型进行交互。</p> <pre><code class="language-python">model = AutoModelForCausalLM.from_pretrained('WisdomShell/CodeShell-7B-Chat', trust_remote_code=True, torch_dtype=torch.bfloat16).to(device) tokenizer = AutoTokenizer.from_pretrained('WisdomShell/CodeShell-7B-Chat') history = [] query = '你是谁?' response = model.chat(query, history, tokenizer) print(response) history.append((query, response)) query = '用Python写一个HTTP server' response = model.chat(query, history, tokenizer) print(response) history.append((query, response)) </code></pre> <p>开发者也可以通过VS Code与JetBrains插件与CodeShell-7B-Chat交互,详情请参<a href="https://github.com/WisdomShell/codeshell-vscode">VSCode插件仓库</a>与<a href="https://github.com/WisdomShell/codeshell-intellij">IntelliJ插件仓库</a>。</p> <ul> <li>Model Quantization</li> </ul> <p>CodeShell 支持4 bit/8 bit量化,4 bit量化后,占用显存大小约6G,用户可以在显存较小的GPU上使用CodeShell。</p> <pre><code class="language-python">model = AutoModelForCausalLM.from_pretrained('WisdomShell/CodeShell-7B-Chat-int4', trust_remote_code=True).to(device) tokenizer = AutoTokenizer.from_pretrained('WisdomShell/CodeShell-7B-Chat-int4') </code></pre> <ul> <li>CodeShell in c/c++</li> </ul> <p>由于大部分个人电脑没有GPU,CodeShell提供了C/C++版本的推理支持,开发者可以根据本地环境进行编译与使用,详见<a href="https://github.com/WisdomShell/llama_cpp_for_codeshell">CodeShell C/C++本地化版</a>。</p> <h2>Demo</h2> <p>我们提供了Web-UI、命令行、API、IDE四种形式的Demo。</p> <h3>Web UI</h3> <p>开发者通过下列命令启动Web服务,服务启动后,可以通过<code>https://127.0.0.1:8000</code>进行访问。</p> <pre><code>python demos/web_demo.py </code></pre> <h3>CLI Demo</h3> <p>我们也提供了命令行交互的Demo版本,开发者可以通过下列命令运行。</p> <pre><code>python demos/cli_demo.py </code></pre> <h3>API</h3> <p>CodeShell也提供了基于OpenAI API的部署方法。</p> <pre><code>python demos/openai_api.py </code></pre> <p>启动后即可通过HTTP请求与CodeShell交互。</p> <pre><code>curl http://127.0.0.1:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "CodeShell-7B-Chat", "messages": [ { "role": "user", "content": "你好" } ] }' </code></pre> <h3>IDE</h3> <p>CodeShell最后提供了线上IDE,开发者可以通过IDE进行代码补全、代码问答等操作。同时,IDE插件也同时发布,开发者可以自行在本地进行安装使用。插件相关问题欢迎在<a href="https://github.com/WisdomShell/codeshell-vscode">VSCode插件仓库</a>与<a href="https://github.com/WisdomShell/codeshell-intellij">IntelliJ插件仓库</a>中讨论。</p> <h2>Model Details</h2> <p>Code Shell使用GPT-2作为基础架构,采用Grouped-Query Attention、RoPE相对位置编码等技术。</p> <h3>Hyper-parameter</h3> <table> <thead> <tr> <th>Hyper-parameter</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>n_layer</td> <td>42</td> </tr> <tr> <td>n_embd</td> <td>4096</td> </tr> <tr> <td>n_inner</td> <td>16384</td> </tr> <tr> <td>n_head</td> <td>32</td> </tr> <tr> <td>num_query_groups</td> <td>8</td> </tr> <tr> <td>seq-length</td> <td>8192</td> </tr> <tr> <td>vocab_size</td> <td>70144</td> </tr> </tbody> </table> <h3>Data</h3> <p>CodeShell基于自己爬取的Github数据、Big Code开源的Stack和StarCoder数据集、以及少量高质量的中英文数据进行训练。在原始数据集的基础上,CodeShell采用基于Minihash对数据去重,基于KenLM以及高质量数据筛选模型对数据进行了过滤与筛选,最终得到高质量的预训练数据集。</p> <h3>Tokenizer</h3> <p>CodeShell基于Starcoder词表进行了优化,去除了使用频率较低的词语,并添加了部分中文词表,显著提升了中文的压缩率,为Chat版本的训练提供了基础。</p> <table> <thead> <tr> <th>Tokenizer</th> <th>Size</th> <th>Chinese</th> <th>English</th> <th>Code</th> <th>Total</th> </tr> </thead> <tbody> <tr> <td>Starcoder</td> <td>49152</td> <td>1.22</td> <td>3.47</td> <td>3.30</td> <td>2.66</td> </tr> <tr> <td>CodeShell</td> <td>70020</td> <td>1.50</td> <td>3.47</td> <td>3.30</td> <td>2.95</td> </tr> </tbody> </table> <h2>License</h2> <p>社区使用CodeShell模型需要遵循《CodeShell模型许可协议》及Apache 2.0许可协议。CodeShell模型允许用于商业用途,但如果您计划将CodeShell模型或其派生产品用于商业用途,需要您确认主体符合以下条件:</p> <ol> <li>关联方的服务或产品的每日平均活跃用户数(DAU)不能超过100万。</li> <li>关联方不得是软件服务提供商或云服务提供商。</li> <li>关联方不存在将获得授予的商业许可,在未经许可的前提下将其再授权给其他第三方的可能性。</li> </ol> <p>在满足上述条件的前提下,您需要通过向<a href="mailto:codeshell.opensource@gmail.com">codeshell.opensource@gmail.com</a>发送电子邮件提交申请。经审核通过后,将授予您一个全球的、非排他的、不可转让的、不可再授权的商业版权许可。</p> - NVIDIA/TensorRT-LLM - 2023-10-22T01:26:44Z - tag:github.com,2023-10-22:/NVIDIA/TensorRT-LLM - - <p>TensorRT-LLM provides users with an easy-to-use Python API to define Large Language Models (LLMs) and build TensorRT engines that contain state-of-the-art optimizations to perform inference efficiently on NVIDIA GPUs. TensorRT-LLM also contains components to create Python and C++ runtimes that execute those TensorRT engines.</p><hr><div align="center"> <h1>TensorRT-LLM</h1> <h4> A TensorRT Toolbox for Large Language Models </h4> <p><a href="https://nvidia.github.io/TensorRT-LLM/"><img src="https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat" alt="Documentation"></a> <a href="https://www.python.org/downloads/release/python-31012/"><img src="https://img.shields.io/badge/python-3.10.12-green" alt="python"></a> <a href="https://developer.nvidia.com/cuda-downloads"><img src="https://img.shields.io/badge/cuda-12.2-green" alt="cuda"></a> <a href="https://developer.nvidia.com/tensorrt"><img src="https://img.shields.io/badge/TRT-9.1-green" alt="trt"></a> <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/setup.py"><img src="https://img.shields.io/badge/release-0.5.0-green" alt="version"></a> <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/LICENSE"><img src="https://img.shields.io/badge/license-Apache%202-blue" alt="license"></a></p> <p><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/architecture.md">Architecture</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/performance.md">Results</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/">Examples</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/">Documentation</a></p> <hr> <div align="left"> <h2>Table of Contents</h2> <ul> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#tensorrt-llm-overview">TensorRT-LLM Overview</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#installation">Installation</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#quick-start">Quick Start</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#support-matrix">Support Matrix</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#performance">Performance</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#advanced-topics">Advanced Topics</a> <ul> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#quantization">Quantization</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#in-flight-batching">In-flight Batching</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#attention">Attention</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#graph-rewriting">Graph Rewriting</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#benchmarking">Benchmarking</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#troubleshooting">Troubleshooting</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#release-notes">Release Notes</a> <ul> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#changelog">Changelog</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#known-issues">Known issues</a></li> </ul> </li> </ul> <h2>TensorRT-LLM Overview</h2> <p>TensorRT-LLM provides users with an easy-to-use Python API to define Large Language Models (LLMs) and build <a href="https://developer.nvidia.com/tensorrt">TensorRT</a> engines that contain state-of-the-art optimizations to perform inference efficiently on NVIDIA GPUs. TensorRT-LLM also contains components to create Python and C++ runtimes that execute those TensorRT engines. It also includes a <a href="https://github.com/triton-inference-server/tensorrtllm_backend">backend</a> for integration with the <a href="https://developer.nvidia.com/nvidia-triton-inference-server">NVIDIA Triton Inference Server</a>; a production-quality system to serve LLMs. Models built with TensorRT-LLM can be executed on a wide range of configurations going from a single GPU to multiple nodes with multiple GPUs (using <a href="https://docs.nvidia.com/deeplearning/nemo/user-guide/docs/en/stable/nlp/nemo_megatron/parallelisms.html#tensor-parallelism">Tensor Parallelism</a> and/or <a href="https://docs.nvidia.com/deeplearning/nemo/user-guide/docs/en/stable/nlp/nemo_megatron/parallelisms.html#pipeline-parallelism">Pipeline Parallelism</a>).</p> <p>The Python API of TensorRT-LLM is architectured to look similar to the <a href="https://pytorch.org">PyTorch</a> API. It provides users with a <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/tensorrt_llm/functional.py">functional</a> module containing functions like <code>einsum</code>, <code>softmax</code>, <code>matmul</code> or <code>view</code>. The <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/tensorrt_llm/layers">layers</a> module bundles useful building blocks to assemble LLMs; like an <code>Attention</code> block, a <code>MLP</code> or the entire <code>Transformer</code> layer. Model-specific components, like <code>GPTAttention</code> or <code>BertAttention</code>, can be found in the <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/tensorrt_llm/models">models</a> module.</p> <p>TensorRT-LLM comes with several popular models pre-defined. They can easily be modified and extended to fit custom needs. See below for a list of supported <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#Models">models</a>.</p> <p>To maximize performance and reduce memory footprint, TensorRT-LLM allows the models to be executed using different quantization modes (see <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/gpt"><code>examples/gpt</code></a> for concrete examples). TensorRT-LLM supports INT4 or INT8 weights (and FP16 activations; a.k.a. INT4/INT8 weight-only) as well as a complete implementation of the <a href="https://arxiv.org/abs/2211.10438">SmoothQuant</a> technique.</p> <p>For a more detailed presentation of the software architecture and the key concepts used in TensorRT-LLM, we recommend you to read the following <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/architecture.md">document</a>.</p> <h2>Installation</h2> <p><em>For Windows installation, see <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/windows/"><code>Windows/</code></a>.</em></p> <p>TensorRT-LLM must be built from source, instructions can be found <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/installation.md">here</a>. An image of a Docker container with TensorRT-LLM and its Triton Inference Server Backend will be made available soon.</p> <p>The remaining commands in that document must be executed from the TensorRT-LLM container.</p> <h2>Quick Start</h2> <p>To create a TensorRT engine for an existing model, there are 3 steps:</p> <ol> <li>Download pre-trained weights,</li> <li>Build a fully-optimized engine of the model,</li> <li>Deploy the engine.</li> </ol> <p>The following sections show how to use TensorRT-LLM to run the <a href="https://huggingface.co/bigscience/bloom-560m">BLOOM-560m</a> model.</p> <p><em><strong>0. In the BLOOM folder</strong></em></p> <p>Inside the Docker container, you have to install the requirements:</p> <pre><code class="language-bash">pip install -r examples/bloom/requirements.txt git lfs install </code></pre> <p><em><strong>1. Download the model weights from HuggingFace</strong></em></p> <p>From the BLOOM example folder, you must download the weights of the model.</p> <pre><code class="language-bash">cd examples/bloom rm -rf ./bloom/560M mkdir -p ./bloom/560M &amp;&amp; git clone https://huggingface.co/bigscience/bloom-560m ./bloom/560M </code></pre> <p><em><strong>2. Build the engine</strong></em></p> <pre><code class="language-python"># Single GPU on BLOOM 560M python build.py --model_dir ./bloom/560M/ \ --dtype float16 \ --use_gemm_plugin float16 \ --use_gpt_attention_plugin float16 \ --output_dir ./bloom/560M/trt_engines/fp16/1-gpu/ </code></pre> <p>See the BLOOM <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/bloom">example</a> for more details and options regarding the <code>build.py</code> script.</p> <p><em><strong>3. Run</strong></em></p> <p>The <code>summarize.py</code> script can be used to perform the summarization of articles from the CNN Daily dataset:</p> <pre><code class="language-python">python summarize.py --test_trt_llm \ --hf_model_location ./bloom/560M/ \ --data_type fp16 \ --engine_dir ./bloom/560M/trt_engines/fp16/1-gpu/ </code></pre> <p>More details about the script and how to run the BLOOM model can be found in the example <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/bloom">folder</a>. Many more <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#models">models</a> than BLOOM are implemented in TensorRT-LLM. They can be found in the <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/">examples</a> directory.</p> <h2>Support Matrix</h2> <p>TensorRT-LLM optimizes the performance of a range of well-known models on NVIDIA GPUs. The following sections provide a list of supported GPU architectures as well as important features implemented in TensorRT-LLM.</p> <h3>Devices</h3> <p>TensorRT-LLM is rigorously tested on the following GPUs:</p> <ul> <li><a href="https://www.nvidia.com/en-us/data-center/h100/">H100</a></li> <li><a href="https://www.nvidia.com/en-us/data-center/l40s/">L40S</a></li> <li><a href="https://www.nvidia.com/en-us/data-center/a100/">A100</a>/<a href="https://www.nvidia.com/en-us/data-center/products/a30-gpu/">A30</a></li> <li><a href="https://www.nvidia.com/en-us/data-center/v100/">V100</a> (experimental)</li> </ul> <p>If a GPU is not listed above, it is important to note that TensorRT-LLM is expected to work on GPUs based on the Volta, Turing, Ampere, Hopper and Ada Lovelace architectures. Certain limitations may, however, apply.</p> <h3>Precision</h3> <p>Various numerical precisions are supported in TensorRT-LLM. The support for some of those numerical features require specific architectures:</p> <table> <thead> <tr> <th align="left"></th> <th align="left">FP32</th> <th align="left">FP16</th> <th align="left">BF16</th> <th align="left">FP8</th> <th align="left">INT8</th> <th align="left">INT4</th> </tr> </thead> <tbody> <tr> <td align="left">Volta (SM70)</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">N</td> <td align="left">N</td> <td align="left">Y</td> <td align="left">Y</td> </tr> <tr> <td align="left">Turing (SM75)</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">N</td> <td align="left">N</td> <td align="left">Y</td> <td align="left">Y</td> </tr> <tr> <td align="left">Ampere (SM80, SM86)</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">N</td> <td align="left">Y</td> <td align="left">Y</td> </tr> <tr> <td align="left">Ada-Lovelace (SM89)</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> </tr> <tr> <td align="left">Hopper (SM90)</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> </tr> </tbody> </table> <p>In this release of TensorRT-LLM, the support for FP8 and quantized data types (INT8 or INT4) is not implemented for all the models. See the <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/precision.md">precision</a> document and the <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/">examples</a> folder for additional details.</p> <h3>Key Features</h3> <p>TensorRT-LLM contains examples that implement the following features.</p> <ul> <li>Multi-head Attention(<a href="https://arxiv.org/abs/1706.03762">MHA</a>)</li> <li>Multi-query Attention (<a href="https://arxiv.org/abs/1911.02150">MQA</a>)</li> <li>Group-query Attention(<a href="https://arxiv.org/abs/2307.09288">GQA</a>)</li> <li>In-flight Batching</li> <li>Paged KV Cache for the Attention</li> <li>Tensor Parallelism</li> <li>Pipeline Parallelism</li> <li>INT4/INT8 Weight-Only Quantization (W4A16 &amp; W8A16)</li> <li><a href="https://arxiv.org/abs/2211.10438">SmoothQuant</a></li> <li><a href="https://arxiv.org/abs/2210.17323">GPTQ</a></li> <li><a href="https://arxiv.org/abs/2306.00978">AWQ</a></li> <li><a href="https://arxiv.org/abs/2209.05433">FP8</a></li> <li>Greedy-search</li> <li>Beam-search</li> <li>RoPE</li> </ul> <p>In this release of TensorRT-LLM, some of the features are not enabled for all the models listed in the <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/">examples</a> folder.</p> <h3>Models</h3> <p>The list of supported models is:</p> <ul> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/baichuan">Baichuan</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/bert">Bert</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/blip2">Blip2</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/bloom">BLOOM</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/chatglm6b">ChatGLM-6B</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/chatglm2-6b/">ChatGLM2-6B</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/falcon">Falcon</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/gpt">GPT</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/gptj">GPT-J</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/gpt">GPT-Nemo</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/gptneox">GPT-NeoX</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/llama">LLaMA</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/llama">LLaMA-v2</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/mpt">MPT</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/opt">OPT</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/gpt">SantaCoder</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/gpt">StarCoder</a></li> </ul> <h2>Performance</h2> <p>Please refer to the <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/performance.md">performance</a> page for performance numbers. That page contains measured numbers for four variants of popular models (GPT-J, LLAMA-7B, LLAMA-70B, Falcon-180B), measured on the H100, L40S and A100 GPU(s).</p> <h2>Advanced Topics</h2> <h3>Quantization</h3> <p>This <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/precision.md">document</a> describes the different quantization methods implemented in TensorRT-LLM and contains a support matrix for the different models.</p> <h3>In-flight Batching</h3> <p>TensorRT-LLM supports in-flight batching of requests (also known as continuous batching or iteration-level batching). It's a <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/batch_manager.md">technique</a> that aims at reducing wait times in queues, eliminating the need for padding requests and allowing for higher GPU utilization.</p> <h3>Attention</h3> <p>TensorRT-LLM implements several variants of the Attention mechanism that appears in most the Large Language Models. This <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/gpt_attention.md">document</a> summarizes those implementations and how they are optimized in TensorRT-LLM.</p> <h3>Graph Rewriting</h3> <p>TensorRT-LLM uses a declarative approach to define neural networks and contains techniques to optimize the underlying graph. For more details, please refer to <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/graph-rewriting.md">doc</a></p> <h3>Benchmark</h3> <p>TensorRT-LLM provides <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/benchmarks/cpp/README.md">C++</a> and <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/benchmarks/python/README.md">Python</a> tools to perform benchmarking. Note, however, that it is recommended to use the C++ version.</p> <h2>Troubleshooting</h2> <ul> <li> <p>It's recommended to add options <code>–shm-size=1g –ulimit memlock=-1</code> to the docker or nvidia-docker run command. Otherwise you may see NCCL errors when running multiple GPU inferences. See <a href="https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting.html#errors">https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting.html#errors</a> for details.</p> </li> <li> <p>When building models, memory-related issues such as</p> </li> </ul> <pre><code>[09/23/2023-03:13:00] [TRT] [E] 9: GPTLMHeadModel/layers/0/attention/qkv/PLUGIN_V2_Gemm_0: could not find any supported formats consistent with input/output data types [09/23/2023-03:13:00] [TRT] [E] 9: [pluginV2Builder.cpp::reportPluginError::24] Error Code 9: Internal Error (GPTLMHeadModel/layers/0/attention/qkv/PLUGIN_V2_Gemm_0: could not find any supported formats consistent with input/output data types) </code></pre> <p>may happen. One possible solution is to reduce the amount of memory needed by reducing the maximum batch size, input and output lengths. Another option is to enable plugins, for example: <code>--use_gpt_attention_plugin</code>.</p> <h2>Release notes</h2> <ul> <li>TensorRT-LLM requires TensorRT 9.1.0.4 and 23.08 containers.</li> </ul> <h3>Change Log</h3> <ul> <li>TensorRT-LLM v0.5.0 is the first public release.</li> </ul> <h3>Known Issues</h3> <h3>Report Issues</h3> <p>You can use GitHub issues to report issues with TensorRT-LLM.</p> </div> </div> + cpacker/MemGPT + 2023-10-23T01:24:06Z + tag:github.com,2023-10-23:/cpacker/MemGPT + + <p>Teaching LLMs memory management for unbounded context 📚🦙</p><hr><p><a href="https://raw.githubusercontent.com/cpacker/MemGPT/main/#user-content-memgpt"><img src="https://memgpt.ai/assets/img/memgpt_logo_circle.png" alt="MemGPT logo" width="75" align="right"></a></p> <h1><a href="https://memgpt.ai">MemGPT</a></h1> <div align="center"> <p><strong>Try out our MemGPT chatbot on <a href="https://discord.gg/9GEQrxmVyE">Discord</a>!</strong></p> <p><a href="https://discord.gg/9GEQrxmVyE"><img src="https://img.shields.io/discord/1161736243340640419?label=Discord&amp;logo=discord&amp;logoColor=5865F2&amp;style=flat-square&amp;color=5865F2" alt="Discord"></a> <a href="https://arxiv.org/abs/2310.08560"><img src="https://img.shields.io/badge/arXiv-2310.08560-B31B1B?logo=arxiv&amp;style=flat-square" alt="arXiv 2310.08560"></a></p> </div> <details open> <summary><h2>🤖 Create perpetual chatbots with self-editing memory!</h2></summary> <div align="center"> <br> <img src="https://memgpt.ai/assets/img/demo.gif" alt="MemGPT demo video" width="800"> </div> </details> <details> <summary><h2>🗃️ Chat with your data - talk to your SQL database or your local files!</h2></summary> <strong>SQL Database</strong> <div align="center"> <img src="https://memgpt.ai/assets/img/sql_demo.gif" alt="MemGPT demo video for sql search" width="800"> </div> <strong>Local files</strong> <div align="center"> <img src="https://memgpt.ai/assets/img/preload_archival_demo.gif" alt="MemGPT demo video for sql search" width="800"> </div> </details> <details> <summary><h2>📄 You can also talk to docs - for example ask about <a href="https://raw.githubusercontent.com/cpacker/MemGPT/main/memgpt/personas/examples/docqa">LlamaIndex</a>!</h2></summary> <div align="center"> <img src="https://memgpt.ai/assets/img/docqa_demo.gif" alt="MemGPT demo video for llamaindex api docs search" width="800"> </div> <details> <summary><b>ChatGPT (GPT-4) when asked the same question:</b></summary> <div align="center"> <img src="https://memgpt.ai/assets/img/llama_index_gpt4.png" alt="GPT-4 when asked about llamaindex api docs" width="800"> </div> (Question from https://github.com/run-llama/llama_index/issues/7756) </details> </details> <h2>Quick setup</h2> <p>Join <a href="https://discord.gg/9GEQrxmVyE">Discord</a> and message the MemGPT bot (in the <code>#memgpt</code> channel). Then run the following commands (messaged to "MemGPT Bot"):</p> <ul> <li><code>/profile</code> (to create your profile)</li> <li><code>/key</code> (to enter your OpenAI key)</li> <li><code>/create</code> (to create a MemGPT chatbot)</li> </ul> <p>Make sure your privacy settings on this server are open so that MemGPT Bot can DM you: <br> MemGPT → Privacy Settings → Direct Messages set to ON</p> <div align="center"> <img src="https://memgpt.ai/assets/img/discord/dm_settings.png" alt="set DMs settings on MemGPT server to be open in MemGPT so that MemGPT Bot can message you" width="400"> </div> <p>You can see the full list of available commands when you enter <code>/</code> into the message box.</p> <div align="center"> <img src="https://memgpt.ai/assets/img/discord/slash_commands.png" alt="MemGPT Bot slash commands" width="400"> </div> <h2>What is MemGPT?</h2> <p>Memory-GPT (or MemGPT in short) is a system that intelligently manages different memory tiers in LLMs in order to effectively provide extended context within the LLM's limited context window. For example, MemGPT knows when to push critical information to a vector database and when to retrieve it later in the chat, enabling perpetual conversations. Learn more about MemGPT in our <a href="https://arxiv.org/abs/2310.08560">paper</a>.</p> <h2>Running MemGPT locally</h2> <p>Install dependencies:</p> <pre><code class="language-sh">pip install -r requirements.txt </code></pre> <p>Extra step for Windows:</p> <pre><code class="language-sh"># only needed on Windows pip install pyreadline3 </code></pre> <p>Add your OpenAI API key to your environment:</p> <pre><code class="language-sh"># on Linux/Mac export OPENAI_API_KEY=YOUR_API_KEY </code></pre> <pre><code class="language-sh"># on Windows set OPENAI_API_KEY=YOUR_API_KEY </code></pre> <p>To run MemGPT for as a conversation agent in CLI mode, simply run <code>main.py</code>:</p> <pre><code class="language-sh">python3 main.py </code></pre> <p>If you're using Azure OpenAI, set these variables instead:</p> <pre><code class="language-sh"># see https://github.com/openai/openai-python#microsoft-azure-endpoints export AZURE_OPENAI_KEY = ... export AZURE_OPENAI_ENDPOINT = ... export AZURE_OPENAI_VERSION = ... export AZURE_OPENAI_DEPLOYMENT = ... # then use the --use_azure_openai flag python main.py --use_azure_openai </code></pre> <p>To create a new starter user or starter persona (that MemGPT gets initialized with), create a new <code>.txt</code> file in <a href="https://raw.githubusercontent.com/cpacker/MemGPT/main/memgpt/humans/examples">/memgpt/humans/examples</a> or <a href="https://raw.githubusercontent.com/cpacker/MemGPT/main/memgpt/personas/examples">/memgpt/personas/examples</a>, then use the <code>--persona</code> or <code>--human</code> flag when running <code>main.py</code>. For example:</p> <pre><code class="language-sh"># assuming you created a new file /memgpt/humans/examples/me.txt python main.py --human me.txt </code></pre> <h3>GPT-3.5 support</h3> <p>You can run MemGPT with GPT-3.5 as the LLM instead of GPT-4:</p> <pre><code class="language-sh">python main.py --model gpt-3.5-turbo </code></pre> <p><strong>Note that this is experimental gpt-3.5-turbo support. It's quite buggy compared to gpt-4, but it should be runnable.</strong></p> <p>Please report any bugs you encounter regarding MemGPT running on GPT-3.5 to <a href="https://github.com/cpacker/MemGPT/issues/59">https://github.com/cpacker/MemGPT/issues/59</a>.</p> <h3><code>main.py</code> flags</h3> <pre><code class="language-text">--model select which model to use ('gpt-4', 'gpt-3.5-turbo-0613', 'gpt-3.5-turbo') --persona load a specific persona file --human load a specific human file --first allows you to send the first message in the chat (by default, MemGPT will send the first message) --debug enables debugging output --archival_storage_faiss_path=&lt;ARCHIVAL_STORAGE_FAISS_PATH&gt; load in document database (backed by FAISS index) --archival_storage_files="&lt;ARCHIVAL_STORAGE_FILES_GLOB_PATTERN&gt;" pre-load files into archival memory --archival_storage_files_compute_embeddings="&lt;ARCHIVAL_STORAGE_FILES_GLOB_PATTERN&gt;" pre-load files into archival memory and also compute embeddings for embedding search --archival_storage_sqldb=&lt;SQLDB_PATH&gt; load in SQL database </code></pre> <h3>Interactive CLI commands</h3> <p>These are the commands for the CLI, <strong>not the Discord bot</strong>! The Discord bot has separate commands you can see in Discord by typing <code>/</code>.</p> <p>While using MemGPT via the CLI (not Discord!) you can run various commands:</p> <pre><code class="language-text">// enter multiline input mode (type // again when done) /exit exit the CLI /save save a checkpoint of the current agent/conversation state /load load a saved checkpoint /dump view the current message log (see the contents of main context) /memory print the current contents of agent memory /pop undo the last message in the conversation /heartbeat send a heartbeat system message to the agent /memorywarning send a memory warning system message to the agent </code></pre> <h2>Example applications</h2> <details open> <summary><h3>Use MemGPT to talk to your Database!</h3></summary> <p>MemGPT's archival memory let's you load your database and talk to it! To motivate this use-case, we have included a toy example.</p> <p>Consider the <code>test.db</code> already included in the repository.</p> <table> <thead> <tr> <th>id</th> <th>name</th> <th>age</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Alice</td> <td>30</td> </tr> <tr> <td>2</td> <td>Bob</td> <td>25</td> </tr> <tr> <td>3</td> <td>Charlie</td> <td>35</td> </tr> </tbody> </table> <p>To talk to this database, run:</p> <pre><code class="language-sh">python main.py --archival_storage_sqldb=memgpt/personas/examples/sqldb/test.db </code></pre> <p>And then you can input the path to your database, and your query.</p> <pre><code class="language-python">Please enter the path to the database. test.db ... Enter your message: How old is Bob? ... 🤖 Bob is 25 years old. </code></pre> </details> <details> <summary><h3>Loading local files into archival memory</h3></summary> MemGPT enables you to chat with your data locally -- this example gives the workflow for loading documents into MemGPT's archival memory. <p>To run our example where you can search over the SEC 10-K filings of Uber, Lyft, and Airbnb,</p> <ol> <li> <p>Download the .txt files from <a href="https://huggingface.co/datasets/MemGPT/example-sec-filings/tree/main">Hugging Face</a> and place them in <code>memgpt/personas/examples/preload_archival</code>.</p> </li> <li> <p>In the root <code>MemGPT</code> directory, run</p> <pre><code class="language-bash">python3 main.py --archival_storage_files="memgpt/personas/examples/preload_archival/*.txt" --persona=memgpt_doc --human=basic </code></pre> </li> </ol> <p>If you would like to load your own local files into MemGPT's archival memory, run the command above but replace <code>--archival_storage_files="memgpt/personas/examples/preload_archival/*.txt"</code> with your own file glob expression (enclosed in quotes).</p> <h4>Enhance with embeddings search</h4> <p>In the root <code>MemGPT</code> directory, run</p> <pre><code class="language-bash">python3 main.py --archival_storage_files_compute_embeddings="&lt;GLOB_PATTERN&gt;" --persona=memgpt_doc --human=basic </code></pre> <p>This will generate embeddings, stick them into a FAISS index, and write the index to a directory, and then output:</p> <pre><code> To avoid computing embeddings next time, replace --archival_storage_files_compute_embeddings=&lt;GLOB_PATTERN&gt; with --archival_storage_faiss_path=&lt;DIRECTORY_WITH_EMBEDDINGS&gt; (if your files haven't changed). </code></pre> <p>If you want to reuse these embeddings, run</p> <pre><code class="language-bash">python3 main.py --archival_storage_faiss_path="&lt;DIRECTORY_WITH_EMBEDDINGS&gt;" --persona=memgpt_doc --human=basic </code></pre> </details> <details> <summary><h3>Talking to LlamaIndex API Docs</h3></summary> <p>MemGPT also enables you to chat with docs -- try running this example to talk to the LlamaIndex API docs!</p> <ol> <li> <p>a. Download LlamaIndex API docs and FAISS index from <a href="https://huggingface.co/datasets/MemGPT/llamaindex-api-docs">Hugging Face</a>.</p> <pre><code class="language-bash"># Make sure you have git-lfs installed (https://git-lfs.com) git lfs install git clone https://huggingface.co/datasets/MemGPT/llamaindex-api-docs mv llamaindex-api-docs </code></pre> <p><strong>-- OR --</strong></p> <p>b. Build the index:</p> <ol> <li>Build <code>llama_index</code> API docs with <code>make text</code>. Instructions <a href="https://github.com/run-llama/llama_index/raw/main/docs/DOCS_README.md">here</a>. Copy over the generated <code>_build/text</code> folder to <code>memgpt/personas/docqa</code>.</li> <li>Generate embeddings and FAISS index. <pre><code class="language-bash">cd memgpt/personas/docqa python3 scrape_docs.py python3 generate_embeddings_for_docs.py all_docs.jsonl python3 build_index.py --embedding_files all_docs.embeddings.jsonl --output_index_file all_docs.index </code></pre> </li> </ol> </li> <li> <p>In the root <code>MemGPT</code> directory, run</p> <pre><code class="language-bash">python3 main.py --archival_storage_faiss_path=&lt;ARCHIVAL_STORAGE_FAISS_PATH&gt; --persona=memgpt_doc --human=basic </code></pre> <p>where <code>ARCHIVAL_STORAGE_FAISS_PATH</code> is the directory where <code>all_docs.jsonl</code> and <code>all_docs.index</code> are located. If you downloaded from Hugging Face, it will be <code>memgpt/personas/docqa/llamaindex-api-docs</code>. If you built the index yourself, it will be <code>memgpt/personas/docqa</code>.</p> </li> </ol> </details> <h2>Support</h2> <p>If you have any further questions, or have anything to share, we are excited to hear your feedback!</p> <ul> <li>By default MemGPT will use <code>gpt-4</code>, so your API key will require <code>gpt-4</code> API access</li> <li>For issues and feature requests, please <a href="https://github.com/cpacker/MemGPT/issues">open a GitHub issue</a> or message us on our <code>#support</code> channel on <a href="https://discord.gg/9GEQrxmVyE">Discord</a></li> </ul> <h2>Datasets</h2> <p>Datasets used in our <a href="https://arxiv.org/abs/2310.08560">paper</a> can be downloaded at <a href="https://huggingface.co/MemGPT">Hugging Face</a>.</p> <h2>🚀 Project Roadmap</h2> <ul> <li><input type="checkbox" checked disabled> Release MemGPT Discord bot demo (perpetual chatbot)</li> <li><input type="checkbox" checked disabled> Add additional workflows (load SQL/text into MemGPT external context)</li> <li><input type="checkbox" checked disabled> Integration tests</li> <li><input type="checkbox" checked disabled> Integrate with AutoGen (<a href="https://github.com/cpacker/MemGPT/discussions/65">discussion</a>)</li> <li><input type="checkbox" checked disabled> Add official gpt-3.5-turbo support (<a href="https://github.com/cpacker/MemGPT/discussions/66">discussion</a>)</li> <li><input type="checkbox" disabled> Release MemGPT family of open models (eg finetuned Mistral) (<a href="https://github.com/cpacker/MemGPT/discussions/67">discussion</a>)</li> <li><input type="checkbox" disabled> CLI UI improvements (<a href="https://github.com/cpacker/MemGPT/issues/11">issue</a>)</li> <li><input type="checkbox" disabled> Add support for other LLM backends (<a href="https://github.com/cpacker/MemGPT/issues/18">issue</a>)</li> </ul> - neuralmagic/deepsparse - 2023-10-22T01:26:44Z - tag:github.com,2023-10-22:/neuralmagic/deepsparse - - <p>Sparsity-aware deep learning inference runtime for CPUs</p><hr><div style="display: flex; flex-direction: column; align-items: center;"> <h1> <img alt="tool icon" src="https://raw.githubusercontent.com/neuralmagic/deepsparse/main/docs/old/source/icon-deepsparse.png"> &nbsp;&nbsp;DeepSparse </h1> <h4>Sparsity-aware deep learning inference runtime for CPUs</h4> <div align="center"> <a href="https://docs.neuralmagic.com/deepsparse/"> <img alt="Documentation" src="https://img.shields.io/badge/documentation-darkred?&amp;style=for-the-badge&amp;logo=read-the-docs" height="20"> </a> <a href="https://join.slack.com/t/discuss-neuralmagic/shared_invite/zt-q1a1cnvo-YBoICSIw3L1dmQpjBeDurQ/"> <img alt="Slack" src="https://img.shields.io/badge/slack-purple?style=for-the-badge&amp;logo=slack" height="20"> </a> <a href="https://github.com/neuralmagic/deepsparse/issues/"> <img alt="Support" src="https://img.shields.io/badge/support%20forums-navy?style=for-the-badge&amp;logo=github" height="20"> </a> <a href="https://www.youtube.com/channel/UCo8dO_WMGYbWCRnj_Dxr4EA"> <img alt="YouTube" src="https://img.shields.io/badge/-YouTube-red?&amp;style=for-the-badge&amp;logo=youtube&amp;logoColor=white" height="20"> </a> <a href="https://twitter.com/neuralmagic"> <img alt="Twitter" src="https://img.shields.io/twitter/follow/neuralmagic?color=darkgreen&amp;label=Follow&amp;style=social" height="20"> </a> </div> <p><a href="https://github.com/neuralmagic/deepsparse">DeepSparse</a> is a CPU inference runtime that takes advantage of sparsity to accelerate neural network inference. Coupled with <a href="https://github.com/neuralmagic/sparseml">SparseML</a>, our optimization library for pruning and quantizing your models, DeepSparse delivers exceptional inference performance on CPU hardware.</p> <p align="center"> <img alt="NM Flow" src="https://github.com/neuralmagic/deepsparse/assets/3195154/51e62fe7-9d9a-4fa5-a774-877158da1e29" width="60%"> </p> <h2>✨NEW✨ DeepSparse LLMs</h2> <p>Neural Magic is excited to announce initial support for performant LLM inference in DeepSparse with:</p> <ul> <li>sparse kernels for speedups and memory savings from unstructured sparse weights.</li> <li>8-bit weight and activation quantization support.</li> <li>efficient usage of cached attention keys and values for minimal memory movement.</li> </ul> <p><img src="https://github.com/neuralmagic/deepsparse/assets/3195154/ccf39323-4603-4489-8462-7b103872aeb3" alt="mpt-chat-comparison"></p> <h3>Try It Now</h3> <p>Install (requires Linux):</p> <pre><code class="language-bash">pip install -U deepsparse-nightly[llm] </code></pre> <p>Run inference:</p> <pre><code class="language-python">from deepsparse import TextGeneration pipeline = TextGeneration(model="zoo:mpt-7b-dolly_mpt_pretrain-pruned50_quantized") prompt=""" Below is an instruction that describes a task. Write a response that appropriately completes the request. ### Instruction: what is sparsity? ### Response: """ print(pipeline(prompt, max_new_tokens=75).generations[0].text) # Sparsity is the property of a matrix or other data structure in which a large number of elements are zero and a smaller number of elements are non-zero. In the context of machine learning, sparsity can be used to improve the efficiency of training and prediction. </code></pre> <blockquote> <p><a href="https://github.com/neuralmagic/deepsparse/raw/main/docs/llms/text-generation-pipeline.md">Check out the <code>TextGeneration</code> documentation for usage details.</a></p> </blockquote> <h3>Sparsity <span>🤝</span> Performance</h3> <p>Developed in collaboration with IST Austria, <a href="https://arxiv.org/abs/2310.06927">our recent paper</a> details a new technique called <strong>Sparse Fine-Tuning</strong>, which allows us to prune MPT-7B to 60% sparsity during fine-tuning without drop in accuracy. With our new support for LLMs, DeepSparse accelerates the sparse-quantized model 7x over the dense baseline:</p> <div align="center"> <img src="https://github.com/neuralmagic/deepsparse/assets/3195154/8687401c-f479-4999-ba6b-e01c747dace9" width="60%"> </div> <blockquote> <p><a href="https://github.com/neuralmagic/deepsparse/raw/main/research/mpt#sparse-finetuned-llms-with-deepsparse">Learn more about our Sparse Fine-Tuning research.</a></p> </blockquote> <blockquote> <p><a href="https://huggingface.co/spaces/neuralmagic/sparse-mpt-7b-gsm8k">Check out the model running live on Hugging Face.</a></p> </blockquote> <h3>LLM Roadmap</h3> <p>Following this initial launch, we are rapidly expanding our support for LLMs, including:</p> <ol> <li>Productizing Sparse Fine-Tuning: Enable external users to apply sparse fine-tuning to their datasets via SparseML.</li> <li>Expanding model support: Apply our sparse fine-tuning results to Llama 2 and Mistral models.</li> <li>Pushing for higher sparsity: Improving our pruning algorithms to reach even higher sparsity.</li> </ol> <h2>Computer Vision and NLP Models</h2> <p>In addition to LLMs, DeepSparse supports many variants of CNNs and Transformer models, such as BERT, ViT, ResNet, EfficientNet, YOLOv5/8, and many more! Take a look at the <a href="https://sparsezoo.neuralmagic.com/?modelSet=computer_vision">Computer Vision</a> and <a href="https://sparsezoo.neuralmagic.com/?modelSet=natural_language_processing">Natural Language Processing</a> domains of <a href="https://sparsezoo.neuralmagic.com/">SparseZoo</a>, our home for optimized models.</p> <h3>Installation</h3> <p>Install via <a href="https://pypi.org/project/deepsparse/">PyPI</a> (<a href="https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/installation.md">optional dependencies detailed here</a>):</p> <pre><code class="language-bash">pip install deepsparse </code></pre> <p>To experiment with the latest features, there is a nightly build available using <code>pip install deepsparse-nightly</code> or you can clone and install from source using <code>pip install -e path/to/deepsparse</code>.</p> <h4>System Requirements</h4> <ul> <li>Hardware: <a href="https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/hardware-support.md">x86 AVX2, AVX-512, AVX-512 VNNI and ARM v8.2+</a></li> <li>Operating System: Linux</li> <li>Python: 3.8-3.11</li> <li>ONNX versions 1.5.0-1.15.0, ONNX opset version 11 or higher</li> </ul> <p>For those using Mac or Windows, we recommend using Linux containers with Docker.</p> <h2>Deployment APIs</h2> <p>DeepSparse includes three deployment APIs:</p> <ul> <li><strong>Engine</strong> is the lowest-level API. With Engine, you compile an ONNX model, pass tensors as input, and receive the raw outputs.</li> <li><strong>Pipeline</strong> wraps the Engine with pre- and post-processing. With Pipeline, you pass raw data and receive the prediction.</li> <li><strong>Server</strong> wraps Pipelines with a REST API using FastAPI. With Server, you send raw data over HTTP and receive the prediction.</li> </ul> <h3>Engine</h3> <p>The example below downloads a 90% pruned-quantized BERT model for sentiment analysis in ONNX format from SparseZoo, compiles the model, and runs inference on randomly generated input. Users can provide their own ONNX models, whether dense or sparse.</p> <pre><code class="language-python">from deepsparse import Engine # download onnx, compile zoo_stub = "zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none" compiled_model = Engine(model=zoo_stub, batch_size=1) # run inference (input is raw numpy tensors, output is raw scores) inputs = compiled_model.generate_random_inputs() output = compiled_model(inputs) print(output) # &gt; [array([[-0.3380675 , 0.09602544]], dtype=float32)] &lt;&lt; raw scores </code></pre> <h3>Pipeline</h3> <p>Pipelines wrap Engine with pre- and post-processing, enabling you to pass raw data and receive the post-processed prediction. The example below downloads a 90% pruned-quantized BERT model for sentiment analysis in ONNX format from SparseZoo, sets up a pipeline, and runs inference on sample data.</p> <pre><code class="language-python">from deepsparse import Pipeline # download onnx, set up pipeline zoo_stub = "zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none" sentiment_analysis_pipeline = Pipeline.create( task="sentiment-analysis", # name of the task model_path=zoo_stub, # zoo stub or path to local onnx file ) # run inference (input is a sentence, output is the prediction) prediction = sentiment_analysis_pipeline("I love using DeepSparse Pipelines") print(prediction) # &gt; labels=['positive'] scores=[0.9954759478569031] </code></pre> <h3>Server</h3> <p>Server wraps Pipelines with REST APIs, enabling you to set up a model-serving endpoint running DeepSparse. This enables you to send raw data to DeepSparse over HTTP and receive the post-processed predictions. DeepSparse Server is launched from the command line and configured via arguments or a server configuration file. The following downloads a 90% pruned-quantized BERT model for sentiment analysis in ONNX format from SparseZoo and launches a sentiment analysis endpoint:</p> <pre><code class="language-bash">deepsparse.server \ --task sentiment-analysis \ --model_path zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none </code></pre> <p>Sending a request:</p> <pre><code class="language-python">import requests url = "http://localhost:5543/v2/models/sentiment_analysis/infer" # Server's port default to 5543 obj = {"sequences": "Snorlax loves my Tesla!"} response = requests.post(url, json=obj) print(response.text) # {"labels":["positive"],"scores":[0.9965094327926636]} </code></pre> <h3>Additional Resources</h3> <ul> <li><a href="https://github.com/neuralmagic/deepsparse/tree/main/docs/use-cases">Use Cases Page</a> for more details on supported tasks</li> <li><a href="https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/deepsparse-pipelines.md">Pipelines User Guide</a> for Pipeline documentation</li> <li><a href="https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/deepsparse-server.md">Server User Guide</a> for Server documentation</li> <li><a href="https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/deepsparse-benchmarking.md">Benchmarking User Guide</a> for benchmarking documentation</li> <li><a href="https://github.com/neuralmagic/deepsparse/tree/main/examples/">Cloud Deployments and Demos</a></li> <li><a href="https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide">User Guide</a> for more detailed documentation</li> </ul> <h2>Product Usage Analytics</h2> <p>DeepSparse gathers basic usage telemetry, including, but not limited to, Invocations, Package, Version, and IP Address, for Product Usage Analytics purposes. Review Neural Magic's <a href="https://neuralmagic.com/legal/">Products Privacy Policy</a> for further details on how we process this data.</p> <p>To disable Product Usage Analytics, run:</p> <pre><code class="language-bash">export NM_DISABLE_ANALYTICS=True </code></pre> <p>Confirm that telemetry is shut off through info logs streamed with engine invocation by looking for the phrase "Skipping Neural Magic's latest package version check."</p> <h2>Community</h2> <h3>Get In Touch</h3> <ul> <li><a href="https://github.com/neuralmagic/deepsparse/raw/main/CONTRIBUTING.md">Contribution Guide</a></li> <li><a href="https://join.slack.com/t/discuss-neuralmagic/shared_invite/zt-q1a1cnvo-YBoICSIw3L1dmQpjBeDurQ">Community Slack</a></li> <li><a href="https://github.com/neuralmagic/deepsparse/issues">GitHub Issue Queue</a></li> <li><a href="https://neuralmagic.com/subscribe/">Subscribe To Our Newsletter</a></li> <li><a href="https://www.neuralmagic.com/blog/">Blog</a></li> </ul> <p>For more general questions about Neural Magic, <a href="http://neuralmagic.com/contact/">complete this form.</a></p> <h3>License</h3> <ul> <li> <p><strong>DeepSparse Community</strong> is licensed under the <a href="https://github.com/neuralmagic/deepsparse/raw/main/LICENSE-NEURALMAGIC">Neural Magic DeepSparse Community License.</a> Some source code, example files, and scripts included in the DeepSparse GitHub repository or directory are licensed under the <a href="https://github.com/neuralmagic/deepsparse/raw/main/LICENSE">Apache License Version 2.0</a> as noted.</p> </li> <li> <p><strong>DeepSparse Enterprise</strong> requires a Trial License or <a href="https://neuralmagic.com/legal/master-software-license-and-service-agreement/">can be fully licensed</a> for production, commercial applications.</p> </li> </ul> <h3>Cite</h3> <p>Find this project useful in your research or other communications? Please consider citing:</p> <pre><code class="language-bibtex">@misc{kurtic2023sparse, title={Sparse Fine-Tuning for Inference Acceleration of Large Language Models}, author={Eldar Kurtic and Denis Kuznedelev and Elias Frantar and Michael Goin and Dan Alistarh}, year={2023}, url={https://arxiv.org/abs/2310.06927}, eprint={2310.06927}, archivePrefix={arXiv}, primaryClass={cs.CL} } @misc{kurtic2022optimal, title={The Optimal BERT Surgeon: Scalable and Accurate Second-Order Pruning for Large Language Models}, author={Eldar Kurtic and Daniel Campos and Tuan Nguyen and Elias Frantar and Mark Kurtz and Benjamin Fineran and Michael Goin and Dan Alistarh}, year={2022}, url={https://arxiv.org/abs/2203.07259}, eprint={2203.07259}, archivePrefix={arXiv}, primaryClass={cs.CL} } @InProceedings{ pmlr-v119-kurtz20a, title = {Inducing and Exploiting Activation Sparsity for Fast Inference on Deep Neural Networks}, author = {Kurtz, Mark and Kopinsky, Justin and Gelashvili, Rati and Matveev, Alexander and Carr, John and Goin, Michael and Leiserson, William and Moore, Sage and Nell, Bill and Shavit, Nir and Alistarh, Dan}, booktitle = {Proceedings of the 37th International Conference on Machine Learning}, pages = {5533--5543}, year = {2020}, editor = {Hal Daumé III and Aarti Singh}, volume = {119}, series = {Proceedings of Machine Learning Research}, address = {Virtual}, month = {13--18 Jul}, publisher = {PMLR}, pdf = {http://proceedings.mlr.press/v119/kurtz20a/kurtz20a.pdf}, url = {http://proceedings.mlr.press/v119/kurtz20a.html} } @article{DBLP:journals/corr/abs-2111-13445, author = {Eugenia Iofinova and Alexandra Peste and Mark Kurtz and Dan Alistarh}, title = {How Well Do Sparse Imagenet Models Transfer?}, journal = {CoRR}, volume = {abs/2111.13445}, year = {2021}, url = {https://arxiv.org/abs/2111.13445}, eprinttype = {arXiv}, eprint = {2111.13445}, timestamp = {Wed, 01 Dec 2021 15:16:43 +0100}, biburl = {https://dblp.org/rec/journals/corr/abs-2111-13445.bib}, bibsource = {dblp computer science bibliography, https://dblp.org} } </code></pre> </div> + ByteByteGoHq/system-design-101 + 2023-10-23T01:24:06Z + tag:github.com,2023-10-23:/ByteByteGoHq/system-design-101 + + <p>Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.</p><hr><p> <a href="https://blog.bytebytego.com/?utm_source=site"><img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/banner.jpg"> </a> </p> <p align="center"> 【 <a href="https://www.youtube.com/channel/UCZgt6AzoyjslHTC9dz0UoTw"> 👨🏻‍💻 YouTube </a> | <a href="https://blog.bytebytego.com/?utm_source=site"> 📮 Newsletter </a> 】 </p> <h1>System Design 101</h1> <p>Explain complex systems using visuals and simple terms.</p> <p>Whether you're preparing for a System Design Interview or you simply want to understand how systems work beneath the surface, we hope this repository will help you achieve that.</p> <h1>Table of Contents</h1> <!-- TOC toc.levels=2 --> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#communication-protocols">Communication protocols</a> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#rest-api-vs-graphql">REST API vs. GraphQL</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-does-grpc-work">How does gRPC work?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#what-is-a-webhook">What is a webhook?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-to-improve-api-performance">How to improve API performance?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#http-10---http-11---http-20---http-30-quic">HTTP 1.0 -&gt; HTTP 1.1 -&gt; HTTP 2.0 -&gt; HTTP 3.0 (QUIC)</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#soap-vs-rest-vs-graphql-vs-rpc">SOAP vs REST vs GraphQL vs RPC</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#code-first-vs-api-first">Code First vs. API First</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#http-status-codes">HTTP status codes</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#what-does-api-gateway-do">What does API gateway do?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-do-we-design-effective-and-safe-apis">How do we design effective and safe APIs?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#tcpip-encapsulation">TCP/IP encapsulation</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#why-is-nginx-called-a-reverse-proxy">Why is Nginx called a “reverse” proxy?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#what-are-the-common-load-balancing-algorithms">What are the common load-balancing algorithms?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#url-uri-urn---do-you-know-the-differences">URL, URI, URN - Do you know the differences?</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#cicd">CI/CD</a> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#cicd-pipeline-explained-in-simple-terms">CI/CD Pipeline Explained in Simple Terms</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#netflix-tech-stack-cicd-pipeline">Netflix Tech Stack (CI/CD Pipeline)</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#architecture-patterns">Architecture patterns</a> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#mvc-mvp-mvvm-mvvm-c-and-viper">MVC, MVP, MVVM, MVVM-C, and VIPER</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#18-key-design-patterns-every-developer-should-know">18 Key Design Patterns Every Developer Should Know</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#database">Database</a> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#a-nice-cheat-sheet-of-different-databases-in-cloud-services">A nice cheat sheet of different databases in cloud services</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#8-data-structures-that-power-your-databases">8 Data Structures That Power Your Databases</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-is-an-sql-statement-executed-in-the-database">How is an SQL statement executed in the database?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#cap-theorem">CAP theorem</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#types-of-memory-and-storage">Types of Memory and Storage</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#visualizing-a-sql-query">Visualizing a SQL query</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#sql-language">SQL language</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#cache">Cache</a> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#data-is-cached-everywhere">Data is cached everywhere</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#why-is-redis-so-fast">Why is Redis so fast?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-can-redis-be-used">How can Redis be used?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#top-caching-strategies">Top caching strategies</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#microservice-architecture">Microservice architecture</a> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#what-does-a-typical-microservice-architecture-look-like">What does a typical microservice architecture look like?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#microservice-best-practices">Microservice Best Practices</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#what-tech-stack-is-commonly-used-for-microservices">What tech stack is commonly used for microservices?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#why-is-kafka-fast">Why is Kafka fast</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#payment-systems">Payment systems</a> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-to-learn-payment-systems">How to learn payment systems?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#why-is-the-credit-card-called-the-most-profitable-product-in-banks-how-does-visamastercard-make-money">Why is the credit card called “the most profitable product in banks”? How does VISA/Mastercard make money?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-does-visa-work-when-we-swipe-a-credit-card-at-a-merchants-shop">How does VISA work when we swipe a credit card at a merchant’s shop?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#payment-systems-around-the-world-series-part-1-unified-payments-interface-upi-in-india">Payment Systems Around The World Series (Part 1): Unified Payments Interface (UPI) in India</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#devops">DevOps</a> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#devops-vs-sre-vs-platform-engineering-what-is-the-difference">DevOps vs. SRE vs. Platform Engineering. What is the difference?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#what-is-k8s-kubernetes">What is k8s (Kubernetes)?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#docker-vs-kubernetes-which-one-should-we-use">Docker vs. Kubernetes. Which one should we use?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-does-docker-work">How does Docker work?</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#git">GIT</a> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-git-commands-work">How Git Commands work</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-does-git-work">How does Git Work?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#git-merge-vs-git-rebase">Git merge vs. Git rebase</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#cloud-services">Cloud Services</a> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#a-nice-cheat-sheet-of-different-cloud-services-2023-edition">A nice cheat sheet of different cloud services (2023 edition)</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#what-is-cloud-native">What is cloud native?</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#developer-productivity-tools">Developer productivity tools</a> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#visualize-json-files">Visualize JSON files</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#automatically-turn-code-into-architecture-diagrams">Automatically turn code into architecture diagrams</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#linux">Linux</a> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#linux-file-system-explained">Linux file system explained</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#18-most-used-linux-commands-you-should-know">18 Most-used Linux Commands You Should Know</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#security">Security</a> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-does-https-work">How does HTTPS work?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#oauth-20-explained-with-simple-terms">Oauth 2.0 Explained With Simple Terms.</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#top-4-forms-of-authentication-mechanisms">Top 4 Forms of Authentication Mechanisms</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#session-cookie-jwt-token-sso-and-oauth-20---what-are-they">Session, cookie, JWT, token, SSO, and OAuth 2.0 - what are they?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-to-store-passwords-safely-in-the-database-and-how-to-validate-a-password">How to store passwords safely in the database and how to validate a password?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#explaining-json-web-token-jwt-to-a-10-year-old-kid">Explaining JSON Web Token (JWT) to a 10 year old Kid</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-does-google-authenticator-or-other-types-of-2-factor-authenticators-work">How does Google Authenticator (or other types of 2-factor authenticators) work?</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#real-world-case-studies">Real World Case Studies</a> <ul> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#netflixs-tech-stack">Netflix's Tech Stack</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#twitter-architecture-2022">Twitter Architecture 2022</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#evolution-of-airbnbs-microservice-architecture-over-the-past-15-years">Evolution of Airbnb’s microservice architecture over the past 15 years</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#monorepo-vs-microrepo">Monorepo vs. Microrepo.</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-will-you-design-the-stack-overflow-website">How will you design the Stack Overflow website?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#why-did-amazon-prime-video-monitoring-move-from-serverless-to-monolithic-how-can-it-save-90-cost">Why did Amazon Prime Video monitoring move from serverless to monolithic? How can it save 90% cost?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-does-disney-hotstar-capture-5-billion-emojis-during-a-tournament">How does Disney Hotstar capture 5 Billion Emojis during a tournament?</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-discord-stores-trillions-of-messages">How Discord Stores Trillions Of Messages</a></li> <li><a href="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/#how-do-video-live-streamings-work-on-youtube-tiktok-live-or-twitch">How do video live streamings work on YouTube, TikTok live, or Twitch?</a></li> </ul> </li> </ul> <!-- /TOC --> <h2>Communication protocols</h2> <p>Architecture styles define how different components of an application programming interface (API) interact with one another. As a result, they ensure efficiency, reliability, and ease of integration with other systems by providing a standard approach to designing and building APIs. Here are the most used styles:</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/api-architecture-styles.png" style="width: 640px"> </p> <ul> <li> <p>SOAP:&nbsp;</p> <p>Mature, comprehensive, XML-based</p> <p>Best for enterprise applications&nbsp;</p> </li> <li> <p>RESTful:&nbsp;</p> <p>Popular, easy-to-implement, HTTP methods&nbsp;</p> <p>Ideal for web services&nbsp;</p> </li> <li> <p>GraphQL:&nbsp;</p> <p>Query language, request specific data&nbsp;</p> <p>Reduces network overhead, faster responses&nbsp;</p> </li> <li> <p>gRPC:&nbsp;</p> <p>Modern, high-performance, Protocol Buffers&nbsp;</p> <p>Suitable for microservices architectures&nbsp;</p> </li> <li> <p>WebSocket:&nbsp;</p> <p>Real-time, bidirectional, persistent connections&nbsp;</p> <p>Perfect for low-latency data exchange&nbsp;</p> </li> <li> <p>Webhook:&nbsp;</p> <p>Event-driven, HTTP callbacks, asynchronous&nbsp;</p> <p>Notifies systems when events occur</p> </li> </ul> <h3>REST API vs. GraphQL</h3> <p>The diagram below shows a quick comparison between REST and GraphQL.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/graphQL.jpg"> </p> <ul> <li> <p>GraphQL is a query language for APIs developed by Meta. It provides a complete description of the data in the API and gives clients the power to ask for exactly what they need.</p> </li> <li> <p>GraphQL servers sit in between the client and the backend services. GraphQL can aggregate multiple REST requests into one query. GraphQL server organizes the resources in a graph.</p> </li> <li> <p>GraphQL supports queries, mutations (applying data modifications to resources), and subscriptions (receiving notifications on schema modifications).</p> </li> </ul> <h3>How does gRPC work?</h3> <p>RPC (Remote Procedure Call) is called “<strong>remote</strong>” because it enables communications between remote services when services are deployed to different servers under microservice architecture. From the user’s point of view, it acts like a local function call.</p> <p>The diagram below illustrates the overall data flow for <strong>gRPC</strong>.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/grpc.jpg"> </p> <p>Step 1: A REST call is made from the client. The request body is usually in JSON format.</p> <p>Steps 2 - 4: The order service (gRPC client) receives the REST call, transforms it, and makes an RPC call to the payment service. gRPC encodes the <strong>client stub</strong> into a binary format and sends it to the low-level transport layer.</p> <p>Step 5: gRPC sends the packets over the network via HTTP2. Because of binary encoding and network optimizations, gRPC is said to be 5X faster than JSON.</p> <p>Steps 6 - 8: The payment service (gRPC server) receives the packets from the network, decodes them, and invokes the server application.</p> <p>Steps 9 - 11: The result is returned from the server application, and gets encoded and sent to the transport layer.</p> <p>Steps 12 - 14: The order service receives the packets, decodes them, and sends the result to the client application.</p> <h3>What is a webhook?</h3> <p>The diagram below shows a comparison between polling and Webhook.&nbsp;</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/webhook.jpeg" style="width: 680px"> </p> <p>Assume we run an eCommerce website. The clients send orders to the order service via the API gateway, which goes to the payment service for payment transactions. The payment service then talks to an external payment service provider (PSP) to complete the transactions.&nbsp;</p> <p>There are two ways to handle communications with the external PSP.&nbsp;</p> <p><strong>1. Short polling</strong>&nbsp;</p> <p>After sending the payment request to the PSP, the payment service keeps asking the PSP about the payment status. After several rounds, the PSP finally returns with the status.&nbsp;</p> <p>Short polling has two drawbacks:&nbsp;</p> <ul> <li>Constant polling of the status requires resources from the payment service.&nbsp;</li> <li>The External service communicates directly with the payment service, creating security vulnerabilities.&nbsp;</li> </ul> <p><strong>2. Webhook</strong>&nbsp;</p> <p>We can register a webhook with the external service. It means: call me back at a certain URL when you have updates on the request. When the PSP has completed the processing, it will invoke the HTTP request to update the payment status.</p> <p>In this way, the programming paradigm is changed, and the payment service doesn’t need to waste resources to poll the payment status anymore.</p> <p>What if the PSP never calls back? We can set up a housekeeping job to check payment status every hour.</p> <p>Webhooks are often referred to as reverse APIs or push APIs because the server sends HTTP requests to the client. We need to pay attention to 3 things when using a webhook:</p> <ol> <li>We need to design a proper API for the external service to call.</li> <li>We need to set up proper rules in the API gateway for security reasons.</li> <li>We need to register the correct URL at the external service.</li> </ol> <h3>How to improve API performance?</h3> <p>The diagram below shows 5 common tricks to improve API performance.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/api-performance.jpg"> </p> <p>Pagination</p> <p>This is a common optimization when the size of the result is large. The results are streaming back to the client to improve the service responsiveness.</p> <p>Asynchronous Logging</p> <p>Synchronous logging deals with the disk for every call and can slow down the system. Asynchronous logging sends logs to a lock-free buffer first and immediately returns. The logs will be flushed to the disk periodically. This significantly reduces the I/O overhead.</p> <p>Caching</p> <p>We can cache frequently accessed data into a cache. The client can query the cache first instead of visiting the database directly. If there is a cache miss, the client can query from the database. Caches like Redis store data in memory, so the data access is much faster than the database.</p> <p>Payload Compression</p> <p>The requests and responses can be compressed using gzip etc so that the transmitted data size is much smaller. This speeds up the upload and download.</p> <p>Connection Pool</p> <p>When accessing resources, we often need to load data from the database. Opening the closing db connections adds significant overhead. So we should connect to the db via a pool of open connections. The connection pool is responsible for managing the connection lifecycle.</p> <h3>HTTP 1.0 -&gt; HTTP 1.1 -&gt; HTTP 2.0 -&gt; HTTP 3.0 (QUIC)</h3> <p>What problem does each generation of HTTP solve?</p> <p>The diagram below illustrates the key features.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/http3.jpg"> </p> <ul> <li> <p>HTTP 1.0 was finalized and fully documented in 1996. Every request to the same server requires a separate TCP connection.</p> </li> <li> <p>HTTP 1.1 was published in 1997. A TCP connection can be left open for reuse (persistent connection), but it doesn’t solve the HOL (head-of-line) blocking issue.</p> <p>HOL blocking - when the number of allowed parallel requests in the browser is used up, subsequent requests need to wait for the former ones to complete.</p> </li> <li> <p>HTTP 2.0 was published in 2015. It addresses HOL issue through request multiplexing, which eliminates HOL blocking at the application layer, but HOL still exists at the transport (TCP) layer.</p> <p>As you can see in the diagram, HTTP 2.0 introduced the concept of HTTP “streams”: an abstraction that allows multiplexing different HTTP exchanges onto the same TCP connection. Each stream doesn’t need to be sent in order.</p> </li> <li> <p>HTTP 3.0 first draft was published in 2020. It is the proposed successor to HTTP 2.0. It uses QUIC instead of TCP for the underlying transport protocol, thus removing HOL blocking in the transport layer.</p> </li> </ul> <p>QUIC is based on UDP. It introduces streams as first-class citizens at the transport layer. QUIC streams share the same QUIC connection, so no additional handshakes and slow starts are required to create new ones, but QUIC streams are delivered independently such that in most cases packet loss affecting one stream doesn't affect others.</p> <h3>SOAP vs REST vs GraphQL vs RPC</h3> <p>The diagram below illustrates the API timeline and API styles comparison.</p> <p>Over time, different API architectural styles are released. Each of them has its own patterns of standardizing data exchange.</p> <p>You can check out the use cases of each style in the diagram.</p> <p> <img src="images/SOAP vs REST vs GraphQL vs RPC.jpeg"> </p> <h3>Code First vs. API First</h3> <p>The diagram below shows the differences between code-first development and API-first development. Why do we want to consider API first design?</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/api_first.jpg" style="width: 680px"> </p> <ul> <li>Microservices increase system complexity We have separate services to serve different functions of the system. While this kind of architecture facilitates decoupling and segregation of duty, we need to handle the various communications among services.</li> </ul> <p>It is better to think through the system's complexity before writing the code and carefully defining the boundaries of the services.</p> <ul> <li>Separate functional teams need to speak the same language The dedicated functional teams are only responsible for their own components and services. It is recommended that the organization speak the same language via API design.</li> </ul> <p>We can mock requests and responses to validate the API design before writing code.</p> <ul> <li>Improve software quality and developer productivity Since we have ironed out most of the uncertainties when the project starts, the overall development process is smoother, and the software quality is greatly improved.</li> </ul> <p>Developers are happy about the process as well because they can focus on functional development instead of negotiating sudden changes.</p> <p>The possibility of having surprises toward the end of the project lifecycle is reduced.</p> <p>Because we have designed the API first, the tests can be designed while the code is being developed. In a way, we also have TDD (Test Driven Design) when using API first development.</p> <h3>HTTP status codes</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/http-status-code.jpg" style="width: 540px"> </p> <p>The response codes for HTTP are divided into five categories:</p> <p>Informational (100-199) Success (200-299) Redirection (300-399) Client Error (400-499) Server Error (500-599)</p> <h3>What does API gateway do?</h3> <p>The diagram below shows the details.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/api_gateway.jpg" style="width: 520px"> </p> <p>Step 1 - The client sends an HTTP request to the API gateway.</p> <p>Step 2 - The API gateway parses and validates the attributes in the HTTP request.</p> <p>Step 3 - The API gateway performs allow-list/deny-list checks.</p> <p>Step 4 - The API gateway talks to an identity provider for authentication and authorization.</p> <p>Step 5 - The rate limiting rules are applied to the request. If it is over the limit, the request is rejected.</p> <p>Steps 6 and 7 - Now that the request has passed basic checks, the API gateway finds the relevant service to route to by path matching.</p> <p>Step 8 - The API gateway transforms the request into the appropriate protocol and sends it to backend microservices.</p> <p>Steps 9-12: The API gateway can handle errors properly, and deals with faults if the error takes a longer time to recover (circuit break). It can also leverage ELK (Elastic-Logstash-Kibana) stack for logging and monitoring. We sometimes cache data in the API gateway.</p> <h3>How do we design effective and safe APIs?</h3> <p>The diagram below shows typical API designs with a shopping cart example.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/safe-apis.jpg"> </p> <p>Note that API design is not just URL path design. Most of the time, we need to choose the proper resource names, identifiers, and path patterns. It is equally important to design proper HTTP header fields or to design effective rate-limiting rules within the API gateway.</p> <h3>TCP/IP encapsulation</h3> <p>How is data sent over the network? Why do we need so many layers in the OSI model?</p> <p> <img src="images/osi model.jpeg"> </p> <p>The diagram below shows how data is encapsulated and de-encapsulated when transmitting over the network.</p> <p>Step 1: When Device A sends data to Device B over the network via the HTTP protocol, it is first added an HTTP header at the application layer.</p> <p>Step 2: Then a TCP or a UDP header is added to the data. It is encapsulated into TCP segments at the transport layer. The header contains the source port, destination port, and sequence number.</p> <p>Step 3: The segments are then encapsulated with an IP header at the network layer. The IP header contains the source/destination IP addresses.</p> <p>Step 4: The IP datagram is added a MAC header at the data link layer, with source/destination MAC addresses.</p> <p>Step 5: The encapsulated frames are sent to the physical layer and sent over the network in binary bits.</p> <p>Steps 6-10: When Device B receives the bits from the network, it performs the de-encapsulation process, which is a reverse processing of the encapsulation process. The headers are removed layer by layer, and eventually, Device B can read the data.</p> <p>We need layers in the network model because each layer focuses on its own responsibilities. Each layer can rely on the headers for processing instructions and does not need to know the meaning of the data from the last layer.</p> <h3>Why is Nginx called a “reverse” proxy?</h3> <p>The diagram below shows the differences between a 𝐟𝐨𝐫𝐰𝐚𝐫𝐝 𝐩𝐫𝐨𝐱𝐲 and a 𝐫𝐞𝐯𝐞𝐫𝐬𝐞 𝐩𝐫𝐨𝐱𝐲.</p> <p> <img src="images/Forward Proxy v.s. Reverse Proxy2x.jpg" style="width: 720px"> </p> <p>A forward proxy is a server that sits between user devices and the internet.</p> <p>A forward proxy is commonly used for:</p> <ol> <li>Protecting clients</li> <li>Circumventing browsing restrictions</li> <li>Blocking access to certain content</li> </ol> <p>A reverse proxy is a server that accepts a request from the client, forwards the request to web servers, and returns the results to the client as if the proxy server had processed the request.</p> <p>A reverse proxy is good for:</p> <ol> <li>Protecting servers</li> <li>Load balancing</li> <li>Caching static contents</li> <li>Encrypting and decrypting SSL communications</li> </ol> <h3>What are the common load-balancing algorithms?</h3> <p>The diagram below shows 6 common algorithms.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/lb-algorithms.jpg"> </p> <ul> <li>Static Algorithms</li> </ul> <ol> <li> <p>Round robin</p> <p>The client requests are sent to different service instances in sequential order. The services are usually required to be stateless.</p> </li> <li> <p>Sticky round-robin</p> <p>This is an improvement of the round-robin algorithm. If Alice’s first request goes to service A, the following requests go to service A as well.</p> </li> <li> <p>Weighted round-robin</p> <p>The admin can specify the weight for each service. The ones with a higher weight handle more requests than others.</p> </li> <li> <p>Hash</p> <p>This algorithm applies a hash function on the incoming requests’ IP or URL. The requests are routed to relevant instances based on the hash function result.</p> </li> </ol> <ul> <li>Dynamic Algorithms</li> </ul> <ol start="5"> <li> <p>Least connections</p> <p>A new request is sent to the service instance with the least concurrent connections.</p> </li> <li> <p>Least response time</p> <p>A new request is sent to the service instance with the fastest response time.</p> </li> </ol> <h3>URL, URI, URN - Do you know the differences?</h3> <p>The diagram below shows a comparison of URL, URI, and URN.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/url-uri-urn.jpg"> </p> <ul> <li>URI</li> </ul> <p>URI stands for Uniform Resource Identifier. It identifies a logical or physical resource on the web. URL and URN are subtypes of URI. URL locates a resource, while URN names a resource.</p> <p>A URI is composed of the following parts: scheme:[//authority]path[?query][#fragment]</p> <ul> <li>URL</li> </ul> <p>URL stands for Uniform Resource Locator, the key concept of HTTP. It is the address of a unique resource on the web. It can be used with other protocols like FTP and JDBC.</p> <ul> <li>URN</li> </ul> <p>URN stands for Uniform Resource Name. It uses the urn scheme. URNs cannot be used to locate a resource. A simple example given in the diagram is composed of a namespace and a namespace-specific string.</p> <p>If you would like to learn more detail on the subject, I would recommend <a href="https://www.w3.org/TR/uri-clarification/">W3C’s clarification</a>.</p> <h2>CI/CD</h2> <h3>CI/CD Pipeline Explained in Simple Terms</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/ci-cd-pipeline.jpg" style="width: 680px"> </p> <p>Section 1 - SDLC with CI/CD</p> <p>The software development life cycle (SDLC) consists of several key stages: development, testing, deployment, and maintenance. CI/CD automates and integrates these stages to enable faster and more reliable releases.</p> <p>When code is pushed to a git repository, it triggers an automated build and test process. End-to-end (e2e) test cases are run to validate the code. If tests pass, the code can be automatically deployed to staging/production. If issues are found, the code is sent back to development for bug fixing. This automation provides fast feedback to developers and reduces the risk of bugs in production.</p> <p>Section 2 - Difference between CI and CD</p> <p>Continuous Integration (CI) automates the build, test, and merge process. It runs tests whenever code is committed to detect integration issues early. This encourages frequent code commits and rapid feedback.</p> <p>Continuous Delivery (CD) automates release processes like infrastructure changes and deployment. It ensures software can be released reliably at any time through automated workflows. CD may also automate the manual testing and approval steps required before production deployment.</p> <p>Section 3 - CI/CD Pipeline</p> <p>A typical CI/CD pipeline has several connected stages:</p> <ul> <li>The developer commits code changes to the source control</li> <li>CI server detects changes and triggers the build</li> <li>Code is compiled, and tested (unit, integration tests)</li> <li>Test results reported to the developer</li> <li>On success, artifacts are deployed to staging environments</li> <li>Further testing may be done on staging before release</li> <li>CD system deploys approved changes to production</li> </ul> <h3>Netflix Tech Stack (CI/CD Pipeline)</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/netflix-ci-cd.jpg" style="width: 720px"> </p> <p>Planning: Netflix Engineering uses JIRA for planning and Confluence for documentation.</p> <p>Coding: Java is the primary programming language for the backend service, while other languages are used for different use cases.</p> <p>Build: Gradle is mainly used for building, and Gradle plugins are built to support various use cases.</p> <p>Packaging: Package and dependencies are packed into an Amazon Machine Image (AMI) for release.</p> <p>Testing: Testing emphasizes the production culture's focus on building chaos tools.</p> <p>Deployment: Netflix uses its self-built Spinnaker for canary rollout deployment.</p> <p>Monitoring: The monitoring metrics are centralized in Atlas, and Kayenta is used to detect anomalies.</p> <p>Incident report: Incidents are dispatched according to priority, and PagerDuty is used for incident handling.</p> <h2>Architecture patterns</h2> <h3>MVC, MVP, MVVM, MVVM-C, and VIPER</h3> <p>These architecture patterns are among the most commonly used in app development, whether on iOS or Android platforms. Developers have introduced them to overcome the limitations of earlier patterns. So, how do they differ?</p> <p> <img src="images/client arch patterns.png" style="width: 720px"> </p> <ul> <li>MVC, the oldest pattern, dates back almost 50 years</li> <li>Every pattern has a "view" (V) responsible for displaying content and receiving user input</li> <li>Most patterns include a "model" (M) to manage business data</li> <li>"Controller," "presenter," and "view-model" are translators that mediate between the view and the model ("entity" in the VIPER pattern)</li> </ul> <h3>18 Key Design Patterns Every Developer Should Know</h3> <p>Patterns are reusable solutions to common design problems, resulting in a smoother, more efficient development process. They serve as blueprints for building better software structures. These are some of the most popular patterns:</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/18-oo-patterns.png"> </p> <ul> <li>Abstract Factory: Family Creator - Makes groups of related items.</li> <li>Builder: Lego Master - Builds objects step by step, keeping creation and appearance separate.</li> <li>Prototype: Clone Maker - Creates copies of fully prepared examples.</li> <li>Singleton: One and Only - A special class with just one instance.</li> <li>Adapter: Universal Plug - Connects things with different interfaces.</li> <li>Bridge: Function Connector - Links how an object works to what it does.</li> <li>Composite: Tree Builder - Forms tree-like structures of simple and complex parts.</li> <li>Decorator: Customizer - Adds features to objects without changing their core.</li> <li>Facade: One-Stop-Shop - Represents a whole system with a single, simplified interface.</li> <li>Flyweight: Space Saver - Shares small, reusable items efficiently.</li> <li>Proxy: Stand-In Actor - Represents another object, controlling access or actions.</li> <li>Chain of Responsibility: Request Relay - Passes a request through a chain of objects until handled.</li> <li>Command: Task Wrapper - Turns a request into an object, ready for action.</li> <li>Iterator: Collection Explorer - Accesses elements in a collection one by one.</li> <li>Mediator: Communication Hub - Simplifies interactions between different classes.</li> <li>Memento: Time Capsule - Captures and restores an object's state.</li> <li>Observer: News Broadcaster - Notifies classes about changes in other objects.</li> <li>Visitor: Skillful Guest - Adds new operations to a class without altering it.</li> </ul> <h2>Database</h2> <h3>A nice cheat sheet of different databases in cloud services</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/cloud-dbs2.png"> </p> <p>Choosing the right database for your project is a complex task. Many database options, each suited to distinct use cases, can quickly lead to decision fatigue.</p> <p>We hope this cheat sheet provides high-level direction to pinpoint the right service that aligns with your project's needs and avoid potential pitfalls.</p> <p>Note: Google has limited documentation for their database use cases. Even though we did our best to look at what was available and arrived at the best option, some of the entries may need to be more accurate.</p> <h3>8 Data Structures That Power Your Databases</h3> <p>The answer will vary depending on your use case. Data can be indexed in memory or on disk. Similarly, data formats vary, such as numbers, strings, geographic coordinates, etc. The system might be write-heavy or read-heavy. All of these factors affect your choice of database index format.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/8-ds-db.jpg"> </p> <p>The following are some of the most popular data structures used for indexing data:</p> <ul> <li>Skiplist: a common in-memory index type. Used in Redis</li> <li>Hash index: a very common implementation of the “Map” data structure (or “Collection”)</li> <li>SSTable: immutable on-disk “Map” implementation</li> <li>LSM tree: Skiplist + SSTable. High write throughput</li> <li>B-tree: disk-based solution. Consistent read/write performance</li> <li>Inverted index: used for document indexing. Used in Lucene</li> <li>Suffix tree: for string pattern search</li> <li>R-tree: multi-dimension search, such as finding the nearest neighbor</li> </ul> <h3>How is an SQL statement executed in the database?</h3> <p>The diagram below shows the process. Note that the architectures for different databases are different, the diagram demonstrates some common designs.</p> <p> <img src="images/sql execution order in db.jpeg" style="width: 580px"> </p> <p>Step 1 - A SQL statement is sent to the database via a transport layer protocol (e.g.TCP).</p> <p>Step 2 - The SQL statement is sent to the command parser, where it goes through syntactic and semantic analysis, and a query tree is generated afterward.</p> <p>Step 3 - The query tree is sent to the optimizer. The optimizer creates an execution plan.</p> <p>Step 4 - The execution plan is sent to the executor. The executor retrieves data from the execution.</p> <p>Step 5 - Access methods provide the data fetching logic required for execution, retrieving data from the storage engine.</p> <p>Step 6 - Access methods decide whether the SQL statement is read-only. If the query is read-only (SELECT statement), it is passed to the buffer manager for further processing. The buffer manager looks for the data in the cache or data files.</p> <p>Step 7 - If the statement is an UPDATE or INSERT, it is passed to the transaction manager for further processing.</p> <p>Step 8 - During a transaction, the data is in lock mode. This is guaranteed by the lock manager. It also ensures the transaction’s ACID properties.</p> <h3>CAP theorem</h3> <p>The CAP theorem is one of the most famous terms in computer science, but I bet different developers have different understandings. Let’s examine what it is and why it can be confusing.</p> <p> <img src="images/cap theorem.jpeg"> </p> <p>CAP theorem states that a distributed system can't provide more than two of these three guarantees simultaneously.</p> <p><strong>Consistency</strong>: consistency means all clients see the same data at the same time no matter which node they connect to.</p> <p><strong>Availability</strong>: availability means any client that requests data gets a response even if some of the nodes are down.</p> <p><strong>Partition Tolerance</strong>: a partition indicates a communication break between two nodes. Partition tolerance means the system continues to operate despite network partitions.</p> <p>The “2 of 3” formulation can be useful, <strong>but this simplification could be misleading</strong>.</p> <ol> <li> <p>Picking a database is not easy. Justifying our choice purely based on the CAP theorem is not enough. For example, companies don't choose Cassandra for chat applications simply because it is an AP system. There is a list of good characteristics that make Cassandra a desirable option for storing chat messages. We need to dig deeper.</p> </li> <li> <p>“CAP prohibits only a tiny part of the design space: perfect availability and consistency in the presence of partitions, which are rare”. Quoted from the paper: CAP Twelve Years Later: How the “Rules” Have Changed.</p> </li> <li> <p>The theorem is about 100% availability and consistency. A more realistic discussion would be the trade-offs between latency and consistency when there is no network partition. See PACELC theorem for more details.</p> </li> </ol> <p><strong>Is the CAP theorem actually useful?</strong></p> <p>I think it is still useful as it opens our minds to a set of tradeoff discussions, but it is only part of the story. We need to dig deeper when picking the right database.</p> <h3>Types of Memory and Storage</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/Types_of_Memory_and_Storage.jpeg" style="width: 420px"> </p> <h3>Visualizing a SQL query</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/sql-execution-order.jpg" style="width: 580px"> </p> <p>SQL statements are executed by the database system in several steps, including:</p> <ul> <li>Parsing the SQL statement and checking its validity</li> <li>Transforming the SQL into an internal representation, such as relational algebra</li> <li>Optimizing the internal representation and creating an execution plan that utilizes index information</li> <li>Executing the plan and returning the results</li> </ul> <p>The execution of SQL is highly complex and involves many considerations, such as:</p> <ul> <li>The use of indexes and caches</li> <li>The order of table joins</li> <li>Concurrency control</li> <li>Transaction management</li> </ul> <h3>SQL language</h3> <p>In 1986, SQL (Structured Query Language) became a standard. Over the next 40 years, it became the dominant language for relational database management systems. Reading the latest standard (ANSI SQL 2016) can be time-consuming. How can I learn it?</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/how-to-learn-sql.jpg"> </p> <p>There are 5 components of the SQL language:</p> <ul> <li>DDL: data definition language, such as CREATE, ALTER, DROP</li> <li>DQL: data query language, such as SELECT</li> <li>DML: data manipulation language, such as INSERT, UPDATE, DELETE</li> <li>DCL: data control language, such as GRANT, REVOKE</li> <li>TCL: transaction control language, such as COMMIT, ROLLBACK</li> </ul> <p>For a backend engineer, you may need to know most of it. As a data analyst, you may need to have a good understanding of DQL. Select the topics that are most relevant to you.</p> <h2>Cache</h2> <h3>Data is cached everywhere</h3> <p>This diagram illustrates where we cache data in a typical architecture.</p> <p> <img src="images/where do we cache data.jpeg" style="width: 720px"> </p> <p>There are <strong>multiple layers</strong> along the flow.</p> <ol> <li>Client apps: HTTP responses can be cached by the browser. We request data over HTTP for the first time, and it is returned with an expiry policy in the HTTP header; we request data again, and the client app tries to retrieve the data from the browser cache first.</li> <li>CDN: CDN caches static web resources. The clients can retrieve data from a CDN node nearby.</li> <li>Load Balancer: The load Balancer can cache resources as well.</li> <li>Messaging infra: Message brokers store messages on disk first, and then consumers retrieve them at their own pace. Depending on the retention policy, the data is cached in Kafka clusters for a period of time.</li> <li>Services: There are multiple layers of cache in a service. If the data is not cached in the CPU cache, the service will try to retrieve the data from memory. Sometimes the service has a second-level cache to store data on disk.</li> <li>Distributed Cache: Distributed cache like Redis holds key-value pairs for multiple services in memory. It provides much better read/write performance than the database.</li> <li>Full-text Search: we sometimes need to use full-text searches like Elastic Search for document search or log search. A copy of data is indexed in the search engine as well.</li> <li>Database: Even in the database, we have different levels of caches:</li> </ol> <ul> <li>WAL(Write-ahead Log): data is written to WAL first before building the B tree index</li> <li>Bufferpool: A memory area allocated to cache query results</li> <li>Materialized View: Pre-compute query results and store them in the database tables for better query performance</li> <li>Transaction log: record all the transactions and database updates</li> <li>Replication Log: used to record the replication state in a database cluster</li> </ul> <h3>Why is Redis so fast?</h3> <p>There are 3 main reasons as shown in the diagram below.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/why_redis_fast.jpeg"> </p> <ol> <li>Redis is a RAM-based data store. RAM access is at least 1000 times faster than random disk access.</li> <li>Redis leverages IO multiplexing and single-threaded execution loop for execution efficiency.</li> <li>Redis leverages several efficient lower-level data structures.</li> </ol> <p>Question: Another popular in-memory store is Memcached. Do you know the differences between Redis and Memcached?</p> <p>You might have noticed the style of this diagram is different from my previous posts. Please let me know which one you prefer.</p> <h3>How can Redis be used?</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/top-redis-use-cases.jpg" style="width: 520px"> </p> <p>There is more to Redis than just caching.</p> <p>Redis can be used in a variety of scenarios as shown in the diagram.</p> <ul> <li> <p>Session</p> <p>We can use Redis to share user session data among different services.</p> </li> <li> <p>Cache</p> <p>We can use Redis to cache objects or pages, especially for hotspot data.</p> </li> <li> <p>Distributed lock</p> <p>We can use a Redis string to acquire locks among distributed services.</p> </li> <li> <p>Counter</p> <p>We can count how many likes or how many reads for articles.</p> </li> <li> <p>Rate limiter</p> <p>We can apply a rate limiter for certain user IPs.</p> </li> <li> <p>Global ID generator</p> <p>We can use Redis Int for global ID.</p> </li> <li> <p>Shopping cart</p> <p>We can use Redis Hash to represent key-value pairs in a shopping cart.</p> </li> <li> <p>Calculate user retention</p> <p>We can use Bitmap to represent the user login daily and calculate user retention.</p> </li> <li> <p>Message queue</p> <p>We can use List for a message queue.</p> </li> <li> <p>Ranking</p> <p>We can use ZSet to sort the articles.</p> </li> </ul> <h3>Top caching strategies</h3> <p>Designing large-scale systems usually requires careful consideration of caching. Below are five caching strategies that are frequently utilized.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/top_caching_strategy.jpeg" style="width: 680px"> </p> <h2>Microservice architecture</h2> <h3>What does a typical microservice architecture look like?</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/typical-microservice-arch.jpg" style="width: 520px"> </p> <p>The diagram below shows a typical microservice architecture.</p> <ul> <li>Load Balancer: This distributes incoming traffic across multiple backend services.</li> <li>CDN (Content Delivery Network): CDN is a group of geographically distributed servers that hold static content for faster delivery. The clients look for content in CDN first, then progress to backend services.</li> <li>API Gateway: This handles incoming requests and routes them to the relevant services. It talks to the identity provider and service discovery.</li> <li>Identity Provider: This handles authentication and authorization for users.</li> <li>Service Registry &amp; Discovery: Microservice registration and discovery happen in this component, and the API gateway looks for relevant services in this component to talk to.</li> <li>Management: This component is responsible for monitoring the services.</li> <li>Microservices: Microservices are designed and deployed in different domains. Each domain has its own database. The API gateway talks to the microservices via REST API or other protocols, and the microservices within the same domain talk to each other using RPC (Remote Procedure Call).</li> </ul> <p>Benefits of microservices:</p> <ul> <li>They can be quickly designed, deployed, and horizontally scaled.</li> <li>Each domain can be independently maintained by a dedicated team.</li> <li>Business requirements can be customized in each domain and better supported, as a result.</li> </ul> <h3>Microservice Best Practices</h3> <p>A picture is worth a thousand words: 9 best practices for developing microservices.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/microservice-best-practices.jpeg"> </p> <p>When we develop microservices, we need to follow the following best practices:</p> <ol> <li>Use separate data storage for each microservice</li> <li>Keep code at a similar level of maturity</li> <li>Separate build for each microservice</li> <li>Assign each microservice with a single responsibility</li> <li>Deploy into containers</li> <li>Design stateless services</li> <li>Adopt domain-driven design</li> <li>Design micro frontend</li> <li>Orchestrating microservices</li> </ol> <h3>What tech stack is commonly used for microservices?</h3> <p>Below you will find a diagram showing the microservice tech stack, both for the development phase and for production.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/microservice-tech.jpeg"> </p> <p>▶️ 𝐏𝐫𝐞-𝐏𝐫𝐨𝐝𝐮𝐜𝐭𝐢𝐨𝐧</p> <ul> <li>Define API - This establishes a contract between frontend and backend. We can use Postman or OpenAPI for this.</li> <li>Development - Node.js or react is popular for frontend development, and java/python/go for backend development. Also, we need to change the configurations in the API gateway according to API definitions.</li> <li>Continuous Integration - JUnit and Jenkins for automated testing. The code is packaged into a Docker image and deployed as microservices.</li> </ul> <p>▶️ 𝐏𝐫𝐨𝐝𝐮𝐜𝐭𝐢𝐨𝐧</p> <ul> <li>NGinx is a common choice for load balancers. Cloudflare provides CDN (Content Delivery Network).</li> <li>API Gateway - We can use spring boot for the gateway, and use Eureka/Zookeeper for service discovery.</li> <li>The microservices are deployed on clouds. We have options among AWS, Microsoft Azure, or Google GCP. Cache and Full-text Search - Redis is a common choice for caching key-value pairs. ElasticSearch is used for full-text search.</li> <li>Communications - For services to talk to each other, we can use messaging infra Kafka or RPC.</li> <li>Persistence - We can use MySQL or PostgreSQL for a relational database, and Amazon S3 for object store. We can also use Cassandra for the wide-column store if necessary.</li> <li>Management &amp; Monitoring - To manage so many microservices, the common Ops tools include Prometheus, Elastic Stack, and Kubernetes.</li> </ul> <h3>Why is Kafka fast</h3> <p>There are many design decisions that contributed to Kafka’s performance. In this post, we’ll focus on two. We think these two carried the most weight.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/why_is_kafka_fast.jpeg"> </p> <ol> <li>The first one is Kafka’s reliance on Sequential I/O.</li> <li>The second design choice that gives Kafka its performance advantage is its focus on efficiency: zero copy principle.</li> </ol> <p>The diagram illustrates how the data is transmitted between producer and consumer, and what zero-copy means.</p> <ul> <li>Step 1.1 - 1.3: Producer writes data to the disk</li> <li>Step 2: Consumer reads data without zero-copy</li> </ul> <p>2.1 The data is loaded from disk to OS cache</p> <p>2.2 The data is copied from OS cache to Kafka application</p> <p>2.3 Kafka application copies the data into the socket buffer</p> <p>2.4 The data is copied from socket buffer to network card</p> <p>2.5 The network card sends data out to the consumer</p> <ul> <li>Step 3: Consumer reads data with zero-copy</li> </ul> <p>3.1: The data is loaded from disk to OS cache 3.2 OS cache directly copies the data to the network card via sendfile() command 3.3 The network card sends data out to the consumer</p> <p>Zero copy is a shortcut to save the multiple data copies between application context and kernel context.</p> <h2>Payment systems</h2> <h3>How to learn payment systems?</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/learn-payments.jpg"> </p> <h3>Why is the credit card called “the most profitable product in banks”? How does VISA/Mastercard make money?</h3> <p>The diagram below shows the economics of the credit card payment flow.</p> <p> <img src="images/how does visa makes money.jpg" style="width: 640px"> </p> <p>1.&nbsp;&nbsp;The cardholder pays a merchant $100 to buy a product.</p> <p>2.&nbsp;The merchant benefits from the use of the credit card with higher sales volume and needs to compensate the issuer and the card network for providing the payment service. The acquiring bank sets a fee with the merchant, called the “merchant discount fee.”</p> <p>3 - 4. The acquiring bank keeps $0.25 as the acquiring markup, and $1.75 is paid to the issuing bank as the interchange fee. The merchant discount fee should cover the interchange fee.</p> <p>The interchange fee is set by the card network because it is less efficient for each issuing bank to negotiate fees with each merchant.</p> <p>5.&nbsp;&nbsp;The card network sets up the network assessments and fees with each bank, which pays the card network for its services every month. For example, VISA charges a 0.11% assessment, plus a $0.0195 usage fee, for every swipe.</p> <p>6.&nbsp;&nbsp;The cardholder pays the issuing bank for its services.</p> <p>Why should the issuing bank be compensated?</p> <ul> <li>The issuer pays the merchant even if the cardholder fails to pay the issuer.</li> <li>The issuer pays the merchant before the cardholder pays the issuer.</li> <li>The issuer has other operating costs, including managing customer accounts, providing statements, fraud detection, risk management, clearing &amp; settlement, etc.</li> </ul> <h3>How does VISA work when we swipe a credit card at a merchant’s shop?</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/visa_payment.jpeg"> </p> <p>VISA, Mastercard, and American Express act as card networks for the clearing and settling of funds. The card acquiring bank and the card issuing bank can be – and often are – different. If banks were to settle transactions one by one without an intermediary, each bank would have to settle the transactions with all the other banks. This is quite inefficient.</p> <p>The diagram below shows VISA’s role in the credit card payment process. There are two flows involved. Authorization flow happens when the customer swipes the credit card. Capture and settlement flow happens when the merchant wants to get the money at the end of the day.</p> <ul> <li>Authorization Flow</li> </ul> <p>Step 0: The card issuing bank issues credit cards to its customers.</p> <p>Step 1: The cardholder wants to buy a product and swipes the credit card at the Point of Sale (POS) terminal in the merchant’s shop.</p> <p>Step 2: The POS terminal sends the transaction to the acquiring bank, which has provided the POS terminal.</p> <p>Steps 3 and 4: The acquiring bank sends the transaction to the card network, also called the card scheme. The card network sends the transaction to the issuing bank for approval.</p> <p>Steps 4.1, 4.2 and 4.3: The issuing bank freezes the money if the transaction is approved. The approval or rejection is sent back to the acquirer, as well as the POS terminal.</p> <ul> <li>Capture and Settlement Flow</li> </ul> <p>Steps 1 and 2: The merchant wants to collect the money at the end of the day, so they hit ”capture” on the POS terminal. The transactions are sent to the acquirer in batch. The acquirer sends the batch file with transactions to the card network.</p> <p>Step 3: The card network performs clearing for the transactions collected from different acquirers, and sends the clearing files to different issuing banks.</p> <p>Step 4: The issuing banks confirm the correctness of the clearing files, and transfer money to the relevant acquiring banks.</p> <p>Step 5: The acquiring bank then transfers money to the merchant’s bank.</p> <p>Step 4: The card network clears the transactions from different acquiring banks. Clearing is a process in which mutual offset transactions are netted, so the number of total transactions is reduced.</p> <p>In the process, the card network takes on the burden of talking to each bank and receives service fees in return.</p> <h3>Payment Systems Around The World Series (Part 1): Unified Payments Interface (UPI) in India</h3> <p>What’s UPI? UPI is an instant real-time payment system developed by the National Payments Corporation of India.</p> <p>It accounts for 60% of digital retail transactions in India today.</p> <p>UPI = payment markup language + standard for interoperable payments</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/how-does-upi-work.png" style="width: 600px"> </p> <h2>DevOps</h2> <h3>DevOps vs. SRE vs. Platform Engineering. What is the difference?</h3> <p>The concepts of DevOps, SRE, and Platform Engineering have emerged at different times and have been developed by various individuals and organizations.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/devops-sre-platform.jpg"> </p> <p>DevOps as a concept was introduced in 2009 by Patrick Debois and Andrew Shafer at the Agile conference. They sought to bridge the gap between software development and operations by promoting a collaborative culture and shared responsibility for the entire software development lifecycle.</p> <p>SRE, or Site Reliability Engineering, was pioneered by Google in the early 2000s to address operational challenges in managing large-scale, complex systems. Google developed SRE practices and tools, such as the Borg cluster management system and the Monarch monitoring system, to improve the reliability and efficiency of their services.</p> <p>Platform Engineering is a more recent concept, building on the foundation of SRE engineering. The precise origins of Platform Engineering are less clear, but it is generally understood to be an extension of the DevOps and SRE practices, with a focus on delivering a comprehensive platform for product development that supports the entire business perspective.</p> <p>It's worth noting that while these concepts emerged at different times. They are all related to the broader trend of improving collaboration, automation, and efficiency in software development and operations.</p> <h3>What is k8s (Kubernetes)?</h3> <p>K8s is a container orchestration system. It is used for container deployment and management. Its design is greatly impacted by Google’s internal system Borg.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/k8s.jpeg" style="width: 680px"> </p> <p>A k8s cluster consists of a set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node.</p> <p>The worker node(s) host the Pods that are the components of the application workload. The control plane manages the worker nodes and the Pods in the cluster. In production environments, the control plane usually runs across multiple computers, and a cluster usually runs multiple nodes, providing fault tolerance and high availability.</p> <ul> <li>Control Plane Components</li> </ul> <ol> <li> <p>API Server</p> <p>The API server talks to all the components in the k8s cluster. All the operations on pods are executed by talking to the API server.</p> </li> <li> <p>Scheduler</p> <p>The scheduler watches pod workloads and assigns loads on newly created pods.</p> </li> <li> <p>Controller Manager</p> <p>The controller manager runs the controllers, including Node Controller, Job Controller, EndpointSlice Controller, and ServiceAccount Controller.</p> </li> <li> <p>Etcd</p> <p>etcd is a key-value store used as Kubernetes' backing store for all cluster data.</p> </li> </ol> <ul> <li>Nodes</li> </ul> <ol> <li> <p>Pods</p> <p>A pod is a group of containers and is the smallest unit that k8s administers. Pods have a single IP address applied to every container within the pod.</p> </li> <li> <p>Kubelet</p> <p>An agent that runs on each node in the cluster. It ensures containers are running in a Pod.</p> </li> <li> <p>Kube Proxy</p> <p>Kube-proxy is a network proxy that runs on each node in your cluster. It routes traffic coming into a node from the service. It forwards requests for work to the correct containers.</p> </li> </ol> <h3>Docker vs. Kubernetes. Which one should we use?</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/docker-vs-k8s.jpg" style="width: 680px"> </p> <p>What is Docker ?</p> <p>Docker is an open-source platform that allows you to package, distribute, and run applications in isolated containers. It focuses on containerization, providing lightweight environments that encapsulate applications and their dependencies.</p> <p>What is Kubernetes ?</p> <p>Kubernetes, often referred to as K8s, is an open-source container orchestration platform. It provides a framework for automating the deployment, scaling, and management of containerized applications across a cluster of nodes.</p> <p>How are both different from each other ?</p> <p>Docker: Docker operates at the individual container level on a single operating system host.</p> <p>You must manually manage each host and setting up networks, security policies, and storage for multiple related containers can be complex.</p> <p>Kubernetes: Kubernetes operates at the cluster level. It manages multiple containerized applications across multiple hosts, providing automation for tasks like load balancing, scaling, and ensuring the desired state of applications.</p> <p>In short, Docker focuses on containerization and running containers on individual hosts, while Kubernetes specializes in managing and orchestrating containers at scale across a cluster of hosts.</p> <h3>How does Docker work?</h3> <p>The diagram below shows the architecture of Docker and how it works when we run “docker build”, “docker pull” and “docker run”.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/docker.jpg" style="width: 680px"> </p> <p>There are 3 components in Docker architecture:</p> <ul> <li> <p>Docker client</p> <p>The docker client talks to the Docker daemon.</p> </li> <li> <p>Docker host</p> <p>The Docker daemon listens for Docker API requests and manages Docker objects such as images, containers, networks, and volumes.</p> </li> <li> <p>Docker registry</p> <p>A Docker registry stores Docker images. Docker Hub is a public registry that anyone can use.</p> </li> </ul> <p>Let’s take the “docker run” command as an example.</p> <ol> <li>Docker pulls the image from the registry.</li> <li>Docker creates a new container.</li> <li>Docker allocates a read-write filesystem to the container.</li> <li>Docker creates a network interface to connect the container to the default network.</li> <li>Docker starts the container.</li> </ol> <h2>GIT</h2> <h3>How Git Commands work</h3> <p>To begin with, it's essential to identify where our code is stored. The common assumption is that there are only two locations - one on a remote server like Github and the other on our local machine. However, this isn't entirely accurate. Git maintains three local storages on our machine, which means that our code can be found in four places:</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/git-commands.png" style="width: 600px"> </p> <ul> <li>Working directory: where we edit files</li> <li>Staging area: a temporary location where files are kept for the next commit</li> <li>Local repository: contains the code that has been committed</li> <li>Remote repository: the remote server that stores the code</li> </ul> <p>Most Git commands primarily move files between these four locations.</p> <h3>How does Git Work?</h3> <p>The diagram below shows the Git workflow.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/git-workflow.jpeg" style="width: 520px"> </p> <p>Git is a distributed version control system.</p> <p>Every developer maintains a local copy of the main repository and edits and commits to the local copy.</p> <p>The commit is very fast because the operation doesn’t interact with the remote repository.</p> <p>If the remote repository crashes, the files can be recovered from the local repositories.</p> <h3>Git merge vs. Git rebase</h3> <p>What are the differences?</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/git-merge-git-rebase.jpeg" style="width: 680px"> </p> <p>When we <strong>merge changes</strong> from one Git branch to another, we can use ‘git merge’ or ‘git rebase’. The diagram below shows how the two commands work.</p> <p><strong>Git merge</strong></p> <p>This creates a new commit G’ in the main branch. G’ ties the histories of both main and feature branches.</p> <p>Git merge is <strong>non-destructive</strong>. Neither the main nor the feature branch is changed.</p> <p><strong>Git rebase</strong></p> <p>Git rebase moves the feature branch histories to the head of the main branch. It creates new commits E’, F’, and G’ for each commit in the feature branch.</p> <p>The benefit of rebase is that it has a linear <strong>commit history</strong>.</p> <p>Rebase can be dangerous if “the golden rule of git rebase” is not followed.</p> <p><strong>The Golden Rule of Git Rebase</strong></p> <p>Never use it on public branches!</p> <h2>Cloud Services</h2> <h3>A nice cheat sheet of different cloud services (2023 edition)</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/cloud-compare.jpg"> </p> <h3>What is cloud native?</h3> <p>Below is a diagram showing the evolution of architecture and processes since the 1980s.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/cloud-native.jpeg" style="width: 640px"> </p> <p>Organizations can build and run scalable applications on public, private, and hybrid clouds using cloud native technologies.</p> <p>This means the applications are designed to leverage cloud features, so they are resilient to load and easy to scale.</p> <p>Cloud native includes 4 aspects:</p> <ol> <li> <p>Development process</p> <p>This has progressed from waterfall to agile to DevOps.</p> </li> <li> <p>Application Architecture</p> <p>The architecture has gone from monolithic to microservices. Each service is designed to be small, adaptive to the limited resources in cloud containers.</p> </li> <li> <p>Deployment &amp; packaging</p> <p>The applications used to be deployed on physical servers. Then around 2000, the applications that were not sensitive to latency were usually deployed on virtual servers. With cloud native applications, they are packaged into docker images and deployed in containers.</p> </li> <li> <p>Application infrastructure</p> <p>The applications are massively deployed on cloud infrastructure instead of self-hosted servers.</p> </li> </ol> <h2>Developer productivity tools</h2> <h3>Visualize JSON files</h3> <p>Nested JSON files are hard to read.</p> <p><strong>JsonCrack</strong> generates graph diagrams from JSON files and makes them easy to read.</p> <p>Additionally, the generated diagrams can be downloaded as images.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/json-cracker.jpeg"> </p> <h3>Automatically turn code into architecture diagrams</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/diagrams_as_code.jpeg" style="width: 640px"> </p> <p>What does it do?</p> <ul> <li>Draw the cloud system architecture in Python code.</li> <li>Diagrams can also be rendered directly inside the Jupyter Notebooks.</li> <li>No design tools are needed.</li> <li>Supports the following providers: AWS, Azure, GCP, Kubernetes, Alibaba Cloud, Oracle Cloud, etc.</li> </ul> <p><a href="https://github.com/mingrammer/diagrams">Github repo</a></p> <h2>Linux</h2> <h3>Linux file system explained</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/linux-file-systems.jpg" style="width: 680px"> </p> <p>The Linux file system used to resemble an unorganized town where individuals constructed their houses wherever they pleased. However, in 1994, the Filesystem Hierarchy Standard (FHS) was introduced to bring order to the Linux file system.</p> <p>By implementing a standard like the FHS, software can ensure a consistent layout across various Linux distributions. Nonetheless, not all Linux distributions strictly adhere to this standard. They often incorporate their own unique elements or cater to specific requirements. To become proficient in this standard, you can begin by exploring. Utilize commands such as "cd" for navigation and "ls" for listing directory contents. Imagine the file system as a tree, starting from the root (/). With time, it will become second nature to you, transforming you into a skilled Linux administrator.</p> <h3>18 Most-used Linux Commands You Should Know</h3> <p>Linux commands are instructions for interacting with the operating system. They help manage files, directories, system processes, and many other aspects of the system. You need to become familiar with these commands in order to navigate and maintain Linux-based systems efficiently and effectively.</p> <p>This diagram below shows popular Linux commands:</p> <p> <img src="images/18 Most-Used Linux Commands You Should Know-01.jpeg" style="width: 680px"> </p> <ul> <li>ls - List files and directories</li> <li>cd - Change the current directory</li> <li>mkdir - Create a new directory</li> <li>rm - Remove files or directories</li> <li>cp - Copy files or directories</li> <li>mv - Move or rename files or directories</li> <li>chmod - Change file or directory permissions</li> <li>grep - Search for a pattern in files</li> <li>find - Search for files and directories</li> <li>tar - manipulate tarball archive files</li> <li>vi - Edit files using text editors</li> <li>cat - display the content of files</li> <li>top - Display processes and resource usage</li> <li>ps - Display processes information</li> <li>kill - Terminate a process by sending a signal</li> <li>du - Estimate file space usage</li> <li>ifconfig - Configure network interfaces</li> <li>ping - Test network connectivity between hosts</li> </ul> <h2>Security</h2> <h3>How does HTTPS work?</h3> <p>Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP.) HTTPS transmits encrypted data using Transport Layer Security (TLS.) If the data is hijacked online, all the hijacker gets is binary code.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/https.jpg"> </p> <p>How is the data encrypted and decrypted?</p> <p>Step 1 - The client (browser) and the server establish a TCP connection.</p> <p>Step 2 - The client sends a “client hello” to the server. The message contains a set of necessary encryption algorithms (cipher suites) and the latest TLS version it can support. The server responds with a “server hello” so the browser knows whether it can support the algorithms and TLS version.</p> <p>The server then sends the SSL certificate to the client. The certificate contains the public key, host name, expiry dates, etc. The client validates the certificate.</p> <p>Step 3 - After validating the SSL certificate, the client generates a session key and encrypts it using the public key. The server receives the encrypted session key and decrypts it with the private key.</p> <p>Step 4 - Now that both the client and the server hold the same session key (symmetric encryption), the encrypted data is transmitted in a secure bi-directional channel.</p> <p>Why does HTTPS switch to symmetric encryption during data transmission? There are two main reasons:</p> <ol> <li> <p>Security: The asymmetric encryption goes only one way. This means that if the server tries to send the encrypted data back to the client, anyone can decrypt the data using the public key.</p> </li> <li> <p>Server resources: The asymmetric encryption adds quite a lot of mathematical overhead. It is not suitable for data transmissions in long sessions.</p> </li> </ol> <h3>Oauth 2.0 Explained With Simple Terms.</h3> <p>OAuth 2.0 is a powerful and secure framework that allows different applications to securely interact with each other on behalf of users without sharing sensitive credentials.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/oAuth2.jpg"> </p> <p>The entities involved in OAuth are the User, the Server, and the Identity Provider (IDP).</p> <p>What Can an OAuth Token Do?</p> <p>When you use OAuth, you get an OAuth token that represents your identity and permissions. This token can do a few important things:</p> <p>Single Sign-On (SSO): With an OAuth token, you can log into multiple services or apps using just one login, making life easier and safer.</p> <p>Authorization Across Systems: The OAuth token allows you to share your authorization or access rights across various systems, so you don't have to log in separately everywhere.</p> <p>Accessing User Profile: Apps with an OAuth token can access certain parts of your user profile that you allow, but they won't see everything.</p> <p>Remember, OAuth 2.0 is all about keeping you and your data safe while making your online experiences seamless and hassle-free across different applications and services.</p> <h3>Top 4 Forms of Authentication Mechanisms</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/top4-most-used-auth.jpg"> </p> <ol> <li> <p>SSH Keys:</p> <p>Cryptographic keys are used to access remote systems and servers securely</p> </li> <li> <p>OAuth Tokens:</p> <p>Tokens that provide limited access to user data on third-party applications</p> </li> <li> <p>SSL Certificates:</p> <p>Digital certificates ensure secure and encrypted communication between servers and clients</p> </li> <li> <p>Credentials:</p> <p>User authentication information is used to verify and grant access to various systems and services</p> </li> </ol> <h3>Session, cookie, JWT, token, SSO, and OAuth 2.0 - what are they?</h3> <p>These terms are all related to user identity management. When you log into a website, you declare who you are (identification). Your identity is verified (authentication), and you are granted the necessary permissions (authorization). Many solutions have been proposed in the past, and the list keeps growing.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/session.jpeg"> </p> <p>From simple to complex, here is my understanding of user identity management:</p> <ul> <li> <p>WWW-Authenticate is the most basic method. You are asked for the username and password by the browser. As a result of the inability to control the login life cycle, it is seldom used today.</p> </li> <li> <p>A finer control over the login life cycle is session-cookie. The server maintains session storage, and the browser keeps the ID of the session. A cookie usually only works with browsers and is not mobile app friendly.</p> </li> <li> <p>To address the compatibility issue, the token can be used. The client sends the token to the server, and the server validates the token. The downside is that the token needs to be encrypted and decrypted, which may be time-consuming.</p> </li> <li> <p>JWT is a standard way of representing tokens. This information can be verified and trusted because it is digitally signed. Since JWT contains the signature, there is no need to save session information on the server side.</p> </li> <li> <p>By using SSO (single sign-on), you can sign on only once and log in to multiple websites. It uses CAS (central authentication service) to maintain cross-site information</p> </li> <li> <p>By using OAuth 2.0, you can authorize one website to access your information on another website.</p> </li> </ul> <h3>How to store passwords safely in the database and how to validate a password?</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/salt.jpg" style="width: 720px"> </p> <p><strong>Things NOT to do</strong></p> <ul> <li> <p>Storing passwords in plain text is not a good idea because anyone with internal access can see them.</p> </li> <li> <p>Storing password hashes directly is not sufficient because it is pruned to precomputation attacks, such as rainbow tables.</p> </li> <li> <p>To mitigate precomputation attacks, we salt the passwords.</p> </li> </ul> <p><strong>What is salt?</strong></p> <p>According to OWASP guidelines, “a salt is a unique, randomly generated string that is added to each password as part of the hashing process”.</p> <p><strong>How to store a password and salt?</strong></p> <ol> <li>the hash result is unique to each password.</li> <li>The password can be stored in the database using the following format: hash(password + salt).</li> </ol> <p><strong>How to validate a password?</strong></p> <p>To validate a password, it can go through the following process:</p> <ol> <li>A client enters the password.</li> <li>The system fetches the corresponding salt from the database.</li> <li>The system appends the salt to the password and hashes it. Let’s call the hashed value H1.</li> <li>The system compares H1 and H2, where H2 is the hash stored in the database. If they are the same, the password is valid.</li> </ol> <h3>Explaining JSON Web Token (JWT) to a 10 year old Kid</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/jwt.jpg"> </p> <p>Imagine you have a special box called a JWT. Inside this box, there are three parts: a header, a payload, and a signature.</p> <p>The header is like the label on the outside of the box. It tells us what type of box it is and how it's secured. It's usually written in a format called JSON, which is just a way to organize information using curly braces { } and colons : .</p> <p>The payload is like the actual message or information you want to send. It could be your name, age, or any other data you want to share. It's also written in JSON format, so it's easy to understand and work with. Now, the signature is what makes the JWT secure. It's like a special seal that only the sender knows how to create. The signature is created using a secret code, kind of like a password. This signature ensures that nobody can tamper with the contents of the JWT without the sender knowing about it.</p> <p>When you want to send the JWT to a server, you put the header, payload, and signature inside the box. Then you send it over to the server. The server can easily read the header and payload to understand who you are and what you want to do.</p> <h3>How does Google Authenticator (or other types of 2-factor authenticators) work?</h3> <p>Google Authenticator is commonly used for logging into our accounts when 2-factor authentication is enabled. How does it guarantee security?</p> <p>Google Authenticator is a software-based authenticator that implements a two-step verification service. The diagram below provides detail.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/google_authenticate.jpeg"> </p> <p>There are two stages involved:</p> <ul> <li>Stage 1 - The user enables Google two-step verification</li> <li>Stage 2 - The user uses the authenticator for logging in, etc.</li> </ul> <p>Let’s look at these stages.</p> <p><strong>Stage 1</strong></p> <p>Steps 1 and 2: Bob opens the web page to enable two-step verification. The front end requests a secret key. The authentication service generates the secret key for Bob and stores it in the database.</p> <p>Step 3: The authentication service returns a URI to the front end. The URI is composed of a key issuer, username, and secret key. The URI is displayed in the form of a QR code on the web page.</p> <p>Step 4: Bob then uses Google Authenticator to scan the generated QR code. The secret key is stored in the authenticator.</p> <p><strong>Stage 2</strong> Steps 1 and 2: Bob wants to log into a website with Google two-step verification. For this, he needs the password. Every 30 seconds, Google Authenticator generates a 6-digit password using TOTP (Time-based One Time Password) algorithm. Bob uses the password to enter the website.</p> <p>Steps 3 and 4: The frontend sends the password Bob enters to the backend for authentication. The authentication service reads the secret key from the database and generates a 6-digit password using the same TOTP algorithm as the client.</p> <p>Step 5: The authentication service compares the two passwords generated by the client and the server, and returns the comparison result to the frontend. Bob can proceed with the login process only if the two passwords match.</p> <p>Is this authentication mechanism safe?</p> <ul> <li> <p>Can the secret key be obtained by others?</p> <p>We need to make sure the secret key is transmitted using HTTPS. The authenticator client and the database store the secret key, and we need to make sure the secret keys are encrypted.</p> </li> <li> <p>Can the 6-digit password be guessed by hackers?</p> <p>No. The password has 6 digits, so the generated password has 1 million potential combinations. Plus, the password changes every 30 seconds. If hackers want to guess the password in 30 seconds, they need to enter 30,000 combinations per second.</p> </li> </ul> <h2>Real World Case Studies</h2> <h3>Netflix's Tech Stack</h3> <p>This post is based on research from many Netflix engineering blogs and open-source projects. If you come across any inaccuracies, please feel free to inform us.</p> <p> <img src="images/netflix tech stack.png" style="width: 680px"> </p> <p><strong>Mobile and web</strong>: Netflix has adopted Swift and Kotlin to build native mobile apps. For its web application, it uses React.</p> <p><strong>Frontend/server communication</strong>: Netflix uses GraphQL.</p> <p><strong>Backend services</strong>: Netflix relies on ZUUL, Eureka, the Spring Boot framework, and other technologies.</p> <p><strong>Databases</strong>: Netflix utilizes EV cache, Cassandra, CockroachDB, and other databases.</p> <p><strong>Messaging/streaming</strong>: Netflix employs Apache Kafka and Fink for messaging and streaming purposes.</p> <p><strong>Video storage</strong>: Netflix uses S3 and Open Connect for video storage.</p> <p><strong>Data processing</strong>: Netflix utilizes Flink and Spark for data processing, which is then visualized using Tableau. Redshift is used for processing structured data warehouse information.</p> <p><strong>CI/CD</strong>: Netflix employs various tools such as JIRA, Confluence, PagerDuty, Jenkins, Gradle, Chaos Monkey, Spinnaker, Atlas, and more for CI/CD processes.</p> <h3>Twitter Architecture 2022</h3> <p>Yes, this is the real Twitter architecture. It is posted by Elon Musk and redrawn by us for better readability.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/twitter-arch.jpeg"> </p> <h3>Evolution of Airbnb’s microservice architecture over the past 15 years</h3> <p>Airbnb’s microservice architecture went through 3 main stages.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/airbnb_arch.jpeg"> </p> <p>Monolith (2008 - 2017)</p> <p>Airbnb began as a simple marketplace for hosts and guests. This is built in a Ruby on Rails application - the monolith.</p> <p>What’s the challenge?</p> <ul> <li>Confusing team ownership + unowned code</li> <li>Slow deployment</li> </ul> <p>Microservices (2017 - 2020)</p> <p>Microservice aims to solve those challenges. In the microservice architecture, key services include:</p> <ul> <li>Data fetching service</li> <li>Business logic data service</li> <li>Write workflow service</li> <li>UI aggregation service</li> <li>Each service had one owning team</li> </ul> <p>What’s the challenge?</p> <p>Hundreds of services and dependencies were difficult for humans to manage.</p> <p>Micro + macroservices (2020 - present)</p> <p>This is what Airbnb is working on now. The micro and macroservice hybrid model focuses on the unification of APIs.</p> <h3>Monorepo vs. Microrepo.</h3> <p>Which is the best? Why do different companies choose different options?</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/monorepo-microrepo.jpg"> </p> <p>Monorepo isn't new; Linux and Windows were both created using Monorepo. To improve scalability and build speed, Google developed its internal dedicated toolchain to scale it faster and strict coding quality standards to keep it consistent.</p> <p>Amazon and Netflix are major ambassadors of the Microservice philosophy. This approach naturally separates the service code into separate repositories. It scales faster but can lead to governance pain points later on.</p> <p>Within Monorepo, each service is a folder, and every folder has a BUILD config and OWNERS permission control. Every service member is responsible for their own folder.</p> <p>On the other hand, in Microrepo, each service is responsible for its repository, with the build config and permissions typically set for the entire repository.</p> <p>In Monorepo, dependencies are shared across the entire codebase regardless of your business, so when there's a version upgrade, every codebase upgrades their version.</p> <p>In Microrepo, dependencies are controlled within each repository. Businesses choose when to upgrade their versions based on their own schedules.</p> <p>Monorepo has a standard for check-ins. Google's code review process is famously known for setting a high bar, ensuring a coherent quality standard for Monorepo, regardless of the business.</p> <p>Microrepo can either set its own standard or adopt a shared standard by incorporating best practices. It can scale faster for business, but the code quality might be a bit different. Google engineers built Bazel, and Meta built Buck. There are other open-source tools available, including Nix, Lerna, and others.</p> <p>Over the years, Microrepo has had more supported tools, including Maven and Gradle for Java, NPM for NodeJS, and CMake for C/C++, among others.</p> <h3>How will you design the Stack Overflow website?</h3> <p>If your answer is on-premise servers and monolith (on the bottom of the following image), you would likely fail the interview, but that's how it is built in reality!</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/stackoverflow.jpg"> </p> <p><strong>What people think it should look like</strong></p> <p>The interviewer is probably expecting something like the top portion of the picture.</p> <ul> <li>Microservice is used to decompose the system into small components.</li> <li>Each service has its own database. Use cache heavily.</li> <li>The service is sharded.</li> <li>The services talk to each other asynchronously through message queues.</li> <li>The service is implemented using Event Sourcing with CQRS.</li> <li>Showing off knowledge in distributed systems such as eventual consistency, CAP theorem, etc.</li> </ul> <p><strong>What it actually is</strong></p> <p>Stack Overflow serves all the traffic with only 9 on-premise web servers, and it’s on monolith! It has its own servers and does not run on the cloud.</p> <p>This is contrary to all our popular beliefs these days.</p> <h3>Why did Amazon Prime Video monitoring move from serverless to monolithic? How can it save 90% cost?</h3> <p>The diagram below shows the architecture comparison before and after the migration.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/serverless-to-monolithic.jpeg"> </p> <p>What is Amazon Prime Video Monitoring Service?</p> <p>Prime Video service needs to monitor the quality of thousands of live streams. The monitoring tool automatically analyzes the streams in real time and identifies quality issues like block corruption, video freeze, and sync problems. This is an important process for customer satisfaction.</p> <p>There are 3 steps: media converter, defect detector, and real-time notification.</p> <ul> <li> <p>What is the problem with the old architecture?</p> <p>The old architecture was based on Amazon Lambda, which was good for building services quickly. However, it was not cost-effective when running the architecture at a high scale. The two most expensive operations are:</p> </li> </ul> <ol> <li> <p>The orchestration workflow - AWS step functions charge users by state transitions and the orchestration performs multiple state transitions every second.</p> </li> <li> <p>Data passing between distributed components - the intermediate data is stored in Amazon S3 so that the next stage can download. The download can be costly when the volume is high.</p> </li> </ol> <ul> <li> <p>Monolithic architecture saves 90% cost</p> <p>A monolithic architecture is designed to address the cost issues. There are still 3 components, but the media converter and defect detector are deployed in the same process, saving the cost of passing data over the network. Surprisingly, this approach to deployment architecture change led to 90% cost savings!</p> </li> </ul> <p>This is an interesting and unique case study because microservices have become a go-to and fashionable choice in the tech industry. It's good to see that we are having more discussions about evolving the architecture and having more honest discussions about its pros and cons. Decomposing components into distributed microservices comes with a cost.</p> <ul> <li> <p>What did Amazon leaders say about this?</p> <p>Amazon CTO Werner Vogels: “Building <strong>evolvable software systems</strong> is a strategy, not a religion. And revisiting your architecture with an open mind is a must.”</p> </li> </ul> <p>Ex Amazon VP Sustainability Adrian Cockcroft: “The Prime Video team had followed a path I call <strong>Serverless First</strong>…I don’t advocate <strong>Serverless Only</strong>”.</p> <h3>How does Disney Hotstar capture 5 Billion Emojis during a tournament?</h3> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/hotstar_emojis.jpeg" style="width: 720px"> </p> <ol> <li> <p>Clients send emojis through standard HTTP requests. You can think of Golang Service as a typical Web Server. Golang is chosen because it supports concurrency well. Threads in Golang are lightweight.</p> </li> <li> <p>Since the write volume is very high, Kafka (message queue) is used as a buffer.</p> </li> <li> <p>Emoji data are aggregated by a streaming processing service called Spark. It aggregates data every 2 seconds, which is configurable. There is a trade-off to be made based on the interval. A shorter interval means emojis are delivered to other clients faster but it also means more computing resources are needed.</p> </li> <li> <p>Aggregated data is written to another Kafka.</p> </li> <li> <p>The PubSub consumers pull aggregated emoji data from Kafka.</p> </li> <li> <p>Emojis are delivered to other clients in real-time through the PubSub infrastructure. The PubSub infrastructure is interesting. Hotstar considered the following protocols: Socketio, NATS, MQTT, and gRPC, and settled with MQTT.</p> </li> </ol> <p>A similar design is adopted by LinkedIn which streams a million likes/sec.</p> <h3>How Discord Stores Trillions Of Messages</h3> <p>The diagram below shows the evolution of message storage at Discord:</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/discord-store-messages.jpg"> </p> <p>MongoDB ➡️ Cassandra ➡️ ScyllaDB</p> <p>In 2015, the first version of Discord was built on top of a single MongoDB replica. Around Nov 2015, MongoDB stored 100 million messages and the RAM couldn’t hold the data and index any longer. The latency became unpredictable. Message storage needs to be moved to another database. Cassandra was chosen.</p> <p>In 2017, Discord had 12 Cassandra nodes and stored billions of messages.</p> <p>At the beginning of 2022, it had 177 nodes with trillions of messages. At this point, latency was unpredictable, and maintenance operations became too expensive to run.</p> <p>There are several reasons for the issue:</p> <ul> <li>Cassandra uses the LSM tree for the internal data structure. The reads are more expensive than the writes. There can be many concurrent reads on a server with hundreds of users, resulting in hotspots.</li> <li>Maintaining clusters, such as compacting SSTables, impacts performance.</li> <li>Garbage collection pauses would cause significant latency spikes</li> </ul> <p>ScyllaDB is Cassandra compatible database written in C++. Discord redesigned its architecture to have a monolithic API, a data service written in Rust, and ScyllaDB-based storage.</p> <p>The p99 read latency in ScyllaDB is 15ms compared to 40-125ms in Cassandra. The p99 write latency is 5ms compared to 5-70ms in Cassandra.</p> <h3>How do video live streamings work on YouTube, TikTok live, or Twitch?</h3> <p>Live streaming differs from regular streaming because the video content is sent via the internet in real-time, usually with a latency of just a few seconds.</p> <p>The diagram below explains what happens behind the scenes to make this possible.</p> <p> <img src="https://raw.githubusercontent.com/ByteByteGoHq/system-design-101/main/images/live_streaming_updated.jpg" style="width: 640px"> </p> <p>Step 1: The raw video data is captured by a microphone and camera. The data is sent to the server side.</p> <p>Step 2: The video data is compressed and encoded. For example, the compressing algorithm separates the background and other video elements. After compression, the video is encoded to standards such as H.264. The size of the video data is much smaller after this step.</p> <p>Step 3: The encoded data is divided into smaller segments, usually seconds in length, so it takes much less time to download or stream.</p> <p>Step 4: The segmented data is sent to the streaming server. The streaming server needs to support different devices and network conditions. This is called ‘Adaptive Bitrate Streaming.’ This means we need to produce multiple files at different bitrates in steps 2 and 3.</p> <p>Step 5: The live streaming data is pushed to edge servers supported by CDN (Content Delivery Network.) Millions of viewers can watch the video from an edge server nearby. CDN significantly lowers data transmission latency.</p> <p>Step 6: The viewers’ devices decode and decompress the video data and play the video in a video player.</p> <p>Steps 7 and 8: If the video needs to be stored for replay, the encoded data is sent to a storage server, and viewers can request a replay from it later.</p> <p>Standard protocols for live streaming include:</p> <ul> <li>RTMP (Real-Time Messaging Protocol): This was originally developed by Macromedia to transmit data between a Flash player and a server. Now it is used for streaming video data over the internet. Note that video conferencing applications like Skype use RTC (Real-Time Communication) protocol for lower latency.</li> <li>HLS (HTTP Live Streaming): It requires the H.264 or H.265 encoding. Apple devices accept only HLS format.</li> <li>DASH (Dynamic Adaptive Streaming over HTTP): DASH does not support Apple devices.</li> <li>Both HLS and DASH support adaptive bitrate streaming.</li> </ul> <h2>License</h2> <p xmlns:cc="http://creativecommons.org/ns#">This work is licensed under <a href="http://creativecommons.org/licenses/by-nc-nd/4.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC BY-NC-ND 4.0<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/cc.svg?ref=chooser-v1"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/by.svg?ref=chooser-v1"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/nc.svg?ref=chooser-v1"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/nd.svg?ref=chooser-v1"></a></p> \ No newline at end of file diff --git a/all/weekly/index.xml b/all/weekly/index.xml deleted file mode 100644 index 569704dab5c..00000000000 --- a/all/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub All Languages Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:06Z - Weekly Trending of All Languages in GitHub - - - iv-org/invidious - 2023-10-22T01:46:06Z - tag:github.com,2023-10-22:/iv-org/invidious - - <p>Invidious is an alternative front-end to YouTube</p><hr><div align="center"> <img src="https://raw.githubusercontent.com/iv-org/invidious/master/assets/invidious-colored-vector.svg?sanitize=true" width="192" height="192" alt="Invidious logo"> <h1>Invidious</h1> <a href="https://www.gnu.org/licenses/agpl-3.0.en.html"> <img alt="License: AGPLv3" src="https://shields.io/badge/License-AGPL%20v3-blue.svg?sanitize=true"> </a> <a href="https://github.com/iv-org/invidious/actions"> <img alt="Build Status" src="https://github.com/iv-org/invidious/workflows/Invidious%20CI/badge.svg?sanitize=true"> </a> <a href="https://github.com/iv-org/invidious/commits/master"> <img alt="GitHub commits" src="https://img.shields.io/github/commit-activity/y/iv-org/invidious?color=red&amp;label=commits"> </a> <a href="https://github.com/iv-org/invidious/issues"> <img alt="GitHub issues" src="https://img.shields.io/github/issues/iv-org/invidious?color=important"> </a> <a href="https://github.com/iv-org/invidious/pulls"> <img alt="GitHub pull requests" src="https://img.shields.io/github/issues-pr/iv-org/invidious?color=blueviolet"> </a> <a href="https://hosted.weblate.org/engage/invidious/"> <img alt="Translation Status" src="https://hosted.weblate.org/widgets/invidious/-/translations/svg-badge.svg?sanitize=true"> </a> <a href="https://github.com/humanetech-community/awesome-humane-tech"> <img alt="Awesome Humane Tech" src="https://raw.githubusercontent.com/humanetech-community/awesome-humane-tech/main/humane-tech-badge.svg?sanitize=true"> </a> <h3>An open source alternative front-end to YouTube</h3> <p><a href="https://invidious.io/">Website</a> &nbsp;•&nbsp; <a href="https://instances.invidious.io/">Instances list</a> &nbsp;•&nbsp; <a href="https://docs.invidious.io/faq/">FAQ</a> &nbsp;•&nbsp; <a href="https://docs.invidious.io/">Documentation</a> &nbsp;•&nbsp; <a href="https://raw.githubusercontent.com/iv-org/invidious/master/#contribute">Contribute</a> &nbsp;•&nbsp; <a href="https://invidious.io/donate/">Donate</a></p> <h5>Chat with us:</h5> <a href="https://matrix.to/#/#invidious:matrix.org"> <img alt="Matrix" src="https://img.shields.io/matrix/invidious:matrix.org?label=Matrix&amp;color=darkgreen"> </a> <a href="https://web.libera.chat/?channel=#invidious"> <img alt="Libera.chat (IRC)" src="https://img.shields.io/badge/IRC%20%28Libera.chat%29-%23invidious-darkgreen"> </a> <br> <a rel="me" href="https://social.tchncs.de/@invidious"> <img alt="Fediverse: @invidious@social.tchncs.de" src="https://img.shields.io/badge/Fediverse-%40invidious%40social.tchncs.de-darkgreen"> </a> <br> <a href="https://invidious.io/contact/"> <img alt="E-mail" src="https://img.shields.io/badge/E%2d%2dmail-darkgreen"> </a> </div> <h2>Screenshots</h2> <table> <thead> <tr> <th>Player</th> <th>Preferences</th> <th>Subscriptions</th> </tr> </thead> <tbody> <tr> <td><img src="https://raw.githubusercontent.com/iv-org/invidious/master/screenshots/01_player.png" alt=""></td> <td><img src="https://raw.githubusercontent.com/iv-org/invidious/master/screenshots/02_preferences.png" alt=""></td> <td><img src="https://raw.githubusercontent.com/iv-org/invidious/master/screenshots/03_subscriptions.png" alt=""></td> </tr> <tr> <td><img src="https://raw.githubusercontent.com/iv-org/invidious/master/screenshots/04_description.png" alt=""></td> <td><img src="https://raw.githubusercontent.com/iv-org/invidious/master/screenshots/05_preferences.png" alt=""></td> <td><img src="https://raw.githubusercontent.com/iv-org/invidious/master/screenshots/06_subscriptions.png" alt=""></td> </tr> </tbody> </table> <h2>Features</h2> <p><strong>User features</strong></p> <ul> <li>Lightweight</li> <li>No ads</li> <li>No tracking</li> <li>No JavaScript required</li> <li>Light/Dark themes</li> <li>Customizable homepage</li> <li>Subscriptions independent from Google</li> <li>Notifications for all subscribed channels</li> <li>Audio-only mode (with background play on mobile)</li> <li>Support for Reddit comments</li> <li><a href="https://raw.githubusercontent.com/iv-org/invidious/master/locales/">Available in many languages</a>, thanks to <a href="https://raw.githubusercontent.com/iv-org/invidious/master/#contribute">our translators</a></li> </ul> <p><strong>Data import/export</strong></p> <ul> <li>Import subscriptions from YouTube, NewPipe and Freetube</li> <li>Import watch history from YouTube and NewPipe</li> <li>Export subscriptions to NewPipe and Freetube</li> <li>Import/Export Invidious user data</li> </ul> <p><strong>Technical features</strong></p> <ul> <li>Embedded video support</li> <li><a href="https://docs.invidious.io/api/">Developer API</a></li> <li>Does not use official YouTube APIs</li> <li>No Contributor License Agreement (CLA)</li> </ul> <h2>Quick start</h2> <p><strong>Using invidious:</strong></p> <ul> <li><a href="https://instances.invidious.io">Select a public instance from the list</a> and start watching videos right now!</li> </ul> <p><strong>Hosting invidious:</strong></p> <ul> <li><a href="https://docs.invidious.io/installation/">Follow the installation instructions</a></li> </ul> <h2>Documentation</h2> <p>The full documentation can be accessed online at <a href="https://docs.invidious.io/">https://docs.invidious.io/</a></p> <p>The documentation's source code is available in this repository: <a href="https://github.com/iv-org/documentation">https://github.com/iv-org/documentation</a></p> <h3>Extensions</h3> <p>We highly recommend the use of <a href="https://github.com/SimonBrazell/privacy-redirect#get">Privacy Redirect</a>, a browser extension that automatically redirects Youtube URLs to any Invidious instance and replaces embedded youtube videos on other websites with invidious.</p> <p>The documentation contains a list of browser extensions that we recommended to use along with Invidious.</p> <p>You can read more here: <a href="https://docs.invidious.io/applications/">https://docs.invidious.io/applications/</a></p> <h2>Contribute</h2> <h3>Code</h3> <ol> <li>Fork it ( <a href="https://github.com/iv-org/invidious/fork">https://github.com/iv-org/invidious/fork</a> ).</li> <li>Create your feature branch (<code>git checkout -b my-new-feature</code>).</li> <li>Stage your files (<code>git add .</code>).</li> <li>Commit your changes (<code>git commit -am 'Add some feature'</code>).</li> <li>Push to the branch (<code>git push origin my-new-feature</code>).</li> <li>Create a new pull request ( <a href="https://github.com/iv-org/invidious/compare">https://github.com/iv-org/invidious/compare</a> ).</li> </ol> <h3>Translations</h3> <p>We use <a href="https://weblate.org">Weblate</a> to manage Invidious translations.</p> <p>You can suggest new translations and/or correction here: <a href="https://hosted.weblate.org/engage/invidious/">https://hosted.weblate.org/engage/invidious/</a>.</p> <p>Creating an account is not required, but recommended, especially if you want to contribute regularly. Weblate also allows you to log-in with major SSO providers like Github, Gitlab, BitBucket, Google, ...</p> <h2>Projects using Invidious</h2> <ul> <li><a href="https://github.com/FreeTubeApp/FreeTube">FreeTube</a>: A libre software YouTube app for privacy.</li> <li><a href="https://sr.ht/~cadence/tube/">CloudTube</a>: A JavaScript-rich alternate YouTube player.</li> <li><a href="https://gitlab.com/Cha_de_L/peertubeify">PeerTubeify</a>: On YouTube, displays a link to the same video on PeerTube, if it exists.</li> <li><a href="https://github.com/deep-gaurav/MusicPiped">MusicPiped</a>: A material design music player that streams music from YouTube.</li> <li><a href="https://github.com/stephane-r/holoplay-pwa">HoloPlay</a>: Progressive Web App connecting on Invidious API's with search, playlists and favorites.</li> <li><a href="https://github.com/WatchTubeTeam/WatchTube">WatchTube</a>: Powerful YouTube client for Apple Watch.</li> <li><a href="https://github.com/yattee/yattee">Yattee</a>: Alternative YouTube frontend for iPhone, iPad, Mac and Apple TV.</li> <li><a href="https://codeberg.org/777/TubiTui">TubiTui</a>: A lightweight, libre, TUI-based YouTube client.</li> <li><a href="https://github.com/pystardust/ytfzf">Ytfzf</a>: A posix script to find and watch youtube videos from the terminal. (Without API).</li> <li><a href="https://github.com/iBicha/playlet">Playlet</a>: Unofficial Youtube client for Roku TV.</li> <li><a href="https://github.com/lamarios/clipious">Clipious</a>: Unofficial Invidious client for Android.</li> </ul> <h2>Liability</h2> <p>We take no responsibility for the use of our tool, or external instances provided by third parties. We strongly recommend you abide by the valid official regulations in your country. Furthermore, we refuse liability for any inappropriate use of Invidious, such as illegal downloading. This tool is provided to you in the spirit of free, open software.</p> <p>You may view the LICENSE in which this software is provided to you <a href="https://raw.githubusercontent.com/iv-org/invidious/master/LICENSE">here</a>.</p> <blockquote> <ol start="16"> <li>Limitation of Liability.</li> </ol> <p>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p> </blockquote> - - - THUDM/CogVLM - 2023-10-22T01:46:06Z - tag:github.com,2023-10-22:/THUDM/CogVLM - - <p>a state-of-the-art-level open visual language model</p><hr><h1>CogVLM</h1> <p>📖 <a href="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/cogvlm-paper.pdf">Paper(论文)</a></p> <p>🌐 <a href="http://36.103.203.44:7861/">web demo(测试网址)</a></p> <h2>Introduction</h2> <ul> <li> <p>CogVLM is a powerful <strong>open-source visual language model</strong> (<strong>VLM</strong>). CogVLM-17B has 10 billion vision parameters and 7 billion language parameters.</p> </li> <li> <p>CogVLM-17B achieves state-of-the-art performance on 10 classic cross-modal benchmarks, including NoCaps, Flicker30k captioning, RefCOCO, RefCOCO+, RefCOCOg, Visual7W, GQA, ScienceQA, VizWiz VQA and TDIUC, and rank the 2nd on VQAv2, OKVQA, TextVQA, COCO captioning, etc., <strong>surpassing or matching PaLI-X 55B</strong>. CogVLM can also <a href="http://36.103.203.44:7861">chat with you</a> about images.</p> </li> <li> <p>Chinese brief introduction: CogVLM 是一个强大的开源视觉语言模型,利用视觉专家模块深度整合语言编码和视觉编码,在 10 项权威跨模态基准上取得了SOTA性能。目前仅支持英文,后续会提供中英双语版本支持,欢迎持续关注!</p> </li> </ul> <div align="center"> <img src="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/metrics-min.png" width="80%"> </div> <h2>Examples</h2> <!-- CogVLM is powerful for answering various types of visual questions, including **Detailed Description & Visual Question Answering**, **Complex Counting**, **Visual Math Problem Solving**, **OCR-Free Reasonging**, **OCR-Free Visual Question Answering**, **World Knowledge**, **Referring Expression Comprehension**, **Programming with Visual Input**, **Grounding with Caption**, **Grounding Visual Question Answering**, etc. --> <ul> <li> <p>CogVLM can accurately describe images in details with <strong>very few hallucinations</strong>.</p> <details> <summary>Click for comparison with LLAVA-1.5 and MiniGPT-4.</summary> <p><img src="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/llava-comparison-min.png" alt="LLAVA Comparision"></p> </details> </li> </ul> <br> <ul> <li>CogVLM can understand and answer various types of questions, and has a <strong>visual grounding</strong> version.</li> </ul> <div align="center"> <img src="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/pear_grounding.png" width="90%"> </div> <br> <ul> <li>CogVLM sometimes captures more detailed content than GPT-4V(ision).</li> </ul> <div align="center"> <img src="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/compare-min.png" width="90%"> </div> <!-- ![compare](assets/compare.png) --> <br> <details> <summary>Click to expand more examples.</summary> <p><img src="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/chat.png" alt="Chat Examples"></p> </details> <h2>Method</h2> <p>CogVLM model comprises four fundamental components: a vision transformer (ViT) encoder, an MLP adapter, a pretrained large language model (GPT), and a <strong>visual expert module</strong>. See <a href="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/cogvlm-paper.pdf">Paper</a> for more details.</p> <div align="center"> <img src="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/method-min.png" width="70%"> </div> <h2>Get Started</h2> <p>We support two GUIs for model inference, <strong>web demo</strong> and <strong>CLI</strong>. If you want to use it in your python code, it is easy to modify the CLI scripts for your case.</p> <p>First, we need to install the dependencies.</p> <pre><code class="language-bash">pip install -r requirements.txt python -m spacy download en_core_web_sm </code></pre> <h4>Hardware requirement</h4> <ul> <li>Model Inference: 1 * A100(80G) or 2 * RTX 3090(24G).</li> <li>Finetuning: 4 * A100(80G) <em>[Recommend]</em> or 8* RTX 3090(24G).</li> </ul> <!-- ### Online Web Demo We provide a [web demo](http://36.103.203.44:7861/) based on [Gradio](https://gradio.app). --> <h3>Web Demo</h3> <p>We also offer a local web demo based on Gradio. First, install Gradio by running: <code>pip install gradio</code>. Then download and enter this repository and run <code>web_demo.py</code>. See the next section for detailed usage:</p> <pre><code class="language-bash">python web_demo.py --from_pretrained cogvlm-chat --version chat --english --bf16 python web_demo.py --from_pretrained cogvlm-grounding-generalist --version base --english --bf16 </code></pre> <p>The GUI of the web demo looks like:</p> <div align="center"> <img src="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/web_demo-min.png" width="70%"> </div> <h3>CLI</h3> <p>We open-source different checkpoints for different downstreaming tasks:</p> <ul> <li><code>cogvlm-chat</code> The model after SFT for alignment, which supports chat like GPT-4V.</li> <li><code>cogvlm-base-224</code> The original checkpoint after text-image pretraining.</li> <li><code>cogvlm-base-490</code> The finetuned version on <code>490px</code> resolution from <code>cogvlm-base-224</code>. The finetuning data includes the training sets of VQA datasets.</li> <li><code>cogvlm-grounding-generalist</code>. This checkpoint supports different visual grounding tasks, e.g. REC, Grounding Captioning, etc.</li> </ul> <p>Run CLI demo via:</p> <pre><code class="language-bash">python cli_demo.py --from_pretrained cogvlm-base-224 --version base --english --bf16 --no_prompt python cli_demo.py --from_pretrained cogvlm-base-490 --version base --english --bf16 --no_prompt python cli_demo.py --from_pretrained cogvlm-chat --version chat --english --bf16 python cli_demo.py --from_pretrained cogvlm-grounding-generalist --version base --english --bf16 </code></pre> <p>The program will automatically download the sat model and interact in the command line. You can generate replies by entering instructions and pressing enter. Enter <code>clear</code> to clear the conversation history and <code>stop</code> to stop the program.</p> <h4>Multi-GPU inference</h4> <p>We also support model parallel inference, which splits model to multiple (2/4/8) GPUs. <code>--nproc-per-node=[n]</code> in the following command controls the number of used GPUs.</p> <pre><code>torchrun --standalone --nnodes=1 --nproc-per-node=2 cli_demo.py --from_pretrained cogvlm-chat --version chat --english --bf16 </code></pre> <p><strong>Note</strong>:</p> <ul> <li>If you have trouble in accessing huggingface.co, you can add <code>--local_tokenizer /path/to/vicuna-7b-v1.5</code> to load the tokenizer.</li> <li>If you have trouble in automatically downloading model with 🔨<a href="https://github.com/THUDM/SwissArmyTransformer">SAT</a>, try downloading from 🤖<a href="https://www.modelscope.cn/models/ZhipuAI/CogVLM/summary">modelscope</a> or 🤗<a href="https://huggingface.co/THUDM/CogVLM">huggingface</a> manually.</li> <li>Download model using 🔨<a href="https://github.com/THUDM/SwissArmyTransformer">SAT</a>, the model will be saved to the default location <code>~/.sat_models</code>. Change the default location by setting the environment variable <code>SAT_HOME</code>. For example, if you want to save the model to <code>/path/to/my/models</code>, you can run <code>export SAT_HOME=/path/to/my/models</code> before running the python command.</li> </ul> <p>The program provides the following hyperparameters to control the generation process:</p> <pre><code>usage: cli_demo.py [-h] [--max_length MAX_LENGTH] [--top_p TOP_P] [--top_k TOP_K] [--temperature TEMPERATURE] [--english] optional arguments: -h, --help show this help message and exit --max_length MAX_LENGTH max length of the total sequence --top_p TOP_P top p for nucleus sampling --top_k TOP_K top k for top k sampling --temperature TEMPERATURE temperature for sampling --english only output English </code></pre> <h3>Finetuning</h3> <p>You may want to use CogVLM in your own task, which needs a <strong>different output style or domain knowledge</strong>. We here provide a finetuning example for <strong>Captcha Recognition</strong>.</p> <ol> <li> <p>Start by downloading the <a href="https://www.kaggle.com/datasets/aadhavvignesh/captcha-images">Captcha Images dataset</a>. Once downloaded, extract the contents of the ZIP file.</p> </li> <li> <p>To create a train/validation/test split in the ratio of 80/5/15, execute the following:</p> <pre><code class="language-bash">python scripts/split_dataset.py </code></pre> </li> <li> <p>Start the fine-tuning process with this command:</p> <pre><code class="language-bash">bash scripts/finetune_(224/490)_lora.sh </code></pre> </li> <li> <p>Merge the model to <code>model_parallel_size=1</code>: (replace the 4 below with your training <code>MP_SIZE</code>)</p> <pre><code class="language-bash">torchrun --standalone --nnodes=1 --nproc-per-node=4 merge_model.py --version base --bf16 --from_pretrained ./checkpoints/merged_lora_(224/490) </code></pre> </li> <li> <p>Evaluate the performance of your model.</p> <pre><code class="language-bash">bash scripts/evaluate_(224/490).sh </code></pre> </li> </ol> <p>It is recommended to use the <code>490px</code> version. However, if you have limited GPU resources (such as only one node with 8* RTX 3090), you can try <code>224px</code> version with model parallel.</p> <p>The anticipated result of this script is around <code>95%</code> accuracy on test set.</p> <p>It is worth noting that the fine-tuning examples only tune limited parameters. (Expert only) If you want to get <code>&gt;98%</code> accuracy, you need to increase the trainable parameters in <code>finetune_demo.py</code>.</p> <h2>License</h2> <p>The code in this repository is open source under the <a href="https://raw.githubusercontent.com/THUDM/CogVLM/main/LICENSE">Apache-2.0 license</a>, while the use of the CogVLM model weights must comply with the <a href="https://raw.githubusercontent.com/THUDM/CogVLM/main/MODEL_LICENSE">Model License</a>.</p> <h2>Citation &amp; Acknowledgements</h2> <p>If you find our work helpful, please consider citing the following papers</p> <pre><code>Yes, you can help us!!! The paper (ArXiv ID 5148899) has been "on hold" by arXiv for more than two weeks without clear reason. If you happen to know the moderators (cs.CV), please help to accelarate the process. Thank you! </code></pre> <p>In the instruction fine-tuning phase of the CogVLM, there are some English image-text data from the <a href="https://github.com/Vision-CAIR/MiniGPT-4">MiniGPT-4</a>, <a href="https://github.com/haotian-liu/LLaVA">LLAVA</a>, <a href="https://github.com/FuxiaoLiu/LRV-Instruction">LRV-Instruction</a>, <a href="https://github.com/SALT-NLP/LLaVAR">LLaVAR</a> and <a href="https://github.com/shikras/shikra">Shikra</a> projects, as well as many classic cross-modal work datasets. We sincerely thank them for their contributions.</p> - - - Audio-AGI/AudioSep - 2023-10-22T01:46:06Z - tag:github.com,2023-10-22:/Audio-AGI/AudioSep - - <p>Official implementation of "Separate Anything You Describe"</p><hr><h1>Separate Anything You Describe</h1> <p><a href="https://arxiv.org/abs/2308.05037"><img src="https://img.shields.io/badge/arXiv-Paper-%3CCOLOR%3E.svg?sanitize=true" alt="arXiv"></a> <a href="https://github.com/Audio-AGI/AudioSep/"><img src="https://img.shields.io/github/stars/Audio-AGI/AudioSep?style=social" alt="GitHub Stars"></a> <a href="https://audio-agi.github.io/Separate-Anything-You-Describe"><img src="https://img.shields.io/badge/GitHub.io-Demo_Page-blue?logo=Github&amp;style=flat-square" alt="githubio"></a> <a href="https://colab.research.google.com/github/Audio-AGI/AudioSep/blob/main/AudioSep_Colab.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Open In Colab"></a> <a href="https://huggingface.co/spaces/Audio-AGI/AudioSep"><img src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Spaces-blue" alt="Hugging Face Spaces"></a> <a href="https://replicate.com/cjwbw/audiosep"><img src="https://replicate.com/cjwbw/audiosep/badge" alt="Replicate"></a></p> <p>This repository contains the official implementation of <a href="https://audio-agi.github.io/Separate-Anything-You-Describe/AudioSep_arXiv.pdf">"Separate Anything You Describe"</a>.</p> <p>We introduce AudioSep, a foundation model for open-domain sound separation with natural language queries. AudioSep demonstrates strong separation performance and impressive zero-shot generalization ability on numerous tasks such as audio event separation, musical instrument separation, and speech enhancement. Check the separated audio examples in the <a href="https://audio-agi.github.io/Separate-Anything-You-Describe/">Demo Page</a>!</p> <p align="center"> <img align="middle" width="800" src="https://raw.githubusercontent.com/Audio-AGI/AudioSep/main/assets/results.png"> </p> <hr> <h2>TODO</h2> <ul> <li><input type="checkbox" checked disabled> AudioSep training &amp; finetuning code release.</li> <li><input type="checkbox" checked disabled> AudioSep base model checkpoint release.</li> <li><input type="checkbox" checked disabled> Evaluation benchmark release.</li> </ul> <hr> <h2>Setup</h2> <p>Clone the repository and setup the conda environment:</p> <pre><code class="language-shell">git clone https://github.com/Audio-AGI/AudioSep.git &amp;&amp; \ cd AudioSep &amp;&amp; \ conda env create -f environment.yml &amp;&amp; \ conda activate AudioSep </code></pre> <p>Download <a href="https://huggingface.co/spaces/Audio-AGI/AudioSep/tree/main/checkpoint">model weights</a> at <code>checkpoint/</code>.</p> <hr> <h2>Inference</h2> <pre><code class="language-python">from pipeline import build_audiosep, inference import torch device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') model = build_audiosep( config_yaml='config/audiosep_base.yaml', checkpoint_path='checkpoint/audiosep_base_4M_steps.ckpt', device=device) audio_file = 'path_to_audio_file' text = 'textual_description' output_file='separated_audio.wav' # AudioSep processes the audio at 32 kHz sampling rate inference(model, audio_file, text, output_file, device) </code></pre> <hr> <p>To load directly from Hugging Face, you can do the following:</p> <pre><code class="language-python">from models.audiosep import AudioSep from utils import get_ss_model import torch device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') ss_model = get_ss_model('config/audiosep_base.yaml') model = AudioSep.from_pretrained("nielsr/audiosep-demo", ss_model=ss_model) audio_file = 'path_to_audio_file' text = 'textual_description' output_file='separated_audio.wav' # AudioSep processes the audio at 32 kHz sampling rate inference(model, audio_file, text, output_file, device) </code></pre> <hr> <p>Use chunk-based inference to save memory:</p> <pre><code class="language-python">inference(model, audio_file, text, output_file, device, use_chunk=True) </code></pre> <h2>Training</h2> <p>To utilize your audio-text paired dataset:</p> <ol> <li> <p>Format your dataset to match our JSON structure. Refer to the provided template at <code>datafiles/template.json</code>.</p> </li> <li> <p>Update the <code>config/audiosep_base.yaml</code> file by listing your formatted JSON data files under <code>datafiles</code>. For example:</p> </li> </ol> <pre><code class="language-yaml">data: datafiles: - 'datafiles/your_datafile_1.json' - 'datafiles/your_datafile_2.json' ... </code></pre> <p>Train AudioSep from scatch:</p> <pre><code class="language-python">python train.py --workspace workspace/AudioSep --config_yaml config/audiosep_base.yaml --resume_checkpoint_path checkpoint/ '' </code></pre> <p>Finetune AudioSep from pretrained checkpoint:</p> <pre><code class="language-python">python train.py --workspace workspace/AudioSep --config_yaml config/audiosep_base.yaml --resume_checkpoint_path path_to_checkpoint </code></pre> <hr> <h2>Benchmark Evaluation</h2> <p>Download the <a href="https://drive.google.com/drive/folders/1PbCsuvdrzwAZZ_fwIzF0PeVGZkTk0-kL?usp=sharing">evaluation data</a> under the <code>evaluation/data</code> folder. The data should be organized as:</p> <pre><code class="language-yaml">evaluation: data: - audioset/ - audiocaps/ - vggsound/ - music/ - clotho/ - esc50/ </code></pre> <p>Run benchmark inference script, the results will be saved at <code>eval_logs/</code></p> <pre><code class="language-python">python benchmark.py --checkpoint_path audiosep_base_4M_steps.ckpt """ Evaluation Results: VGGSound Avg SDRi: 9.144, SISDR: 9.043 MUSIC Avg SDRi: 10.508, SISDR: 9.425 ESC-50 Avg SDRi: 10.040, SISDR: 8.810 AudioSet Avg SDRi: 7.739, SISDR: 6.903 AudioCaps Avg SDRi: 8.220, SISDR: 7.189 Clotho Avg SDRi: 6.850, SISDR: 5.242 """ </code></pre> <h2>Cite this work</h2> <p>If you found this tool useful, please consider citing</p> <pre><code class="language-bibtex">@article{liu2023separate, title={Separate Anything You Describe}, author={Liu, Xubo and Kong, Qiuqiang and Zhao, Yan and Liu, Haohe and Yuan, Yi and Liu, Yuzhuo and Xia, Rui and Wang, Yuxuan and Plumbley, Mark D and Wang, Wenwu}, journal={arXiv preprint arXiv:2308.05037}, year={2023} } </code></pre> <pre><code class="language-bibtex">@inproceedings{liu22w_interspeech, title={Separate What You Describe: Language-Queried Audio Source Separation}, author={Liu, Xubo and Liu, Haohe and Kong, Qiuqiang and Mei, Xinhao and Zhao, Jinzheng and Huang, Qiushi and Plumbley, Mark D and Wang, Wenwu}, year=2022, booktitle={Proc. Interspeech}, pages={1801--1805}, } </code></pre> - - \ No newline at end of file diff --git a/alloy/daily/index.xml b/alloy/daily/index.xml index 9be8e9c81e4..170d1f0b538 100644 --- a/alloy/daily/index.xml +++ b/alloy/daily/index.xml @@ -1,7 +1,7 @@ GitHub Alloy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:17Z + 2023-10-23T01:24:32Z Daily Trending of Alloy in GitHub \ No newline at end of file diff --git a/alloy/weekly/index.xml b/alloy/weekly/index.xml deleted file mode 100644 index 132b915213c..00000000000 --- a/alloy/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Alloy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:28Z - Weekly Trending of Alloy in GitHub - - \ No newline at end of file diff --git a/alpine-abuild/daily/index.xml b/alpine-abuild/daily/index.xml index 1a454768f50..d82f669b592 100644 --- a/alpine-abuild/daily/index.xml +++ b/alpine-abuild/daily/index.xml @@ -1,7 +1,7 @@ GitHub Alpine Abuild Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:14Z + 2023-10-23T01:24:33Z Daily Trending of Alpine Abuild in GitHub \ No newline at end of file diff --git a/alpine-abuild/weekly/index.xml b/alpine-abuild/weekly/index.xml deleted file mode 100644 index 903e4c62020..00000000000 --- a/alpine-abuild/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Alpine Abuild Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:27Z - Weekly Trending of Alpine Abuild in GitHub - - \ No newline at end of file diff --git a/altium-designer/daily/index.xml b/altium-designer/daily/index.xml index 609e71271b0..d8c162a2a87 100644 --- a/altium-designer/daily/index.xml +++ b/altium-designer/daily/index.xml @@ -1,7 +1,7 @@ GitHub Altium Designer Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:16Z + 2023-10-23T01:24:31Z Daily Trending of Altium Designer in GitHub \ No newline at end of file diff --git a/altium-designer/weekly/index.xml b/altium-designer/weekly/index.xml deleted file mode 100644 index e50f0971717..00000000000 --- a/altium-designer/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Altium Designer Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:30Z - Weekly Trending of Altium Designer in GitHub - - \ No newline at end of file diff --git a/ampl/daily/index.xml b/ampl/daily/index.xml index 49761e02752..72e4bb678a4 100644 --- a/ampl/daily/index.xml +++ b/ampl/daily/index.xml @@ -1,7 +1,7 @@ GitHub AMPL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:18Z + 2023-10-23T01:24:36Z Daily Trending of AMPL in GitHub \ No newline at end of file diff --git a/ampl/weekly/index.xml b/ampl/weekly/index.xml deleted file mode 100644 index 440fbd92210..00000000000 --- a/ampl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AMPL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:33Z - Weekly Trending of AMPL in GitHub - - \ No newline at end of file diff --git a/angelscript/daily/index.xml b/angelscript/daily/index.xml index d3d24b17381..e932747ecc7 100644 --- a/angelscript/daily/index.xml +++ b/angelscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub AngelScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:21Z + 2023-10-23T01:24:35Z Daily Trending of AngelScript in GitHub \ No newline at end of file diff --git a/angelscript/weekly/index.xml b/angelscript/weekly/index.xml deleted file mode 100644 index 3372712c2a9..00000000000 --- a/angelscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AngelScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:32Z - Weekly Trending of AngelScript in GitHub - - \ No newline at end of file diff --git a/ant-build-system/daily/index.xml b/ant-build-system/daily/index.xml index 702d29cb9dc..655adeac9a1 100644 --- a/ant-build-system/daily/index.xml +++ b/ant-build-system/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ant Build System Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:19Z + 2023-10-23T01:24:37Z Daily Trending of Ant Build System in GitHub \ No newline at end of file diff --git a/ant-build-system/weekly/index.xml b/ant-build-system/weekly/index.xml deleted file mode 100644 index c798800c543..00000000000 --- a/ant-build-system/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ant Build System Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:32Z - Weekly Trending of Ant Build System in GitHub - - \ No newline at end of file diff --git a/antlr/daily/index.xml b/antlr/daily/index.xml index bc20cb1429b..cc94f6b1369 100644 --- a/antlr/daily/index.xml +++ b/antlr/daily/index.xml @@ -1,7 +1,7 @@ GitHub ANTLR Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:25Z + 2023-10-23T01:24:41Z Daily Trending of ANTLR in GitHub \ No newline at end of file diff --git a/antlr/weekly/index.xml b/antlr/weekly/index.xml deleted file mode 100644 index 299cd1b5604..00000000000 --- a/antlr/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub ANTLR Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:38Z - Weekly Trending of ANTLR in GitHub - - - OP-TED/eForms-SDK - 2023-10-22T01:46:38Z - tag:github.com,2023-10-22:/OP-TED/eForms-SDK - - <p>eForms is the notification standard for public procurement procedures in the EU. The eForms SDK is a collection of resources providing the foundation for building eForms applications.</p><hr> - - \ No newline at end of file diff --git a/apacheconf/daily/index.xml b/apacheconf/daily/index.xml index dcbeef8ea98..c05d011052b 100644 --- a/apacheconf/daily/index.xml +++ b/apacheconf/daily/index.xml @@ -1,7 +1,7 @@ GitHub ApacheConf Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:22Z + 2023-10-23T01:24:38Z Daily Trending of ApacheConf in GitHub \ No newline at end of file diff --git a/apacheconf/weekly/index.xml b/apacheconf/weekly/index.xml deleted file mode 100644 index 745d46dbb73..00000000000 --- a/apacheconf/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ApacheConf Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:37Z - Weekly Trending of ApacheConf in GitHub - - \ No newline at end of file diff --git a/apex/daily/index.xml b/apex/daily/index.xml index cafac085cc8..0191e3e8ca9 100644 --- a/apex/daily/index.xml +++ b/apex/daily/index.xml @@ -1,7 +1,14 @@ GitHub Apex Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:23Z + 2023-10-23T01:24:40Z Daily Trending of Apex in GitHub + + navikt/crm-arbeidsgiver-kontakt-oss + 2023-10-23T01:24:40Z + tag:github.com,2023-10-23:/navikt/crm-arbeidsgiver-kontakt-oss + + <p>Skjema der arbeidsgivere kan gi beskjed til NAV at de ønsker kontakt.</p><hr> + \ No newline at end of file diff --git a/apex/weekly/index.xml b/apex/weekly/index.xml deleted file mode 100644 index 64c9bfea040..00000000000 --- a/apex/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Apex Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:36Z - Weekly Trending of Apex in GitHub - - - grizzleevelyn/231009_dev_clicked_template - 2023-10-22T01:46:36Z - tag:github.com,2023-10-22:/grizzleevelyn/231009_dev_clicked_template - - <p>The template classes for the October 9th, 2023 Clicked Sprint.</p><hr> - - \ No newline at end of file diff --git a/api-blueprint/daily/index.xml b/api-blueprint/daily/index.xml index 3907879b69f..2f74fb35621 100644 --- a/api-blueprint/daily/index.xml +++ b/api-blueprint/daily/index.xml @@ -1,7 +1,7 @@ GitHub API Blueprint Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:26Z + 2023-10-23T01:24:39Z Daily Trending of API Blueprint in GitHub \ No newline at end of file diff --git a/api-blueprint/weekly/index.xml b/api-blueprint/weekly/index.xml deleted file mode 100644 index 27eeb414740..00000000000 --- a/api-blueprint/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub API Blueprint Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:34Z - Weekly Trending of API Blueprint in GitHub - - \ No newline at end of file diff --git a/apl/daily/index.xml b/apl/daily/index.xml index 062160c2fbb..f7e48f7b1c9 100644 --- a/apl/daily/index.xml +++ b/apl/daily/index.xml @@ -1,7 +1,7 @@ GitHub APL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:28Z + 2023-10-23T01:24:42Z Daily Trending of APL in GitHub \ No newline at end of file diff --git a/apl/weekly/index.xml b/apl/weekly/index.xml deleted file mode 100644 index 9933e3992b9..00000000000 --- a/apl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub APL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:41Z - Weekly Trending of APL in GitHub - - \ No newline at end of file diff --git a/apollo-guidance-computer/daily/index.xml b/apollo-guidance-computer/daily/index.xml index a7e77e3a4a8..ec6c916a2d5 100644 --- a/apollo-guidance-computer/daily/index.xml +++ b/apollo-guidance-computer/daily/index.xml @@ -1,7 +1,7 @@ GitHub Apollo Guidance Computer Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:28Z + 2023-10-23T01:24:43Z Daily Trending of Apollo Guidance Computer in GitHub \ No newline at end of file diff --git a/apollo-guidance-computer/weekly/index.xml b/apollo-guidance-computer/weekly/index.xml deleted file mode 100644 index c90921a6e67..00000000000 --- a/apollo-guidance-computer/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Apollo Guidance Computer Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:39Z - Weekly Trending of Apollo Guidance Computer in GitHub - - \ No newline at end of file diff --git a/applescript/daily/index.xml b/applescript/daily/index.xml index 45c1e6ea5ec..d89f3e4cd01 100644 --- a/applescript/daily/index.xml +++ b/applescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub AppleScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:27Z + 2023-10-23T01:24:44Z Daily Trending of AppleScript in GitHub \ No newline at end of file diff --git a/applescript/weekly/index.xml b/applescript/weekly/index.xml deleted file mode 100644 index 53574479e18..00000000000 --- a/applescript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AppleScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:40Z - Weekly Trending of AppleScript in GitHub - - \ No newline at end of file diff --git a/arc/daily/index.xml b/arc/daily/index.xml index f4fc0a4b2e1..753ec3fa6e9 100644 --- a/arc/daily/index.xml +++ b/arc/daily/index.xml @@ -1,7 +1,7 @@ GitHub Arc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:29Z + 2023-10-23T01:24:45Z Daily Trending of Arc in GitHub \ No newline at end of file diff --git a/arc/weekly/index.xml b/arc/weekly/index.xml deleted file mode 100644 index 41da4c35a2a..00000000000 --- a/arc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Arc Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:41Z - Weekly Trending of Arc in GitHub - - \ No newline at end of file diff --git a/asciidoc/daily/index.xml b/asciidoc/daily/index.xml index 959ded9805e..ab51690586c 100644 --- a/asciidoc/daily/index.xml +++ b/asciidoc/daily/index.xml @@ -1,7 +1,7 @@ GitHub AsciiDoc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:32Z + 2023-10-23T01:24:46Z Daily Trending of AsciiDoc in GitHub \ No newline at end of file diff --git a/asciidoc/weekly/index.xml b/asciidoc/weekly/index.xml deleted file mode 100644 index 7b33648b69b..00000000000 --- a/asciidoc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AsciiDoc Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:44Z - Weekly Trending of AsciiDoc in GitHub - - \ No newline at end of file diff --git a/asl/daily/index.xml b/asl/daily/index.xml index 041b1d8f71f..3a06276bc81 100644 --- a/asl/daily/index.xml +++ b/asl/daily/index.xml @@ -1,7 +1,7 @@ GitHub ASL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:33Z + 2023-10-23T01:24:47Z Daily Trending of ASL in GitHub \ No newline at end of file diff --git a/asl/weekly/index.xml b/asl/weekly/index.xml deleted file mode 100644 index 02bd12d08ec..00000000000 --- a/asl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ASL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:43Z - Weekly Trending of ASL in GitHub - - \ No newline at end of file diff --git a/asn.1/daily/index.xml b/asn.1/daily/index.xml index 32c81b75d08..42e8318cefd 100644 --- a/asn.1/daily/index.xml +++ b/asn.1/daily/index.xml @@ -1,7 +1,7 @@ GitHub ASN.1 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:31Z + 2023-10-23T01:24:49Z Daily Trending of ASN.1 in GitHub \ No newline at end of file diff --git a/asn.1/weekly/index.xml b/asn.1/weekly/index.xml deleted file mode 100644 index 1dd0f0ddeb1..00000000000 --- a/asn.1/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ASN.1 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:43Z - Weekly Trending of ASN.1 in GitHub - - \ No newline at end of file diff --git a/asp.net/daily/index.xml b/asp.net/daily/index.xml index c55daafb243..63d19faedce 100644 --- a/asp.net/daily/index.xml +++ b/asp.net/daily/index.xml @@ -1,7 +1,7 @@ GitHub ASP.NET Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:36Z + 2023-10-23T01:24:50Z Daily Trending of ASP.NET in GitHub \ No newline at end of file diff --git a/asp.net/weekly/index.xml b/asp.net/weekly/index.xml deleted file mode 100644 index ba6b72bee93..00000000000 --- a/asp.net/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ASP.NET Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:48Z - Weekly Trending of ASP.NET in GitHub - - \ No newline at end of file diff --git a/aspectj/daily/index.xml b/aspectj/daily/index.xml index f2e83fe5ac3..4b390d83b45 100644 --- a/aspectj/daily/index.xml +++ b/aspectj/daily/index.xml @@ -1,7 +1,7 @@ GitHub AspectJ Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:35Z + 2023-10-23T01:24:51Z Daily Trending of AspectJ in GitHub \ No newline at end of file diff --git a/aspectj/weekly/index.xml b/aspectj/weekly/index.xml deleted file mode 100644 index ab3b24abce3..00000000000 --- a/aspectj/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AspectJ Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:47Z - Weekly Trending of AspectJ in GitHub - - \ No newline at end of file diff --git a/assembly/daily/index.xml b/assembly/daily/index.xml index 753d9e02325..2556815f7db 100644 --- a/assembly/daily/index.xml +++ b/assembly/daily/index.xml @@ -1,7 +1,28 @@ GitHub Assembly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:41Z + 2023-10-23T01:24:54Z Daily Trending of Assembly in GitHub + + EvanZhouDev/TheDonutProject + 2023-10-23T01:24:54Z + tag:github.com,2023-10-23:/EvanZhouDev/TheDonutProject + + <p>Making donut.c in every language.</p><hr> + + + l0psec/arm64_macOS_Syscalls + 2023-10-23T01:24:54Z + tag:github.com,2023-10-23:/l0psec/arm64_macOS_Syscalls + + <p></p><hr> + + + VegaASM/Waltress + 2023-10-23T01:24:54Z + tag:github.com,2023-10-23:/VegaASM/Waltress + + <p>100% Broadway compliant PPC Assembler completely handwritten in PPC</p><hr> + \ No newline at end of file diff --git a/assembly/weekly/index.xml b/assembly/weekly/index.xml deleted file mode 100644 index ae5a8ca4a53..00000000000 --- a/assembly/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Assembly Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:52Z - Weekly Trending of Assembly in GitHub - - - newridho/Halo-Dunia23 - 2023-10-22T01:46:52Z - tag:github.com,2023-10-22:/newridho/Halo-Dunia23 - - <p>Hello World in multiple programming languages | Hacktoberfest 2023 repository</p><hr> - - - securifybv/BOFRyptor - 2023-10-22T01:46:52Z - tag:github.com,2023-10-22:/securifybv/BOFRyptor - - <p></p><hr> - - - OS2World/DRV-Rodent - 2023-10-22T01:46:52Z - tag:github.com,2023-10-22:/OS2World/DRV-Rodent - - <p>Mouse driver for OS/2 and eComStation</p><hr> - - \ No newline at end of file diff --git a/astro/daily/index.xml b/astro/daily/index.xml index 028cbbb4abe..3adea15504a 100644 --- a/astro/daily/index.xml +++ b/astro/daily/index.xml @@ -1,7 +1,28 @@ GitHub Astro Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:38Z + 2023-10-23T01:24:57Z Daily Trending of Astro in GitHub + + hackclub/halo + 2023-10-23T01:24:57Z + tag:github.com,2023-10-23:/hackclub/halo + + <p>A Day of Service Event in LA with the Girl Scouts of Greater Los Angeles!</p><hr> + + + danramteke/danramteke.github.com + 2023-10-23T01:24:57Z + tag:github.com,2023-10-23:/danramteke/danramteke.github.com + + <p>My GitHub Pages.</p><hr> + + + USKhokhar/fehrist + 2023-10-23T01:24:57Z + tag:github.com,2023-10-23:/USKhokhar/fehrist + + <p>An open-source collection of synopses collected by book lovers, for book lovers... [ACCEPTING PRs FOR HACKTOBERFEST]</p><hr> + \ No newline at end of file diff --git a/astro/weekly/index.xml b/astro/weekly/index.xml deleted file mode 100644 index ee0b4833ed9..00000000000 --- a/astro/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Astro Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:50Z - Weekly Trending of Astro in GitHub - - - creatorsgarten/open.source.in.th - 2023-10-22T01:46:50Z - tag:github.com,2023-10-22:/creatorsgarten/open.source.in.th - - <p>Bangkok Open Source Festival '23</p><hr> - - - NebulaServices/Noctura - 2023-10-22T01:46:50Z - tag:github.com,2023-10-22:/NebulaServices/Noctura - - <p>The blazing fast solution to internet censorship. Access blocked websites with ease while maintaining anonymity and security.</p><hr> - - \ No newline at end of file diff --git a/asymptote/daily/index.xml b/asymptote/daily/index.xml index 522e0da7106..668a4e2c8fc 100644 --- a/asymptote/daily/index.xml +++ b/asymptote/daily/index.xml @@ -1,7 +1,7 @@ GitHub Asymptote Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:42Z + 2023-10-23T01:24:59Z Daily Trending of Asymptote in GitHub \ No newline at end of file diff --git a/asymptote/weekly/index.xml b/asymptote/weekly/index.xml deleted file mode 100644 index 5f7314f22d9..00000000000 --- a/asymptote/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Asymptote Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:53Z - Weekly Trending of Asymptote in GitHub - - \ No newline at end of file diff --git a/ats/daily/index.xml b/ats/daily/index.xml index c2e7e1aaa40..a5d2a4766b4 100644 --- a/ats/daily/index.xml +++ b/ats/daily/index.xml @@ -1,7 +1,7 @@ GitHub ATS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:44Z + 2023-10-23T01:25:01Z Daily Trending of ATS in GitHub \ No newline at end of file diff --git a/ats/weekly/index.xml b/ats/weekly/index.xml deleted file mode 100644 index a44f376bd92..00000000000 --- a/ats/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ATS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:55Z - Weekly Trending of ATS in GitHub - - \ No newline at end of file diff --git a/augeas/daily/index.xml b/augeas/daily/index.xml index 8a49d03d88e..9ad660f4e5a 100644 --- a/augeas/daily/index.xml +++ b/augeas/daily/index.xml @@ -1,7 +1,7 @@ GitHub Augeas Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:43Z + 2023-10-23T01:24:58Z Daily Trending of Augeas in GitHub \ No newline at end of file diff --git a/augeas/weekly/index.xml b/augeas/weekly/index.xml deleted file mode 100644 index c3c965d9f93..00000000000 --- a/augeas/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Augeas Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:54Z - Weekly Trending of Augeas in GitHub - - \ No newline at end of file diff --git a/autohotkey/daily/index.xml b/autohotkey/daily/index.xml index 43fc9d01bee..5a6082316ab 100644 --- a/autohotkey/daily/index.xml +++ b/autohotkey/daily/index.xml @@ -1,7 +1,7 @@ GitHub AutoHotkey Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:45Z + 2023-10-23T01:25:00Z Daily Trending of AutoHotkey in GitHub \ No newline at end of file diff --git a/autohotkey/weekly/index.xml b/autohotkey/weekly/index.xml deleted file mode 100644 index aaa910610dc..00000000000 --- a/autohotkey/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AutoHotkey Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:56Z - Weekly Trending of AutoHotkey in GitHub - - \ No newline at end of file diff --git a/autoit/daily/index.xml b/autoit/daily/index.xml index 9d4a1ef62e0..ca4bce3c089 100644 --- a/autoit/daily/index.xml +++ b/autoit/daily/index.xml @@ -1,7 +1,7 @@ GitHub AutoIt Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:49Z + 2023-10-23T01:25:05Z Daily Trending of AutoIt in GitHub \ No newline at end of file diff --git a/autoit/weekly/index.xml b/autoit/weekly/index.xml deleted file mode 100644 index 726753886d4..00000000000 --- a/autoit/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub AutoIt Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:59Z - Weekly Trending of AutoIt in GitHub - - - acalcutt/Vistumbler - 2023-10-22T01:46:59Z - tag:github.com,2023-10-22:/acalcutt/Vistumbler - - <p>A wireless network scanner written in AutoIT for Windows 10, 8, 7, and vista. VistumblerMDB is the current version of Vistumbler.</p><hr> - - \ No newline at end of file diff --git a/avro-idl/daily/index.xml b/avro-idl/daily/index.xml index a179319e6e1..1b97e6c3524 100644 --- a/avro-idl/daily/index.xml +++ b/avro-idl/daily/index.xml @@ -1,7 +1,7 @@ GitHub Avro IDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:46Z + 2023-10-23T01:25:03Z Daily Trending of Avro IDL in GitHub \ No newline at end of file diff --git a/avro-idl/weekly/index.xml b/avro-idl/weekly/index.xml deleted file mode 100644 index 715f0171d8e..00000000000 --- a/avro-idl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Avro IDL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:00Z - Weekly Trending of Avro IDL in GitHub - - \ No newline at end of file diff --git a/awk/daily/index.xml b/awk/daily/index.xml index 35797752288..085ae0bbb5a 100644 --- a/awk/daily/index.xml +++ b/awk/daily/index.xml @@ -1,7 +1,7 @@ GitHub Awk Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:48Z + 2023-10-23T01:25:04Z Daily Trending of Awk in GitHub \ No newline at end of file diff --git a/awk/weekly/index.xml b/awk/weekly/index.xml deleted file mode 100644 index feeac36fbc6..00000000000 --- a/awk/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Awk Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:01Z - Weekly Trending of Awk in GitHub - - \ No newline at end of file diff --git a/ballerina/daily/index.xml b/ballerina/daily/index.xml index 0e6874ac5fc..4d10e42010a 100644 --- a/ballerina/daily/index.xml +++ b/ballerina/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ballerina Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:47Z + 2023-10-23T01:25:02Z Daily Trending of Ballerina in GitHub \ No newline at end of file diff --git a/ballerina/weekly/index.xml b/ballerina/weekly/index.xml deleted file mode 100644 index f4a48c6c17c..00000000000 --- a/ballerina/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ballerina Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:58Z - Weekly Trending of Ballerina in GitHub - - \ No newline at end of file diff --git a/basic/daily/index.xml b/basic/daily/index.xml index e81e39689bc..9ca028305fe 100644 --- a/basic/daily/index.xml +++ b/basic/daily/index.xml @@ -1,7 +1,14 @@ GitHub BASIC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:51Z + 2023-10-23T01:25:08Z Daily Trending of BASIC in GitHub + + TheRenegadeCoder/sample-programs + 2023-10-23T01:25:08Z + tag:github.com,2023-10-23:/TheRenegadeCoder/sample-programs + + <p>Sample Programs in Every Programming Language</p><hr> + \ No newline at end of file diff --git a/basic/weekly/index.xml b/basic/weekly/index.xml deleted file mode 100644 index 18a7cf6164c..00000000000 --- a/basic/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub BASIC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:02Z - Weekly Trending of BASIC in GitHub - - \ No newline at end of file diff --git a/batchfile/daily/index.xml b/batchfile/daily/index.xml index b27e94aeca8..87abbddc18e 100644 --- a/batchfile/daily/index.xml +++ b/batchfile/daily/index.xml @@ -1,14 +1,7 @@ GitHub Batchfile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:55Z + 2023-10-23T01:25:12Z Daily Trending of Batchfile in GitHub - - tsgrgo/windows-update-disabler - 2023-10-22T01:27:55Z - tag:github.com,2023-10-22:/tsgrgo/windows-update-disabler - - <p>Disable Windows update with a lightweight batch tool.</p><hr> - \ No newline at end of file diff --git a/batchfile/weekly/index.xml b/batchfile/weekly/index.xml deleted file mode 100644 index 76a269aa27f..00000000000 --- a/batchfile/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Batchfile Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:07Z - Weekly Trending of Batchfile in GitHub - - - rhwong/qsign-onekey - 2023-10-22T01:47:07Z - tag:github.com,2023-10-22:/rhwong/qsign-onekey - - <p>用于一键在Windows下启动qsign的脚本</p><hr> - - - Alex313031/Thorium-Win - 2023-10-22T01:47:07Z - tag:github.com,2023-10-22:/Alex313031/Thorium-Win - - <p>Chromium fork for Windows named after radioactive element No. 90; Windows builds of https://github.com/Alex313031/Thorium</p><hr> - - - Dymerz/StarCitizen-Localization - 2023-10-22T01:47:07Z - tag:github.com,2023-10-22:/Dymerz/StarCitizen-Localization - - <p>Language File Installation Guide</p><hr> - - \ No newline at end of file diff --git a/beef/daily/index.xml b/beef/daily/index.xml index 779c721e402..a2e363b11d8 100644 --- a/beef/daily/index.xml +++ b/beef/daily/index.xml @@ -1,7 +1,7 @@ GitHub Beef Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:50Z + 2023-10-23T01:25:08Z Daily Trending of Beef in GitHub \ No newline at end of file diff --git a/beef/weekly/index.xml b/beef/weekly/index.xml deleted file mode 100644 index 06faa71fdae..00000000000 --- a/beef/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Beef Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:03Z - Weekly Trending of Beef in GitHub - - \ No newline at end of file diff --git a/befunge/daily/index.xml b/befunge/daily/index.xml index 7cbd7948e04..59c09d7887a 100644 --- a/befunge/daily/index.xml +++ b/befunge/daily/index.xml @@ -1,7 +1,7 @@ GitHub Befunge Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:52Z + 2023-10-23T01:25:07Z Daily Trending of Befunge in GitHub \ No newline at end of file diff --git a/befunge/weekly/index.xml b/befunge/weekly/index.xml deleted file mode 100644 index fdbf32a0c29..00000000000 --- a/befunge/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Befunge Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:04Z - Weekly Trending of Befunge in GitHub - - \ No newline at end of file diff --git a/berry/daily/index.xml b/berry/daily/index.xml index 627e75b33ce..8c0148ae283 100644 --- a/berry/daily/index.xml +++ b/berry/daily/index.xml @@ -1,7 +1,7 @@ GitHub Berry Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:00Z + 2023-10-23T01:25:13Z Daily Trending of Berry in GitHub \ No newline at end of file diff --git a/berry/weekly/index.xml b/berry/weekly/index.xml deleted file mode 100644 index f8779a76e94..00000000000 --- a/berry/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Berry Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:10Z - Weekly Trending of Berry in GitHub - - \ No newline at end of file diff --git a/bibtex/daily/index.xml b/bibtex/daily/index.xml index 980a291841b..7205881ddca 100644 --- a/bibtex/daily/index.xml +++ b/bibtex/daily/index.xml @@ -1,7 +1,7 @@ GitHub BibTeX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:59Z + 2023-10-23T01:25:14Z Daily Trending of BibTeX in GitHub \ No newline at end of file diff --git a/bibtex/weekly/index.xml b/bibtex/weekly/index.xml deleted file mode 100644 index 9ff58cf65ba..00000000000 --- a/bibtex/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub BibTeX Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:08Z - Weekly Trending of BibTeX in GitHub - - \ No newline at end of file diff --git a/bicep/daily/index.xml b/bicep/daily/index.xml index 1e9d0110468..d2ba5cfb331 100644 --- a/bicep/daily/index.xml +++ b/bicep/daily/index.xml @@ -1,7 +1,7 @@ GitHub Bicep Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:27:58Z + 2023-10-23T01:25:16Z Daily Trending of Bicep in GitHub \ No newline at end of file diff --git a/bicep/weekly/index.xml b/bicep/weekly/index.xml deleted file mode 100644 index 94f6a511ca5..00000000000 --- a/bicep/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Bicep Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:13Z - Weekly Trending of Bicep in GitHub - - - Azure/sovereign-landing-zone - 2023-10-22T01:47:13Z - tag:github.com,2023-10-22:/Azure/sovereign-landing-zone - - <p></p><hr> - - \ No newline at end of file diff --git a/bison/daily/index.xml b/bison/daily/index.xml index 370117b5222..d82b32de067 100644 --- a/bison/daily/index.xml +++ b/bison/daily/index.xml @@ -1,7 +1,7 @@ GitHub Bison Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:02Z + 2023-10-23T01:25:17Z Daily Trending of Bison in GitHub \ No newline at end of file diff --git a/bison/weekly/index.xml b/bison/weekly/index.xml deleted file mode 100644 index 99e8768acf5..00000000000 --- a/bison/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Bison Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:15Z - Weekly Trending of Bison in GitHub - - \ No newline at end of file diff --git a/bitbake/daily/index.xml b/bitbake/daily/index.xml index 89539169f56..d8dc5585253 100644 --- a/bitbake/daily/index.xml +++ b/bitbake/daily/index.xml @@ -1,7 +1,7 @@ GitHub BitBake Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:05Z + 2023-10-23T01:25:20Z Daily Trending of BitBake in GitHub \ No newline at end of file diff --git a/bitbake/weekly/index.xml b/bitbake/weekly/index.xml deleted file mode 100644 index a8d64fbbc4b..00000000000 --- a/bitbake/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub BitBake Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:17Z - Weekly Trending of BitBake in GitHub - - \ No newline at end of file diff --git a/blade/daily/index.xml b/blade/daily/index.xml index 6144b7cd3da..cd6b6ab6c92 100644 --- a/blade/daily/index.xml +++ b/blade/daily/index.xml @@ -1,7 +1,7 @@ GitHub Blade Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:03Z + 2023-10-23T01:25:21Z Daily Trending of Blade in GitHub \ No newline at end of file diff --git a/blade/weekly/index.xml b/blade/weekly/index.xml deleted file mode 100644 index c00525013f5..00000000000 --- a/blade/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Blade Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:18Z - Weekly Trending of Blade in GitHub - - - tallstackui/tallstackui - 2023-10-22T01:47:18Z - tag:github.com,2023-10-22:/tallstackui/tallstackui - - <p>New generation of TALL Stack Components.</p><hr> - - \ No newline at end of file diff --git a/blitzbasic/daily/index.xml b/blitzbasic/daily/index.xml index 22a785747bd..cb4251a3353 100644 --- a/blitzbasic/daily/index.xml +++ b/blitzbasic/daily/index.xml @@ -1,7 +1,7 @@ GitHub BlitzBasic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:01Z + 2023-10-23T01:25:18Z Daily Trending of BlitzBasic in GitHub \ No newline at end of file diff --git a/blitzbasic/weekly/index.xml b/blitzbasic/weekly/index.xml deleted file mode 100644 index 6ffde5fb465..00000000000 --- a/blitzbasic/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub BlitzBasic Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:14Z - Weekly Trending of BlitzBasic in GitHub - - \ No newline at end of file diff --git a/blitzmax/daily/index.xml b/blitzmax/daily/index.xml index c8bc9f097ed..2d04f56ae44 100644 --- a/blitzmax/daily/index.xml +++ b/blitzmax/daily/index.xml @@ -1,7 +1,7 @@ GitHub BlitzMax Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:06Z + 2023-10-23T01:25:25Z Daily Trending of BlitzMax in GitHub \ No newline at end of file diff --git a/blitzmax/weekly/index.xml b/blitzmax/weekly/index.xml deleted file mode 100644 index 3b1ce5fc0d1..00000000000 --- a/blitzmax/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub BlitzMax Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:20Z - Weekly Trending of BlitzMax in GitHub - - \ No newline at end of file diff --git a/bluespec/daily/index.xml b/bluespec/daily/index.xml index f4bf97d80ec..bfe8d06c8bb 100644 --- a/bluespec/daily/index.xml +++ b/bluespec/daily/index.xml @@ -1,7 +1,7 @@ GitHub Bluespec Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:08Z + 2023-10-23T01:25:23Z Daily Trending of Bluespec in GitHub \ No newline at end of file diff --git a/bluespec/weekly/index.xml b/bluespec/weekly/index.xml deleted file mode 100644 index ebd8460899e..00000000000 --- a/bluespec/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Bluespec Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:21Z - Weekly Trending of Bluespec in GitHub - - \ No newline at end of file diff --git a/boo/daily/index.xml b/boo/daily/index.xml index 968cb6e3dc1..ba246c8378b 100644 --- a/boo/daily/index.xml +++ b/boo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Boo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:07Z + 2023-10-23T01:25:23Z Daily Trending of Boo in GitHub \ No newline at end of file diff --git a/boo/weekly/index.xml b/boo/weekly/index.xml deleted file mode 100644 index d872165274e..00000000000 --- a/boo/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Boo Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:23Z - Weekly Trending of Boo in GitHub - - \ No newline at end of file diff --git a/boogie/daily/index.xml b/boogie/daily/index.xml index 9a5a9855eb6..306f551aff6 100644 --- a/boogie/daily/index.xml +++ b/boogie/daily/index.xml @@ -1,7 +1,7 @@ GitHub Boogie Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:12Z + 2023-10-23T01:25:28Z Daily Trending of Boogie in GitHub \ No newline at end of file diff --git a/boogie/weekly/index.xml b/boogie/weekly/index.xml deleted file mode 100644 index a4b74733f0a..00000000000 --- a/boogie/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Boogie Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:26Z - Weekly Trending of Boogie in GitHub - - \ No newline at end of file diff --git a/brainfuck/daily/index.xml b/brainfuck/daily/index.xml index 9ad1c6f6909..525f95c9c4c 100644 --- a/brainfuck/daily/index.xml +++ b/brainfuck/daily/index.xml @@ -1,7 +1,7 @@ GitHub Brainfuck Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:13Z + 2023-10-23T01:25:26Z Daily Trending of Brainfuck in GitHub \ No newline at end of file diff --git a/brainfuck/weekly/index.xml b/brainfuck/weekly/index.xml deleted file mode 100644 index 67150225486..00000000000 --- a/brainfuck/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Brainfuck Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:27Z - Weekly Trending of Brainfuck in GitHub - - \ No newline at end of file diff --git a/brightscript/daily/index.xml b/brightscript/daily/index.xml index 114fa34f7ce..fa32545a636 100644 --- a/brightscript/daily/index.xml +++ b/brightscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub Brightscript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:10Z + 2023-10-23T01:25:27Z Daily Trending of Brightscript in GitHub \ No newline at end of file diff --git a/brightscript/weekly/index.xml b/brightscript/weekly/index.xml deleted file mode 100644 index 5f08c32f60a..00000000000 --- a/brightscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Brightscript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:24Z - Weekly Trending of Brightscript in GitHub - - \ No newline at end of file diff --git a/browserslist/daily/index.xml b/browserslist/daily/index.xml index e8a513b1e19..8fdfd1863c1 100644 --- a/browserslist/daily/index.xml +++ b/browserslist/daily/index.xml @@ -1,7 +1,7 @@ GitHub Browserslist Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:14Z + 2023-10-23T01:25:31Z Daily Trending of Browserslist in GitHub \ No newline at end of file diff --git a/browserslist/weekly/index.xml b/browserslist/weekly/index.xml deleted file mode 100644 index 75a739fa863..00000000000 --- a/browserslist/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Browserslist Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:29Z - Weekly Trending of Browserslist in GitHub - - \ No newline at end of file diff --git a/c%23/daily/index.xml b/c%23/daily/index.xml index ac6247bea29..e4ad14c3ec2 100644 --- a/c%23/daily/index.xml +++ b/c%23/daily/index.xml @@ -1,21 +1,14 @@ GitHub C# Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:30Z + 2023-10-23T01:25:45Z Daily Trending of C# in GitHub - microsoft/kernel-memory - 2023-10-22T01:28:30Z - tag:github.com,2023-10-22:/microsoft/kernel-memory - - <p>Index and query any data using LLM and natural language, tracking sources and showing citations.</p><hr><h1>Kernel Memory</h1> <p><strong>Kernel Memory</strong> (KM) is an open-source <a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/dotnet/Service/README.md">service</a> and <a href="https://www.microsoft.com/en-us/microsoft-365/blog/2023/05/23/empowering-every-developer-with-plugins-for-microsoft-365-copilot/">plugin</a> specialized in the efficient indexing of datasets through custom continuous data hybrid pipelines. For some scenarios KM is also available as a library, and soon as a Docker container.</p> <p><img src="https://github.com/microsoft/kernel-memory/assets/371009/31894afa-d19e-4e9b-8d0f-cb889bf5c77f" alt="image"></p> <p>Utilizing advanced embeddings and LLMs, the system enables Natural Language querying for obtaining answers from the indexed data, complete with citations and links to the original sources.</p> <p><img src="https://github.com/microsoft/kernel-memory/assets/371009/c5f0f6c3-814f-45bf-b055-063f23ed80ea" alt="image"></p> <p>Designed for seamless integration as a Plugin with <a href="https://github.com/microsoft/semantic-kernel">Semantic Kernel</a>, Microsoft Copilot and ChatGPT, Kernel Memory enhances data-driven features in applications built for most popular AI platforms.</p> <h3>Supported backends</h3> <ul> <li>↗️ Vector storage <ul> <li>Azure Cognitive Search</li> <li>Qdrant</li> </ul> </li> <li>📀 Content storage <ul> <li>Azure Blobs</li> <li>Local file system</li> </ul> </li> <li>⏳ Asynchronous ingestion queues <ul> <li>Azure Queues</li> <li>RabbitMQ</li> <li>Local file based queue</li> </ul> </li> </ul> <blockquote> <p>ℹ️ <strong>NOTE</strong>: the documentation below is work in progress, will evolve quickly as is not fully functional yet.</p> </blockquote> <h1>Kernel Memory in serverless mode</h1> <p>Kernel Memory works and scales at best when running as a service, allowing to ingest thousands of documents and information without blocking your app.</p> <p>However, you can use Kernel Memory also serverless, embedding the <code>MemoryServerlessClient</code> in your app.</p> <blockquote> <h3>Importing documents into your Kernel Memory can be as simple as this:</h3> <pre><code class="language-csharp">var memory = new MemoryClientBuilder() .WithOpenAIDefaults(Env.Var("OPENAI_API_KEY")) .Build(); // Import a file await memory.ImportDocumentAsync("meeting-transcript.docx", tags: new() { { "user", "Blake" } }); // Import multiple files and apply multiple tags await memory.ImportDocumentAsync(new Document("file001") .AddFile("business-plan.docx") .AddFile("project-timeline.pdf") .AddTag("user", "Blake") .AddTag("collection", "business") .AddTag("collection", "plans") .AddTag("fiscalYear", "2023")); </code></pre> </blockquote> <blockquote> <h3>Asking questions:</h3> <pre><code class="language-csharp">var answer1 = await memory.AskAsync("How many people attended the meeting?"); var answer2 = await memory.AskAsync("what's the project timeline?", filter: new MemoryFilter().ByTag("user", "Blake")); </code></pre> </blockquote> <p>The code leverages the default documents ingestion pipeline:</p> <ol> <li>Extract text: recognize the file format and extract the information</li> <li>Partition the text in small chunks, to optimize search</li> <li>Extract embedding using an LLM embedding generator</li> <li>Save embedding into a vector index such as <a href="https://learn.microsoft.com/en-us/azure/search/vector-search-overview">Azure Cognitive Search</a>, <a href="https://qdrant.tech/">Qdrant</a> or other DBs.</li> </ol> <p>Documents are organized by users, safeguarding their private information. Furthermore, memories can be categorized and structured using <strong>tags</strong>, enabling efficient search and retrieval through faceted navigation.</p> <h1>Data lineage, citations</h1> <p>All memories and answers are fully correlated to the data provided. When producing an answer, Kernel Memory includes all the information needed to verify its accuracy:</p> <pre><code class="language-csharp">await memory.ImportFileAsync("NASA-news.pdf"); var answer = await memory.AskAsync("Any news from NASA about Orion?"); Console.WriteLine(answer.Result + "/n"); foreach (var x in answer.RelevantSources) { Console.WriteLine($" * {x.SourceName} -- {x.Partitions.First().LastUpdate:D}"); } </code></pre> <blockquote> <p>Yes, there is news from NASA about the Orion spacecraft. NASA has invited the media to see a new test version of the Orion spacecraft and the hardware that will be used to recover the capsule and astronauts upon their return from space during the Artemis II mission. The event is scheduled to take place at Naval Base San Diego on Wednesday, August 2, at 11 a.m. PDT. Personnel from NASA, the U.S. Navy, and the U.S. Air Force will be available to speak with the media. Teams are currently conducting tests in the Pacific Ocean to demonstrate and evaluate the processes, procedures, and hardware for recovery operations for crewed Artemis missions. These tests will help prepare the team for Artemis II, which will be NASA's first crewed mission under the Artemis program. The Artemis II crew, consisting of NASA astronauts Reid Wiseman, Victor Glover, and Christina Koch, and Canadian Space Agency astronaut Jeremy Hansen, will participate in recovery testing at sea next year. For more information about the Artemis program, you can visit the NASA website.</p> <ul> <li><strong>NASA-news.pdf -- Tuesday, August 1, 2023</strong></li> </ul> </blockquote> <h2>Using Kernel Memory Service</h2> <p>Depending on your scenarios, you might want to run all the code <strong>locally inside your process, or remotely through an asynchronous service.</strong></p> <p>If you're importing small files, and need only C# or only Python, and can block the process during the import, local-in-process execution can be fine, using the <strong>MemoryServerlessClient</strong> seen above.</p> <p>However, if you are in one of these scenarios:</p> <ul> <li>I'd just like a web service to import data and send queries to answer</li> <li>My app is written in <strong>TypeScript, Java, Rust, or some other language</strong></li> <li>I want to define <strong>custom pipelines mixing multiple languages</strong> like Python, TypeScript, etc</li> <li>I'm importing <strong>big documents that can require minutes to process</strong>, and I don't want to block the user interface</li> <li>I need memory import to <strong>run independently, supporting failures and retry logic</strong></li> </ul> <p>then you can deploy Kernel Memory as a service, plugging in the default handlers or your custom Python/TypeScript/Java/etc. handlers, and leveraging the asynchronous non-blocking memory encoding process, sending documents and asking questions using the <strong>MemoryWebClient</strong>.</p> <p><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/dotnet/Service/README.md">Here</a> you can find a complete set of instruction about <a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/dotnet/Service/README.md">how to run the Kernel Memory service</a>.</p> <p>If you want to give the service a quick test, use the following command to <strong>start the Kernel Memory Service</strong>:</p> <blockquote> <h3>On WSL / Linux / MacOS:</h3> <pre><code class="language-shell">cd dotnet/Service ./setup.sh ./run.sh </code></pre> </blockquote> <blockquote> <h3>On Windows:</h3> <pre><code class="language-shell">cd dotnet\Service setup.cmd run.cmd </code></pre> </blockquote> <blockquote> <h3>To import files using Kernel Memory <strong>web service</strong>, use <code>MemoryWebClient</code>:</h3> <pre><code class="language-csharp">#reference dotnet/ClientLib/ClientLib.csproj var memory = new MemoryWebClient("http://127.0.0.1:9001"); // &lt;== URL where the web service is running // Import a file (default user) await memory.ImportDocumentAsync("meeting-transcript.docx"); // Import a file specifying a Document ID, User and Tags await memory.ImportDocumentAsync("business-plan.docx", new DocumentDetails("user@some.email", "file001") .AddTag("collection", "business") .AddTag("collection", "plans") .AddTag("fiscalYear", "2023")); </code></pre> </blockquote> <blockquote> <h3>Getting answers via the web service</h3> <pre><code>curl http://127.0.0.1:9001/ask -d'{"query":"Any news from NASA about Orion?"}' -H 'Content-Type: application/json' </code></pre> <pre><code class="language-json">{ "Query": "Any news from NASA about Orion?", "Text": "Yes, there is news from NASA about the Orion spacecraft. NASA has invited the media to see a new test version of the Orion spacecraft and the hardware that will be used to recover the capsule and astronauts upon their return from space during the Artemis II mission. The event is scheduled to take place at Naval Base San Diego on August 2nd at 11 a.m. PDT. Personnel from NASA, the U.S. Navy, and the U.S. Air Force will be available to speak with the media. Teams are currently conducting tests in the Pacific Ocean to demonstrate and evaluate the processes, procedures, and hardware for recovery operations for crewed Artemis missions. These tests will help prepare the team for Artemis II, which will be NASA's first crewed mission under the Artemis program. The Artemis II crew, consisting of NASA astronauts Reid Wiseman, Victor Glover, and Christina Koch, and Canadian Space Agency astronaut Jeremy Hansen, will participate in recovery testing at sea next year. For more information about the Artemis program, you can visit the NASA website.", "RelevantSources": [ { "Link": "...", "SourceContentType": "application/pdf", "SourceName": "file5-NASA-news.pdf", "Partitions": [ { "Text": "Skip to main content\nJul 28, 2023\nMEDIA ADVISORY M23-095\nNASA Invites Media to See Recovery Craft for\nArtemis Moon Mission\n(/sites/default/files/thumbnails/image/ksc-20230725-ph-fmx01_0003orig.jpg)\nAboard the USS John P. Murtha, NASA and Department of Defense personnel practice recovery operations for Artemis II in July. A\ncrew module test article is used to help verify the recovery team will be ready to recovery the Artemis II crew and the Orion spacecraft.\nCredits: NASA/Frank Michaux\nMedia are invited to see the new test version of NASA’s Orion spacecraft and the hardware teams will use\nto recover the capsule and astronauts upon their return from space during the Artemis II\n(http://www.nasa.gov/artemis-ii) mission. The event will take place at 11 a.m. PDT on Wednesday, Aug. 2,\nat Naval Base San Diego.\nPersonnel involved in recovery operations from NASA, the U.S. Navy, and the U.S. Air Force will be\navailable to speak with media.\nU.S. media interested in attending must RSVP by 4&nbsp;p.m., Monday, July 31, to the Naval Base San Diego\nPublic Affairs (mailto:nbsd.pao@us.navy.mil) or 619-556-7359.\nOrion Spacecraft (/exploration/systems/orion/index.html)\nNASA Invites Media to See Recovery Craft for Artemis Moon Miss... https://www.nasa.gov/press-release/nasa-invites-media-to-see-recov...\n1 of 3 7/28/23, 4:51 PMTeams are currently conducting the first in a series of tests in the Pacific Ocean to demonstrate and\nevaluate the processes, procedures, and hardware for recovery operations (https://www.nasa.gov\n/exploration/systems/ground/index.html) for crewed Artemis missions. The tests will help prepare the\nteam for Artemis II, NASA’s first crewed mission under Artemis that will send four astronauts in Orion\naround the Moon to checkout systems ahead of future lunar missions.\nThe Artemis II crew – NASA astronauts Reid Wiseman, Victor Glover, and Christina Koch, and CSA\n(Canadian Space Agency) astronaut Jeremy Hansen – will participate in recovery testing at sea next year.\nFor more information about Artemis, visit:\nhttps://www.nasa.gov/artemis (https://www.nasa.gov/artemis)\n-end-\nRachel Kraft\nHeadquarters, Washington\n202-358-1100\nrachel.h.kraft@nasa.gov (mailto:rachel.h.kraft@nasa.gov)\nMadison Tuttle\nKennedy Space Center, Florida\n321-298-5868\nmadison.e.tuttle@nasa.gov (mailto:madison.e.tuttle@nasa.gov)\nLast Updated: Jul 28, 2023\nEditor: Claire O’Shea\nTags:&nbsp; Artemis (/artemisprogram),Ground Systems (http://www.nasa.gov/exploration/systems/ground\n/index.html),Kennedy Space Center (/centers/kennedy/home/index.html),Moon to Mars (/topics/moon-to-\nmars/),Orion Spacecraft (/exploration/systems/orion/index.html)\nNASA Invites Media to See Recovery Craft for Artemis Moon Miss... https://www.nasa.gov/press-release/nasa-invites-media-to-see-recov...\n2 of 3 7/28/23, 4:51 PM", "Relevance": 0.8430657, "SizeInTokens": 863, "LastUpdate": "2023-08-01T08:15:02-07:00" } ] } ] } </code></pre> </blockquote> <p>You can find a <a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/examples/002-dotnet-WebClient/README.md">full example here</a>.</p> <h2>Custom memory ingestion pipelines</h2> <p>On the other hand, if you need a custom data pipeline, you can also customize the steps, which will be handled by your custom business logic:</p> <pre><code class="language-csharp">// Memory setup, e.g. how to calculate and where to store embeddings var memoryBuilder = new MemoryClientBuilder().WithOpenAIDefaults(Env.Var("OPENAI_API_KEY")); memoryBuilder.Build(); var orchestrator = memoryBuilder.GetOrchestrator(); // Define custom .NET handlers var step1 = new MyHandler1("step1", orchestrator); var step2 = new MyHandler2("step2", orchestrator); var step3 = new MyHandler3("step3", orchestrator); await orchestrator.AddHandlerAsync(step1); await orchestrator.AddHandlerAsync(step2); await orchestrator.AddHandlerAsync(step3); // Instantiate a custom pipeline var pipeline = orchestrator .PrepareNewFileUploadPipeline("user-id-1", "mytest", new[] { "memory-collection" }) .AddUploadFile("file1", "file1.docx", "file1.docx") .AddUploadFile("file2", "file2.pdf", "file2.pdf") .Then("step1") .Then("step2") .Then("step3") .Build(); // Execute in process, process all files with all the handlers await orchestrator.RunPipelineAsync(pipeline); </code></pre> <h1>Web API specs</h1> <p>The API schema is available at <a href="http://127.0.0.1:9001/swagger/index.html">http://127.0.0.1:9001/swagger/index.html</a> when running the service locally with OpenAPI enabled.</p> <h1>Examples and Tools</h1> <h2>Examples</h2> <ol> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/examples/000-notebooks">Collection of Jupyter notebooks with various tests</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/examples/001-dotnet-Serverless">Importing files and asking question without running the service (serverless mode)</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/examples/002-dotnet-WebClient">Using the Kernel Memory web service</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/examples/003-curl-calling-webservice">How to upload files from command line with curl</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/examples/004-dotnet-ServerlessCustomPipeline">Processing files with custom steps</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/examples/005-dotnet-InProcessMemoryWithCustomHandler">Using a custom pipeline handler with serverless memory class</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/examples/006-dotnet-CustomHandlerAsAService">Writing a custom async pipeline handler</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/examples/007-aspnet-mvc-integration">Integrating Memory with ASP.NET applications and controllers</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/examples/008-dotnet-custom-partitioning-options">Partioning/Chunking documents with custom settings</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/009-dotnet-custom-LLM">Using Llama and other custom LLMs</a></li> </ol> <h2>Tools</h2> <ol> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/tools/upload-file.sh">Curl script to upload files</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/tools/ask.sh">Curl script to ask questions</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/tools/search.sh">Curl script to search documents</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/tools/run-qdrant.sh">Script to start Qdrant for development tasks</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/kernel-memory/main/tools/run-rabbitmq.sh">Script to start RabbitMQ for development tasks</a></li> </ol> - - - cobbr/Covenant - 2023-10-22T01:28:30Z - tag:github.com,2023-10-22:/cobbr/Covenant - - <p>Covenant is a collaborative .NET C2 framework for red teamers.</p><hr><p><img src="https://raw.githubusercontent.com/wiki/cobbr/Covenant/covenant.png" alt="Covenant"> <a href="https://github.com/cobbr/Covenant/graphs/contributors"><img src="https://img.shields.io/github/contributors/cobbr/Covenant" alt="Contributors"></a> <a href="https://github.com/cobbr/Covenant/graphs/commit-activity"><img src="https://img.shields.io/github/commit-activity/w/cobbr/covenant" alt="Commit Activity"></a> <a href="https://github.com/cobbr/Covenant/stargazers"><img src="https://img.shields.io/github/stars/cobbr/Covenant" alt="Stars"></a> <a href="https://github.com/cobbr/Covenant/raw/master/LICENSE"><img src="https://img.shields.io/github/license/cobbr/Covenant" alt="License"></a> <a href="https://bloodhoundgang.herokuapp.com/"><img src="https://img.shields.io/badge/chat-%23covenant-red" alt="Chat"></a></p> <p>Covenant is a .NET command and control framework that aims to highlight the attack surface of .NET, make the use of offensive .NET tradecraft easier, and serve as a collaborative command and control platform for red teamers.</p> <p>Covenant is an ASP.NET Core, cross-platform application that includes a web-based interface that allows for multi-user collaboration.</p> <p><img src="https://github.com/cobbr/Covenant/wiki/images/covenant-gui-dashboard.png" alt="Covenant Dashboard"></p> <h2>Quick-Start Guide</h2> <p>Please see the <a href="https://github.com/cobbr/Covenant/wiki/Installation-And-Startup">Installation and Startup</a> guide to get started with Covenant!</p> <p>The <a href="https://github.com/cobbr/Covenant/wiki">Wiki</a> documents most of Covenant's core features and how to use them.</p> <h2>Features</h2> <p>Covenant has several key features that make it useful and differentiate it from other command and control frameworks:</p> <ul> <li><strong>Intuitive Interface</strong> - Covenant provides an intuitive web application to easily run a collaborative red team operation.</li> <li><strong>Multi-Platform</strong> - Covenant targets .NET Core, which is multi-platform. This allows Covenant to run natively on Linux, MacOS, and Windows platforms. Additionally, Covenant has docker support, allowing it to run within a container on any system that has docker installed.</li> <li><strong>Multi-User</strong> - Covenant supports multi-user collaboration. The ability to collaborate has become crucial for effective red team operations. Many users can interact with the same Covenant server and operate independently or collaboratively.</li> <li><strong>API Driven</strong> - Covenant is driven by an API that enables multi-user collaboration and is easily extendible. Additionally, Covenant includes a Swagger UI that makes development and debugging easier and more convenient.</li> <li><strong>Listener Profiles</strong> - Covenant supports listener “profiles” that control how the network communication between Grunt implants and Covenant listeners look on the wire.</li> <li><strong>Encrypted Key Exchange</strong> - Covenant implements an encrypted key exchange between Grunt implants and Covenant listeners that is largely based on a similar exchange in the Empire project, in addition to optional SSL encryption. This achieves the cryptographic property of forward secrecy between Grunt implants.</li> <li><strong>Dynamic Compilation</strong> - Covenant uses the Roslyn API for dynamic C# compilation. Every time a new Grunt is generated or a new task is assigned, the relevant code is recompiled and obfuscated with ConfuserEx, avoiding totally static payloads. Covenant reuses much of the compilation code from the SharpGen project, which I described in much more detail in a previous post.</li> <li><strong>Inline C# Execution</strong> - Covenant borrows code and ideas from both the SharpGen and SharpShell projects to allow operators to execute C# one-liners on Grunt implants. This allows for similar functionality to that described in the SharpShell post, but allows the one-liners to be executed on remote implants.</li> <li><strong>Tracking Indicators</strong> - Covenant tracks “indicators” throughout an operation, and summarizes them in the Indicators menu. This allows an operator to conduct actions that are tracked throughout an operation and easily summarize those actions to the blue team during or at the end of an assessment for deconfliction and educational purposes. This feature is still in it’s infancy and still has room for improvement.</li> <li><strong>Developed in C#</strong> - Personally, I enjoy developing in C#, which may not be a surprise for anyone that has read my latest blogs or tools. Not everyone might agree that development in C# is ideal, but hopefully everyone agrees that it is nice to have all components of the framework written in the same language. I’ve found it very convenient to write the server, client, and implant all in the same language. This may not be a true “feature”, but hopefully it allows others to contribute to the project fairly easily.</li> </ul> <h3>Questions and Discussion</h3> <p>Have questions or want to chat more about Covenant? Join the #Covenant channel in the <a href="https://bloodhoundgang.herokuapp.com/">BloodHound Gang Slack</a>.</p> + helix-toolkit/helix-toolkit + 2023-10-23T01:25:45Z + tag:github.com,2023-10-23:/helix-toolkit/helix-toolkit + + <p>Helix Toolkit is a collection of 3D components for .NET.</p><hr><p><a href="https://github.com/helix-toolkit/helix-toolkit"><img src="https://img.shields.io/badge/-Helix%20Toolkit-blue" alt="HelixToolkit"></a></p> <img src="https://avatars3.githubusercontent.com/u/8432523?s=200&amp;v=4" width="64"> <h1>Helix Toolkit</h1> <p><strong>Helix Toolkit is a collection of 3D components for .NET Framework.</strong></p> <p><a href="https://raw.githubusercontent.com/helix-toolkit/helix-toolkit/develop/Source/HelixToolkit.Wpf"><strong>HelixToolkit.WPF:</strong></a> Adds variety of functionalities/models on the top of internal WPF 3D models (Media3D namespace).</p> <p><a href="https://raw.githubusercontent.com/helix-toolkit/helix-toolkit/develop/Source/HelixToolkit.Core.Wpf"><strong>HelixToolkit.Core.WPF:</strong></a> Adds variety of functionalities/models on the top of internal .NET Core WPF 3D models (Media3D namespace).</p> <p><a href="https://raw.githubusercontent.com/helix-toolkit/helix-toolkit/develop/Source/HelixToolkit.Wpf.SharpDX"><strong>HelixToolkit.SharpDX.WPF:</strong></a> Custom 3D Engine and XAML/MVVM compatible Scene Graphs based on <a href="https://github.com/sharpdx/SharpDX">SharpDX</a>(DirectX 11) for high performance usage.</p> <p><a href="https://raw.githubusercontent.com/helix-toolkit/helix-toolkit/develop/Source/HelixToolkit.UWP"><strong>HelixToolkit.UWP:</strong></a> Custom 3D Engine and XAML/MVVM compatible Scene Graphs based on <a href="https://github.com/sharpdx/SharpDX">SharpDX</a>(DirectX 11) for Universal Windows App.</p> <p><a href="https://raw.githubusercontent.com/helix-toolkit/helix-toolkit/develop/Source/HelixToolkit.SharpDX.Core"><strong>HelixToolkit.SharpDX.Core:</strong></a> Custom 3D Engine and Scene Graphs based on <a href="https://github.com/sharpdx/SharpDX">SharpDX</a>(DirectX 11) for netstandard and .NET Core.</p> <p><a href="https://raw.githubusercontent.com/helix-toolkit/helix-toolkit/develop/Source/HelixToolkit.SharpDX.Core.Wpf"><strong>HelixToolkit.SharpDX.Core.Wpf:</strong></a> Wpf Wrapper Components based on <code>HelixToolkit.SharpDX.Core</code> for .NET Core Wpf.</p> <p><a href="https://raw.githubusercontent.com/helix-toolkit/helix-toolkit/develop/Source/HelixToolkit.WinUI"><strong>HelixToolkit.WinUI:</strong></a> Custom 3D Engine and XAML/MVVM compatible Scene Graphs based on <a href="https://github.com/sharpdx/SharpDX">SharpDX</a>(DirectX 11) for WinUI.</p> <p><a href="https://raw.githubusercontent.com/helix-toolkit/helix-toolkit/develop/Source/HelixToolkit.Wpf.SharpDX.Assimp"><strong>HelixToolkit.SharpDX.Assimp:</strong></a> <a href="https://bitbucket.org/Starnick/assimpnet/src/master/">Assimp.Net</a> 3D model importer/expoter support for HelixToolkit.SharpDX Components.</p> <p><a href="https://raw.githubusercontent.com/helix-toolkit/helix-toolkit/develop/Source/Examples"><strong>Examples:</strong></a> Please download full source code to run examples. Or download <a href="https://ci.appveyor.com/project/objorke/helix-toolkit/branch/master/artifacts">compiled version</a></p> <p><a href="https://github.com/helix-toolkit/helix-toolkit/raw/develop/LICENSE"><img src="https://img.shields.io/github/license/helix-toolkit/helix-toolkit" alt="License: MIT"></a> <a href="https://ci.appveyor.com/project/holance/helix-toolkit-qqf1e"><img src="https://ci.appveyor.com/api/projects/status/vbrornad55ln8tp4?svg=true" alt="Build status"></a> <a href="https://www.nuget.org/packages?q=Helix-Toolkit"><img src="https://img.shields.io/github/release/helix-toolkit/helix-toolkit.svg?style=popout" alt="Release"></a> <a href="https://gitter.im/helix-toolkit/helix-toolkit"><img src="https://img.shields.io/gitter/room/helix-toolkit/helix-toolkit.svg?sanitize=true" alt="Chat"></a></p> <table> <thead> <tr> <th>Description</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>Web page</td> <td><a href="http://helix-toolkit.github.io/">http://helix-toolkit.github.io/</a></td> </tr> <tr> <td>Wiki</td> <td><a href="https://github.com/helix-toolkit/helix-toolkit/wiki">https://github.com/helix-toolkit/helix-toolkit/wiki</a></td> </tr> <tr> <td>Documentation</td> <td><a href="http://helix-toolkit.readthedocs.io/">http://helix-toolkit.readthedocs.io/</a></td> </tr> <tr> <td>Chat</td> <td><a href="https://gitter.im/helix-toolkit/helix-toolkit">https://gitter.im/helix-toolkit/helix-toolkit</a></td> </tr> <tr> <td>Source repository</td> <td><a href="http://github.com/helix-toolkit/helix-toolkit">http://github.com/helix-toolkit/helix-toolkit</a></td> </tr> <tr> <td>Latest build</td> <td><a href="http://ci.appveyor.com/project/holance/helix-toolkit">http://ci.appveyor.com/project/holance/helix-toolkit</a></td> </tr> <tr> <td>Issue tracker</td> <td><a href="http://github.com/helix-toolkit/helix-toolkit/issues">http://github.com/helix-toolkit/helix-toolkit/issues</a></td> </tr> <tr> <td>NuGet packages</td> <td><a href="http://www.nuget.org/packages?q=HelixToolkit">http://www.nuget.org/packages?q=HelixToolkit</a></td> </tr> <tr> <td>Nightly build</td> <td><a href="https://www.myget.org/F/helixtoolkit-nightly">https://www.myget.org/F/helixtoolkit-nightly</a></td> </tr> <tr> <td>StackOverflow</td> <td><a href="http://stackoverflow.com/questions/tagged/helix-3d-toolkit">http://stackoverflow.com/questions/tagged/helix-3d-toolkit</a></td> </tr> <tr> <td>Twitter</td> <td><a href="https://twitter.com/hashtag/Helix3DToolkit">https://twitter.com/hashtag/Helix3DToolkit</a></td> </tr> </tbody> </table> <h2>Project Build</h2> <p><strong>Visual Studio 2019. Windows 10 SDK (Min Ver.10.0.18362.0).</strong></p> <h2>Notes</h2> <h4>1. Right-handed Cartesian coordinate system and row major matrix by default</h4> <p>HelixToolkit default is using right-handed Cartesian coordinate system, including Meshbuilder etc. To use left-handed Cartesian coordinate system (Camera.CreateLeftHandedSystem = true), user must manually correct the triangle winding order or IsFrontCounterClockwise in raster state description if using SharpDX. Matrices are row major by default.</p> <h4>2. Performance <a href="https://github.com/helix-toolkit/helix-toolkit/wiki/Tips-on-performance-optimization-(WPF.SharpDX-and-UWP)">Topics</a> for WPF.SharpDX and UWP.</h4> <h4>3. Following features are not supported currently on FeatureLevel 10 graphics card:</h4> <p>FXAA, Order Independant Transparent Rendering, Particle system, Tessellation.</p> <h4>4. <a href="https://github.com/helix-toolkit/helix-toolkit/wiki">Wiki</a> and useful <a href="https://github.com/helix-toolkit/helix-toolkit/wiki/External-References">External Resources</a> on Computer Graphics.</h4> <h2>HelixToolkit Library Structure</h2> <h3>WPF Internal 3D Engine (DirectX9)</h3> <pre><code class="language-mermaid">graph TD wpf[WPF Framework] --&gt; hxWpf[HelixToolkit.Wpf] wpf --&gt; hxCoreWpf[HelixToolkit.Core.Wpf] </code></pre> <h3>HelixToolkit DirectX11 Engine</h3> <pre><code class="language-mermaid">graph TD hx[HelixToolkit] --&gt; dx11[DirectX11 Engine] dx11 --&gt; hxSharpDX[HelixToolkit.Wpf.SharpDX] dx11 --&gt; hxUWP[HelixToolkit.UWP] dx11 --&gt; hxCore[HelixToolkit.SharpDX.Core] hxCore --&gt; hxWinUI[HelixToolkit.SharpDX.Core.Wpf] hxCore --&gt; hxSharpDXCoreWpf[HelixToolkit.WinUI] hxSharpDX --&gt; hxAssimp[HelixToolkit.SharpDX.Assimp] hxUWP --&gt; hxAssimp hxCore --&gt; hxAssimp </code></pre> <h2>Bug Report</h2> <p>Please use the following template to report bugs.</p> <ul> <li>Version: [Example: 2.20]</li> <li>Package: [Example: Helixtoolkit.Wpf]</li> <li>Issue:</li> <li>Reproduce Steps:</li> <li>Sample Code:</li> </ul> <h2>News</h2> <h4>2023-05-09</h4> <p><a href="https://github.com/helix-toolkit/helix-toolkit/releases/tag/v2.24.0">v2.24.0</a> releases are available on nuget. <a href="https://raw.githubusercontent.com/helix-toolkit/helix-toolkit/develop/CHANGELOG.md">Release Note</a></p> <ul> <li><a href="https://www.nuget.org/packages/HelixToolkit.Wpf/2.24.0">WPF</a></li> <li><a href="https://www.nuget.org/packages/HelixToolkit.Core.Wpf/2.24.0">Core.WPF</a></li> <li><a href="https://www.nuget.org/packages/HelixToolkit.Wpf.Input/2.24.0">WPF.Input</a></li> <li><a href="https://www.nuget.org/packages/HelixToolkit.Wpf.SharpDX/2.24.0">WPF.SharpDX</a></li> <li><a href="https://www.nuget.org/packages/HelixToolkit.UWP/2.24.0">UWP</a></li> <li><a href="https://www.nuget.org/packages/HelixToolkit.SharpDX.Core/2.24.0">SharpDX.Core</a></li> <li><a href="https://www.nuget.org/packages/HelixToolkit.SharpDX.Core.Wpf/2.24.0">SharpDX.Core.Wpf</a></li> <li><a href="https://www.nuget.org/packages/HelixToolkit.WinUI/2.24.0">WinUI</a></li> <li><a href="https://www.nuget.org/packages/HelixToolkit.SharpDX.Assimp/2.24.0">SharpDX.Assimp</a></li> </ul> <h4>Changes (Please refer to <a href="https://github.com/helix-toolkit/helix-toolkit/raw/master/CHANGELOG.md">Release Note</a> for details)</h4> <h4>2023-03-17</h4> <p>Nightly build myget feed link has been updated to: <a href="https://www.myget.org/F/helixtoolkit-nightly">https://www.myget.org/F/helixtoolkit-nightly</a></p> \ No newline at end of file diff --git a/c%23/weekly/index.xml b/c%23/weekly/index.xml deleted file mode 100644 index 63cd6fd8866..00000000000 --- a/c%23/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub C# Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:49Z - Weekly Trending of C# in GitHub - - - mattpannella/pocket-updater-utility - 2023-10-22T01:47:49Z - tag:github.com,2023-10-22:/mattpannella/pocket-updater-utility - - <p>Analogue Pocket Updater Utility</p><hr><h2>Oh Hi</h2> <p><a href="https://github.com/mattpannella/pocket-updater-utility/releases/latest"><img src="https://img.shields.io/github/v/release/mattpannella/pocket-updater-utility?label=Current%20Release" alt="Current Release"></a> <img src="https://img.shields.io/github/downloads/mattpannella/pocket-updater-utility/latest/total?label=Downloads" alt="Downloads"> <a href="https://www.paypal.com/donate/?business=YEERX89E75HQ8&amp;no_recurring=1&amp;currency_code=USD"><img src="https://img.shields.io/badge/Donate-PayPal-green.svg?sanitize=true" alt="Donate"></a></p> <p>A free utility for updating the openFPGA cores, and firmware, on your Analogue Pocket.</p> <p>The update process will check for pocket firmware updates, openfpga core updates, and install any required BIOS files and arcade ROMS. You're on your own when it comes to console ROMs.</p> <p>A complete list of available cores can also be found here: <a href="https://openfpga-cores-inventory.github.io/analogue-pocket/">https://openfpga-cores-inventory.github.io/analogue-pocket/</a></p> <p>I can't (and don't want to) support old versions, so please make sure you download the latest release before submitting any issues.</p> <h2>Instructions</h2> <p>If you just want to use this utility, do not clone the source repository. Just</p> <p>download the <a href="https://github.com/mattpannella/pocket-updater-utility/releases/latest/">latest release</a>. Unzip it, put the executable file for your platform (windows, mac os, or linux) in the root of your sd card, and run the program.</p> <p>At the main menu run <code>Settings</code> to have it walk through the available settings for you.</p> <p><a href="https://raw.githubusercontent.com/mattpannella/pocket-updater-utility/main/#advanced-usage">Advanced</a> | <a href="https://raw.githubusercontent.com/mattpannella/pocket-updater-utility/main/#settings">Settings</a> | <a href="https://raw.githubusercontent.com/mattpannella/pocket-updater-utility/main/#download-image-packs">Image Packs</a> | <a href="https://raw.githubusercontent.com/mattpannella/pocket-updater-utility/main/#core-selector">Core Selector</a> | <a href="https://raw.githubusercontent.com/mattpannella/pocket-updater-utility/main/#generating-instance-json-files">PC Engine CD</a> | <a href="https://raw.githubusercontent.com/mattpannella/pocket-updater-utility/main/#jotego-beta-cores">Jotego Cores</a> | <a href="https://raw.githubusercontent.com/mattpannella/pocket-updater-utility/main/#how-to-build-game-and-watch-roms-that-are-compatible-with-the-pocket">Game n Watch</a></p> <h3>Advanced Usage</h3> <p>CLI Parameters</p> <pre><code> menu (Default Verb) Interactive Main Menu -p, --path Absolute path to install location fund List sponsor links. Lists all if no core is provided -c, --core The core to check funding links for update Run update all. (Can be configured via the settings menu) -p, --path Absolute path to install location -c, --core The core you want to update. Runs for all otherwise -f, --platformsfolder Preserve the Platforms folder, so customizations aren't overwritten by updates. assets Run the asset downloader -p, --path Absolute path to install location -c, --core The core you want to download assets for. firmware Check for Pocket firmware updates -p, --path Absolute path to install location images Download image packs -p, --path Absolute path to install location -o, --owner Image pack repo username -i, --imagepack Github repo name for image pack -v, --variant The optional variant instancegenerator Run the instance JSON generator -p, --path Absolute path to install location help Display more information on a specific command. version Display version information. </code></pre> <p>examples:</p> <p><code>/path/to/pocket_updater -p /path/to/sdcard/</code></p> <p><code>/path/to/pocket_updater update -c boogermann.bankpanic</code></p> <p><code>/path/to/pocket_updater assets -c jotego.jtcontra</code></p> <p><code>/path/to/pocket_updater images -i pocket-platform-images -o dyreschlock -v home</code></p> <h3>Settings</h3> <p>All settings can be modified in your <code>pocket_updater_settings.json</code> file</p> <table> <thead> <tr> <th></th> <th></th> <th></th> </tr> </thead> <tbody> <tr> <td>Disable Firmware Downloading</td> <td>config.download_firmware</td> <td>Set to <code>false</code> if you don't want Update All to check for firmware updates</td> </tr> <tr> <td>Disable Asset Downloading</td> <td>config.download_assets</td> <td>Set to <code>false</code> if you'd like to supply your own BIOS and arcade rom files, and don't want Update All to handle this.</td> </tr> <tr> <td>Preserve Platforms Folder Customizations</td> <td>config.preserve_platforms_folder</td> <td>If you have any customizations to the Platforms folder, you can use this option to preserve them during the update process. Set to <code>true</code> in your settings file, or use <code>-f</code> as a command line parameter</td> </tr> <tr> <td>Github Personal Access Token</td> <td>config.github_token</td> <td>If you're running up against the rate limit on the github api, you can provide your personal access token to the updater via the settings.</td> </tr> <tr> <td>Disable Instance JSON Builder</td> <td>config.build_instance_jsons</td> <td>Set this to <code>false</code> if you don't want Update All to build instance JSON files.</td> </tr> <tr> <td>Delete Untracked Cores</td> <td>config.delete_skipped_cores</td> <td><code>true</code> by default. Set to <code>false</code> if you don't want the updater to remove cores you don't select to track</td> </tr> <tr> <td>CRC Check Assets</td> <td>config.crc_check</td> <td><code>true</code> by default. Set to <code>false</code> if you don't want the updater check the CRC hash on your asset files</td> </tr> <tr> <td>Skip Alternative Assets</td> <td>config.skip_alternative_assets</td> <td><code>true</code> by default. If a core developer puts any of their rom asset files in a directory named <code>_alternatives</code> they won't be downloaded automatically (unless you set this to <code>false</code>)</td> </tr> <tr> <td>Use Custom Archive</td> <td>config.use_custom_archive</td> <td><code>false</code> by default. Instead of checking the archive site defined in your settings to look for required assets, use a custom site that you can define. (by default this will be a site hosted by RetroDriven)</td> </tr> <tr> <td>Custom Archive URL</td> <td>config.custom_archive.url</td> <td>The full url to your custom site</td> </tr> <tr> <td>Custom Archive Index</td> <td>config.custom_archive.index</td> <td>Relative path to the index of your custom site's files. This is not required, but it's needed for CRC checking. If you have CRC checking enabled, the setting will be ignored unless this provides the necessary format. It must match the output of archive.org's json endpoint. <a href="https://archive.org/developers/md-read.html">https://archive.org/developers/md-read.html</a></td> </tr> <tr> <td>Per Core Settings</td> <td>coreSettings.{corename}.download_assets and coreSettings.{corename}.platform_rename</td> <td>Set to <code>false</code> for any core you don't want assets downloaded for, or automatic platform renaming (currently this only applies to jotego cores)</td> </tr> </tbody> </table> <h3>Download Image Packs</h3> <p>This will present you with a list of available image packs and automatically download and extract it to the Platforms/_images directory for you</p> <h3>Core Selector</h3> <p>On your first run it will prompt you to select the cores you want tracked. After that initial run, you can run it again any time via the main menu.</p> <h3>Generating Instance JSON Files</h3> <ul> <li> <p>Only supported by PC Engine CD, currently</p> </li> <li> <p>Put your games in /Assets/{platform}/common</p> </li> <li> <p>Each game needs to be in its own directory (and be sure to name the directory the full title of the game)</p> </li> <li> <p>Example: /Assets/pcecd/common/Rondo of Blood</p> </li> <li> <p>/Assets/pcecd/common/Bonk</p> </li> <li> <p>etc</p> </li> <li> <p>All games (for PC Engine CD) must be in cue/bin format. The generated json file will be saved using the same filename as the cue file, so be sure to also name that with the full title of the game</p> </li> <li> <p>When you run the <code>Generate Instance JSON Files</code> or <code>Update All</code> menu items, it will search through every directory in common and create a json file that can be launched by the core</p> </li> <li> <p>You can disable this process in Update All by setting <code>build_instance_jsons</code> to <code>false</code> in your settings file, if you don't want it to run every time you update.</p> </li> </ul> <h3>Jotego Beta Cores</h3> <p>Now that Jotego is releasing his beta cores publicly (and requiring a beta key to play them), you can just drop the <code>jtbeta.zip</code> file from patreon onto the root of your sd card and run Update All, and it will automatically copy the beta key to the correct folders for the cores that need it. It also will let you install the yhe cores directly from the updater, now. Make sure you don't rename the file, it's going to look for exactly <code>jtbeta.zip</code></p> <h3>How to build game and watch roms that are compatible with the pocket</h3> <p>Create 2 new folders.</p> <p><code>/Assets/gameandwatch/agg23.GameAndWatch/artwork</code> and <code>/Assets/gameandwatch/agg23.GameAndWatch/roms</code></p> <p>Place your <code>[artwork].zip</code> files into the artwork folder and your <code>[rom]</code>.zip files into the roms folder</p> <p>Should look like this:</p> <pre><code> /Assets/gameandwatch/agg23.GameAndWatch/artwork/gnw_dkong.zip /Assets/gameandwatch/agg23.GameAndWatch/roms/gnw_dkong.zip </code></pre> <p>Now just run the menu option in the updater and it will build your games</p> <h2>Troubleshooting</h2> <p>Slow asset downloads? Try toggling <code>use_custom_archive</code> to true, in your settings.</p> <p>If you run the update process and get a message like <code>Error in framework RS: bridge not responding</code> when running a core, try to run the updater in a local folder on your pc, and then copy the files over to the sd card afterwards. I'm not entirely sure what the issue is, but I've seen it reported a bunch of times now and running the updater locally seems to help.</p> <h2>Submitting new cores</h2> <p>You can submit new cores here <a href="https://github.com/openfpga-cores-inventory/analogue-pocket">https://github.com/openfpga-cores-inventory/analogue-pocket</a></p> <h2>Credits</h2> <p>Thanks to <a href="https://github.com/neil-morrison44">neil-morrison44</a>. This is a port built on top of the work originally done by him here <a href="https://gist.github.com/neil-morrison44/34fbb18de90cd9a32ca5bdafb2a812b8">https://gist.github.com/neil-morrison44/34fbb18de90cd9a32ca5bdafb2a812b8</a></p> <p>Special thanks to <a href="https://github.com/RetroDriven/">RetroDriven</a> for maintaining the arcade rom archive.</p> <p>And <a href="https://github.com/dyreschlock/pocket-platform-images/tree/main/arcade/Platforms">dyreschlock</a> for hosting the updated platform files for Jotego's cores</p> <p>And if you're looking for something with a few more features and a user interface, check out this updater. <a href="https://github.com/RetroDriven/Pocket_Updater">https://github.com/RetroDriven/Pocket_Updater</a></p> <p>Or if you want something cross platform that will run on a mac or linux: <a href="https://github.com/neil-morrison44/pocket-sync">https://github.com/neil-morrison44/pocket-sync</a></p> - - - glazerdesktop/GlazeWM - 2023-10-22T01:47:49Z - tag:github.com,2023-10-22:/glazerdesktop/GlazeWM - - <p>A tiling window manager for Windows inspired by i3 and Polybar.</p><hr><h1>GlazeWM · <a href="https://github.com/lars-berger/GlazeWM/pulls"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?sanitize=true" alt="PRs Welcome"></a> <a href="https://github.com/lars-berger/GlazeWM/raw/master/LICENSE.md"><img src="https://img.shields.io/github/license/lars-berger/GlazeWM" alt="License"></a> <a href="https://discord.gg/ud6z3qjRvM"><img src="https://img.shields.io/discord/1041662798196908052.svg?logo=discord&amp;colorB=7289DA" alt="Discord invite"></a></h1> <p>GlazeWM is a tiling window manager for Windows inspired by i3 and Polybar.</p> <p>Why use a tiling window manager? A tiling WM lets you easily organize windows and adjust their layout on the fly by using keyboard-driven commands.</p> <ul> <li>Simple YAML configuration</li> <li>Multi-monitor support</li> <li>Customizable bar window</li> <li>Customizable rules for specific windows</li> <li>Easy one-click installation</li> </ul> <p><img src="https://github.com/glazerdesktop/GlazeWM/assets/34844898/58167ca8-3064-4c5f-a82e-51bd3cd8830b" alt="demo"></p> <p align="center"><i>Showcase GIF by <a href="https://github.com/HolbyFPV">@HolbyFPV</a></i></p> <p>Under the hood, GlazeWM adds functionality to the built-in window manager and uses the Windows API via P/Invoke to position windows.</p> <h1>Download</h1> <h2>Direct download</h2> <p>The latest runnable executable can be downloaded via <a href="https://github.com/lars-berger/GlazeWM/releases">releases</a>. No installation necessary, simply run the <code>.exe</code> file.</p> <h2>Winget</h2> <p>GlazeWM can be downloaded via Winget package manager:</p> <pre><code>winget install GlazeWM </code></pre> <p>Winget installs portable packages in <code>%LOCALAPPDATA%\Microsoft\Winget\Packages\</code> by default. This can be overrided with the flag <code>--location \path\to\folder</code>.</p> <h2>Scoop</h2> <p>GlazeWM can be download via Scoop in the <a href="https://github.com/ScoopInstaller/Extras">Extras</a> bucket:</p> <pre><code class="language-powershell">scoop bucket add extras # Ensure bucket is added first scoop install glazewm </code></pre> <h2>Build from source</h2> <p>Alternatively, to build from source, use the following .NET CLI command:</p> <pre><code>dotnet publish ./GlazeWM.App/GlazeWM.App.csproj --configuration=Release --runtime=win-x64 --output=. --self-contained -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true </code></pre> <p>To build for other runtimes than Windows x64, see <a href="https://docs.microsoft.com/en-us/dotnet/core/rid-catalog#windows-rids">here</a>.</p> <h1>Roadmap</h1> <ul> <li>Improve handling of fullscreen and maximized windows.</li> <li>More bar components.</li> </ul> <p><a href="https://github.com/users/lars-berger/projects/2/views/1">📋 Full roadmap</a></p> <h1>Configuration</h1> <p>The configuration file for GlazeWM can be found at <code>C:\Users\&lt;YOUR_USER&gt;\.glaze-wm\config.yaml</code>. If this file doesn't exist, the <a href="https://github.com/lars-berger/GlazeWM/raw/master/GlazeWM.App/Resources/sample-config.yaml">default config</a> can optionally be generated on launch.</p> <p>To use a different config file location, you can launch the GlazeWM executable with the CLI argument <code>--config="..."</code>, like so:</p> <pre><code class="language-console">./GlazeWM.exe --config="C:\&lt;PATH_TO_CONFIG&gt;\config.yaml" </code></pre> <h2>General</h2> <pre><code class="language-yaml">general: # Whether to automatically focus windows underneath the cursor. focus_follows_cursor: false # Whether to jump the cursor between windows focused by the WM. cursor_follows_focus: false # Whether to switch back and forth between the previously focused workspace # when focusing the current workspace. toggle_workspace_on_refocus: true # Whether to show floating windows as always on top. show_floating_on_top: false # Amount to move floating windows by (eg. when using `alt+&lt;hjkl&gt;` on a floating window) floating_window_move_amount: "5%" # Whether to globally enable/disable window transition animations (on minimize, close, # etc). Set to 'unchanged' to make no setting changes. window_animations: "unchanged" </code></pre> <h2>Keybindings</h2> <p>The available keybindings can be customized via the <code>keybindings</code> property in the config file. A keybinding consists of one or more key combinations and one or more commands to run when pressed.</p> <p>A full list of keys that can be used for keybindings can be found <a href="https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.keys?view=windowsdesktop-5.0#fields">here</a>. Numbers can be used in keybindings with and without a <code>D</code> prefix (eg. either <code>D1</code> or <code>1</code> works).</p> <p>It's recommended to use the alt key for keybindings. The windows key is unfortunately a pain to remap, since certain keybindings (eg. <code>LWin+L</code>) are reserved by the OS.</p> <pre><code class="language-yaml">keybindings: # Command to run. - command: "focus workspace 1" # Key combination to trigger the keybinding. binding: "Alt+1" # To run multiple commands in a sequence, use the `commands` property (eg. to move a window to a # workspace + focus workspace). - commands: ["move to workspace 1", "focus workspace 1"] binding: "Alt+Shift+1" - command: "focus left" # To have multiple key combinations that can trigger a command, use the `bindings` property. bindings: ["Alt+H", "Alt+Left"] </code></pre> <h3>Default keybindings</h3> <p>Keybindings with <kbd>Alt</kbd> pressed:</p> <p><img src="https://user-images.githubusercontent.com/34844898/194635035-152ed4a6-e5a1-4878-8863-f62391e7d703.png" alt="Alt key pressed - with keybindings"></p> <p>Keybindings with <kbd>Alt</kbd>+<kbd>Shift</kbd> pressed:</p> <p><img src="https://user-images.githubusercontent.com/34844898/194635089-d5ed152b-1527-43e8-a69c-4e154b97a207.png" alt="Alt+shift key pressed - with keybindings"></p> <p>Apart from the <code>Alt+Shift+E</code> binding for exiting GlazeWM, it's also possibly to safely exit via the system tray icon.</p> <h2>Focus Window Border configuration</h2> <p>The focused and unfocused window border color can be configured via the <code>focus_borders</code> property.</p> <p><em>Requires minimum of Windows 11 Build 22000.51.</em></p> <pre><code class="language-yaml">focus_borders: active: enabled: true color: "#ff0000" inactive: enabled: false color: "#0000ff" </code></pre> <h2>Gap configuration</h2> <p>The gaps between windows can be changed via the <code>gaps</code> property in the config file. Inner and outer gaps are set separately.</p> <pre><code class="language-yaml">gaps: # Gap between adjacent windows. inner_gap: "20px" # Gap between windows and the screen edge. See "Shorthand properties" for more info. outer_gap: "20px 0 20px 0" </code></pre> <h2>Workspaces configuration</h2> <p>Workspaces need to be predefined via the <code>workspaces</code> property in the config file. A workspace is automatically assigned to each monitor on startup.</p> <pre><code class="language-yaml">workspaces: # Uniquely identifies the workspace and is used as the label for the workspace in the bar if # `display_name` is not provided. - name: "1" # Optional override for the workspace label in the bar. Does not need to be unique. display_name: "Work" # Optionally force the workspace on a specific monitor if it exists. Use the monitor's number # as shown in the Windows display settings (eg. 1, 2, 3...). bind_to_monitor: 1 # Optionally prevent workspace from being deactivated when empty. keep_alive: false </code></pre> <h2>Bar configuration</h2> <p>The appearance of the bar can be changed via the <code>bar</code> property in the config file.</p> <pre><code class="language-yaml">bar: # The option to enable/disable the bar. enabled: true # Height of the bar in pixels. height: "30px" # The position of the bar on the screen. Can be either "top" or "bottom". position: "top" # Whether to show the bar above other windows always_on_top: false # Opacity value between 0.0 and 1.0. opacity: 1.0 # Background color of the bar. background: "#101010" # Default font color. Can be overriden by setting `foreground` in a component's config. foreground: "white" # Default font family. Can be overriden by setting `font_family` in a component's config. font_family: "Segoe UI" # Default font size. Can be overriden by setting `font_size` in a component's config. font_size: "13px" # Default font weight. Typically ranges from 100 to 950, where a higher value is thicker. Can # be overriden by setting `font_weight` in a component's config. font_weight: "400" # Horizontal and vertical borders in pixels. Borders are inside the dimensions of the bar and do # not affect bar height. See "Shorthand properties" for more info. border_width: "0" # Color of the border. border_color: "blue" # Horizontal and vertical spacing between components within the bar and the edges of the bar. See # "Shorthand properties" for more info. padding: "4px 6px 4px 6px" # Separator between components within the bar. `label` is used for each section # of the bar unless `label_{left,center,right}` is explictly set, in which case # they are preferred over default. component_separator: label: " | " # Components to display on the left side of the bar. components_left: - type: "workspaces" # Components to display on the right side of the bar. components_right: - type: "clock" </code></pre> <h3>Bar component configuration</h3> <p>The appearance of bar components can also be customized. The following properties can change the styling of a component, regardless of the component type.</p> <pre><code class="language-yaml"># Type of component to display. Currently 7 component types exist: "workspaces", "clock", "text", "battery", "window title", "binding mode" and "tiling direction". type: &lt;COMPONENT_TYPE&gt; # Horizontal and vertical margins. See "Shorthand properties" for more info. margin: "0 10px 0 0" # Horizontal and vertical padding. See "Shorthand properties" for more info. padding: "0" # Opacity value between 0.0 and 1.0. opacity: 1.0 # Background color of the component. background: "#101010" # Font color used within the component. foreground: "white" # Font family used within the component. font_family: "Segoe UI" # Font size used within the component. font_size: "13px" # Font weight used within the component. Typically ranges from 100 to 950, where a higher value is # thicker. font_weight: "400" # Horizontal and vertical borders in pixels. Borders are inside the dimensions of the component. # See "Shorthand properties" for more info. border_width: "0" # Color of the border. border_color: "blue" </code></pre> <h3>Shorthand properties</h3> <p>Properties related to the edges of the bar or a component, like <code>padding</code>, <code>margin</code>, and <code>border_width</code>, use a 1-to-4 value syntax. This is the same convention that's common in CSS.</p> <p>Using the example of padding:</p> <ul> <li>When one value is specified, it applies the same padding to all four sides.</li> <li>When two values are specified, the first padding applies to the top and bottom, the second to the left and right.</li> <li>When three values are specified, the first padding applies to the top, the second to the right and left, the third to the bottom.</li> <li>When four values are specified, the paddings apply to the top, right, bottom, and left in that order (clockwise).</li> </ul> <h3>Bar component: Clock</h3> <p>The text shown in the clock component is specified via <code>time_formatting</code>. The supported time format specifiers are defined by <a href="https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings">.NET's time/date string formatting</a>.</p> <p>Additionally supported format specifiers:</p> <table> <thead> <tr> <th>Specifier</th> <th>Description</th> <th>Example</th> </tr> </thead> <tbody> <tr> <td>"w"</td> <td>Week of year: 1..53</td> <td>'HH:mm dd.MM.yyyy (ww)' =&gt; 13:05 21.12.2022 (51)</td> </tr> <tr> <td>"ww"</td> <td>Week of year 01..53</td> <td>'HH:mm dd.MM.yyyy (ww)' =&gt; 13:05 02.01.2022 (02)</td> </tr> </tbody> </table> <p><strong>Example usage:</strong></p> <pre><code class="language-yaml">- type: "clock" time_formatting: "hh:mm tt ddd MMM d" </code></pre> <h3>Bar Component: Battery</h3> <p>The battery component displays the system's battery level in percent. There are three labels available that can be customized:</p> <ul> <li><code>label_draining</code>: used when the system is draining battery power(i.e. not charging).</li> <li><code>label_power_saver</code>: used when the system is on power saving mode.</li> <li><code>label_charging</code>: used when the system is connected to power.</li> </ul> <p><code>{battery_level}</code> is a variable which is replaced by the actual battery level when the label is displayed.</p> <p><strong>Example usage:</strong></p> <pre><code class="language-yaml">- type: "battery" label_draining: "{battery_level}% remaining" label_power_saver: "{battery_level}% (power saver)" label_charging: "{battery_level}% (charging)" </code></pre> <h3>Bar Component: CPU Usage</h3> <p>Displays the current CPU usage.</p> <pre><code class="language-yaml">- type: "cpu" label: "CPU: {percent_usage}%" # How often this counter is refreshed. refresh_interval_ms: 1000 </code></pre> <h3>Bar Component: GPU Usage</h3> <p>This component has high CPU requirement (compared to others); due to no efficient way to pull data from Windows API. Avoid using low refresh intervals.</p> <pre><code class="language-yaml">- type: "gpu" label: "GPU: {percent_usage}%" # How often this counter is refreshed. refresh_interval_ms: 1000 </code></pre> <h3>Bar Component: Memory Usage</h3> <p>Displays the current Memory usage.</p> <pre><code class="language-yaml">- type: "memory" label: "RAM: {percent_usage}%" # How often this counter is refreshed. refresh_interval_ms: 1000 </code></pre> <h3>Bar Component: Network</h3> <p>Displays the type and signal strength of the active network connection.</p> <pre><code class="language-yaml">- type: "network" label_no_internet: "NC" label_ethernet: "Eth" label_wifi_strength_0: "WiFi: 0%" label_wifi_strength_25: "WiFi: 25%" label_wifi_strength_50: "WiFi: 50%" label_wifi_strength_75: "WiFi: 75%" label_wifi_strength_100: "WiFi: 100%" </code></pre> <h3>Bar Component: Volume</h3> <p>Displays volume level.</p> <pre><code class="language-yaml">- type: "volume" label_low: "🔊{volume_level}%" label_medium: "🔊{volume_level}%" label_high: "🔊{volume_level}%" label_mute: "🔊{volume_level}%" </code></pre> <h3>Bar Component: Text File</h3> <p>For displaying any content without a native integrated widget; updates in real time.</p> <pre><code class="language-yaml">- type: "text file" # Path to file. file_path: "PATH_HERE" </code></pre> <h3>Bar Component: Weather</h3> <p>Uses Open-Meteo API, refreshes every hour.</p> <pre><code class="language-yaml">- type: "weather" latitude: 40.6892 longitude: 74.0445 label: "{temperature_celsius}°C" label_sun: "☀️ {temperature_celsius}°C" label_moon: "🌙 {temperature_celsius}°C" label_cloud_moon: "🌙☁️ {temperature_celsius}°C" label_cloud_sun: "⛅ {temperature_celsius}°C" label_cloud_moon_rain: "🌙🌧️ {temperature_celsius}°C" label_cloud_sun_rain: "🌦️ {temperature_celsius}°C" label_cloud_rain: "🌧️ {temperature_celsius}°C" label_snow_flake: "❄️ {temperature_celsius}°C" label_thunderstorm: "⚡ {temperature_celsius}°C" label_cloud: "☁️ {temperature_celsius}°C" </code></pre> <h3>Bar Component: Image</h3> <p>Supports <code>.png</code> and <code>.jpg</code> formats.</p> <pre><code class="language-yaml">- type: "image" source: "C:\\Folder\\AnotherFolder\\image.png" </code></pre> <h3>Bar Component: System Tray</h3> <p>Use <code>Alt+Click</code> to pin and un-pin an icon.</p> <pre><code class="language-yaml">- type: "system tray" label_expand_text: "&lt;" label_collapse_text: "&gt;" </code></pre> <h2>Mixing font properties within a label</h2> <p>Font family, font weight, font size, and foreground color can be changed within parts of a label. This means that icons and text fonts can be used together in a label. To customize a part of the label, wrap it in an <attr> tag: </attr></p> <pre><code class="language-yaml">bar: components_left: - type: "cpu" # Change font family (ie. ff) to Comic Sans for part of the label: label: "&lt;attr ff='Comic Sans'&gt;CPU:&lt;/attr&gt; {percent_usage}%" - type: "battery" # Show an icon by using an icon font: label_draining: "&lt;attr ff='Material Icons'&gt;&lt;/attr&gt; {battery_level}%" # Multiple attributes can be changed at once: label_charging: "{battery_level}% &lt;attr ff='Arial' fg='#228B22' fw='400' fs='13px'&gt;(charging)&lt;/attr&gt;" </code></pre> <h2>Icons in Bar Components</h2> <p>It's common to use icons as the <code>label</code> in bar components by assigning a font family that contains glyphs. A popular option is <a href="https://www.nerdfonts.com/font-downloads">Nerd Font</a> which comes with a <a href="https://www.nerdfonts.com/cheat-sheet">cheat sheet</a> for easily finding a desired glyph.</p> <h3>Contributing New Bar Components</h3> <p><a href="https://raw.githubusercontent.com/glazerdesktop/GlazeWM/develop/docs/contributing-new-components.md">Guide Available Here</a></p> <h2>Window rules</h2> <p>Commands can be run when a window is initially launched. This can be used to assign an app to a specific workspace or to always start an app in floating mode.</p> <p>Multiple matching criteria can be used together to target a window more precisely. Regex syntax can also be used by wrapping the pattern with <code>/</code> (eg. <code>/notepad|chrome/</code>)</p> <pre><code class="language-yaml">window_rules: # Command to run. Use `commands` to specify an array of commands to run in sequence. - command: "move to workspace 2" # Process name to match exactly. match_process_name: "chrome" # Window title to match exactly. match_title: "/.*/" # Class name to match exactly. match_class_name: "Chrome_WidgetWin_1" # To prevent the WM from managing an app, use the "ignore" command. - command: "ignore" match_process_name: "notepad" </code></pre> <h1>Available commands</h1> <ul> <li>focus &lt;left | right | up | down&gt;</li> <li>focus workspace &lt;prev | next | recent&gt;</li> <li>focus workspace &lt;workspace name&gt;</li> <li>move &lt;left | right | up | down&gt;</li> <li>move to workspace &lt;workspace name&gt;</li> <li>resize &lt;height | width&gt; &lt;amount in px | amount in %&gt; (eg. <code>resize height 3%</code> or <code>resize width 20px</code>)</li> <li>resize borders <a href="https://raw.githubusercontent.com/glazerdesktop/GlazeWM/develop/#shorthand-properties">&lt;shorthand property&gt;</a> (eg. <code>resize borders 0px -7px -7px -7px</code>)</li> <li>set &lt;floating | tiling | minimized | maximized&gt;</li> <li>set &lt;width | height&gt; &lt;amount in px | amount in %&gt; (eg. <code>set height 30%</code> or <code>set width 200px</code>)</li> <li>toggle &lt;floating | maximized&gt;</li> <li>focus mode toggle</li> <li>tiling direction &lt;vertical | horizontal | toggle&gt;</li> <li>exit wm</li> <li>reload config</li> <li>close</li> <li>exec &lt;process name | path to executable&gt; (eg. <code>exec chrome</code> or <code>exec 'C:/Program Files/Google/Chrome/Application/chrome'</code>)</li> <li>ignore</li> </ul> <h1>Known issues</h1> <h2>Blurry buttons in bar window</h2> <p>An app called "Sonic Studio", which is installed by default on ASUS ROG machines can cause rendering issues with WPF apps. This can be resolved by disabling <code>NahimicService</code> in Windows Services Manager.</p> <h2>Binding the right-side Alt key <code>RMenu</code> on certain keyboard layouts</h2> <p>Most keyboard layouts treat the right-side <kbd>Alt</kbd> key the same as the left, while others (eg. US International and German) treat it as <kbd>AltGr</kbd> and generate both <kbd>Ctrl</kbd> and <kbd>Alt</kbd> when it is pressed. For these keyboard layouts, keybindings with the <kbd>AltGr</kbd> key need to specify both <code>RMenu</code> and <code>Control</code> (eg. <code>RMenu+Control+A</code>).</p> - - - dotnet-architecture/eShopOnWeb - 2023-10-22T01:47:49Z - tag:github.com,2023-10-22:/dotnet-architecture/eShopOnWeb - - <p>Sample ASP.NET Core 7.0 reference application, powered by Microsoft, demonstrating a layered application architecture with monolithic deployment model. Download the eBook PDF from docs folder.</p><hr><p><a href="https://github.com/dotnet-architecture/eShopOnWeb/actions"><img src="https://github.com/dotnet-architecture/eShopOnWeb/workflows/eShopOnWeb%20Build%20and%20Test/badge.svg?sanitize=true" alt="Build Status"></a></p> <h1>Microsoft eShopOnWeb ASP.NET Core Reference Application</h1> <p>Sample ASP.NET Core reference application, powered by Microsoft, demonstrating a single-process (monolithic) application architecture and deployment model. If you're new to .NET development, read the <a href="https://github.com/dotnet-architecture/eShopOnWeb/wiki/Getting-Started-for-Beginners">Getting Started for Beginners</a> guide.</p> <p>A list of Frequently Asked Questions about this repository can be found <a href="https://github.com/dotnet-architecture/eShopOnWeb/wiki/Frequently-Asked-Questions">here</a>.</p> <h2>Overview Video</h2> <p><a href="https://twitter.com/ardalis">Steve "ardalis" Smith</a> recorded <a href="https://www.youtube.com/watch?v=vRZ8ucGac8M&amp;ab_channel=Ardalis">a live stream providing an overview of the eShopOnWeb reference app</a> in October 2020.</p> <h2>eBook</h2> <p>This reference application is meant to support the free .PDF download ebook: <a href="https://aka.ms/webappebook">Architecting Modern Web Applications with ASP.NET Core and Azure</a>, updated to <strong>ASP.NET Core 7.0</strong>. <a href="https://dotnet.microsoft.com/learn/web/aspnet-architecture">Also available in ePub/mobi formats</a>.</p> <p>You can also read the book in online pages at the .NET docs here: <a href="https://docs.microsoft.com/dotnet/architecture/modern-web-apps-azure/">https://docs.microsoft.com/dotnet/architecture/modern-web-apps-azure/</a></p> <p><a href="https://dotnet.microsoft.com/learn/web/aspnet-architecture"><img src="https://dotnet.microsoft.com/blob-assets/images/e-books/aspnet.png" height="300"></a></p> <p>The <strong>eShopOnWeb</strong> sample is related to the <a href="https://github.com/dotnet/eShopOnContainers">eShopOnContainers</a> sample application which, in that case, focuses on a microservices/containers-based application architecture. However, <strong>eShopOnWeb</strong> is much simpler in regards to its current functionality and focuses on traditional Web Application Development with a single deployment.</p> <p>The goal for this sample is to demonstrate some of the principles and patterns described in the <a href="https://aka.ms/webappebook">eBook</a>. It is not meant to be an eCommerce reference application, and as such it does not implement many features that would be obvious and/or essential to a real eCommerce application.</p> <blockquote> <h3>VERSIONS</h3> <h4>The <code>main</code> branch is currently running ASP.NET Core 7.0.</h4> <h4>Older versions are tagged.</h4> </blockquote> <h2>Topics (eBook TOC)</h2> <ul> <li>Introduction</li> <li>Characteristics of Modern Web Applications</li> <li>Choosing Between Traditional Web Apps and SPAs</li> <li>Architectural Principles</li> <li>Common Web Application Architectures</li> <li>Common Client Side Technologies</li> <li>Developing ASP.NET Core MVC Apps</li> <li>Working with Data in ASP.NET Core Apps</li> <li>Testing ASP.NET Core MVC Apps</li> <li>Development Process for Azure-Hosted ASP.NET Core Apps</li> <li>Azure Hosting Recommendations for ASP.NET Core Web Apps</li> </ul> <h2>Running the sample using Azd template</h2> <p>The store's home page should look like this:</p> <p><img src="https://user-images.githubusercontent.com/782127/88414268-92d83a00-cdaa-11ea-9b4c-db67d95be039.png" alt="eShopOnWeb home page screenshot"></p> <p>The Azure Developer CLI (<code>azd</code>) is a developer-centric command-line interface (CLI) tool for creating Azure applications.</p> <p>You need to install it before running and deploying with Azure Developer CLI.</p> <h3>Windows</h3> <pre><code class="language-powershell">powershell -ex AllSigned -c "Invoke-RestMethod 'https://aka.ms/install-azd.ps1' | Invoke-Expression" </code></pre> <h3>Linux/MacOS</h3> <pre><code>curl -fsSL https://aka.ms/install-azd.sh | bash </code></pre> <p>And you can also install with package managers, like winget, choco, and brew. For more details, you can follow the documentation: <a href="https://aka.ms/azure-dev/install">https://aka.ms/azure-dev/install</a>.</p> <p>After logging in with the following command, you will be able to use the azd cli to quickly provision and deploy the application.</p> <pre><code>azd auth login </code></pre> <p>Then, execute the <code>azd init</code> command to initialize the environment.</p> <pre><code>azd init -t dotnet-architecture/eShopOnWeb </code></pre> <p>Run <code>azd up</code> to provision all the resources to Azure and deploy the code to those resources.</p> <pre><code>azd up </code></pre> <p>According to the prompt, enter an <code>env name</code>, and select <code>subscription</code> and <code>location</code>, these are the necessary parameters when you create resources. Wait a moment for the resource deployment to complete, click the web endpoint and you will see the home page.</p> <p><strong>Notes:</strong></p> <ol> <li>Considering security, we store its related data (id, password) in the <strong>Azure Key Vault</strong> when we create the database, and obtain it from the Key Vault when we use it. This is different from directly deploying applications locally.</li> <li>The resource group name created in azure portal will be <strong>rg-{env name}</strong>.</li> </ol> <p>You can also run the sample directly locally (See below).</p> <h2>Running the sample locally</h2> <p>Most of the site's functionality works with just the web application running. However, the site's Admin page relies on Blazor WebAssembly running in the browser, and it must communicate with the server using the site's PublicApi web application. You'll need to also run this project. You can configure Visual Studio to start multiple projects, or just go to the PublicApi folder in a terminal window and run <code>dotnet run</code> from there. After that from the Web folder you should run <code>dotnet run --launch-profile Web</code>. Now you should be able to browse to <code>https://localhost:5001/</code>. The admin part in Blazor is accessible to <code>https://localhost:5001/admin</code></p> <p>Note that if you use this approach, you'll need to stop the application manually in order to build the solution (otherwise you'll get file locking errors).</p> <p>After cloning or downloading the sample you must setup your database. To use the sample with a persistent database, you will need to run its Entity Framework Core migrations before you will be able to run the app.</p> <p>You can also run the samples in Docker (see below).</p> <h3>Configuring the sample to use SQL Server</h3> <ol> <li> <p>By default, the project uses a real database. If you want an in memory database, you can add in the <code>appsettings.json</code> file in the Web folder</p> <pre><code class="language-json">{ "UseOnlyInMemoryDatabase": true } </code></pre> </li> <li> <p>Ensure your connection strings in <code>appsettings.json</code> point to a local SQL Server instance.</p> </li> <li> <p>Ensure the tool EF was already installed. You can find some help <a href="https://docs.microsoft.com/ef/core/miscellaneous/cli/dotnet">here</a></p> <pre><code>dotnet tool update --global dotnet-ef </code></pre> </li> <li> <p>Open a command prompt in the Web folder and execute the following commands:</p> <pre><code>dotnet restore dotnet tool restore dotnet ef database update -c catalogcontext -p ../Infrastructure/Infrastructure.csproj -s Web.csproj dotnet ef database update -c appidentitydbcontext -p ../Infrastructure/Infrastructure.csproj -s Web.csproj </code></pre> <p>These commands will create two separate databases, one for the store's catalog data and shopping cart information, and one for the app's user credentials and identity data.</p> </li> <li> <p>Run the application.</p> <p>The first time you run the application, it will seed both databases with data such that you should see products in the store, and you should be able to log in using the <a href="mailto:demouser@microsoft.com">demouser@microsoft.com</a> account.</p> <p>Note: If you need to create migrations, you can use these commands:</p> <pre><code>-- create migration (from Web folder CLI) dotnet ef migrations add InitialModel --context catalogcontext -p ../Infrastructure/Infrastructure.csproj -s Web.csproj -o Data/Migrations dotnet ef migrations add InitialIdentityModel --context appidentitydbcontext -p ../Infrastructure/Infrastructure.csproj -s Web.csproj -o Identity/Migrations </code></pre> </li> </ol> <h2>Running the sample in the dev container</h2> <p>This project includes a <code>.devcontainer</code> folder with a <a href="https://containers.dev/">dev container configuration</a>, which lets you use a container as a full-featured dev environment.</p> <p>You can use the dev container to build and run the app without needing to install any of its tools locally! You can work in GitHub Codespaces or the VS Code Dev Containers extension.</p> <p>Learn more about using the dev container in its <a href="https://raw.githubusercontent.com/dotnet-architecture/eShopOnWeb/main/.devcontainer/devcontainerreadme.md">readme</a>.</p> <h2>Running the sample using Docker</h2> <p>You can run the Web sample by running these commands from the root folder (where the .sln file is located):</p> <pre><code>docker-compose build docker-compose up </code></pre> <p>You should be able to make requests to localhost:5106 for the Web project, and localhost:5200 for the Public API project once these commands complete. If you have any problems, especially with login, try from a new guest or incognito browser instance.</p> <p>You can also run the applications by using the instructions located in their <code>Dockerfile</code> file in the root of each project. Again, run these commands from the root of the solution (where the .sln file is located).</p> <h2>Community Extensions</h2> <p>We have some great contributions from the community, and while these aren't maintained by Microsoft we still want to highlight them.</p> <p><a href="https://github.com/VBAndCs/eShopOnWeb_VB.NET">eShopOnWeb VB.NET</a> by Mohammad Hamdy Ghanem</p> - - \ No newline at end of file diff --git a/c++/daily/index.xml b/c++/daily/index.xml index bdf8d2ac7ef..9193b6fadbe 100644 --- a/c++/daily/index.xml +++ b/c++/daily/index.xml @@ -1,14 +1,14 @@ GitHub C++ Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:44Z + 2023-10-23T01:25:59Z Daily Trending of C++ in GitHub - NVIDIA/TensorRT-LLM - 2023-10-22T01:28:44Z - tag:github.com,2023-10-22:/NVIDIA/TensorRT-LLM - - <p>TensorRT-LLM provides users with an easy-to-use Python API to define Large Language Models (LLMs) and build TensorRT engines that contain state-of-the-art optimizations to perform inference efficiently on NVIDIA GPUs. TensorRT-LLM also contains components to create Python and C++ runtimes that execute those TensorRT engines.</p><hr><div align="center"> <h1>TensorRT-LLM</h1> <h4> A TensorRT Toolbox for Large Language Models </h4> <p><a href="https://nvidia.github.io/TensorRT-LLM/"><img src="https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat" alt="Documentation"></a> <a href="https://www.python.org/downloads/release/python-31012/"><img src="https://img.shields.io/badge/python-3.10.12-green" alt="python"></a> <a href="https://developer.nvidia.com/cuda-downloads"><img src="https://img.shields.io/badge/cuda-12.2-green" alt="cuda"></a> <a href="https://developer.nvidia.com/tensorrt"><img src="https://img.shields.io/badge/TRT-9.1-green" alt="trt"></a> <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/setup.py"><img src="https://img.shields.io/badge/release-0.5.0-green" alt="version"></a> <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/LICENSE"><img src="https://img.shields.io/badge/license-Apache%202-blue" alt="license"></a></p> <p><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/architecture.md">Architecture</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/performance.md">Results</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/">Examples</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/">Documentation</a></p> <hr> <div align="left"> <h2>Table of Contents</h2> <ul> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#tensorrt-llm-overview">TensorRT-LLM Overview</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#installation">Installation</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#quick-start">Quick Start</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#support-matrix">Support Matrix</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#performance">Performance</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#advanced-topics">Advanced Topics</a> <ul> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#quantization">Quantization</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#in-flight-batching">In-flight Batching</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#attention">Attention</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#graph-rewriting">Graph Rewriting</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#benchmarking">Benchmarking</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#troubleshooting">Troubleshooting</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#release-notes">Release Notes</a> <ul> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#changelog">Changelog</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#known-issues">Known issues</a></li> </ul> </li> </ul> <h2>TensorRT-LLM Overview</h2> <p>TensorRT-LLM provides users with an easy-to-use Python API to define Large Language Models (LLMs) and build <a href="https://developer.nvidia.com/tensorrt">TensorRT</a> engines that contain state-of-the-art optimizations to perform inference efficiently on NVIDIA GPUs. TensorRT-LLM also contains components to create Python and C++ runtimes that execute those TensorRT engines. It also includes a <a href="https://github.com/triton-inference-server/tensorrtllm_backend">backend</a> for integration with the <a href="https://developer.nvidia.com/nvidia-triton-inference-server">NVIDIA Triton Inference Server</a>; a production-quality system to serve LLMs. Models built with TensorRT-LLM can be executed on a wide range of configurations going from a single GPU to multiple nodes with multiple GPUs (using <a href="https://docs.nvidia.com/deeplearning/nemo/user-guide/docs/en/stable/nlp/nemo_megatron/parallelisms.html#tensor-parallelism">Tensor Parallelism</a> and/or <a href="https://docs.nvidia.com/deeplearning/nemo/user-guide/docs/en/stable/nlp/nemo_megatron/parallelisms.html#pipeline-parallelism">Pipeline Parallelism</a>).</p> <p>The Python API of TensorRT-LLM is architectured to look similar to the <a href="https://pytorch.org">PyTorch</a> API. It provides users with a <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/tensorrt_llm/functional.py">functional</a> module containing functions like <code>einsum</code>, <code>softmax</code>, <code>matmul</code> or <code>view</code>. The <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/tensorrt_llm/layers">layers</a> module bundles useful building blocks to assemble LLMs; like an <code>Attention</code> block, a <code>MLP</code> or the entire <code>Transformer</code> layer. Model-specific components, like <code>GPTAttention</code> or <code>BertAttention</code>, can be found in the <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/tensorrt_llm/models">models</a> module.</p> <p>TensorRT-LLM comes with several popular models pre-defined. They can easily be modified and extended to fit custom needs. See below for a list of supported <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#Models">models</a>.</p> <p>To maximize performance and reduce memory footprint, TensorRT-LLM allows the models to be executed using different quantization modes (see <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/gpt"><code>examples/gpt</code></a> for concrete examples). TensorRT-LLM supports INT4 or INT8 weights (and FP16 activations; a.k.a. INT4/INT8 weight-only) as well as a complete implementation of the <a href="https://arxiv.org/abs/2211.10438">SmoothQuant</a> technique.</p> <p>For a more detailed presentation of the software architecture and the key concepts used in TensorRT-LLM, we recommend you to read the following <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/architecture.md">document</a>.</p> <h2>Installation</h2> <p><em>For Windows installation, see <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/windows/"><code>Windows/</code></a>.</em></p> <p>TensorRT-LLM must be built from source, instructions can be found <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/installation.md">here</a>. An image of a Docker container with TensorRT-LLM and its Triton Inference Server Backend will be made available soon.</p> <p>The remaining commands in that document must be executed from the TensorRT-LLM container.</p> <h2>Quick Start</h2> <p>To create a TensorRT engine for an existing model, there are 3 steps:</p> <ol> <li>Download pre-trained weights,</li> <li>Build a fully-optimized engine of the model,</li> <li>Deploy the engine.</li> </ol> <p>The following sections show how to use TensorRT-LLM to run the <a href="https://huggingface.co/bigscience/bloom-560m">BLOOM-560m</a> model.</p> <p><em><strong>0. In the BLOOM folder</strong></em></p> <p>Inside the Docker container, you have to install the requirements:</p> <pre><code class="language-bash">pip install -r examples/bloom/requirements.txt git lfs install </code></pre> <p><em><strong>1. Download the model weights from HuggingFace</strong></em></p> <p>From the BLOOM example folder, you must download the weights of the model.</p> <pre><code class="language-bash">cd examples/bloom rm -rf ./bloom/560M mkdir -p ./bloom/560M &amp;&amp; git clone https://huggingface.co/bigscience/bloom-560m ./bloom/560M </code></pre> <p><em><strong>2. Build the engine</strong></em></p> <pre><code class="language-python"># Single GPU on BLOOM 560M python build.py --model_dir ./bloom/560M/ \ --dtype float16 \ --use_gemm_plugin float16 \ --use_gpt_attention_plugin float16 \ --output_dir ./bloom/560M/trt_engines/fp16/1-gpu/ </code></pre> <p>See the BLOOM <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/bloom">example</a> for more details and options regarding the <code>build.py</code> script.</p> <p><em><strong>3. Run</strong></em></p> <p>The <code>summarize.py</code> script can be used to perform the summarization of articles from the CNN Daily dataset:</p> <pre><code class="language-python">python summarize.py --test_trt_llm \ --hf_model_location ./bloom/560M/ \ --data_type fp16 \ --engine_dir ./bloom/560M/trt_engines/fp16/1-gpu/ </code></pre> <p>More details about the script and how to run the BLOOM model can be found in the example <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/bloom">folder</a>. Many more <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/#models">models</a> than BLOOM are implemented in TensorRT-LLM. They can be found in the <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/">examples</a> directory.</p> <h2>Support Matrix</h2> <p>TensorRT-LLM optimizes the performance of a range of well-known models on NVIDIA GPUs. The following sections provide a list of supported GPU architectures as well as important features implemented in TensorRT-LLM.</p> <h3>Devices</h3> <p>TensorRT-LLM is rigorously tested on the following GPUs:</p> <ul> <li><a href="https://www.nvidia.com/en-us/data-center/h100/">H100</a></li> <li><a href="https://www.nvidia.com/en-us/data-center/l40s/">L40S</a></li> <li><a href="https://www.nvidia.com/en-us/data-center/a100/">A100</a>/<a href="https://www.nvidia.com/en-us/data-center/products/a30-gpu/">A30</a></li> <li><a href="https://www.nvidia.com/en-us/data-center/v100/">V100</a> (experimental)</li> </ul> <p>If a GPU is not listed above, it is important to note that TensorRT-LLM is expected to work on GPUs based on the Volta, Turing, Ampere, Hopper and Ada Lovelace architectures. Certain limitations may, however, apply.</p> <h3>Precision</h3> <p>Various numerical precisions are supported in TensorRT-LLM. The support for some of those numerical features require specific architectures:</p> <table> <thead> <tr> <th align="left"></th> <th align="left">FP32</th> <th align="left">FP16</th> <th align="left">BF16</th> <th align="left">FP8</th> <th align="left">INT8</th> <th align="left">INT4</th> </tr> </thead> <tbody> <tr> <td align="left">Volta (SM70)</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">N</td> <td align="left">N</td> <td align="left">Y</td> <td align="left">Y</td> </tr> <tr> <td align="left">Turing (SM75)</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">N</td> <td align="left">N</td> <td align="left">Y</td> <td align="left">Y</td> </tr> <tr> <td align="left">Ampere (SM80, SM86)</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">N</td> <td align="left">Y</td> <td align="left">Y</td> </tr> <tr> <td align="left">Ada-Lovelace (SM89)</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> </tr> <tr> <td align="left">Hopper (SM90)</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> <td align="left">Y</td> </tr> </tbody> </table> <p>In this release of TensorRT-LLM, the support for FP8 and quantized data types (INT8 or INT4) is not implemented for all the models. See the <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/precision.md">precision</a> document and the <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/">examples</a> folder for additional details.</p> <h3>Key Features</h3> <p>TensorRT-LLM contains examples that implement the following features.</p> <ul> <li>Multi-head Attention(<a href="https://arxiv.org/abs/1706.03762">MHA</a>)</li> <li>Multi-query Attention (<a href="https://arxiv.org/abs/1911.02150">MQA</a>)</li> <li>Group-query Attention(<a href="https://arxiv.org/abs/2307.09288">GQA</a>)</li> <li>In-flight Batching</li> <li>Paged KV Cache for the Attention</li> <li>Tensor Parallelism</li> <li>Pipeline Parallelism</li> <li>INT4/INT8 Weight-Only Quantization (W4A16 &amp; W8A16)</li> <li><a href="https://arxiv.org/abs/2211.10438">SmoothQuant</a></li> <li><a href="https://arxiv.org/abs/2210.17323">GPTQ</a></li> <li><a href="https://arxiv.org/abs/2306.00978">AWQ</a></li> <li><a href="https://arxiv.org/abs/2209.05433">FP8</a></li> <li>Greedy-search</li> <li>Beam-search</li> <li>RoPE</li> </ul> <p>In this release of TensorRT-LLM, some of the features are not enabled for all the models listed in the <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/">examples</a> folder.</p> <h3>Models</h3> <p>The list of supported models is:</p> <ul> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/baichuan">Baichuan</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/bert">Bert</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/blip2">Blip2</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/bloom">BLOOM</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/chatglm6b">ChatGLM-6B</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/chatglm2-6b/">ChatGLM2-6B</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/falcon">Falcon</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/gpt">GPT</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/gptj">GPT-J</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/gpt">GPT-Nemo</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/gptneox">GPT-NeoX</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/llama">LLaMA</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/llama">LLaMA-v2</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/mpt">MPT</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/opt">OPT</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/gpt">SantaCoder</a></li> <li><a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/examples/gpt">StarCoder</a></li> </ul> <h2>Performance</h2> <p>Please refer to the <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/performance.md">performance</a> page for performance numbers. That page contains measured numbers for four variants of popular models (GPT-J, LLAMA-7B, LLAMA-70B, Falcon-180B), measured on the H100, L40S and A100 GPU(s).</p> <h2>Advanced Topics</h2> <h3>Quantization</h3> <p>This <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/precision.md">document</a> describes the different quantization methods implemented in TensorRT-LLM and contains a support matrix for the different models.</p> <h3>In-flight Batching</h3> <p>TensorRT-LLM supports in-flight batching of requests (also known as continuous batching or iteration-level batching). It's a <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/batch_manager.md">technique</a> that aims at reducing wait times in queues, eliminating the need for padding requests and allowing for higher GPU utilization.</p> <h3>Attention</h3> <p>TensorRT-LLM implements several variants of the Attention mechanism that appears in most the Large Language Models. This <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/gpt_attention.md">document</a> summarizes those implementations and how they are optimized in TensorRT-LLM.</p> <h3>Graph Rewriting</h3> <p>TensorRT-LLM uses a declarative approach to define neural networks and contains techniques to optimize the underlying graph. For more details, please refer to <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/docs/source/graph-rewriting.md">doc</a></p> <h3>Benchmark</h3> <p>TensorRT-LLM provides <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/benchmarks/cpp/README.md">C++</a> and <a href="https://raw.githubusercontent.com/NVIDIA/TensorRT-LLM/release/0.5.0/benchmarks/python/README.md">Python</a> tools to perform benchmarking. Note, however, that it is recommended to use the C++ version.</p> <h2>Troubleshooting</h2> <ul> <li> <p>It's recommended to add options <code>–shm-size=1g –ulimit memlock=-1</code> to the docker or nvidia-docker run command. Otherwise you may see NCCL errors when running multiple GPU inferences. See <a href="https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting.html#errors">https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting.html#errors</a> for details.</p> </li> <li> <p>When building models, memory-related issues such as</p> </li> </ul> <pre><code>[09/23/2023-03:13:00] [TRT] [E] 9: GPTLMHeadModel/layers/0/attention/qkv/PLUGIN_V2_Gemm_0: could not find any supported formats consistent with input/output data types [09/23/2023-03:13:00] [TRT] [E] 9: [pluginV2Builder.cpp::reportPluginError::24] Error Code 9: Internal Error (GPTLMHeadModel/layers/0/attention/qkv/PLUGIN_V2_Gemm_0: could not find any supported formats consistent with input/output data types) </code></pre> <p>may happen. One possible solution is to reduce the amount of memory needed by reducing the maximum batch size, input and output lengths. Another option is to enable plugins, for example: <code>--use_gpt_attention_plugin</code>.</p> <h2>Release notes</h2> <ul> <li>TensorRT-LLM requires TensorRT 9.1.0.4 and 23.08 containers.</li> </ul> <h3>Change Log</h3> <ul> <li>TensorRT-LLM v0.5.0 is the first public release.</li> </ul> <h3>Known Issues</h3> <h3>Report Issues</h3> <p>You can use GitHub issues to report issues with TensorRT-LLM.</p> </div> </div> + facebookresearch/habitat-sim + 2023-10-23T01:25:59Z + tag:github.com,2023-10-23:/facebookresearch/habitat-sim + + <p>A flexible, high-performance 3D simulator for Embodied AI research.</p><hr><p><a href="https://circleci.com/gh/facebookresearch/habitat-sim"><img src="https://circleci.com/gh/facebookresearch/habitat-sim.svg?style=shield" alt="CircleCI"></a> <a href="https://codecov.io/gh/facebookresearch/habitat-sim"><img src="https://codecov.io/gh/facebookresearch/habitat-sim/branch/main/graph/badge.svg?sanitize=true" alt="codecov"></a> <a href="https://github.com/facebookresearch/habitat-sim/raw/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg?sanitize=true" alt="GitHub license"></a> <a href="https://anaconda.org/aihabitat/habitat-sim"><img src="https://img.shields.io/conda/vn/aihabitat/habitat-sim?color=blue&amp;label=conda%20version" alt="Conda Version Badge"></a> <a href="https://anaconda.org/aihabitat/habitat-sim"><img src="https://img.shields.io/conda/pn/aihabitat/habitat-sim?color=orange&amp;label=platforms" alt="Conda Platforms support Badge"></a> <a href="https://aihabitat.org/docs/habitat-sim/"><img src="https://img.shields.io/badge/docs-automated-green.svg?sanitize=true" alt="Documentation"></a> <a href="https://github.com/pre-commit/pre-commit"><img src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&amp;logoColor=white" alt="pre-commit"></a> <a href="https://www.python.org/downloads/release/"><img src="https://img.shields.io/badge/python-3.9.svg?sanitize=true" alt="Python 3.9"></a> <a href="https://opensource.google/projects/bullet3"><img src="https://img.shields.io/static/v1?label=supports&amp;message=Bullet%20Physics&amp;color=informational&amp;link=https://opensource.google/projects/bullet3" alt="Supports Bullet"></a> <a href="https://twitter.com/ai_habitat"><img src="https://img.shields.io/twitter/follow/ai_habitat?style=social" alt="Twitter Follow"></a></p> <h1>Habitat-Sim</h1> <p>A high-performance physics-enabled 3D simulator with support for:</p> <ul> <li>3D scans of indoor/outdoor spaces (with built-in support for <a href="https://aihabitat.org/datasets/hm3d/">HM3D</a>, <a href="https://niessner.github.io/Matterport/">MatterPort3D</a>, <a href="http://gibsonenv.stanford.edu/database/">Gibson</a>, <a href="https://github.com/facebookresearch/Replica-Dataset">Replica</a>, and other datasets)</li> <li>CAD models of spaces and piecewise-rigid objects (e.g. <a href="https://aihabitat.org/datasets/replica_cad/">ReplicaCAD</a>, <a href="https://www.ycbbenchmarks.com/">YCB</a>, <a href="https://app.ignitionrobotics.org/GoogleResearch/fuel/collections/Google%20Scanned%20Objects">Google Scanned Objects</a>),</li> <li>Configurable sensors (RGB-D cameras, egomotion sensing)</li> <li>Robots described via URDF (mobile manipulators like <a href="http://docs.fetchrobotics.com/">Fetch</a>, fixed-base arms like <a href="https://www.franka.de/">Franka</a>, quadrupeds like <a href="https://www.unitree.com/products/aliengo/">AlienGo</a>),</li> <li>Rigid-body mechanics (via <a href="https://github.com/bulletphysics/bullet3">Bullet</a>).</li> </ul> <p>The design philosophy of Habitat is to prioritize simulation speed over the breadth of simulation capabilities. When rendering a scene from the Matterport3D dataset, Habitat-Sim achieves several thousand frames per second (FPS) running single-threaded and reaches over 10,000 FPS multi-process on a single GPU. Habitat-Sim simulates a Fetch robot interacting in ReplicaCAD scenes at over 8,000 steps per second (SPS), where each ‘step’ involves rendering 1 RGBD observation (128×128 pixels) and rigid-body dynamics for 1/30sec.</p> <p>Habitat-Sim is typically used with <a href="https://github.com/facebookresearch/habitat-lab">Habitat-Lab</a>, a modular high-level library for end-to-end experiments in embodied AI -- defining embodied AI tasks (e.g. navigation, instruction following, question answering), training agents (via imitation or reinforcement learning, or no learning at all as in classical SensePlanAct pipelines), and benchmarking their performance on the defined tasks using standard metrics.</p> <h2><a href="https://github.com/facebookresearch/habitat-lab/discussions">Questions or Comments? Join the AI Habitat community discussions forum.</a></h2> <p><a href="https://colab.research.google.com/github/facebookresearch/habitat-sim/"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Open In Colab"></a></p> <p><a href="https://aihabitat.org/demo"><img src="https://img.shields.io/static/v1?label=WebGL&amp;message=Try%20AI%20Habitat%20In%20Your%20Browser%20&amp;color=blue&amp;logo=webgl&amp;labelColor=%23990000&amp;style=for-the-badge&amp;link=https://aihabitat.org/demo" alt="Habitat Demo"></a></p> <p><a href="https://user-images.githubusercontent.com/2941091/126080914-36dc8045-01d4-4a68-8c2e-74d0bca1b9b8.mp4">https://user-images.githubusercontent.com/2941091/126080914-36dc8045-01d4-4a68-8c2e-74d0bca1b9b8.mp4</a></p> <hr> <h2>Table of contents</h2> <ol> <li><a href="https://raw.githubusercontent.com/facebookresearch/habitat-sim/main/#citing-habitat">Citing Habitat</a></li> <li><a href="https://raw.githubusercontent.com/facebookresearch/habitat-sim/main/#installation">Installation</a></li> <li><a href="https://raw.githubusercontent.com/facebookresearch/habitat-sim/main/#testing">Testing</a></li> <li><a href="https://raw.githubusercontent.com/facebookresearch/habitat-sim/main/#documentation">Documentation</a></li> <li><a href="https://raw.githubusercontent.com/facebookresearch/habitat-sim/main/#datasets">Datasets</a></li> <li><a href="https://raw.githubusercontent.com/facebookresearch/habitat-sim/main/#external-contributions">External Contributions</a></li> <li><a href="https://raw.githubusercontent.com/facebookresearch/habitat-sim/main/#license">License</a></li> </ol> <h2>Citing Habitat</h2> <p>If you use the Habitat platform in your research, please cite the <a href="https://arxiv.org/abs/1904.01201">Habitat 1.0</a> and <a href="https://arxiv.org/abs/2106.14405">Habitat 2.0</a> papers:</p> <pre><code>@inproceedings{szot2021habitat, title = {Habitat 2.0: Training Home Assistants to Rearrange their Habitat}, author = {Andrew Szot and Alex Clegg and Eric Undersander and Erik Wijmans and Yili Zhao and John Turner and Noah Maestre and Mustafa Mukadam and Devendra Chaplot and Oleksandr Maksymets and Aaron Gokaslan and Vladimir Vondrus and Sameer Dharur and Franziska Meier and Wojciech Galuba and Angel Chang and Zsolt Kira and Vladlen Koltun and Jitendra Malik and Manolis Savva and Dhruv Batra}, booktitle = {Advances in Neural Information Processing Systems (NeurIPS)}, year = {2021} } @inproceedings{habitat19iccv, title = {Habitat: {A} {P}latform for {E}mbodied {AI} {R}esearch}, author = {Manolis Savva and Abhishek Kadian and Oleksandr Maksymets and Yili Zhao and Erik Wijmans and Bhavana Jain and Julian Straub and Jia Liu and Vladlen Koltun and Jitendra Malik and Devi Parikh and Dhruv Batra}, booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)}, year = {2019} } </code></pre> <p>Habitat-Sim also builds on work contributed by others. If you use contributed methods/models, please cite their works. See the <a href="https://raw.githubusercontent.com/facebookresearch/habitat-sim/main/#external-contributions">External Contributions</a> section for a list of what was externally contributed and the corresponding work/citation.</p> <h2>Installation</h2> <p>Habitat-Sim can be installed in 3 ways:</p> <ol> <li>Via Conda - Recommended method for most users. Stable release and nightly builds.</li> <li>[Experimental] Via PIP - <code>pip install .</code> to compile the latest headless build with Bullet. Read <a href="https://raw.githubusercontent.com/facebookresearch/habitat-sim/main/BUILD_FROM_SOURCE.md">build instructions and common build issues</a>.</li> <li>Via Docker - Updated approximately once per year for the <a href="https://aihabitat.org/challenge/">Habitat Challenge</a>. Read <a href="https://github.com/facebookresearch/habitat-lab#docker-setup">habitat-docker-setup</a>.</li> <li>Via Source - For active development. Read <a href="https://raw.githubusercontent.com/facebookresearch/habitat-sim/main/BUILD_FROM_SOURCE.md">build instructions and common build issues</a>.</li> </ol> <h3>[Recommended] Conda Packages</h3> <p>Habitat is under active development, and we advise users to restrict themselves to <a href="https://github.com/facebookresearch/habitat-sim/releases">stable releases</a>. Starting with v0.1.4, we provide <a href="https://anaconda.org/aihabitat">conda packages for each release</a>.</p> <ol> <li> <p><strong>Preparing conda env</strong></p> <p>Assuming you have <a href="https://docs.conda.io/projects/conda/en/latest/user-guide/install/">conda</a> installed, let's prepare a conda env:</p> <pre><code class="language-bash"># We require python&gt;=3.9 and cmake&gt;=3.10 conda create -n habitat python=3.9 cmake=3.14.0 conda activate habitat </code></pre> </li> <li> <p><strong>conda install habitat-sim</strong></p> <p>Pick one of the options below depending on your system/needs:</p> <ul> <li> <p>To install on machines with an attached display:</p> <pre><code class="language-bash">conda install habitat-sim -c conda-forge -c aihabitat </code></pre> </li> <li> <p>To install on headless machines (i.e. without an attached display, e.g. in a cluster) and machines with multiple GPUs (this parameter relies on EGL and thus does <em>not</em> work on MacOS):</p> <pre><code>conda install habitat-sim headless -c conda-forge -c aihabitat </code></pre> </li> <li> <p>[<strong>Most common scenario</strong>] To install habitat-sim with bullet physics</p> <pre><code>conda install habitat-sim withbullet -c conda-forge -c aihabitat </code></pre> </li> <li> <p>Note: Build parameters can be chained together. For instance, to install habitat-sim with physics on headless machines:</p> <pre><code>conda install habitat-sim withbullet headless -c conda-forge -c aihabitat </code></pre> </li> </ul> </li> </ol> <p>Conda packages for older versions can installed by explicitly specifying the version, e.g. <code>conda install habitat-sim=0.1.6 -c conda-forge -c aihabitat</code>.</p> <p>We also provide a <a href="https://anaconda.org/aihabitat-nightly">nightly conda build for the main branch</a>. However, this should only be used if you need a specific feature not yet in the latest release version. To get the nightly build of the latest main, simply swap <code>-c aihabitat</code> for <code>-c aihabitat-nightly</code>.</p> <h2>Testing</h2> <ol> <li> <p>Let's download some 3D assets using our python data download utility:</p> <ul> <li> <p>Download (testing) 3D scenes</p> <pre><code class="language-bash">python -m habitat_sim.utils.datasets_download --uids habitat_test_scenes --data-path /path/to/data/ </code></pre> <p>Note that these testing scenes do not provide semantic annotations. If you would like to test the semantic sensors via <code>example.py</code>, please use the data from the Matterport3D dataset (see <a href="https://raw.githubusercontent.com/facebookresearch/habitat-sim/main/DATASETS.md">Datasets</a>).</p> </li> <li> <p>Download example objects</p> <pre><code class="language-bash">python -m habitat_sim.utils.datasets_download --uids habitat_example_objects --data-path /path/to/data/ </code></pre> </li> </ul> </li> <li> <p><strong>Interactive testing</strong>: Use the interactive viewer included with Habitat-Sim in either C++ or python:</p> <pre><code class="language-bash">#C++ # ./build/viewer if compiling locally habitat-viewer /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb #Python #NOTE: depending on your choice of installation, you may need to add '/path/to/habitat-sim' to your PYTHONPATH. #e.g. from 'habitat-sim/' directory run 'export PYTHONPATH=$(pwd)' python examples/viewer.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb </code></pre> <p>You should be able to control an agent in this test scene. Use W/A/S/D keys to move forward/left/backward/right and arrow keys or mouse (LEFT click) to control gaze direction (look up/down/left/right). Try to find the picture of a woman surrounded by a wreath. Have fun!</p> </li> <li> <p><strong>Physical interactions</strong>: Habitat-sim provides rigid and articulated dynamics simulation via integration with <a href="https://pybullet.org/">Bullet physics</a>. Try it out now with our interactive viewer functionality in C++ or python.</p> <p>First, download our fully interactive <a href="https://aihabitat.org/datasets/replica_cad/">ReplicaCAD apartment dataset</a> (140 MB):</p> <pre><code class="language-bash">#NOTE: by default, data will be downloaded into habitat-sim/data/. Optionally modify the data path by adding: `--data-path /path/to/data/` # with conda install python -m habitat_sim.utils.datasets_download --uids replica_cad_dataset # with source (from inside habitat_sim/) python src_python/habitat_sim/utils/datasets_download.py --uids replica_cad_dataset </code></pre> <ul> <li>Alternatively, 105 scene variations with pre-baked lighting are available via <code>--uids replica_cad_baked_lighting</code> (480 MB).</li> </ul> <p>Then load a ReplicaCAD scene in the viewer application with physics enabled. If you modified the data path above, also modify it in viewer calls below.</p> <pre><code class="language-bash">#C++ # ./build/viewer if compiling locally habitat-viewer --enable-physics --dataset data/replica_cad/replicaCAD.scene_dataset_config.json -- apt_1 #python #NOTE: habitat-sim/ directory must be on your `PYTHONPATH` python examples/viewer.py --dataset data/replica_cad/replicaCAD.scene_dataset_config.json --scene apt_1 </code></pre> <ul> <li>Using scenes with pre-baked lighting instead? Use <code>--dataset data/replica_cad_baked_lighting/replicaCAD_baked.scene_dataset_config.json --scene Baked_sc1_staging_00</code></li> </ul> <p>The viewer application outputs the full list of keyboard and mouse interface options to the console at runtime.</p> <p>Quickstart Example:</p> <ul> <li><code>WASD</code> to move</li> <li><code>LEFT</code> click and drag the mouse to look around</li> <li>press <code>SPACE</code> to toggle simulation off/on (default on)</li> <li>press <code>'m'</code> to switch to "GRAB" mouse mode</li> <li>now <code>LEFT</code> or <code>RIGHT</code> click and drag to move objects or open doors/drawers and release to drop the object</li> <li>with an object gripped, scroll the mouse wheel to: <ul> <li>(default): move it closer or farther away</li> <li>(+<code>ALT</code>): rotate object fixed constraint frame (yaw)</li> <li>(+<code>CTRL</code>): rotate object fixed constraint frame (pitch)</li> <li>(+<code>ALT</code>+<code>CTRL</code>): rotate object fixed constraint frame (roll)</li> </ul> </li> </ul> </li> <li> <p><strong>Non-interactive testing</strong> (e.g. for headless systems): Run the example script:</p> <pre><code class="language-bash">python /path/to/habitat-sim/examples/example.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb </code></pre> <p>The agent will traverse a particular path and you should see the performance stats at the very end, something like this: <code>640 x 480, total time: 3.208 sec. FPS: 311.7</code>.</p> <p>To reproduce the benchmark table from <a href="https://arxiv.org/abs/1904.01201">Habitat ICCV'19</a> run <code>examples/benchmark.py --scene /path/to/mp3d_example/17DRP5sb8fy/17DRP5sb8fy.glb</code>.</p> <p>Additional arguments to <code>example.py</code> are provided to change the sensor configuration, print statistics of the semantic annotations in a scene, compute action-space shortest path trajectories, and set other useful functionality. Refer to the <code>example.py</code> and <code>demo_runner.py</code> source files for an overview.</p> <p>Load a specific MP3D or Gibson house: <code>examples/example.py --scene path/to/mp3d/house_id.glb</code>.</p> <p>We have also provided an <a href="https://aihabitat.org/docs/habitat-lab/habitat-lab-demo.html">example demo</a> for reference.</p> <p>To run a physics example in python (after building with "Physics simulation via Bullet"):</p> <pre><code class="language-bash">python examples/example.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb --enable_physics </code></pre> <p>Note that in this mode the agent will be frozen and oriented toward the spawned physical objects. Additionally, <code>--save_png</code> can be used to output agent visual observation frames of the physical scene to the current directory.</p> </li> </ol> <h3>Common testing issues</h3> <ul> <li> <p>If you are running on a remote machine and experience display errors when initializing the simulator, e.g.</p> <pre><code class="language-bash"> X11: The DISPLAY environment variable is missing Could not initialize GLFW </code></pre> <p>ensure you do not have <code>DISPLAY</code> defined in your environment (run <code>unset DISPLAY</code> to undefine the variable)</p> </li> <li> <p>If you see libGL errors like:</p> <pre><code class="language-bash"> X11: The DISPLAY environment variable is missing Could not initialize GLFW </code></pre> <p>chances are your libGL is located at a non-standard location. See e.g. <a href="https://askubuntu.com/questions/541343/problems-with-libgl-fbconfigs-swrast-through-each-update">this issue</a>.</p> </li> </ul> <h2>Documentation</h2> <p>Browse the online <a href="https://aihabitat.org/docs/habitat-sim/index.html">Habitat-Sim documentation</a>.</p> <p>Check out our <a href="https://aihabitat.org/tutorial/2020/">ECCV tutorial series</a> for a hands-on quickstart experience.</p> <p>Can't find the answer to your question? Try asking the developers and community on our <a href="https://github.com/facebookresearch/habitat-lab/discussions">Discussions forum</a>.</p> <h2>Datasets</h2> <p><a href="https://raw.githubusercontent.com/facebookresearch/habitat-sim/main/DATASETS.md">HowTo use common supported datasets with Habitat-Sim</a>.</p> <h2>External Contributions</h2> <ul> <li> <p>If you use the noise model from PyRobot, please cite the their <a href="https://github.com/facebookresearch/pyrobot#citation">technical report</a>.</p> <p>Specifically, the noise model used for the noisy control functions named <code>pyrobot_*</code> and defined in <code>src_python/habitat_sim/agent/controls/pyrobot_noisy_controls.py</code></p> </li> <li> <p>If you use the Redwood Depth Noise Model, please cite their <a href="http://redwood-data.org/indoor/">paper</a></p> <p>Specifically, the noise model defined in <code>src_python/habitat_sim/sensors/noise_models/redwood_depth_noise_model.py</code> and <code>src/esp/sensor/RedwoodNoiseModel.*</code></p> </li> </ul> <h2>License</h2> <p>Habitat-Sim is MIT licensed. See the <a href="https://raw.githubusercontent.com/facebookresearch/habitat-sim/main/LICENSE">LICENSE</a> for details.</p> <p>The WebGL demo and demo scripts use:</p> <ul> <li><a href="https://sketchfab.com/3d-models/the-king-s-hall-d18155613363445b9b68c0c67196d98d">The King´s Hall</a> by <a href="https://sketchfab.com/SkoklosterCastle">Skokloster Castle (Skoklosters slott)</a> licensed under <a href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution</a></li> <li><a href="https://sketchfab.com/3d-models/van-gogh-room-311d052a9f034ba8bce55a1a8296b6f9">Van Gogh Room</a> by <a href="https://sketchfab.com/ruslans3d">ruslans3d</a> licensed under <a href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution</a></li> </ul> \ No newline at end of file diff --git a/c++/weekly/index.xml b/c++/weekly/index.xml deleted file mode 100644 index 18cbb258190..00000000000 --- a/c++/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub C++ Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:07Z - Weekly Trending of C++ in GitHub - - - oceanbase/oceanbase - 2023-10-22T01:48:07Z - tag:github.com,2023-10-22:/oceanbase/oceanbase - - <p>OceanBase is an enterprise distributed relational database with high availability, high performance, horizontal scalability, and compatibility with SQL standards.</p><hr><p align="center"> <a href="https://github.com/oceanbase/oceanbase"> <img alt="OceanBase Logo" src="https://raw.githubusercontent.com/oceanbase/oceanbase/master/images/logo.svg?sanitize=true" width="50%"> </a> </p> <p align="center"> <a href="https://github.com/oceanbase/oceanbase/raw/master/LICENSE"> <img alt="license" src="https://img.shields.io/badge/license-MulanPubL--2.0-blue"> </a> <a href="https://github.com/oceanbase/oceanbase/releases/latest"> <img alt="license" src="https://img.shields.io/badge/dynamic/json?color=blue&amp;label=release&amp;query=tag_name&amp;url=https%3A%2F%2Fapi.github.com%2Frepos%2Foceanbase%2Foceanbase%2Freleases%2Flatest"> </a> <a href="https://github.com/oceanbase/oceanbase"> <img alt="stars" src="https://img.shields.io/badge/dynamic/json?color=blue&amp;label=stars&amp;query=stargazers_count&amp;url=https%3A%2F%2Fapi.github.com%2Frepos%2Foceanbase%2Foceanbase"> </a> <a href="https://github.com/oceanbase/oceanbase"> <img alt="forks" src="https://img.shields.io/badge/dynamic/json?color=blue&amp;label=forks&amp;query=forks&amp;url=https%3A%2F%2Fapi.github.com%2Frepos%2Foceanbase%2Foceanbase"> </a> <a href="https://en.oceanbase.com/docs/oceanbase-database"> <img alt="English doc" src="https://img.shields.io/badge/docs-English-blue"> </a> <a href="https://www.oceanbase.com/docs/oceanbase-database-cn"> <img alt="Chinese doc" src="https://img.shields.io/badge/文档-简体中文-blue"> </a> <a href="https://github.com/oceanbase/oceanbase/actions/workflows/compile.yml"> <img alt="building status" src="https://img.shields.io/github/actions/workflow/status/oceanbase/oceanbase/compile.yml?branch=master"> </a> <a href="https://github.com/oceanbase/oceanbase/commits/master"> <img alt="last commit" src="https://img.shields.io/github/last-commit/oceanbase/oceanbase/master"> </a> <a href="https://join.slack.com/t/oceanbase/shared_invite/zt-1e25oz3ol-lJ6YNqPHaKwY_mhhioyEuw"> <img alt="Join Slack" src="https://img.shields.io/badge/slack-Join%20Oceanbase-brightgreen?logo=slack"> </a> </p> <p>English | <a href="https://raw.githubusercontent.com/oceanbase/oceanbase/master/README_CN.md">中文版</a></p> <p><strong>OceanBase Database</strong> is a distributed relational database. It is developed entirely by Ant Group. OceanBase Database is built on a common server cluster. Based on the <a href="https://lamport.azurewebsites.net/pubs/lamport-paxos.pdf">Paxos</a> protocol and its distributed structure, OceanBase Database provides high availability and linear scalability. OceanBase Database is not dependent on specific hardware architectures.</p> <h1>Key features</h1> <ul> <li> <p><strong>Transparent Scalability</strong></p> <p>An OceanBase cluster can be scaled out to 1,500 nodes transparently, handling petabytes of data and a trillion rows of records.</p> </li> <li> <p><strong>Ultra-fast Performance</strong></p> <p>The only distributed database that has refreshed both TPC-C record, at 707 million tmpC, and TPC-H record, at 15.26 million QphH @30000GB.</p> </li> <li> <p><strong>Real-time Operational Analytics</strong></p> <p>A unified system for both transactional and real-time operational analytics workloads.</p> </li> <li> <p><strong>Continuous Availability</strong></p> <p>OceanBase Database adopts Paxos Consensus algorithm to achieve Zero RPO and less than 8 seconds of RTO. Supports intra-city/remote disaster recovery, enabling multi-activity in multiple locations and zero data loss.</p> </li> <li> <p><strong>MySQL Compatible</strong></p> <p>OceanBase Database is highly compatible with MySQL, which ensures that zero or few modification is needed for migration.</p> </li> <li> <p><strong>Cost Effeciency</strong></p> <p>The cutting-edge compression technology saves 70%-90% of storage costs without compromising performance. The multi-tenancy architecture achieves higher resource utilization.</p> </li> </ul> <p>See also <a href="https://en.oceanbase.com/product/opensource">key features</a> for more details.</p> <h1>Quick start</h1> <h2>🔥 Start with all-in-one</h2> <p>You can quickly deploy a standalone OceanBase Database to experience with the following commands.</p> <p><strong>Note</strong>: Linux Only</p> <pre><code class="language-shell"># download and install all-in-one package (internet connection is required) bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)" source ~/.oceanbase-all-in-one/bin/env.sh # quickly deploy OceanBase database obd demo </code></pre> <h2>🐳 Start with docker</h2> <ol> <li> <p>Start an OceanBase Database instance:</p> <pre><code class="language-shell"># Deploy a mini standalone instance. docker run -p 2881:2881 --name oceanbase-ce -e MINI_MODE=1 -d oceanbase/oceanbase-ce </code></pre> </li> <li> <p>Connect to the OceanBase Database instance:</p> <pre><code class="language-shell">docker exec -it oceanbase-ce ob-mysql sys # Connect to the root user of the sys tenant. </code></pre> </li> </ol> <p>See also <a href="https://en.oceanbase.com/docs/community-observer-en-10000000000829647">Quick experience</a> or <a href="https://open.oceanbase.com/quickStart">Quick Start (Simplified Chinese)</a> for more details.</p> <h2>👨‍💻 Start developing</h2> <p>See <a href="https://github.com/oceanbase/oceanbase/wiki/Compile">OceanBase Developer Document</a> to learn how to compile and deploy a manually compiled observer.</p> <h1>Roadmap</h1> <p>For future plans, see <a href="https://github.com/oceanbase/oceanbase/issues/1364">Roadmap 2023</a>. See also <a href="https://github.com/orgs/oceanbase/projects">OceanBase Roadmap</a> for more details.</p> <h1>Case study</h1> <p>OceanBase has been serving more than 400 customers upgrade their database from different industries, including Financial Services, Telecom, Retail, Internet and more.</p> <p>See also <a href="https://en.oceanbase.com/customer/home">success stories</a> and <a href="https://github.com/oceanbase/oceanbase/issues/1301">Who is using OceanBase</a> for more details.</p> <h1>System architecture</h1> <p><a href="https://en.oceanbase.com/docs/community-observer-en-10000000000829641">Introduction to system architecture</a></p> <h1>Contributing</h1> <p>Contributions are highly appreciated. Read the <a href="https://raw.githubusercontent.com/oceanbase/oceanbase/master/docs/README.md">development guide</a> to getting started.</p> <h1>License</h1> <p>OceanBase Database is licensed under the Mulan Public License, Version 2. See the <a href="https://raw.githubusercontent.com/oceanbase/oceanbase/master/LICENSE">LICENSE</a> file for more info.</p> <h1>Community</h1> <p>Join the OceanBase community via:</p> <ul> <li><a href="https://join.slack.com/t/oceanbase/shared_invite/zt-1e25oz3ol-lJ6YNqPHaKwY_mhhioyEuw">Slack Workspace</a></li> <li><a href="https://ask.oceanbase.com/">Chinese User Forum</a></li> <li>DingTalk Group: 33254054 (<a href="https://raw.githubusercontent.com/oceanbase/oceanbase/master/images/dingtalk.svg">QR code</a>)</li> <li>WeChat Group (Add the assistant with WeChat ID: OBCE666)</li> </ul> - - - google-deepmind/mujoco - 2023-10-22T01:48:07Z - tag:github.com,2023-10-22:/google-deepmind/mujoco - - <p>Multi-Joint dynamics with Contact. A general purpose physics simulator.</p><hr><h1> <a href="https://raw.githubusercontent.com/google-deepmind/mujoco/main/#"><img alt="MuJoCo" src="https://raw.githubusercontent.com/google-deepmind/mujoco/main/banner.png" width="100%"></a> </h1> <p> <a href="https://github.com/google-deepmind/mujoco/actions/workflows/build.yml?query=branch%3Amain" alt="GitHub Actions"> <img src="https://img.shields.io/github/actions/workflow/status/google-deepmind/mujoco/build.yml?branch=main"> </a> <a href="https://mujoco.readthedocs.io/" alt="Documentation"> <img src="https://readthedocs.org/projects/mujoco/badge/?version=latest"> </a> <a href="https://github.com/google-deepmind/mujoco/raw/main/LICENSE" alt="License"> <img src="https://img.shields.io/github/license/google-deepmind/mujoco"> </a> </p> <p><strong>MuJoCo</strong> stands for <strong>Mu</strong>lti-<strong>Jo</strong>int dynamics with <strong>Co</strong>ntact. It is a general purpose physics engine that aims to facilitate research and development in robotics, biomechanics, graphics and animation, machine learning, and other areas which demand fast and accurate simulation of articulated structures interacting with their environment.</p> <p>This repository is maintained by <a href="https://www.deepmind.com/">Google DeepMind</a>.</p> <p>MuJoCo has a C API and is intended for researchers and developers. The runtime simulation module is tuned to maximize performance and operates on low-level data structures that are preallocated by the built-in XML compiler. The library includes interactive visualization with a native GUI, rendered in OpenGL. MuJoCo further exposes a large number of utility functions for computing physics-related quantities.</p> <p>We also provide <a href="https://mujoco.readthedocs.io/en/stable/python.html#python-bindings">Python bindings</a> and a plug-in for the <a href="https://unity.com/">Unity</a> game engine.</p> <h2>Documentation</h2> <p>MuJoCo's documentation can be found at <a href="https://mujoco.readthedocs.io">mujoco.readthedocs.io</a>. Upcoming features due for the next release can be found in the <a href="https://mujoco.readthedocs.io/en/latest/changelog.html">changelog</a> in the latest branch.</p> <h2>Getting Started</h2> <p>There are two easy ways to get started with MuJoCo:</p> <ol> <li> <p><strong>Run <code>simulate</code> on your machine.</strong> <a href="https://www.youtube.com/watch?v=0ORsj_E17B0">This video</a> shows a screen capture of <code>simulate</code>, MuJoCo's native interactive viewer. Follow the steps described in the <a href="https://mujoco.readthedocs.io/en/latest/programming#getting-started">Getting Started</a> section of the documentation to get <code>simulate</code> running on your machine.</p> </li> <li> <p><strong>Explore our online IPython notebooks.</strong> If you are a Python user, you might want to start with our tutorial notebooks running on Google Colab:</p> </li> </ol> <ul> <li>The first tutorial focuses on the basics of MuJoCo: <a href="https://colab.research.google.com/github/google-deepmind/mujoco/blob/main/python/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Open In Colab"></a></li> <li>For a more advanced example, see the LQR tutorial which creates an LQR controller to balance a humanoid on one leg using MuJoCo's dynamics derivatives: <a href="https://colab.research.google.com/github/google-deepmind/mujoco/blob/main/python/LQR.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Open In Colab"></a></li> </ul> <h2>Installation</h2> <h3>Prebuilt binaries</h3> <p>Versioned releases are available as precompiled binaries from the GitHub <a href="https://github.com/google-deepmind/mujoco/releases">releases page</a>, built for Linux (x86-64 and AArch64), Windows (x86-64 only), and macOS (universal). This is the recommended way to use the software.</p> <h3>Building from source</h3> <p>Users who wish to build MuJoCo from source should consult the <a href="https://mujoco.readthedocs.io/en/latest/programming#building-mujoco-from-source">build from source</a> section of the documentation. However, please note that the commit at the tip of the <code>main</code> branch may be unstable.</p> <h3>Python (&gt;= 3.8)</h3> <p>The native Python bindings, which come pre-packaged with a copy of MuJoCo, can be installed from <a href="https://pypi.org/project/mujoco/">PyPI</a> via:</p> <pre><code class="language-bash">pip install mujoco </code></pre> <p>Note that Pre-built Linux wheels target <code>manylinux2014</code>, see <a href="https://github.com/pypa/manylinux">here</a> for compatible distributions. For more information such as building the bindings from source, see the <a href="https://mujoco.readthedocs.io/en/stable/python.html#python-bindings">Python bindings</a> section of the documentation.</p> <h2>Contributing</h2> <p>We welcome community engagement: questions, requests for help, bug reports and feature requests. To read more about bug reports, feature requests and more ambitious contributions, please see our <a href="https://raw.githubusercontent.com/google-deepmind/mujoco/main/CONTRIBUTING.md">contributors guide</a> and <a href="https://raw.githubusercontent.com/google-deepmind/mujoco/main/STYLEGUIDE.md">style guide</a>.</p> <h2>Asking Questions</h2> <p>Questions and requests for help are welcome on the GitHub <a href="https://github.com/google-deepmind/mujoco/issues">Issues</a> page and should focus on a specific problem or question.</p> <p><a href="https://github.com/google-deepmind/mujoco/discussions">Discussions</a> should address wider concerns that might require input from multiple participants.</p> <p>Here are some guidelines for asking good questions:</p> <ol> <li> <p>Search for existing questions or issues that touch on the same subject.</p> <p>You can add comments to existing threads or start new ones. If you start a new thread and there are existing relevant threads, please link to them.</p> </li> <li> <p>Use a clear and specific title. Try to include keywords that will make your question easy for other to find in the future.</p> </li> <li> <p>Introduce yourself and your project more generally.</p> <p>If your level of expertise is exceptional (either high or low), and it might be relevant to what we can assume you know, please state that as well.</p> </li> <li> <p>Take a step back and tell us what you're trying to accomplish, if we understand you goal we might suggest a different type of solution than the one you are having problems with</p> </li> <li> <p>Make it easy for others to reproduce the problem or understand your question.</p> <p>If this requires a model, please include it. Try to make the model minimal: remove elements that are unrelated to your question. Pure XML models should be inlined. Models requiring binary assets (meshes, textures), should be attached as a <code>.zip</code> file. Please make sure the included model is loadable before you attach it.</p> </li> <li> <p>Include an illustrative screenshot or video, if relevant.</p> </li> <li> <p>Tell us how you are accessing MuJoCo (C API, Python bindings, etc.) and which MuJoCo version and operating system you are using.</p> </li> </ol> <h2>Related software</h2> <p>MuJoCo forms the backbone of many environment packages, but these are too many to list here individually. Below we focus on bindings and converters.</p> <h3>Bindings</h3> <p>These packages give users of various languages access to MuJoCo functionality:</p> <h4>First-party bindings:</h4> <ul> <li><a href="https://mujoco.readthedocs.io/en/stable/python.html">Python bindings</a> <ul> <li><a href="https://github.com/google-deepmind/dm_control">dm_control</a>, Google DeepMind's related environment stack, includes <a href="https://github.com/google-deepmind/dm_control/raw/main/dm_control/mjcf/README.md">PyMJCF</a>, a module for procedural manipulation of MuJoCo models.</li> </ul> </li> <li><a href="https://mujoco.readthedocs.io/en/stable/unity.html">C# bindings and Unity plug-in</a></li> </ul> <h4>Third-party bindings:</h4> <ul> <li> <p><strong>WebAssembly</strong>: <a href="https://github.com/zalo/mujoco_wasm">mujoco_wasm</a> by <a href="https://github.com/zalo">@zalo</a> with contributions by <a href="https://github.com/kevinzakka">@kevinzakka</a>, based on the <a href="https://github.com/stillonearth/MuJoCo-WASM">emscripten build</a> by <a href="https://github.com/stillonearth">@stillonearth</a>.</p> <p><span>➡</span> <a href="https://zalo.github.io/mujoco_wasm/">Click here</a> for a live demo of MuJoCo running in your browser.</p> </li> <li> <p><strong>MATLAB Simulink</strong>: <a href="https://github.com/mathworks-robotics/mujoco-simulink-blockset">Simulink Blockset for MuJoCo Simulator</a> by <a href="https://github.com/vmanoj1996">Manoj Velmurugan</a>.</p> </li> <li> <p><strong>Swift</strong>: <a href="https://github.com/liuliu/swift-mujoco">swift-mujoco</a></p> </li> <li> <p><strong>Java</strong>: <a href="https://github.com/CommonWealthRobotics/mujoco-java">mujoco-java</a></p> </li> <li> <p><strong>Julia</strong>: <a href="https://github.com/Lyceum/MuJoCo.jl">Lyceum</a> (unmaintained)</p> </li> </ul> <h3>Converters</h3> <ul> <li><strong>OpenSim</strong>: <a href="https://github.com/MyoHub/myoconverter">MyoConverter</a> converts OpenSim models to MJCF.</li> <li><strong>SDFormat</strong>: <a href="https://github.com/gazebosim/gz-mujoco/">gz-mujoco</a> is a two-way SDFormat &lt;-&gt; MJCF conversion tool.</li> <li><strong>OBJ</strong>: <a href="https://github.com/kevinzakka/obj2mjcf">obj2mjcf</a> a script for converting composite OBJ files into a loadable MJCF model.</li> </ul> <h2>Citation</h2> <p>If you use MuJoCo for published research, please cite:</p> <pre><code>@inproceedings{todorov2012mujoco, title={MuJoCo: A physics engine for model-based control}, author={Todorov, Emanuel and Erez, Tom and Tassa, Yuval}, booktitle={2012 IEEE/RSJ International Conference on Intelligent Robots and Systems}, pages={5026--5033}, year={2012}, organization={IEEE}, doi={10.1109/IROS.2012.6386109} } </code></pre> <h2>License and Disclaimer</h2> <p>Copyright 2021 DeepMind Technologies Limited.</p> <p>Box collision code (<a href="https://github.com/google-deepmind/mujoco/raw/main/src/engine/engine_collision_box.c"><code>engine_collision_box.c</code></a>) is Copyright 2016 Svetoslav Kolev.</p> <p>ReStructuredText documents, images, and videos in the <code>doc</code> directory are made available under the terms of the Creative Commons Attribution 4.0 (CC BY 4.0) license. You may obtain a copy of the License at <a href="https://creativecommons.org/licenses/by/4.0/legalcode">https://creativecommons.org/licenses/by/4.0/legalcode</a>.</p> <p>Source code is licensed under the Apache License, Version 2.0. You may obtain a copy of the License at <a href="https://www.apache.org/licenses/LICENSE-2.0">https://www.apache.org/licenses/LICENSE-2.0</a>.</p> <p>This is not an officially supported Google product.</p> - - - google/glog - 2023-10-22T01:48:07Z - tag:github.com,2023-10-22:/google/glog - - <p>C++ implementation of the Google logging module</p><hr><h1>Google Logging Library</h1> <p>|Linux Github actions| |Windows Github actions| |macOS Github actions| |Codecov|</p> <p>Google Logging (glog) is a C++14 library that implements application-level logging. The library provides logging APIs based on C++-style streams and various helper macros.</p> <p>.. role:: cmake(code) :language: cmake</p> <p>.. role:: cmd(code) :language: bash</p> <p>.. role:: cpp(code) :language: cpp</p> <p>.. role:: bazel(code) :language: starlark</p> <h2>Getting Started</h2> <p>You can log a message by simply streaming things to <code>LOG</code>\ (&lt;a particular <code>severity level &lt;#severity-levels&gt;</code>__&gt;), e.g.,</p> <p>.. code:: cpp</p> <p>#include &lt;glog/logging.h&gt;</p> <p>int main(int argc, char* argv[]) { // Initialize Google’s logging library. google::InitGoogleLogging(argv[0]);</p> <pre><code> // ... LOG(INFO) &lt;&lt; "Found " &lt;&lt; num_cookies &lt;&lt; " cookies"; </code></pre> <p>}</p> <p>For a detailed overview of glog features and their usage, please refer to the <code>user guide &lt;#user-guide&gt;</code>__.</p> <p>.. contents:: Table of Contents</p> <h2>Building from Source</h2> <p>glog supports multiple build systems for compiling the project from source: <code>Bazel &lt;#bazel&gt;</code><strong>, <code>CMake &lt;#cmake&gt;</code></strong>, <code>vcpkg &lt;#vcpkg&gt;</code><strong>, and <code>conan &lt;#conan&gt;</code></strong>.</p> <p>Bazel</p> <pre><code> To use glog within a project which uses the `Bazel &lt;https://bazel.build/&gt;`__ build tool, add the following lines to your ``WORKSPACE`` file: .. code:: bazel load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "com_github_gflags_gflags", sha256 = "34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf", strip_prefix = "gflags-2.2.2", urls = ["https://github.com/gflags/gflags/archive/v2.2.2.tar.gz"], ) http_archive( name = "com_github_google_glog", sha256 = "122fb6b712808ef43fbf80f75c52a21c9760683dae470154f02bddfc61135022", strip_prefix = "glog-0.6.0", urls = ["https://github.com/google/glog/archive/v0.6.0.zip"], ) You can then add :bazel:`@com_github_google_glog//:glog` to the deps section of a :bazel:`cc_binary` or :bazel:`cc_library` rule, and :code:`#include &lt;glog/logging.h&gt;` to include it in your source code. Here’s a simple example: .. code:: bazel cc_binary( name = "main", srcs = ["main.cc"], deps = ["@com_github_google_glog//:glog"], ) CMake </code></pre> <p>glog also supports CMake that can be used to build the project on a wide range of platforms. If you don’t have CMake installed already, you can download it for from CMake’s <code>official website &lt;http://www.cmake.org&gt;</code>__.</p> <p>CMake works by generating native makefiles or build projects that can be used in the compiler environment of your choice. You can either build glog with CMake as a standalone project or it can be incorporated into an existing CMake build for another project.</p> <p>Building glog with CMake ^^^^^^^^^^^^^^^^^^^^^^^^</p> <p>When building glog as a standalone project, on Unix-like systems with GNU Make as build tool, the typical workflow is:</p> <ol> <li>Get the source code and change to it. e.g., cloning with git:</li> </ol> <p>.. code:: bash</p> <pre><code> git clone https://github.com/google/glog.git cd glog </code></pre> <ol start="2"> <li>Run CMake to configure the build tree.</li> </ol> <p>.. code:: bash</p> <pre><code> cmake -S . -B build -G "Unix Makefiles" </code></pre> <p>CMake provides different generators, and by default will pick the most relevant one to your environment. If you need a specific version of Visual Studio, use :cmd:<code>cmake . -G &lt;generator-name&gt;</code>, and see :cmd:<code>cmake --help</code> for the available generators. Also see :cmd:<code>-T &lt;toolset-name&gt;</code>, which can be used to request the native x64 toolchain with :cmd:<code>-T host=x64</code>.</p> <ol start="3"> <li>Afterwards, generated files can be used to compile the project.</li> </ol> <p>.. code:: bash</p> <pre><code> cmake --build build </code></pre> <ol start="4"> <li>Test the build software (optional).</li> </ol> <p>.. code:: bash</p> <pre><code> cmake --build build --target test </code></pre> <ol start="5"> <li>Install the built files (optional).</li> </ol> <p>.. code:: bash</p> <pre><code> cmake --build build --target install </code></pre> <p>Consuming glog in a CMake Project ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p> <p>If you have glog installed in your system, you can use the CMake command :cmake:<code>find_package</code> to build against glog in your CMake Project as follows:</p> <p>.. code:: cmake</p> <p>cmake_minimum_required (VERSION 3.16) project (myproj VERSION 1.0)</p> <p>find_package (glog 0.6.0 REQUIRED)</p> <p>add_executable (myapp main.cpp) target_link_libraries (myapp glog::glog)</p> <p>Compile definitions and options will be added automatically to your target as needed.</p> <p>Incorporating glog into a CMake Project ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p> <p>You can also use the CMake command :cmake:<code>add_subdirectory</code> to include glog directly from a subdirectory of your project by replacing the :cmake:<code>find_package</code> call from the previous example by :cmake:<code>add_subdirectory</code>. The :cmake:<code>glog::glog</code> target is in this case an :cmake:<code>ALIAS</code> library target for the <code>glog</code> library target.</p> <p>Again, compile definitions and options will be added automatically to your target as needed.</p> <p>vcpkg</p> <pre><code> You can download and install glog using the `vcpkg &lt;https://github.com/Microsoft/vcpkg&gt;`__ dependency manager: .. code:: bash git clone https://github.com/Microsoft/vcpkg.git cd vcpkg ./bootstrap-vcpkg.sh ./vcpkg integrate install ./vcpkg install glog The glog port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository. conan </code></pre> <p>You can download and install glog using the <code>conan &lt;https://conan.io&gt;</code>__ package manager:</p> <p>.. code:: bash</p> <p>pip install conan conan install -r conancenter glog/ <glog-version> @ </glog-version></p> <p>The glog recipe in conan center is kept up to date by conan center index community contributors. If the version is out of date, please create an issue or pull request on the <code>conan-center-index &lt;https://github.com/conan-io/conan-center-index&gt;</code>__ repository.</p> <h2>User Guide</h2> <p>glog defines a series of macros that simplify many common logging tasks. You can log messages by severity level, control logging behavior from the command line, log based on conditionals, abort the program when expected conditions are not met, introduce your own verbose logging levels, customize the prefix attached to log messages, and more.</p> <p>Following sections describe the functionality supported by glog. Please note this description may not be complete but limited to the most useful ones. If you want to find less common features, please check header files under <code>src/glog &lt;src/glog&gt;</code>__ directory.</p> <p>Severity Levels</p> <pre><code> You can specify one of the following severity levels (in increasing order of severity): ``INFO``, ``WARNING``, ``ERROR``, and ``FATAL``. Logging a ``FATAL`` message terminates the program (after the message is logged). Note that messages of a given severity are logged not only in the logfile for that severity, but also in all logfiles of lower severity. E.g., a message of severity ``FATAL`` will be logged to the logfiles of severity ``FATAL``, ``ERROR``, ``WARNING``, and ``INFO``. The ``DFATAL`` severity logs a ``FATAL`` error in debug mode (i.e., there is no ``NDEBUG`` macro defined), but avoids halting the program in production by automatically reducing the severity to ``ERROR``. Unless otherwise specified, glog writes to the filename ``/tmp/\&lt;program name\&gt;.\&lt;hostname\&gt;.\&lt;user name\&gt;.log.\&lt;severity level\&gt;.\&lt;date\&gt;-\&lt;time\&gt;.\&lt;pid\&gt;`` (e.g., ``/tmp/hello_world.example.com.hamaji.log.INFO.20080709-222411.10474``). By default, glog copies the log messages of severity level ``ERROR`` or ``FATAL`` to standard error (``stderr``) in addition to log files. Setting Flags ~~~~~~~~~~~~~ Several flags influence glog’s output behavior. If the `Google gflags library &lt;https://github.com/gflags/gflags&gt;`__ is installed on your machine, the build system will automatically detect and use it, allowing you to pass flags on the command line. For example, if you want to turn the flag :cmd:`--logtostderr` on, you can start your application with the following command line: .. code:: bash ./your_application --logtostderr=1 If the Google gflags library isn’t installed, you set flags via environment variables, prefixing the flag name with ``GLOG_``, e.g., .. code:: bash GLOG_logtostderr=1 ./your_application The following flags are most commonly used: ``logtostderr`` (``bool``, default=\ ``false``) Log messages to ``stderr`` instead of logfiles. Note: you can set binary flags to ``true`` by specifying ``1``, ``true``, or ``yes`` (case insensitive). Also, you can set binary flags to ``false`` by specifying ``0``, ``false``, or ``no`` (again, case insensitive). ``stderrthreshold`` (``int``, default=2, which is ``ERROR``) Copy log messages at or above this level to stderr in addition to logfiles. The numbers of severity levels ``INFO``, ``WARNING``, ``ERROR``, and ``FATAL`` are 0, 1, 2, and 3, respectively. ``minloglevel`` (``int``, default=0, which is ``INFO``) Log messages at or above this level. Again, the numbers of severity levels ``INFO``, ``WARNING``, ``ERROR``, and ``FATAL`` are 0, 1, 2, and 3, respectively. ``log_dir`` (``string``, default="") If specified, logfiles are written into this directory instead of the default logging directory. ``v`` (``int``, default=0) Show all ``VLOG(m)`` messages for ``m`` less or equal the value of this flag. Overridable by :cmd:`--vmodule`. See `the section about verbose logging &lt;#verbose-logging&gt;`__ for more detail. ``vmodule`` (``string``, default="") Per-module verbose level. The argument has to contain a comma-separated list of &lt;module name&gt;=&lt;log level&gt;. &lt;module name&gt; is a glob pattern (e.g., ``gfs*`` for all modules whose name starts with "gfs"), matched against the filename base (that is, name ignoring .cc/.h./-inl.h). &lt;log level&gt; overrides any value given by :cmd:`--v`. See also `the section about verbose logging &lt;#verbose-logging&gt;`__. There are some other flags defined in logging.cc. Please grep the source code for ``DEFINE_`` to see a complete list of all flags. You can also modify flag values in your program by modifying global variables ``FLAGS_*`` . Most settings start working immediately after you update ``FLAGS_*`` . The exceptions are the flags related to destination files. For example, you might want to set ``FLAGS_log_dir`` before calling :cpp:`google::InitGoogleLogging` . Here is an example: .. code:: cpp LOG(INFO) &lt;&lt; "file"; // Most flags work immediately after updating values. FLAGS_logtostderr = 1; LOG(INFO) &lt;&lt; "stderr"; FLAGS_logtostderr = 0; // This won’t change the log destination. If you want to set this // value, you should do this before google::InitGoogleLogging . FLAGS_log_dir = "/some/log/directory"; LOG(INFO) &lt;&lt; "the same file"; Conditional / Occasional Logging </code></pre> <p>Sometimes, you may only want to log a message under certain conditions. You can use the following macros to perform conditional logging:</p> <p>.. code:: cpp</p> <p>LOG_IF(INFO, num_cookies &gt; 10) &lt;&lt; "Got lots of cookies";</p> <p>The "Got lots of cookies" message is logged only when the variable <code>num_cookies</code> exceeds 10. If a line of code is executed many times, it may be useful to only log a message at certain intervals. This kind of logging is most useful for informational messages.</p> <p>.. code:: cpp</p> <p>LOG_EVERY_N(INFO, 10) &lt;&lt; "Got the " &lt;&lt; google::COUNTER &lt;&lt; "th cookie";</p> <p>The above line outputs a log messages on the 1st, 11th, 21st, ... times it is executed. Note that the special <code>google::COUNTER</code> value is used to identify which repetition is happening.</p> <p>You can combine conditional and occasional logging with the following macro.</p> <p>.. code:: cpp</p> <p>LOG_IF_EVERY_N(INFO, (size &gt; 1024), 10) &lt;&lt; "Got the " &lt;&lt; google::COUNTER &lt;&lt; "th big cookie";</p> <p>Instead of outputting a message every nth time, you can also limit the output to the first n occurrences:</p> <p>.. code:: cpp</p> <p>LOG_FIRST_N(INFO, 20) &lt;&lt; "Got the " &lt;&lt; google::COUNTER &lt;&lt; "th cookie";</p> <p>Outputs log messages for the first 20 times it is executed. Again, the <code>google::COUNTER</code> identifier indicates which repetition is happening.</p> <p>Other times, it is desired to only log a message periodically based on a time. So for example, to log a message every 10ms:</p> <p>.. code:: cpp</p> <p>LOG_EVERY_T(INFO, 0.01) &lt;&lt; "Got a cookie";</p> <p>Or every 2.35s:</p> <p>.. code:: cpp</p> <p>LOG_EVERY_T(INFO, 2.35) &lt;&lt; "Got a cookie";</p> <p>Debug Mode Support</p> <pre><code> Special "debug mode" logging macros only have an effect in debug mode and are compiled away to nothing for non-debug mode compiles. Use these macros to avoid slowing down your production application due to excessive logging. .. code:: cpp DLOG(INFO) &lt;&lt; "Found cookies"; DLOG_IF(INFO, num_cookies &gt; 10) &lt;&lt; "Got lots of cookies"; DLOG_EVERY_N(INFO, 10) &lt;&lt; "Got the " &lt;&lt; google::COUNTER &lt;&lt; "th cookie"; ``CHECK`` Macros ~~~~~~~~~~~~~~~~ It is a good practice to check expected conditions in your program frequently to detect errors as early as possible. The ``CHECK`` macro provides the ability to abort the application when a condition is not met, similar to the ``assert`` macro defined in the standard C library. ``CHECK`` aborts the application if a condition is not true. Unlike ``assert``, it is \*not\* controlled by ``NDEBUG``, so the check will be executed regardless of compilation mode. Therefore, ``fp-&gt;Write(x)`` in the following example is always executed: .. code:: cpp CHECK(fp-&gt;Write(x) == 4) &lt;&lt; "Write failed!"; There are various helper macros for equality/inequality checks - ``CHECK_EQ``, ``CHECK_NE``, ``CHECK_LE``, ``CHECK_LT``, ``CHECK_GE``, and ``CHECK_GT``. They compare two values, and log a ``FATAL`` message including the two values when the result is not as expected. The values must have :cpp:`operator&lt;&lt;(ostream, ...)` defined. You may append to the error message like so: .. code:: cpp CHECK_NE(1, 2) &lt;&lt; ": The world must be ending!"; We are very careful to ensure that each argument is evaluated exactly once, and that anything which is legal to pass as a function argument is legal here. In particular, the arguments may be temporary expressions which will end up being destroyed at the end of the apparent statement, for example: .. code:: cpp CHECK_EQ(string("abc")[1], ’b’); The compiler reports an error if one of the arguments is a pointer and the other is :cpp:`nullptr`. To work around this, simply :cpp:`static_cast` :cpp:`nullptr` to the type of the desired pointer. .. code:: cpp CHECK_EQ(some_ptr, static_cast&lt;SomeType*&gt;(nullptr)); Better yet, use the ``CHECK_NOTNULL`` macro: .. code:: cpp CHECK_NOTNULL(some_ptr); some_ptr-&gt;DoSomething(); Since this macro returns the given pointer, this is very useful in constructor initializer lists. .. code:: cpp struct S { S(Something* ptr) : ptr_(CHECK_NOTNULL(ptr)) {} Something* ptr_; }; Note that you cannot use this macro as a C++ stream due to this feature. Please use ``CHECK_EQ`` described above to log a custom message before aborting the application. If you are comparing C strings (:cpp:`char *`), a handy set of macros performs case sensitive as well as case insensitive comparisons - ``CHECK_STREQ``, ``CHECK_STRNE``, ``CHECK_STRCASEEQ``, and ``CHECK_STRCASENE``. The CASE versions are case-insensitive. You can safely pass :cpp:`nullptr` pointers for this macro. They treat :cpp:`nullptr` and any non-:cpp:`nullptr` string as not equal. Two :cpp:`nullptr`\ s are equal. Note that both arguments may be temporary strings which are destructed at the end of the current "full expression" (e.g., :cpp:`CHECK_STREQ(Foo().c_str(), Bar().c_str())` where ``Foo`` and ``Bar`` return C++’s :cpp:`std::string`). The ``CHECK_DOUBLE_EQ`` macro checks the equality of two floating point values, accepting a small error margin. ``CHECK_NEAR`` accepts a third floating point argument, which specifies the acceptable error margin. Verbose Logging ~~~~~~~~~~~~~~~ When you are chasing difficult bugs, thorough log messages are very useful. However, you may want to ignore too verbose messages in usual development. For such verbose logging, glog provides the ``VLOG`` macro, which allows you to define your own numeric logging levels. The :cmd:`--v` command line option controls which verbose messages are logged: .. code:: cpp VLOG(1) &lt;&lt; "I’m printed when you run the program with --v=1 or higher"; VLOG(2) &lt;&lt; "I’m printed when you run the program with --v=2 or higher"; With ``VLOG``, the lower the verbose level, the more likely messages are to be logged. For example, if :cmd:`--v==1`, ``VLOG(1)`` will log, but ``VLOG(2)`` will not log. This is opposite of the severity level, where ``INFO`` is 0, and ``ERROR`` is 2. :cmd:`--minloglevel` of 1 will log ``WARNING`` and above. Though you can specify any integers for both ``VLOG`` macro and :cmd:`--v` flag, the common values for them are small positive integers. For example, if you write ``VLOG(0)``, you should specify :cmd:`--v=-1` or lower to silence it. This is less useful since we may not want verbose logs by default in most cases. The ``VLOG`` macros always log at the ``INFO`` log level (when they log at all). Verbose logging can be controlled from the command line on a per-module basis: .. code:: bash --vmodule=mapreduce=2,file=1,gfs*=3 --v=0 will: (a) Print ``VLOG(2)`` and lower messages from mapreduce.{h,cc} (b) Print ``VLOG(1)`` and lower messages from file.{h,cc} (c) Print ``VLOG(3)`` and lower messages from files prefixed with "gfs" (d) Print ``VLOG(0)`` and lower messages from elsewhere The wildcarding functionality shown by (c) supports both ’*’ (matches 0 or more characters) and ’?’ (matches any single character) wildcards. Please also check the section about `command line flags &lt;#setting-flags&gt;`__. There’s also ``VLOG_IS_ON(n)`` "verbose level" condition macro. This macro returns true when the :cmd:`--v` is equal or greater than ``n``. To be used as .. code:: cpp if (VLOG_IS_ON(2)) { // do some logging preparation and logging // that can’t be accomplished with just VLOG(2) &lt;&lt; ...; } Verbose level condition macros ``VLOG_IF``, ``VLOG_EVERY_N`` and ``VLOG_IF_EVERY_N`` behave analogous to ``LOG_IF``, ``LOG_EVERY_N``, ``LOF_IF_EVERY``, but accept a numeric verbosity level as opposed to a severity level. .. code:: cpp VLOG_IF(1, (size &gt; 1024)) &lt;&lt; "I’m printed when size is more than 1024 and when you run the " "program with --v=1 or more"; VLOG_EVERY_N(1, 10) &lt;&lt; "I’m printed every 10th occurrence, and when you run the program " "with --v=1 or more. Present occurrence is " &lt;&lt; google::COUNTER; VLOG_IF_EVERY_N(1, (size &gt; 1024), 10) &lt;&lt; "I’m printed on every 10th occurrence of case when size is more " " than 1024, when you run the program with --v=1 or more. "; "Present occurrence is " &lt;&lt; google::COUNTER; Custom Log Prefix Format </code></pre> <p>glog supports changing the format of the prefix attached to log messages by receiving a user-provided callback to be used to generate such strings.</p> <p>For each log entry, the callback will be invoked with a <code>LogMessageInfo</code> struct containing the severity, filename, line number, thread ID, and time of the event. It will also be given a reference to the output stream, whose contents will be prepended to the actual message in the final log line.</p> <p>For example:</p> <p>.. code:: cpp</p> <pre><code>/* This function writes a prefix that matches glog's default format. * (The third parameter can be used to receive user-supplied data, and is * nullptr by default.) */ void CustomPrefix(std::ostream &amp;s, const LogMessageInfo &amp;l, void*) { s &lt;&lt; l.severity[0] &lt;&lt; setw(4) &lt;&lt; 1900 + l.time.year() &lt;&lt; setw(2) &lt;&lt; 1 + l.time.month() &lt;&lt; setw(2) &lt;&lt; l.time.day() &lt;&lt; ' ' &lt;&lt; setw(2) &lt;&lt; l.time.hour() &lt;&lt; ':' &lt;&lt; setw(2) &lt;&lt; l.time.min() &lt;&lt; ':' &lt;&lt; setw(2) &lt;&lt; l.time.sec() &lt;&lt; "." &lt;&lt; setw(6) &lt;&lt; l.time.usec() &lt;&lt; ' ' &lt;&lt; setfill(' ') &lt;&lt; setw(5) &lt;&lt; l.thread_id &lt;&lt; setfill('0') &lt;&lt; ' ' &lt;&lt; l.filename &lt;&lt; ':' &lt;&lt; l.line_number &lt;&lt; "]"; } </code></pre> <p>To enable the use of <code>CustomPrefix()</code>, simply give glog a pointer to it during initialization: <code>InitGoogleLogging(argv[0], &amp;CustomPrefix);</code>.</p> <p>Optionally, <code>InitGoogleLogging()</code> takes a third argument of type <code>void*</code> to pass on to the callback function.</p> <p>Failure Signal Handler</p> <pre><code> The library provides a convenient signal handler that will dump useful information when the program crashes on certain signals such as ``SIGSEGV``. The signal handler can be installed by :cpp:`google::InstallFailureSignalHandler()`. The following is an example of output from the signal handler. :: *** Aborted at 1225095260 (unix time) try "date -d @1225095260" if you are using GNU date *** *** SIGSEGV (@0x0) received by PID 17711 (TID 0x7f893090a6f0) from PID 0; stack trace: *** PC: @ 0x412eb1 TestWaitingLogSink::send() @ 0x7f892fb417d0 (unknown) @ 0x412eb1 TestWaitingLogSink::send() @ 0x7f89304f7f06 google::LogMessage::SendToLog() @ 0x7f89304f35af google::LogMessage::Flush() @ 0x7f89304f3739 google::LogMessage::~LogMessage() @ 0x408cf4 TestLogSinkWaitTillSent() @ 0x4115de main @ 0x7f892f7ef1c4 (unknown) @ 0x4046f9 (unknown) By default, the signal handler writes the failure dump to the standard error. You can customize the destination by :cpp:`InstallFailureWriter()`. Performance of Messages </code></pre> <p>The conditional logging macros provided by glog (e.g., <code>CHECK</code>, <code>LOG_IF</code>, <code>VLOG</code>, etc.) are carefully implemented and don’t execute the right hand side expressions when the conditions are false. So, the following check may not sacrifice the performance of your application.</p> <p>.. code:: cpp</p> <p>CHECK(obj.ok) &lt;&lt; obj.CreatePrettyFormattedStringButVerySlow();</p> <p>User-defined Failure Function</p> <pre><code> ``FATAL`` severity level messages or unsatisfied ``CHECK`` condition terminate your program. You can change the behavior of the termination by :cpp:`InstallFailureFunction`. .. code:: cpp void YourFailureFunction() { // Reports something... exit(EXIT_FAILURE); } int main(int argc, char* argv[]) { google::InstallFailureFunction(&amp;YourFailureFunction); } By default, glog tries to dump stacktrace and makes the program exit with status 1. The stacktrace is produced only when you run the program on an architecture for which glog supports stack tracing (as of September 2008, glog supports stack tracing for x86 and x86_64). Raw Logging ~~~~~~~~~~~ The header file ``&lt;glog/raw_logging.h&gt;`` can be used for thread-safe logging, which does not allocate any memory or acquire any locks. Therefore, the macros defined in this header file can be used by low-level memory allocation and synchronization code. Please check `src/glog/raw_logging.h.in &lt;src/glog/raw_logging.h.in&gt;`__ for detail. Google Style ``perror()`` ~~~~~~~~~~~~~~~~~~~~~~~~~ ``PLOG()`` and ``PLOG_IF()`` and ``PCHECK()`` behave exactly like their ``LOG*`` and ``CHECK`` equivalents with the addition that they append a description of the current state of errno to their output lines. E.g. .. code:: cpp PCHECK(write(1, nullptr, 2) &gt;= 0) &lt;&lt; "Write nullptr failed"; This check fails with the following error message. :: F0825 185142 test.cc:22] Check failed: write(1, nullptr, 2) &gt;= 0 Write nullptr failed: Bad address [14] Syslog ~~~~~~ ``SYSLOG``, ``SYSLOG_IF``, and ``SYSLOG_EVERY_N`` macros are available. These log to syslog in addition to the normal logs. Be aware that logging to syslog can drastically impact performance, especially if syslog is configured for remote logging! Make sure you understand the implications of outputting to syslog before you use these macros. In general, it’s wise to use these macros sparingly. Strip Logging Messages ~~~~~~~~~~~~~~~~~~~~~~ Strings used in log messages can increase the size of your binary and present a privacy concern. You can therefore instruct glog to remove all strings which fall below a certain severity level by using the ``GOOGLE_STRIP_LOG`` macro: If your application has code like this: .. code:: cpp #define GOOGLE_STRIP_LOG 1 // this must go before the #include! #include &lt;glog/logging.h&gt; The compiler will remove the log messages whose severities are less than the specified integer value. Since ``VLOG`` logs at the severity level ``INFO`` (numeric value ``0``), setting ``GOOGLE_STRIP_LOG`` to 1 or greater removes all log messages associated with ``VLOG``\ s as well as ``INFO`` log statements. Automatically Remove Old Logs </code></pre> <p>To enable the log cleaner:</p> <p>.. code:: cpp</p> <p>google::EnableLogCleaner(3); // keep your logs for 3 days</p> <p>And then glog will check if there are overdue logs whenever a flush is performed. In this example, any log file from your project whose last modified time is greater than 3 days will be unlink()ed.</p> <p>This feature can be disabled at any time (if it has been enabled)</p> <p>.. code:: cpp</p> <p>google::DisableLogCleaner();</p> <p>Notes for Windows Users</p> <pre><code> glog defines a severity level ``ERROR``, which is also defined in ``windows.h`` . You can make glog not define ``INFO``, ``WARNING``, ``ERROR``, and ``FATAL`` by defining ``GLOG_NO_ABBREVIATED_SEVERITIES`` before including ``glog/logging.h`` . Even with this macro, you can still use the iostream like logging facilities: .. code:: cpp #define GLOG_NO_ABBREVIATED_SEVERITIES #include &lt;windows.h&gt; #include &lt;glog/logging.h&gt; // ... LOG(ERROR) &lt;&lt; "This should work"; LOG_IF(ERROR, x &gt; y) &lt;&lt; "This should be also OK"; However, you cannot use ``INFO``, ``WARNING``, ``ERROR``, and ``FATAL`` anymore for functions defined in ``glog/logging.h`` . .. code:: cpp #define GLOG_NO_ABBREVIATED_SEVERITIES #include &lt;windows.h&gt; #include &lt;glog/logging.h&gt; // ... // This won’t work. // google::FlushLogFiles(google::ERROR); // Use this instead. google::FlushLogFiles(google::GLOG_ERROR); If you don’t need ``ERROR`` defined by ``windows.h``, there are a couple of more workarounds which sometimes don’t work: - ``#define WIN32_LEAN_AND_MEAN`` or ``NOGDI`` **before** you ``#include windows.h``. - ``#undef ERROR`` **after** you ``#include windows.h`` . See `this issue &lt;http://code.google.com/p/google-glog/issues/detail?id=33&gt;`__ for more detail. Installation Notes for 64-bit Linux Systems </code></pre> <p>The glibc built-in stack-unwinder on 64-bit systems has some problems with glog. (In particular, if you are using :cpp:<code>InstallFailureSignalHandler()</code>, the signal may be raised in the middle of malloc, holding some malloc-related locks when they invoke the stack unwinder. The built-in stack unwinder may call malloc recursively, which may require the thread to acquire a lock it already holds: deadlock.)</p> <p>For that reason, if you use a 64-bit system and you need :cpp:<code>InstallFailureSignalHandler()</code>, we strongly recommend you install <code>libunwind</code> before trying to configure or install google glog. libunwind can be found <code>here &lt;http://download.savannah.nongnu.org/releases/libunwind/libunwind-snap-070410.tar.gz&gt;</code>__.</p> <p>Even if you already have <code>libunwind</code> installed, you will probably still need to install from the snapshot to get the latest version.</p> <p>Caution: if you install libunwind from the URL above, be aware that you may have trouble if you try to statically link your binary with glog: that is, if you link with <code>gcc -static -lgcc_eh ...</code>. This is because both <code>libunwind</code> and <code>libgcc</code> implement the same C++ exception handling APIs, but they implement them differently on some platforms. This is not likely to be a problem on ia64, but may be on x86-64.</p> <p>Also, if you link binaries statically, make sure that you add :cmd:<code>-Wl,--eh-frame-hdr</code> to your linker options. This is required so that <code>libunwind</code> can find the information generated by the compiler required for stack unwinding.</p> <p>Using :cmd:<code>-static</code> is rare, though, so unless you know this will affect you it probably won’t.</p> <p>If you cannot or do not wish to install libunwind, you can still try to use two kinds of stack-unwinder: 1. glibc built-in stack-unwinder and 2. frame pointer based stack-unwinder.</p> <ol> <li> <p>As we already mentioned, glibc’s unwinder has a deadlock issue. However, if you don’t use :cpp:<code>InstallFailureSignalHandler()</code> or you don’t worry about the rare possibilities of deadlocks, you can use this stack-unwinder. If you specify no options and <code>libunwind</code> isn’t detected on your system, the configure script chooses this unwinder by default.</p> </li> <li> <p>The frame pointer based stack unwinder requires that your application, the glog library, and system libraries like libc, all be compiled with a frame pointer. This is <em>not</em> the default for x86-64.</p> </li> </ol> <h2>How to Contribute</h2> <p>We’d love to accept your patches and contributions to this project. There are a just a few small guidelines you need to follow.</p> <p>Contributor License Agreement (CLA)</p> <pre><code> Contributions to any Google project must be accompanied by a Contributor License Agreement. This is not a copyright **assignment**, it simply gives Google permission to use and redistribute your contributions as part of the project. * If you are an individual writing original source code and you’re sure you own the intellectual property, then you’ll need to sign an `individual CLA &lt;https://developers.google.com/open-source/cla/individual&gt;`__. * If you work for a company that wants to allow you to contribute your work, then you’ll need to sign a `corporate CLA &lt;https://developers.google.com/open-source/cla/corporate&gt;`__. You generally only need to submit a CLA once, so if you’ve already submitted one (even if it was for a different project), you probably don’t need to do it again. Once your CLA is submitted (or if you already submitted one for another Google project), make a commit adding yourself to the `AUTHORS &lt;./AUTHORS&gt;`__ and `CONTRIBUTORS &lt;./CONTRIBUTORS&gt;`__ files. This commit can be part of your first `pull request &lt;https://help.github.com/articles/creating-a-pull-request&gt;`__. Submitting a Patch ~~~~~~~~~~~~~~~~~~ 1. It’s generally best to start by opening a new issue describing the bug or feature you’re intending to fix. Even if you think it’s relatively minor, it’s helpful to know what people are working on. Mention in the initial issue that you are planning to work on that bug or feature so that it can be assigned to you. 2. Follow the normal process of `forking &lt;https://help.github.com/articles/fork-a-repo&gt;`__ the project, and setup a new branch to work in. It’s important that each group of changes be done in separate branches in order to ensure that a pull request only includes the commits related to that bug or feature. 3. Do your best to have `well-formed commit messages &lt;http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html&gt;`__ for each change. This provides consistency throughout the project, and ensures that commit messages are able to be formatted properly by various git tools. 4. Finally, push the commits to your fork and submit a `pull request &lt;https://help.github.com/articles/creating-a-pull-request&gt;`__. .. |Linux Github actions| image:: https://github.com/google/glog/actions/workflows/linux.yml/badge.svg :target: https://github.com/google/glog/actions .. |Windows Github actions| image:: https://github.com/google/glog/actions/workflows/windows.yml/badge.svg :target: https://github.com/google/glog/actions .. |macOS Github actions| image:: https://github.com/google/glog/actions/workflows/macos.yml/badge.svg :target: https://github.com/google/glog/actions .. |Codecov| image:: https://codecov.io/gh/google/glog/branch/master/graph/badge.svg?token=8an420vNju :target: https://codecov.io/gh/google/glog </code></pre> - - \ No newline at end of file diff --git a/c-objdump/daily/index.xml b/c-objdump/daily/index.xml index 0c90cfad27d..78cfcfdd30d 100644 --- a/c-objdump/daily/index.xml +++ b/c-objdump/daily/index.xml @@ -1,7 +1,7 @@ GitHub C-ObjDump Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:41Z + 2023-10-23T01:25:54Z Daily Trending of C-ObjDump in GitHub \ No newline at end of file diff --git a/c-objdump/weekly/index.xml b/c-objdump/weekly/index.xml deleted file mode 100644 index 447288fb933..00000000000 --- a/c-objdump/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub C-ObjDump Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:02Z - Weekly Trending of C-ObjDump in GitHub - - \ No newline at end of file diff --git a/c/daily/index.xml b/c/daily/index.xml index c4204795585..4a3e1989933 100644 --- a/c/daily/index.xml +++ b/c/daily/index.xml @@ -1,28 +1,21 @@ GitHub C Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:21Z + 2023-10-23T01:25:39Z Daily Trending of C in GitHub - M2Team/NanaZip - 2023-10-22T01:28:21Z - tag:github.com,2023-10-22:/M2Team/NanaZip - - <p>The 7-Zip derivative intended for the modern Windows experience</p><hr><h1><img src="https://raw.githubusercontent.com/M2Team/NanaZip/main/Assets/NanaZip.png" alt="NanaZip"> NanaZip</h1> <p><a href="https://github.com/M2Team/NanaZip/actions/workflows/BuildBinaries.yml?query=event%3Apush+branch%3Amaster"><img src="https://github.com/M2Team/NanaZip/actions/workflows/BuildBinaries.yml/badge.svg?branch=master&amp;event=push" alt="GitHub Actions Build Status"></a> <a href="https://github.com/M2Team/NanaZip/releases"><img src="https://img.shields.io/github/downloads/M2Team/NanaZip/total" alt="Total Downloads"></a> <a href="https://www.microsoft.com/store/productId/9N8G7TSCL18R"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fmicrosoft-store-badge.fly.dev%2Fapi%2Frating%3FstoreId%3D9N8G7TSCL18R%26market%3DUS&amp;style=flat&amp;color=brightgreen" alt="Rating"></a></p> <p><a href="https://www.microsoft.com/store/apps/9N8G7TSCL18R"><img src="https://img.shields.io/badge/Windows%20Store-Release%20Channel-blue" alt="Windows Store - Release Channel"></a> <a href="https://www.microsoft.com/store/apps/9NZL0LRP1BNL"><img src="https://img.shields.io/badge/Windows%20Store-Preview%20Channel-blue" alt="Windows Store - Preview Channel"></a></p> <p><a href="https://github.com/M2Team/NanaZip/releases/latest"><img src="https://img.shields.io/github/v/release/M2Team/NanaZip?display_name=release&amp;sort=date&amp;color=%23a4a61d" alt="Latest Version - Release Channel"></a> <a href="https://github.com/M2Team/NanaZip/releases"><img src="https://img.shields.io/github/v/release/M2Team/NanaZip?include_prereleases&amp;display_name=release&amp;sort=date&amp;color=%23a4a61d" alt="Latest Version - Preview Channel"></a></p> <p><a href="https://github.com/M2Team/NanaZip/releases/latest"><img src="https://img.shields.io/github/downloads/M2Team/NanaZip/latest/total" alt="Latest Release Downloads - Release Channel"></a> <a href="https://github.com/M2Team/NanaZip/releases"><img src="https://img.shields.io/github/downloads-pre/M2Team/NanaZip/latest/total" alt="Latest Release Downloads - Preview Channel"></a></p> <p><a href="https://sourceforge.net/projects/nanazip/files/latest/download"><img src="https://img.shields.io/badge/SourceForge-Download-orange" alt="Download NanaZip from SourceForge mirror"></a></p> <p><img src="https://raw.githubusercontent.com/M2Team/NanaZip/main/Documents/ContextMenu.png" alt="ContextMenu"> <img src="https://raw.githubusercontent.com/M2Team/NanaZip/main/Documents/MainWindow.png" alt="MainWindow"></p> <p>NanaZip is an open source file archiver intended for the modern Windows experience, forked from the source code of well-known open source file archiver 7-Zip.</p> <p><strong>All kinds of contributions will be appreciated. All suggestions, pull requests and issues are welcome.</strong></p> <p>Maybe everyone needs to know I am not a full-time or paid developer for NanaZip. I have my work to do. I need to work for Tencent-related company during the day. I develop individual open-source projects at night.</p> <p>I also need to port the project (I am a leader of a live-streaming project for Windows) which I maintained for the company to Linux in recent days. So, I am really busy. I sleep in midnight every day because I need to do both company project and individual projects. I hope I can have more sponsors and contributors for encouraging me not to give up. (I am afraid I would give up without the @AndromedaMelody's huge contributions for Mile.Xaml and NanaZip.)</p> <p>If you want to sponsor me, please read <a href="https://github.com/MouriNaruto/MouriNaruto/raw/main/Sponsor">this document</a>.</p> <p>I hope I can release at least one preview version of NanaZip 3.x in 2023. So, I am trying my best to implement the related infrastructures like <a href="https://github.com/ProjectMile/Mile.Xaml">Mile.Xaml</a>.</p> <p>Kenji Mouri</p> <h2>Features</h2> <ul> <li>Inherit all features from 7-Zip 23.01.</li> <li>Packaging with MSIX for modern deployment experience.</li> <li>Support the context menu in Windows 10/11 File Explorer.</li> <li>Enable NSIS script decompiling support for the NSIS archives. (Merged from <a href="https://github.com/myfreeer/7z-build-nsis">7-Zip NSIS branch</a>.)</li> <li>Provide 7-Zip execution alias for helping users to migrate to NanaZip.</li> <li>Support the Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard codecs. (Merged from <a href="https://github.com/mcmilk/7-Zip-zstd">7-Zip ZS branch</a>.)</li> <li>Support the Per-Monitor DPI-Aware for all GUI components.</li> <li>Support the i18n for GUI edition of Self Extracting Executable.</li> <li>Integrate the following HASH algorithms to NanaZip from RHash (AICH, BLAKE2b, BTIH, ED2K, EDON-R 224, EDON-R 256, EDON-R 384, EDON-R 512, GOST R 34.11-94, GOST R 34.11-94 CryptoPro, GOST R 34.11-2012 256, GOST R 34.11-2012 512, HAS-160, RIPEMD-160, SHA-224, SHA3-224, SHA3-256, SHA3-384, SHA3-512, Snefru-128, Snefru-256, Tiger, Tiger2, TTH, Whirlpool), xxHash (XXH3_64bits, XXH3_128bits) and GmSSL (SM3).</li> <li>Enable Control Flow Guard (CFG) to all target binaries for mitigating ROP attacks.</li> <li>Mark all x86 and x64 target binaries as compatible with Control-flow Enforcement Technology (CET) Shadow Stack.</li> <li>Strict handle checks at runtime to block the use of invalid handles.</li> <li>Disable dynamic code generation in Release builds prevents generating malicious code at runtime.</li> <li>Block loading unexpected libraries from remote sources at runtime.</li> <li>Enable Package Integrity Check.</li> <li>Enable EH Continuation Metadata.</li> <li>Enable Signed Returns.</li> </ul> <h2>Differences between NanaZip and NanaZip Classic</h2> <p>NanaZip 3.0 and onwards will have two distribution flavors called NanaZip and NanaZip Classic. Here are the differences between them.</p> <ul> <li> <p>NanaZip</p> <ul> <li>Only 64-Bit support.</li> <li>Only MSIX packaged version.</li> <li>Support new context menu introduced by Windows 11.</li> <li>Only support Windows 10 Version 2004 (Build 19041) or later.</li> <li>Have XAML-based GUI and VT-based CLI.</li> </ul> </li> <li> <p>NanaZip Classic</p> <ul> <li>Have 32-Bit support.</li> <li>Only unpackaged version (installer or portable).</li> <li>Only support legacy context menu.</li> <li>Support Windows Vista RTM (Build 6000.16386) or later.</li> <li>Keep Win32 GUI and Win32 CLI.</li> </ul> </li> </ul> <h2>System Requirements</h2> <ul> <li> <p>NanaZip (XAML-based GUI, VT-based CLI and MSIX package)</p> <ul> <li>Supported OS: Windows 10 Version 2004 (Build 19041) or later</li> <li>Supported Platforms: x86 (64-bit) and ARM (64-bit)</li> </ul> </li> <li> <p>NanaZip Classic (Win32 GUI and Win32 CLI)</p> <ul> <li>Supported OS: Windows Vista RTM (Build 6000.16386) or later</li> <li>Supported Platforms: x86 (32-bit and 64-bit) and ARM (64-bit)</li> </ul> </li> <li> <p>NanaZip.Core (Core Library and the Self Extracting Executables)</p> <ul> <li>Supported OS: Windows Vista RTM (Build 6000.16386) or later</li> <li>Supported Platforms: x86 (32-bit and 64-bit) and ARM (64-bit)</li> </ul> </li> </ul> <h2>Download and Installation</h2> <p>Here are some available installation methods for NanaZip.</p> <h3>Microsoft Store</h3> <p>This is the recommended way to install NanaZip.</p> <p>Search and install <code>NanaZip</code> in Windows Store for stable release, and <code>NanaZip Preview</code> for preview release.</p> <p>Also, you can also click the Microsoft Store link you needed.</p> <ul> <li><a href="https://www.microsoft.com/store/apps/9N8G7TSCL18R">NanaZip</a></li> <li><a href="https://www.microsoft.com/store/apps/9NZL0LRP1BNL">NanaZip Preview</a></li> </ul> <h3>MSIX Package</h3> <p>You also can download the MSIX Package in <a href="https://github.com/M2Team/NanaZip/releases">GitHub Releases</a>.</p> <p>After you have downloaded the MSIX Package, you can double click to install it, or you can execute the following command in the PowerShell which is run as administrator.</p> <blockquote> <p>PowerShell -NoLogo -NoProfile -NonInteractive -InputFormat None -ExecutionPolicy Bypass Add-AppxPackage -DeferRegistrationWhenPackagesAreInUse -ForceUpdateFromAnyVersion -Path <code>The path of the MSIX package</code></p> </blockquote> <p>P.S. All needed dependencies are included in the MSIX Package of NanaZip because we known that it's very difficult for users who do not have access to the store to get our dependency packages, and we want to be robust and deployable everywhere.</p> <p>If you want to install NanaZip for all users, you can execute the following command in the PowerShell which is run as administrator.</p> <blockquote> <p>PowerShell -NoLogo -NoProfile -NonInteractive -InputFormat None -ExecutionPolicy Bypass Add-AppxProvisionedPackage -Online -PackagePath <code>The path of the MSIX package</code> -SkipLicense</p> </blockquote> <p>You also can execute the following command in the Command Prompt which is run as administrator instead.</p> <blockquote> <p>DISM.exe /Online /Add-ProvisionedAppxPackage /PackagePath:<code>The path of the MSIX package</code> /SkipLicense</p> </blockquote> <p>For more information, please read documents for <a href="https://learn.microsoft.com/en-us/powershell/module/dism/add-appxprovisionedpackage?view=windowsserver2022-ps">PowerShell</a> and <a href="https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/dism-app-package--appx-or-appxbundle--servicing-command-line-options?view=windows-11">DISM</a></p> <p>P.S. Due to the policy from Microsoft Store, you need to run NanaZip with the internet connection at the first time for getting the license if you install NanaZip without the internet connection, otherwise Windows won't launch NanaZip properly.</p> <p>If you want to uninstall NanaZip you installed for all users, you can execute the following command in the PowerShell which is run as administrator.</p> <blockquote> <p>Get-AppxPackage -Name <em>40174MouriNaruto.NanaZip</em> -AllUsers | Remove-AppxPackage -AllUsers -Confirm</p> </blockquote> <h2>Known issues</h2> <ul> <li>If you can't find NanaZip in the context menu, please restart all File Explorer processes via Task Manager.</li> <li>Due to the design of MSIX, drives' context menu in Explorer only show in Windows 11(22H2)+.</li> <li>Due to the issues in Desktop Bridge file system virtualization, you are unable to use NanaZip in the Safe Mode of Windows.</li> <li>Due to the policy from Microsoft Store, NanaZip is unable to disable Desktop Bridge file system virtualization, so the file operations in <code>%UserProfile%/AppData</code> will be redirected in Windows 10, and file operations in directories other than <code>Local</code>, <code>LocalLow</code> and <code>Roaming</code> in <code>%UserProfile%/AppData</code> will still be redirected in Windows 11.</li> <li>Due to the Microsoft Store limitations, NanaZip 1.2 and later won't support languages not mentioned in <a href="https://docs.microsoft.com/en-us/windows/uwp/publish/supported-languages">https://docs.microsoft.com/en-us/windows/uwp/publish/supported-languages</a>.</li> <li>If you turn off the Windows Firewall, you may fail to install NanaZip. (<a href="https://github.com/M2Team/NanaZip/issues/204">https://github.com/M2Team/NanaZip/issues/204</a>) (<a href="https://github.com/microsoft/terminal/issues/12269">https://github.com/microsoft/terminal/issues/12269</a>)</li> <li>Due to the System Settings APP limitations, only starting with Windows 11+ (Build 22000.1817+ &amp; 22621.1555+), you can launch directly to the settings page of file association for NanaZip. (<a href="https://learn.microsoft.com/en-us/windows/uwp/launch-resume/launch-default-apps-settings">https://learn.microsoft.com/en-us/windows/uwp/launch-resume/launch-default-apps-settings</a>)</li> </ul> <h2>Development Roadmap</h2> <ul> <li>1.0 (December 8, 2021) <ul> <li><input type="checkbox" checked disabled> Modernize the build toolchain with MSBuild for using MSIX packaging and parallel compilation support.</li> <li><input type="checkbox" checked disabled> Use <a href="https://github.com/Chuyu-Team/VC-LTL5">VC-LTL 5.x</a> toolchain to make the binary size even smaller than the official 7-Zip because we can use ucrtbase.dll directly and the optimizations from modern compile toolchain.</li> <li><input type="checkbox" checked disabled> Add the context menu support in Windows 10/11 File Explorer.</li> <li><input type="checkbox" checked disabled> New icons and minor UI tweaks.</li> <li><input type="checkbox" checked disabled> Merge NSIS script decompiling support from <a href="https://github.com/myfreeer/7z-build-nsis">7-Zip NSIS branch</a>. (Suggested by alanfox2000.)</li> <li><input type="checkbox" checked disabled> Provide 7-Zip execution alias for helping users to migrate to NanaZip. (Suggested by AndromedaMelody.)</li> <li><input type="checkbox" checked disabled> Add support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard from <a href="https://github.com/mcmilk/7-Zip-zstd">7-Zip ZS branch</a>. (Suggested by fcharlie.)</li> </ul> </li> <li>1.1 (March 17, 2022) <ul> <li><input type="checkbox" checked disabled> Add assembly implementations from 7-Zip back for improving performance.</li> <li><input type="checkbox" checked disabled> Reimplement the about dialog with Task Dialog.</li> <li><input type="checkbox" checked disabled> Modernize the message boxes with Task Dialog.</li> </ul> </li> <li>1.2 (May 11, 2022) <ul> <li><input type="checkbox" checked disabled> Add Per-Monitor DPI-Aware support for all UI components.</li> <li><input type="checkbox" checked disabled> Modernize the i18n implementation and migrate language files from <code>.txt</code> to <code>.resw</code>. (Suggested by Maicol Battistini.)</li> <li><input type="checkbox" checked disabled> Add i18n support for Self Extracting Executables.</li> </ul> </li> <li>2.0 (October 4, 2022) <ul> <li><input type="checkbox" checked disabled> Provide the new icons.</li> <li><input type="checkbox" checked disabled> Start modernizing the core implementation.</li> <li><input type="checkbox" checked disabled> Add the UI stack based on XAML Islands which is used in NanaZip.</li> <li><input type="checkbox" checked disabled> Start modernizing the UI with XAML Islands with the Windows 11 control style, dark and light mode support.</li> </ul> </li> <li>Blue Moon (3.x) Series (Before 2024 Q3) <ul> <li><input type="checkbox" disabled> Continue to modernize the UI with XAML Islands with the Windows 11 control style, dark and light mode support.</li> <li><input type="checkbox" disabled> Full Accessibility support in all UI components.</li> <li><input type="checkbox" disabled> Migrate configurations from registry to json. (Suggested by AndromedaMelody.)</li> <li><input type="checkbox" disabled> Continue to modernize the core implementation.</li> <li><input type="checkbox" disabled> Try to Windows Runtime component for interoperability.</li> <li><input type="checkbox" disabled> Provide NanaZip Installer for simplify the deployment.</li> <li><input type="checkbox" disabled> Try to add option for save file names with UTF-8 in 7z archives.</li> <li><input type="checkbox" disabled> Add batch task support. (Suggested by 刘泪.)</li> <li><input type="checkbox" disabled> Try to design the new UI layout. (Suggested by wangwenx190.)</li> <li><input type="checkbox" disabled> Try to add option for using Windows Imaging API (WIMGAPI) backend to make better creation and extraction support for wim archives, also add creation and extraction support for esd archives.</li> <li><input type="checkbox" disabled> Try to add pri archive extracting support.</li> <li><input type="checkbox" disabled> Try to add smart extraction.</li> <li><input type="checkbox" disabled> Try to add language encoding switching support for file names in File Manager. (Suggested by 刘泪 and zjkmxy.)</li> <li><input type="checkbox" disabled> Try to add deleting source after archiving support. (Suggested by OrionGrant.)</li> <li><input type="checkbox" disabled> Try to add an option when extracting an archive to open the folder where you extracted the files, like WinRAR. (Suggested by maicol07.)</li> <li><input type="checkbox" disabled> Try to add ISO creation support.</li> </ul> </li> <li>Sherlock Holmes (5.x) Series (Before 2025 Q3) <ul> <li>Currently no new feature plans for this series.</li> </ul> </li> <li>Unpredictable Future Series (T.B.D.) <ul> <li><input type="checkbox" disabled> Try to create a new archive file format optimized for software distribution and image backup and restore. <ul> <li><input type="checkbox" disabled> Keeping metadata provided by file system.</li> <li><input type="checkbox" disabled> File referencing support.</li> <li><input type="checkbox" disabled> Integrity verification support.</li> <li><input type="checkbox" disabled> Differential support.</li> <li><input type="checkbox" disabled> Recovery record support.</li> <li><input type="checkbox" disabled> Provide lightweight SDK for authoring and consuming.</li> </ul> </li> <li><input type="checkbox" disabled> Try to contribute recovery record support for 7z archives to 7-Zip mainline. (Suggested by SakuraNeko.)</li> <li><input type="checkbox" disabled> Try to port NanaZip to Linux. <ul> <li><input type="checkbox" disabled> Try to port MegaUI (an developing lightweight UI framework created by mingkuang, under internal developing at the current stage, will be open source if the work has done) framework to Linux.</li> <li><input type="checkbox" disabled> Try to create MinLin (a.k.a. Minimum Linux, a distro intended for helping publish distroless binaries and provide some Windows API functions as static libraries for having a lightweight platform abstraction layer) project because I think NanaZip should support distroless environment for reducing time wasting for compiling for different distros.</li> </ul> </li> <li><input type="checkbox" disabled> After porting NanaZip to Linux, accept contributions from community folks for other POSIX platforms (e.g. FreeBSD) and macOS support.</li> <li><input type="checkbox" disabled> Try to add extension for Windows File Explorer for give user immersive experience like builtin zip file support in Windows. (Suggested by SakuraNeko and shuax.)</li> <li><input type="checkbox" disabled> Try to create isolated and portable plugin infrastructure based on 64-bit RISC-V Unprivileged ISA Specification. Runtime Project: <a href="https://github.com/ChaosAIOfficial/RaySoul">https://github.com/ChaosAIOfficial/RaySoul</a></li> </ul> </li> </ul> <h2>Documents</h2> <ul> <li><a href="https://raw.githubusercontent.com/M2Team/NanaZip/main/License.md">License</a></li> <li><a href="https://raw.githubusercontent.com/M2Team/NanaZip/main/Documents/People.md">Relevant People</a></li> <li><a href="https://raw.githubusercontent.com/M2Team/NanaZip/main/Documents/Privacy.md">Privacy Policy</a></li> <li><a href="https://raw.githubusercontent.com/M2Team/NanaZip/main/CODE_OF_CONDUCT.md">Code of Conduct</a></li> <li><a href="https://raw.githubusercontent.com/M2Team/NanaZip/main/CONTRIBUTING.md">Contributing Guide</a></li> <li><a href="https://raw.githubusercontent.com/M2Team/NanaZip/main/Documents/ReleaseNotes.md">NanaZip Release Notes</a></li> <li><a href="https://raw.githubusercontent.com/M2Team/NanaZip/main/Documents/ReleaseNotesPreview.md">NanaZip Preview Release Notes</a></li> <li><a href="https://raw.githubusercontent.com/M2Team/NanaZip/main/Documents/Versioning.md">Versioning</a></li> <li><a href="https://forums.mydigitallife.net/threads/84171">My Digital Life Forums</a></li> </ul> + sleirsgoevy/ps4jb-payloads + 2023-10-23T01:25:39Z + tag:github.com,2023-10-23:/sleirsgoevy/ps4jb-payloads + + <p>Extracted payloads from the main repo</p><hr> - devbis/z03mmc - 2023-10-22T01:28:21Z - tag:github.com,2023-10-22:/devbis/z03mmc - - <p>Xiaomi LYWSD03MMC Zigbee Firmware</p><hr><h1>Zigbee 3.0 Firmware for original LYWSD03MMC Sensor</h1> <p>This repository contains the Zigbee firmware for Xiaomi LYWSD03MMC Bluetooth temperature and humidity sensor.</p> <h2>Overview</h2> <p><img src="https://raw.githubusercontent.com/devbis/z03mmc/master/assets/device.jpg" alt=""></p> <p>The LYWSD03MMC is a Bluetooth temperature and humidity sensor that can be integrated into a Zigbee network using this firmware. This repository hosts the code and related resources to flash the device and make it compatible with Zigbee networks.</p> <h2>Features</h2> <ul> <li> <p>Full-featured firmware to convert Xiaomi LYWSD03MC device with default ZCL battery, temperature and relative humidity clusters</p> </li> <li> <p>Display support for known revisions</p> </li> <li> <p>OTA support in firmware and binaries in ZCL format for update</p> </li> <li> <p>Flashable over-the-air from custom ATC firmware <a href="https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html">https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html</a></p> </li> <li> <p>Flashable over SWS-UART interface using one of:</p> <ul> <li><a href="https://pvvx.github.io/ATC_MiThermometer/USBCOMFlashTx.html">https://pvvx.github.io/ATC_MiThermometer/USBCOMFlashTx.html</a></li> <li><a href="https://github.com/pvvx/ATC_MiThermometer/raw/master/TLSR825xComFlasher.py">https://github.com/pvvx/ATC_MiThermometer/blob/master/TLSR825xComFlasher.py</a></li> <li><a href="https://github.com/pvvx/TLSRPGM">https://github.com/pvvx/TLSRPGM</a></li> </ul> </li> </ul> <h2>Getting Started</h2> <h3>Prerequisites</h3> <ul> <li>Zigbee compatible hardware (e.g., Zigbee coordinator or gateway).</li> <li>Necessary tools for flashing firmware to the sensor.</li> </ul> <h3>Building firmware</h3> <ol> <li> <p>Clone TC32 toolchain according to your host OS:</p> <pre><code class="language-sh">git clone https://github.com/devbis/tc32.git -b linux </code></pre> <pre><code class="language-sh">git clone https://github.com/devbis/tc32.git -b macos </code></pre> <pre><code class="language-sh">git clone https://github.com/devbis/tc32.git -b windows </code></pre> </li> <li> <p>Clone this repository and SDK:</p> <pre><code class="language-sh">git clone https://github.com/devbis/z03mmc.git git clone https://github.com/devbis/tl_zigbee_sdk.git -b 3.6.8.5 --depth 1 cd z03mmc </code></pre> </li> <li> <p>Configure and build:</p> <pre><code class="language-sh">cmake -DSDK_PREFIX=$(pwd)/../tl_zigbee_sdk -DTOOLCHAIN_PREFIX=$(pwd)/../tc32 -B build . cmake --build build --target z03mmc.zigbee </code></pre> <p>Firmware binary is located at <code>build/src/z03mmc.bin</code> The binary with OTA header is at the same folder, ending with <code>z03mmc.zigbee</code></p> </li> </ol> <h2>Flashing from a custom bluetooth firmware</h2> <ol> <li>Write transitional custom bluetooth firmware <a href="https://raw.githubusercontent.com/devbis/z03mmc/master/assets/ATC_ota_40000.bin">ATC_ota_400000</a> using an awesome tool from ATC_MiThermometer <a href="https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html">https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html</a></li> <li>Flash z03mmc.bin firmware over transitional firmware to convert it to zigbee. Use <a href="https://devbis.github.io/telink-zigbee/">https://devbis.github.io/telink-zigbee/</a> page if previous flasher stops because fo the firmware size.</li> </ol> <h2>Flashing firmware with USB to UART</h2> <h3>Prerequisites:</h3> <ol> <li>TTL-USB adaptor</li> <li>1k-1.8k Ohm resistor</li> <li>python3 with pyserial module installed</li> </ol> <p>To flash a new firmware via an standard USB to UART adapter, simply connect the Thermometer as seen in the picture <a href="https://raw.githubusercontent.com/devbis/z03mmc/master/assets/Mi_SWS_Connection.jpg">Mi_SWS_Connection.jpg</a> to the USB to UART converter and run the TLSR825xComFlasher.py tool.</p> <p>Example: <code>python3 TLSR825xComFlasher.py -p COM3 wf 0 z03mmc.bin</code></p> <p>Example: <code>python3 TLSR825xComFlasher.py -p /dev/ttyUSB0 wf 0 z03mmc.bin</code></p> <p>In case if the SWS pin is used by the firmware, try this sequence:</p> <ol> <li>Power off the sensor</li> <li><code>python3 TLSR825xComFlasher.py -p &lt;YOUR_COM_PORT&gt; -t5000 wf 0 z03mmc.bin</code></li> <li>Now you have 5 seconds to power on the sensor</li> <li>In case the chip has not started being flashed, run <code>python3 TLSR825xComFlasher.py -p &lt;YOUR_COM_PORT&gt; wf 0 z03mmc.bin</code> without the timeout again.</li> </ol> <p>If the flashing fails try to increase timeouts in the script.</p> <p>The UART flasher software uses the tool from <a href="https://github.com/pvvx/ATC_MiThermometer">https://github.com/pvvx/ATC_MiThermometer</a>. Thanks to pvvx for the awesome work on this!</p> <h2>Related Work</h2> <p>z03mmc is based on the original work of @pvvx, and @atc1441, who developed the initial firmware versions for bluetooth-capable device.</p> <ul> <li><a href="https://github.com/pvvx/ATC_MiThermometer">https://github.com/pvvx/ATC_MiThermometer</a></li> <li><a href="https://github.com/atc1441/ATC_MiThermometer">https://github.com/atc1441/ATC_MiThermometer</a></li> </ul> <h2>Usage</h2> <ol> <li>Flash the firmware</li> <li>Enable pairing mode on Zigbee coordinator</li> <li>In case it is not joining, close the RESET and GND contacts on the board for 3 seconds to reset Zigbee settings. Replug the battery may require</li> <li>For zigbee2mqtt you need to add custom converter if you use version 1.33.1 or earlier</li> </ol> <h2>License</h2> <p>This project is licensed under the GNU General Public License 3.0 or later - see the <a href="https://raw.githubusercontent.com/devbis/z03mmc/master/LICENSE.txt">LICENSE.txt</a> file for details.</p> - - - geany/geany - 2023-10-22T01:28:21Z - tag:github.com,2023-10-22:/geany/geany - - <p>A fast and lightweight IDE</p><hr><h2>Geany - A fast and lightweight IDE</h2> <h2>About</h2> <p>Geany is a small and lightweight integrated development environment. It was developed to provide a small and fast IDE, which has only a few dependencies from other packages. Another goal was to be as independent as possible from a special Desktop Environment like KDE or GNOME. So it is using only the GTK+ toolkit and therefore you need only the GTK+ runtime libraries to run Geany.</p> <h2>Features</h2> <p>The basic features of Geany are:</p> <ul> <li>syntax highlighting</li> <li>code completion</li> <li>auto completion of often used constructs like if, for and while</li> <li>auto completion of XML and HTML tags</li> <li>call tips</li> <li>folding</li> <li>many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal</li> <li>symbol lists</li> <li>embedded terminal emulation</li> <li>extensibility through plugins</li> </ul> <h2>Installation from distribution packages</h2> <p>Using distribution packages on Linux, BSD and similar distributions is the easiest and recommended way. This way you will also benefit from automatic Geany updates by the package manager of the distribution.</p> <p>Packages are available for most distributions including Debian, Fedora, Ubuntu and many more.</p> <h2>Installation on Mac OS and Windows</h2> <p>Prebuilt binary packages for Mac OS and Windows can be found on <a href="https://www.geany.org">https://www.geany.org</a>.</p> <h2>Installation from sources</h2> <p>Requirements ++++++++++++ For compiling Geany yourself, you will need the GTK3 libraries and header files. You will also need its dependency libraries and header files, such as Pango, Glib and ATK. All these files are available at <a href="https://www.gtk.org">https://www.gtk.org</a>.</p> <p>Furthermore you need, of course, a C compiler and the Make tool; a C++ compiler is also needed for the required Scintilla library included. The GNU versions of these tools are recommended.</p> <p>To build the user manual you need <em>rst2html</em> from Docutils. A pre-built version of the manual is available in distribution tarballs and will be used as fallback if <em>rst2html</em> is missing. When building from Git however, that pre-built version is not included and <em>rst2html</em> is required by default. You can explicitly disable building the user manual using the <code>--disable-html-docs</code> <em>configure</em> flag, but this will result in not installing a local version of the user manual, and Geany will then try and open the online version instead when requested.</p> <p>.. note:: Building Geany from source on Mac OS and Windows is more complicated and is out of scope of this document. For more information on building instructions for these platforms, please check the wiki at <a href="https://wiki.geany.org/howtos/">https://wiki.geany.org/howtos/</a>.</p> <p>Installing from a Git clone +++++++++++++++++++++++++++</p> <p>Using the Meson build system ++++++++++++++++++++++++++++</p> <p>N.B. Meson support is still incomplete and a work-in-progress.</p> <p>Meson requires to chose a separate build directory. Either create one, or let meson do it:</p> <p><code>meson build</code> or <code>mkdir build; cd build; meson ..</code></p> <p>Either command will configure the build system. The system is probed in many ways and system-dependant build files are created. This includes location of dependencies and compiler and linker flags required for them.</p> <p>To build Geany, follow with a <code>meson compile -C build</code></p> <p>To install Geany, follow the build with a <code>sudo meson install -C build</code>.</p> <p>By default, meson will install Geany to <code>/usr/local</code>. A different prefix can be selected at the initial command or via reconfiguration:</p> <p><code>meson --prefix /opt build</code> or <code>meson configure --prefix /opt build</code></p> <p>Geany has some selectable features that may reduce the required build and runtime dependencies. See meson_optionts.txt for a full list.</p> <p>To turn a feature off, use <code>-D&lt;feature&gt;=false</code> when configuring the build, for example: <code>meson configure -Dvte=false build</code></p> <p>Using Autotools +++++++++++++++</p> <p>Install Autotools (<em>autopoint</em>, <em>automake</em>, <em>autoconf</em> and <em>libtool</em>), <em>gettext</em>, and the GLib development files <strong>before</strong> running any of the following commands, as well as <em>rst2html</em> from Docutils (see above for details). Then, run <code>./autogen.sh</code> and then follow the instructions for <code>installing from a release tarball</code>_.</p> <p>Installing from a release tarball +++++++++++++++++++++++++++++++++</p> <p>Run the the following three commands::</p> <pre><code>$ ./configure $ make (as root, or using sudo) % make install </code></pre> <p>For more configuration details run <code>./configure --help</code>.</p> <p>If there are any errors during compilation, check your build environment and try to find the error, otherwise contact the mailing list or one of the authors.</p> <p>See the manual for details (geany.txt/geany.html).</p> <h2>Usage</h2> <p>To run Geany just type::</p> <pre><code>$ geany </code></pre> <p>on a console or use the applications menu from your desktop environment. For command line options, see the manual page of Geany or run::</p> <pre><code>$ geany --help </code></pre> <p>for details. Or look into the documentation in the <em>doc/</em> directory. The most important option probably is <code>-c</code> or <code>--config</code>, where you can specify an alternate configuration directory.</p> <h2>License</h2> <p>Geany is distributed under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. A copy of this license can be found in the file COPYING included with the source code of this program. The included Scintilla library (found in the subdirectory scintilla/) has its own license, which can be found in the file scintilla/License.txt included with the source code of this program.</p> <h2>Ideas, questions, patches and bug reports</h2> <p>See <a href="https://www.geany.org/">https://www.geany.org/</a>. If you add something, or fix a bug, please create a pull request at <a href="https://github.com/geany/geany/">https://github.com/geany/geany/</a>. Also see the HACKING file.</p> + wine-mirror/wine + 2023-10-23T01:25:39Z + tag:github.com,2023-10-23:/wine-mirror/wine + + <p></p><hr><ol> <li>INTRODUCTION</li> </ol> <p>Wine is a program which allows running Microsoft Windows programs (including DOS, Windows 3.x, Win32, and Win64 executables) on Unix. It consists of a program loader which loads and executes a Microsoft Windows binary, and a library (called Winelib) that implements Windows API calls using their Unix, X11 or Mac equivalents. The library may also be used for porting Windows code into native Unix executables.</p> <p>Wine is free software, released under the GNU LGPL; see the file LICENSE for the details.</p> <ol start="2"> <li>QUICK START</li> </ol> <p>From the top-level directory of the Wine source (which contains this file), run:</p> <p>./configure make</p> <p>Then either install Wine:</p> <p>make install</p> <p>Or run Wine directly from the build directory:</p> <p>./wine notepad</p> <p>Run programs as "wine program". For more information and problem resolution, read the rest of this file, the Wine man page, and especially the wealth of information found at <a href="https://www.winehq.org">https://www.winehq.org</a>.</p> <ol start="3"> <li>REQUIREMENTS</li> </ol> <p>To compile and run Wine, you must have one of the following:</p> <p>Linux version 2.0.36 or later FreeBSD 12.4 or later Solaris x86 9 or later NetBSD-current Mac OS X 10.8 or later</p> <p>As Wine requires kernel-level thread support to run, only the operating systems mentioned above are supported. Other operating systems which support kernel threads may be supported in the future.</p> <p>FreeBSD info: See <a href="https://wiki.freebsd.org/Wine">https://wiki.freebsd.org/Wine</a> for more information.</p> <p>Solaris info: You will most likely need to build Wine with the GNU toolchain (gcc, gas, etc.). Warning : installing gas does <em>not</em> ensure that it will be used by gcc. Recompiling gcc after installing gas or symlinking cc, as and ld to the gnu tools is said to be necessary.</p> <p>NetBSD info: Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options turned on in your kernel.</p> <p>Mac OS X info: You need Xcode/Xcode Command Line Tools or Apple cctools. The minimum requirements for compiling Wine are clang 3.8 with the MacOSX10.10.sdk and mingw-w64 v8. The MacOSX10.14.sdk and later can only build wine64.</p> <p>Supported file systems: Wine should run on most file systems. A few compatibility problems have also been reported using files accessed through Samba. Also, NTFS does not provide all the file system features needed by some applications. Using a native Unix file system is recommended.</p> <p>Basic requirements: You need to have the X11 development include files installed (called xorg-dev in Debian and libX11-devel in Red Hat).</p> <p>Of course you also need "make" (most likely GNU make).</p> <p>You also need flex version 2.5.33 or later and bison.</p> <p>Optional support libraries: Configure will display notices when optional libraries are not found on your system. See <a href="https://wiki.winehq.org/Recommended_Packages">https://wiki.winehq.org/Recommended_Packages</a> for hints about the packages you should install. On 64-bit platforms, you have to make sure to install the 32-bit versions of these libraries.</p> <ol start="4"> <li>COMPILATION</li> </ol> <p>To build Wine, do:</p> <p>./configure make</p> <p>This will build the program "wine" and numerous support libraries/binaries. The program "wine" will load and run Windows executables. The library "libwine" ("Winelib") can be used to compile and link Windows source code under Unix.</p> <p>To see compile configuration options, do ./configure --help.</p> <p>For more information, see <a href="https://wiki.winehq.org/Building_Wine">https://wiki.winehq.org/Building_Wine</a></p> <ol start="5"> <li>SETUP</li> </ol> <p>Once Wine has been built correctly, you can do "make install"; this will install the wine executable and libraries, the Wine man page, and other needed files.</p> <p>Don't forget to uninstall any conflicting previous Wine installation first. Try either "dpkg -r wine" or "rpm -e wine" or "make uninstall" before installing.</p> <p>Once installed, you can run the "winecfg" configuration tool. See the Support area at <a href="https://www.winehq.org/">https://www.winehq.org/</a> for configuration hints.</p> <ol start="6"> <li>RUNNING PROGRAMS</li> </ol> <p>When invoking Wine, you may specify the entire path to the executable, or a filename only.</p> <p>For example: to run Notepad:</p> <pre><code>wine notepad (using the search Path as specified in wine notepad.exe the registry to locate the file) wine c:\\windows\\notepad.exe (using DOS filename syntax) wine ~/.wine/drive_c/windows/notepad.exe (using Unix filename syntax) wine notepad.exe readme.txt (calling program with parameters) </code></pre> <p>Wine is not perfect, so some programs may crash. If that happens you will get a crash log that you should attach to your report when filing a bug.</p> <ol start="7"> <li>GETTING MORE INFORMATION</li> </ol> <p>WWW: A great deal of information about Wine is available from WineHQ at <a href="https://www.winehq.org/">https://www.winehq.org/</a> : various Wine Guides, application database, bug tracking. This is probably the best starting point.</p> <p>FAQ: The Wine FAQ is located at <a href="https://www.winehq.org/FAQ">https://www.winehq.org/FAQ</a></p> <p>Wiki: The Wine Wiki is located at <a href="https://wiki.winehq.org">https://wiki.winehq.org</a></p> <p>Gitlab: Wine development is hosted at <a href="https://gitlab.winehq.org">https://gitlab.winehq.org</a></p> <p>Mailing lists: There are several mailing lists for Wine users and developers; see <a href="https://www.winehq.org/forums">https://www.winehq.org/forums</a> for more information.</p> <p>Bugs: Report bugs to Wine Bugzilla at <a href="https://bugs.winehq.org">https://bugs.winehq.org</a> Please search the bugzilla database to check whether your problem is already known or fixed before posting a bug report.</p> <p>IRC: Online help is available at channel #WineHQ on irc.libera.chat.</p> <p>-- Alexandre Julliard <a href="mailto:julliard@winehq.org">julliard@winehq.org</a></p> \ No newline at end of file diff --git a/c/weekly/index.xml b/c/weekly/index.xml deleted file mode 100644 index 3cbd7e0d36f..00000000000 --- a/c/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub C Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:47:35Z - Weekly Trending of C in GitHub - - - FFmpeg/FFmpeg - 2023-10-22T01:47:35Z - tag:github.com,2023-10-22:/FFmpeg/FFmpeg - - <p>Mirror of https://git.ffmpeg.org/ffmpeg.git</p><hr><h1>FFmpeg README</h1> <p>FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.</p> <h2>Libraries</h2> <ul> <li><code>libavcodec</code> provides implementation of a wider range of codecs.</li> <li><code>libavformat</code> implements streaming protocols, container formats and basic I/O access.</li> <li><code>libavutil</code> includes hashers, decompressors and miscellaneous utility functions.</li> <li><code>libavfilter</code> provides means to alter decoded audio and video through a directed graph of connected filters.</li> <li><code>libavdevice</code> provides an abstraction to access capture and playback devices.</li> <li><code>libswresample</code> implements audio mixing and resampling routines.</li> <li><code>libswscale</code> implements color conversion and scaling routines.</li> </ul> <h2>Tools</h2> <ul> <li><a href="https://ffmpeg.org/ffmpeg.html">ffmpeg</a> is a command line toolbox to manipulate, convert and stream multimedia content.</li> <li><a href="https://ffmpeg.org/ffplay.html">ffplay</a> is a minimalistic multimedia player.</li> <li><a href="https://ffmpeg.org/ffprobe.html">ffprobe</a> is a simple analysis tool to inspect multimedia content.</li> <li>Additional small tools such as <code>aviocat</code>, <code>ismindex</code> and <code>qt-faststart</code>.</li> </ul> <h2>Documentation</h2> <p>The offline documentation is available in the <strong>doc/</strong> directory.</p> <p>The online documentation is available in the main <a href="https://ffmpeg.org">website</a> and in the <a href="https://trac.ffmpeg.org">wiki</a>.</p> <h3>Examples</h3> <p>Coding examples are available in the <strong>doc/examples</strong> directory.</p> <h2>License</h2> <p>FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.</p> <h2>Contributing</h2> <p>Patches should be submitted to the ffmpeg-devel mailing list using <code>git format-patch</code> or <code>git send-email</code>. Github pull requests should be avoided because they are not part of our review process and will be ignored.</p> - - - immortalwrt/immortalwrt - 2023-10-22T01:47:35Z - tag:github.com,2023-10-22:/immortalwrt/immortalwrt - - <p>An opensource OpenWrt variant for mainland China users.</p><hr><img src="https://avatars.githubusercontent.com/u/53193414?s=200&amp;v=4" alt="logo" width="200" height="200" align="right"> <h1>Project ImmortalWrt</h1> <p>ImmortalWrt is a fork of <a href="https://openwrt.org">OpenWrt</a>, with more packages ported, more devices supported, better performance, and special optimizations for mainland China users.<br> Compared the official one, we allow to use hacks or non-upstreamable patches / modifications to achieve our purpose. Source from anywhere.</p> <p>Default login address: <a href="http://192.168.1.1">http://192.168.1.1</a> or <a href="http://immortalwrt.lan">http://immortalwrt.lan</a>, username: <strong>root</strong>, password: <em>none</em>.</p> <h2>Download</h2> <p>Built firmware images are available for many architectures and come with a package selection to be used as WiFi home router. To quickly find a factory image usable to migrate from a vendor stock firmware to ImmortalWrt, try the <em>Firmware Selector</em>.</p> <ul> <li><a href="https://firmware-selector.immortalwrt.org/">ImmortalWrt Firmware Selector</a></li> </ul> <p>If your device is supported, please follow the <strong>Info</strong> link to see install instructions or consult the support resources listed below.</p> <h2>Development</h2> <p>To build your own firmware you need a GNU/Linux, BSD or MacOSX system (case sensitive filesystem required). Cygwin is unsupported because of the lack of a case sensitive file system.<br></p> <h3>Requirements</h3> <p>To build with this project, Ubuntu 20.04 LTS is preferred. And you need use the CPU based on AMD64 architecture, with at least 4GB RAM and 25 GB available disk space. Make sure the <strong>Internet</strong> is accessible.</p> <p>The following tools are needed to compile ImmortalWrt, the package names vary between distributions.</p> <ul> <li>Here is an example for Ubuntu users:<br> <ul> <li> <p>Method 1:</p> <details> <summary>Setup dependencies via APT</summary> <pre><code class="language-bash">sudo apt update -y sudo apt full-upgrade -y sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \ bzip2 ccache clang cmake cpio curl device-tree-compiler ecj fastjar flex gawk gettext gcc-multilib \ g++-multilib git gnutls-dev gperf haveged help2man intltool lib32gcc-s1 libc6-dev-i386 libelf-dev \ libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5 \ libncursesw5-dev libpython3-dev libreadline-dev libssl-dev libtool lld llvm lrzsz mkisofs msmtp \ nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pip python3-ply \ python-docutils python3-pyelftools qemu-utils re2c rsync scons squashfs-tools subversion swig \ texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev </code></pre> </details> </li> <li> <p>Method 2:</p> <pre><code class="language-bash">sudo bash -c 'bash &lt;(curl -s https://build-scripts.immortalwrt.eu.org/init_build_environment.sh)' </code></pre> </li> </ul> </li> </ul> <p>Note:</p> <ul> <li>Do everything as an unprivileged user, not root, without sudo.</li> <li>Using CPUs based on other architectures should be fine to compile ImmortalWrt, but more hacks are needed - No warranty at all.</li> <li>You must <strong>not</strong> have spaces or non-ascii characters in PATH or in the work folders on the drive.</li> <li>If you're using Windows Subsystem for Linux (or WSL), removing Windows folders from PATH is required, please see <a href="https://openwrt.org/docs/guide-developer/build-system/wsl">Build system setup WSL</a> documentation.</li> <li>Using macOS as the host build OS is <strong>not</strong> recommended. No warranty at all. You can get tips from <a href="https://openwrt.org/docs/guide-developer/build-system/buildroot.exigence.macosx">Build system setup macOS</a> documentation.</li> <li>For more details, please see <a href="https://openwrt.org/docs/guide-developer/build-system/install-buildsystem">Build system setup</a> documentation.</li> </ul> <h3>Quickstart</h3> <ol> <li>Run <code>git clone -b &lt;branch&gt; --single-branch --filter=blob:none https://github.com/immortalwrt/immortalwrt</code> to clone the source code.</li> <li>Run <code>cd immortalwrt</code> to enter source directory.</li> <li>Run <code>./scripts/feeds update -a</code> to obtain all the latest package definitions defined in feeds.conf / feeds.conf.default</li> <li>Run <code>./scripts/feeds install -a</code> to install symlinks for all obtained packages into package/feeds/</li> <li>Run <code>make menuconfig</code> to select your preferred configuration for the toolchain, target system &amp; firmware packages.</li> <li>Run <code>make</code> to build your firmware. This will download all sources, build the cross-compile toolchain and then cross-compile the GNU/Linux kernel &amp; all chosen applications for your target system.</li> </ol> <h3>Related Repositories</h3> <p>The main repository uses multiple sub-repositories to manage packages of different categories. All packages are installed via the OpenWrt package manager called opkg. If you're looking to develop the web interface or port packages to ImmortalWrt, please find the fitting repository below.</p> <ul> <li><a href="https://github.com/immortalwrt/luci">LuCI Web Interface</a>: Modern and modular interface to control the device via a web browser.</li> <li><a href="https://github.com/immortalwrt/packages">ImmortalWrt Packages</a>: Community repository of ported packages.</li> <li><a href="https://github.com/openwrt/routing">OpenWrt Routing</a>: Packages specifically focused on (mesh) routing.</li> <li><a href="https://github.com/openwrt/video">OpenWrt Video</a>: Packages specifically focused on display servers and clients (Xorg and Wayland).</li> </ul> <h2>Support Information</h2> <p>For a list of supported devices see the <a href="https://openwrt.org/supported_devices">OpenWrt Hardware Database</a></p> <h3>Documentation</h3> <ul> <li><a href="https://openwrt.org/docs/guide-quick-start/start">Quick Start Guide</a></li> <li><a href="https://openwrt.org/docs/guide-user/start">User Guide</a></li> <li><a href="https://openwrt.org/docs/guide-developer/start">Developer Documentation</a></li> <li><a href="https://openwrt.org/docs/techref/start">Technical Reference</a></li> </ul> <h3>Support Community</h3> <ul> <li>Support Chat: group <a href="https://t.me/ctcgfw_openwrt_discuss">@ctcgfw_openwrt_discuss</a> on <a href="https://telegram.org/">Telegram</a>.</li> <li>Support Chat: group <a href="https://matrix.to/#/#immortalwrt:matrix.org">#immortalwrt</a> on <a href="https://matrix.org/">Matrix</a>.</li> </ul> <h2>License</h2> <p>ImmortalWrt is licensed under <a href="https://spdx.org/licenses/GPL-2.0-only.html">GPL-2.0-only</a>.</p> <h2>Acknowledgements</h2> <table> <tbody> <tr> <td><a href="https://dlercloud.com/"><img src="https://user-images.githubusercontent.com/22235437/111103249-f9ec6e00-8588-11eb-9bfc-67cc55574555.png" width="183" height="52" border="0" alt="Dler Cloud"></a></td> <td><a href="https://www.jetbrains.com/"><img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jb_square.png" width="120" height="120" border="0" alt="JetBrains Black Box Logo logo"></a></td> <td><a href="https://sourceforge.net/"><img src="https://sourceforge.net/sflogo.php?type=17&amp;group_id=3663829" alt="SourceForge" width="200"></a></td> </tr> </tbody> </table> - - - apache/nuttx - 2023-10-22T01:47:35Z - tag:github.com,2023-10-22:/apache/nuttx - - <p>Apache NuttX is a mature, real-time embedded operating system (RTOS)</p><hr><h1>APACHE NUTTX</h1> <ul> <li>Introduction</li> <li>Community <ul> <li>Getting Help</li> <li>Mailing Lists</li> <li>Issue Tracker</li> <li>Source Code</li> <li>Website Source Code</li> </ul> </li> <li>Environments <ul> <li>Installing Cygwin</li> <li>Ubuntu Bash under Windows 10</li> <li>Using macOS</li> </ul> </li> <li>Installation <ul> <li>Download and Unpack</li> <li>Semi-Optional apps/ Package</li> <li>Installation Directories with Spaces in the Path</li> <li>Downloading from Repositories</li> <li>Related Repositories</li> <li>Notes about Header Files</li> </ul> </li> <li>Configuring NuttX <ul> <li>Instantiating "Canned" Configurations</li> <li>Refreshing Configurations</li> <li>NuttX Configuration Tool</li> <li>Finding Selections in the Configuration Menus</li> <li>Reveal Hidden Configuration Options</li> <li>Make Sure that You are on the Right Platform</li> <li>Comparing Two Configurations</li> <li>Making defconfig Files</li> <li>Incompatibilities with Older Configurations</li> <li>NuttX Configuration Tool under DOS</li> </ul> </li> <li>Toolchains <ul> <li>Cross-Development Toolchains</li> <li>NuttX Buildroot Toolchain</li> </ul> </li> <li>Shells</li> <li>Building NuttX <ul> <li>Building</li> <li>Re-building</li> <li>Build Targets and Options</li> <li>Native Windows Build</li> <li>Installing GNUWin32</li> </ul> </li> <li>Cygwin Build Problems <ul> <li>Strange Path Problems</li> <li>Window Native Toolchain Issues</li> </ul> </li> <li>Documentation</li> </ul> <h1>INTRODUCTION</h1> <p>Apache NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOSs (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p> <p>Extensive documentation can be found on the project wiki: <a href="https://cwiki.apache.org/NUTTX/NuttX">https://cwiki.apache.org/NUTTX/NuttX</a></p> <p>For brevity, many parts of the documentation will refer to Apache NuttX as simply NuttX.</p> <h1>COMMUNITY</h1> <p>Every volunteer project obtains its strength from the people involved in it. We invite you to participate as much or as little as you choose.</p> <p>We encourage you to:</p> <ul> <li>Use our project and provide feedback.</li> <li>Provide us with use-cases.</li> <li>Report bugs and submit patches.</li> <li>Contribute code or documentation.</li> </ul> <h2>Getting Help</h2> <p>The best place to get help is the developer's mailing list. Please see the following section:</p> <h2>Mailing Lists</h2> <p>Get help using NuttX or contribute to the project on our mailing lists:</p> <ul> <li> <p><a href="mailto:dev@nuttx.apache.org">dev@nuttx.apache.org</a> is for people who want to contribute code to NuttX.</p> <ul> <li>To subscribe, send an email to <a href="mailto:dev-subscribe@nuttx.apache.org">dev-subscribe@nuttx.apache.org</a>.</li> <li>To unsubscribe, send an email to <a href="mailto:dev-unsubscribe@nuttx.apache.org">dev-unsubscribe@nuttx.apache.org</a>.</li> <li>View the archives at: <a href="https://www.mail-archive.com/dev@nuttx.apache.org/">https://www.mail-archive.com/dev@nuttx.apache.org/</a></li> </ul> </li> <li> <p><a href="mailto:commits@nuttx.apache.org">commits@nuttx.apache.org</a> is a read-only list that notifies subscribers about commit messages and patches to NuttX.</p> <ul> <li>To subscribe, send an email to <a href="mailto:commits-subscribe@nuttx.apache.org">commits-subscribe@nuttx.apache.org</a>.</li> <li>To unsubscribe, send an email to <a href="mailto:commits-unsubscribe@nuttx.apache.org">commits-unsubscribe@nuttx.apache.org</a>.</li> <li>View the archives at: <a href="https://www.mail-archive.com/commits@nuttx.apache.org/">https://www.mail-archive.com/commits@nuttx.apache.org/</a></li> </ul> </li> </ul> <h2>Reporting Security Issues</h2> <p>Found a vulnerability? See our security policy <a href="https://raw.githubusercontent.com/apache/nuttx/master/.github/SECURITY.md">here</a>.</p> <h2>Issue Tracker</h2> <h3>Bug Reports:</h3> <p>Found bug? Send an email to the dev list: <a href="mailto:dev@nuttx.apache.org">dev@nuttx.apache.org</a></p> <p>Before submitting an issue, please:</p> <ul> <li> <p>Verify that the bug does in fact exist.</p> </li> <li> <p>Search the mailing list archives to verify there is no existing issue reporting the bug you've found.</p> </li> <li> <p>Consider tracking down the bug yourself in the NuttX source code and submitting a patch along with your bug report. This is a great time saver for the NuttX developers and helps ensure the bug will be fixed quickly.</p> </li> </ul> <h3>Feature Requests:</h3> <p>Enhancement requests for new features are also welcome. The more concrete and rational the request is, the greater the chance it will incorporated into future releases.</p> <h2>Source Code</h2> <p>The project sources are in two Git repositories. The core OS is in nuttx and the apps repository is in nuttx-apps. These are housed in GitBox on ASF servers and also mirrored at GitHub. These are kept in sync, so you can use whichever option you prefer.</p> <ul> <li> <p>NuttX core OS repository:</p> <ul> <li> <p>Primary: <a href="https://gitbox.apache.org/repos/asf?p=nuttx.git">https://gitbox.apache.org/repos/asf?p=nuttx.git</a></p> </li> <li> <p>GitHub Mirror: <a href="https://github.com/apache/nuttx">https://github.com/apache/nuttx</a></p> </li> </ul> </li> <li> <p>Apps repository:</p> <ul> <li> <p>Primary: <a href="https://gitbox.apache.org/repos/asf?p=nuttx-apps.git">https://gitbox.apache.org/repos/asf?p=nuttx-apps.git</a></p> </li> <li> <p>GitHub Mirror: <a href="https://github.com/apache/nuttx-apps">https://github.com/apache/nuttx-apps</a></p> </li> </ul> </li> </ul> <h2>Website Source Code</h2> <p>The project website sources are accessible via the website source code repository which is also mirrored in GitHub:</p> <ul> <li> <p>Primary: <a href="https://gitbox.apache.org/repos/asf?p=nuttx-website.git">https://gitbox.apache.org/repos/asf?p=nuttx-website.git</a></p> </li> <li> <p>GitHub Mirror: <a href="https://github.com/apache/nuttx-website">https://github.com/apache/nuttx-website</a></p> </li> </ul> <h1>ENVIRONMENTS</h1> <p>NuttX requires a POSIX development environment such as you would find under Linux or macOS. NuttX may also be installed and built on Windows system if you also provide such a POSIX development environment. Options for a POSIX development environment under Windows include:</p> <ul> <li> <p>An installation of Linux on a virtual machine (VM) in Windows. I have not been happy using a VM myself. I have had stability problems with open source VMs and commercial VMs cost more than I want to spend. Sharing files with Linux running in a VM is awkward; sharing devices connected to the Windows box with Linux in a VM is, at the very least, confusing; Using Windows tools (such as Segger J-Link) with files built under the Linux VM is not a possibility.</p> </li> <li> <p>The Cygwin environment. Instructions for installation of Cygwin on a Windows system are provided in the following paragraph, "Installing Cygwin". Cygwin is a mature, well-tested, and very convenient environment. It is especially convenient if you need to integrate with Windows tools and files. Downsides are that the installation time is very long and the compile times are slow.</p> </li> <li> <p>Ubuntu/Bash shell under Windows 10. This is a new option under Windows 10. See the section "Ubuntu Bash under Windows 10" below. This is an improvement over Cygwin if your concern is compile time; its build performance is comparable to native Linux, certainly better than the Cygwin build time. It also installs in a tiny fraction of the time as Cygwin, perhaps 20 minutes for the basic Ubuntu install (vs. more than a day for the complete Cygwin install).</p> <p>There have been even more recent ports of Linux environment to Windows. I need to update this section to include some mention of these alternatives.</p> </li> <li> <p>The MSYS environment. MSYS derives from an older version of Cygwin simplified and adapted to work more naturally in the Windows environment. See <a href="http://www.mingw.org/wiki/MSYS">http://www.mingw.org/wiki/MSYS</a> if you are interested in using MSYS. The advantages of the MSYS environment is that it is better integrted with the native Windows environment and lighter weight; it uses only a minimal number of add-on POSIX-land tools.</p> <p>The download link in that Wiki takes you to the SourceForge download site. The SourceForge MSYS project has been stagnant for some time. The MSYS project has more recently moved to <a href="http://odsn.net/projects/sfnet_mingwbundle">http://odsn.net/projects/sfnet_mingwbundle</a>. Downloads of current .zip files are available there but no instructions for the installation.</p> </li> <li> <p>MSYS2 appears to be a re-write of MSYS based on a newer version of Cygwin. Is it available at <a href="https://www.msys2.org">https://www.msys2.org</a>. A windows installer is available at that site along with very good installation instructions. The download is relatively quick (at least compared to Cygwin) and the 'pacman' package management tool supports supports simple system updates. For example, 'pacman -S git' will install the GIT command line utilities.</p> </li> <li> <p>Other POSIX environments. Check out:</p> <ul> <li>UnxUtils: <a href="https://sourceforge.net/projects/unxutils/">https://sourceforge.net/projects/unxutils/</a>, <a href="https://en.wikipedia.org/wiki/UnxUtils">https://en.wikipedia.org/wiki/UnxUtils</a></li> <li>MobaXterm: <a href="https://mobaxterm.mobatek.net/">https://mobaxterm.mobatek.net/</a></li> <li>Gow: <a href="https://github.com/bmatzelle/gow/wiki">https://github.com/bmatzelle/gow/wiki</a></li> </ul> <p><strong>Disclaimer</strong>: In principle, these should work. However, I have never used any of these environments and cannot guarantee that there is not some less-than-obvious issues.</p> </li> </ul> <p>NuttX can also be installed and built on a native Windows system, but with some potential tool-related issues (see the discussion "Native Windows Build" under "Building NuttX" below). GNUWin32 is used to provide compatible native windows tools.</p> <h2>Installing Cygwin</h2> <p>Installing Cygwin on your Windows PC is simple, but time consuming. See <a href="http://www.cygwin.com/">http://www.cygwin.com/</a> for installation instructions. Basically you just need to download a tiny setup.exe program and it does the real, network installation for you.</p> <p>Some Cygwin installation tips:</p> <ol> <li> <p>Install at <code>C:\cygwin</code></p> </li> <li> <p>Install <strong>everything</strong>: "Only the minimal base packages from the Cygwin distribution are installed by default. Clicking on categories and packages in the setup.exe package installation screen will provide you with the ability to control what is installed or updated. Clicking on the "Default" field next to the "All" category will provide you with the opportunity to install every Cygwin package. Be advised that this will download and install hundreds of megabytes to your computer."</p> </li> </ol> <p>If you use the "default" installation, you will be missing many of the Cygwin utilities that you will need to build NuttX. The build will fail in numerous places because of missing packages.</p> <p>NOTE: The last time I installed <strong>everything</strong>, the download was about 5GiB. The server I selected was also very slow so it took over a day to do the whole install!</p> <p>NOTE: You don't really have to install <strong>everything</strong> but I cannot answer the question "Then what should I install?" I don't know the answer to that and so will continue to recommend installing <strong>everything</strong>.</p> <p>You should certainly be able to omit "Science", "Math", and "Publishing". You can try omitting KDE, Gnome, GTK, and other graphics packages if you don't plan to use them.</p> <p>Perhaps a minimum set would be those packages listed below for the "Ubuntu Bash under Windows 10" installation?</p> <p><strong>UPDATE</strong>: Sergey Frolov had success with the following minimal Cygwin configuration:</p> <ol> <li> <p>After starting the Cygwin installer, keep the recommended packages that are pre-selected in the default configuration.</p> </li> <li> <p>Using the installation tools, add the following packages:</p> <pre><code>make (GNU make) bison libgmp3-dev gcc-core byacc libmpfr-dev gcc-g++ gperf libmpc-dev flex gdb automake-1.15 libncurses-dev libgmp-dev curl </code></pre> </li> </ol> <p>After installing Cygwin, you will get lots of links for installed tools and shells. I use the RXVT native shell. It is fast and reliable and does not require you to run the Cygwin X server (which is neither fast nor reliable). Unless otherwise noted, the rest of these instructions assume that you are at a bash command line prompt in either Linux or in Cygwin shell.</p> <h2>Using MSYS</h2> <p>MSYS is an environment the derives from Cygwin. Thus, most things said about Cygwin apply equally to MSYS. This section will, then, focus on the differences when using MSYS, specifically MSYS2.</p> <p>Here is it assumed that you have already downloaded and installed MSYS2 from <a href="https://www.msys2.org">https://www.msys2.org</a> using the windows installer available at that location. It is also assumed that you have brought in the necessary tools using the 'pacman' package management tool Tools needed including:</p> <pre><code>pacman -S git pacman -S make pacman -S gcc pacman -S gdb </code></pre> <p>And possibly others depending upon your usage. Then you will need to build and install kconfig-frontends per the instructions of the top-level README.txt file in the tools repository. This requires the following additional tools:</p> <pre><code>pacman -S bison pacman -S curl pacman -S gperf pacman -S ncurses-devel pacman -S automake-wrapper pacman -S autoconf pacman -S pkg-config </code></pre> <p>Because of some versioning issues, I had to run 'aclocal' prior to running the kconfig-frontends configure script. See "Configuring NuttX" below for further information.</p> <p>Unlike Cygwin, MSYS does not support symbolic links. The 'ln -s' command will, in fact, copy a directory! This means that you Make.defs file will have to include definitions like:</p> <pre><code>ifeq ($(CONFIG_WINDOWS_MSYS),y) DIRLINK = $(TOPDIR)/tools/copydir.sh DIRUNLINK = $(TOPDIR)/tools/unlink.sh endif </code></pre> <p>This will force the directory copies to work in a way that can be handled by the NuttX build system. NOTE: The default link.sh script has been updated so that is should now be MSYS2 compatible. The above is preferred but no longer necessary in the Make.defs file.</p> <p>To build the simulator under MSYS, you also need:</p> <pre><code>pacman -S zlib-devel </code></pre> <p>It appears that you cannot use directory names with spaces in them like "/c/Program\ Files (86)" in the MSYS path variable. I worked around this by create Windows junctions like this:</p> <ol> <li> <p>Open the a windows command terminal,</p> </li> <li> <p>cd to <code>c:\msys64</code>, then</p> </li> <li> <p><code>mklink /j programfiles "C:/Program\ Files"</code> and</p> </li> <li> <p><code>mklink /j programfiles86 "C:/Program\ Files\ \(x86\)"</code></p> <p>They then show up as <code>/programfiles</code> and <code>/programfiles86</code> with the MSYS2 sandbox. Those paths can then be used with the PATH variable. I had to do something similar for the path to the GNU Tools "ARM Embedded Toolchain" which also has spaces in the path name.</p> </li> </ol> <h2>Ubuntu Bash under Windows 10</h2> <p>A better version of a command-line only Ubuntu under Windows 10 (beta) has recently been made available from Microsoft.</p> <h3>Installation</h3> <p>Installation instructions abound on the Internet complete with screen shots. I will attempt to duplicate those instructions in full here. Here are the simplified installation steps:</p> <ul> <li> <p>Open <em>Settings</em>.</p> </li> <li> <p>Click on <em>Update &amp; security</em>.</p> </li> <li> <p>Click on <em>For Developers</em>.</p> </li> <li> <p>Under <em>Use developer features</em>, select the <em>Developer mode</em> option to setup the environment to install Bash.</p> </li> <li> <p>A message box should pop up. Click <em>Yes</em> to turn on developer mode.</p> </li> <li> <p>After the necessary components install, you'll need to restart your computer.</p> <p>Once your computer reboots:</p> </li> <li> <p>Open <em>Control Panel</em>.</p> </li> <li> <p>Click on <em>Programs</em>.</p> </li> <li> <p>Click on <em>Turn Windows features on or off</em>.</p> </li> <li> <p>A list of features will pop up, check the <em>Windows Subsystem for Linux (beta)</em> option.</p> </li> <li> <p>Click <em>OK</em>.</p> </li> <li> <p>Once the components installed on your computer, click the <em>Restart now</em> button to complete the task.</p> <p>After your computer restarts, you will notice that Bash will not appear in the <em>Recently added</em> list of apps, this is because Bash isn't actually installed yet. Now that you have setup the necessary components, use the following steps to complete the installation of Bash:</p> </li> <li> <p>Open <em>Start</em>, do a search for <code>bash.exe</code>, and press <em>Enter</em>.</p> </li> <li> <p>On the command prompt, type <code>y</code> and press Enter to download and install Bash from the Windows Store. This will take awhile.</p> </li> <li> <p>Then you'll need to create a default UNIX user account. This account doesn't have to be the same as your Windows account. Enter the username in the required field and press Enter (you can't use the username <code>admin</code>).</p> </li> <li> <p>Close the <code>bash.exe</code> command prompt.</p> </li> </ul> <p>Now that you completed the installation and setup, you can open the Bash tool from the Start menu like you would with any other app.</p> <h3>Accessing Windows Files from Ubuntu</h3> <p>File systems will be mounted under <code>/mnt</code> so for example <code>C:\Program Files</code> appears at <code>/mnt/c/Program Files</code>. This is as opposed to Cygwin where the same directory would appear at <code>/cygdrive/c/Program Files</code>.</p> <p>With these differences (perhaps a few other Windows quirks) the Ubuntu install works just like Ubuntu running natively on your PC.</p> <p>A good tip for file sharing is to use symbolic links within your Ubuntu home directory. For example, suppose you have your <code>projects</code> directory at <code>C:\Documents\projects</code>. Then you can set up a link to the <code>projects/</code> directory in your Ubuntu directory like:</p> <pre><code>ln -s /mnt/c/Documents/projects projects </code></pre> <h3>Accessing Ubuntu Files From Windows</h3> <p>In Ubuntu Userspace for Windows, the Ubuntu file system root directory is at:</p> <pre><code>%localappdata%\lxss\rootfs </code></pre> <p>Or</p> <pre><code>C:\Users\Username\AppData\Local\lxss\rootfs </code></pre> <p>However, I am unable to see my files under the rootfs\home directory. After some looking around, I find the home directory <code>%localappdata%\lxss\home</code>.</p> <p>With that trick access to the <code>/home</code> directory, you should actually be able to use Windows tools outside of the Ubuntu sandbox with versions of NuttX built within the sandbox using that path.</p> <h3>Executing Windows Tools from Ubuntu</h3> <p>You can also execute Windows tools from within the Ubuntu sandbox:</p> <pre><code>/mnt/c/Program\ Files\ \(x86\)/Microchip/xc32/v1.43/bin/xc32-gcc.exe --version Unable to translate current working directory. Using C:\WINDOWS\System32 xc32-gcc.exe (Microchip Technology) 4.8.3 MPLAB XC32 Compiler v1.43 Build date: Mar 1 2017 ... </code></pre> <p>The error message indicates that there are more issues: You cannot mix Windows tools that use Windows style paths in an environment that uses POSIX paths. I think you would have to use Linux tools only from within the Ubuntu sandbox.</p> <h3>Install Ubuntu Software</h3> <p>Use <code>sudo apt-get install &lt;package name&gt;</code>. As examples, this is how you would get GIT:</p> <pre><code>sudo apt-get install git </code></pre> <p>This will get you a compiler for your host PC:</p> <pre><code>sudo apt-get install gcc </code></pre> <p>This will get you an ARM compiler for your target:</p> <pre><code>sudo apt-get install gcc-arm-none-eabi </code></pre> <p><strong>NOTE</strong>: That is just an example. I am not sure if apt-get will give you a current or usable compiler. You should carefully select your toolchain for the needs of your project.</p> <p>You will also need to get the kconfig-frontends configuration as described below under <em>NuttX Configuration Tool</em>. In order to build the kconfig-frontends configuration tool you will also need: <code>make</code>, <code>gperf</code>, <code>flex</code>, <code>bison</code>, and <code>libncurses-dev</code>.</p> <p>That is enough to do a basic NuttX build.</p> <h3>Integrating with Windows Tools</h3> <p>If you want to integrate with Windows native tools, then you would need deal with the same kind of craziness as with integrating Cygwin with native toolchains, see the section <em>Cygwin Build Problems</em> below.</p> <p>However, there is currently no build support for using Windows native tools with Ubuntu under Windows. This tool combination is made to work with Cygwin through the use of the <code>cygpath -w</code> tool that converts paths from say <code>/cydrive/c/Program Files</code> to <code>C:\Program Files</code>. There is, however, no corresponding tool to convert <code>/mnt/c/Program Files</code> in the Ubuntu environment.</p> <h3>Graphics Support</h3> <p>The Ubuntu version support by Microsoft is a command-line only version. There is no support for Linux graphics utilities.</p> <p>This limitation is not a limitation of Ubuntu, however, only in what Microsoft is willing to support. If you install a X-Server, then you can also use basic graphics utilities. See for example:</p> <p><a href="http://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-applications-from-windows-10s-bash-shell/">http://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-applications-from-windows-10s-bash-shell/</a></p> <p>Many Linux graphics programs would, however, also require a graphics framework like GTK or Qt. So this might be a trip down the rabbit hole.</p> <h3>Using macOS</h3> <p>You need to install at least the following tools specific to macOS.</p> <ul> <li>flock (used by APPDIR build logic)</li> </ul> <p>A macOS port is available at: <a href="https://github.com/discoteq/flock">https://github.com/discoteq/flock</a></p> <pre><code>brew tap discoteq/discoteq brew install flock </code></pre> <p>If you want to build the sim:</p> <ul> <li> <p>Xcode (the native compiler and the rest of the toolchain)</p> </li> <li> <p>ELF toolchain (if you want to build modules for CONFIG_LIBC_MODLIB)</p> <p>brew install x86_64-elf-gcc</p> </li> </ul> <h1>INSTALLATION</h1> <p>There are two ways to get NuttX: You may download released, stable tarballs from either the project website. Or you may get NuttX by cloning the GIT repositories. Let's consider the released tarballs first:</p> <h2>Download and Unpack</h2> <p>Download and unpack the NuttX tarball. If you are reading this, then you have probably already done that. After unpacking, you will end up with a directory called nuttx-version (where version is the NuttX version number). You might want to rename that directory nuttx to match the various instructions in the documentation and some scripts in the source tree.</p> <ul> <li> <p>Download location:</p> <p><a href="https://nuttx.apache.org/download/">https://nuttx.apache.org/download/</a></p> </li> <li> <p>Legacy download locations:</p> <p><a href="https://bitbucket.org/nuttx/nuttx/downloads">https://bitbucket.org/nuttx/nuttx/downloads</a> <a href="https://sourceforge.net/projects/nuttx/files/nuttx/">https://sourceforge.net/projects/nuttx/files/nuttx/</a></p> </li> </ul> <h2>Semi-Optional apps/ Package</h2> <p>All NuttX libraries and example code used to be in included within the NuttX source tree. As of NuttX-6.0, this application code was moved into a separate tarball, the apps tarball. If you are just beginning with NuttX, then you will want to download the versioned apps tarball along with the NuttX tarball. If you already have your own product application directory, then you may not need the apps tarball.</p> <p>It is called "Semi-optional" because if you don't have some <code>apps/</code> directory, NuttX will <em>fail</em> to build! You do not necessarily need to use the NuttX apps tarball but may, instead, provide your own custom application directory. Such a custom directory would need to include a valid Makefile to support the build and a valid Kconfig file to support the configuration. More about these files later.</p> <p>Download then unpack the apps tarball in the same directory where you unpacked the NuttX tarball. After you unpack the apps tarball, you will have a new directory called apps-version (where the version should exactly match the version of the NuttX tarball). Again, you might want to rename the directory to simply apps/ to match what you read in the documentation</p> <p>After unpacking (and renaming) the apps tarball, you will have two directories side by side like this:</p> <pre><code> | +----+----+ | | nuttx/ apps/ </code></pre> <p>This is important because the NuttX build will expect to find the apps directory in that (default) location. That default location can be changed by modifying your NuttX configuration file, but that is another story.</p> <h2>Installation Directories with Spaces in the Path</h2> <p>The nuttx build directory should reside in a path that contains no spaces in any higher level directory name. For example, under Cygwin, your home directory might be formed from your first and last names like: <code>/home/First Last</code>. That will cause strange errors when the make system tries to build.</p> <p>[Actually, that problem is probably not too difficult to fix. Some Makefiles probably just need some paths within double quotes]</p> <p>I work around spaces in the home directory name, by creating a new directory that does not contain any spaces, such as <code>/home/nuttx</code>. Then I install NuttX in <code>/home/nuttx</code> and always build from <code>/home/nuttx/nuttx-code</code>.</p> <h2>Downloading from Repositories</h2> <h3>Cloning the Repository</h3> <p><strong>BEFORE</strong> cloning repositories on any Windows platform do the following GIT command:</p> <pre><code>git config --global core.autocrlf false </code></pre> <p>That will avoid conversions of linefeeds (newlines, \n) to carriage return plus linefeed sequences (\r\n)</p> <p>The current NuttX du jour is available in from a GIT repository. Here are instructions for cloning the core NuttX RTOS (corresponding to the nuttx tarball discussed above):</p> <pre><code>git clone https://gitbox.apache.org/repos/asf/nuttx.git nuttx </code></pre> <p>-or-</p> <pre><code>git clone https://github.com/apache/nuttx.git nuttx </code></pre> <p>And the semi-optional apps/ application directory and be cloned like:</p> <pre><code>git clone https://gitbox.apache.org/repos/asf/nuttx-apps.git apps </code></pre> <p>-or-</p> <pre><code>git clone https://github.com/apache/nuttx-apps.git apps </code></pre> <p>That will give you the same directory structure like this:</p> <pre><code> | +----+----+ | | nuttx/ apps/ </code></pre> <h3>Configuring the Clones</h3> <p>The following steps need to be performed for each of the repositories. After changing to the clone directory:</p> <p>Set your identity:</p> <pre><code>git config --global user.name "My Name" git config --global user.email my.name@example.com </code></pre> <p>Colorized diffs are much easier to read:</p> <pre><code>git config --global color.branch auto git config --global color.diff auto git config --global color.interactive auto git config --global color.status auto </code></pre> <p>Checkout other settings</p> <pre><code>git config --list </code></pre> <h3>Cloning NuttX Inside Cygwin</h3> <p>If you are cloning the NuttX repository, it is recommended to avoid automatic end of lines conversions by git. These conversions may break some scripts like configure.sh. Before cloning, do the following:</p> <pre><code>git config --global core.autocrlf false </code></pre> <h2>Related Repositories</h2> <p>These are standalone repositories:</p> <ul> <li> <p><a href="https://gitbox.apache.org/repos/asf/nuttx-apps">https://gitbox.apache.org/repos/asf/nuttx-apps</a> or <a href="https://github.com/apache/nuttx-apps.git">https://github.com/apache/nuttx-apps.git</a></p> <p>This directory holds an optional package of applications and libraries can be used with the NuttX RTOS. There is a README.txt file there that will provide more information about that package.</p> </li> <li> <p><a href="https://bitbucket.org/nuttx/nxwidgets">https://bitbucket.org/nuttx/nxwidgets</a></p> <p>This is the NuttX C++ graphics support. This includes NxWM, the tiny NuttX Window Manager.</p> </li> <li> <p><a href="https://bitbucket.org/nuttx/uclibc">https://bitbucket.org/nuttx/uclibc</a></p> <p>This repository contains a version of the uClibc++ C++ library. This code originates from <a href="http://cxx.uclibc.org/">http://cxx.uclibc.org/</a> and has been adapted for NuttX by the RGMP team (<a href="http://rgmp.sourceforge.net/wiki/index.php/Main_Page">http://rgmp.sourceforge.net/wiki/index.php/Main_Page</a>).</p> </li> <li> <p><a href="https://bitbucket.org/nuttx/buildroot">https://bitbucket.org/nuttx/buildroot</a></p> <p>A environment that you can to use to build a custom, NuttX GNU toolchain.</p> </li> <li> <p><a href="https://bitbucket.org/nuttx/tools">https://bitbucket.org/nuttx/tools</a></p> <p>There are snapshots of some tools here that you will need to work with NuttX: kconfig-frontends, genromfs, and others.</p> </li> </ul> <h2>Notes about Header Files</h2> <h3>Other C-Library Header Files</h3> <p>When a GCC toolchain is built, it must be built against a C library. The compiler together with the contents of the C library completes the C language definition and provides the complete C development environment. NuttX provides its own, built-in C library. So the complete, consistent C language definition for use with NuttX comes from the combination of the compiler and the header files provided by the NuttX C library.</p> <p>When a GCC toolchain is built, it incorporates the C library header files into the compiler internal directories and, in this way, the C library really becomes a part of the toolchain. If you use the NuttX buildroot toolchain as described below under "NuttX Buildroot Toolchain", your GCC toolchain will build against the NuttX C library and will incorporate the NuttX C library header files as part of the toolchain.</p> <p>If you use some other, third-party tool chain, this will not be the case, however. Those toolchains were probably built against some other, incompatible C library distribution (such as newlib). Those tools will have incorporated the incompatible C library header files as part of the toolchain. These incompatible header files must <em>not</em> be used with NuttX because they will conflict with definitions in the NuttX built-in C-Library. For such toolchains that include header files from a foreign C-Library, NuttX must be compiled without using the standard header files that are distributed with your toolchain. This prevents including conflicting, incompatible header files such as stdio.h.</p> <p>The math.h and stdarg.h are probably the two most trouble some header files to deal with. These troublesome header files are discussed in more detail below.</p> <h3>Header Files Provided by Your Toolchain</h3> <p>Certain header files, such as <code>setjmp.h</code>, <code>stdarg.h</code>, and <code>math.h</code>, may still be needed from your toolchain and your compiler may not, however, be able to find these if you compile NuttX without using standard header files (i.e., with <code>-nostdinc</code>). If that is the case, one solution is to copy those header file from your toolchain into the NuttX include directory.</p> <h3>Duplicated Header Files</h3> <p>There are also a few header files that can be found in the <code>nuttx/include</code> directory which are duplicated by the header files from your toolchain. stdint.h and stdbool.h are examples. If you prefer to use the <code>stdint.h</code> and <code>stdbool.h</code> header files from your toolchain, those could be copied into the <code>nuttx/include/</code> directory. Using most other header files from your toolchain would probably cause errors.</p> <h3>math.h</h3> <p>Even though you should not use a foreign C-Library, you may still need to use other, external libraries with NuttX. In particular, you may need to use the math library, libm.a. NuttX supports a generic, built-in math library that can be enabled using <code>CONFIG_LIBM=y</code>. However, you may still want to use a higher performance external math library that has been tuned for your CPU. Sometimes such tuned math libraries are bundled with your toolchain.</p> <p>The math library header file, <code>math.h</code>, is a then special case. If you do nothing, the standard math.h header file that is provided with your toolchain will be used.</p> <p>If you have a custom, architecture specific math.h header file, then that header file should be placed at <code>arch/&lt;cpu&gt;/include/math.h</code>. There is a stub <code>math.h</code> header file located at <code>include/nuttx/lib/math.h</code>. This stub header file can be used to "redirect" the inclusion to an architecture- specific math.h header file. If you add an architecture specific math.h header file then you should also define <code>CONFIG_ARCH_MATH_H=y</code> in your NuttX Configuration file. If <code>CONFIG_ARCH_MATH_H</code> is selected, then the top-level Makefile will copy the stub math.h header file from <code>include/nuttx/lib/math.h</code> to <code>include/math.h</code> where it will become the system <code>math.h</code> header file. The stub <code>math.h</code> header file does nothing other than to include that architecture-specific <code>math.h</code> header file as the system <code>math.h</code> header file.</p> <h3>float.h</h3> <p>If you enable the generic, built-in math library, then that math library will expect your toolchain to provide the standard <code>float.h</code> header file. The float.h header file defines the properties of your floating point implementation. It would always be best to use your toolchain's <code>float.h</code> header file but if none is available, a default <code>float.h</code> header file will be provided if this option is selected. However, there is no assurance that the settings in this <code>float.h</code> are actually correct for your platform!</p> <h3>stdarg.h</h3> <p>In most cases, the correct version of stdarg.h is the version provided with your toolchain. However, sometimes there are issues with using your toolchains <code>stdarg.h</code>. For example, it may attempt to draw in header files that do not exist in NuttX or perhaps the header files that it uses are not compatible with the NuttX header files. In those cases, you can use an architecture-specific <code>stdarg.h</code> header file by defining <code>CONFIG_ARCH_STDARG_H=y</code>.</p> <p>See the discussion above for the <code>math.h</code> header. This setting works exactly the same for the <code>stdarg.h</code> header file.</p> <h1>CONFIGURING NUTTX</h1> <h2>Instantiating "Canned" Configurations</h2> <h3><code>configure.sh</code> and <code>configure.bat</code></h3> <p>"Canned" NuttX configuration files are retained in:</p> <pre><code>boards/&lt;arch-name&gt;/&lt;chip-name&gt;/&lt;board-name&gt;/configs/&lt;config-dir&gt; </code></pre> <p>Where <code>&lt;board-name&gt;</code> is the name of your development board and <code>&lt;config-dir&gt;</code> is the name of the sub-directory containing a specific configuration for that board. <code>&lt;arch-name&gt;</code> and <code>&lt;chip-name&gt;</code> refer to characteristics of the MCU used on the board: <code>&lt;arch-name&gt;</code> is the CPU architecture implemented by the MCU; <code>&lt;chip-name&gt;</code> identifies the MCU chip family. Only a few steps are required to instantiate a NuttX configuration, but to make the configuration even easier there are scripts available in the tools/ sub-directory combines those simple steps into one command.</p> <p>There is one tool for use with any Bash-like shell that does configuration steps. It is used as follows:</p> <pre><code>tools/configure.sh &lt;board-name&gt;:&lt;config-dir&gt; </code></pre> <p>There is an alternative Windows batch file that can be used in the windows native environment like:</p> <pre><code>tools\configure.bat &lt;board-name&gt;:&lt;config-dir&gt; </code></pre> <p>And, to make sure that other platforms are supported, there is also a C program at tools/configure.c that can be compiled to establish the board configuration.</p> <p>See <code>tools/README.txt</code> for more information about these scripts.</p> <p>General information about configuring NuttX can be found in:</p> <pre><code>{TOPDIR}/boards/README.txt {TOPDIR}/boards/&lt;arch-name&gt;/&lt;chip-name&gt;/&lt;board-name&gt;/README.txt </code></pre> <h3>The Hidden Configuration Scripts:</h3> <p>As mentioned above, there are only a few simple steps to instantiating a NuttX configuration. Those steps are hidden by the configuration scripts but are summarized below:</p> <ol> <li> <p>Copy Files</p> <p>Configuring NuttX requires only copying two files from the <code>&lt;config-dir&gt;</code> to the directory where you installed NuttX (TOPDIR):</p> <ul> <li> <p>Copy <code>boards/&lt;arch-name&gt;/&lt;chip-name&gt;/&lt;board-name&gt;/configs/&lt;config-dir&gt;/Make.def</code> to <code>{TOPDIR}/Make.defs</code></p> <p>OR</p> </li> <li> <p>Copy <code>boards/&lt;arch-name&gt;/&lt;chip-name&gt;/&lt;board-name&gt;/scripts/Make.def</code> to <code>{TOPDIR}/Make.defs</code></p> <p>Make.defs describes the rules needed by your tool chain to compile and link code. You may need to modify this file to match the specific needs of your toolchain. NOTE that a configuration may have its own unique Make.defs file in its configuration directory or it may use a common Make.defs file for the board in the scripts/ directory. The first takes precedence.</p> </li> <li> <p>Copy <code>boards/&lt;arch-name&gt;/&lt;chip-name&gt;/&lt;board-name&gt;/configs/&lt;config-dir&gt;/defconfig</code> to <code>{TOPDIR}/.config</code></p> <p>The defconfig file holds the actual build configuration. This file is included by all other make files to determine what is included in the build and what is not. This file is also used to generate a C configuration header at <code>include/nuttx/config.h</code>.</p> </li> <li> <p>Copy other, environment-specific files to <code>{TOPDIR}</code></p> <p>This might include files like .gdbinit or IDE configuration files like .project or .cproject.</p> </li> </ul> </li> <li> <p>Refresh the Configuration</p> <p>New configuration setting may be added or removed. Existing settings may also change there values or options. This must be handled by refreshing the configuration as described below.</p> <p>NOTE: NuttX uses only compressed defconfig files. For the NuttX defconfig files, this refreshing step is <em>NOT</em> optional; it is also necessary to uncompress and regenerate the full making file. This is discussed further below.</p> </li> </ol> <h2>Refreshing Configurations</h2> <p>Configurations can get out of date. As new configuration settings are added or removed or as dependencies between configuration settings change, the contents of a default configuration can become out of synch with the build systems. Hence, it is a good practice to "refresh" each configuration after configuring and before making. To refresh the configuration, use the NuttX Configuration Tool like this:</p> <pre><code>make oldconfig </code></pre> <p>AFTER you have instantiated the NuttX configuration as described above. The configuration step copied the .config file into place in the top-level NuttX directory; 'make oldconfig' step will then operate on that .config file to bring it up-to-date.</p> <p>If your configuration is out of date, you will be prompted by 'make oldconfig' to resolve the issues detected by the configuration tool, that is, to provide values for the new configuration options in the build system. Doing this can save you a lot of problems down the road due to obsolete settings in the default board configuration file. The NuttX configuration tool is discussed in more detail in the following paragraph.</p> <p>Confused about what the correct value for a new configuration item should be? Enter ? in response to the 'make oldconfig' prompt and it will show you the help text that goes with the option.</p> <p>If you don't want to make any decisions are willing to just accept the recommended default value for each new configuration item, an even easier way is:</p> <pre><code>make olddefconfig </code></pre> <p>The olddefconfig target will simply bring your configuration up to date with the current Kconfig files, setting any new options to the default value. No questions asked.</p> <h2>NuttX Configuration Tool</h2> <p>An automated tool has been incorporated to support re-configuration of NuttX. This tool is based on the kconfig-frontends application available at <a href="https://bitbucket.org/nuttx/tools/src/master/kconfig-frontends/">https://bitbucket.org/nuttx/tools/src/master/kconfig-frontends/</a>. (This is a snapshot of the old <a href="http://ymorin.is-a-geek.org/projects/kconfig-frontends">http://ymorin.is-a-geek.org/projects/kconfig-frontends</a> which is no longer available.) This application provides a tool called <code>kconfig-mconf</code> that is used by the NuttX top-level Makefile. The following make target is provided:</p> <pre><code>make menuconfig </code></pre> <p>This make target will bring up NuttX configuration menus.</p> <p><strong>WARNING</strong>: Never do <code>make menuconfig</code> on a configuration that has not been converted to use the kconfig-frontends tools! This will damage your configuration (see <a href="https://cwiki.apache.org/confluence/display/NUTTX/Converting+Legacy+Configurations+to+Use+kconfig-mconf">https://cwiki.apache.org/confluence/display/NUTTX/Converting+Legacy+Configurations+to+Use+kconfig-mconf</a>).</p> <p>NuttX also supports kconfiglib(<a href="https://github.com/ulfalizer/Kconfiglib">https://github.com/ulfalizer/Kconfiglib</a>) by default, which is a Kconfig tool implemented in Python 2/3. Compared with kconfig-frontends, kconfiglib provides NuttX with the possibility of multi-platform support(configure NuttX in Winodws native/Visual Studio), and also kconfiglib has a stronger Kconfig syntax check, this will help developers to avoid some Kconfig syntax errors. Install kconfiglib via following command:</p> <pre><code>pip install kconfiglib </code></pre> <p>If you are a working on Windows, which also need the support of windows-curses:</p> <pre><code>pip install windows-curses </code></pre> <p><strong>NOTE</strong>: It should be noted that kconfiglib does not support <strong>modules</strong> attributes. (<a href="https://github.com/ulfalizer/Kconfiglib/raw/master/kconfiglib.py#L3239-L3254">https://github.com/ulfalizer/Kconfiglib/blob/master/kconfiglib.py#L3239-L3254</a>, the community seems to have stopped updating), if the features depends on <code>CONFIG_BUILD_LOADABLE</code>, kconfiglib may not be a good choice.</p> <p>How do we tell a new configuration from an old one? See "Incompatibilities with Older Configurations" below.</p> <p>The <code>menuconfig</code> make target depends on two things:</p> <ol> <li> <p>The Kconfig configuration data files that appear in almost all NuttX directories. These data files are the part that is still under development (patches are welcome!). The Kconfig files contain configuration information for the configuration settings relevant to the directory in which the Kconfig file resides.</p> <p>NOTE: For a description of the syntax of this configuration file, see kconfig-language.txt in the tools repository at <a href="https://bitbucket.org/nuttx/tools">https://bitbucket.org/nuttx/tools</a></p> </li> <li> <p>The <code>kconfig-mconf</code> tool. <code>kconfig-mconf</code> is part of the kconfig-frontends package. You can download that package from the snapshot in the tools repository at <a href="https://bitbucket.org/nuttx/tools">https://bitbucket.org/nuttx/tools</a>.</p> <p>Building kconfig-frontends under Linux may be as simple as <code>configure; make; make install</code> but there may be some build complexities, especially if you are building under Cygwin. See the more detailed build instructions in the top-level README.txt file of the tools repository at <a href="https://bitbucket.org/nuttx/tools">https://bitbucket.org/nuttx/tools</a>.</p> <p>The <code>make install</code> step will, by default, install the <code>kconfig-mconf</code> tool at <code>/usr/local/bin/mconf</code>. Where ever you choose to install <code>kconfig-mconf</code>, make certain that your PATH variable includes a path to that installation directory.</p> <p>The kconfig-frontends tools will not build in a native Windows environment directly "out-of-the-box". For the Windows native case, you can use the modified version of kconfig-frontends that can be found at</p> <p><a href="http://uvc.de/posts/linux-kernel-configuration-tool-kconfig-under-windows.html">http://uvc.de/posts/linux-kernel-configuration-tool-kconfig-under-windows.html</a></p> <p>or a more recent port that can be found at</p> <p><a href="http://reclonelabs.com/more-kconfig-awesomeness-for-windows/">http://reclonelabs.com/more-kconfig-awesomeness-for-windows/</a>.</p> </li> </ol> <p>The basic configuration order is "bottom-up":</p> <ul> <li>Select the build environment,</li> <li>Select the processor,</li> <li>Select the board,</li> <li>Select the supported peripherals</li> <li>Configure the device drivers,</li> <li>Configure the application options on top of this.</li> </ul> <p>This is pretty straight forward for creating new configurations but may be less intuitive for modifying existing configurations.</p> <p>Another ncurses-based tool that is an option to kconfig-mconf is kconfig-nconf. The differences are primary in in the aesthetics of the UI. If you have kconfig-nconf built, then you can invoke that front end with:</p> <pre><code> make nconfig </code></pre> <p>If you have an environment that supports the Qt or GTK graphical systems (probably KDE or gnome, respectively, or Cygwin under Windows with Qt or GTK installed), then you can also build the graphical kconfig-frontends, kconfig-qconf and kconfig-gconf. In these case, you can start the graphical configurator with either:</p> <pre><code> make qconfig </code></pre> <p>or</p> <pre><code> make gconfig </code></pre> <p>Some keyboard shortcuts supported by kconfig-mconf, the tool that runs when you do 'make menuconfig':</p> <ul> <li> <p><code>?</code> will bring up the mconfig help display.</p> </li> <li> <p><code>/</code> can be used find configuration selections.</p> </li> <li> <p><code>Z</code> can be used to reveal hidden configuration options</p> </li> </ul> <p>These last two shortcuts are described further in the following paragraphs.</p> <h2>Finding Selections in the Configuration Menus</h2> <p>The NuttX configuration options have gotten complex and it can be very difficult to find options in the menu trees if you are not sure where to look. The "basic configuration order" describe above can help to narrow things down.</p> <p>But if you know exactly what configuration setting you want to select, say <code>CONFIG_XYZ</code>, but not where to find it, then the <code>make menuconfig</code> version of the tool offers some help: By pressing the '/' key, the tool will bring up a menu that will allow you to search for a configuration item. Just enter the string <code>CONFIG_XYZ</code> and press ENTER. It will show you not only where to find the configuration item, but also all of the dependencies related to the configuration item.</p> <h2>Reveal Hidden Configuration Options</h2> <p>If you type <code>Z</code>, then <code>kconfig-mconf</code> will change what is displayed. Normally, only enabled features that have all of their dependencies met are displayed. That is, of course, not very useful if you would like to discover new options or if you are looking for an option and do not realize that the dependencies have not yet been selected and, hence, it is not displayed.</p> <p>But if you enter <code>Z</code>, then every option will be shown, whether or not its dependencies have been met. You can then see everything that could be selected with the right dependency selections. These additional options will be shown the <code>-</code> for the selection and for the value (since it cannot be selected and has no value). About all you do is to select the <code>&lt;Help&gt;</code> option to see what the dependencies are.</p> <h2>Make Sure that You are on the Right Platform</h2> <p>Saved configurations may run on Linux, Cygwin (32- or 64-bit), or other platforms. The platform characteristics can be changed use <code>make menuconfig</code>. Sometimes this can be confusing due to the differences between the platforms. Enter <code>sethost.sh</code></p> <p>sethost.sh is a simple script that changes a configuration to your host platform. This can greatly simplify life if you use many different configurations. For example, if you are running on Linux and you configure like this:</p> <pre><code>tools/configure.sh board:configuration </code></pre> <p>The you can use the following command to both (1) make sure that the configuration is up to date, AND (2) the configuration is set up correctly for Linux:</p> <pre><code>tools/sethost.sh -l </code></pre> <p>Or, if you are on a Windows/Cygwin 64-bit platform:</p> <pre><code>tools/sethost.sh -c </code></pre> <p>Or, for MSYS/MSYS2:</p> <pre><code>tools/sethost.sh -g </code></pre> <p>Other options are available from the help option built into the script. You can see all options with:</p> <pre><code>tools/sethost.sh -h </code></pre> <p>Recently, the options to the configure.sh (and configure.bat) scripts have been extended so that you both setup the configuration, select for the host platform that you use, and uncompress and refresh the defconfig file all in one command like:</p> <pre><code>tools/configure.sh -l board:configuration </code></pre> <p>For a Linux host or for a Windows/Cygwin host:</p> <pre><code>tools/configure.sh -c board:configuration </code></pre> <p>Other options are available from the help option built into the script. You can see all options with:</p> <pre><code>tools/configure.sh -h </code></pre> <h2>Comparing Two Configurations</h2> <p>If you try to compare two configurations using 'diff', you will probably not be happy with the result. There are superfluous things added to the configuration files that make comparisons with the human eye difficult.</p> <p>There is a tool at nuttx/tools/cmpconfig.c that can be built to simplify these comparisons. The output from this difference tool will show only the meaningful differences between two configuration files. This tool is built as follows:</p> <pre><code>cd nuttx/tools make -f Makefile.host </code></pre> <p>This will create a program called 'cmpconfig' or 'comconfig.exe' on Windows.</p> <p>Why would you want to compare two configuration files? Here are a few of the reasons why I do this</p> <ol> <li> <p>When I create a new configuration I usually base it on an older configuration and I want to know, "What are the options that I need to change to add the new feature to the older configurations?" For example, suppose that I have a boardA/nsh configuration and I want to create a boardA/nxwm configuration. Suppose I already have boardB/nsh and boardB/nxwm configurations. Then by comparing the boardB/nsh with the boardB/nxwm I can see the modifications that I would need to make to my boardA/nsh to create a new boardA/nxwm.</p> </li> <li> <p>But the most common reason that I use the 'cmpconfig' program is to check the results of "refreshing" a configuration with 'make oldconfig' (see the paragraph "Refreshing Configurations" above). The 'make oldconfig' command will make changes to my configuration and using 'cmpconfig', I can see precisely what those changes were and if any should be of concern to me.</p> </li> <li> <p>The 'cmpconfig' tool can also be useful when converting older, legacy manual configurations to the current configurations based on the kconfig-frontends tools. See the following paragraph.</p> </li> </ol> <h2>Making <code>defconfig</code> Files</h2> <h3><code>.config</code> Files as <code>defconfig</code> Files:</h3> <p>The minimum <code>defconfig</code> file is simply the generated <code>.config</code> file with CONFIG_APPS_DIR setting removed or commented out. That setting provides the name and location of the <code>apps/</code> directory relative to the <code>nuttx</code> build directory. The default is <code>../apps/</code>, however, the apps directory may be any other location and may have a different name. For example, the name of versioned NuttX releases are always in the form <code>apps-xx.yy</code> where <code>xx.yy</code> is the version number.</p> <h3>Finding the <code>apps/</code> Directory Path:</h3> <p>When the default configuration is installed using one of the scripts or programs in the NuttX tools directory, there will be an option to provide the path to the <code>apps/</code> directory. If not provided, then the configure tool will look around and try to make a reasonable decision about where the <code>apps/</code> directory is located.</p> <h3>Compressed <code>defconfig</code> Files:</h3> <p>The <code>Makefile</code> also supports an option to generate very small <code>defconfig</code> files. The <code>.config</code> files are quite large and complex. But most of the settings in the <code>.config</code> file simply have the default settings from the <code>Kconfig</code> files. These <code>.config</code> files can be converted into small <code>defconfig</code> file:</p> <pre><code>make savedefconfig </code></pre> <p>That make target will generate a defconfig file in the top-level directory. The size reduction is really quite remarkable:</p> <pre><code>wc -l .config defconfig 1085 .config 82 defconfig 1167 total </code></pre> <p>In order to be usable, the <code>.config</code> file installed from the compressed defconfig file must be reconstituted using:</p> <pre><code>make olddefconfig </code></pre> <blockquote> <p><strong>NOTE 1</strong>: Only compressed defconfig files are retained in the NuttX repository. All patches and PRs that attempt to add or modify a defconfig file MUST use the compressed defconfig format as created by 'make savdefconfig.'</p> </blockquote> <blockquote> <p><strong>NOTE 2</strong>: When 'make savedefconfig' runs it will try several things some of which are expected to fail. In these cases you will see an error message from make followed by "(ignored)." You should also ignore these messages</p> </blockquote> <p><strong>CAUTION</strong>: This size reduction was accomplished by removing all setting from the <code>.config</code> file that were at the default value. <code>make olddefconfig</code> can regenerate the original <code>.config</code> file by simply restoring those default settings. The underlying assumption here is, of course, that the default settings do not change. If the default settings change, and they often do, then the original <code>.config</code> may not be reproducible.</p> <p>So if your project requires 100% reproducibility over a long period of time, you make want to save the complete <code>.config</code> files vs. the standard, compressed <code>defconfig</code> file.</p> <h3>Configuring with "Compressed" defconfig Files:</h3> <p>As described above <code>defconfig</code>, all NuttX <code>defconfig</code> files are compressed using <code>make savedeconfig</code>. These compressed <code>defconfig</code> files are generally not fully usable as they are and may not build the target binaries that you want because the compression process removed all of the default settings from the <code>defconfig</code> file. To restore the default settings, you should run the following after configuring:</p> <pre><code>make olddefconfig </code></pre> <p>That will restore the the missing defaulted values.</p> <p>Using this command after configuring is generally a good practice anyway: Even if the <code>defconfig</code> files are not "compressed" in this fashion, the <code>defconfig</code> file may be old and the only way to assure that the installed <code>.config</code> is is up to date is via <code>make oldconfig</code> or <code>make olddefconfig</code>. See the paragraph above entitled "Refreshing Configurations" for additional information.</p> <h2>Incompatibilities with Older Configurations</h2> <p><strong>WARNING</strong></p> <p>The current NuttX build system supports <em>only</em> the new compressed, <code>defconfig</code> configuration files generated using the <code>kconfig-frontends</code> tools as described in the preceding section. Support for the older, legacy, manual configurations was eliminated in NuttX 7.0; support for uncompressed <code>.config-files-as-defconfig</code> files was eliminated after NuttX-7.21. All configurations must now be done using the <code>kconfig-frontends</code> tool. The older manual configurations and the new <code>kconfig-frontends</code> configurations are not compatible. Old legacy configurations can <em>not</em> be used with the <code>kconfig-frontends</code> tool and, hence, cannot be used with releases of NuttX 7.0 and beyond:</p> <p>If you run <code>make menuconfig</code> with a legacy configuration the resulting configuration will probably not be functional.</p> <blockquote> <p>Q: How can I tell if a configuration is a new kconfig-frontends configuration or an older, manual configuration?</p> <p>A: Only old, manual configurations will have an appconfig file</p> <p>Q: How can I convert a older, manual configuration into a new, kconfig-frontends toolchain.</p> <p>A: Refer to <a href="https://cwiki.apache.org/confluence/display/NUTTX/Converting+Legacy+Configurations+to+Use+kconfig-mconf">https://cwiki.apache.org/confluence/display/NUTTX/Converting+Legacy+Configurations+to+Use+kconfig-mconf</a></p> </blockquote> <p><strong>WARNING</strong></p> <p>As described above, whenever you use a configuration, you really should always refresh the configuration with the following command <em>before</em> you make NuttX:</p> <pre><code>make oldconfig </code></pre> <p>OR</p> <pre><code>make olddefconfig </code></pre> <p>This will make sure that the configuration is up-to-date in the event that it has lapsed behind the current NuttX development (see the paragraph "Refreshing Configurations" above). But this only works with <em>new</em> configuration files created with the kconfig-frontends tools.</p> <p>Further, this step is <em>NOT</em> optional with the new, compressed defconfig files. It is a necessary step that will also uncompress the defconfig file, regenerating the <code>.config</code> and making it usable for NuttX builds.</p> <p>Never do <code>make oldconfig</code> (OR <code>make menuconfig</code>) on a configuration that has not been converted to use the kconfig-frontends tools! This will damage your configuration (see <a href="https://cwiki.apache.org/confluence/display/NUTTX/Converting+Legacy+Configurations+to+Use+kconfig-mconf">https://cwiki.apache.org/confluence/display/NUTTX/Converting+Legacy+Configurations+to+Use+kconfig-mconf</a>).</p> <h2>NuttX Configuration Tool under DOS</h2> <p>Recent versions of NuttX support building NuttX from a native Windows console window (see <em>Native Windows Build</em> below). But <code>kconfig-frontends</code> is a Linux tool. At one time this was a problem for Windows users, but now there are two specially modified versions of the <code>kconfig-frontends</code> tools that can be used. One can be found here: <a href="http://uvc.de/posts/linux-kernel-configuration-tool-kconfig-under-windows.html">http://uvc.de/posts/linux-kernel-configuration-tool-kconfig-under-windows.html</a></p> <p>The configuration steps of the most recent versions of NuttX require the <code>kconfig-tweak</code> tool that is not not available in the the above. However, there has been an update to this <code>Kconfig</code> Windows tools that does include <code>kconfig-tweak</code>: <a href="http://reclonelabs.com/more-kconfig-awesomeness-for-windows/">http://reclonelabs.com/more-kconfig-awesomeness-for-windows/</a></p> <p>Source code is available here: <a href="https://github.com/reclone/kconfig-frontends-win32">https://github.com/reclone/kconfig-frontends-win32</a> and <a href="https://github.com/reclone/kconfig-frontends-win32/releases">https://github.com/reclone/kconfig-frontends-win32/releases</a></p> <p>It is also possible to use the version of <code>kconfig-frontends</code> built under Cygwin outside of the Cygwin <em>sandbox</em> in a native Windows environment:</p> <ol> <li> <p>You can run the configuration tool using Cygwin. However, the Cygwin <code>Win.mk</code> will complain so to do this will, you have to manually edit the <code>.config</code> file:</p> <p>a. Delete the line: <code>CONFIG_WINDOWS_NATIVE=y</code></p> <p>b. Change the apps/ directory path, <code>CONFIG_APPS_DIR</code> to use Unix style delimiters. For example, change <code>..\apps</code> to <code>../apps</code></p> <p>And of course, after you use the configuration tool you need to restore <code>CONFIG_WINDOWS_NATIVE=y</code> and the correct <code>CONFIG_APPS_DIR</code>.</p> </li> <li> <p>You can, with some effort, run the Cygwin <code>kconfig-mconf</code> tool directly in the Windows console window. In this case, you do not have to modify the <code>.config</code> file, but there are other complexities:</p> <p>a. You need to temporarily set the Cygwin directories in the PATH variable then run <code>kconfig-mconf</code> manually like:</p> <pre><code> kconfig-mconf Kconfig </code></pre> <p>There is a Windows batch file at <code>tools/kconfig.bat</code> that automates these steps:</p> <pre><code>tools/kconfig menuconfig </code></pre> <p>b. There is an issue with accessing DOS environment variables from the Cygwin <code>kconfig-mconf</code> running in the Windows console. The following change to the top-level <code>Kconfig</code> file seems to work around these problems:</p> <pre><code> config APPSDIR string - option env="APPSDIR" + default "../apps" </code></pre> </li> </ol> <h1>TOOLCHAINS</h1> <h2>Cross-Development Toolchains</h2> <p>In order to build NuttX for your board, you will have to obtain a cross- compiler to generate code for your target CPU. For each board, configuration, there is a <code>README.txt</code> file (at <code>boards/&lt;arch-name&gt;/&lt;chip-name&gt;/&lt;board-name&gt;/README.txt</code>). That README file contains suggestions and information about appropriate tools and development environments for use with your board.</p> <p>In any case, the PATH environment variable will need to be updated to include the location where the build can find the toolchain binaries.</p> <h2>NuttX Buildroot Toolchain</h2> <p>For many configurations, a DIY set of tools is available for NuttX. These tools can be downloaded from the NuttX Bitbucket.org file repository. After unpacking the buildroot tarball, you can find instructions for building the tools in the <code>buildroot/boards/README.txt</code> file.</p> <p>Check the README.txt file in the configuration directory for your board to see if you can use the buildroot toolchain with your board (this README.txt file is located in <code>boards/&lt;arch-name&gt;/&lt;chip-name&gt;/&lt;board-name&gt;/README.txt</code>).</p> <p>This toolchain is available for both the Linux and Cygwin development environments.</p> <p>Advantages: (1) NuttX header files are built into the tool chain, and (2) related support tools like NXFLAT tools, the ROMFS genromfs tools, and the kconfig-frontends tools can be built into your toolchain.</p> <p>Disadvantages: This tool chain is not was well supported as some other toolchains. GNU tools are not my priority and so the buildroot tools often get behind. For example, until recently there was no EABI support in the NuttX buildroot toolchain for ARM.</p> <p>NOTE: For Cortex-M3/4, there are OABI and EABI versions of the buildroot toolchains. If you are using the older OABI toolchain the prefix for the tools will be <code>arm-nuttx-elf-</code>; for the EABI toolchain the prefix will be <code>arm-nuttx-eabi-</code>. If you are using the older OABI toolchain with an ARM Cortex-M3/4, you will need to set CONFIG_ARM_TOOLCHAIN_BUILDROOT_OABI in the <code>.config</code> file in order to pick the right tool prefix.</p> <p>If the make system ever picks the wrong prefix for your toolchain, you can always specify the prefix on the command to override the default like:</p> <pre><code>make CROSSDEV=arm-nuttx-elf </code></pre> <h1>SHELLS</h1> <p>The NuttX build relies on some shell scripts. Some are inline in the Makefiles and many are executable scripts in the <code>tools/</code>. directory. The scripts were all developed using bash and many contain bash shell dependencies.</p> <p>Most of the scripts begin with <code>#!/bin/bash</code> to specifically select the bash shell. Some still have <code>#!/bin/sh</code> but I haven't heard any complaints so these must not have bash dependencies.</p> <p>There are two shell issues that I have heard of:</p> <ol> <li> <p>Linux where <code>/bin/sh</code> refers to an incompatible shell (like <code>ksh</code> or <code>csh</code>).</p> <p>In this case, bash is probably available and the <code>#!/bin/bash</code> at the beginning of the file should do the job. If any scripts with <code>#!/bin/sh</code> fail, try changing that to <code>#!/bin/bash</code> and let me know about the change.</p> </li> <li> <p>FreeBSD with the Bourne Shell and no bash shell.</p> <p>The other, reverse case has also been reported on FreeBSD setups that have the Bourne shell, but not bash. In this base, <code>#!/bin/bash</code> fails but <code>#!/bin/sh</code> works okay. My recommendation in this case is to create a symbolic link at <code>/bin/bash</code> that refers to the Bourne shell.</p> <p>There may still be issues, however, with certain the <code>bash</code>-centric scripts that will require modifications.</p> </li> </ol> <h1>BUILDING NUTTX</h1> <h2>Building</h2> <p>NuttX builds in-place in the source tree. You do not need to create any special build directories. Assuming that your Make.defs is setup properly for your tool chain and that PATH environment variable contains the path to where your cross-development tools are installed, the following steps are all that are required to build NuttX:</p> <pre><code>cd {TOPDIR} make </code></pre> <p>At least one configuration (eagle100) requires additional command line arguments on the make command. Read <code>{TOPDIR}/boards/&lt;arch-name&gt;/&lt;chip-name&gt;/&lt;board-name&gt;/README.txt</code> to see if that applies to your target.</p> <h2>Re-building</h2> <p>Re-building is normally simple -- just type make again.</p> <p>But there are some things that can "get you" when you use the Cygwin development environment with Windows native tools. The native Windows tools do not understand Cygwin's symbolic links, so the NuttX make system does something weird: It copies the configuration directories instead of linking to them (it could, perhaps, use the NTFS <code>mklink</code> command, but it doesn't).</p> <p>A consequence of this is that you can easily get confused when you edit a file in one of the linked (i.e., copied) directories, re-build NuttX, and then not see your changes when you run the program. That is because build is still using the version of the file in the copied directory, not your modified file!</p> <p>Older versions of NuttX did not support dependencies in this configuration. So a simple work around this annoying behavior in this case was the following when you re-build:</p> <pre><code> make clean_context all </code></pre> <p>This 'make' command will remove of the copied directories, re-copy them, then make NuttX.</p> <p>However, more recent versions of NuttX do support dependencies for the Cygwin build. As a result, the above command will cause everything to be rebuilt (because it removes and will cause recreating the <code>include/nuttx/config.h</code> header file). A much less gracefully but still effective command in this case is the following for the ARM configuration:</p> <pre><code>rm -rf arch/arm/src/chip arch/arm/src/board </code></pre> <p>This "kludge" simple removes the copied directories. These directories will be re-created when you do a normal 'make' and your edits will then be effective.</p> <h2>Build Targets and Options</h2> <h3>Build Targets</h3> <p>Below is a summary of the build targets available in the top-level NuttX Makefile:</p> <ul> <li> <p><code>all</code></p> <p>The default target builds the NuttX executable in the selected output formats.</p> </li> <li> <p><code>clean</code></p> <p>Removes derived object files, archives, executables, and temporary files, but retains the configuration and context files and directories.</p> </li> <li> <p><code>distclean</code></p> <p>Does 'clean' then also removes all configuration and context files. This essentially restores the directory structure to its original, unconfigured stated.</p> </li> </ul> <p>Application housekeeping targets. The APPDIR variable refers to the user application directory. A sample <code>apps/</code> directory is included with NuttX, however, this is not treated as part of NuttX and may be replaced with a different application directory. For the most part, the application directory is treated like any other build directory in the <code>Makefile</code> script. However, as a convenience, the following targets are included to support housekeeping functions in the user application directory from the NuttX build directory.</p> <ul> <li> <p><code>apps_clean</code></p> <p>Perform the clean operation only in the user application directory</p> </li> <li> <p><code>apps_distclean</code></p> <p>Perform the distclean operation only in the user application directory. The apps/.config file is preserved so that this is not a "full" distclean but more of a configuration "reset" for the application directory.</p> </li> <li> <p><code>export</code></p> <p>The export target will package the NuttX libraries and header files into an exportable package. Caveats: (1) These needs some extension for the KERNEL build. (2) The logic in tools/mkexport.sh only supports GCC and, for example, explicitly assumes that the archiver is 'ar'</p> </li> <li> <p><code>flash</code> (or <code>download</code> : DEPRECATED)</p> <p>This is a helper target that will rebuild NuttX and flash it to the target system in one step. The operation of this target depends completely upon implementation of the FLASH command in the user Make.defs file. It will generate an error if the FLASH command is not defined.</p> </li> </ul> <p>The following targets are used internally by the make logic but can be invoked from the command under certain conditions if necessary.</p> <ul> <li> <p><code>depend</code></p> <p>Create build dependencies. (NOTE: There is currently no support for build dependencies under Cygwin using Windows-native toolchains.)</p> </li> <li> <p><code>context</code></p> <p>The context target is invoked on each target build to assure that NuttX is properly configured. The basic configuration steps include creation of the the <code>config.h</code> and <code>version.h</code> header files in the <code>include/nuttx</code> directory and the establishment of symbolic links to configured directories.</p> </li> <li> <p><code>clean_context</code></p> <p>This is part of the <code>distclean</code> target. It removes all of the header files and symbolic links created by the context target.</p> </li> </ul> <h3>Build Options</h3> <p>Of course, the value any make variable an be overridden from the make command line. However, there is one particular variable assignment option that may be useful to you:</p> <ul> <li> <p><code>V=1</code></p> <p>This is the build "verbosity flag." If you specify <code>V=1</code> on the make command line, you will see the exact commands used in the build. This can be very useful when adding new boards or tracking down compile time errors and warnings (Contributed by Richard Cochran).</p> </li> </ul> <h2>Native Windows Build</h2> <p>The beginnings of a Windows native build are in place but still not often used as of this writing. The build was functional but because of lack of use may find some issues to be resolved with this build configuration.</p> <p>The windows native build logic initiated if CONFIG_WINDOWS_NATIVE=y is defined in the NuttX configuration file:</p> <p>This build:</p> <ul> <li>Uses all Windows style paths</li> <li>Uses primarily Windows batch commands from cmd.exe, with</li> <li>A few extensions from GNUWin32</li> </ul> <p>In this build, you cannot use a Cygwin or MSYS shell. Rather the build must be performed in a Windows console window. Here is a better terminal than the standard issue, CMD.exe terminal: ConEmu which can be downloaded from: <a href="https://sourceforge.net/projects/conemu/">https://sourceforge.net/projects/conemu/</a> or <a href="https://conemu.github.io/">https://conemu.github.io/</a>.</p> <p>Build Tools. The build still relies on some Unix-like commands. I use the GNUWin32 tools that can be downloaded from <a href="http://gnuwin32.sourceforge.net/">http://gnuwin32.sourceforge.net/</a> using the <em>Download all</em> selection. Individual packages can be download instead if you know what you are doing and want a faster download (No, I can't tell you which packages you should or should not download).</p> <p>NOTE: It should be possible to use Cygwin or MSYS2 in place of the GNUWin32 tools. There are, however, complexities in doing that because those tools depend on the shell environment and use DLLs that are not found (at least not without the correct setup).</p> <p>Host Compiler: I use the MingGW GCC compiler which can be downloaded from <a href="http://www.mingw.org/">http://www.mingw.org/</a>. If you are using GNUWin32, then it is recommended the you not install the optional MSYS components as there may be conflicts.</p> <p>Kconfig-frontends: See the section entitled "NuttX Configuration Tool under DOS" for information about installing the <code>kconfig-frontend</code> tools to run natively under Windows.</p> <p>This capability should still be considered a work in progress because:</p> <ol> <li>It has not been verified on all targets and tools, and</li> <li>it still lacks some of the creature-comforts of the more mature environments.</li> </ol> <h2>Installing GNUWin32</h2> <p>The Windows native build will depend upon a few Unix-like tools that can be provided either by MSYS or GNUWin32. The GNUWin32 are available from <a href="http://gnuwin32.sourceforge.net/">http://gnuwin32.sourceforge.net/</a>. GNUWin32 provides ports of tools with a GPL or similar open source license to modern MS-Windows (Microsoft Windows 2000 / XP / 2003 / Vista / 2008 / 7). See <a href="http://gnuwin32.sourceforge.net/packages.html">http://gnuwin32.sourceforge.net/packages.html</a> for a list of all of the tools available in the GNUWin32 package.</p> <p>The SourceForge project is located here: <a href="http://sourceforge.net/projects/gnuwin32/">http://sourceforge.net/projects/gnuwin32/</a>. The project is still being actively supported (although some of the Windows ports have gotten very old).</p> <p>Some commercial toolchains include a subset of the GNUWin32 tools in the installation. My recommendation is that you download the GNUWin32 tools directly from the sourceforge.net website so that you will know what you are using and can reproduce your build environment.</p> <p>GNUWin32 Installation Steps:</p> <p>The following steps will download and execute the GNUWin32 installer.</p> <ol> <li> <p>Download <code>GetGNUWin32-x.x.x.exe</code> from <a href="http://sourceforge.net/projects/getgnuwin32/files/">http://sourceforge.net/projects/getgnuwin32/files/</a>. This is the installer. The current version as of this writing is 0.6.3.</p> </li> <li> <p>Run the installer.</p> </li> <li> <p>Accept the license.</p> </li> <li> <p>Select the installation directory. My recommendation is the directory that contains this README file (<code>&lt;this-directory&gt;</code>).</p> </li> <li> <p>After running <code>GetGNUWin32-0.x.x.exe</code>, you will have a new directory <code>&lt;this-directory&gt;/GetGNUWin32</code></p> <p>Note that the GNUWin32 installer didn't install GNUWin32. Instead, it installed another, smarter downloader. That downloader is the GNUWin32 package management tool developed by the Open SSL project.</p> <p>The following steps probably should be performed from inside a DOS shell.</p> </li> <li> <p>Change to the directory created by <code>GetGNUWin32-x.x.x.exe</code></p> <p>cd GetGNUWin32</p> </li> <li> <p>Execute the download.bat script. The download.bat script will download about 446 packages! Enough to have a very complete Linux-like environment under the DOS shell. This will take awhile. This step only downloads the packages and the next step will install the packages.</p> <p>download</p> </li> <li> <p>This step will install the downloaded packages. The argument of the install.bat script is the installation location. C:\gnuwin32 is the standard install location:</p> <p>install C:\gnuwin32</p> </li> </ol> <p><strong>NOTE</strong>: This installation step will install <em>all</em> GNUWin32 packages... far more than you will ever need. If disc space is a problem for you, you might need to perform a manual installation of the individual ZIP files that you will find in the <code>&lt;this directory&gt;/GetGNUWin32/packages</code> directory.</p> <ol start="9"> <li> <p>Make sure that you add the GNUWin32 tools to your path variable:</p> <pre><code> set PATH=C:\gnuwin32\bin;%PATH% </code></pre> </li> </ol> <p><strong>WARNING</strong>: Make sure you have <code>C:\MinGW\bin</code> in your path before any other directory that contains <code>libiconv-2.dll</code>. Apparently the <code>as.exe</code> in some MinGW distributions are dependent on that DLL, and having an old version of it in the path somewhere (for example GnuWin32 tools) will cause as.exe to pick up the older version that doesn't have the entry point it's looking for.</p> <h1>CYGWIN BUILD PROBLEMS</h1> <h2>Performance</h2> <p>Build performance under Cygwin is really not so bad, certainly not as good as a Linux build. However, often you will find that the performance is not just bad but terrible. If you are seeing awful performance.. like two or three compilations per second.. the culprit is usually your Windows Anti-Virus protection interfering with the build tool program execution.</p> <p>I use Cygwin quite often and I use Windows Defender. In order to get good build performance, I routinely keep the Windows Defender "Virus &amp; Threat Protections Settings" screen up: I disable "Real-Time Protection" just before entering 'make' then turn "Real-Time Protection" back on when the build completes. With this additional nuisance step, I find that build performance under Cygwin is completely acceptable.</p> <h2>Strange Path Problems</h2> <p>If you see strange behavior when building under Cygwin then you may have a problem with your PATH variable. For example, if you see failures to locate files that are clearly present, that may mean that you are using the wrong version of a tool. For example, you may not be using Cygwin's 'make' program at /usr/bin/make. Try:</p> <pre><code>which make /usr/bin/make </code></pre> <p>When you install some toolchains (such as Yargarto or CodeSourcery tools), they may modify your PATH variable to include a path to their binaries. At that location, they may have GNUWin32 versions of the tools. So you might actually be using a version of make that does not understand Cygwin paths.</p> <p>The solution is either:</p> <ol> <li> <p>Edit your PATH to remove the path to the GNUWin32 tools, or</p> </li> <li> <p>Put /usr/local/bin, /usr/bin, and /bin at the front of your path:</p> <pre><code>export PATH=/usr/local/bin:/usr/bin:/bin:$PATH </code></pre> </li> </ol> <h2>Window Native Toolchain Issues</h2> <p>There are many popular Windows native toolchains that may be used with NuttX. Examples include CodeSourcery (for Windows), devkitARM, and several vendor- provided toolchains. There are several limitations with using a and Windows based toolchain in a Cygwin environment. The three biggest are:</p> <ol> <li> <p>The Windows toolchain cannot follow Cygwin paths. Path conversions are performed automatically in the Cygwin makefiles using the 'cygpath' utility but you might easily find some new path problems. If so, check out 'cygpath -w'</p> </li> <li> <p>Windows toolchains cannot follow Cygwin symbolic links. Many symbolic links are used in NuttX (e.g., include/arch). The make system works around these problems for the Windows tools by copying directories instead of linking them. But this can also cause some confusion for you: For example, you may edit a file in a "linked" directory and find that your changes had no effect. That is because you are building the copy of the file in the "fake" symbolic directory. If you use a Windows toolchain, you should get in the habit of making like this:</p> <pre><code>make clean_context all </code></pre> <p>An alias in your .bashrc file might make that less painful. The rebuild is not a long as you might think because there is no dependency checking if you are using a native Windows toolchain. That bring us to #3:</p> </li> </ol> <h2>General Pre-built Toolchain Issues</h2> <p>To continue with the list of "Window Native Toolchain Issues" we can add the following. These, however, are really just issues that you will have if you use any pre-built toolchain (vs. building the NuttX toolchain from the NuttX buildroot package):</p> <p>There may be incompatibilities with header files, libraries, and compiler built-in functions detailed below. For the most part, these issues are handled in the existing make logic. But if you are breaking new ground, then you may encounter these:</p> <ol> <li> <p>Header Files. Most pre-built toolchains will build with a foreign C library (usually newlib, but maybe uClibc or glibc if you are using a Linux toolchain). This means that the header files from the foreign C library will be built into the toolchain. So if you <code>#include &lt;stdio.h&gt;</code>, you will get the stdio.h from the incompatible, foreign C library and not the nuttx <code>stdio.h</code> (at <code>nuttx/include/stdio.h</code>) that you wanted.</p> <p>This can cause confusion in the builds and you must always be sure the <code>-nostdinc</code> is included in the <code>CFLAGS</code>. That will assure that you take the include files only from</p> </li> <li> <p>Libraries. What was said above header files applies to libraries. You do not want to include code from the libraries of any foreign C libraries built into your toolchain. If this happens you will get perplexing errors about undefined symbols. To avoid these errors, you will need to add <code>-nostdlib</code> to your <code>CFLAGS</code> flags to assure that you only take code from the NuttX libraries.</p> <p>This, however, may causes other issues for libraries in the toolchain that you do want (like <code>libgcc.a</code> or <code>libm.a</code>). These are special-cased in most Makefiles, but you could still run into issues of missing libraries.</p> </li> <li> <p>Built-Ins. Some compilers target a particular operating system. Many people would, for example, like to use the same toolchain to develop Linux and NuttX software. Compilers built for other operating systems may generate incompatible built-in logic and, for this reason, <code>-fno-builtin</code> should also be included in your C flags</p> <p>And finally you may not be able to use NXFLAT.</p> </li> <li> <p>NXFLAT. If you use a pre-built toolchain, you will lose all support for NXFLAT. NXFLAT is a binary format described in Documentation/NuttXNxFlat.html. It may be possible to build standalone versions of the NXFLAT tools; there are a few examples of this in the buildroot repository at <a href="https://bitbucket.org/nuttx/buildroot">https://bitbucket.org/nuttx/buildroot</a> However, it is possible that there could be interoperability issues with your toolchain since they will be using different versions of binutils and possibly different ABIs.</p> </li> </ol> <h2>Building Original Linux Boards in Cygwin</h2> <p>Some default board configurations are set to build under Linux and others to build under Windows with Cygwin. Various default toolchains may also be used in each configuration. It is possible to change the default setup. Here, for example, is what you must do in order to compile a default Linux configuration in the Cygwin environment using the CodeSourcery for Windows toolchain. After instantiating a "canned" NuttX configuration, run the target 'menuconfig' and set the following items:</p> <pre><code>Build Setup-&gt;Build Host Platform-&gt;Windows Build Setup-&gt;Windows Build Environment-&gt;Cygwin System Type-&gt;Toolchain Selection-&gt;CodeSourcery GNU Toolchain under Windows </code></pre> <p>In Windows 7 it may be required to open the Cygwin shell as Administrator ("Run As" option, right button) you find errors like "Permission denied".</p> <h2>Recovering from Bad Configurations</h2> <p>Many people make the mistake of configuring NuttX with the "canned" configuration and then just typing <code>make</code> with disastrous consequences; the build may fail with mysterious, uninterpretable, and irrecoverable build errors. If, for example, you do this with an unmodified Linux configuration in a Windows/Cgwin environment, you will corrupt the build environment. The environment will be corrupted because of POSIX vs Windows path issues and with issues related to symbolic links. If you make the mistake of doing this, the easiest way to recover is to just start over: Do <code>make distclean</code> to remove every trace of the corrupted configuration, reconfigure from scratch, and make certain that the set the configuration correctly for your platform before attempting to make again.</p> <p>Just fixing the configuration file after you have instantiated the bad configuration with 'make' is not enough.</p> <h1>DOCUMENTATION</h1> <p>Additional information can be found in the Documentation/ directory and also in README files that are scattered throughout the source tree. The documentation is in HTML and can be access by loading the following file into your Web browser:</p> <pre><code>Documentation/index.html </code></pre> <p>NuttX documentation is also available online at <a href="https://nuttx.apache.org/">https://nuttx.apache.org/</a>.</p> <p>Below is a guide to the available README files in the NuttX source tree:</p> <pre><code>nuttx/ | |- arch/ | | | |- arm/ | | `- src | | |- common | | | `- README_lwl_console.txt | | |- lpc214x | | | `-README.txt | | `- stm32l4 | | `- README.txt | |- renesas/ | | |- include/ | | | `-README.txt | | |- src/ | | | `-README.txt | |- x86/ | | |- include/ | | | `-README.txt | | `- src/ | | `-README.txt | `- z80/ | | `- src/ | | |- z80/README.txt | | `- z180/README.txt, z180_mmu.txt | `- README.txt |- audio/ | `-README.txt |- boards/ | |- arm/ | | |- a1x/ | | | `- pcduino-a10/ | | | `- README.txt | | |- am335x/ | | | `- beaglebone-black/ | | | `- README.txt | | |- c5471/ | | | `- c5471evm/ | | | `- README.txt | | |- cxd56xx/ | | | `- spresense/ | | | `- README.txt | | |- dm320/ | | | `- ntosd-dm320/ | | | |- doc/README.txt | | | `- README.txt | | |- efm32/ | | | |- efm32-g8xx-stk/ | | | | `- README.txt | | | |- efm32gg-stk3700/ | | | | `- README.txt | | | `- olimex-efm32g880f128-stk/ | | | `- README.txt | | |- imx6/ | | | `- sabre-6quad/ | | | `- README.txt | | |- imxrt/ | | | |- imxrt1050-evk/ | | | | `- README.txt | | | |- imxrt1060-evk/ | | | | `- README.txt | | | `- teensy-4.x/ | | | `- README.txt | | |- kinetis/ | | | |- freedom-k28f/ | | | | `- README.txt | | | |- freedom-k64f/ | | | | `- README.txt | | | |- freedom-k66f/ | | | | `- README.txt | | | |- kwikstik-k40/ | | | | `- README.txt | | | |- teensy-3.x/ | | | | `- README.txt | | | |- twr-k60n512/ | | | | `- README.txt | | | `- twr-k64f120m/ | | | `- README.txt | | |- kl/ | | | |- freedom-kl25z/ | | | | `- README.txt | | | |- freedom-kl26z/ | | | | `- README.txt | | | `- teensy-lc/ | | | `- README.txt | | |- lc823450/ | | | `- lc823450-xgevk/ | | | `- README.txt | | |- lpc17xx_40xx/ | | | |- lincoln60/ | | | | `- README.txt | | | |- lpc4088-devkit/ | | | | `- README.txt | | | |- lpc4088-quickstart/ | | | | `- README.txt | | | |- lpcxpresso-lpc1768/ | | | | `- README.txt | | | |- lx_cpu/ | | | | `- README.txt | | | |- mbed/ | | | | `- README.txt | | | |- mcb1700/ | | | | `- README.txt | | | |- olimex-lpc1766stk/ | | | | `- README.txt | | | |- open1788/ | | | | `- README.txt | | | |- pnev5180b/ | | | | `- README.txt | | | |- u-blox-c027/ | | | | `- README.txt | | | `- zkit-arm-1769/ | | | `- README.txt | | |- lpc214x/ | | | |- mcu123-lpc214x/ | | | | `- README.txt | | | `- zp214xpa/ | | | `- README.txt | | |- lpc2378/ | | | `- olimex-lpc2378/ | | | `- README.txt | | |- lpc31xx/ | | | |- ea3131/ | | | | `- README.txt | | | |- ea3152/ | | | | `- README.txt | | | `- olimex-lpc-h3131/ | | | `- README.txt | | |- lpc43xx/ | | | |- bambino-200e/ | | | | `- README.txt | | | |- lpc4330-xplorer/ | | | | `- README.txt | | | |- lpc4337-ws/ | | | | `- README.txt | | | |- lpc4357-evb/ | | | | `- README.txt | | | `- lpc4370-link2/ | | | `- README.txt | | |- lpc54xx/ | | | `- lpcxpresso-lpc54628/ | | | `- README.txt | | |- max326xx/ | | | `- max32660-evsys/ | | | `- README.txt | | |- moxart/ | | | `- moxa/ | | |- nrf52/ | | | `- nrf52-generic/ | | | `- README.txt | | |- nuc1xx/ | | | `- nutiny-nuc120/ | | | `- README.txt | | |- s32k1xx/ | | | |- s32k118evb/ | | | | `- README.txt | | | |- s32k146evb/ | | | | `- README.txt | | | `- s32k148evb/ | | | `- README.txt | | |- sam34/ | | | |- arduino-due/ | | | | `- README.txt | | | |- flipnclick-sam3x/ | | | | `- README.txt | | | |- sam3u-ek/ | | | | `- README.txt | | | |- sam4cmp-db/ | | | | `- README.txt | | | |- sam4e-ek/ | | | | `- README.txt | | | |- sam4l-xplained/ | | | | `- README.txt | | | |- sam4s-xplained/ | | | | `- README.txt | | | `- sam4s-xplained-pro/ | | | `- README.txt | | |- sama5/ | | | |- sama5d2-xult/ | | | | `- README.txt | | | |- giant-board/ | | | | `- README.md | | | |- sama5d3x-ek/ | | | | `- README.txt | | | |- sama5d3-xplained/ | | | | `- README.txt | | | `- sama5d4-ek/ | | | `- README.txt | | |- samd2l2/ | | | |- arduino-m0/ | | | | `- README.txt | | | |- samd20-xplained/ | | | | `- README.txt | | | |- samd21-xplained/ | | | | `- README.txt | | | `- saml21-xplained/ | | | `- README.txt | | |- samd5e5/ | | | `- metro-m4/ | | | `- README.txt | | |- samv7/ | | | |- same70-qmtech/ | | | | `- README.txt | | | |- same70-xplained/ | | | | `- README.txt | | | `- samv71-xult/ | | | `- README.txt | | |- stm32/ | | | |- axoloti/ | | | | `- README.txt | | | |- b-g474e-dpow1/ | | | | `- README.txt | | | |- clicker2-stm32/ | | | | `- README.txt | | | |- cloudctrl/ | | | | `- README.txt | | | |- emw3162/ | | | | `- README.txt | | | |- fire-stm32v2/ | | | | `- README.txt | | | |- hymini-stm32v/ | | | | `- README.txt | | | |- maple/ | | | | `- README.txt | | | |- mikroe-stm32f4/ | | | | `- README.txt | | | |- nucleo-f103rb/ | | | | `- README.txt | | | |- nucleo-f207zg/ | | | | `- README.txt | | | |- nucleo-f302r8/ | | | | `- README.txt | | | |- nucleo-f303re/ | | | | `- README.txt | | | |- nucleo-f303ze/ | | | | `- README.txt | | | |- nucleo-f334r8/ | | | | `- README.txt | | | |- nucleo-f410rb/ | | | | `- README.txt | | | |- nucleo-f446re/ | | | | `- README.txt | | | |- nucleo-f4x1re/ | | | | `- README.txt | | | |- nucleo-l152re/ | | | | `- README.txt | | | |- olimexino-stm32/ | | | |- olimex-stm32-e407/ | | | | `- README.txt | | | |- olimex-stm32-h405/ | | | | `- README.txt | | | |- olimex-stm32-h407/ | | | | `- README.txt | | | |- olimex-stm32-p107/ | | | |- olimex-stm32-p207/ | | | | `- README.txt | | | |- olimex-stm32-p407/ | | | | `- README.txt | | | |- omnibusf4/ | | | | `- README.txt | | | |- photon/ | | | | `- README.txt | | | |- shenzhou/ | | | | `- README.txt | | | |- stm32_tiny/ | | | | `- README.txt | | | |- stm3210e-eval/ | | | | `- README.txt | | | |- stm3220g-eval/ | | | | `- README.txt | | | |- stm3240g-eval/ | | | | `- README.txt | | | |- stm32butterfly2/ | | | |- stm32f103-minimum/ | | | | `- README.txt | | | |- stm32f334-disco/ | | | | `- README.txt | | | |- stm32f3discovery/ | | | | `- README.txt | | | |- stm32f411e-disco/ | | | | `- README.txt | | | |- stm32f429i-disco/ | | | | `- README.txt | | | |- stm32f4discovery/ | | | | `- README.txt | | | |- stm32ldiscovery/ | | | | `- README.txt | | | |- stm32vldiscovery/ | | | | `- README.txt | | | `- viewtool-stm32f107/ | | | `- README.txt | | |- stm32f0l0g0/ | | | |- b-l072z-lrwan1/ | | | | `- README.txt | | | |- nucleo-f072rb/ | | | | `- README.txt | | | |- nucleo-f091rc/ | | | | `- README.txt | | | |- nucleo-g070rb/ | | | | `- README.txt | | | |- nucleo-g071rb/ | | | | `- README.txt | | | |- nucleo-l073rz/ | | | | `- README.txt | | | |- stm32f051-discovery/ | | | | `- README.txt | | | `- stm32f072-discovery/ | | | `- README.txt | | |- stm32f7/ | | | |- nucleo-144/ | | | | `- README.txt | | | |- stm32f746g-disco/ | | | | |- configs/fb/README.txt | | | | |- configs/nxdemo/README.txt | | | | |- configs/nxterm/README.txt | | | | `- README.txt | | | |- stm32f746-ws/ | | | `- stm32f769i-disco/ | | | `- README.txt | | |- stm32h7/ | | | `- nucleo-h743zi/ | | | `- README.txt | | |- stm32l4/ | | | |- b-l475e-iot01a/ | | | | `- README.txt | | | |- nucleo-l432kc/ | | | | `- README.txt | | | |- nucleo-l452re/ | | | | `- README.txt | | | |- nucleo-l476rg/ | | | | `- README.txt | | | |- nucleo-l496zg/ | | | | `- README.txt | | | |- stm32l476-mdk/ | | | | `- README.txt | | | |- stm32l476vg-disco/ | | | | `- README.txt | | | `- stm32l4r9ai-disco/ | | | `- README.txt | | |- str71x/ | | | `- olimex-strp711/ | | | `- README.txt | | |- tiva/ | | | |- dk-tm4c129x/ | | | | `- README.txt | | | |- eagle100/ | | | | `- README.txt | | | |- ekk-lm3s9b96/ | | | | `- README.txt | | | |- launchxl-cc1310/ | | | | `- README.txt | | | |- launchxl-cc1312r1/ | | | | `- README.txt | | | |- lm3s6432-s2e/ | | | | `- README.txt | | | |- lm3s6965-ek/ | | | | `- README.txt | | | |- lm3s8962-ek/ | | | | `- README.txt | | | |- lm4f120-launchpad/ | | | | `- README.txt | | | |- tm4c123g-launchpad/ | | | | `- README.txt | | | `- tm4c1294-launchpad/ | | | `- README.txt | | |- tms570/ | | | |- launchxl-tms57004/ | | | | `- README.txt | | | `- tms570ls31x-usb-kit/ | | | `- README.txt | | `- xmc4/ | | `- xmc4500-relax/ | | `- README.txt | |- avr/ | | |- at32uc3/ | | | `- avr32dev1/ | | | `- README.txt | | |- at90usb/ | | | |- micropendous3/ | | | | `- README.txt | | | `- teensy-2.0/ | | | `- README.txt | | `- atmega/ | | |- amber/ | | | `- README.txt | | |- arduino-mega2560/ | | | `- README.txt | | `- moteino-mega/ | | `- README.txt | |- hc/ | | `- m9s12/ | | |- demo9s12ne64/ | | | `- README.txt | | `- ne64badge/ | | `- README.txt | |- mips/ | | |- pic32mx/ | | | |- mirtoo/ | | | | `- README.txt | | | |- pic32mx7mmb/ | | | | `- README.txt | | | |- pic32mx-starterkit/ | | | | `- README.txt | | | |- sure-pic32mx/ | | | | `- README.txt | | | `- ubw32/ | | | `- README.txt | | `-pic32mz/ | | |- chipkit-wifire/ | | | `- README.txt | | |- flipnclick-pic32mz/ | | | `- README.txt | | `- pic32mz-starterkit/ | | `- README.txt | |- misoc/ | | `- lm32/ | | `- misoc/ | | `- README.txt | |- or1k/ | | `- mor1kx/ | | `- or1k/ | | `- README.txt | |- renesas/ | | |- m16c/ | | | `- skp16c26/ | | | `- README.txt | | `-sh1/ | | `- us7032evb1/ | | `- README.txt | |- risc-v/ | |- sim/ | | `- sim/ | | `- sim/ | | |- include/README.txt | | `- README.txt | |- x86/ | | `- qemu/ | | `- qemu-i486/ | | `- README.txt | |- xtensa/ | | `- esp32/ | | `- esp32-core/ | | `- README.txt | |- z16/ | | `- z16f/ | | `- z16f2800100zcog/ | | |- configs/nsh/README.txt | | |- configs/ostest/README.txt | | |- configs/pashello/README.txt | | `- README.txt | |- z80/ | | |- ez80/ | | | |- ez80f910200kitg/ | | | | |- configs/ostest/README.txt | | | | `- README.txt | | | |- ez80f910200zco/ | | | | |- configs/dhcpd/README.txt | | | | |- configs/httpd/README.txt | | | | |- configs/nettest/README.txt | | | | |- configs/nsh/README.txt | | | | |- configs/poll/README.txt | | | | `- README.txt | | | |- makerlisp/ | | | | |- configs/nsh_flash/README.txt | | | | |- configs/nsh_ram/README.txt | | | | |- configs/sdboot/README.txt | | | | `- README.txt | | | `- z80x/ | | | |- configs/nsh_flash/README.txt | | | |- configs/nsh_ram/README.txt | | | |- configs/sdboot/README.txt | | | `- README.txt | | |- z180/ | | | `- p112/ | | | `- README.txt | | |- z8/ | | | |- z8encore000zco/ | | | | |- configs/ostest/README.txt | | | | `- README.txt | | | `- z8f64200100kit/ | | | |- configs/ostest/README.txt | | | `- README.txt | | `- z80/ | | `- z80sim/ | | `- README.txt | `-README.txt |- drivers/ | |- eeprom/ | | `- README.txt | |- lcd/ | | | README.txt | | `- pcf8574_lcd_backpack_readme.txt | |- mtd/ | | `- README.txt | |- sensors/ | | `- README.txt | |- syslog/ | | `- README.txt | `- README.txt |- fs/ | |- binfs/ | | `- README.txt | |- cromfs/ | | `- README.txt | |- mmap/ | | `- README.txt | |- nxffs/ | | `- README.txt | |- smartfs/ | | `- README.txt | |- procfs/ | | `- README.txt | |- spiffs/ | | `- README.md | `- unionfs/ | `- README.txt |- graphics/ | `- README.txt |- libs/ | |- README.txt | |- libc/ | | |- zoneinfo | | | `- README.txt | | `- README.txt | |- libdsp/ | | `- README.txt | |- libnx/ | | |- nxfongs | | | `- README.txt | | `- README.txt | |- libxx/ | `- README.txt |- mm/ | |- shm/ | | `- README.txt | `- README.txt |- net/ | |- sixlowpan | | `- README.txt | `- README.txt |- pass1/ | `- README.txt |- syscall/ | `- README.txt `- tools/ `- README.txt </code></pre> <p>Below is a guide to the available README files in the semi-optional apps/ source tree:</p> <pre><code>apps/ |- examples/ | |- bastest/README.txt | |- json/README.txt | |- pashello/README.txt | `- README.txt |- gpsutils/ | `- minmea/README.txt |- graphics/ | |- tiff/README.txt | `- traveler/tools/tcledit/README.txt |- interpreters/ | |- bas/ | | `- README.txt | |- ficl/ | | `- README.txt | `- README.txt |- modbus/ | `- README.txt |- netutils/ | |- discover/ | | `- README.txt | |- ftpc/ | | `- README.txt | |- json/ | | `- README.txt | |- telnetd/ | | `- README.txt | `- README.txt |- nshlib/ | `- README.txt |- NxWidgets/ | `- README.txt |- system/ | |- cdcacm/ | | `- README.txt | |- i2c/ | | `- README.txt | |- inifile/ | | `- README.txt | |- install/ | | `- README.txt | |- nsh/ | | `- README.txt | |- nxplayer/ | | `- README.txt | |- psmq/ | | `- README.txt | |- symtab/ | | `- README.txt | |- termcurses/ | | `- README.txt | |- usbmsc/ | | `- README.txt | `- zmodem/ | `- README.txt `- wireless |- bluetooth/ | `- btsak/ | `- README.txt `- ieee802154 `- i8sak/ `- README.txt </code></pre> <p>Additional README.txt files in the other, related repositories:</p> <pre><code>NxWidgets/ |- Doxygen | `- README.txt |- tools | `- README.txt |- UnitTests | `- README.txt `- README.txt buildroot/ `- README.txt tools/ `- README.txt uClibc++/ `- README.txt </code></pre> - - \ No newline at end of file diff --git a/c2hs-haskell/daily/index.xml b/c2hs-haskell/daily/index.xml index af2b578b158..e12bd0a19d4 100644 --- a/c2hs-haskell/daily/index.xml +++ b/c2hs-haskell/daily/index.xml @@ -1,7 +1,7 @@ GitHub C2hs Haskell Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:40Z + 2023-10-23T01:25:55Z Daily Trending of C2hs Haskell in GitHub \ No newline at end of file diff --git a/c2hs-haskell/weekly/index.xml b/c2hs-haskell/weekly/index.xml deleted file mode 100644 index 328f1bcea52..00000000000 --- a/c2hs-haskell/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub C2hs Haskell Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:04Z - Weekly Trending of C2hs Haskell in GitHub - - \ No newline at end of file diff --git a/cabal-config/daily/index.xml b/cabal-config/daily/index.xml index c471231b1fc..7b424be8052 100644 --- a/cabal-config/daily/index.xml +++ b/cabal-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cabal Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:39Z + 2023-10-23T01:25:56Z Daily Trending of Cabal Config in GitHub \ No newline at end of file diff --git a/cabal-config/weekly/index.xml b/cabal-config/weekly/index.xml deleted file mode 100644 index c6ca0cf7cf6..00000000000 --- a/cabal-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cabal Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:03Z - Weekly Trending of Cabal Config in GitHub - - \ No newline at end of file diff --git a/cadence/daily/index.xml b/cadence/daily/index.xml index e4ed4526c31..e7f79f9f36d 100644 --- a/cadence/daily/index.xml +++ b/cadence/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cadence Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:57Z + 2023-10-23T01:26:13Z Daily Trending of Cadence in GitHub \ No newline at end of file diff --git a/cadence/weekly/index.xml b/cadence/weekly/index.xml deleted file mode 100644 index 41953f389b0..00000000000 --- a/cadence/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cadence Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:16Z - Weekly Trending of Cadence in GitHub - - \ No newline at end of file diff --git a/cairo/daily/index.xml b/cairo/daily/index.xml index 8fa5f80420b..fd6c583188d 100644 --- a/cairo/daily/index.xml +++ b/cairo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cairo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:54Z + 2023-10-23T01:26:14Z Daily Trending of Cairo in GitHub \ No newline at end of file diff --git a/cairo/weekly/index.xml b/cairo/weekly/index.xml deleted file mode 100644 index 9ea714c7bd0..00000000000 --- a/cairo/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cairo Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:16Z - Weekly Trending of Cairo in GitHub - - \ No newline at end of file diff --git a/cap'n-proto/daily/index.xml b/cap'n-proto/daily/index.xml index ca5bb57671d..4a3c98a704d 100644 --- a/cap'n-proto/daily/index.xml +++ b/cap'n-proto/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cap'n Proto Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:01Z + 2023-10-23T01:26:19Z Daily Trending of Cap'n Proto in GitHub \ No newline at end of file diff --git a/cap'n-proto/weekly/index.xml b/cap'n-proto/weekly/index.xml deleted file mode 100644 index 5a372d429db..00000000000 --- a/cap'n-proto/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cap'n Proto Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:19Z - Weekly Trending of Cap'n Proto in GitHub - - \ No newline at end of file diff --git a/cartocss/daily/index.xml b/cartocss/daily/index.xml index 3433b93d054..0931cf75f99 100644 --- a/cartocss/daily/index.xml +++ b/cartocss/daily/index.xml @@ -1,7 +1,7 @@ GitHub CartoCSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:59Z + 2023-10-23T01:26:17Z Daily Trending of CartoCSS in GitHub \ No newline at end of file diff --git a/cartocss/weekly/index.xml b/cartocss/weekly/index.xml deleted file mode 100644 index a61b93fe9bb..00000000000 --- a/cartocss/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CartoCSS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:20Z - Weekly Trending of CartoCSS in GitHub - - \ No newline at end of file diff --git a/ceylon/daily/index.xml b/ceylon/daily/index.xml index c7de73aa6a5..63de5897ed2 100644 --- a/ceylon/daily/index.xml +++ b/ceylon/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ceylon Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:28:58Z + 2023-10-23T01:26:18Z Daily Trending of Ceylon in GitHub \ No newline at end of file diff --git a/ceylon/weekly/index.xml b/ceylon/weekly/index.xml deleted file mode 100644 index da6d47d7734..00000000000 --- a/ceylon/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ceylon Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:22Z - Weekly Trending of Ceylon in GitHub - - \ No newline at end of file diff --git a/chapel/daily/index.xml b/chapel/daily/index.xml index d624f0b20bc..7792e618363 100644 --- a/chapel/daily/index.xml +++ b/chapel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Chapel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:00Z + 2023-10-23T01:26:20Z Daily Trending of Chapel in GitHub \ No newline at end of file diff --git a/chapel/weekly/index.xml b/chapel/weekly/index.xml deleted file mode 100644 index f9509a94190..00000000000 --- a/chapel/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Chapel Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:21Z - Weekly Trending of Chapel in GitHub - - \ No newline at end of file diff --git a/charity/daily/index.xml b/charity/daily/index.xml index 952d694d694..15024f99ded 100644 --- a/charity/daily/index.xml +++ b/charity/daily/index.xml @@ -1,7 +1,7 @@ GitHub Charity Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:05Z + 2023-10-23T01:26:21Z Daily Trending of Charity in GitHub \ No newline at end of file diff --git a/charity/weekly/index.xml b/charity/weekly/index.xml deleted file mode 100644 index 4dd57b52a48..00000000000 --- a/charity/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Charity Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:23Z - Weekly Trending of Charity in GitHub - - \ No newline at end of file diff --git a/chuck/daily/index.xml b/chuck/daily/index.xml index 5e87caa3a5c..66a21da04cb 100644 --- a/chuck/daily/index.xml +++ b/chuck/daily/index.xml @@ -1,7 +1,7 @@ GitHub ChucK Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:02Z + 2023-10-23T01:26:23Z Daily Trending of ChucK in GitHub \ No newline at end of file diff --git a/chuck/weekly/index.xml b/chuck/weekly/index.xml deleted file mode 100644 index cdefc528d49..00000000000 --- a/chuck/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ChucK Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:25Z - Weekly Trending of ChucK in GitHub - - \ No newline at end of file diff --git a/cil/daily/index.xml b/cil/daily/index.xml index c5f23fdae8d..951357e1e17 100644 --- a/cil/daily/index.xml +++ b/cil/daily/index.xml @@ -1,7 +1,7 @@ GitHub CIL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:04Z + 2023-10-23T01:26:24Z Daily Trending of CIL in GitHub \ No newline at end of file diff --git a/cil/weekly/index.xml b/cil/weekly/index.xml deleted file mode 100644 index 3f209075f0e..00000000000 --- a/cil/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CIL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:24Z - Weekly Trending of CIL in GitHub - - \ No newline at end of file diff --git a/cirru/daily/index.xml b/cirru/daily/index.xml index 474341efa71..64224ce9ab7 100644 --- a/cirru/daily/index.xml +++ b/cirru/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cirru Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:06Z + 2023-10-23T01:26:27Z Daily Trending of Cirru in GitHub \ No newline at end of file diff --git a/cirru/weekly/index.xml b/cirru/weekly/index.xml deleted file mode 100644 index 6ead0de03b6..00000000000 --- a/cirru/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cirru Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:29Z - Weekly Trending of Cirru in GitHub - - \ No newline at end of file diff --git a/clarion/daily/index.xml b/clarion/daily/index.xml index 521e4285b32..4aee9a2a3bc 100644 --- a/clarion/daily/index.xml +++ b/clarion/daily/index.xml @@ -1,7 +1,7 @@ GitHub Clarion Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:10Z + 2023-10-23T01:26:28Z Daily Trending of Clarion in GitHub \ No newline at end of file diff --git a/clarion/weekly/index.xml b/clarion/weekly/index.xml deleted file mode 100644 index eacc5376533..00000000000 --- a/clarion/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Clarion Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:28Z - Weekly Trending of Clarion in GitHub - - \ No newline at end of file diff --git a/clarity/daily/index.xml b/clarity/daily/index.xml index 2e815545a1a..c15853544ea 100644 --- a/clarity/daily/index.xml +++ b/clarity/daily/index.xml @@ -1,7 +1,7 @@ GitHub Clarity Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:09Z + 2023-10-23T01:26:26Z Daily Trending of Clarity in GitHub \ No newline at end of file diff --git a/clarity/weekly/index.xml b/clarity/weekly/index.xml deleted file mode 100644 index 8a34b78bd09..00000000000 --- a/clarity/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Clarity Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:30Z - Weekly Trending of Clarity in GitHub - - \ No newline at end of file diff --git a/classic-asp/daily/index.xml b/classic-asp/daily/index.xml index 655eda53f89..6cb02c893a4 100644 --- a/classic-asp/daily/index.xml +++ b/classic-asp/daily/index.xml @@ -1,7 +1,14 @@ GitHub Classic ASP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:13Z + 2023-10-23T01:26:31Z Daily Trending of Classic ASP in GitHub + + rohitsawant/Testing + 2023-10-23T01:26:31Z + tag:github.com,2023-10-23:/rohitsawant/Testing + + <p></p><hr> + \ No newline at end of file diff --git a/classic-asp/weekly/index.xml b/classic-asp/weekly/index.xml deleted file mode 100644 index 70d24be8086..00000000000 --- a/classic-asp/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Classic ASP Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:34Z - Weekly Trending of Classic ASP in GitHub - - - vnovikov746/ShifterMan - 2023-10-22T01:48:34Z - tag:github.com,2023-10-22:/vnovikov746/ShifterMan - - <p>ShifterMan Project -The ultimate tool to organize shift schedule</p><hr> - - \ No newline at end of file diff --git a/clean/daily/index.xml b/clean/daily/index.xml index 3f90e27c206..68dc58eca88 100644 --- a/clean/daily/index.xml +++ b/clean/daily/index.xml @@ -1,7 +1,7 @@ GitHub Clean Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:11Z + 2023-10-23T01:26:33Z Daily Trending of Clean in GitHub \ No newline at end of file diff --git a/clean/weekly/index.xml b/clean/weekly/index.xml deleted file mode 100644 index 99313cfd6f3..00000000000 --- a/clean/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Clean Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:31Z - Weekly Trending of Clean in GitHub - - \ No newline at end of file diff --git a/click/daily/index.xml b/click/daily/index.xml index e02ab52da56..3612a79c955 100644 --- a/click/daily/index.xml +++ b/click/daily/index.xml @@ -1,7 +1,7 @@ GitHub Click Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:14Z + 2023-10-23T01:26:30Z Daily Trending of Click in GitHub \ No newline at end of file diff --git a/click/weekly/index.xml b/click/weekly/index.xml deleted file mode 100644 index 900c74b2df6..00000000000 --- a/click/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Click Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:32Z - Weekly Trending of Click in GitHub - - \ No newline at end of file diff --git a/clips/daily/index.xml b/clips/daily/index.xml index 780a3efcd9b..18d2a6961ab 100644 --- a/clips/daily/index.xml +++ b/clips/daily/index.xml @@ -1,7 +1,7 @@ GitHub CLIPS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:12Z + 2023-10-23T01:26:32Z Daily Trending of CLIPS in GitHub \ No newline at end of file diff --git a/clips/weekly/index.xml b/clips/weekly/index.xml deleted file mode 100644 index 0745948a4da..00000000000 --- a/clips/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub CLIPS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:33Z - Weekly Trending of CLIPS in GitHub - - - eoni48/si2013 - 2023-10-22T01:48:33Z - tag:github.com,2023-10-22:/eoni48/si2013 - - <p>Sistemas Inteligentes, Grado en Ingeniería de Computadores, UCM</p><hr> - - \ No newline at end of file diff --git a/clojure/daily/index.xml b/clojure/daily/index.xml index fec71dda066..8e2bf6fe37d 100644 --- a/clojure/daily/index.xml +++ b/clojure/daily/index.xml @@ -1,7 +1,7 @@ GitHub Clojure Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:19Z + 2023-10-23T01:26:38Z Daily Trending of Clojure in GitHub \ No newline at end of file diff --git a/clojure/weekly/index.xml b/clojure/weekly/index.xml deleted file mode 100644 index 34ed7260e64..00000000000 --- a/clojure/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Clojure Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:39Z - Weekly Trending of Clojure in GitHub - - \ No newline at end of file diff --git a/closure-templates/daily/index.xml b/closure-templates/daily/index.xml index f0c4ae01903..e5dd5684fb1 100644 --- a/closure-templates/daily/index.xml +++ b/closure-templates/daily/index.xml @@ -1,7 +1,7 @@ GitHub Closure Templates Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:15Z + 2023-10-23T01:26:35Z Daily Trending of Closure Templates in GitHub \ No newline at end of file diff --git a/closure-templates/weekly/index.xml b/closure-templates/weekly/index.xml deleted file mode 100644 index 8200c0579a0..00000000000 --- a/closure-templates/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Closure Templates Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:35Z - Weekly Trending of Closure Templates in GitHub - - \ No newline at end of file diff --git a/cloud-firestore-security-rules/daily/index.xml b/cloud-firestore-security-rules/daily/index.xml index 3961879c488..2e3b2d87a5e 100644 --- a/cloud-firestore-security-rules/daily/index.xml +++ b/cloud-firestore-security-rules/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cloud Firestore Security Rules Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:16Z + 2023-10-23T01:26:34Z Daily Trending of Cloud Firestore Security Rules in GitHub \ No newline at end of file diff --git a/cloud-firestore-security-rules/weekly/index.xml b/cloud-firestore-security-rules/weekly/index.xml deleted file mode 100644 index 01d4ccf7ad8..00000000000 --- a/cloud-firestore-security-rules/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cloud Firestore Security Rules Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:36Z - Weekly Trending of Cloud Firestore Security Rules in GitHub - - \ No newline at end of file diff --git a/cmake/daily/index.xml b/cmake/daily/index.xml index a7db66913a4..7ad4959a96b 100644 --- a/cmake/daily/index.xml +++ b/cmake/daily/index.xml @@ -1,14 +1,14 @@ GitHub CMake Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:22Z + 2023-10-23T01:26:42Z Daily Trending of CMake in GitHub - Sensing-Intelligent-System/apriltags_ros_test - 2023-10-22T01:29:22Z - tag:github.com,2023-10-22:/Sensing-Intelligent-System/apriltags_ros_test - - <p></p><hr> + wangwenx190/cmake-utils + 2023-10-23T01:26:42Z + tag:github.com,2023-10-23:/wangwenx190/cmake-utils + + <p>CMake helper utilities</p><hr> \ No newline at end of file diff --git a/cmake/weekly/index.xml b/cmake/weekly/index.xml deleted file mode 100644 index 7608a076773..00000000000 --- a/cmake/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub CMake Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:41Z - Weekly Trending of CMake in GitHub - - - zeek/cmake - 2023-10-22T01:48:41Z - tag:github.com,2023-10-22:/zeek/cmake - - <p>CMake scripts used in Zeek</p><hr> - - - wxmerkt/pybind11_catkin - 2023-10-22T01:48:41Z - tag:github.com,2023-10-22:/wxmerkt/pybind11_catkin - - <p>Catkin wrapper for pybind11</p><hr> - - \ No newline at end of file diff --git a/cobol/daily/index.xml b/cobol/daily/index.xml index 40b4a9b0db8..056d48c4782 100644 --- a/cobol/daily/index.xml +++ b/cobol/daily/index.xml @@ -1,7 +1,7 @@ GitHub COBOL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:24Z + 2023-10-23T01:26:45Z Daily Trending of COBOL in GitHub \ No newline at end of file diff --git a/cobol/weekly/index.xml b/cobol/weekly/index.xml deleted file mode 100644 index 3238b09b476..00000000000 --- a/cobol/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub COBOL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:43Z - Weekly Trending of COBOL in GitHub - - \ No newline at end of file diff --git a/codeowners/daily/index.xml b/codeowners/daily/index.xml index 046ca07fccf..df2ae0466e0 100644 --- a/codeowners/daily/index.xml +++ b/codeowners/daily/index.xml @@ -1,7 +1,7 @@ GitHub CODEOWNERS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:23Z + 2023-10-23T01:26:44Z Daily Trending of CODEOWNERS in GitHub \ No newline at end of file diff --git a/codeowners/weekly/index.xml b/codeowners/weekly/index.xml deleted file mode 100644 index 6b88f75b9a4..00000000000 --- a/codeowners/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CODEOWNERS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:43Z - Weekly Trending of CODEOWNERS in GitHub - - \ No newline at end of file diff --git a/codeql/daily/index.xml b/codeql/daily/index.xml index 0015797415d..7af27f1ab0e 100644 --- a/codeql/daily/index.xml +++ b/codeql/daily/index.xml @@ -1,7 +1,14 @@ GitHub CodeQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:25Z + 2023-10-23T01:26:43Z Daily Trending of CodeQL in GitHub + + fullwaywang/QlRules + 2023-10-23T01:26:43Z + tag:github.com,2023-10-23:/fullwaywang/QlRules + + <p>Auto-generated CodeQL rules for matching CVE vulnerabilities and variants.</p><hr> + \ No newline at end of file diff --git a/codeql/weekly/index.xml b/codeql/weekly/index.xml deleted file mode 100644 index 221cfbeda03..00000000000 --- a/codeql/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CodeQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:44Z - Weekly Trending of CodeQL in GitHub - - \ No newline at end of file diff --git a/coffeescript/daily/index.xml b/coffeescript/daily/index.xml index 08886b5e4d5..ce1514e42ba 100644 --- a/coffeescript/daily/index.xml +++ b/coffeescript/daily/index.xml @@ -1,14 +1,7 @@ GitHub CoffeeScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:27Z + 2023-10-23T01:26:47Z Daily Trending of CoffeeScript in GitHub - - sbp/octavo - 2023-10-22T01:29:27Z - tag:github.com,2023-10-22:/sbp/octavo - - <p>Rich web editor in JavaScript, allowing WYSIWYG HTML5 editing</p><hr> - \ No newline at end of file diff --git a/coffeescript/weekly/index.xml b/coffeescript/weekly/index.xml deleted file mode 100644 index 775ccbec0e8..00000000000 --- a/coffeescript/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub CoffeeScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:47Z - Weekly Trending of CoffeeScript in GitHub - - - mikeumus/docpad-plugin-facebookcomments - 2023-10-22T01:48:47Z - tag:github.com,2023-10-22:/mikeumus/docpad-plugin-facebookcomments - - <p>⚠ NEEDS UPDATE FOR NEWER VERSIONS OF DOCPAD. @getFacebookComments() for Docpad !</p><hr> - - - michaelvillar/dynamics.js - 2023-10-22T01:48:47Z - tag:github.com,2023-10-22:/michaelvillar/dynamics.js - - <p>Javascript library to create physics-based animations</p><hr> - - - kynan/MindTheGapp - 2023-10-22T01:48:47Z - tag:github.com,2023-10-22:/kynan/MindTheGapp - - <p></p><hr> - - \ No newline at end of file diff --git a/coldfusion-cfc/daily/index.xml b/coldfusion-cfc/daily/index.xml index 4ef99cb097e..1ed2f525ac1 100644 --- a/coldfusion-cfc/daily/index.xml +++ b/coldfusion-cfc/daily/index.xml @@ -1,7 +1,7 @@ GitHub ColdFusion CFC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:29Z + 2023-10-23T01:26:51Z Daily Trending of ColdFusion CFC in GitHub \ No newline at end of file diff --git a/coldfusion-cfc/weekly/index.xml b/coldfusion-cfc/weekly/index.xml deleted file mode 100644 index b75226a0b94..00000000000 --- a/coldfusion-cfc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ColdFusion CFC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:49Z - Weekly Trending of ColdFusion CFC in GitHub - - \ No newline at end of file diff --git a/coldfusion/daily/index.xml b/coldfusion/daily/index.xml index 99b3d2d8418..82cfea1ad6a 100644 --- a/coldfusion/daily/index.xml +++ b/coldfusion/daily/index.xml @@ -1,7 +1,7 @@ GitHub ColdFusion Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:31Z + 2023-10-23T01:26:52Z Daily Trending of ColdFusion in GitHub \ No newline at end of file diff --git a/coldfusion/weekly/index.xml b/coldfusion/weekly/index.xml deleted file mode 100644 index f17d92998bf..00000000000 --- a/coldfusion/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ColdFusion Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:48Z - Weekly Trending of ColdFusion in GitHub - - \ No newline at end of file diff --git a/collada/daily/index.xml b/collada/daily/index.xml index a4cca3d5b78..568cdd811d8 100644 --- a/collada/daily/index.xml +++ b/collada/daily/index.xml @@ -1,7 +1,7 @@ GitHub COLLADA Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:30Z + 2023-10-23T01:26:49Z Daily Trending of COLLADA in GitHub \ No newline at end of file diff --git a/collada/weekly/index.xml b/collada/weekly/index.xml deleted file mode 100644 index 0ca605a3c9c..00000000000 --- a/collada/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub COLLADA Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:50Z - Weekly Trending of COLLADA in GitHub - - \ No newline at end of file diff --git a/common-lisp/daily/index.xml b/common-lisp/daily/index.xml index 086065ba6c4..f127d696560 100644 --- a/common-lisp/daily/index.xml +++ b/common-lisp/daily/index.xml @@ -1,7 +1,7 @@ GitHub Common Lisp Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:31Z + 2023-10-23T01:26:52Z Daily Trending of Common Lisp in GitHub \ No newline at end of file diff --git a/common-lisp/weekly/index.xml b/common-lisp/weekly/index.xml deleted file mode 100644 index 2a842ca7030..00000000000 --- a/common-lisp/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Common Lisp Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:52Z - Weekly Trending of Common Lisp in GitHub - - \ No newline at end of file diff --git a/common-workflow-language/daily/index.xml b/common-workflow-language/daily/index.xml index d370ba514c5..a1897df5d84 100644 --- a/common-workflow-language/daily/index.xml +++ b/common-workflow-language/daily/index.xml @@ -1,7 +1,7 @@ GitHub Common Workflow Language Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:33Z + 2023-10-23T01:26:56Z Daily Trending of Common Workflow Language in GitHub \ No newline at end of file diff --git a/common-workflow-language/weekly/index.xml b/common-workflow-language/weekly/index.xml deleted file mode 100644 index 3b55faf60ab..00000000000 --- a/common-workflow-language/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Common Workflow Language Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:54Z - Weekly Trending of Common Workflow Language in GitHub - - \ No newline at end of file diff --git a/component-pascal/daily/index.xml b/component-pascal/daily/index.xml index eca0a9b4b8c..07a5cb3ba94 100644 --- a/component-pascal/daily/index.xml +++ b/component-pascal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Component Pascal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:35Z + 2023-10-23T01:26:57Z Daily Trending of Component Pascal in GitHub \ No newline at end of file diff --git a/component-pascal/weekly/index.xml b/component-pascal/weekly/index.xml deleted file mode 100644 index c482946a48c..00000000000 --- a/component-pascal/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Component Pascal Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:58Z - Weekly Trending of Component Pascal in GitHub - - - StafordDev/MCP - 2023-10-22T01:48:58Z - tag:github.com,2023-10-22:/StafordDev/MCP - - <p>A MaNGOS server control panel, written on Borland Delphi. You must rewrite this tool for yourself.</p><hr> - - \ No newline at end of file diff --git a/conll-u/daily/index.xml b/conll-u/daily/index.xml index d04b981316b..3004fc692a1 100644 --- a/conll-u/daily/index.xml +++ b/conll-u/daily/index.xml @@ -1,7 +1,7 @@ GitHub CoNLL-U Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:32Z + 2023-10-23T01:26:56Z Daily Trending of CoNLL-U in GitHub \ No newline at end of file diff --git a/conll-u/weekly/index.xml b/conll-u/weekly/index.xml deleted file mode 100644 index da17ef3dba3..00000000000 --- a/conll-u/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CoNLL-U Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:55Z - Weekly Trending of CoNLL-U in GitHub - - \ No newline at end of file diff --git a/cool/daily/index.xml b/cool/daily/index.xml index ef613088df0..cf17221b181 100644 --- a/cool/daily/index.xml +++ b/cool/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cool Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:34Z + 2023-10-23T01:26:55Z Daily Trending of Cool in GitHub \ No newline at end of file diff --git a/cool/weekly/index.xml b/cool/weekly/index.xml deleted file mode 100644 index 8580ebdcf9a..00000000000 --- a/cool/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cool Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:56Z - Weekly Trending of Cool in GitHub - - \ No newline at end of file diff --git a/coq/daily/index.xml b/coq/daily/index.xml index bbe0a51c615..97e20cec7fc 100644 --- a/coq/daily/index.xml +++ b/coq/daily/index.xml @@ -1,7 +1,7 @@ GitHub Coq Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:39Z + 2023-10-23T01:26:59Z Daily Trending of Coq in GitHub \ No newline at end of file diff --git a/coq/weekly/index.xml b/coq/weekly/index.xml deleted file mode 100644 index bf211da3970..00000000000 --- a/coq/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Coq Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:02Z - Weekly Trending of Coq in GitHub - - \ No newline at end of file diff --git a/cpp-objdump/daily/index.xml b/cpp-objdump/daily/index.xml index bc540ebc2da..9993079a4fc 100644 --- a/cpp-objdump/daily/index.xml +++ b/cpp-objdump/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cpp-ObjDump Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:38Z + 2023-10-23T01:27:00Z Daily Trending of Cpp-ObjDump in GitHub \ No newline at end of file diff --git a/cpp-objdump/weekly/index.xml b/cpp-objdump/weekly/index.xml deleted file mode 100644 index a2e2b70eafc..00000000000 --- a/cpp-objdump/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cpp-ObjDump Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:00Z - Weekly Trending of Cpp-ObjDump in GitHub - - \ No newline at end of file diff --git a/creole/daily/index.xml b/creole/daily/index.xml index b402938b3e8..fc57dfd3dfe 100644 --- a/creole/daily/index.xml +++ b/creole/daily/index.xml @@ -1,7 +1,7 @@ GitHub Creole Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:36Z + 2023-10-23T01:26:58Z Daily Trending of Creole in GitHub \ No newline at end of file diff --git a/creole/weekly/index.xml b/creole/weekly/index.xml deleted file mode 100644 index 1a97bea2b32..00000000000 --- a/creole/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Creole Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:01Z - Weekly Trending of Creole in GitHub - - \ No newline at end of file diff --git a/crystal/daily/index.xml b/crystal/daily/index.xml index 064f1f25c84..cb9bad33248 100644 --- a/crystal/daily/index.xml +++ b/crystal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Crystal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:37Z + 2023-10-23T01:27:02Z Daily Trending of Crystal in GitHub \ No newline at end of file diff --git a/crystal/weekly/index.xml b/crystal/weekly/index.xml deleted file mode 100644 index 15389ebabb5..00000000000 --- a/crystal/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Crystal Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:48:59Z - Weekly Trending of Crystal in GitHub - - \ No newline at end of file diff --git a/cson/daily/index.xml b/cson/daily/index.xml index e5d525710d6..4c0f698040e 100644 --- a/cson/daily/index.xml +++ b/cson/daily/index.xml @@ -1,7 +1,7 @@ GitHub CSON Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:41Z + 2023-10-23T01:27:06Z Daily Trending of CSON in GitHub \ No newline at end of file diff --git a/cson/weekly/index.xml b/cson/weekly/index.xml deleted file mode 100644 index 1cc8fb319dd..00000000000 --- a/cson/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CSON Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:05Z - Weekly Trending of CSON in GitHub - - \ No newline at end of file diff --git a/csound-document/daily/index.xml b/csound-document/daily/index.xml index 0e2bf0bc8b7..50f06888ee3 100644 --- a/csound-document/daily/index.xml +++ b/csound-document/daily/index.xml @@ -1,7 +1,7 @@ GitHub Csound Document Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:40Z + 2023-10-23T01:27:05Z Daily Trending of Csound Document in GitHub \ No newline at end of file diff --git a/csound-document/weekly/index.xml b/csound-document/weekly/index.xml deleted file mode 100644 index 3b181571b69..00000000000 --- a/csound-document/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Csound Document Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:05Z - Weekly Trending of Csound Document in GitHub - - \ No newline at end of file diff --git a/csound-score/daily/index.xml b/csound-score/daily/index.xml index e2741b6ec35..5e6174d4602 100644 --- a/csound-score/daily/index.xml +++ b/csound-score/daily/index.xml @@ -1,7 +1,7 @@ GitHub Csound Score Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:43Z + 2023-10-23T01:27:03Z Daily Trending of Csound Score in GitHub \ No newline at end of file diff --git a/csound-score/weekly/index.xml b/csound-score/weekly/index.xml deleted file mode 100644 index f9a9fde68b5..00000000000 --- a/csound-score/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Csound Score Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:04Z - Weekly Trending of Csound Score in GitHub - - \ No newline at end of file diff --git a/csound/daily/index.xml b/csound/daily/index.xml index c464e2e789f..63848d2dbbf 100644 --- a/csound/daily/index.xml +++ b/csound/daily/index.xml @@ -1,7 +1,7 @@ GitHub Csound Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:42Z + 2023-10-23T01:27:04Z Daily Trending of Csound in GitHub \ No newline at end of file diff --git a/csound/weekly/index.xml b/csound/weekly/index.xml deleted file mode 100644 index 6beec78b179..00000000000 --- a/csound/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Csound Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:06Z - Weekly Trending of Csound in GitHub - - \ No newline at end of file diff --git a/css/daily/index.xml b/css/daily/index.xml index 5b61b984378..016c82db65c 100644 --- a/css/daily/index.xml +++ b/css/daily/index.xml @@ -1,14 +1,21 @@ GitHub CSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:51Z + 2023-10-23T01:27:14Z Daily Trending of CSS in GitHub - david-haerer/chatapi - 2023-10-22T01:29:51Z - tag:github.com,2023-10-22:/david-haerer/chatapi - - <p>ChatGPT by API</p><hr><h1>💭 ChatAPI</h1> <p><em>ChatGPT by API.</em></p> <h2>About</h2> <ul> <li>This is a pure-frontend PWA using the <a href="https://platform.openai.com/docs/introduction">OpenAI API</a>.</li> <li>The API key is stored in the browser local storage.</li> <li>The app uses <a href="https://alpinejs.dev/">Alpine.js</a> and <a href="https://open-props.style/">Open Props</a>. <ul> <li>Code styling is done by <a href="https://prettier.io/">Prettier</a>.</li> <li>There is no build step, Alpine.js and Open Props are loaded via CDN.</li> <li>This is done due to a shortage of developer time 🙃</li> </ul> </li> <li>Kudos to <a href="https://stackoverflow.com/a/75751803/11386095">@hdsuperman</a> for the typing effect!</li> <li>Inspired by <a href="https://github.com/Niek/chatgpt-web">Niek/chatgpt-web</a>.</li> </ul> + vcwild/priya-portfolio + 2023-10-23T01:27:14Z + tag:github.com,2023-10-23:/vcwild/priya-portfolio + + <p>Portfolio for Priya Nobre</p><hr><h1>Portfolio</h1> <p>This is the proxy-go/priya portfolio</p> + + + vcwild/tcc-proxy + 2023-10-23T01:27:14Z + tag:github.com,2023-10-23:/vcwild/tcc-proxy + + <p>An interactive e-book story.</p><hr><div align="center"> <img src="https://raw.githubusercontent.com/vcwild/tcc-proxy/main/.github/assets/badge.png" width="230px"> </div> <br> <div align="center"> <img src="https://img.shields.io/github/languages/count/vcwild/tcc-proxy?color=%23ff3cbe&amp;style=flat-square" alt="languages"> <img src="https://img.shields.io/github/license/vcwild/tcc-proxy?color=%23ff3cbe&amp;style=flat-square" alt="license"> <img src="https://img.shields.io/github/repo-size/vcwild/tcc-proxy?color=%23ff3cbe&amp;style=flat-square" alt="repo size"> <img src="https://img.shields.io/github/actions/workflow/status/vcwild/tcc-proxy/build.yml?branch=main&amp;style=flat-square&amp;color=%23ff3cbe" alt="build"> </div> <h1>tcc-proxy</h1> <p>This Proxy Go's final project. It is an interactive e-book history.</p> <h2>References</h2> <ul> <li><a href="https://www.mentalcanvas.com/">Mental canvas</a></li> </ul> <h2>License</h2> <p>This project is licensed with an All Rights Reserved license - see the <a href="https://raw.githubusercontent.com/vcwild/tcc-proxy/main/LICENSE">LICENSE</a> file for details.</p> \ No newline at end of file diff --git a/css/weekly/index.xml b/css/weekly/index.xml deleted file mode 100644 index 82fea5d59bd..00000000000 --- a/css/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub CSS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:14Z - Weekly Trending of CSS in GitHub - - - septiandwica/kado - 2023-10-22T01:49:14Z - tag:github.com,2023-10-22:/septiandwica/kado - - <p>flower</p><hr><h1>Kado</h1> <p>-Flower code from: <a href="https://codepen.io/mdusmanansari/pen/BamepLe">https://codepen.io/mdusmanansari/pen/BamepLe</a></p> <h1>Description</h1> <p>Flower code tiktok trend</p> <p>Responsive Web -- bisa langsung disesuikan di file css --&gt; style.css</p> <h1>Author</h1> <ul> <li>Flower Code : Md Usman Ansari (@MdUsmanAnsari)</li> <li>Index Code : Septian Dwi Cahyo (@Septiandwica)</li> </ul> <p>Thanks to codepan and mdusmanansari</p> - - - lhndo/LH-Stinger - 2023-10-22T01:49:14Z - tag:github.com,2023-10-22:/lhndo/LH-Stinger - - <p>Fast, Precise, Cartesian, FDM 3D Printer</p><hr><h1>LH Stinger</h1> <p>Status: <strong>Feature Complete - Beta Testing</strong></p> <p><img src="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/Images/LHS_banner.png" alt="Image of Stinger Front"></p> <blockquote> <p><em>A no compromise cartesian 3D Printer designed for speed and precision.</em></p> </blockquote> <br> <p><img src="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/Images/New_Frame_v1023.png" alt="Image of Stinger Front"></p> <br> <p><strong>Contents:</strong></p> <!--ts--> <ul> <li><a href="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/#lh-stinger">LH Stinger</a> <ul> <li><a href="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/#resources">Resources</a></li> <li><a href="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/#features">Features</a></li> <li><a href="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/#assembly-instructions">Assembly Instructions</a></li> <li><a href="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/#contact">Contact</a></li> <li><a href="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/#to-do">To Do</a></li> <li><a href="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/#credits">Credits</a></li> <li><a href="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/#support">Support</a></li> <li><a href="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/#license">License</a></li> </ul> </li> </ul> <br> <h2>Resources</h2> <br> <ul> <li><a href="https://docs.google.com/spreadsheets/d/1s8ulLfThmbuy1G_40MvkXXL2oVx9PZhvpAY9hMxqYbg/edit?usp=drive_link">BOM / Parts List / Sourcing Guide</a></li> <li><a href="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/STL/">STL Files and Printing Instructions</a></li> <li><a href="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/CAD/">CAD Source Files </a></li> <li><a href="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/Config/Klipper_Config">Klipper Configuration </a></li> <li><a href="https://github.com/lhndo/LH-Stinger/wiki/Assembly-Tips">Wiki / Assembly Tips</a> (In Progress)</li> <li><a href="https://github.com/lhndo/LH-Stinger/wiki/Build-Log">Build Log / Media</a></li> <li><a href="https://www.youtube.com/channel/UCPD2Ai4b49gVoCFSGFWoSdw">Videos</a></li> </ul> <br> <h2>Features</h2> <br> <ul> <li>Lightweight bed carriage assembly with carbon fiber components</li> <li>Cross Frame design focused on stiffness and stability</li> <li>Low center of gravity</li> <li>AWD stepper configuration for the Y-axis <ul> <li>Optional conversion for X-axis AWD setup</li> </ul> </li> <li>235 mm^2 x 200mm maximum build volume (easily expandable to other sizes) <ul> <li>200 mm^2 carbon fiber bed for high-speed setup</li> <li>235 mm^2 aluminium bed for a larger volume</li> </ul> </li> <li>Optimized for daily print speeds of 400-600 mm/s with 20.000 mm/s^2 acceleration (<a href="https://www.youtube.com/watch?v=bxNQv3xVFXA&amp;">Test A</a>) (<a href="https://www.youtube.com/watch?v=mh0rmYptH-0">Test B</a>) (<a href="https://www.youtube.com/watch?v=cDipS-Msi5c">Test C</a>)</li> <li>Motion system capable of 1.000 mm/s speed with 100.000 mm/s^2 acceleration (<a href="https://www.youtube.com/watch?v=Xajs2mky6ZU">Test</a>)</li> <li>Maximum volumetric flow rate: ~55-60 mm^3/s (<a href="https://www.youtube.com/watch?v=K3M1EXKJzKs">Test</a>)</li> <li>Built using 30 series T-slotted extrusions with parts up to 3090</li> <li>All bracket assembly</li> <li>Genuine high-quality motion system components</li> <li>Entire motion system based on high preload MGN12H linear guide rails</li> <li>Fully belt-driven with minimal belt paths</li> <li>9mm 2GT belt in symmetrical configuration for the Y-axis</li> <li>6mm 2GT belts for the rest of the axis</li> <li>Independent Z stepper motors with Z Tilt capability for the X-axis</li> <li>Lightweight dual plate carbon fiber bed carriage with integrated tensioner and compatible with different bed sizes and carriage configurations</li> <li>Rigid bed mount</li> <li>Bearing supported Y-axis stepper motor shafts in double shear mounts</li> <li>High torque LDO-42STH48-2504AC stepper motors supplied with 36V for the X and Y-axis</li> <li>Dual power supply supporting 24V and 36V power standards (easily configurable for 48V)</li> <li>Driven by the Octopus Pro 1.1 board with TMC2240 drivers</li> <li>Running <a href="https://github.com/Klipper3d/klipper">Klipper</a> firmware</li> <li>Easily serviceable external electronic box with good airflow, and support for multiple power supplies, SSRs, RPi and large controller boards.</li> <li>Good cable management with a quick disconnect system between the printer and ebox</li> <li>Toolhead based on the Dragon HF hotend and HF extender <ul> <li>Custom thick silicon sock mold available for RTV casting</li> </ul> </li> <li>LDO Orbiter 2.0 direct drive extruder</li> <li>Dual 5015 fan setup for part cooling</li> <li>Adopts the <a href="https://github.com/Annex-Engineering/Quickdraw_Probe">Annex Engineering Quickdraw Probe</a></li> <li>Minimalistic printed parts design focused on strength and easy printability</li> <li>Printed in ASA, providing high temperature resistance</li> <li>Easily enclosed, with the main electronic components outside of the build chamber. <ul> <li>The 200 mm^2 bed configuration can be fully enclose up to the frame bounding box. No extra space is needed for the bed movement.</li> </ul> </li> </ul> <br> <p><strong>Resonance Tests:</strong><br> <img src="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/Images/X.png" alt="Resonance Test X"><br> <img src="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/Images/Y.png" alt="Resonance Test Y"><br></p> <br> <h2>Assembly Instructions</h2> <p>Please consult the <a href="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/CAD/">CAD Source Files </a> for assembly instructions, and the following <a href="https://github.com/lhndo/LH-Stinger/wiki">Wiki</a> pages:</p> <blockquote> <p><a href="https://github.com/lhndo/LH-Stinger/wiki/Build-Log">Build Log</a><br> <a href="https://github.com/lhndo/LH-Stinger/wiki/Assembly-Tips">Wiki / Assembly Tips</a> (In Progress)</p> </blockquote> <p>Please contact me for support until the documentation will be made available.<br> <br></p> <h2>Contact</h2> <p>@LH on ANNEX Engineering and Klipper Discord <br> lemurshaze @ gmail.com</p> <br> <h2>To Do</h2> <ul> <li>Build log (In progress)</li> <li>Documentation and asembly instructions (In progress)</li> <li>Lightweight Toolhead based on 2510 and 3515 Delta axials</li> </ul> <br> <h2>Credits</h2> <p><em>Inspired by the <a href="https://github.com/Annex-Engineering">Annex Engineering</a> team and <a href="https://discord.com/invite/MzTR3zE">community</a>, along with the <a href="https://discord.klipper3d.org">Klipper community</a>, <a href="https://ratrig.com/">RatRig</a> and all the crazy people that continue to push bed slingers to the limits. <span>💜</span></em></p> <p>-Toolhead evolved from an amazing design by <a href="https://github.com/dalegaard">Dalegaard</a><br> -Silicon sock mold based on <a href="https://www.printables.com/@RenatoKulman">Renátó Kulman</a><br> -Wago 221 mounts by <a href="https://www.printables.com/@fns720">fns720</a><br> -SSR protection cover based on <a href="https://www.printables.com/@Technoturk_377911">Technoturk</a><br> -3030 extrusion Cable clip based on <a href="https://www.printables.com/@Arthur_C_428094">Arthur_C</a><br> -3030 t-nut clip based on <a href="https://www.printables.com/@JohnS">John_S</a><br> <br></p> <h2>Support</h2> <p><a href="https://ko-fi.com/lh_eng" target="_blank"><img height="46" style="border:0px;height:36px;" src="https://az743702.vo.msecnd.net/cdn/kofi3.png?v=0" border="0" alt="Buy Me a Coffee at ko-fi.com"> <br></a></p> <a href="https://ko-fi.com/lh_eng" target="_blank"> <h2>License</h2> </a> <p><a href="https://ko-fi.com/lh_eng" target="_blank">This work is licensed under a </a><a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons (4.0 International License) </a><br> <a href="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/LICENSE.md"><strong>Attribution—Noncommercial—Share Alike</strong></a><br> <br> <img src="https://raw.githubusercontent.com/lhndo/LH-Stinger/main/Images/CC.jpg" width="100"><br> <br></p> - - - tabulapdf/tabula - 2023-10-22T01:49:14Z - tag:github.com,2023-10-22:/tabulapdf/tabula - - <p>Tabula is a tool for liberating data tables trapped inside PDF files</p><hr><p><strong>Is <code>tabula</code> an active project?</strong></p> <p>Tabula is, and always has been, a volunteer-run project. We've ocassionally had funding for specific features, but it's never been a commercial undertaking. At the moment, none of the original authors have the time to actively work on the project. The end-user application, hosted on this repo, is unlikely to see updates from us in the near future. <a href="https://github.com/tabulapdf/tabula-java"><code>tabula-java</code></a> sees updates and occasional bug-fix releases from time to time.</p> <p>--</p> <p><strong>Repo Note</strong>: The <code>master</code> branch is an <em>in development</em> version of Tabula. This may be substantially different from the latest <a href="https://github.com/tabulapdf/tabula/releases">releases of Tabula</a>.</p> <hr> <h1>Tabula</h1> <p><a href="https://github.com/tabulapdf/tabula/tree/master">tabula <code>master</code></a> <a href="https://travis-ci.org/tabulapdf/tabula"><img src="https://travis-ci.org/tabulapdf/tabula.svg?branch=master" alt="Build Status"></a></p> <p>Tabula helps you liberate data tables trapped inside PDF files.</p> <ul> <li><a href="http://tabula.technology/">Download from the official site</a></li> <li><a href="https://source.opennews.org/en-US/articles/introducing-tabula/">Read more about Tabula on OpenNews Source</a></li> <li>Interested in using Tabula on the command-line? Check out <a href="https://github.com/tabulapdf/tabula-java">tabula-java</a>, a Java library and command-line interface for Tabula. (This is the extraction library that powers Tabula.)</li> </ul> <p>© 2012-2020 Manuel Aristarán. Available under MIT License. See <a href="https://raw.githubusercontent.com/tabulapdf/tabula/master/AUTHORS.md"><code>AUTHORS.md</code></a> and <a href="https://raw.githubusercontent.com/tabulapdf/tabula/master/LICENSE.md"><code>LICENSE.md</code></a>.</p> <ul> <li><a href="https://raw.githubusercontent.com/tabulapdf/tabula/master/#why-tabula">Why Tabula?</a></li> <li><a href="https://raw.githubusercontent.com/tabulapdf/tabula/master/#using-tabula">Using Tabula</a></li> <li><a href="https://raw.githubusercontent.com/tabulapdf/tabula/master/#known-issues">Known issues</a></li> <li><a href="https://raw.githubusercontent.com/tabulapdf/tabula/master/#incorporating-tabula-into-your-own-project">Incorporating Tabula into your own project</a></li> <li><a href="https://raw.githubusercontent.com/tabulapdf/tabula/master/#running-tabula-from-source-for-developers">Running Tabula from source (for developers)</a> <ul> <li><a href="https://raw.githubusercontent.com/tabulapdf/tabula/master/#building-a-packaged-application-version">Building a packaged application version</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/tabulapdf/tabula/master/#contributing">Contributing</a> <ul> <li><a href="https://raw.githubusercontent.com/tabulapdf/tabula/master/#backers">Backers</a></li> </ul> </li> </ul> <h2>Why Tabula?</h2> <p>If you’ve ever tried to do anything with data provided to you in PDFs, you know how painful this is — you can’t easily copy-and-paste rows of data out of PDF files. Tabula allows you to extract that data in CSV format, through a simple web interface.</p> <p><strong>Caveat</strong>: Tabula only works on text-based PDFs, not scanned documents. If you can click-and-drag to select text in your table in a PDF viewer (even if the output is disorganized trash), then your PDF is text-based and Tabula should work.</p> <p><strong>Security Concerns?</strong>: Tabula is designed with security in mind. Your PDF and the extracted data <em>never</em> touch the net -- when you use Tabula on your local machine, as long as your browser's URL bar says "localhost" or "127.0.0.1", all processing takes place on your local machine. Other than to retrieve a few badges and other static assets, there are two calls that are made from your browser to external machines; one fetches the list of latest Tabula versions from GitHub to alert you if Tabula has been updated, the other makes a call to a stats counter that helps us determine how often various versions of Tabula are being used. If this is a problem, the version check can be disabled by adding <code>-Dtabula.disable_version_check=1</code> to the command line at startup, and the stats counter call can be disabled by adding <code>-Dtabula.disable_notifications=1</code>. Please note: If you are providing Tabula as a service using a reverse SSL proxy, users <a href="https://github.com/tabulapdf/tabula/issues/924">may notice a security warning</a> due to our stats counter endpoint being hosted at a non-secure URL, so you may wish to disable the notifications in this scenario.</p> <h2>Using Tabula</h2> <p>First, make sure you have a recent copy of Java installed. You can <a href="https://www.java.com/download/">download Java here</a>. Tabula requires a Java Runtime Environment compatible with Java 7 (i.e. Java 7, 8 or higher). If you have a problem, check <a href="https://raw.githubusercontent.com/tabulapdf/tabula/master/#knownissues">Known Issues</a> first, then <a href="http://www.github.com/tabulapdf/tabula/issues">report an issue</a>.</p> <ul> <li> <h3>Windows</h3> <p>Download <code>tabula-win.zip</code> from <a href="http://tabula.technology">the download site</a>. Unzip the whole thing and open the <code>tabula.exe</code> file inside. A browser should automatically open to <a href="http://127.0.0.1:8080/">http://127.0.0.1:8080/</a> . If not, open your web browser of choice and visit that link.</p> <p>To close Tabula, just go back to the console window and press "Control-C" (as if to copy).</p> </li> <li> <h3>Mac OS X</h3> <p>Download <code>tabula-mac.zip</code> from <a href="http://tabula.technology">the download site</a>. Unzip and open the Tabula app inside. A browser should automatically open to <a href="http://127.0.0.1:8080/">http://127.0.0.1:8080/</a> . If not, open your web browser of choice and visit that link.</p> <p>To close Tabula, find the Tabula icon in your dock, right-click (or control-click) on it, and press "Quit".</p> <p>Note: If you’re running Mac OS X 10.8 or later, you might get an error like "Tabula is damaged and can't be opened." We're working on fixing this, but click <a href="https://raw.githubusercontent.com/tabulapdf/tabula/master/#gatekeeper">here</a> for a workaround.</p> </li> <li> <h3>Other platforms (e.g. Linux)</h3> <p>Download <code>tabula-jar.zip</code> from <a href="http://tabula.technology">the download site</a> and unzip it to the directory of your choice. Open a terminal window, and <code>cd</code> to inside the <code>tabula</code> directory you just unzipped. Then run:</p> <p><code>java -Dfile.encoding=utf-8 -Xms256M -Xmx1024M -jar tabula.jar</code></p> <p>Then manually navigate your browser to <a href="http://127.0.0.1:8080/">http://127.0.0.1:8080/</a> (New in Tabula 1.1. To go back to the old behavior that automatically launches your web browser, use the <code>-Dtabula.openBrowser=true</code> option.</p> <p>Tabula binds to port 8080 by default. You can change it with the <code>warbler.port</code> option; for example, to use port 9999:</p> <p><code>java -Dfile.encoding=utf-8 -Xms256M -Xmx1024M -Dwarbler.port=9999 -jar tabula.jar</code></p> </li> </ul> <p>If the program fails to run, double-check that you have <a href="https://www.java.com/download/">Java installed</a> and then try again.</p> <h2><a name="knownissues">Known issues</a></h2> <p>There are some bugs that we're aware of that we haven't managed to fix yet. If there's not a solution here or you need more help, please go ahead and <a href="http://www.github.com/tabulapdf/tabula/issues">report an issue</a>.</p> <ul> <li> <p><a name="legacy"><strong>Legacy Java Environment (SE 6) Is Required:</strong></a> (Mac): The Mac operating system recently changed how it packages the Java Runtime Environment. If you get this error, download Tabula's <a href="https://github.com/tabulapdf/tabula/releases/download/v0.9.7/tabula-mac-0.9.7-large-experimental.zip">"large experimental" package</a>. This package includes its own Java Runtime Environment and should work without this issue.</p> </li> <li> <p><a name="gatekeeper"><strong>"Tabula is damaged and can't be opened"</strong> (Mac)</a>: If you’re running Mac OS X 10.8 or later, GateKeeper may prevent you from opening the Tabula app. Please <a href="http://support.apple.com/kb/HT5290">see this GateKeeper page</a> for more information.</p> <ol> <li>Right-click on Tabula.app and select Open from the context menu.</li> <li>The system will tell you that the application is "from an unidentified developer" and ask you whether you want to open it. Click Open to allow the application to run. The system remembers this choice and won't prompt you again.</li> </ol> <p>(If you continue to have issues, double-check the <a href="http://support.apple.com/kb/HT5290">OS X GateKeeper documentation</a> for more information.)</p> </li> </ul> <ul> <li> <p><a name="encoding"><strong>org.jruby.exceptions.RaiseException: (Encoding::CompatibilityError) incompatible character encodings:</strong></a> (Windows): Your Windows computer expects a type of encoding other than Unicode or Windows's English encoding. You can fix this by entering a few simple commands in the Command Prompt. (The commands won't affect anything besides Tabula.)</p> <ol> <li>Open a Command Prompt</li> <li>type <code>cd</code> and then the path to the directory that contains <code>tabula.exe</code>, e.g. <code>cd C:\Users\Username\Downloads</code></li> <li>Change that terminal's codepage to Unicode by typing: <code>chcp 65001</code></li> <li>Run Tabula by typing <code>tabula.exe</code></li> </ol> </li> <li> <p><a name="portproblems"><strong>A browser tab opens, but something other than Tabula loads there. Or Tabula doesn't start.</strong></a> It's possible another program is using port 8080, which Tabula binds to by default. You can try closing the other program, or change the port Tabula uses by running Tabula from the terminal with the <code>warbler.port</code> property:</p> <p><code>java -Dfile.encoding=utf-8 -Xms256M -Xmx1024M -Dwarbler.port=9999 -jar tabula.jar</code></p> </li> </ul> <h2>Incorporating Tabula into your own project</h2> <p>Tabula is open-source, so we'd love for you to incorporate pieces of Tabula into your own projects. The "guts" of Tabula -- that is, the logic and heuristics that reconstruct tables from PDFs -- is contained in the <a href="https://github.com/tabulapdf/tabula-java/">tabula-java</a> repo. There's a JAR file that you can easily incorporate into JVM languages like Java, Scala or Clojure and it includes a command-line tool for you to automate your extraction tasks. Visit that repo for more information on how to use <code>tabula-java</code> on the CLI and on how Tabula exports <code>tabula-java</code> scripts.</p> <h3>Bindings:</h3> <p>Tabula has bindings for JRuby and R. If you end up writing bindings for another language, let us know and we'll add a link here.</p> <ul> <li><a href="https://github.com/leeper/tabulizer">tabulizer</a> provides <a href="https://www.r-project.org/">R</a> bindings for tabula-java and is community-supported by <a href="https://github.com/leeper">@leeper</a>.</li> <li><a href="https://github.com/ezodude/tabula-js">tabula-js</a> provides <a href="https://nodejs.org/en/">Node.js</a> bindings for tabula-java; it is community-supported by <a href="https://github.com/ezodude">@ezodude</a>.</li> <li><a href="https://github.com/chezou/tabula-py">tabula-py</a> provides <a href="https://python.org">Python</a> bindings for tabula-java; it is community-supported by <a href="https://github.com/chezou">@chezou</a>.</li> <li><a href="https://github.com/tabulapdf/tabula-extractor/">tabula-extractor</a> <em>DEPRECATED</em> - Provides JRuby bindings for tabula-java</li> </ul> <h2>Running Tabula from source (for developers)</h2> <ol> <li> <p>Download JRuby. You can install it from its website, or using tools like <code>rvm</code> or <code>rbenv</code>. Note that as of Tabula 1.1.0 (7875582becb2799b65586d5680782cafd399bb33), Tabula uses the JRuby 9000 series (i.e. JRuby 9.1.5.0).</p> </li> <li> <p>Download Tabula and install the Ruby dependencies. (Note: if using <code>rvm</code> or <code>rbenv</code>, ensure that JRuby is being used.</p> <pre><code>git clone git://github.com/tabulapdf/tabula.git cd tabula gem install bundler -v 1.17.3 bundle install jruby -S jbundle install </code></pre> </li> </ol> <p><strong>Then, start the development server:</strong></p> <pre><code>jruby -G -r jbundler -S rackup </code></pre> <p>(If you get encoding errors, set the <code>JAVA_OPTS</code> environment variable to <code>-Dfile.encoding=utf-8</code>)</p> <p>The site instance should now be viewable at <a href="http://127.0.0.1:9292/">http://127.0.0.1:9292/</a> .</p> <p>You can a couple some options when executing the server in this manner:</p> <pre><code>TABULA_DATA_DIR="/tmp/tabula" \ TABULA_DEBUG=1 \ jruby -G -r jbundler -S rackup </code></pre> <ul> <li><code>TABULA_DATA_DIR</code> controls where uploaded data for Tabula is stored. By default, data is stored in the OS-dependent application data directory for the current user. (similar to: <code>C:\Users\foo\AppData\Roaming\Tabula</code> on Windows, <code>~/Library/Application Support/Tabula</code> on Mac, <code>~/.tabula</code> on Linux/UNIX)</li> <li><code>TABULA_DEBUG</code> prints out extra status data when PDF files are being processed. (<code>false</code> by default.)</li> </ul> <p><strong>Alternatively, running the server as a JAR file</strong></p> <p>Testing in this manner will be closer to testing the "packaged application" version of the app.</p> <pre><code>jruby -G -S rake war java -Dfile.encoding=utf-8 -Xms256M -Xmx1024M -jar build/tabula.jar </code></pre> <p>If you intend to develop against an unreleased version of <a href="https://github.com/tabulapdf/tabula-java"><code>tabula-java</code></a>, you need to install its JAR to your local Maven repository. From the directory that contains <code>tabula-java</code> source:</p> <pre><code>mvn install:install-file -Dfile=target/tabula-&lt;version&gt;-SNAPSHOT.jar -DgroupId=technology.tabula -DartifactId=tabula -Dversion=&lt;version&gt;-SNAPSHOT -Dpackaging=jar -DpomFile=pom.xml </code></pre> <p>Then, adjust the <code>Jarfile</code> accordingly.</p> <h3>Building a packaged application version</h3> <p>After performing the above steps ("Running Tabula from source"), you can compile Tabula into a standalone application:</p> <p><strong>Mac OS X</strong></p> <p>If you wish to share Tabula with other machines, you will need a codesigning certificate. Our distribution of Tabula uses a self-signed certificate, as noted above. See <a href="https://github.com/tabulapdf/tabula/raw/master/build.xml#L44-53">this section of build.xml</a> for details. If you will only be running Tabula on the machine you are building it on, you may remove this entire <exec> block (lines 44-53). </exec></p> <p>To compile the app:</p> <pre><code>WEBSERVER_VERSION=9.4.31.v20200723 MAVEN_REPO=https://repo1.maven.org/maven2 rake macosx </code></pre> <p>This will result in a portable "tabula_mac.zip" archive (inside the <code>build</code> directory) for Mac OS X users.</p> <p>Note that the Mac version bundles Java with the Tabula app. This results in a 98MB zip file, versus the 30MB zip file for other platforms, but allows users to run Tabula without having to worry about <a href="https://github.com/tabulapdf/tabula/issues/237">Java version incompatibilities</a>.</p> <p><strong>Windows</strong></p> <p>You can build .exe files for the Windows target on any platform.</p> <p>Download a <a href="http://sourceforge.net/projects/launch4j/files/launch4j-3/3.1.0-beta1/">3.1.X (beta) copy of Launch4J</a>.</p> <p>Unzip it into the Tabula repo so that "launch4j" (with subdirectories "bin", etc.) is in the repository root.</p> <p>(If you're building on a 64bit Linux, you may need to install 32bit libs like, in Ubuntu <code>sudo apt-get install lib32z1 lib32ncurses5</code>)</p> <p>Then:</p> <pre><code>WEBSERVER_VERSION=9.4.31.v20200723 MAVEN_REPO=https://repo1.maven.org/maven2 rake windows </code></pre> <p>This will result in a portable "tabula_win.zip" archive (inside the <code>build</code> directory) for Mac OS X users.</p> <hr> <p>If you have issues, you can try building manually. (These commands are for OS X/Linux and may need to be adjusted for Windows users.)</p> <pre><code># (from the root directory of the repo) WEBSERVER_VERSION=9.4.31.v20200723 MAVEN_REPO=https://repo1.maven.org/maven2 rake war cd launch4j ant -f ../build.xml windows </code></pre> <p>A "tabula.exe" file will be generated in "build/windows". To run, the exe file needs "tabula.jar" (contained in "build") in the same directory. You can create a .zip archive by doing:</p> <pre><code># (from the root directory of the repo) cd build/windows mkdir tabula cp tabula.exe ./tabula/ cp ../tabula.jar ./tabula/ zip -r9 tabula_win.zip tabula rm -fr tabula </code></pre> <h2>Contributing</h2> <p>Interested in helping out? We'd love to have your help!</p> <p>You can help by:</p> <ul> <li><a href="https://github.com/tabulapdf/tabula/issues">Reporting a bug</a>.</li> <li>Adding or editing documentation.</li> <li>Contributing code via a Pull Request from ideas or bugs listed in the <a href="https://github.com/tabulapdf/tabula/labels/enhancement">Enhancements</a> section of the issues. <a href="https://raw.githubusercontent.com/tabulapdf/tabula/master/CONTRIBUTING.md">see <code>CONTRIBUTING.md</code></a></li> <li>Spreading the word about Tabula to people who might be able to benefit from using it.</li> </ul> <h3>Backers</h3> <p>You can also support our continued work on Tabula with a one-time or monthly donation <a href="https://opencollective.com/tabulapdf#support">on OpenCollective</a>. Organizations who use Tabula can also <a href="https://opencollective.com/tabulapdf#support">sponsor the project</a> for acknolwedgement on <a href="http://tabula.technology/">our official site</a> and this README.</p> <p>Tabula is made possible in part through <a href="https://opencollective.com/tabulapdf">the generosity of our users</a> and through grants from the <a href="http://www.knightfoundation.org/">Knight Foundation</a> and the <a href="https://shuttleworthfoundation.org/">Shuttleworth Foundation</a>. Special thanks to all the users and organizations that support Tabula!</p> <p><a href="https://opencollective.com/tabulapdf/backer/0/website" target="_blank"><img src="https://opencollective.com/tabulapdf/backer/0/avatar"></a> <a href="https://opencollective.com/tabulapdf/backer/1/website" target="_blank"><img src="https://opencollective.com/tabulapdf/backer/1/avatar"></a> <a href="https://opencollective.com/tabulapdf/backer/2/website" target="_blank"><img src="https://opencollective.com/tabulapdf/backer/2/avatar"></a> <a href="https://opencollective.com/tabulapdf/backer/3/website" target="_blank"><img src="https://opencollective.com/tabulapdf/backer/3/avatar"></a> <a href="https://opencollective.com/tabulapdf/backer/4/website" target="_blank"><img src="https://opencollective.com/tabulapdf/backer/4/avatar"></a> <a href="https://opencollective.com/tabulapdf/backer/5/website" target="_blank"><img src="https://opencollective.com/tabulapdf/backer/5/avatar"></a></p> <p><a title="The John S. and James L. Knight Foundation" href="http://www.knightfoundation.org/" target="_blank"><img width="220" alt="The John S. and James L. Knight Foundation" src="http://www.knightfoundation.org/media/uploads/media_images/knight-logo-300.jpg"></a> <a title="The Shuttleworth Foundation" href="https://shuttleworthfoundation.org/" target="_blank"><img width="200" alt="The Shuttleworth Foundation" src="https://raw.githubusercontent.com/tabulapdf/tabula/gh-pages/shuttleworth.jpg"></a></p> <p>More acknowledgments can be found in <a href="https://raw.githubusercontent.com/tabulapdf/tabula/master/AUTHORS.md"><code>AUTHORS.md</code></a>.</p> - - \ No newline at end of file diff --git a/csv/daily/index.xml b/csv/daily/index.xml index 1c68127946b..d7f8d39dc4d 100644 --- a/csv/daily/index.xml +++ b/csv/daily/index.xml @@ -1,7 +1,7 @@ GitHub CSV Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:45Z + 2023-10-23T01:27:09Z Daily Trending of CSV in GitHub \ No newline at end of file diff --git a/csv/weekly/index.xml b/csv/weekly/index.xml deleted file mode 100644 index fd5f57d61d5..00000000000 --- a/csv/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CSV Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:09Z - Weekly Trending of CSV in GitHub - - \ No newline at end of file diff --git a/cuda/daily/index.xml b/cuda/daily/index.xml index 69149335f5e..5038fae5501 100644 --- a/cuda/daily/index.xml +++ b/cuda/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cuda Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:47Z + 2023-10-23T01:27:11Z Daily Trending of Cuda in GitHub \ No newline at end of file diff --git a/cuda/weekly/index.xml b/cuda/weekly/index.xml deleted file mode 100644 index a195f22c3b8..00000000000 --- a/cuda/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Cuda Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:11Z - Weekly Trending of Cuda in GitHub - - - sangyc10/CUDA-code - 2023-10-22T01:49:11Z - tag:github.com,2023-10-22:/sangyc10/CUDA-code - - <p></p><hr> - - \ No newline at end of file diff --git a/cue/daily/index.xml b/cue/daily/index.xml index e2fb0b08f77..76fc4d16b20 100644 --- a/cue/daily/index.xml +++ b/cue/daily/index.xml @@ -1,7 +1,7 @@ GitHub CUE Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:29:45Z + 2023-10-23T01:27:08Z Daily Trending of CUE in GitHub \ No newline at end of file diff --git a/cue/weekly/index.xml b/cue/weekly/index.xml deleted file mode 100644 index c9d9021c0dc..00000000000 --- a/cue/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CUE Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:08Z - Weekly Trending of CUE in GitHub - - \ No newline at end of file diff --git a/curl-config/daily/index.xml b/curl-config/daily/index.xml index 5cf88ea1fa5..f5bb16d66a6 100644 --- a/curl-config/daily/index.xml +++ b/curl-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub cURL Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:00Z + 2023-10-23T01:27:21Z Daily Trending of cURL Config in GitHub \ No newline at end of file diff --git a/curl-config/weekly/index.xml b/curl-config/weekly/index.xml deleted file mode 100644 index d7f38c4caf1..00000000000 --- a/curl-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub cURL Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:23Z - Weekly Trending of cURL Config in GitHub - - \ No newline at end of file diff --git a/curry/daily/index.xml b/curry/daily/index.xml index 83d0afc2811..fd9b90a1a99 100644 --- a/curry/daily/index.xml +++ b/curry/daily/index.xml @@ -1,7 +1,7 @@ GitHub Curry Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:01Z + 2023-10-23T01:27:24Z Daily Trending of Curry in GitHub \ No newline at end of file diff --git a/curry/weekly/index.xml b/curry/weekly/index.xml deleted file mode 100644 index 8bf00794e3b..00000000000 --- a/curry/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Curry Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:25Z - Weekly Trending of Curry in GitHub - - \ No newline at end of file diff --git a/cweb/daily/index.xml b/cweb/daily/index.xml index 47dd4b91fbd..979da71dd8e 100644 --- a/cweb/daily/index.xml +++ b/cweb/daily/index.xml @@ -1,7 +1,7 @@ GitHub CWeb Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:02Z + 2023-10-23T01:27:23Z Daily Trending of CWeb in GitHub \ No newline at end of file diff --git a/cweb/weekly/index.xml b/cweb/weekly/index.xml deleted file mode 100644 index ab5c48d165b..00000000000 --- a/cweb/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CWeb Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:24Z - Weekly Trending of CWeb in GitHub - - \ No newline at end of file diff --git a/cycript/daily/index.xml b/cycript/daily/index.xml index b7cf2ed9bc6..a829861875a 100644 --- a/cycript/daily/index.xml +++ b/cycript/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cycript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:04Z + 2023-10-23T01:27:26Z Daily Trending of Cycript in GitHub \ No newline at end of file diff --git a/cycript/weekly/index.xml b/cycript/weekly/index.xml deleted file mode 100644 index c2825733128..00000000000 --- a/cycript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cycript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:30Z - Weekly Trending of Cycript in GitHub - - \ No newline at end of file diff --git a/cython/daily/index.xml b/cython/daily/index.xml index e303ca9ae44..e1dc3fb98b0 100644 --- a/cython/daily/index.xml +++ b/cython/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cython Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:06Z + 2023-10-23T01:27:27Z Daily Trending of Cython in GitHub \ No newline at end of file diff --git a/cython/weekly/index.xml b/cython/weekly/index.xml deleted file mode 100644 index 9f348ade3d5..00000000000 --- a/cython/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cython Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:30Z - Weekly Trending of Cython in GitHub - - \ No newline at end of file diff --git a/d-objdump/daily/index.xml b/d-objdump/daily/index.xml index 57fdb332eae..a808ba023a5 100644 --- a/d-objdump/daily/index.xml +++ b/d-objdump/daily/index.xml @@ -1,7 +1,7 @@ GitHub D-ObjDump Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:10Z + 2023-10-23T01:27:31Z Daily Trending of D-ObjDump in GitHub \ No newline at end of file diff --git a/d-objdump/weekly/index.xml b/d-objdump/weekly/index.xml deleted file mode 100644 index d3efae03a05..00000000000 --- a/d-objdump/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub D-ObjDump Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:35Z - Weekly Trending of D-ObjDump in GitHub - - \ No newline at end of file diff --git a/d/daily/index.xml b/d/daily/index.xml index 9299710edbf..f133107bc47 100644 --- a/d/daily/index.xml +++ b/d/daily/index.xml @@ -1,7 +1,7 @@ GitHub D Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:07Z + 2023-10-23T01:27:28Z Daily Trending of D in GitHub \ No newline at end of file diff --git a/d/weekly/index.xml b/d/weekly/index.xml deleted file mode 100644 index 032e170e6fb..00000000000 --- a/d/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub D Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:27Z - Weekly Trending of D in GitHub - - - trikko/tshare - 2023-10-22T01:49:27Z - tag:github.com,2023-10-22:/trikko/tshare - - <p>The fastest way to share your files on the web, for free</p><hr> - - \ No newline at end of file diff --git a/dafny/daily/index.xml b/dafny/daily/index.xml index 82ea8e76bee..c8b113dd15e 100644 --- a/dafny/daily/index.xml +++ b/dafny/daily/index.xml @@ -1,7 +1,7 @@ GitHub Dafny Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:11Z + 2023-10-23T01:27:30Z Daily Trending of Dafny in GitHub \ No newline at end of file diff --git a/dafny/weekly/index.xml b/dafny/weekly/index.xml deleted file mode 100644 index b742c187af7..00000000000 --- a/dafny/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Dafny Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:34Z - Weekly Trending of Dafny in GitHub - - \ No newline at end of file diff --git a/darcs-patch/daily/index.xml b/darcs-patch/daily/index.xml index ccc92b90ad6..22aba252c58 100644 --- a/darcs-patch/daily/index.xml +++ b/darcs-patch/daily/index.xml @@ -1,7 +1,7 @@ GitHub Darcs Patch Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:08Z + 2023-10-23T01:27:29Z Daily Trending of Darcs Patch in GitHub \ No newline at end of file diff --git a/darcs-patch/weekly/index.xml b/darcs-patch/weekly/index.xml deleted file mode 100644 index 90f3588378d..00000000000 --- a/darcs-patch/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Darcs Patch Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:32Z - Weekly Trending of Darcs Patch in GitHub - - \ No newline at end of file diff --git a/dart/daily/index.xml b/dart/daily/index.xml index 28c6f348f56..eff36894077 100644 --- a/dart/daily/index.xml +++ b/dart/daily/index.xml @@ -1,7 +1,7 @@ GitHub Dart Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:18Z + 2023-10-23T01:27:39Z Daily Trending of Dart in GitHub \ No newline at end of file diff --git a/dart/weekly/index.xml b/dart/weekly/index.xml deleted file mode 100644 index b0d5d575899..00000000000 --- a/dart/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Dart Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:41Z - Weekly Trending of Dart in GitHub - - \ No newline at end of file diff --git a/dataweave/daily/index.xml b/dataweave/daily/index.xml index e19664a3411..35907f068df 100644 --- a/dataweave/daily/index.xml +++ b/dataweave/daily/index.xml @@ -1,7 +1,7 @@ GitHub DataWeave Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:13Z + 2023-10-23T01:27:35Z Daily Trending of DataWeave in GitHub \ No newline at end of file diff --git a/dataweave/weekly/index.xml b/dataweave/weekly/index.xml deleted file mode 100644 index 0cb1eaf71f6..00000000000 --- a/dataweave/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub DataWeave Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:38Z - Weekly Trending of DataWeave in GitHub - - \ No newline at end of file diff --git a/debian-package-control-file/daily/index.xml b/debian-package-control-file/daily/index.xml index 12c41a32b05..a48eac5b309 100644 --- a/debian-package-control-file/daily/index.xml +++ b/debian-package-control-file/daily/index.xml @@ -1,7 +1,7 @@ GitHub Debian Package Control File Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:13Z + 2023-10-23T01:27:34Z Daily Trending of Debian Package Control File in GitHub \ No newline at end of file diff --git a/debian-package-control-file/weekly/index.xml b/debian-package-control-file/weekly/index.xml deleted file mode 100644 index 218a19744cf..00000000000 --- a/debian-package-control-file/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Debian Package Control File Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:36Z - Weekly Trending of Debian Package Control File in GitHub - - \ No newline at end of file diff --git a/denizenscript/daily/index.xml b/denizenscript/daily/index.xml index b58f83e7cd6..88d93d9b546 100644 --- a/denizenscript/daily/index.xml +++ b/denizenscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub DenizenScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:14Z + 2023-10-23T01:27:33Z Daily Trending of DenizenScript in GitHub \ No newline at end of file diff --git a/denizenscript/weekly/index.xml b/denizenscript/weekly/index.xml deleted file mode 100644 index 47e5f115a5f..00000000000 --- a/denizenscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub DenizenScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:37Z - Weekly Trending of DenizenScript in GitHub - - \ No newline at end of file diff --git a/desktop/daily/index.xml b/desktop/daily/index.xml index 68e00c05730..6629ee549b0 100644 --- a/desktop/daily/index.xml +++ b/desktop/daily/index.xml @@ -1,7 +1,7 @@ GitHub desktop Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:27Z + 2023-10-23T01:27:48Z Daily Trending of desktop in GitHub \ No newline at end of file diff --git a/desktop/weekly/index.xml b/desktop/weekly/index.xml deleted file mode 100644 index afd67b6224d..00000000000 --- a/desktop/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub desktop Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:52Z - Weekly Trending of desktop in GitHub - - \ No newline at end of file diff --git a/dhall/daily/index.xml b/dhall/daily/index.xml index 9ceb8dfca13..0ef3377f0f1 100644 --- a/dhall/daily/index.xml +++ b/dhall/daily/index.xml @@ -1,7 +1,7 @@ GitHub Dhall Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:28Z + 2023-10-23T01:27:46Z Daily Trending of Dhall in GitHub \ No newline at end of file diff --git a/dhall/weekly/index.xml b/dhall/weekly/index.xml deleted file mode 100644 index c09e3033d6d..00000000000 --- a/dhall/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Dhall Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:51Z - Weekly Trending of Dhall in GitHub - - \ No newline at end of file diff --git a/diff/daily/index.xml b/diff/daily/index.xml index 167339fffc8..bc18e1bc62d 100644 --- a/diff/daily/index.xml +++ b/diff/daily/index.xml @@ -1,7 +1,7 @@ GitHub Diff Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:29Z + 2023-10-23T01:27:47Z Daily Trending of Diff in GitHub \ No newline at end of file diff --git a/diff/weekly/index.xml b/diff/weekly/index.xml deleted file mode 100644 index 0ecf6775f05..00000000000 --- a/diff/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Diff Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:53Z - Weekly Trending of Diff in GitHub - - \ No newline at end of file diff --git a/digital-command-language/daily/index.xml b/digital-command-language/daily/index.xml index 0ea820ecc16..bb451681742 100644 --- a/digital-command-language/daily/index.xml +++ b/digital-command-language/daily/index.xml @@ -1,7 +1,7 @@ GitHub DIGITAL Command Language Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:30Z + 2023-10-23T01:27:46Z Daily Trending of DIGITAL Command Language in GitHub \ No newline at end of file diff --git a/digital-command-language/weekly/index.xml b/digital-command-language/weekly/index.xml deleted file mode 100644 index 870ef60c79e..00000000000 --- a/digital-command-language/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub DIGITAL Command Language Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:50Z - Weekly Trending of DIGITAL Command Language in GitHub - - \ No newline at end of file diff --git a/dircolors/daily/index.xml b/dircolors/daily/index.xml index eeefa331528..896b3e13d75 100644 --- a/dircolors/daily/index.xml +++ b/dircolors/daily/index.xml @@ -1,7 +1,7 @@ GitHub dircolors Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:33Z + 2023-10-23T01:27:49Z Daily Trending of dircolors in GitHub \ No newline at end of file diff --git a/dircolors/weekly/index.xml b/dircolors/weekly/index.xml deleted file mode 100644 index 46fbeb907a6..00000000000 --- a/dircolors/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub dircolors Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:55Z - Weekly Trending of dircolors in GitHub - - \ No newline at end of file diff --git a/directx-3d-file/daily/index.xml b/directx-3d-file/daily/index.xml index c6745a2c2c6..666ed3ff2cf 100644 --- a/directx-3d-file/daily/index.xml +++ b/directx-3d-file/daily/index.xml @@ -1,7 +1,7 @@ GitHub DirectX 3D File Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:32Z + 2023-10-23T01:27:50Z Daily Trending of DirectX 3D File in GitHub \ No newline at end of file diff --git a/directx-3d-file/weekly/index.xml b/directx-3d-file/weekly/index.xml deleted file mode 100644 index 8ebd8473a94..00000000000 --- a/directx-3d-file/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub DirectX 3D File Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:54Z - Weekly Trending of DirectX 3D File in GitHub - - \ No newline at end of file diff --git a/dm/daily/index.xml b/dm/daily/index.xml index 9b8edad1d58..38f59e83d0b 100644 --- a/dm/daily/index.xml +++ b/dm/daily/index.xml @@ -1,7 +1,7 @@ GitHub DM Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:35Z + 2023-10-23T01:27:53Z Daily Trending of DM in GitHub \ No newline at end of file diff --git a/dm/weekly/index.xml b/dm/weekly/index.xml deleted file mode 100644 index 869d99eeddd..00000000000 --- a/dm/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub DM Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:56Z - Weekly Trending of DM in GitHub - - \ No newline at end of file diff --git a/dns-zone/daily/index.xml b/dns-zone/daily/index.xml index ad94337a70e..82be5281b6e 100644 --- a/dns-zone/daily/index.xml +++ b/dns-zone/daily/index.xml @@ -1,7 +1,7 @@ GitHub DNS Zone Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:33Z + 2023-10-23T01:27:51Z Daily Trending of DNS Zone in GitHub \ No newline at end of file diff --git a/dns-zone/weekly/index.xml b/dns-zone/weekly/index.xml deleted file mode 100644 index 92f1e034240..00000000000 --- a/dns-zone/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub DNS Zone Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:57Z - Weekly Trending of DNS Zone in GitHub - - \ No newline at end of file diff --git a/dockerfile/daily/index.xml b/dockerfile/daily/index.xml index 2d24b9b03f2..de1a7edee13 100644 --- a/dockerfile/daily/index.xml +++ b/dockerfile/daily/index.xml @@ -1,7 +1,21 @@ GitHub Dockerfile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:42Z + 2023-10-23T01:27:59Z Daily Trending of Dockerfile in GitHub + + nogibjj/candle-cookbook + 2023-10-23T01:27:59Z + tag:github.com,2023-10-23:/nogibjj/candle-cookbook + + <p>Cookbook to build Rust Candle models</p><hr><h1>Candle Cookbook</h1> <p><img src="https://github.com/nogibjj/candle-cookbook/actions/workflows/deploy.yml/badge.svg?sanitize=true" alt="GH Pages Deploy"></p> <p>Cooking live @ <a href="https://nogibjj.github.io/candle-cookbook/">https://nogibjj.github.io/candle-cookbook/</a></p> <h2>🚀 Our Mission:</h2> <p>Democratize access to state of the art AI models.</p> <h2>⭐ Our Principles:</h2> <p>🫱🏾‍🫲🏼 <strong>Trust</strong> ~ ethically sourced data and end-to-end transparency.</p> <p>🔒 <strong>Privacy</strong> ~ secure, on-device inference without data sharing.</p> <p>🌏 <strong>Sustainability</strong> ~ optimize efficiency to minimize our carbon footprint.</p> <hr> <h2>🛣️Roadmap</h2> <p>Our goal is to document each stage of a fully transparent LLM development cycle</p> <ul> <li><input type="checkbox" disabled> Publish MVP Candle Cookbook</li> <li><input type="checkbox" disabled> Ethically source and construct an openly available LLM dataset</li> <li><input type="checkbox" disabled> Build a Candle-based LLM from scratch</li> <li><input type="checkbox" disabled> Customize LLM with finetuning</li> <li><input type="checkbox" disabled> CI/CD deployment of LLM</li> </ul> <hr> <h2>🌱 Contributing</h2> <p>We welcome contributions from anyone who aligns with Our Mission and Our Principles.</p> <p>Get started by reading our <a href="https://raw.githubusercontent.com/nogibjj/candle-cookbook/main/CODE_OF_CONDUCT.md">Code of Conduct</a> then check out the <a href="https://raw.githubusercontent.com/nogibjj/candle-cookbook/main/CONTRIBUTING.md">Contributor Guidelines</a>.</p> <hr> <h2>🕯️Official Candle Docs</h2> <ul> <li><a href="https://github.com/huggingface/candle">Huggingface Candle repo</a></li> <li><a href="https://huggingface.github.io/candle/guide/installation.html">Candle User Guide</a></li> </ul> <hr> <h2>🧑‍🍳 Our Team:</h2> <p>Get to know our <a href="https://raw.githubusercontent.com/nogibjj/candle-cookbook/main/TEAM.md">Community Leaders</a></p> + + + LondheShubham153/simple-java-docker + 2023-10-23T01:27:59Z + tag:github.com,2023-10-23:/LondheShubham153/simple-java-docker + + <p>A simple java app that runs on docker</p><hr><h1>simple-java-docker</h1> <p>A simple java app that runs on docker</p> + \ No newline at end of file diff --git a/dockerfile/weekly/index.xml b/dockerfile/weekly/index.xml deleted file mode 100644 index 0c1a1cb5693..00000000000 --- a/dockerfile/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Dockerfile Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:04Z - Weekly Trending of Dockerfile in GitHub - - - fly-apps/dockerfile-rails - 2023-10-22T01:50:04Z - tag:github.com,2023-10-22:/fly-apps/dockerfile-rails - - <p>Provides a Rails generator to produce Dockerfiles and related files.</p><hr><h2>Overview</h2> <p>Provides a Rails generator to produce Dockerfiles and related files. This is being proposed as the generator to be included in Rails 7.1, and a substantial number of pull requests along those lines have already been merged. This repository contains fixes and features beyond those pull requests. Highlights:</p> <ul> <li>Supports all <a href="https://guides.rubyonrails.org/maintenance_policy.html">Rails supported releases</a>, not just Rails 7.1, and likely works with a number of previous releases.</li> <li>Can be customized using flags on the <code>generate dockerfile</code> command, and rerun to produce a custom tailored dockerfile based on detecting the actual features used by your application.</li> <li>Will set <code>.node_version</code>, <code>packageManager</code> and install gems if needed to deploy your application.</li> <li>Can produce a <code>docker-compose.yml</code> file for locally testing your configuration before deploying.</li> </ul> <p>For more background:</p> <ul> <li><a href="https://raw.githubusercontent.com/fly-apps/dockerfile-rails/main/MOTIVATION.md">Motivation</a> - why this generator was created and what problems it is meant to solve</li> <li><a href="https://raw.githubusercontent.com/fly-apps/dockerfile-rails/main/DEMO.md">Demos</a> - scripts to copy and paste into an empty directory to launch demo apps</li> <li><a href="https://raw.githubusercontent.com/fly-apps/dockerfile-rails/main/test/results">Test Results</a> - expected outputs for each test</li> </ul> <h2>Usage</h2> <p>Install from the root of your Rails project by running the following.</p> <pre><code>bundle add dockerfile-rails --optimistic --group development bin/rails generate dockerfile </code></pre> <p>The <code>--optomistic</code> flag will make sure you always get the latest <code>dockerfile-rails</code> gem when you run <code>bundle update &amp;&amp; rails g dockerfile</code>.</p> <h3>General option:</h3> <ul> <li><code>--force</code> - overwrite existing files</li> <li><code>--skip</code> - keep existing files</li> </ul> <p>If neither are specified, you will be prompted if a file exists with different contents. If both are specified, <code>--force</code> takes precedence.</p> <h3>Runtime Optimizations:</h3> <ul> <li><code>--fullstaq</code> - use <a href="https://fullstaqruby.org/">fullstaq</a> <a href="https://github.com/evilmartians/fullstaq-ruby-docker">images</a> on <a href="https://quay.io/repository/evl.ms/fullstaq-ruby?tab=tags&amp;tag=latest">quay.io</a></li> <li><code>--jemalloc</code> - use <a href="https://jemalloc.net/">jemalloc</a> memory allocator</li> <li><code>--swap=n</code> - allocate swap space. See <a href="https://man7.org/linux/man-pages/man1/fallocate.1.html#OPTIONS">falloc options</a> for suffixes</li> <li><code>--yjit</code> - enable <a href="https://github.com/ruby/ruby/raw/master/doc/yjit/yjit.md">YJIT</a> optimizing compiler</li> </ul> <h3>Build optimizations:</h3> <ul> <li><code>--cache</code> - use build caching to speed up builds</li> <li><code>--parallel</code> - use multi-stage builds to install gems and node modules in parallel</li> </ul> <h3>Add/remove a Feature:</h3> <ul> <li><code>--ci</code> - include test gems in deployed image</li> <li><code>--compose</code> - generate a <code>docker-compose.yml</code> file</li> <li><code>--max-idle=n</code> - exit afer <em>n</em> seconds of inactivity. Supports <a href="https://en.wikipedia.org/wiki/ISO_8601#Durations">iso 8601</a> and <a href="https://man7.org/linux/man-pages/man1/sleep.1.html#DESCRIPTION">sleep</a> syntaxes. Uses passenger for now, awaiting <a href="https://github.com/puma/puma/issues/2580">puma</a> support.</li> <li><code>--nginx</code> - serve static files via <a href="https://www.nginx.com/">nginx</a>. May require <code>--root</code> on some targets to access <code>/dev/stdout</code></li> <li><code>--no-link</code> - don't add <a href="https://docs.docker.com/engine/reference/builder/#copy---link">--link</a> to COPY statements. Some tools (like at the moment, <a href="https://www.redhat.com/en/topics/containers/what-is-buildah">buildah</a>) don't yet support this feature.</li> <li><code>--no-lock</code> - don't add linux platforms, set <code>BUNDLE_DEPLOY</code>, or <code>--frozen-lockfile</code>. May be needed at times to work around a <a href="https://github.com/rubygems/rubygems/issues/6082#issuecomment-1329756343">rubygems bug</a>.</li> <li><code>--sudo</code> - install and configure sudo to enable <code>sudo -iu rails</code> access to full environment</li> </ul> <h4>Error Tracking &amp; Alerting:</h4> <ul> <li><code>--rollbar</code> - install gem and a default initializer for <a href="https://rollbar.com/#">Rollbar</a></li> <li><code>--sentry</code> - install gems and a default initializer for <a href="https://sentry.io/welcome/">Sentry</a></li> </ul> <h3>Add a Database:</h3> <p>Generally the dockerfile generator will be able to determine what dependencies you are actually using. But should you be using DATABASE_URL, for example, at runtime additional support may be needed:</p> <ul> <li><code>--litefs</code> - use <a href="https://fly.io/docs/litefs/">LiteFS</a></li> <li><code>--mysql</code> - add mysql libraries</li> <li><code>--postgresql</code> - add postgresql libraries</li> <li><code>--redis</code> - add redis libraries</li> <li><code>--sqlite3</code> - add sqlite3 libraries</li> <li><code>--sqlserver</code> - add SQL Server libraries</li> </ul> <h3>Add a package/environment variable/build argument:</h3> <p>Not all of your needs can be determined by scanning your application. For example, I like to add <a href="https://www.vim.org/">vim</a> and <a href="https://packages.debian.org/bullseye/procps">procps</a>.</p> <ul> <li><code>--add package...</code> - add one or more debian packages</li> <li><code>--arg=name:value</code> - add a <a href="https://docs.docker.com/engine/reference/builder/#arg">build argument</a></li> <li><code>--env=name:value</code> - add an environment variable</li> <li><code>--remove package...</code> - remove package from "to be added" list</li> </ul> <p>Args and environment variables can be tailored to a specific build phase by adding <code>-base</code>, <code>-build</code>, or <code>-deploy</code> after the flag name (e.g <code>--add-build freetds-dev --add-deploy freetds-bin</code>). If no such suffix is found, the default for arg is <code>-base</code>, and the default for env is <code>-deploy</code>. Removal of an arg or environment variable is done by leaving the value blank (e.g <code>--env-build=PORT:</code>).</p> <h3>Configuration:</h3> <ul> <li><code>--bin-cd</code> - adjust binstubs to set current working directory <a href="https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_core_autocrlf">autocrlf</a> enabled or may not be able to set bin stubs as executable.</li> <li><code>--label=name:value</code> - specify docker label. Can be used multiple times. See <a href="https://docs.docker.com/engine/reference/builder/#label">LABEL</a> for detail</li> <li><code>--no-prepare</code> - omit <code>db:prepare</code>. Useful for cloud platforms with <a href="https://devcenter.heroku.com/articles/release-phase">release</a> phases</li> <li><code>--passenger</code> - use <a href="https://www.phusionpassenger.com/">Phusion Passenger</a> under <a href="https://www.nginx.com/">nginx</a></li> <li><code>--platform=s</code> - specify target platform. See <a href="https://docs.docker.com/engine/reference/builder/#from">FROM</a> for details</li> <li><code>--variant=s</code> - dockerhub ruby variant, defaults to <code>slim</code>. See <a href="https://hub.docker.com/_/ruby">docker official images</a> for list.</li> <li><code>--precompile=defer</code> - may be needed when your configuration requires access to secrets that are not available at build time. Results in larger images and slower deployments.</li> <li><code>--root</code> - run application as root</li> <li><code>--windows</code> - make Dockerfile work for Windows users that may have set <code>git config --global core.autocrlf true</code></li> <li><code>--private-gemserver-domain=gems.example.com</code> - set the domain name of your private gemserver. This is used to tell bundler for what domain to use the credentials of a private gemserver provided via a docker secret</li> </ul> <h3>Advanced Customization:</h3> <p>There may be times where feature detection plus flags just aren't enough. As an example, you may wish to configure and run multiple processes.</p> <ul> <li><code>--instructions=path</code> - a dockerfile fragment to be inserted into the final document.</li> <li><code>--migration=cmd</code> - a replacement (generally a script) for <code>db:prepare</code>/<code>db:migrate</code>.</li> <li><code>--procfile=path</code> - a <a href="https://github.com/ddollar/foreman#foreman">Procfile</a> to use in place of launching Rails directly.</li> </ul> <p>Like with environment variables, packages, and build args, <code>--instructions</code> can be tailored to a specific build phase by adding <code>-base</code>, <code>-build</code>, or <code>-deploy</code> after the flag name, with the default being <code>-deploy</code>.</p> <p>Additionaly, if the instructions start with a <a href="https://en.wikipedia.org/wiki/Shebang_(Unix)">shebang</a> instead the file being treated as a Dockerfile fragment, the file is treated as a script and a <code>RUN</code> statement is added to your Dockerfile instead.</p> <hr> <p>Options are saved between runs into <code>config/dockerfile.yml</code>. To invert a boolean options, add or remove a <code>no-</code> prefix from the option name.</p> <h2>Testing</h2> <p>A single invocation of <code>rake test:all</code> will run all of the tests defined. dockerfile-rails has are three types of tests:</p> <ul> <li><code>rake test:rubocop</code> runs <a href="https://github.com/rubocop/rubocop">rubocop</a> using the same options as the Rails codebase.</li> <li><code>rake test:system</code> creates a new esbuild application, generates a dockerfile, builds and runs it. As this is time consuming, only one application is tested this way at this time, and a <code>--javascript</code> example was selected as it exercises a large portion of the features.</li> <li><code>rake test</code> runs integration tests, as described below</li> </ul> <p>The current integration testing strategy is to run <code>rails new</code> and <code>generate dockerfile</code> with various configurations and compare the generated artifacts with expected results. <code>ARG</code> values in <code>Dockerfiles</code> are masked before comparison.</p> <p>Running all integration tests, or even a single individual test can be done as follows:</p> <pre><code>rake test ruby test/test_minimal.rb </code></pre> <p>To assist with this process, outputs of tests can be captured automatically. This is useful when adding new tests and when making a change that affects many tests. Be sure to inspect the output (e.g., by using <code>git diff</code>) before committing.</p> <pre><code>rake test:capture </code></pre> <p>If you are running a single test, the following environment variables settings may be helpful:</p> <ul> <li><code>RAILS_ENV=TEST</code> will match the environment used to produce the captured outputs.</li> <li><code>TEST_CAPTURE=1</code> will capture test results.</li> <li><code>TEST_KEEP=1</code> will leave the test app behind for inspection after the test completes.</li> </ul> <h2>Historical Links</h2> <p>The following links relate to the coordination between this package and Rails 7.1.</p> <ul> <li><a href="https://community.fly.io/t/preparations-for-rails-7-1/9512">Preparations for Rails 7.1</a> - <a href="https://fly.io/">Fly.io</a>'s plans and initial discussions with DHH</li> <li><a href="https://discuss.rubyonrails.org/t/rails-dockerfile-futures/82091/1">Rails Dockerfile futures</a> - rationale for a generator</li> <li><a href="https://fly.io/docs/rails/cookbooks/">Fly Cookbooks</a> - deeper dive into Dockerfile design choices</li> <li><a href="https://github.com/rails/rails/raw/main/railties/lib/rails/generators/rails/app/templates/Dockerfile.tt">app/templates/Dockerfile.tt</a> - current Rails 7.1 template</li> <li>Fly.io <a href="https://community.fly.io/t/cut-over-to-rails-dockerfile-generator-on-sunday-29-jan-2023/10350">Cut over to Rails Dockerfile Generator on Sunday 29 Jan 2023</a></li> <li>Fly.io <a href="https://fly.io/docs/rails/getting-started/dockerfiles/">FAQ</a></li> <li>DDH's <a href="https://github.com/rails/rails/pull/47372#issuecomment-1438971730">target</a></li> </ul> <p>Parallel efforts for Hanami:</p> <ul> <li><a href="https://discourse.hanamirb.org/t/dockerfile-hanami/816">Proposal</a></li> </ul> - - - danielbeach/data-engineering-practice - 2023-10-22T01:50:04Z - tag:github.com,2023-10-22:/danielbeach/data-engineering-practice - - <p>Data Engineering Practice Problems</p><hr><h2>Data Engineering Practice Problems</h2> <p>One of the main obstacles of Data Engineering is the large and varied technical skills that can be required on a day-to-day basis.</p> <p>*** Note - If you email a link to your GitHub repo with all the completed exercises, I will send you back a free copy of my ebook Introduction to Data Engineering. ***</p> <p>This aim of this repository is to help you develop and learn those skills. Generally, here are the high level topics that these practice problems will cover.</p> <ul> <li>Python data processing.</li> <li>csv, flat-file, parquet, json, etc.</li> <li>SQL database table design.</li> <li>Python + Postgres, data ingestion and retrieval.</li> <li>PySpark</li> <li>Data cleansing / dirty data.</li> </ul> <h3>How to work on the problems.</h3> <p>You will need two things to work effectively on most all of these problems.</p> <ul> <li><code>Docker</code></li> <li><code>docker-compose</code></li> </ul> <p>All the tools and technologies you need will be packaged into the <code>dockerfile</code> for each exercise.</p> <p>For each exercise you will need to <code>cd</code> into that folder and run the <code>docker build</code> command, that command will be listed in the <code>README</code> for each exercise, follow those instructions.</p> <h3>Beginner Exercises</h3> <h4>Exercise 1 - Downloading files.</h4> <p>The <a href="https://github.com/danielbeach/data-engineering-practice/tree/main/Exercises/Exercise-1">first exercise</a> tests your ability to download a number of files from an <code>HTTP</code> source and unzip them, storing them locally with <code>Python</code>. <code>cd Exercises/Exercise-1</code> and see <code>README</code> in that location for instructions.</p> <h4>Exercise 2 - Web Scraping + Downloading + Pandas</h4> <p>The <a href="https://github.com/danielbeach/data-engineering-practice/tree/main/Exercises/Exercise-2">second exercise</a> tests your ability perform web scraping, build uris, download files, and use Pandas to do some simple cumulative actions. <code>cd Exercises/Exercise-2</code> and see <code>README</code> in that location for instructions.</p> <h4>Exercise 3 - Boto3 AWS + s3 + Python.</h4> <p>The <a href="https://github.com/danielbeach/data-engineering-practice/tree/main/Exercises/Exercise-3">third exercise</a> tests a few skills. This time we will be using a popular <code>aws</code> package called <code>boto3</code> to try to perform a multi-step actions to download some open source <code>s3</code> data files. <code>cd Exercises/Exercise-3</code> and see <code>README</code> in that location for instructions.</p> <h4>Exercise 4 - Convert JSON to CSV + Ragged Directories.</h4> <p>The <a href="https://github.com/danielbeach/data-engineering-practice/tree/main/Exercises/Exercise-4">fourth exercise</a> focuses more file types <code>json</code> and <code>csv</code>, and working with them in <code>Python</code>. You will have to traverse a ragged directory structure, finding any <code>json</code> files and converting them to <code>csv</code>.</p> <h4>Exercise 5 - Data Modeling for Postgres + Python.</h4> <p>The <a href="https://github.com/danielbeach/data-engineering-practice/tree/main/Exercises/Exercise-5">fifth exercise</a> is going to be a little different than the rest. In this problem you will be given a number of <code>csv</code> files. You must create a data model / schema to hold these data sets, including indexes, then create all the tables inside <code>Postgres</code> by connecting to the database with <code>Python</code>.</p> <h3>Intermediate Exercises</h3> <h4>Exercise 6 - Ingestion and Aggregation with PySpark.</h4> <p>The <a href="https://github.com/danielbeach/data-engineering-practice/tree/main/Exercises/Exercise-6">sixth exercise</a> Is going to step it up a little and move onto more popular tools. In this exercise we are going to load some files using <code>PySpark</code> and then be asked to do some basic aggregation. Best of luck!</p> <h4>Exercise 7 - Using Various PySpark Functions</h4> <p>The <a href="https://github.com/danielbeach/data-engineering-practice/tree/main/Exercises/Exercise-7">seventh exercise</a> Taking a page out of the previous exercise, this one is focus on using a few of the more common build in PySpark functions <code>pyspark.sql.functions</code> and applying their usage to real-life problems.</p> <p>Many times to solve simple problems we have to find and use multiple functions available from libraries. This will test your ability to do that.</p> <h4>Exercise 8 - Using DuckDB for Analytics and Transforms.</h4> <p>The <a href="https://github.com/danielbeach/data-engineering-practice/tree/main/Exercises/Exercise-8">eighth exercise</a> Using new tools is imperative to growing as a Data Engineer. DuckDB is one of those new tools. In this exercise you will have to complete a number of analytical and transformation tasks using DuckDB. This will require an understanding of the functions and documenation of DuckDB.</p> <h4>Exercise 9 - Using Polars lazy computation.</h4> <p>The <a href="https://github.com/danielbeach/data-engineering-practice/tree/main/Exercises/Exercise-9">ninth exercise</a> Polars is a new Rust based tool with a wonderful Python package that has taken Data Engineering by storm. It's better than Pandas because it has both SQL Context and supports Lazy evalutation for larger than memory data sets! Show your Lazy skills!</p> - - - Field-Robotics-Lab/dockwater - 2023-10-22T01:50:04Z - tag:github.com,2023-10-22:/Field-Robotics-Lab/dockwater - - <p>Docker images used across multiple repositories supporting simulation of water-related robotics</p><hr><h1>dockwater</h1> <p>Docker images used across multiple repositories supporting simulation of water-related robotics</p> <h2>Distributions</h2> <p>This repository supports baseline images for running Gazebo on the following ROS distributions:</p> <ul> <li>Humble (Ubuntu 22.04 Jammy Jellyfish / ROS 2 Humble Hawksbill / Gazebo Garden)</li> <li>Galactic (Ubuntu 20.04 Focal Fossa / ROS 2 Galactic Geochelone / Ignition Fortress)</li> <li>Noetic (Ubuntu 20.04 Focal Fossa / ROS Noetic Ninjemys / Gazebo 11)</li> <li>Melodic (Ubuntu 18.04 Bionic Beaver / ROS Melodic Morenia / Gazebo 9)</li> <li>Kinetic (Ubuntu 18.04 Xenial Xerus / ROS Kinetic Kame / Gazebo 7)</li> </ul> <h2>Dockerhub</h2> <p>The latest images corresponding to each of the three distributions above are stored in the <a href="https://hub.docker.com/r/npslearninglab/watery_robots"><code>npslearninglab/watery_robots</code> repository on Dockerhub</a>.</p> <h2>Build Instructions</h2> <p>Build the base image with the <code>build.bash</code> script.</p> <pre><code>DIST=(noetic | melodic | kinetic) ./build.bash ${DIST} </code></pre> <p>Run the image locally using the <code>run.bash</code> script:</p> <pre><code>./run.bash ${DIST}:latest </code></pre> <h2>Build for CI</h2> <p>To build an image for use in continuous integration pipelines, we need to use a slightly different <code>rocker</code> command from the one that's called in the <code>run.bash</code> script. The reason is to avoid pulling in local user information or mounting the local home directory.</p> <pre><code>rocker --dev-helpers --nvidia --user --user-override-name=developer ${image_name} </code></pre> <p><strong>Note</strong>: The <code>--user-override-name</code> option is currently only available in the latest build (following the rocker <a href="https://github.com/osrf/rocker#development">Development installation instructions</a>).</p> <h2>Tag and push</h2> <p>The image resulting from the <code>rocker</code> command will be unnamed. To push to a repository, look up the ID with <code>docker image ls</code> and apply the appropriate tag:</p> <pre><code>docker tag &lt;ID&gt; &lt;repository_namespace&gt;/&lt;repository&gt;:&lt;tag&gt; docker push &lt;repository_namespace&gt;/&lt;repository&gt;:&lt;tag&gt; </code></pre> - - \ No newline at end of file diff --git a/dogescript/daily/index.xml b/dogescript/daily/index.xml index 64f503d6ab9..6356dd5bb7e 100644 --- a/dogescript/daily/index.xml +++ b/dogescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub Dogescript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:37Z + 2023-10-23T01:27:55Z Daily Trending of Dogescript in GitHub \ No newline at end of file diff --git a/dogescript/weekly/index.xml b/dogescript/weekly/index.xml deleted file mode 100644 index b31b686a64f..00000000000 --- a/dogescript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Dogescript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:49:58Z - Weekly Trending of Dogescript in GitHub - - \ No newline at end of file diff --git a/dtrace/daily/index.xml b/dtrace/daily/index.xml index e8958cf3ee7..1eee2f18140 100644 --- a/dtrace/daily/index.xml +++ b/dtrace/daily/index.xml @@ -1,7 +1,7 @@ GitHub DTrace Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:30:38Z + 2023-10-23T01:27:56Z Daily Trending of DTrace in GitHub \ No newline at end of file diff --git a/dtrace/weekly/index.xml b/dtrace/weekly/index.xml deleted file mode 100644 index ac5ccba8b9d..00000000000 --- a/dtrace/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub DTrace Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:00Z - Weekly Trending of DTrace in GitHub - - \ No newline at end of file diff --git a/dylan/daily/index.xml b/dylan/daily/index.xml index 8382913a72d..a7719cbf9d6 100644 --- a/dylan/daily/index.xml +++ b/dylan/daily/index.xml @@ -1,7 +1,7 @@ GitHub Dylan Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:17Z + 2023-10-23T01:28:33Z Daily Trending of Dylan in GitHub \ No newline at end of file diff --git a/dylan/weekly/index.xml b/dylan/weekly/index.xml deleted file mode 100644 index 1693f097de3..00000000000 --- a/dylan/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Dylan Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:38Z - Weekly Trending of Dylan in GitHub - - \ No newline at end of file diff --git a/e-mail/daily/index.xml b/e-mail/daily/index.xml index 3312e980035..a5ee28f0ac6 100644 --- a/e-mail/daily/index.xml +++ b/e-mail/daily/index.xml @@ -1,7 +1,7 @@ GitHub E-mail Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:39Z + 2023-10-23T01:28:57Z Daily Trending of E-mail in GitHub \ No newline at end of file diff --git a/e-mail/weekly/index.xml b/e-mail/weekly/index.xml deleted file mode 100644 index a45c9eedc26..00000000000 --- a/e-mail/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub E-mail Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:00Z - Weekly Trending of E-mail in GitHub - - \ No newline at end of file diff --git a/e/daily/index.xml b/e/daily/index.xml index 3cf09430770..ae73f9390e5 100644 --- a/e/daily/index.xml +++ b/e/daily/index.xml @@ -1,7 +1,7 @@ GitHub E Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:16Z + 2023-10-23T01:28:34Z Daily Trending of E in GitHub \ No newline at end of file diff --git a/e/weekly/index.xml b/e/weekly/index.xml deleted file mode 100644 index cbbde31990b..00000000000 --- a/e/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub E Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:36Z - Weekly Trending of E in GitHub - - \ No newline at end of file diff --git a/eagle/daily/index.xml b/eagle/daily/index.xml index 0e454c8adb1..981ab98ccb5 100644 --- a/eagle/daily/index.xml +++ b/eagle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Eagle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:14Z + 2023-10-23T01:28:35Z Daily Trending of Eagle in GitHub \ No newline at end of file diff --git a/eagle/weekly/index.xml b/eagle/weekly/index.xml deleted file mode 100644 index d9894f23af4..00000000000 --- a/eagle/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Eagle Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:39Z - Weekly Trending of Eagle in GitHub - - \ No newline at end of file diff --git a/earthly/daily/index.xml b/earthly/daily/index.xml index d6f8b18640c..6b4a18b6590 100644 --- a/earthly/daily/index.xml +++ b/earthly/daily/index.xml @@ -1,7 +1,7 @@ GitHub Earthly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:20Z + 2023-10-23T01:28:37Z Daily Trending of Earthly in GitHub \ No newline at end of file diff --git a/earthly/weekly/index.xml b/earthly/weekly/index.xml deleted file mode 100644 index 104322ae6f9..00000000000 --- a/earthly/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Earthly Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:41Z - Weekly Trending of Earthly in GitHub - - \ No newline at end of file diff --git a/easybuild/daily/index.xml b/easybuild/daily/index.xml index 5834d0c4146..d1f70f3799c 100644 --- a/easybuild/daily/index.xml +++ b/easybuild/daily/index.xml @@ -1,7 +1,7 @@ GitHub Easybuild Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:19Z + 2023-10-23T01:28:36Z Daily Trending of Easybuild in GitHub \ No newline at end of file diff --git a/easybuild/weekly/index.xml b/easybuild/weekly/index.xml deleted file mode 100644 index 7bb3727266e..00000000000 --- a/easybuild/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Easybuild Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:43Z - Weekly Trending of Easybuild in GitHub - - \ No newline at end of file diff --git a/ebnf/daily/index.xml b/ebnf/daily/index.xml index 5e498525944..9a1ac624f0c 100644 --- a/ebnf/daily/index.xml +++ b/ebnf/daily/index.xml @@ -1,7 +1,7 @@ GitHub EBNF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:21Z + 2023-10-23T01:28:39Z Daily Trending of EBNF in GitHub \ No newline at end of file diff --git a/ebnf/weekly/index.xml b/ebnf/weekly/index.xml deleted file mode 100644 index 5e0c71b6e2e..00000000000 --- a/ebnf/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub EBNF Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:42Z - Weekly Trending of EBNF in GitHub - - \ No newline at end of file diff --git a/ec/daily/index.xml b/ec/daily/index.xml index d86a6b8e59f..69da922dba9 100644 --- a/ec/daily/index.xml +++ b/ec/daily/index.xml @@ -1,7 +1,7 @@ GitHub eC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:18Z + 2023-10-23T01:28:38Z Daily Trending of eC in GitHub \ No newline at end of file diff --git a/ec/weekly/index.xml b/ec/weekly/index.xml deleted file mode 100644 index e9ba7649310..00000000000 --- a/ec/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub eC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:40Z - Weekly Trending of eC in GitHub - - \ No newline at end of file diff --git a/ecere-projects/daily/index.xml b/ecere-projects/daily/index.xml index 98ab4549b46..ff5fb35d581 100644 --- a/ecere-projects/daily/index.xml +++ b/ecere-projects/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ecere Projects Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:23Z + 2023-10-23T01:28:43Z Daily Trending of Ecere Projects in GitHub \ No newline at end of file diff --git a/ecere-projects/weekly/index.xml b/ecere-projects/weekly/index.xml deleted file mode 100644 index 1ae39ebcb40..00000000000 --- a/ecere-projects/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ecere Projects Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:45Z - Weekly Trending of Ecere Projects in GitHub - - \ No newline at end of file diff --git a/ecl/daily/index.xml b/ecl/daily/index.xml index 81fcb473f58..dda3dbc7717 100644 --- a/ecl/daily/index.xml +++ b/ecl/daily/index.xml @@ -1,7 +1,7 @@ GitHub ECL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:25Z + 2023-10-23T01:28:40Z Daily Trending of ECL in GitHub \ No newline at end of file diff --git a/ecl/weekly/index.xml b/ecl/weekly/index.xml deleted file mode 100644 index 70a230ca52e..00000000000 --- a/ecl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ECL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:45Z - Weekly Trending of ECL in GitHub - - \ No newline at end of file diff --git a/eclipse/daily/index.xml b/eclipse/daily/index.xml index 4e074040bc2..4dc5ed5208a 100644 --- a/eclipse/daily/index.xml +++ b/eclipse/daily/index.xml @@ -1,7 +1,7 @@ GitHub ECLiPSe Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:24Z + 2023-10-23T01:28:42Z Daily Trending of ECLiPSe in GitHub \ No newline at end of file diff --git a/eclipse/weekly/index.xml b/eclipse/weekly/index.xml deleted file mode 100644 index d0786e8d981..00000000000 --- a/eclipse/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ECLiPSe Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:47Z - Weekly Trending of ECLiPSe in GitHub - - \ No newline at end of file diff --git a/editorconfig/daily/index.xml b/editorconfig/daily/index.xml index 2d84f4fbbfd..ea0033ad215 100644 --- a/editorconfig/daily/index.xml +++ b/editorconfig/daily/index.xml @@ -1,7 +1,7 @@ GitHub EditorConfig Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:26Z + 2023-10-23T01:28:45Z Daily Trending of EditorConfig in GitHub \ No newline at end of file diff --git a/editorconfig/weekly/index.xml b/editorconfig/weekly/index.xml deleted file mode 100644 index 10a4b93fbe8..00000000000 --- a/editorconfig/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub EditorConfig Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:49Z - Weekly Trending of EditorConfig in GitHub - - \ No newline at end of file diff --git a/edje-data-collection/daily/index.xml b/edje-data-collection/daily/index.xml index 981478fba1c..63173f86875 100644 --- a/edje-data-collection/daily/index.xml +++ b/edje-data-collection/daily/index.xml @@ -1,7 +1,7 @@ GitHub Edje Data Collection Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:29Z + 2023-10-23T01:28:45Z Daily Trending of Edje Data Collection in GitHub \ No newline at end of file diff --git a/edje-data-collection/weekly/index.xml b/edje-data-collection/weekly/index.xml deleted file mode 100644 index 405deb0dcc3..00000000000 --- a/edje-data-collection/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Edje Data Collection Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:50Z - Weekly Trending of Edje Data Collection in GitHub - - \ No newline at end of file diff --git a/edn/daily/index.xml b/edn/daily/index.xml index 30a1cd5049c..d4152bec9ef 100644 --- a/edn/daily/index.xml +++ b/edn/daily/index.xml @@ -1,7 +1,7 @@ GitHub edn Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:27Z + 2023-10-23T01:28:46Z Daily Trending of edn in GitHub \ No newline at end of file diff --git a/edn/weekly/index.xml b/edn/weekly/index.xml deleted file mode 100644 index 0b441b22b02..00000000000 --- a/edn/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub edn Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:51Z - Weekly Trending of edn in GitHub - - \ No newline at end of file diff --git a/eiffel/daily/index.xml b/eiffel/daily/index.xml index edd80d76a92..1b13f86fbeb 100644 --- a/eiffel/daily/index.xml +++ b/eiffel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Eiffel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:28Z + 2023-10-23T01:28:47Z Daily Trending of Eiffel in GitHub \ No newline at end of file diff --git a/eiffel/weekly/index.xml b/eiffel/weekly/index.xml deleted file mode 100644 index 1524a0aff2f..00000000000 --- a/eiffel/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Eiffel Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:49Z - Weekly Trending of Eiffel in GitHub - - \ No newline at end of file diff --git a/ejs/daily/index.xml b/ejs/daily/index.xml index 82b074718c2..99e21d882b1 100644 --- a/ejs/daily/index.xml +++ b/ejs/daily/index.xml @@ -1,14 +1,21 @@ GitHub EJS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:31Z + 2023-10-23T01:28:51Z Daily Trending of EJS in GitHub - Mayanwolfe/Fullstack_Template_EJS_MongoDB - 2023-10-22T01:31:31Z - tag:github.com,2023-10-22:/Mayanwolfe/Fullstack_Template_EJS_MongoDB - - <p>This is a fullstack template to use as a foundation for various projects.</p><hr> + Open-Source-Chandigarh/Euphoria-Check + 2023-10-23T01:28:51Z + tag:github.com,2023-10-23:/Open-Source-Chandigarh/Euphoria-Check + + <p>Euphoria-Check a PERMA meter built using nodejs, expressjs and based on PERMA model of happiness. Contribute to Euphoria-Check a Hacktoberfes2023 repository</p><hr> + + + danstepanov/create-expo-stack + 2023-10-23T01:28:51Z + tag:github.com,2023-10-23:/danstepanov/create-expo-stack + + <p>CLI tool to initialize a React Native application with Expo. Provides options to include Typescript, file-based routing via Expo Router, configuration based routing via pure React Navigation, and/or Tailwind styles via Nativewind.</p><hr> \ No newline at end of file diff --git a/ejs/weekly/index.xml b/ejs/weekly/index.xml deleted file mode 100644 index 9eb73206313..00000000000 --- a/ejs/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub EJS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:55Z - Weekly Trending of EJS in GitHub - - \ No newline at end of file diff --git a/elixir/daily/index.xml b/elixir/daily/index.xml index f85db2add03..2d1495b367e 100644 --- a/elixir/daily/index.xml +++ b/elixir/daily/index.xml @@ -1,21 +1,14 @@ GitHub Elixir Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:36Z + 2023-10-23T01:28:54Z Daily Trending of Elixir in GitHub - rajrajhans/bumblebee-media-search - 2023-10-22T01:31:36Z - tag:github.com,2023-10-22:/rajrajhans/bumblebee-media-search - - <p>A demo application that uses the CLIP model for natural language media search (searching images with text, and searching related images with an image).</p><hr> - - - BeaconCMS/beacon_live_admin - 2023-10-22T01:31:36Z - tag:github.com,2023-10-22:/BeaconCMS/beacon_live_admin - - <p>Admin UI to manage content for sites built by Beacon.</p><hr> + elementary/store + 2023-10-23T01:28:54Z + tag:github.com,2023-10-23:/elementary/store + + <p>The elementary OS merch store website</p><hr> \ No newline at end of file diff --git a/elixir/weekly/index.xml b/elixir/weekly/index.xml deleted file mode 100644 index be07d287237..00000000000 --- a/elixir/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Elixir Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:58Z - Weekly Trending of Elixir in GitHub - - - brainlid/langchain_demo - 2023-10-22T01:50:58Z - tag:github.com,2023-10-22:/brainlid/langchain_demo - - <p>Demo web project using the Elixir LangChain library</p><hr> - - - rrrene/html_sanitize_ex - 2023-10-22T01:50:58Z - tag:github.com,2023-10-22:/rrrene/html_sanitize_ex - - <p>HTML sanitizer for Elixir</p><hr> - - - cabol/nebulex_redis_adapter - 2023-10-22T01:50:58Z - tag:github.com,2023-10-22:/cabol/nebulex_redis_adapter - - <p>Nebulex adapter for Redis</p><hr> - - \ No newline at end of file diff --git a/elm/daily/index.xml b/elm/daily/index.xml index 435c1d3c587..138109a874d 100644 --- a/elm/daily/index.xml +++ b/elm/daily/index.xml @@ -1,7 +1,7 @@ GitHub Elm Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:32Z + 2023-10-23T01:28:49Z Daily Trending of Elm in GitHub \ No newline at end of file diff --git a/elm/weekly/index.xml b/elm/weekly/index.xml deleted file mode 100644 index c80bf3bf479..00000000000 --- a/elm/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Elm Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:50:53Z - Weekly Trending of Elm in GitHub - - \ No newline at end of file diff --git a/emacs-lisp/daily/index.xml b/emacs-lisp/daily/index.xml index 8838cd57c50..4a76bf46a46 100644 --- a/emacs-lisp/daily/index.xml +++ b/emacs-lisp/daily/index.xml @@ -1,21 +1,7 @@ GitHub Emacs Lisp Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:42Z + 2023-10-23T01:29:01Z Daily Trending of Emacs Lisp in GitHub - - hayamiz/help-me.el - 2023-10-22T01:31:42Z - tag:github.com,2023-10-22:/hayamiz/help-me.el - - <p>I really need someone who tells me about quick usage of unfamiliar major modes.</p><hr><h1>help-me.el</h1> <p>I really need someone who tells me about quick usage of unfamiliar major modes.</p> - - - krems/.emacs.d - 2023-10-22T01:31:42Z - tag:github.com,2023-10-22:/krems/.emacs.d - - <p></p><hr><p>Emacs Starter Kit это пакет базовых настроек редактора Emacs, он идеален для быстрого начала работы, дополнения своими настройками и переноса между компьютерами.</p> <p>Это форк оригинального Emacs Starter Kit, выполненный в виде литературной программы на русском языке. Почитать о программе можно в <a href="http://zahardzhan.github.com/2010/emacs-starter-kit-the-program.html">блоге</a>.</p> <p>В этой версии добавлены:</p> <ul> <li>поддержка горячих клавиш на русской раскладке</li> <li>backspace на C-&lt;</li> <li>google c++ code style</li> <li>изменен внешний вид редактора</li> </ul> <h2>Установка</h2> <p>Emacs Starter Kit рассчитан на работу с Emacs от 22-ой версии и выше. Вам понадобится система контроля версий <em>git</em>.</p> <p>Установка Emacs Starter Kit элементарна: клонируйте git-репозиторий с гитхаба в директорию <code>.emacs.d</code>; но перед этим сохраните старые настройки и удалите директорию <code>.emacs.d</code>:</p> <pre><code>rm -Rv ~/.emacs.d git clone http://github.com/krems/.emacs.d.git ~/.emacs.d </code></pre> <p>Переименуйте папку krems в имя пользователя, кому пренадлежит .emacs.d. Например, если ваш .emacs.d находится в /home/user, то переименуйте папку krems в user. Затем установите <a href="http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#submodules">git-сабмодули</a> сторонних пакетов</p> <pre><code>cd ~/.emacs.d/ git submodule init git submodule update </code></pre> <p>и соберите последнюю версию Org-mode</p> <pre><code>cd ~/.emacs.d/src/org/ make </code></pre> <p>Запустите Emacs.</p> <p>После того как закончите установку вам, возможно, потребуется перезапустить Emacs несколько раз&nbsp;— во время загрузки пакетов из архива пакетов Emacs Lisp <a href="http://tromey.com/elpa/">ELPA</a> происходят ошибки разбора HTML&nbsp;— просто проигнорируйте их.</p> <p>Если после очередного обновления вы потеряете некоторые автозагрузчики, что даст знать о себе сообщениями об ошибках типа <code>void function: foobar</code>, попробуйте использовать команду <em>M-x regen-autoloads</em>.</p> <p>Последнюю версию Emacs Starter Kit можно найти на гитхабе: <a href="https://github.com/zahardzhan/emacs-starter-kit">https://github.com/zahardzhan/emacs-starter-kit</a>.</p> <p>Оригинальная версия: <a href="https://github.com/technomancy/emacs-starter-kit">https://github.com/technomancy/emacs-starter-kit</a>.</p> - \ No newline at end of file diff --git a/emacs-lisp/weekly/index.xml b/emacs-lisp/weekly/index.xml deleted file mode 100644 index d7b02365f1d..00000000000 --- a/emacs-lisp/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Emacs Lisp Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:05Z - Weekly Trending of Emacs Lisp in GitHub - - - atilaneves/cmake-ide - 2023-10-22T01:51:05Z - tag:github.com,2023-10-22:/atilaneves/cmake-ide - - <p>Use Emacs as a C/C++ IDE</p><hr><h1>cmake-ide</h1> <p><a href="https://travis-ci.org/atilaneves/cmake-ide"><img src="https://travis-ci.org/atilaneves/cmake-ide.svg?branch=master" alt="Build Status"></a> <a href="https://coveralls.io/github/atilaneves/cmake-ide?branch=master"><img src="https://coveralls.io/repos/github/atilaneves/cmake-ide/badge.svg?branch=master" alt="Coverage Status"></a> <a href="http://melpa.org/#/cmake-ide"><img src="http://melpa.org/packages/cmake-ide-badge.svg?sanitize=true" alt="Melpa Status"></a></p> <h2>CppCon 2015 Lightning talk on cmake-ide:</h2> <p><a href="http://www.youtube.com/watch?v=5FQwQ0QWBTU" title="Emacs as a C++ IDE"><img src="http://img.youtube.com/vi/5FQwQ0QWBTU/0.jpg" alt="CppCon 2015 Lightning talk on cmake-ide"></a></p> <h2>Introduction</h2> <p><code>cmake-ide</code> is a package to enable IDE-like features on Emacs for <a href="http://www.cmake.org/">CMake</a> projects. It also supports non-CMake projects as long as a <a href="http://clang.llvm.org/docs/JSONCompilationDatabase.html">compilation database</a> is generated out-of-band.This includes autocompletion and on-the-fly syntax checking in Emacs for CMake projects with minimal configuration. It uses other packages to do its heavy lifting, in a combination of:</p> <ul> <li><a href="https://github.com/Andersbakken/rtags">rtags</a></li> <li><a href="https://github.com/flycheck/flycheck">flycheck</a></li> <li><a href="https://github.com/brianjcj/auto-complete-clang">auto-complete-clang</a></li> <li><a href="https://github.com/company-mode/company-mode/raw/master/company-clang.el">company-clang</a></li> <li><a href="https://github.com/Sarcasm/irony-mode">irony</a></li> </ul> <p><code>cmake-ide</code> will set variables and call functions for the installed dependent packages.</p> <p>It works by running CMake in Emacs in order to obtain the necessary compiler flags to pass to the other tools. Since all the dependencies are specified in the CMake scripts, there is no need to maintain a parallel dependency tracking system for Emacs. Just ask CMake.</p> <h2>Features</h2> <ul> <li>Sets variables for <code>auto-complete-clang</code>, <code>flycheck</code> and others for a CMake project automagically. Hardly any configuration necessary.</li> <li>Automatically reruns CMake when a file is saved. Great when using CMake file globs to pick up newly created files, but needs <code>cmake-ide-build-dir</code> to be set.</li> <li><code>cmake-ide-delete-file</code> allows you to have the same convenience when deleting files. I can't figure out a better way to do this. Obviously simply deleting the file means having to run CMake again manually for it to register the change in the list of files to be compiled.</li> <li>If <code>cmake-ide-build-dir</code> is set, it is considered to be the build directory to run CMake in. Additionally, this will cause <code>cmake-ide-compile</code> to compile the project there. It automatically detects Ninja and Make builds and sets the compile command accordingly. The command to use can be customised by setting the <code>cmake-compile-command</code> variable.</li> <li><code>cmake-ide</code> can make usage of <a href="https://github.com/Andersbakken/rtags">rtags</a> for finding definitions, also using clang. If <code>(require 'rtags)</code> is called before <code>cmake-ide-setup</code>, it will automatically start the rtags server (<code>rdm</code>) and call <code>rc -J</code> to index the project files for 0-config "jump to definition" and everything else rtags offers. This only works if both <code>rdm</code> and <code>rc</code> and in the system path or if <code>cmake-ide-rdm-executable</code> and <code>cmake-ide-rc-executable</code> are customized correctly.</li> </ul> <h2>Build Pool Directories and Persistent Naming of Automatic Build Directories</h2> <p><code>cmake-ide</code> can automatically create build directories for you -- either in the system's tmp-directory or under <code>cmake-ide-build-pool-dir</code> (if set). By default, all automatically created build directories (no matter where created) will have temporary and unique names, that will change with each new session and are thus not reusable. You can, however, by setting <code>cmake-ide-build-pool-use-persistent-naming</code> use a reproducible naming scheme that is based on the project's path and will not change as long as the project's path is the same. This way, you can reuse the build directory.</p> <p>By using both <code>cmake-ide-build-pool-dir</code> and <code>cmake-ide-build-pool-use-persistent-naming</code>, you can fully do away with the need to configure a build directory per project with directory local variables (for example).</p> <h2>Non-CMake projects</h2> <p>Use <code>.dir-locals.el</code> to set the <code>cmake-ide-project-dir</code> and <code>cmake-ide-build-dir</code> variables (use absolute paths).</p> <p>.dir-locals.el: ((nil . ((cmake-ide-build-dir . "/path/to/build/dir") (cmake-ide-project-dir . "/path/to/project/dir"))))</p> <p>If a file called <code>compile_commands.json</code> exists in <code>cmake-ide-build-dir</code>, it will work just as well as for CMake projects. Bear (<a href="https://github.com/rizsotto/Bear">https://github.com/rizsotto/Bear</a>) can be used to generate a compile_commands.json from a make command.</p> <h2>Installation</h2> <p>Install from <a href="https://melpa.org">MELPA</a> or <a href="https://stable.melpa.org/">MELPA Stable</a> with:</p> <pre><code>M-x package-install RET cmake-ide. </code></pre> <h2>Usage</h2> <p>Add this to your <code>.emacs</code> / <code>init.el</code>:</p> <pre><code>(require 'rtags) ;; optional, must have rtags installed (cmake-ide-setup) </code></pre> <p>If <code>cmake-ide-flags-c</code> or <code>cmake-ide-flags-c++</code> are set, they will be added to <code>ac-clang-flags</code> and <code>company-clang-arguments</code>. These variables should be set. Particularly, they should contain the system include paths (e.g. <code>'("-I/usr/include/c++/4.9.1" "...")</code>. For a system with gcc, you can get this information by running <code>gcc -v -xc++ /dev/null -fsyntax-only</code> (it's the same prerequisite for <code>auto-complete-clang</code> to work, since that's how clang itself works).</p> <p>And... that's it. It works by calling cmake and parsing the resulting JSON file with compiler flags. Set <code>cmake-ide-build-dir</code> to where your project is being built and you won't have to call CMake manually again (except for the first time to specify options). Best done with <a href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Directory-Variables.html">directory local variables</a>.</p> <h2>Related Projects:</h2> <ul> <li><a href="https://github.com/redguardtoo/cpputils-cmake">cpputils-cmake</a>.</li> </ul> - - - atgreen/emacs - 2023-10-22T01:51:05Z - tag:github.com,2023-10-22:/atgreen/emacs - - <p>My emacs config</p><hr><p>;; ========================================================================= ;; Anthony Green's GNU Emacs configuration file. ;; ;; Copyright (C) 2009 Anthony Green <a href="mailto:green@moxielogic.com">green@moxielogic.com</a> ;; ;; This file is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published ;; by the Free Software Foundation, either version 3 of the License, ;; or (at your option) any later version.</p> <p>;; This file is distributed in the hope that it will be useful, but ;; WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;; General Public License for more details.</p> <p>;; You should have received a copy of the GNU General Public License ;; along with this file. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>. ;; =========================================================================</p> - - - smellsblue/my-emacs-env - 2023-10-22T01:51:05Z - tag:github.com,2023-10-22:/smellsblue/my-emacs-env - - <p>My Emacs environment</p><hr><h1>Remote Load</h1> <p>To load this environment remotely, simply execute the following from within emacs:</p> <pre><code>(let* ((url "https://raw.github.com/smellsblue/my-emacs-env/master/remote-load.el") (remote-buffer (url-retrieve-synchronously url))) (switch-to-buffer remote-buffer) (goto-char (point-min)) (re-search-forward "^$" nil 'move) (delete-region (point-min) (1+ (point))) (eval-buffer) (kill-buffer remote-buffer)) </code></pre> - - \ No newline at end of file diff --git a/emberscript/daily/index.xml b/emberscript/daily/index.xml index dddd56ba8fa..8d0ffeab7d0 100644 --- a/emberscript/daily/index.xml +++ b/emberscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub EmberScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:38Z + 2023-10-23T01:28:56Z Daily Trending of EmberScript in GitHub \ No newline at end of file diff --git a/emberscript/weekly/index.xml b/emberscript/weekly/index.xml deleted file mode 100644 index 6b858ef1eae..00000000000 --- a/emberscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub EmberScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:01Z - Weekly Trending of EmberScript in GitHub - - \ No newline at end of file diff --git a/eq/daily/index.xml b/eq/daily/index.xml index 97c9895b3fc..b1afb10637d 100644 --- a/eq/daily/index.xml +++ b/eq/daily/index.xml @@ -1,7 +1,7 @@ GitHub EQ Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:51Z + 2023-10-23T01:29:19Z Daily Trending of EQ in GitHub \ No newline at end of file diff --git a/eq/weekly/index.xml b/eq/weekly/index.xml deleted file mode 100644 index 6a9983e7ec1..00000000000 --- a/eq/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub EQ Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:21Z - Weekly Trending of EQ in GitHub - - \ No newline at end of file diff --git a/erlang/daily/index.xml b/erlang/daily/index.xml index 634b980d373..e67d4389c52 100644 --- a/erlang/daily/index.xml +++ b/erlang/daily/index.xml @@ -1,7 +1,14 @@ GitHub Erlang Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:57Z + 2023-10-23T01:29:23Z Daily Trending of Erlang in GitHub + + kato-im/jsonq + 2023-10-23T01:29:23Z + tag:github.com,2023-10-23:/kato-im/jsonq + + <p></p><hr> + \ No newline at end of file diff --git a/erlang/weekly/index.xml b/erlang/weekly/index.xml deleted file mode 100644 index 83188874020..00000000000 --- a/erlang/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Erlang Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:24Z - Weekly Trending of Erlang in GitHub - - \ No newline at end of file diff --git a/euphoria/daily/index.xml b/euphoria/daily/index.xml index 338464224fe..2722384fe31 100644 --- a/euphoria/daily/index.xml +++ b/euphoria/daily/index.xml @@ -1,7 +1,7 @@ GitHub Euphoria Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:54Z + 2023-10-23T01:29:20Z Daily Trending of Euphoria in GitHub \ No newline at end of file diff --git a/euphoria/weekly/index.xml b/euphoria/weekly/index.xml deleted file mode 100644 index eea4154befb..00000000000 --- a/euphoria/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Euphoria Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:19Z - Weekly Trending of Euphoria in GitHub - - \ No newline at end of file diff --git a/f%23/daily/index.xml b/f%23/daily/index.xml index 57fe2adcc7f..e93c86c7811 100644 --- a/f%23/daily/index.xml +++ b/f%23/daily/index.xml @@ -1,7 +1,7 @@ GitHub F# Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:57Z + 2023-10-23T01:29:23Z Daily Trending of F# in GitHub \ No newline at end of file diff --git a/f%23/weekly/index.xml b/f%23/weekly/index.xml deleted file mode 100644 index f42e8d50fe0..00000000000 --- a/f%23/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub F# Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:24Z - Weekly Trending of F# in GitHub - - - ieviev/fflat - 2023-10-22T01:51:24Z - tag:github.com,2023-10-22:/ieviev/fflat - - <p>F# native script compiler</p><hr><h1>fflat - F# native script compiler on <a href="https://flattened.net/">bflat</a></h1> <img alt="Nuget" src="https://img.shields.io/nuget/v/fflat"> <h2>Build 1MB native executables from .fsx scripts!</h2> <p><img src="https://raw.githubusercontent.com/ieviev/fflat/main/img/2023-10-08T04:48.png" alt=""></p> <h2>Installation</h2> <pre><code>dotnet tool install --global fflat </code></pre> <h2>Basic usage</h2> <pre><code class="language-bash">fflat script.fsx # about 13MB, full .NET fflat script.fsx --small # about 2.6MB, no debug/globalization/symbols fflat script.fsx --tiny # about 1MB, no reflection/exceptions, no printfn! </code></pre> <p>run <code>fflat --help</code> for a list of options</p> <h2>Advanced usage</h2> <pre><code class="language-bash">fflat ./helloworld.fsx --small build -x -r "mylibrary.dll" --os windows ## ... etc </code></pre> <pre><code class="language-bash">❯ fflat ./helloworld.fsx build --help Usage: fflat &lt;script&gt; [fflat options] build|build-il [&lt;&gt;...] [bflat options] fflat options: -t, --tiny Smallest possible executable (adds bflat args --no-reflection --no-globalization --no-stacktrace-data --no-exception-messages --no-debug-info --separate-symbols -Os). avoid using printfn! -s, --small small executable but retains reflection, stack trace and exception messages (adds bflat args --no-debug-info --no-globalization --separate-symbols -Os) --output, -o &lt;outputFile&gt; output executable path bflat options: -d, --define &lt;define&gt; Define conditional compilation symbol(s) -r, --reference &lt;file list&gt; Additional .NET assemblies to include --target &lt;Exe|Shared|WinExe&gt; Build target -o, --out &lt;file&gt; Output file path -c Produce object file, but don't run linker --ldflags &lt;ldflags&gt; Arguments to pass to the linker -x Print the commands --arch &lt;x64|arm64&gt; Target architecture --os &lt;linux|windows|uefi&gt; Target operating system --libc &lt;libc&gt; Target libc (Windows: shcrt|none, Linux: glibc|bionic) -Os, --optimize-space Favor code space when optimizing -Ot, --optimize-time Favor code speed when optimizing -O0, --no-optimization Disable optimizations --no-reflection Disable support for reflection --no-stacktrace-data Disable support for textual stack traces --no-globalization Disable support for globalization (use invariant mode) --no-exception-messages Disable exception messages --no-pie Do not generate position independent executable --separate-symbols Separate debugging symbols (Linux) --no-debug-info Disable generation of debug information --map &lt;file&gt; Generate an object map file -i &lt;library|library!function&gt; Bind to entrypoint statically --feature &lt;Feature=[true|false]&gt; Set feature switch value -res &lt;&lt;file&gt;[,&lt;name&gt;[,public|private]]&gt; Managed resource to include --stdlib &lt;DotNet|None|Zero&gt; C# standard library to use --deterministic Produce deterministic outputs including timestamps --verbose Enable verbose logging --langversion &lt;langversion&gt; C# language version ('latest', 'default', 'latestmajor', 'preview', or version like '6' or '7.1' -?, -h, --help Show help and usage information </code></pre> <h2>Common questions, troubleshooting</h2> <blockquote> <p>Why?</p> </blockquote> <p>there is almost a 1000x difference in startup time for dotnet fsi scripts using nuget!</p> <p><img src="https://raw.githubusercontent.com/ieviev/fflat/main/img/2023-10-09T17:12.png" alt=""></p> <p>there is also <a href="https://github.com/kant2002/FSharpPacker/tree/main">FSharpPacker</a> for .fsx scripts, which compiles .fsx scripts to native executables using the standard MSBuild pipeline (PublishAOT), but <a href="https://flattened.net/">bflat</a> can produce significantly smaller executables or even omit the .NET runtime/GC all together.</p> <blockquote> <p><code>TypeInitialization_Type_NoTypeAvailable</code> errors</p> </blockquote> <p>use <code>--small</code> instead of <code>--tiny</code>, --tiny will crash if your script uses any reflection features.</p> <p>there's many untrimmable features in the F# core library like printfn, quotations and linq. substituting all printfn calls with stdout.WriteLine will produce significantly smaller binaries as well.</p> <hr> <p>Have fun!</p> - - \ No newline at end of file diff --git a/f*/daily/index.xml b/f*/daily/index.xml index 9bf05f76e4b..4f0811087f9 100644 --- a/f*/daily/index.xml +++ b/f*/daily/index.xml @@ -1,7 +1,7 @@ GitHub F* Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:31:59Z + 2023-10-23T01:29:24Z Daily Trending of F* in GitHub \ No newline at end of file diff --git a/f*/weekly/index.xml b/f*/weekly/index.xml deleted file mode 100644 index 080a472f712..00000000000 --- a/f*/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub F* Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:27Z - Weekly Trending of F* in GitHub - - \ No newline at end of file diff --git a/factor/daily/index.xml b/factor/daily/index.xml index 4e4cace8506..be6712e2813 100644 --- a/factor/daily/index.xml +++ b/factor/daily/index.xml @@ -1,7 +1,7 @@ GitHub Factor Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:02Z + 2023-10-23T01:29:27Z Daily Trending of Factor in GitHub \ No newline at end of file diff --git a/factor/weekly/index.xml b/factor/weekly/index.xml deleted file mode 100644 index a7f11af13f9..00000000000 --- a/factor/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Factor Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:28Z - Weekly Trending of Factor in GitHub - - \ No newline at end of file diff --git a/fancy/daily/index.xml b/fancy/daily/index.xml index eefdce26ad2..d1ad8f6f55a 100644 --- a/fancy/daily/index.xml +++ b/fancy/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fancy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:00Z + 2023-10-23T01:29:25Z Daily Trending of Fancy in GitHub \ No newline at end of file diff --git a/fancy/weekly/index.xml b/fancy/weekly/index.xml deleted file mode 100644 index 09c82b03114..00000000000 --- a/fancy/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Fancy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:29Z - Weekly Trending of Fancy in GitHub - - \ No newline at end of file diff --git a/fantom/daily/index.xml b/fantom/daily/index.xml index f12d8569e3c..97d3da4dc35 100644 --- a/fantom/daily/index.xml +++ b/fantom/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fantom Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:01Z + 2023-10-23T01:29:26Z Daily Trending of Fantom in GitHub \ No newline at end of file diff --git a/fantom/weekly/index.xml b/fantom/weekly/index.xml deleted file mode 100644 index 11420a5a0e1..00000000000 --- a/fantom/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Fantom Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:26Z - Weekly Trending of Fantom in GitHub - - \ No newline at end of file diff --git a/faust/daily/index.xml b/faust/daily/index.xml index c5fb7f7a72e..ec67d9af89a 100644 --- a/faust/daily/index.xml +++ b/faust/daily/index.xml @@ -1,7 +1,7 @@ GitHub Faust Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:04Z + 2023-10-23T01:29:29Z Daily Trending of Faust in GitHub \ No newline at end of file diff --git a/faust/weekly/index.xml b/faust/weekly/index.xml deleted file mode 100644 index 2be05265280..00000000000 --- a/faust/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Faust Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:31Z - Weekly Trending of Faust in GitHub - - \ No newline at end of file diff --git a/fennel/daily/index.xml b/fennel/daily/index.xml index 64deff87e06..9027f706d0c 100644 --- a/fennel/daily/index.xml +++ b/fennel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fennel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:05Z + 2023-10-23T01:29:31Z Daily Trending of Fennel in GitHub \ No newline at end of file diff --git a/fennel/weekly/index.xml b/fennel/weekly/index.xml deleted file mode 100644 index dbb22c4c399..00000000000 --- a/fennel/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Fennel Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:30Z - Weekly Trending of Fennel in GitHub - - \ No newline at end of file diff --git a/figlet-font/daily/index.xml b/figlet-font/daily/index.xml index beec95bb1fd..c55b0d0f935 100644 --- a/figlet-font/daily/index.xml +++ b/figlet-font/daily/index.xml @@ -1,7 +1,7 @@ GitHub FIGlet Font Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:06Z + 2023-10-23T01:29:32Z Daily Trending of FIGlet Font in GitHub \ No newline at end of file diff --git a/figlet-font/weekly/index.xml b/figlet-font/weekly/index.xml deleted file mode 100644 index c00b1927df5..00000000000 --- a/figlet-font/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub FIGlet Font Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:33Z - Weekly Trending of FIGlet Font in GitHub - - \ No newline at end of file diff --git a/filebench-wml/daily/index.xml b/filebench-wml/daily/index.xml index b5e992740d0..ed0cc8915b3 100644 --- a/filebench-wml/daily/index.xml +++ b/filebench-wml/daily/index.xml @@ -1,7 +1,7 @@ GitHub Filebench WML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:03Z + 2023-10-23T01:29:30Z Daily Trending of Filebench WML in GitHub \ No newline at end of file diff --git a/filebench-wml/weekly/index.xml b/filebench-wml/weekly/index.xml deleted file mode 100644 index cab5e327396..00000000000 --- a/filebench-wml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Filebench WML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:32Z - Weekly Trending of Filebench WML in GitHub - - \ No newline at end of file diff --git a/filterscript/daily/index.xml b/filterscript/daily/index.xml index ae278020059..0e8a855a9b1 100644 --- a/filterscript/daily/index.xml +++ b/filterscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub Filterscript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:08Z + 2023-10-23T01:29:33Z Daily Trending of Filterscript in GitHub \ No newline at end of file diff --git a/filterscript/weekly/index.xml b/filterscript/weekly/index.xml deleted file mode 100644 index 5b18fa282db..00000000000 --- a/filterscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Filterscript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:34Z - Weekly Trending of Filterscript in GitHub - - \ No newline at end of file diff --git a/fish/daily/index.xml b/fish/daily/index.xml index 0047e71348b..cb7eb0c8fdf 100644 --- a/fish/daily/index.xml +++ b/fish/daily/index.xml @@ -1,7 +1,7 @@ GitHub fish Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:07Z + 2023-10-23T01:29:34Z Daily Trending of fish in GitHub \ No newline at end of file diff --git a/fish/weekly/index.xml b/fish/weekly/index.xml deleted file mode 100644 index 2c5861f128a..00000000000 --- a/fish/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub fish Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:37Z - Weekly Trending of fish in GitHub - - \ No newline at end of file diff --git a/fluent/daily/index.xml b/fluent/daily/index.xml index 6d8b7d43879..ea0f1c55ef9 100644 --- a/fluent/daily/index.xml +++ b/fluent/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fluent Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:09Z + 2023-10-23T01:29:35Z Daily Trending of Fluent in GitHub \ No newline at end of file diff --git a/fluent/weekly/index.xml b/fluent/weekly/index.xml deleted file mode 100644 index 0005b918b61..00000000000 --- a/fluent/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Fluent Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:35Z - Weekly Trending of Fluent in GitHub - - \ No newline at end of file diff --git a/flux/daily/index.xml b/flux/daily/index.xml index 1ed61a7d083..c11c9c5123d 100644 --- a/flux/daily/index.xml +++ b/flux/daily/index.xml @@ -1,7 +1,7 @@ GitHub FLUX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:10Z + 2023-10-23T01:29:36Z Daily Trending of FLUX in GitHub \ No newline at end of file diff --git a/flux/weekly/index.xml b/flux/weekly/index.xml deleted file mode 100644 index e9a9321fb76..00000000000 --- a/flux/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub FLUX Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:36Z - Weekly Trending of FLUX in GitHub - - \ No newline at end of file diff --git a/formatted/daily/index.xml b/formatted/daily/index.xml index 8fe8c69b7e6..d4d1b090789 100644 --- a/formatted/daily/index.xml +++ b/formatted/daily/index.xml @@ -1,7 +1,7 @@ GitHub Formatted Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:13Z + 2023-10-23T01:29:38Z Daily Trending of Formatted in GitHub \ No newline at end of file diff --git a/formatted/weekly/index.xml b/formatted/weekly/index.xml deleted file mode 100644 index 6e6286866b2..00000000000 --- a/formatted/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Formatted Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:38Z - Weekly Trending of Formatted in GitHub - - \ No newline at end of file diff --git a/forth/daily/index.xml b/forth/daily/index.xml index c3b65ca270c..72f0d5d4c6a 100644 --- a/forth/daily/index.xml +++ b/forth/daily/index.xml @@ -1,7 +1,7 @@ GitHub Forth Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:14Z + 2023-10-23T01:29:39Z Daily Trending of Forth in GitHub \ No newline at end of file diff --git a/forth/weekly/index.xml b/forth/weekly/index.xml deleted file mode 100644 index d5b2b0613ab..00000000000 --- a/forth/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Forth Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:39Z - Weekly Trending of Forth in GitHub - - \ No newline at end of file diff --git a/fortran-free-form/daily/index.xml b/fortran-free-form/daily/index.xml index 116b45dce13..d22057a7c82 100644 --- a/fortran-free-form/daily/index.xml +++ b/fortran-free-form/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fortran Free Form Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:12Z + 2023-10-23T01:29:37Z Daily Trending of Fortran Free Form in GitHub \ No newline at end of file diff --git a/fortran-free-form/weekly/index.xml b/fortran-free-form/weekly/index.xml deleted file mode 100644 index 264e2ec92db..00000000000 --- a/fortran-free-form/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Fortran Free Form Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:39Z - Weekly Trending of Fortran Free Form in GitHub - - \ No newline at end of file diff --git a/fortran/daily/index.xml b/fortran/daily/index.xml index a6f18cd993a..b8bd9367aee 100644 --- a/fortran/daily/index.xml +++ b/fortran/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fortran Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:17Z + 2023-10-23T01:29:42Z Daily Trending of Fortran in GitHub \ No newline at end of file diff --git a/fortran/weekly/index.xml b/fortran/weekly/index.xml deleted file mode 100644 index d8fb6c01d50..00000000000 --- a/fortran/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Fortran Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:43Z - Weekly Trending of Fortran in GitHub - - - NOAA-GFDL/FMS - 2023-10-22T01:51:43Z - tag:github.com,2023-10-22:/NOAA-GFDL/FMS - - <p>GFDL's Flexible Modeling System</p><hr> - - \ No newline at end of file diff --git a/freebasic/daily/index.xml b/freebasic/daily/index.xml index 1f49d11839a..ea28d2228b6 100644 --- a/freebasic/daily/index.xml +++ b/freebasic/daily/index.xml @@ -1,7 +1,7 @@ GitHub FreeBasic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:18Z + 2023-10-23T01:29:45Z Daily Trending of FreeBasic in GitHub \ No newline at end of file diff --git a/freebasic/weekly/index.xml b/freebasic/weekly/index.xml deleted file mode 100644 index 67c51e62a76..00000000000 --- a/freebasic/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub FreeBasic Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:44Z - Weekly Trending of FreeBasic in GitHub - - \ No newline at end of file diff --git a/freemarker/daily/index.xml b/freemarker/daily/index.xml index c8c9e60d965..80b5c0c815d 100644 --- a/freemarker/daily/index.xml +++ b/freemarker/daily/index.xml @@ -1,7 +1,7 @@ GitHub FreeMarker Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:21Z + 2023-10-23T01:29:46Z Daily Trending of FreeMarker in GitHub \ No newline at end of file diff --git a/freemarker/weekly/index.xml b/freemarker/weekly/index.xml deleted file mode 100644 index 8c2353258ae..00000000000 --- a/freemarker/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub FreeMarker Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:46Z - Weekly Trending of FreeMarker in GitHub - - \ No newline at end of file diff --git a/frege/daily/index.xml b/frege/daily/index.xml index 41917ee6312..7199fd753f1 100644 --- a/frege/daily/index.xml +++ b/frege/daily/index.xml @@ -1,7 +1,7 @@ GitHub Frege Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:20Z + 2023-10-23T01:29:44Z Daily Trending of Frege in GitHub \ No newline at end of file diff --git a/frege/weekly/index.xml b/frege/weekly/index.xml deleted file mode 100644 index 7f3410dd507..00000000000 --- a/frege/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Frege Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:46Z - Weekly Trending of Frege in GitHub - - \ No newline at end of file diff --git a/futhark/daily/index.xml b/futhark/daily/index.xml index 861a9e8dae5..e7f621d6469 100644 --- a/futhark/daily/index.xml +++ b/futhark/daily/index.xml @@ -1,7 +1,7 @@ GitHub Futhark Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:19Z + 2023-10-23T01:29:45Z Daily Trending of Futhark in GitHub \ No newline at end of file diff --git a/futhark/weekly/index.xml b/futhark/weekly/index.xml deleted file mode 100644 index 80bcf7e502e..00000000000 --- a/futhark/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Futhark Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:45Z - Weekly Trending of Futhark in GitHub - - \ No newline at end of file diff --git a/g-code/daily/index.xml b/g-code/daily/index.xml index aeb9579b6a3..6e25803ec35 100644 --- a/g-code/daily/index.xml +++ b/g-code/daily/index.xml @@ -1,7 +1,7 @@ GitHub G-code Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:25Z + 2023-10-23T01:29:49Z Daily Trending of G-code in GitHub \ No newline at end of file diff --git a/g-code/weekly/index.xml b/g-code/weekly/index.xml deleted file mode 100644 index 02191111aa7..00000000000 --- a/g-code/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub G-code Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:50Z - Weekly Trending of G-code in GitHub - - - ThomasToka/MarlinFirmware - 2023-10-22T01:51:50Z - tag:github.com,2023-10-22:/ThomasToka/MarlinFirmware - - <p>This is [MARLIN-E3S1PROFORK-BYTT]. A Fork of Marlin 2.1.x-bugfix with the Creality Ender 3 S1 Pro source code included. Personal tweaks, fixes and enhancements included. This firmware is for the Ender 3 S1 Pro (touchscreen) and Ender 3 S1 Plus (touchscreen).</p><hr> - - \ No newline at end of file diff --git a/game-maker-language/daily/index.xml b/game-maker-language/daily/index.xml index 009449a972d..127a99382b5 100644 --- a/game-maker-language/daily/index.xml +++ b/game-maker-language/daily/index.xml @@ -1,7 +1,7 @@ GitHub Game Maker Language Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:24Z + 2023-10-23T01:29:50Z Daily Trending of Game Maker Language in GitHub \ No newline at end of file diff --git a/game-maker-language/weekly/index.xml b/game-maker-language/weekly/index.xml deleted file mode 100644 index 8a1c6fe159c..00000000000 --- a/game-maker-language/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Game Maker Language Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:49Z - Weekly Trending of Game Maker Language in GitHub - - \ No newline at end of file diff --git a/gaml/daily/index.xml b/gaml/daily/index.xml index 9810496f7f4..f3f3d453cfb 100644 --- a/gaml/daily/index.xml +++ b/gaml/daily/index.xml @@ -1,7 +1,7 @@ GitHub GAML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:22Z + 2023-10-23T01:29:51Z Daily Trending of GAML in GitHub \ No newline at end of file diff --git a/gaml/weekly/index.xml b/gaml/weekly/index.xml deleted file mode 100644 index b816246d03d..00000000000 --- a/gaml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GAML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:48Z - Weekly Trending of GAML in GitHub - - \ No newline at end of file diff --git a/gams/daily/index.xml b/gams/daily/index.xml index 00775c3bfe9..2b664af6599 100644 --- a/gams/daily/index.xml +++ b/gams/daily/index.xml @@ -1,7 +1,7 @@ GitHub GAMS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:26Z + 2023-10-23T01:29:48Z Daily Trending of GAMS in GitHub \ No newline at end of file diff --git a/gams/weekly/index.xml b/gams/weekly/index.xml deleted file mode 100644 index c62b4cbe8ac..00000000000 --- a/gams/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GAMS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:49Z - Weekly Trending of GAMS in GitHub - - \ No newline at end of file diff --git a/gap/daily/index.xml b/gap/daily/index.xml index 8808d3a8d32..95c5ea39ed2 100644 --- a/gap/daily/index.xml +++ b/gap/daily/index.xml @@ -1,7 +1,7 @@ GitHub GAP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:28Z + 2023-10-23T01:29:54Z Daily Trending of GAP in GitHub \ No newline at end of file diff --git a/gap/weekly/index.xml b/gap/weekly/index.xml deleted file mode 100644 index 4ee4684709b..00000000000 --- a/gap/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GAP Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:53Z - Weekly Trending of GAP in GitHub - - \ No newline at end of file diff --git a/gcc-machine-description/daily/index.xml b/gcc-machine-description/daily/index.xml index 1e0cb40901e..d59213df6ee 100644 --- a/gcc-machine-description/daily/index.xml +++ b/gcc-machine-description/daily/index.xml @@ -1,7 +1,7 @@ GitHub GCC Machine Description Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:31Z + 2023-10-23T01:29:52Z Daily Trending of GCC Machine Description in GitHub \ No newline at end of file diff --git a/gcc-machine-description/weekly/index.xml b/gcc-machine-description/weekly/index.xml deleted file mode 100644 index ba0ddbd3979..00000000000 --- a/gcc-machine-description/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GCC Machine Description Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:53Z - Weekly Trending of GCC Machine Description in GitHub - - \ No newline at end of file diff --git a/gdb/daily/index.xml b/gdb/daily/index.xml index e0c86ae2b1f..11d5e5ea89d 100644 --- a/gdb/daily/index.xml +++ b/gdb/daily/index.xml @@ -1,7 +1,7 @@ GitHub GDB Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:27Z + 2023-10-23T01:29:53Z Daily Trending of GDB in GitHub \ No newline at end of file diff --git a/gdb/weekly/index.xml b/gdb/weekly/index.xml deleted file mode 100644 index 94627a26bc0..00000000000 --- a/gdb/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GDB Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:52Z - Weekly Trending of GDB in GitHub - - \ No newline at end of file diff --git a/gdscript/daily/index.xml b/gdscript/daily/index.xml index 95d53bc2853..eefeb7d3449 100644 --- a/gdscript/daily/index.xml +++ b/gdscript/daily/index.xml @@ -1,21 +1,14 @@ GitHub GDScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:30Z + 2023-10-23T01:29:57Z Daily Trending of GDScript in GitHub - don-tnowe/godot-worldmap-builder - 2023-10-22T01:32:30Z - tag:github.com,2023-10-22:/don-tnowe/godot-worldmap-builder - - <p>Build skill trees and level selection screens in Godot 4.</p><hr> - - - SlashScreen/skelerealms - 2023-10-22T01:32:30Z - tag:github.com,2023-10-22:/SlashScreen/skelerealms - - <p>An open world RPG framework for Godot 4.</p><hr> + rametta/zodot + 2023-10-23T01:29:57Z + tag:github.com,2023-10-23:/rametta/zodot + + <p>🛡️ Godot Data Validation</p><hr> \ No newline at end of file diff --git a/gdscript/weekly/index.xml b/gdscript/weekly/index.xml deleted file mode 100644 index 63fb13374ce..00000000000 --- a/gdscript/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub GDScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:56Z - Weekly Trending of GDScript in GitHub - - - gtibo/VFX-sketchbook - 2023-10-22T01:51:56Z - tag:github.com,2023-10-22:/gtibo/VFX-sketchbook - - <p></p><hr> - - - MewPurPur/GodSVG - 2023-10-22T01:51:56Z - tag:github.com,2023-10-22:/MewPurPur/GodSVG - - <p>An application in early development for creating small and tidy SVG files. Built with Godot.</p><hr> - - - Portponky/better-terrain - 2023-10-22T01:51:56Z - tag:github.com,2023-10-22:/Portponky/better-terrain - - <p>Terrain plugin for Godot 4</p><hr> - - \ No newline at end of file diff --git a/gedcom/daily/index.xml b/gedcom/daily/index.xml index a62357313c4..e6364e8b512 100644 --- a/gedcom/daily/index.xml +++ b/gedcom/daily/index.xml @@ -1,7 +1,7 @@ GitHub GEDCOM Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:33Z + 2023-10-23T01:29:58Z Daily Trending of GEDCOM in GitHub \ No newline at end of file diff --git a/gedcom/weekly/index.xml b/gedcom/weekly/index.xml deleted file mode 100644 index bac23b28137..00000000000 --- a/gedcom/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GEDCOM Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:57Z - Weekly Trending of GEDCOM in GitHub - - \ No newline at end of file diff --git a/gemfile.lock/daily/index.xml b/gemfile.lock/daily/index.xml index a4b6dcd0ef6..8141db63b76 100644 --- a/gemfile.lock/daily/index.xml +++ b/gemfile.lock/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gemfile.lock Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:34Z + 2023-10-23T01:30:01Z Daily Trending of Gemfile.lock in GitHub \ No newline at end of file diff --git a/gemfile.lock/weekly/index.xml b/gemfile.lock/weekly/index.xml deleted file mode 100644 index d88d3303d44..00000000000 --- a/gemfile.lock/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gemfile.lock Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:00Z - Weekly Trending of Gemfile.lock in GitHub - - \ No newline at end of file diff --git a/genero-forms/daily/index.xml b/genero-forms/daily/index.xml index d77e816a4b3..ccc88a599d4 100644 --- a/genero-forms/daily/index.xml +++ b/genero-forms/daily/index.xml @@ -1,7 +1,7 @@ GitHub Genero Forms Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:38Z + 2023-10-23T01:30:04Z Daily Trending of Genero Forms in GitHub \ No newline at end of file diff --git a/genero-forms/weekly/index.xml b/genero-forms/weekly/index.xml deleted file mode 100644 index 646e32fd0e8..00000000000 --- a/genero-forms/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Genero Forms Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:01Z - Weekly Trending of Genero Forms in GitHub - - \ No newline at end of file diff --git a/genero/daily/index.xml b/genero/daily/index.xml index 0355d105f6d..f587578e931 100644 --- a/genero/daily/index.xml +++ b/genero/daily/index.xml @@ -1,7 +1,7 @@ GitHub Genero Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:32Z + 2023-10-23T01:30:00Z Daily Trending of Genero in GitHub \ No newline at end of file diff --git a/genero/weekly/index.xml b/genero/weekly/index.xml deleted file mode 100644 index 1a0a37a3a5f..00000000000 --- a/genero/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Genero Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:51:59Z - Weekly Trending of Genero in GitHub - - \ No newline at end of file diff --git a/genie/daily/index.xml b/genie/daily/index.xml index 0c29271c920..4aea0a2c981 100644 --- a/genie/daily/index.xml +++ b/genie/daily/index.xml @@ -1,7 +1,7 @@ GitHub Genie Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:39Z + 2023-10-23T01:30:03Z Daily Trending of Genie in GitHub \ No newline at end of file diff --git a/genie/weekly/index.xml b/genie/weekly/index.xml deleted file mode 100644 index 011c172df6a..00000000000 --- a/genie/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Genie Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:02Z - Weekly Trending of Genie in GitHub - - \ No newline at end of file diff --git a/genshi/daily/index.xml b/genshi/daily/index.xml index 68808e12599..5fc88c797b4 100644 --- a/genshi/daily/index.xml +++ b/genshi/daily/index.xml @@ -1,7 +1,7 @@ GitHub Genshi Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:36Z + 2023-10-23T01:30:05Z Daily Trending of Genshi in GitHub \ No newline at end of file diff --git a/genshi/weekly/index.xml b/genshi/weekly/index.xml deleted file mode 100644 index 32d3cf17a49..00000000000 --- a/genshi/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Genshi Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:03Z - Weekly Trending of Genshi in GitHub - - \ No newline at end of file diff --git a/gentoo-ebuild/daily/index.xml b/gentoo-ebuild/daily/index.xml index 2c50006649c..28f0d36c13d 100644 --- a/gentoo-ebuild/daily/index.xml +++ b/gentoo-ebuild/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gentoo Ebuild Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:37Z + 2023-10-23T01:30:06Z Daily Trending of Gentoo Ebuild in GitHub \ No newline at end of file diff --git a/gentoo-ebuild/weekly/index.xml b/gentoo-ebuild/weekly/index.xml deleted file mode 100644 index 1858716d7a2..00000000000 --- a/gentoo-ebuild/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gentoo Ebuild Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:04Z - Weekly Trending of Gentoo Ebuild in GitHub - - \ No newline at end of file diff --git a/gentoo-eclass/daily/index.xml b/gentoo-eclass/daily/index.xml index 907b1804981..70644f902e3 100644 --- a/gentoo-eclass/daily/index.xml +++ b/gentoo-eclass/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gentoo Eclass Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:42Z + 2023-10-23T01:30:08Z Daily Trending of Gentoo Eclass in GitHub \ No newline at end of file diff --git a/gentoo-eclass/weekly/index.xml b/gentoo-eclass/weekly/index.xml deleted file mode 100644 index ac594153e68..00000000000 --- a/gentoo-eclass/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gentoo Eclass Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:05Z - Weekly Trending of Gentoo Eclass in GitHub - - \ No newline at end of file diff --git a/gerber-image/daily/index.xml b/gerber-image/daily/index.xml index e8656554442..7cf2276aa59 100644 --- a/gerber-image/daily/index.xml +++ b/gerber-image/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gerber Image Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:41Z + 2023-10-23T01:30:07Z Daily Trending of Gerber Image in GitHub \ No newline at end of file diff --git a/gerber-image/weekly/index.xml b/gerber-image/weekly/index.xml deleted file mode 100644 index d9ac785b4ed..00000000000 --- a/gerber-image/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gerber Image Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:06Z - Weekly Trending of Gerber Image in GitHub - - \ No newline at end of file diff --git a/gettext-catalog/daily/index.xml b/gettext-catalog/daily/index.xml index 998cb0179c7..fd43c44521c 100644 --- a/gettext-catalog/daily/index.xml +++ b/gettext-catalog/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gettext Catalog Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:42Z + 2023-10-23T01:30:10Z Daily Trending of Gettext Catalog in GitHub \ No newline at end of file diff --git a/gettext-catalog/weekly/index.xml b/gettext-catalog/weekly/index.xml deleted file mode 100644 index ba4da387f32..00000000000 --- a/gettext-catalog/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gettext Catalog Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:07Z - Weekly Trending of Gettext Catalog in GitHub - - \ No newline at end of file diff --git a/gherkin/daily/index.xml b/gherkin/daily/index.xml index 8f4c43bca91..0a35be478a7 100644 --- a/gherkin/daily/index.xml +++ b/gherkin/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gherkin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:44Z + 2023-10-23T01:30:09Z Daily Trending of Gherkin in GitHub \ No newline at end of file diff --git a/gherkin/weekly/index.xml b/gherkin/weekly/index.xml deleted file mode 100644 index 03f605d1a96..00000000000 --- a/gherkin/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gherkin Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:08Z - Weekly Trending of Gherkin in GitHub - - \ No newline at end of file diff --git a/git-attributes/daily/index.xml b/git-attributes/daily/index.xml index 1b4e5232480..48729807415 100644 --- a/git-attributes/daily/index.xml +++ b/git-attributes/daily/index.xml @@ -1,7 +1,7 @@ GitHub Git Attributes Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:47Z + 2023-10-23T01:30:11Z Daily Trending of Git Attributes in GitHub \ No newline at end of file diff --git a/git-attributes/weekly/index.xml b/git-attributes/weekly/index.xml deleted file mode 100644 index ec228c6bf5f..00000000000 --- a/git-attributes/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Git Attributes Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:09Z - Weekly Trending of Git Attributes in GitHub - - \ No newline at end of file diff --git a/git-config/daily/index.xml b/git-config/daily/index.xml index 440a674449d..272facd56f6 100644 --- a/git-config/daily/index.xml +++ b/git-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub Git Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:48Z + 2023-10-23T01:30:13Z Daily Trending of Git Config in GitHub \ No newline at end of file diff --git a/git-config/weekly/index.xml b/git-config/weekly/index.xml deleted file mode 100644 index bcfbe70a02f..00000000000 --- a/git-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Git Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:10Z - Weekly Trending of Git Config in GitHub - - \ No newline at end of file diff --git a/gleam/daily/index.xml b/gleam/daily/index.xml index e9fa912ac37..ed33d89cc7d 100644 --- a/gleam/daily/index.xml +++ b/gleam/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gleam Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:46Z + 2023-10-23T01:30:14Z Daily Trending of Gleam in GitHub \ No newline at end of file diff --git a/gleam/weekly/index.xml b/gleam/weekly/index.xml deleted file mode 100644 index 04b37a77dbb..00000000000 --- a/gleam/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gleam Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:12Z - Weekly Trending of Gleam in GitHub - - \ No newline at end of file diff --git a/glsl/daily/index.xml b/glsl/daily/index.xml index b342f6a01ca..8d1a5d71254 100644 --- a/glsl/daily/index.xml +++ b/glsl/daily/index.xml @@ -1,14 +1,14 @@ GitHub GLSL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:53Z + 2023-10-23T01:30:20Z Daily Trending of GLSL in GitHub - WorldHealthOrganization/smart-immunizations - 2023-10-22T01:32:53Z - tag:github.com,2023-10-22:/WorldHealthOrganization/smart-immunizations - - <p></p><hr> + lfantoniosi/WonderTANG + 2023-10-23T01:30:20Z + tag:github.com,2023-10-23:/lfantoniosi/WonderTANG + + <p>TangNano 20K cartridge for MSX computers</p><hr> \ No newline at end of file diff --git a/glsl/weekly/index.xml b/glsl/weekly/index.xml deleted file mode 100644 index d62283d2d09..00000000000 --- a/glsl/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub GLSL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:17Z - Weekly Trending of GLSL in GitHub - - - WorldHealthOrganization/smart-immunizations-measles - 2023-10-22T01:52:17Z - tag:github.com,2023-10-22:/WorldHealthOrganization/smart-immunizations-measles - - <p>Measles Immunization mini IG</p><hr> - - \ No newline at end of file diff --git a/glyph-bitmap-distribution-format/daily/index.xml b/glyph-bitmap-distribution-format/daily/index.xml index c6edc6b3d6e..611af835e4b 100644 --- a/glyph-bitmap-distribution-format/daily/index.xml +++ b/glyph-bitmap-distribution-format/daily/index.xml @@ -1,7 +1,7 @@ GitHub Glyph Bitmap Distribution Format Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:50Z + 2023-10-23T01:30:18Z Daily Trending of Glyph Bitmap Distribution Format in GitHub \ No newline at end of file diff --git a/glyph-bitmap-distribution-format/weekly/index.xml b/glyph-bitmap-distribution-format/weekly/index.xml deleted file mode 100644 index 03a88766cc2..00000000000 --- a/glyph-bitmap-distribution-format/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Glyph Bitmap Distribution Format Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:13Z - Weekly Trending of Glyph Bitmap Distribution Format in GitHub - - \ No newline at end of file diff --git a/glyph/daily/index.xml b/glyph/daily/index.xml index bb5ea86ab07..7cc74641039 100644 --- a/glyph/daily/index.xml +++ b/glyph/daily/index.xml @@ -1,7 +1,7 @@ GitHub Glyph Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:49Z + 2023-10-23T01:30:16Z Daily Trending of Glyph in GitHub \ No newline at end of file diff --git a/glyph/weekly/index.xml b/glyph/weekly/index.xml deleted file mode 100644 index a7af674937e..00000000000 --- a/glyph/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Glyph Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:15Z - Weekly Trending of Glyph in GitHub - - \ No newline at end of file diff --git a/gn/daily/index.xml b/gn/daily/index.xml index 8acce2fcf0d..45a1da51394 100644 --- a/gn/daily/index.xml +++ b/gn/daily/index.xml @@ -1,7 +1,7 @@ GitHub GN Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:51Z + 2023-10-23T01:30:17Z Daily Trending of GN in GitHub \ No newline at end of file diff --git a/gn/weekly/index.xml b/gn/weekly/index.xml deleted file mode 100644 index be713118222..00000000000 --- a/gn/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GN Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:14Z - Weekly Trending of GN in GitHub - - \ No newline at end of file diff --git a/gnuplot/daily/index.xml b/gnuplot/daily/index.xml index 38f14cf4c0a..2c396831987 100644 --- a/gnuplot/daily/index.xml +++ b/gnuplot/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gnuplot Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:55Z + 2023-10-23T01:30:22Z Daily Trending of Gnuplot in GitHub \ No newline at end of file diff --git a/gnuplot/weekly/index.xml b/gnuplot/weekly/index.xml deleted file mode 100644 index 2b803a1dd2b..00000000000 --- a/gnuplot/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gnuplot Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:19Z - Weekly Trending of Gnuplot in GitHub - - \ No newline at end of file diff --git a/go-checksums/daily/index.xml b/go-checksums/daily/index.xml index 7ea901e05ed..ca8979e0b9e 100644 --- a/go-checksums/daily/index.xml +++ b/go-checksums/daily/index.xml @@ -1,7 +1,7 @@ GitHub Go Checksums Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:54Z + 2023-10-23T01:30:23Z Daily Trending of Go Checksums in GitHub \ No newline at end of file diff --git a/go-checksums/weekly/index.xml b/go-checksums/weekly/index.xml deleted file mode 100644 index 7f1ed84990c..00000000000 --- a/go-checksums/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Go Checksums Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:20Z - Weekly Trending of Go Checksums in GitHub - - \ No newline at end of file diff --git a/go-module/daily/index.xml b/go-module/daily/index.xml index 621a945e167..a5f91650cd3 100644 --- a/go-module/daily/index.xml +++ b/go-module/daily/index.xml @@ -1,7 +1,7 @@ GitHub Go Module Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:56Z + 2023-10-23T01:30:21Z Daily Trending of Go Module in GitHub \ No newline at end of file diff --git a/go-module/weekly/index.xml b/go-module/weekly/index.xml deleted file mode 100644 index 235a882315f..00000000000 --- a/go-module/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Go Module Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:18Z - Weekly Trending of Go Module in GitHub - - \ No newline at end of file diff --git a/go/daily/index.xml b/go/daily/index.xml index 49f76d8c3ce..9fa9f6f995d 100644 --- a/go/daily/index.xml +++ b/go/daily/index.xml @@ -1,14 +1,28 @@ GitHub Go Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:32:59Z + 2023-10-23T01:30:26Z Daily Trending of Go in GitHub - radius-project/radius - 2023-10-22T01:32:59Z - tag:github.com,2023-10-22:/radius-project/radius - - <p>Radius is a cloud-native, portable application platform that makes app development easier for teams building cloud-native apps.</p><hr><h1>Radius</h1> <p>Radius is a cloud-native application platform that enables developers and the platform engineers that support them to collaborate on delivering and managing cloud-native applications that follow organizational best practices for cost, operations and security, by default. Radius is an open-source project that supports deploying applications across private cloud, Microsoft Azure, and Amazon Web Services, with more cloud providers to come.</p> <h2>Overview</h2> <p>The evolution of cloud computing has increased the speed of innovation for many companies, whether they are building 2 and 3-tier applications, or complex microservice-based applications. Cloud native technologies like Kubernetes have made it easier to build applications that can run anywhere. At the same time, many applications have become more complex, and managing them in the cloud increasingly difficult, as companies build cloud-native applications composed of interconnected services and deploy them to multiple public clouds and their private infrastructure. While Kubernetes is a key enabler, we see many organizations building abstractions over Kubernetes, usually focused on compute, to work around its limitations: Kubernetes has no formal definition of an application, it mingles infrastructure and application concepts and it is overwhelmingly complex. Developers also inevitably realize their applications require much more than Kubernetes, including support for dependencies like application programming interface (API) front ends, key/value stores, caches, and observability systems. Amidst these challenges for developers, their corporate IT counterparts also must enforce an ever-growing matrix of corporate standards, compliance, and security requirements, while enabling rapid application innovation.</p> <p>Radius was designed to address these distinct but related challenges that arise across development and operations as companies continue their journey to cloud. Radius meets application teams where they are by supporting proven technologies like Kubernetes, existing infrastructure tools including Terraform and Bicep and by integrating with existing CI/CD systems like GitHub Actions. Radius supports multi-tier web-plus-data to complex microservice applications like eShop, a popular cloud reference application from Microsoft.</p> <p>Key features of the Radius platform include:</p> <ul> <li><em>Team Collaboration</em>: Radius Applications and Environments allow developers to work with Operations on application definition and delivery.</li> <li><em>Infrastructure Recipes</em>: Swappable infrastructure that complies with organization best practicies and IT policy be default.</li> <li><em>Application Graph</em>: Understand how services and infrastructure in an application are interconnected.</li> <li><em>Cloud Neutral</em>: Deploy across development, on-premises and cloud environments with a consistent experience.</li> <li><em>Incremental Adoption</em>: Integrate Radius into existing workflows and existing catalogs of Infrastructure-as-Code templates.</li> </ul> <h2>Release status</h2> <p>This is an early release of Radius which enables the community to learn about and experiment with the platform. Please let us know what you think and open Issues when you find bugs or want to request a new feature. Radius is not yet ready for production workloads.</p> <h2>Getting started</h2> <ol> <li>Follow the <a href="https://docs.radapp.io/getting-started/">getting started guide</a> to install and try out Radius</li> <li>Visit the <a href="https://docs.radapp.io/tutorials">Tutorials</a> and <a href="https://docs.radapp.io/guides">User Guides</a> to learn more about Radius and start radifying your apps</li> </ol> <h2>Getting help</h2> <ul> <li>❓ <strong>Have a question?</strong> - Visit our <a href="https://discord.gg/SRG3ePMKNy">Discord server</a> to post your question and we'll get back to you ASAP</li> <li>⚠️ <strong>Found an issue?</strong> - Refer to our <a href="https://raw.githubusercontent.com/radius-project/radius/main/docs/contributing/contributing-issues">Issues guide</a> for instructions on filing a bug report</li> <li>💡 <strong>Have a proposal?</strong> - Refer to our <a href="https://raw.githubusercontent.com/radius-project/radius/main/docs/contributing/contributing-issues">Issues guide</a> for instructions on filing a feature request</li> </ul> <h2>Community</h2> <p>We welcome your contributions and suggestions! One of the easiest ways to contribute is to participate in Issue discussions, chat on <a href="https://discord.gg/SRG3ePMKNy">Discord server</a> or the monthly <a href="https://raw.githubusercontent.com/radius-project/radius/main/#community-calls">community calls</a>. For more information on the community engagement, developer and contributing guidelines and more, head over to the <a href="https://github.com/radius-project/community">Radius community repo</a>.</p> <h3>Contact us</h3> <p>Please visit our <a href="https://discord.gg/SRG3ePMKNy">Discord server</a> to contact us and we'll get back to you ASAP.</p> <h3>Community calls</h3> <p>Every month we host a community call to showcase new features, review upcoming milestones, and engage in a Q&amp;A. All are welcome!</p> <p>📞 Visit our <a href="https://github.com/radius-project/community/#community-meetings">community meetings</a> page for upcoming dates and the meeting link.</p> <h2>Contributing to Radius</h2> <p>Visit <a href="https://raw.githubusercontent.com/radius-project/radius/main/CONTRIBUTING.md">Contributing</a> for more information on how to contribute to Radius. To author Radius Recipes visit <a href="https://docs.radapp.io/guides/recipes/howto-author-recipes/">Author Custom Radius Recipes</a>. To contribute to Radius documentation visit <a href="https://docs.radapp.io/contributing/docs/">Radius documentation</a></p> <h2>Repositories</h2> <p><a href="https://github.com/radius-project/radius">Radius</a> is the main Radius repository. It contains all of Radius code and documentation. In addition, we have the below repositories.</p> <table> <thead> <tr> <th align="left">Repo</th> <th align="left">Description</th> </tr> </thead> <tbody> <tr> <td align="left"><a href="https://github.com/radius-project/docs">Docs</a></td> <td align="left">This repository contains the Radius documentation source for Radius.</td> </tr> <tr> <td align="left"><a href="https://github.com/radius-project/samples">Samples</a></td> <td align="left">This repository contains the source code for quickstarts, reference apps, and tutorials for Radius.</td> </tr> <tr> <td align="left"><a href="https://github.com/radius-project/recipes">Recipes</a></td> <td align="left">This repo contains commonly used Recipe templates for Radius Environments.</td> </tr> <tr> <td align="left"><a href="https://github.com/radius-project/website">Website</a></td> <td align="left">This repository contains the source code for the Radius website.</td> </tr> <tr> <td align="left"><a href="https://github.com/radius-project/bicep">Bicep</a></td> <td align="left">This repository contains source code for Bicep, which is a DSL for deploying cloud resources types.</td> </tr> <tr> <td align="left"><a href="https://github.com/radius-project/bicep-types-aws">AWS Bicep Types</a></td> <td align="left">This repository contains the tooling for Bicep support for AWS resource types.</td> </tr> </tbody> </table> <h2>Security</h2> <p>Please refer to our guide on <a href="https://raw.githubusercontent.com/radius-project/radius/main/SECURITY.md">Reporting security vulnerabilities</a></p> <h2>Code of conduct</h2> <p>Please refer to our <a href="https://github.com/radius-project/community/raw/main/CODE-OF-CONDUCT.md">Radius Community Code of Conduct</a></p> + D00Movenok/BounceBack + 2023-10-23T01:30:26Z + tag:github.com,2023-10-23:/D00Movenok/BounceBack + + <p>↕️🤫 Stealth redirector for your red team operation security</p><hr><h1>BounceBack</h1> <p><a href="https://raw.githubusercontent.com/D00Movenok/BounceBack/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg?sanitize=true" alt="License: MIT"></a> <a href="https://goreportcard.com/report/github.com/D00Movenok/BounceBack"><img src="https://goreportcard.com/badge/github.com/D00Movenok/BounceBack" alt="Go Report Card"></a> <a href="https://github.com/D00Movenok/BounceBack/actions/workflows/tests.yml"><img src="https://github.com/D00Movenok/BounceBack/actions/workflows/tests.yml/badge.svg?sanitize=true" alt="Tests"></a> <a href="https://github.com/D00Movenok/BounceBack/actions/workflows/codeql.yml"><img src="https://github.com/D00Movenok/BounceBack/actions/workflows/codeql.yml/badge.svg?sanitize=true" alt="CodeQL"></a></p> <p>↕️🤫 Stealth redirector for your red team operation security.</p> <p><img src="https://raw.githubusercontent.com/D00Movenok/BounceBack/main/assets/architecture.png" alt="Atchitecture"></p> <h2>Overview</h2> <p>BounceBack is a powerful, highly customizable and configurable reverse proxy with WAF functionality for hiding your C2/phishing/etc infrastructure from blue teams, sandboxes, scanners, etc. It uses real-time traffic analysis through various filters and their combinations to hide your tools from illegitimate visitors.</p> <p>The tool is distributed with preconfigured lists of blocked words, blocked and allowed IP addresses.</p> <p>For more information on tool usage, you may visit <a href="https://github.com/D00Movenok/BounceBack/wiki">project's wiki</a>.</p> <h2>Features</h2> <ul> <li>Highly configurable and customizable filters pipeline with boolean-based concatenation of rules will be able to hide your infrastructure from the most keen blue eyes.</li> <li>Easily extendable project structure, everyone can add rules for their own C2.</li> <li>Integrated and curated massive blacklist of IPv4 pools and ranges known to be associated with IT Security vendors combined with IP filter to disallow them to use/attack your infrastructure.</li> <li>Malleable C2 Profile parser is able to validate inbound HTTP(s) traffic against the Malleable's config and reject invalidated packets.</li> <li>Out of the box domain fronting support allows you to hide your infrastructure a little bit more.</li> <li>Ability to check the IPv4 address of request against IP Geolocation/reverse lookup data and compare it to specified regular expressions to exclude out peers connecting outside allowed companies, nations, cities, domains, etc.</li> <li>All incoming requests may be allowed/disallowed for any time period, so you may configure work time filters.</li> <li>Support for multiple proxies with different filter pipelines at one BounceBack instance.</li> <li>Verbose logging mechanism allows you to keep track of all incoming requests and events for analyzing blue team behaviour and debug issues.</li> </ul> <h2>Rules</h2> <p>BounceBack currently supports the following filters:</p> <ul> <li>Boolean-based (and, or, not) rules combinations</li> <li>IP and subnet analysis</li> <li>IP geolocation fields inspection</li> <li>Reverse lookup domain probe</li> <li>Raw packet regexp matching</li> <li>Malleable C2 profiles traffic validation</li> <li>Work (or not) hours rule</li> </ul> <p>Custom rules may be easily added, just register your <a href="https://raw.githubusercontent.com/D00Movenok/BounceBack/main/internal/rules/default.go#L9">RuleBaseCreator</a> or <a href="https://raw.githubusercontent.com/D00Movenok/BounceBack/main/internal/rules/default.go#L3">RuleWrapperCreator</a>. See already created <a href="https://raw.githubusercontent.com/D00Movenok/BounceBack/main/internal/rules/base_common.go">RuleBaseCreators</a> and <a href="https://raw.githubusercontent.com/D00Movenok/BounceBack/main/internal/rules/wrappers.go">RuleWrapperCreators</a></p> <p>Rules configuration page may be found <a href="https://github.com/D00Movenok/BounceBack/wiki/1.-Rules">here</a>.</p> <h2>Proxies</h2> <p>At the moment, BounceBack supports the following protocols:</p> <ul> <li>HTTP(s) for your web infrastructure</li> <li>DNS for your DNS tunnels</li> <li>Raw TCP (with or without tls) and UDP for custom protocols</li> </ul> <p>Custom protocols may be easily added, just register your new type <a href="https://raw.githubusercontent.com/D00Movenok/BounceBack/main/internal/proxy/manager.go">in manager</a>. Example proxy realizations may be found <a href="https://raw.githubusercontent.com/D00Movenok/BounceBack/main/internal/proxy">here</a>.</p> <p>Proxies configuration page may be found <a href="https://github.com/D00Movenok/BounceBack/wiki/2.-Proxies">here</a>.</p> <h2>Installation</h2> <p>Just download latest release from <a href="https://github.com/D00Movenok/BounceBack/releases">release page</a>, unzip it, edit config file and go on.</p> <p>If you want to build it from source, <a href="https://goreleaser.com/install/">install goreleaser</a> and run:</p> <pre><code class="language-bash">goreleaser release --clean --snapshot </code></pre> + + + FalconForceTeam/FalconHound + 2023-10-23T01:30:26Z + tag:github.com,2023-10-23:/FalconForceTeam/FalconHound + + <p>FalconHound is a blue team multi-tool. It allows you to utilize and enhance the power of BloodHound in a more automated fashion. It is designed to be used in conjunction with a SIEM or other log aggregation tool.</p><hr><p><img src="https://img.shields.io/maintenance/yes/2023.svg?style=flat-square" alt="Maintenance"> <a href="https://twitter.com/falconforceteam"><img src="https://img.shields.io/twitter/follow/falconforceteam.svg?style=social&amp;label=Follow" alt="Twitter"></a> <a href="https://discord.gg/CBTvTkb4"><img src="https://discordapp.com/api/guilds/715302469751668787/widget.png?style=shield" alt="Discord Shield"></a></p> <h1>FalconHound</h1> <p><img src="https://raw.githubusercontent.com/FalconForceTeam/FalconHound/main/docs/falconhound-logo.png" alt="logo"></p> <p>FalconHound is a blue team multi-tool. It allows you to utilize and enhance the power of BloodHound in a more automated fashion. It is designed to be used in conjunction with a SIEM or other log aggregation tool.</p> <p>One of the challenging aspects of BloodHound is that it is a snapshot in time. FalconHound includes functionality that can be used to keep a graph of your environment up-to-date. This allows you to see your environment as it is NOW. This is especially useful for environments that are constantly changing.</p> <p>One of the hardest releationships to gather for BloodHound is the local group memberships and the session information. As blue teamers we have this information readily available in our logs. FalconHound can be used to gather this information and add it to the graph, allowing it to be used by BloodHound.</p> <p>This is just an example of how FalconHound can be used. It can be used to gather any information that you have in your logs or security tools and add it to the BloodHound graph.</p> <p>Additionally, the graph can be used to trigger alerts or generate enrichment lists. For example, if a user is added to a certain group, FalconHound can be used to query the graph database for the shortest path to a sensitive or high-privilege group. If there is a path, this can be logged to the SIEM or used to trigger an alert.</p> <p>Other examples where FalconHound can be used:</p> <ul> <li>Adding, removing or timing out sessions in the graph, based on logon and logoff events.</li> <li>Marking users and computers as compromised in the graph when they have an incident in Sentinel or MDE.</li> <li>Adding CVE information and whether there is a public exploit available to the graph.</li> <li>All kinds of Azure activities.</li> <li>Recalculating the shortest path to sensitive groups when a user is added to a group or has a new role.</li> <li>Adding new users, groups and computers to the graph.</li> <li>Generating enrichment lists for Sentinel and Splunk of, for example, Kerberoastable users or users with ownerships of certain entities.</li> </ul> <p>The possibilities are endless here. Please add more ideas to the issue tracker or submit a PR.</p> <p>Index:</p> <ul> <li><a href="https://raw.githubusercontent.com/FalconForceTeam/FalconHound/main/#supported-data-sources-and-targets">Supported data sources and targets</a></li> <li><a href="https://raw.githubusercontent.com/FalconForceTeam/FalconHound/main/#installation">Installation</a></li> <li><a href="https://raw.githubusercontent.com/FalconForceTeam/FalconHound/main/#usage">Usage</a></li> <li><a href="https://raw.githubusercontent.com/FalconForceTeam/FalconHound/main/#actions">Actions</a></li> <li><a href="https://raw.githubusercontent.com/FalconForceTeam/FalconHound/main/#extensions-to-the-graph">Extensions to the graph</a></li> <li><a href="https://raw.githubusercontent.com/FalconForceTeam/FalconHound/main/#credential-management">Credential Management</a></li> <li><a href="https://raw.githubusercontent.com/FalconForceTeam/FalconHound/main/#deployment">Deployment</a></li> <li><a href="https://raw.githubusercontent.com/FalconForceTeam/FalconHound/main/#license">License</a></li> </ul> <h2>Supported data sources and targets</h2> <p>FalconHound is designed to be used with BloodHound. It is not a replacement for BloodHound. It is designed to leverage the power of BloodHound and all other data platforms it supports in an automated fashion.</p> <p>Currently, FalconHound supports the following data sources and or targets:</p> <ul> <li>Azure Sentinel</li> <li>Azure Sentinel Watchlists</li> <li>Splunk</li> <li>Microsoft Defender for Endpoint</li> <li>Neo4j</li> <li>MS Graph API (early stage)</li> <li>CSV files</li> </ul> <p>Additional data sources and targets are planned for the future.</p> <p>At this moment, FalconHound only supports the Neo4j database for BloodHound. Support for the API of BH CE and BHE is under active development.</p> <hr> <h2>Installation</h2> <p>Since FalconHound is written in Go, there is no installation required. Just download the binary from the release section and run it. There are compiled binaries available for Windows, Linux and MacOS. You can find them in the <a href="https://github.com/FalconForceTeam/FalconHound/releases">releases</a> section.</p> <p>Before you can run it, you need to create a config file. You can find an example config file in the root folder. Instructions on how to creat all crededentials can be found <a href="https://raw.githubusercontent.com/FalconForceTeam/FalconHound/main/docs/required_permissions.md">here</a>.</p> <p>The recommened way to run FalconHound is to run it as a scheduled task or cron job. This will allow you to run it on a regular basis and keep your graph, alerts and enrichments up-to-date.</p> <h3>Requirements</h3> <ul> <li>BloodHound, or at least the Neo4j database for now.</li> <li>A SIEM or other log aggregation tool. Currently, Azure Sentinel and Splunk are supported.</li> <li>Credentials for each endpoint you want to talk to, with the <a href="https://raw.githubusercontent.com/FalconForceTeam/FalconHound/main/docs/required_permissions.md">required permissions</a>.</li> </ul> <h3>Configuration</h3> <p>FalconHound is configured using a YAML file. You can find an example config file in the root folder. Each section of the config file is explained below.</p> <hr> <h2>Usage</h2> <h4>Default run</h4> <p>To run FalconHound, just run the binary and add the <code>-go</code> parameter to have it run all queries in the actions folder.</p> <pre><code class="language-bash">./falconhound -go </code></pre> <h4>List all enabled actions</h4> <p>To list all enabled actions, use the <code>-actionlist</code> parameter. This will list all actions that are enabled in the config files in the actions folder. This should be used in combination with the <code>-go</code> parameter.</p> <pre><code class="language-bash">./falconhound -actionlist -go </code></pre> <h3>Run with a select set of actions</h3> <p>To run a select set of actions, use the <code>-ids</code> parameter, followed by one or a list of comma-separated action IDs. This will run the actions that are specified in the parameter, which can be very handy when testing, troubleshooting or when you require specific, more frequent updates. This should be used in combination with the <code>-go</code> parameter.</p> <pre><code class="language-bash">./falconhound -ids action1,action2,action3 -go </code></pre> <h4>Run with a different config file</h4> <p>By default, FalconHound will look for a config file in the current directory. You can also specify a config file using the <code>-config</code> flag. This can allow you to run multiple instances of FalconHound with different configurations, against different environments.</p> <pre><code class="language-bash">./falconhound -go -config /path/to/config.yml </code></pre> <h4>Run with a different actions folder</h4> <p>By default, FalconHound will look for the actions folder in the current directory. You can also specify a different folder using the <code>-actions-dir</code> flag. This makes testing and troubleshooting easier, but also allows you to run multiple instances of FalconHound with different configurations, against different environments, or at different time intervals.</p> <pre><code class="language-bash">./falconhound -go -actions-dir /path/to/actions </code></pre> <h4>Run with credentials from a keyvault</h4> <p>By default, FalconHound will use the credentials in the config.yml (or a custom loaded one). By setting the <code>-keyvault</code> flag FalconHound will get the keyvault from the config and retrieve all secrets from there. Should there be items missing in the keyvault it will fall back to the config file.</p> <pre><code class="language-bash">./falconhound -go -keyvault </code></pre> <hr> <h2>Actions</h2> <p>Actions are the core of FalconHound. They are the queries that FalconHound will run. They are written in the native language of the source and target and are stored in the actions folder. Each action is a separate file and is stored in the directory of the source of the information, the query target. The filename is used as the name of the action.</p> <h3>Action folder structure</h3> <p>The action folder is divided into sub-directories per query source. All folders will be processed recursively and all YAML files will be executed in alphabetical order.</p> <p>The Neo4j actions <strong>should</strong> be processed last, since their output relies on other data sources to have updated the graph database first, to get the most up-to-date results.</p> <h3>Action files</h3> <p>All files are YAML files. The YAML file contains the query, some metadata and the target(s) of the queried information.</p> <p>There is a template file available in the root folder. You can use this to create your own actions. Have a look at the actions in the actions folder for more examples.</p> <p>While most items will be fairly self explanatory,there are some important things to note about actions:</p> <h4>Enabled</h4> <p>As the name implies, this is used to enable or disable an action. If this is set to false, the action will not be run.</p> <pre><code class="language-yaml">Enabled: true </code></pre> <h4>Debug</h4> <p>This is used to enable or disable debug mode for an action. If this is set to true, the action will be run in debug mode. This will output the results of the query to the console. This is useful for testing and troubleshooting, but is not recommended to be used in production. It will slow down the processing of the action depending on the number of results.</p> <pre><code class="language-yaml">Debug: false </code></pre> <h4>Query</h4> <p>The <code>Query</code> field is the query that will be run against the source. This can be a KQL query, a SPL query or a Cypher query depending on your <code>SourcePlatform</code>. IMPORTANT: Try to keep the query as exact as possible and only return the fields that you need. This will make the processing of the results faster and more efficient.</p> <p>Additionally, when running Cypher queries, make sure to RETURN a JSON object as the result, otherwise processing will fail. For example, this will return the Name, Count, Role and Owners of the Azure Subscriptions:</p> <pre><code class="language-cypher">MATCH p = (n)-[r:AZOwns|AZUserAccessAdministrator]-&gt;(g:AZSubscription) RETURN {Name:g.name , Count:COUNT(g.name), Role:type(r), Owners:COLLECT(n.name)} </code></pre> <h4>Targets</h4> <p>Each target has several options that can be configured. Depending on the target, some might require more configuration than others. All targets have the <code>Name</code> and <code>Enabled</code> fields. The <code>Name</code> field is used to identify the target. The <code>Enabled</code> field is used to enable or disable the target. If this is set to false, the target will be ignored.</p> <h4>CSV</h4> <pre><code class="language-yaml"> - Name: CSV Enabled: true Path: path/to/filename.csv </code></pre> <h4>Neo4j</h4> <p>The Neo4j target will write the results of the query to a Neo4j database. This output is per line and therefore it requires some additional configuration. Since we can transfer all sorts of data in all directions, FalconHound needs to understand what to do with the data. This is done by using replacement variables in the first line of your Cypher queries. These are passed to Neo4j as parameters and can be used in the query. The <code>ReplacementFields</code> fields are configured below.</p> <pre><code class="language-yaml"> - Name: Neo4j Enabled: true Query: | MATCH (x:Computer {name:$Computer}) MATCH (y:User {objectid:$TargetUserSid}) MERGE (x)-[r:HasSession]-&gt;(y) SET r.since=$Timestamp SET r.source='falconhound' Parameters: Computer: Computer TargetUserSid: TargetUserSid Timestamp: Timestamp </code></pre> <p>The Parameters section defines a set of parameters that will be replaced by the values from the query results. These can be referenced as Neo4j parameters using the <code>$parameter_name</code> syntax.</p> <h4>Sentinel</h4> <p>The Sentinel target will write the results of the query to a Sentinel table. The table will be created if it does not exist. The table will be created in the workspace that is specified in the config file. The data from the query will be added to the EventData field. The EventID will be the action ID and the Description will be the action name.</p> <p>This is why also query output needs to be controlled, you might otherwise flood your target.</p> <pre><code class="language-yaml"> - Name: Sentinel Enabled: true </code></pre> <h4>Sentinel Watchlists</h4> <p>The Sentinel Watchlists target will write the results of the query to a Sentinel watchlist. The watchlist will be created if it does not exist. The watchlist will be created in the workspace that is specified in the config file. All columns returned by the query will be added to the watchlist.</p> <pre><code class="language-yaml"> - Name: Watchlist Enabled: true WatchlistName: FH_MDE_Exploitable_Machines DisplayName: MDE Exploitable Machines SearchKey: DeviceName Overwrite: true </code></pre> <p>The <code>WatchlistName</code> field is the name of the watchlist. The <code>DisplayName</code> field is the display name of the watchlist.</p> <p>The <code>SearchKey</code> field is the column that will be used as the search key.</p> <p>The <code>Overwrite</code> field is used to determine if the watchlist should be overwritten or appended to. If this is set to false, the results of the query will be appended to the watchlist. If this is set to true, the watchlist will be deleted and recreated with the results of the query.</p> <h4>Splunk</h4> <p>Like Sentinel, Splunk will write the results of the query to a Splunk index. The index will need to be created and tied to a HEC endpoint. The data from the query will be added to the EventData field. The EventID will be the action ID and the Description will be the action name.</p> <pre><code class="language-yaml"> - Name: Splunk Enabled: true </code></pre> <h3>Extensions to the graph</h3> <h4>Relationship: HadSession</h4> <p>Once a session has ended, it had to be removed from the graph, but this felt like a waste of information. So instead of removing the session,it will be added as a relationship between the computer and the user. The relationship will be called <code>HadSession</code>. The relationship will have the following properties:</p> <pre><code class="language-json">{ "till": "2021-08-31T14:00:00Z", "source": "falconhound", "reason": "logoff", } </code></pre> <p>This allows for additional path discoveries where we can investigate whether the user ever logged on to a certain system, even if the session has ended.</p> <h4>Properties</h4> <p>FalconHound will add the following properties to nodes in the graph:</p> <p>Computer: - 'exploitable': true/false - 'exploits': list of CVEs - 'alertids': list of alert ids</p> <h2>Credential management</h2> <p>The currently supported ways of providing FalconHound with credentials are:</p> <ul> <li>Via the config.yml file on disk.</li> <li>Keyvault secrets. This still requires a ServicePrincipal with secrets in the yaml.</li> <li>Mixed mode.</li> </ul> <h4>Config.yml</h4> <p>The config file holds all details required by each platform. All items in the config file are <strong>case-sensitive</strong>. Best practise is to separate the apps on a per service level but you <em>can</em> use 1 AppID/AppSecret for all Azure based actions.</p> <p>The required permissions for your AppID/AppSecret are listed <a href="https://raw.githubusercontent.com/FalconForceTeam/FalconHound/main/docs/required_permissions.md">here</a>.</p> <h4>Keyvault</h4> <p>A more secure way of storing the credentials would be to use an Azure KeyVault. Be aware that there is a small <a href="https://azure.microsoft.com/en-us/pricing/details/key-vault/">cost aspect</a> to using Keyvaults. Access to KeyVaults currently only supports authentication based on a AppID/AppSecret which needs to be configured in the config.yml file.</p> <p>The recommended way to set this up is to use a ServicePrincipal that only has the <code>Key Vault Secrets User</code> role to this Keyvault. This role only allows access to the secrets, not even list them. Do <em>NOT</em> reuse the ServicePrincipal which has access to Sentinel and/or MDE, since this almost completely negates the use of a Keyvault.</p> <p>The items to configure in the Keyvault are listed below. Please note Keyvault secrets are <strong>not</strong> case-sensitive.</p> <pre><code>SentinelAppSecret SentinelAppID SentinelTenantID SentinelTargetTable SentinelResourceGroup SentinelSharedKey SentinelSubscriptionID SentinelWorkspaceID SentinelWorkspaceName MDETenantID MDEAppID MDEAppSecret Neo4jUri Neo4jUsername Neo4jPassword GraphTenantID GraphAppID GraphAppSecret SplunkUri SplunkToken </code></pre> <p>Once configured you can add the <code>-keyvault</code> parameter while starting FalconHound.</p> <h4>Mixed mode / fallback</h4> <p>When the <code>-keyvault</code> parameter is set on the command-line, this will be the primary source for all required secrets. Should FalconHound fail to retrieve items, it will fall back to the equivalent item in the <code>config.yml</code>. If both fail and there are actions enabled for that source or target, it will throw errors on attempts to authenticate.</p> <h2>Deployment</h2> <p>FalconHound is designed to be run as a scheduled task or cron job. This will allow you to run it on a regular basis and keep your graph, alerts and enrichments up-to-date. Depending on the amount of actions you have enabled, the amount of data you are processing and the amount of data you are writing to the graph, this can take a while.</p> <p>All log based queries are built to run every 15 minutes. Should processing take too long you might need to tweak this a little. If this is the case it might be recommended to disable certain actions.</p> <p>Also there might be some overlap with for instance the session actions. If you have a lot of sessions you might want to disable the session actions for Sentinel and rely on the one from MDE. This is assuming you have MDE and Sentinel connected and most machines are onboarded into MDE.</p> <h3>Sharphound / Azurehound</h3> <p>While FalconHound is designed to be used with BloodHound, it is not a replacement for Sharphound and Azurehound. It is designed to compliment the collection and remove the moment-in-time problem of the peroiodic collection. Both Sharphound and Azurehound are still required to collect the data, since not all similar data is available in logs.</p> <p>It is recommended to run Sharphound and Azurehound on a regular basis, for example once a day/week or month, and FalconHound every 15 minutes.</p> <h2>License</h2> <p>This project is licensed under the BSD3 License - see the <a href="https://raw.githubusercontent.com/FalconForceTeam/FalconHound/main/LICENSE">LICENSE</a> file for details.</p> <p>This means you can use this software for free, even in commercial products, as long as you credit us for it. You cannot hold us liable for any damages caused by this software.</p> + + + ProudMuBai/GoFilm + 2023-10-23T01:30:26Z + tag:github.com,2023-10-23:/ProudMuBai/GoFilm + + <p>多播放源自动采集在线影视网站 golang vue</p><hr><h1>GoFilm</h1> <p>一个基于 vue 和 gin 实现的在线观影网站</p> <p>效果展示: <a href="http://119.23.231.91:3600" target="_blank"> 演示站点(国内访问速度快)</a> <a href="https://m.mubai.link/" target="_blank">主站点</a></p> <h2>简介</h2> <p><strong>GoFilm</strong></p> <p>项目采用vite + vue作为前端技术栈, 使用 ElementPlus 作为UI 框架进行开发</p> <p>后端程序使用 Gin + gorm + go-redis 等相关框架提供接口服务, 使用 gocolly 和 robfig/cron 进行公共影视资源采集和定时更新功能</p> <h2>目录结构</h2> <ul> <li>client 客户端项目目录 <a href="https://raw.githubusercontent.com/ProudMuBai/GoFilm/main/client/README.md">Client简介</a></li> <li>server 服务端接口项目目录 <a href="https://raw.githubusercontent.com/ProudMuBai/GoFilm/main/client/README.md">Server简介</a></li> <li>film 项目部署相关配置目录 <a href="https://raw.githubusercontent.com/ProudMuBai/GoFilm/main/film/README.md">film 项目安装</a></li> <li>详细说明请查看具体目录中的README文件</li> </ul> <pre><code class="language-text">GoFilm-main ├─ client │ ├─ public │ │ └─ favicon.ico │ ├─ src │ │ ├─ assets │ │ │ ├─ css │ │ │ │ ├─ classify.css │ │ │ │ ├─ film.css │ │ │ │ └─ pagination.css │ │ │ └─ image │ │ │ ├─ 404.png │ │ │ └─ play.png │ │ ├─ components │ │ │ ├─ Loading │ │ │ │ ├─ index.ts │ │ │ │ └─ Loading.vue │ │ │ ├─ FilmList.vue │ │ │ ├─ Footer.vue │ │ │ ├─ Header.vue │ │ │ ├─ RelateList.vue │ │ │ └─ Util.vue │ │ ├─ router │ │ │ └─ router.ts │ │ ├─ utils │ │ │ ├─ cookie.ts │ │ │ └─ request.ts │ │ ├─ views │ │ │ ├─ error │ │ │ │ └─ Error404.vue │ │ │ ├─ index │ │ │ │ ├─ FilmClassify.vue │ │ │ │ ├─ FilmClassifySearch.vue │ │ │ │ ├─ FilmDetails.vue │ │ │ │ ├─ Home.vue │ │ │ │ ├─ Play.vue │ │ │ │ └─ SearchFilm.vue │ │ │ └─ IndexHome.vue │ │ ├─ App.vue │ │ ├─ main.ts │ │ ├─ style.css │ │ └─ vite-env.d.ts │ ├─ auto-imports.d.ts │ ├─ components.d.ts │ ├─ index.html │ ├─ package.json │ ├─ README.md │ ├─ tsconfig.json │ ├─ tsconfig.node.json │ └─ vite.config.ts ├─ film │ ├─ data │ │ ├─ nginx │ │ │ ├─ html │ │ │ │ ├─ assets │ │ │ │ │ ├─ 404-b813c94a.png │ │ │ │ │ ├─ index-984712d6.js │ │ │ │ │ ├─ index-de4c7ff5.css │ │ │ │ │ └─ play-bb9c8990.png │ │ │ │ ├─ favicon.ico │ │ │ │ └─ index.html │ │ │ └─ nginx.conf │ │ └─ redis │ │ └─ redis.conf │ ├─ server │ │ ├─ config │ │ │ └─ DataConfig.go │ │ ├─ controller │ │ │ ├─ IndexController.go │ │ │ └─ SpiderController.go │ │ ├─ logic │ │ │ ├─ IndexLogic.go │ │ │ └─ SpiderLogic.go │ │ ├─ model │ │ │ ├─ Categories.go │ │ │ ├─ Movies.go │ │ │ ├─ RequestParams.go │ │ │ ├─ ResponseJson.go │ │ │ └─ Search.go │ │ ├─ plugin │ │ │ ├─ common │ │ │ │ ├─ dp │ │ │ │ │ ├─ ProcessCategory.go │ │ │ │ │ └─ ProcessMovies.go │ │ │ │ └─ param │ │ │ │ └─ SimpleParam.go │ │ │ ├─ db │ │ │ │ ├─ mysql.go │ │ │ │ └─ redis.go │ │ │ └─ spider │ │ │ ├─ Spider.go │ │ │ ├─ SpiderCron.go │ │ │ └─ SpiderRequest.go │ │ ├─ router │ │ │ └─ router.go │ │ ├─ go.mod │ │ ├─ go.sum │ │ ├─ main.go │ │ └─ README.md │ ├─ docker-compose.yml │ ├─ Dockerfile │ └─ README.md ├─ server │ ├─ config │ │ └─ DataConfig.go │ ├─ controller │ │ ├─ IndexController.go │ │ └─ SpiderController.go │ ├─ logic │ │ ├─ IndexLogic.go │ │ └─ SpiderLogic.go │ ├─ model │ │ ├─ Categories.go │ │ ├─ Movies.go │ │ ├─ RequestParams.go │ │ ├─ ResponseJson.go │ │ └─ Search.go │ ├─ plugin │ │ ├─ common │ │ │ ├─ dp │ │ │ │ ├─ ProcessCategory.go │ │ │ │ └─ ProcessMovies.go │ │ │ ├─ param │ │ │ │ └─ SimpleParam.go │ │ │ └─ util │ │ │ ├─ FileDownload.go │ │ │ └─ Request.go │ │ ├─ db │ │ │ ├─ mysql.go │ │ │ └─ redis.go │ │ └─ spider │ │ ├─ Spider.go │ │ └─ SpiderCron.go │ ├─ router │ │ └─ router.go │ ├─ go.mod │ ├─ go.sum │ ├─ main.go │ └─ README.md ├─ LICENSE └─ README.md </code></pre> <h2>起源</h2> <p>从正式接触编程语言到第一次动手敲代码, , 当时有动手做一些东西的想法,也正是在那时喜欢追番迷二次元, 曾想过做一个自己的动漫站,</p> <p>但因为知识面匮乏, 总是在进行到某一步时就会遇到一些盲区, 从最开始的静态页面到后面的伪数据, 也实现过一些当时能做到的部分,</p> <p>后面慢慢学习的过程中也渐渐遗忘了这个想法, 但因为一些偶然的因素, 想要做一个自己的开源项目, 于是就从零开始慢慢实现并完善了这个</p> <p>影视站的各个部分, 期间也一点点修改颠覆了一些最开始的思路, 但目前主体功能基本完善, 后续也会定期进行一些bug修复和新功能的更新</p> <p>如有发现Bug, 或者有好的建议, 可以进行反馈, 欢迎各位大佬来指点一二</p> <h2>更新迭代计划</h2> <ul> <li>目前用户界面的一些功能有待开发和完善, 大家也可以继续提供一些好的建议</li> <li>目前pc端的历史记录写了一个简单的测试版, 后面有时间会同步完善pc和wrap端的历史记录和收藏功能</li> <li>前台功能目前基本满足观看的需求, 后续考虑切入一些登录和账户以及管理后台的功能,慢慢完善这个项目.</li> </ul> <h2>JetBrains 开源证书</h2> <p>感谢Jetbrains提供的免费开源许可, GoLang 和 WebStorm 为编程开发带来了良好的体验.</p> <p><a href="https://www.jetbrains.com/?from=GoFilm" target="_blank"><img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg?sanitize=true" alt="JetBrains Logo (Main) logo."></a></p> \ No newline at end of file diff --git a/go/weekly/index.xml b/go/weekly/index.xml deleted file mode 100644 index 075ad0e4251..00000000000 --- a/go/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Go Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:23Z - Weekly Trending of Go in GitHub - - - yonahd/kor - 2023-10-22T01:52:23Z - tag:github.com,2023-10-22:/yonahd/kor - - <p>A Golang Tool to discover unused Kubernetes Resources</p><hr><p><img src="https://img.shields.io/github/go-mod/go-version/yonahd/kor" alt="GitHub go.mod Go version (subdirectory of monorepo)"> <img src="https://img.shields.io/github/v/release/yonahd/kor?color=green&amp;link=https://github.com/yonahd/kor/releases" alt="GitHub release (with filter)"> <img src="https://img.shields.io/docker/pulls/yonahdissen/kor" alt="Docker Pulls"> <a href="https://codecov.io/gh/yonahd/kor"><img src="https://codecov.io/gh/yonahd/kor/branch/main/graph/badge.svg?token=tNKcOjlxLo" alt="codecov"></a></p> <h1>Kor - Kubernetes Orphaned Resources Finder</h1> <p><img src="https://raw.githubusercontent.com/yonahd/kor/main/images/kor_logo.png" alt="Kor Logo"></p> <p>Kor is a tool to discover unused Kubernetes resources. Currently, Kor can identify and list unused:</p> <ul> <li>ConfigMaps</li> <li>Secrets</li> <li>Services</li> <li>ServiceAccounts</li> <li>Deployments</li> <li>StatefulSets</li> <li>Roles</li> <li>HPAs</li> <li>PVCs</li> <li>Ingresses</li> <li>PDBs</li> </ul> <p><img src="https://raw.githubusercontent.com/yonahd/kor/main/images/screenshot.png" alt="Kor Screenshot"></p> <h2>Installation</h2> <p>Download the binary for your operating system from the <a href="https://github.com/yonahd/kor/releases">releases page</a> and add it to your system's PATH.</p> <h3>Homebrew</h3> <p>For macOS users, you can install Kor using Homebrew:</p> <pre><code class="language-sh">brew install kor </code></pre> <h3>Build from source</h3> <p>Install the binary to your <code>$GOBIN</code> or <code>$GOPATH/bin</code>:</p> <pre><code class="language-sh">go install github.com/yonahd/kor@latest </code></pre> <h3>Docker</h3> <p>Run a container with your kubeconfig mounted:</p> <pre><code class="language-sh">docker run --rm -i yonahdissen/kor docker run --rm -i -v "/path/to/.kube/config:/root/.kube/config" yonahdissen/kor all </code></pre> <h3>Helm</h3> <p>Run as a cronjob in your Cluster (with an option for sending slack updates)</p> <pre><code class="language-sh">helm upgrade -i kor \ --namespace kor \ --create-namespace \ --set cronJob.enabled=true ./charts/kor </code></pre> <p>Run as a deployment in your Cluster exposing prometheus metrics</p> <pre><code class="language-sh">helm upgrade -i kor \ --namespace kor \ --create-namespace \ ./charts/kor </code></pre> <p>For more information see <a href="https://raw.githubusercontent.com/yonahd/kor/main/#in-cluster-usage">in cluster usage</a></p> <h2>Usage</h2> <p>Kor provides various subcommands to identify and list unused resources. The available commands are:</p> <ul> <li><code>all</code> - Gets all unused resources for the specified namespace or all namespaces.</li> <li><code>configmap</code> - Gets unused ConfigMaps for the specified namespace or all namespaces.</li> <li><code>secret</code> - Gets unused Secrets for the specified namespace or all namespaces.</li> <li><code>services</code> - Gets unused Services for the specified namespace or all namespaces.</li> <li><code>serviceaccount</code> - Gets unused ServiceAccounts for the specified namespace or all namespaces.</li> <li><code>deployments</code> - Gets unused Deployments for the specified namespace or all namespaces.</li> <li><code>statefulsets</code> - Gets unused StatefulSets for the specified namespace or all namespaces.</li> <li><code>role</code> - Gets unused Roles for the specified namespace or all namespaces.</li> <li><code>hpa</code> - Gets unused HPAs for the specified namespace or all namespaces.</li> <li><code>pvc</code> - Gets unused PVCs for the specified namespace or all namespaces.</li> <li><code>ingress</code> - Gets unused Ingresses for the specified namespace or all namespaces.</li> <li><code>pdb</code> - Gets unused PDBs for the specified namespace or all namespaces.</li> <li><code>exporter</code> - Export Prometheus metrics.</li> </ul> <h3>Supported Flags</h3> <pre><code>-e, --exclude-namespaces string Namespaces to be excluded, split by comma. Example: --exclude-namespace ns1,ns2,ns3. If --include-namespace is set, --exclude-namespaces will be ignored. -h, --help help for kor -n, --include-namespaces string Namespaces to run on, split by comma. Example: --include-namespace ns1,ns2,ns3. -k, --kubeconfig string Path to kubeconfig file (optional) --output string Output format (table or json) (default "table") --slack-auth-token string Slack auth token to send notifications to. --slack-auth-token requires --slack-channel to be set. --slack-channel string Slack channel to send notifications to. --slack-channel requires --slack-auth-token to be set. --slack-webhook-url string Slack webhook URL to send notifications to </code></pre> <p>To use a specific subcommand, run <code>kor [subcommand] [flags]</code>.</p> <pre><code class="language-sh">kor all --namespace my-namespace </code></pre> <p>For more information about each subcommand and its available flags, you can use the <code>--help</code> flag.</p> <pre><code class="language-sh">kor [subcommand] --help </code></pre> <h2>Supported resources and limitations</h2> <table> <thead> <tr> <th>Resource</th> <th>What it looks for</th> <th>Known False Positives ⚠️</th> </tr> </thead> <tbody> <tr> <td>ConfigMaps</td> <td>ConfigMaps not used in the following places:<br>- Pods<br>- Containers<br>- ConfigMaps used through Volumes<br>- ConfigMaps used through environment variables</td> <td>ConfigMaps used by resources which don't explicitly state them in the config.<br> e.g Grafana dashboards loaded dynamically OPA policies fluentd configs</td> </tr> <tr> <td>Secrets</td> <td>Secrets not used in the following places:<br>- Pods<br>- Containers<br>- Secrets used through volumes<br>- Secrets used through environment variables<br>- Secrets used by Ingress TLS<br>- Secrets used by ServiceAccounts</td> <td>Secrets used by resources which don't explicitly state them in the config</td> </tr> <tr> <td>Services</td> <td>Services with no endpoints</td> <td></td> </tr> <tr> <td>Deployments</td> <td>Deployments with no Replicas</td> <td></td> </tr> <tr> <td>ServiceAccounts</td> <td>ServiceAccounts unused by Pods<br>ServiceAccounts unused by roleBinding or clusterRoleBinding</td> <td></td> </tr> <tr> <td>StatefulSets</td> <td>Statefulsets with no Replicas</td> <td></td> </tr> <tr> <td>Roles</td> <td>Roles not used in roleBinding</td> <td></td> </tr> <tr> <td>PVCs</td> <td>PVCs not used in Pods</td> <td></td> </tr> <tr> <td>Ingresses</td> <td>Ingresses not pointing at any Service</td> <td></td> </tr> <tr> <td>Hpas</td> <td>HPAs not used in Deployments<br> HPAs not used in StatefulSets</td> <td></td> </tr> <tr> <td>Pdbs</td> <td>PDBs not used in Deployments<br> PDBs not used in StatefulSets</td> <td></td> </tr> </tbody> </table> <h2>Ignore Resources</h2> <p>The resources labeled with "kor/used = true" will be ignored by kor even if they are unused. You can add this label to resources you want to ignore.</p> <h2>Import Option</h2> <p>You can also use kor as a Go library to programmatically discover unused resources. By importing the github.com/yonahd/kor/pkg/kor package, you can call the relevant functions to retrieve unused resources. The library provides the option to get the results in JSON format by specifying the outputFormat parameter.</p> <pre><code class="language-go">import ( "github.com/yonahd/kor/pkg/kor" ) func main() { myNamespaces := kor.IncludeExcludeLists{ IncludeListStr: "my-namespace1, my-namespace2", } outputFormat := "json" // Set to "json" for JSON output if outputFormat == "json" { jsonResponse, err := kor.GetUnusedDeploymentsStructured(myNamespaces, kubeconfig, "json") if err != nil { // Handle error } // Process the JSON response // ... } else { kor.GetUnusedDeployments(namespace) } } </code></pre> <h2>In Cluster Usage</h2> <p>To use this tool inside the cluster running as a CronJob and sending the results to a Slack Webhook as raw text(has characters limits of 4000) or to a Slack channel by uploading a file(recommended), you can use the following commands:</p> <pre><code class="language-sh"># Send to a Slack webhook as raw text helm upgrade -i kor \ --namespace kor \ --create-namespace \ --set cronJob.slackWebhookUrl=&lt;slack-webhook-url&gt; \ ./charts/kor </code></pre> <pre><code class="language-sh"># Send to a Slack channel by uploading a file helm upgrade -i kor \ --namespace kor \ --create-namespace \ --set cronJob.slackChannel=&lt;slack-channel&gt; \ --set cronJob.slackToken=&lt;slack-token&gt; \ ./charts/kor </code></pre> <blockquote> <p>Note: To send it to Slack as a file it's required to set the <code>slackToken</code> and <code>slackChannel</code> values.</p> </blockquote> <p>It's set to run every Monday at 1 a.m. by default. You can change the schedule by setting the <code>cronJob.schedule</code> value.</p> <pre><code class="language-sh">helm upgrade -i kor \ --namespace kor \ --create-namespace \ --set cronJob.slackChannel=&lt;slack-channel&gt; \ --set cronJob.slackToken=&lt;slack-token&gt; \ --set cronJob.schedule="0 1 * * 1" \ ./charts/kor </code></pre> <h2>Contributing</h2> <p>Contributions are welcome! If you encounter any bugs or have suggestions for improvements, please open an issue in the <a href="https://github.com/yonahd/kor/issues">issue tracker</a>.</p> <h2>License</h2> <p>This open-source project is available under the <a href="https://raw.githubusercontent.com/yonahd/kor/main/LICENSE">MIT License</a>. Feel free to use, modify, and distribute it as per the terms of the license.</p> - - - projectcalico/calico - 2023-10-22T01:52:23Z - tag:github.com,2023-10-22:/projectcalico/calico - - <p>Cloud native networking and network security</p><hr><p><a href="https://goreportcard.com/report/github.com/projectcalico/calico"><img src="https://goreportcard.com/badge/github.com/projectcalico/calico" alt="Go Report Card"></a> <a href="https://artifacthub.io/packages/helm/projectcalico/tigera-operator"><img src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/tigera-operator" alt="ArtifactHub"></a> <a href="https://raw.githubusercontent.com/projectcalico/calico/master/calico/LICENSE"><img src="https://img.shields.io/badge/license-Apache-blue.svg?sanitize=true" alt="License"></a> <a href="https://pkg.go.dev/github.com/projectcalico/api"><img src="https://pkg.go.dev/badge/k8s.io/kubernetes.svg?sanitize=true" alt="GoPkg"></a> <a href="https://bestpractices.coreinfrastructure.org/projects/6064"><img src="https://bestpractices.coreinfrastructure.org/projects/6064/badge" alt="CII Best Practices"></a></p> <div align="center"> <img src="https://docs.tigera.io/img/calico/felix_icon.png" width="100" height="100"> <h1>Calico</h1> <h2> <a href="https://projectcalico.docs.tigera.io/getting-started/kubernetes/quickstart">Quickstart</a> | <a href="https://projectcalico.docs.tigera.io">Docs</a> | <a href="https://raw.githubusercontent.com/projectcalico/calico/master/CONTRIBUTING.md">Contribute</a> | <a href="https://slack.projectcalico.org">Slack</a> | <a href="https://github.com/projectcalico/calico/releases">Releases</a> </h2> </div> <h2>About</h2> <p>Calico is a widely adopted, battle-tested open source networking and network security solution for Kubernetes, virtual machines, and bare-metal workloads. Calico provides two major services for Cloud Native applications:</p> <ul> <li>Network connectivity between workloads.</li> <li>Network security policy enforcement between workloads.</li> </ul> <p>Calico’s flexible architecture supports a wide range of deployment options, using modular components and technologies, including:</p> <ul> <li>Choice of data plane technology, whether it be <a href="https://projectcalico.docs.tigera.io/maintenance/ebpf/use-cases-ebpf">eBPF</a>, standard Linux, <a href="https://docs.microsoft.com/en-us/virtualization/windowscontainers/container-networking/architecture">Windows HNS</a> or <a href="https://github.com/projectcalico/vpp-dataplane">VPP</a></li> <li>Enforcement of the full set of Kubernetes network policy features, plus for those needing a richer set of policy features, Calico network policies.</li> <li>An optimized Kubernetes Service implementation using eBPF.</li> <li>Kubernetes <a href="https://raw.githubusercontent.com/projectcalico/calico/master/apiserver">apiserver integration</a>, for managing Calico configuration and Calico network policies.</li> <li>Both non-overlay and <a href="https://projectcalico.docs.tigera.io/networking/vxlan-ipip">overlay (via IPIP or VXLAN)</a> networking options in either public cloud or on-prem deployments.</li> <li><a href="https://raw.githubusercontent.com/projectcalico/calico/master/cni-plugin">CNI plugins</a> for Kubernetes to provide highly efficient pod networking and IP Address Management (IPAM).</li> <li>A <a href="https://raw.githubusercontent.com/projectcalico/calico/master/networking-calico">Neutron ML2</a> plugin to provide VM networking for OpenStack.</li> <li>A <a href="https://projectcalico.docs.tigera.io/networking/bgp">BGP routing stack</a> that can advertise routes for workload and service IP addresses to physical network infrastructure.</li> </ul> <h2>Getting Started Running Calico</h2> <p>There are many avenues to get started with Calico depending on your situation.</p> <ul> <li>Trying out Kubernetes on a single host or on your own hardware? The <a href="https://projectcalico.docs.tigera.io/getting-started/kubernetes/quickstart">quick start guide</a> will have you up and running in about fifteen minutes.</li> <li>Running a managed public cloud? Use our <a href="https://projectcalico.docs.tigera.io/getting-started/kubernetes/managed-public-cloud/">guides for enabling Calico network policies</a>.</li> <li>Want to go deeper? Visit <a href="https://projectcalico.docs.tigera.io">https://projectcalico.docs.tigera.io</a> for full documentation.</li> </ul> <h2>Getting Started Developing Calico</h2> <p>Calico is an open source project, and welcomes your contribution, be it through code, a bug report, a feature request, or user feedback.</p> <ul> <li><a href="https://raw.githubusercontent.com/projectcalico/calico/master/CONTRIBUTING.md">The Contribution Guidelines</a> document will get you started on submitting changes to the project.</li> <li><a href="https://raw.githubusercontent.com/projectcalico/calico/master/DEVELOPER_GUIDE.md">The Developer Guide</a> will walk you through how to set up a development environment, build the code, and run tests.</li> <li><a href="https://raw.githubusercontent.com/projectcalico/calico/master/CONTRIBUTING_DOCS.md">The Calico Documentation Guide</a> will get you started on making changes to <a href="https://projectcalico.docs.tigera.io">https://projectcalico.docs.tigera.io</a>.</li> </ul> <h2>Join the Calico Community!</h2> <p>The Calico community is committed to fostering an open and welcoming environment, with several ways to engage with other users and developers. You can find out more about our monthly meetings, Slack group, and Discourse by visiting our <a href="https://github.com/projectcalico/community">community repository</a>.</p> <h2>License</h2> <p>Calico is open source, with most code and documentation available under the Apache 2.0 license (see the <a href="https://raw.githubusercontent.com/projectcalico/calico/master/LICENSE.md">LICENSE</a>), though some elements are necessarily licensed under different open source licenses for compatibility with upstream licensing or code linking. For example, some Calico BPF programs are licensed under GPL v2.0 for compatibility with Linux kernel helper functions.</p> - - - aws/aws-lambda-go - 2023-10-22T01:52:23Z - tag:github.com,2023-10-22:/aws/aws-lambda-go - - <p>Libraries, samples and tools to help Go developers develop AWS Lambda functions.</p><hr><h1>AWS Lambda for Go</h1> <p><a href="https://github.com/aws/aws-lambda-go/actions?query=workflow%3Atests"><img src="https://github.com/aws/aws-lambda-go/workflows/tests/badge.svg?sanitize=true" alt="tests"></a> <a href="https://github.com/aws/aws-lambda-go/actions?query=workflow%3A%22go+get+build-lambda-zip%22"><img src="https://github.com/aws/aws-lambda-go/workflows/go%20get%20build-lambda-zip/badge.svg?sanitize=true" alt="build-lambda-zip"></a> <a href="https://pkg.go.dev/github.com/aws/aws-lambda-go"><img src="https://pkg.go.dev/badge/github.com/aws/aws-lambda-go.svg?sanitize=true" alt="Go Reference"></a> <a href="https://goreportcard.com/report/github.com/aws/aws-lambda-go"><img src="https://goreportcard.com/badge/github.com/aws/aws-lambda-go" alt="GoCard"></a> <a href="https://codecov.io/gh/aws/aws-lambda-go"><img src="https://codecov.io/gh/aws/aws-lambda-go/branch/master/graph/badge.svg?sanitize=true" alt="codecov"></a></p> <p>Libraries, samples, and tools to help Go developers develop AWS Lambda functions.</p> <p>To learn more about writing AWS Lambda functions in Go, go to <a href="https://docs.aws.amazon.com/lambda/latest/dg/go-programming-model.html">the official documentation</a></p> <h1>Getting Started</h1> <pre><code class="language-Go">// main.go package main import ( "github.com/aws/aws-lambda-go/lambda" ) func hello() (string, error) { return "Hello λ!", nil } func main() { // Make the handler available for Remote Procedure Call by AWS Lambda lambda.Start(hello) } </code></pre> <h1>Building your function</h1> <p>Preparing a binary to deploy to AWS Lambda requires that it is compiled for Linux and placed into a .zip file.</p> <h2>For developers on Linux and macOS</h2> <pre><code class="language-shell"># Remember to build your handler executable for Linux! # When using the `provided.al2` runtime, the handler executable should be named `bootstrap` GOOS=linux GOARCH=amd64 go build -o bootstrap main.go zip lambda-handler.zip bootstrap </code></pre> <h2>For developers on Windows</h2> <p>Windows developers may have trouble producing a zip file that marks the binary as executable on Linux. To create a .zip that will work on AWS Lambda, the <code>build-lambda-zip</code> tool may be helpful.</p> <p>Get the tool</p> <pre><code class="language-shell">go.exe install github.com/aws/aws-lambda-go/cmd/build-lambda-zip@latest </code></pre> <p>Use the tool from your <code>GOPATH</code>. If you have a default installation of Go, the tool will be in <code>%USERPROFILE%\Go\bin</code>.</p> <p>in cmd.exe:</p> <pre><code class="language-bat">set GOOS=linux set GOARCH=amd64 set CGO_ENABLED=0 go build -o bootstrap main.go %USERPROFILE%\Go\bin\build-lambda-zip.exe -o lambda-handler.zip bootstrap </code></pre> <p>in Powershell:</p> <pre><code class="language-posh">$env:GOOS = "linux" $env:GOARCH = "amd64" $env:CGO_ENABLED = "0" go build -o bootstrap main.go ~\Go\Bin\build-lambda-zip.exe -o lambda-handler.zip bootstrap </code></pre> <h1>Deploying your functions</h1> <p>To deploy your function, refer to the official documentation for <a href="https://docs.aws.amazon.com/lambda/latest/dg/deploying-lambda-apps.html">deploying using the AWS CLI, AWS Cloudformation, and AWS SAM</a>.</p> <h1>Event Integrations</h1> <p>The <a href="https://github.com/aws/aws-lambda-go/tree/master/events">event models</a> can be used to model AWS event sources. The official documentation has <a href="https://docs.aws.amazon.com/lambda/latest/dg/use-cases.html">detailed walkthroughs</a>.</p> - - \ No newline at end of file diff --git a/golo/daily/index.xml b/golo/daily/index.xml index 86f89a834fd..d0942b8aa91 100644 --- a/golo/daily/index.xml +++ b/golo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Golo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:09Z + 2023-10-23T01:30:39Z Daily Trending of Golo in GitHub \ No newline at end of file diff --git a/golo/weekly/index.xml b/golo/weekly/index.xml deleted file mode 100644 index 85d606e96ab..00000000000 --- a/golo/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Golo Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:36Z - Weekly Trending of Golo in GitHub - - \ No newline at end of file diff --git a/gosu/daily/index.xml b/gosu/daily/index.xml index 15b4128a124..98b9a53f1d0 100644 --- a/gosu/daily/index.xml +++ b/gosu/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gosu Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:07Z + 2023-10-23T01:30:36Z Daily Trending of Gosu in GitHub \ No newline at end of file diff --git a/gosu/weekly/index.xml b/gosu/weekly/index.xml deleted file mode 100644 index d703d302d59..00000000000 --- a/gosu/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gosu Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:37Z - Weekly Trending of Gosu in GitHub - - \ No newline at end of file diff --git a/grace/daily/index.xml b/grace/daily/index.xml index 71b41f37ceb..0c92e3acde2 100644 --- a/grace/daily/index.xml +++ b/grace/daily/index.xml @@ -1,7 +1,7 @@ GitHub Grace Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:13Z + 2023-10-23T01:30:43Z Daily Trending of Grace in GitHub \ No newline at end of file diff --git a/grace/weekly/index.xml b/grace/weekly/index.xml deleted file mode 100644 index b2420ef329d..00000000000 --- a/grace/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Grace Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:40Z - Weekly Trending of Grace in GitHub - - \ No newline at end of file diff --git a/gradle/daily/index.xml b/gradle/daily/index.xml index af28ba6037a..a0cc1afc96e 100644 --- a/gradle/daily/index.xml +++ b/gradle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gradle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:12Z + 2023-10-23T01:30:42Z Daily Trending of Gradle in GitHub \ No newline at end of file diff --git a/gradle/weekly/index.xml b/gradle/weekly/index.xml deleted file mode 100644 index d3e2f4ba7c5..00000000000 --- a/gradle/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gradle Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:39Z - Weekly Trending of Gradle in GitHub - - \ No newline at end of file diff --git a/grammatical-framework/daily/index.xml b/grammatical-framework/daily/index.xml index 2669c391d71..a8735424c81 100644 --- a/grammatical-framework/daily/index.xml +++ b/grammatical-framework/daily/index.xml @@ -1,7 +1,7 @@ GitHub Grammatical Framework Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:11Z + 2023-10-23T01:30:40Z Daily Trending of Grammatical Framework in GitHub \ No newline at end of file diff --git a/grammatical-framework/weekly/index.xml b/grammatical-framework/weekly/index.xml deleted file mode 100644 index a441e9f5c3e..00000000000 --- a/grammatical-framework/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Grammatical Framework Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:41Z - Weekly Trending of Grammatical Framework in GitHub - - \ No newline at end of file diff --git a/graph-modeling-language/daily/index.xml b/graph-modeling-language/daily/index.xml index 3b40347f2c0..a70ea936c44 100644 --- a/graph-modeling-language/daily/index.xml +++ b/graph-modeling-language/daily/index.xml @@ -1,7 +1,7 @@ GitHub Graph Modeling Language Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:16Z + 2023-10-23T01:30:44Z Daily Trending of Graph Modeling Language in GitHub \ No newline at end of file diff --git a/graph-modeling-language/weekly/index.xml b/graph-modeling-language/weekly/index.xml deleted file mode 100644 index 907a7e2fdb4..00000000000 --- a/graph-modeling-language/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Graph Modeling Language Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:43Z - Weekly Trending of Graph Modeling Language in GitHub - - \ No newline at end of file diff --git a/graphql/daily/index.xml b/graphql/daily/index.xml index 235aea82d1e..023c6d46462 100644 --- a/graphql/daily/index.xml +++ b/graphql/daily/index.xml @@ -1,7 +1,7 @@ GitHub GraphQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:15Z + 2023-10-23T01:30:45Z Daily Trending of GraphQL in GitHub \ No newline at end of file diff --git a/graphql/weekly/index.xml b/graphql/weekly/index.xml deleted file mode 100644 index a15bdf2d6b6..00000000000 --- a/graphql/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GraphQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:42Z - Weekly Trending of GraphQL in GitHub - - \ No newline at end of file diff --git a/graphviz-(dot)/daily/index.xml b/graphviz-(dot)/daily/index.xml index 8d5faccf5f7..619ee2fc56b 100644 --- a/graphviz-(dot)/daily/index.xml +++ b/graphviz-(dot)/daily/index.xml @@ -1,7 +1,7 @@ GitHub Graphviz (DOT) Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:16Z + 2023-10-23T01:30:46Z Daily Trending of Graphviz (DOT) in GitHub \ No newline at end of file diff --git a/graphviz-(dot)/weekly/index.xml b/graphviz-(dot)/weekly/index.xml deleted file mode 100644 index 54d90eea862..00000000000 --- a/graphviz-(dot)/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Graphviz (DOT) Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:44Z - Weekly Trending of Graphviz (DOT) in GitHub - - \ No newline at end of file diff --git a/groovy-server-pages/daily/index.xml b/groovy-server-pages/daily/index.xml index 584e292ec67..7bbad3fed15 100644 --- a/groovy-server-pages/daily/index.xml +++ b/groovy-server-pages/daily/index.xml @@ -1,7 +1,7 @@ GitHub Groovy Server Pages Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:22Z + 2023-10-23T01:30:50Z Daily Trending of Groovy Server Pages in GitHub \ No newline at end of file diff --git a/groovy-server-pages/weekly/index.xml b/groovy-server-pages/weekly/index.xml deleted file mode 100644 index a6dd855726d..00000000000 --- a/groovy-server-pages/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Groovy Server Pages Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:48Z - Weekly Trending of Groovy Server Pages in GitHub - - \ No newline at end of file diff --git a/groovy/daily/index.xml b/groovy/daily/index.xml index 1731b4d97c2..50154de6d86 100644 --- a/groovy/daily/index.xml +++ b/groovy/daily/index.xml @@ -1,21 +1,7 @@ GitHub Groovy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:19Z + 2023-10-23T01:30:48Z Daily Trending of Groovy in GitHub - - uclahs-cds/pipeline-Nextflow-config - 2023-10-22T01:33:19Z - tag:github.com,2023-10-22:/uclahs-cds/pipeline-Nextflow-config - - <p>Set of commonly used Nextflow configs</p><hr> - - - naresh26git/shared-library - 2023-10-22T01:33:19Z - tag:github.com,2023-10-22:/naresh26git/shared-library - - <p></p><hr> - \ No newline at end of file diff --git a/groovy/weekly/index.xml b/groovy/weekly/index.xml deleted file mode 100644 index 57eba71b33b..00000000000 --- a/groovy/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Groovy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:47Z - Weekly Trending of Groovy in GitHub - - - bcgov-nr/polaris-pipelines - 2023-10-22T01:52:47Z - tag:github.com,2023-10-22:/bcgov-nr/polaris-pipelines - - <p></p><hr> - - - bcgov-nr/polaris-shared-libraries - 2023-10-22T01:52:47Z - tag:github.com,2023-10-22:/bcgov-nr/polaris-shared-libraries - - <p></p><hr> - - - vladvoic/tomcatGradleExample - 2023-10-22T01:52:47Z - tag:github.com,2023-10-22:/vladvoic/tomcatGradleExample - - <p>tomcat gradle hot swap example</p><hr> - - \ No newline at end of file diff --git a/gsc/daily/index.xml b/gsc/daily/index.xml index 81ce9101937..e53867a8026 100644 --- a/gsc/daily/index.xml +++ b/gsc/daily/index.xml @@ -1,7 +1,7 @@ GitHub GSC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:21Z + 2023-10-23T01:30:49Z Daily Trending of GSC in GitHub \ No newline at end of file diff --git a/gsc/weekly/index.xml b/gsc/weekly/index.xml deleted file mode 100644 index e20cdbd496b..00000000000 --- a/gsc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GSC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:49Z - Weekly Trending of GSC in GitHub - - \ No newline at end of file diff --git a/hack/daily/index.xml b/hack/daily/index.xml index c70bd1dd9a4..738efc22f98 100644 --- a/hack/daily/index.xml +++ b/hack/daily/index.xml @@ -1,14 +1,7 @@ GitHub Hack Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:23Z + 2023-10-23T01:30:52Z Daily Trending of Hack in GitHub - - SI4019/VB - 2023-10-22T01:33:23Z - tag:github.com,2023-10-22:/SI4019/VB - - <p>SI-VB 2023-2024</p><hr> - \ No newline at end of file diff --git a/hack/weekly/index.xml b/hack/weekly/index.xml deleted file mode 100644 index 61c74bfcb28..00000000000 --- a/hack/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Hack Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:50Z - Weekly Trending of Hack in GitHub - - - SI4019/VB - 2023-10-22T01:52:50Z - tag:github.com,2023-10-22:/SI4019/VB - - <p>SI-VB 2023-2024</p><hr> - - - MadhushaPrasad/Diagon-Alley - 2023-10-22T01:52:50Z - tag:github.com,2023-10-22:/MadhushaPrasad/Diagon-Alley - - <p>Happy Hacktober! This is a beginner friendly repository made specifically for Hacktoberfest that helps you get your first PR.</p><hr> - - \ No newline at end of file diff --git a/haml/daily/index.xml b/haml/daily/index.xml index e8b43edf3dc..b5eaa4bdc65 100644 --- a/haml/daily/index.xml +++ b/haml/daily/index.xml @@ -1,7 +1,7 @@ GitHub Haml Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:20Z + 2023-10-23T01:30:51Z Daily Trending of Haml in GitHub \ No newline at end of file diff --git a/haml/weekly/index.xml b/haml/weekly/index.xml deleted file mode 100644 index a459c102c27..00000000000 --- a/haml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Haml Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:51Z - Weekly Trending of Haml in GitHub - - \ No newline at end of file diff --git a/handlebars/daily/index.xml b/handlebars/daily/index.xml index 6eea649f302..483419c8abc 100644 --- a/handlebars/daily/index.xml +++ b/handlebars/daily/index.xml @@ -1,7 +1,7 @@ GitHub Handlebars Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:29Z + 2023-10-23T01:30:55Z Daily Trending of Handlebars in GitHub \ No newline at end of file diff --git a/handlebars/weekly/index.xml b/handlebars/weekly/index.xml deleted file mode 100644 index 2d711b37a21..00000000000 --- a/handlebars/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Handlebars Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:54Z - Weekly Trending of Handlebars in GitHub - - \ No newline at end of file diff --git a/haproxy/daily/index.xml b/haproxy/daily/index.xml index bcce5fcf7c0..9852274f86d 100644 --- a/haproxy/daily/index.xml +++ b/haproxy/daily/index.xml @@ -1,7 +1,7 @@ GitHub HAProxy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:25Z + 2023-10-23T01:30:54Z Daily Trending of HAProxy in GitHub \ No newline at end of file diff --git a/haproxy/weekly/index.xml b/haproxy/weekly/index.xml deleted file mode 100644 index ea964357861..00000000000 --- a/haproxy/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HAProxy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:52Z - Weekly Trending of HAProxy in GitHub - - \ No newline at end of file diff --git a/harbour/daily/index.xml b/harbour/daily/index.xml index 37d8f977647..1c673247892 100644 --- a/harbour/daily/index.xml +++ b/harbour/daily/index.xml @@ -1,7 +1,7 @@ GitHub Harbour Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:24Z + 2023-10-23T01:30:56Z Daily Trending of Harbour in GitHub \ No newline at end of file diff --git a/harbour/weekly/index.xml b/harbour/weekly/index.xml deleted file mode 100644 index 4e46302fa44..00000000000 --- a/harbour/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Harbour Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:52Z - Weekly Trending of Harbour in GitHub - - \ No newline at end of file diff --git a/haskell/daily/index.xml b/haskell/daily/index.xml index 24b6119596d..9641620e148 100644 --- a/haskell/daily/index.xml +++ b/haskell/daily/index.xml @@ -1,14 +1,14 @@ GitHub Haskell Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:29Z + 2023-10-23T01:30:59Z Daily Trending of Haskell in GitHub - Frost-Lord/HaskMate - 2023-10-22T01:33:29Z - tag:github.com,2023-10-22:/Frost-Lord/HaskMate - - <p>HaskMate is a Haskell-based project monitoring and automation tool designed to continuously watches for changes in your Haskell source files and automatically triggers a rebuild and re-execution of the project whenever a modification is detected.</p><hr><h1>HaskMate: Your Haskell Development Companion</h1> <p><img src="https://raw.githubusercontent.com/Frost-Lord/HaskMate/main/Images/img.png" alt="HaskMate Preview"> <a href="https://github.com/Frost-Lord/HaskMate/raw/main/Images/intro.gif"><img src="https://raw.githubusercontent.com/Frost-Lord/HaskMate/main/Images/intro.gif" alt="Haskmate Video"></a></p> <p>HaskMate is a Haskell-based project monitoring and automation tool, designed to aid Haskell developers in streamlining their workflow. It continuously watches for changes in your Haskell source files and automatically triggers a rebuild and re-execution of the project whenever a modification is detected.</p> <p>Crafted for simplicity and efficiency, HaskMate keeps an eye on your file modifications, relieving you from the constant back-and-forth manual building process. It allows developers to focus on what matters the most: writing high-quality Haskell code. With built-in support for smart detection and colorful console outputs, HaskMate is more than just a development tool; it's your mate in Haskell development.</p> <p>Whether you're prototyping a new function, or debugging a complex piece of logic, HaskMate stands by you, ensuring your changes are instantly built and run, providing immediate feedback on your modifications. It's like having a vigilant companion by your side, dedicated to making your Haskell programming experience smoother and more enjoyable.</p> <p>Embrace the Haskell way with HaskMate!</p> <h2>Installation and Usage</h2> <ol> <li> <p><strong>Prerequisites:</strong></p> <ul> <li>Ensure that you have Haskell and Cabal installed on your system. You can download them from the official Haskell website: <a href="https://www.haskell.org/downloads">https://www.haskell.org/downloads</a>.</li> </ul> </li> <li> <p><strong>Clone the Haskmate Repository:</strong></p> <ul> <li>Download the latest version</li> <li>Click the Green code button</li> <li>Click Download ZIP</li> </ul> </li> <li> <p><strong>Install Haskmate Dependencies:</strong></p> <ul> <li>Run the following command to install the required dependencies using Cabal: <pre><code>cabal install --only-dependencies </code></pre> </li> </ul> </li> <li> <p><strong>Build Haskmate:</strong></p> <ul> <li>Once the dependencies are installed, build Haskmate by running the following command: <pre><code>cabal build </code></pre> </li> </ul> </li> <li> <p><strong>Install Haskmate:</strong></p> <ul> <li>To install Haskmate on your system, execute the install.ps1 in powershell: <pre><code>Set-ExecutionPolicy RemoteSigned -Scope CurrentUser &amp;&amp; install.ps1 </code></pre> </li> </ul> </li> <li> <p><strong>Verify the Installation:</strong></p> <ul> <li>After a successful installation, you can check if Haskmate is working by running the following command: <pre><code>haskmate --version </code></pre> </li> <li>If the installation was successful, it will display the version number of Haskmate.</li> </ul> </li> </ol> <h2>Custom Settings (Optional)</h2> <ul> <li>There are 2 options <ul> <li>Delay : The delay it will take till it re-starts the program after a change is made</li> <li>Ignore : Which files to ignore when a change is made</li> </ul> </li> </ul> <pre><code class="language-json">{ "delay": 1000000, "ignore": ["./logs.txt", "./src/loop.hs"] "script": "stack" } </code></pre> <h2>Key Features</h2> <ul> <li><strong>Automatic File Watch</strong>: HaskMate tracks modifications to your Haskell source files in real-time. Once you save a change, it kicks into action.</li> <li><strong>Instant Build and Re-run</strong>: Upon detecting a file modification, HaskMate triggers a rebuild of your project, followed by an execution of the updated build.</li> <li><strong>Smart Detection</strong>: HaskMate employs an efficient change detection mechanism to ensure no unnecessary builds are run.</li> <li><strong>Colored Console Outputs</strong>: Keep track of what's happening through informative, color-coded console outputs.</li> <li><strong>Settings</strong>: Control what files you want to be monitored in the dir and the delay till it re-starts</li> </ul> <h2>Future Plans</h2> <ul> <li>Ability to customize the file watch pattern to include or exclude specific files or directories.</li> <li>Integration with popular Haskell test frameworks for automated testing.</li> </ul> <h2>Contributing</h2> <p>We warmly welcome and appreciate contributions from the community. To contribute:</p> <ol> <li>Fork the repository.</li> <li>Create a new branch for your feature or bug fix (<code>git checkout -b feature/YourFeature</code>).</li> <li>Make your changes.</li> <li>Commit your changes (<code>git commit -m 'Add some feature'</code>).</li> <li>Push to the branch (<code>git push origin feature/YourFeature</code>).</li> <li>Open a new Pull Request.</li> </ol> <p>Before submitting your Pull Request, please make sure to follow our coding style and conventions. Your contributions make HaskMate better - thank you!</p> + Airsequel/SQLiteDAV + 2023-10-23T01:30:59Z + tag:github.com,2023-10-23:/Airsequel/SQLiteDAV + + <p>WebDAV server that maps an SQLite database to directories/files</p><hr><h1>SQLiteDAV</h1> <p>WebDAV server that maps an SQLite database to directories/files.</p> <table> <thead> <tr> <th></th> <th></th> </tr> </thead> <tbody> <tr> <td>Database Schema</td> <td><img src="https://raw.githubusercontent.com/Airsequel/SQLiteDAV/main/images/2023-10-16t1031_sql.png" alt="SQL Schema Code"></td> </tr> <tr> <td>File View</td> <td><img src="https://raw.githubusercontent.com/Airsequel/SQLiteDAV/main/images/2023-10-17t2031_finder.png" alt="Screenshot of macOS Finder"></td> </tr> </tbody> </table> <h2>Installation</h2> <p>Prerequisite: <a href="https://docs.haskellstack.org/en/stable/#how-to-install-stack">Install Stack</a></p> <pre><code class="language-sh">git clone https://github.com/Airsequel/SQLiteDAV cd SQLiteDAV stack install </code></pre> <h2>Usage</h2> <ol> <li>Start WebDAV server: <pre><code class="language-sh">sqlitedav --dbpath path/to/database.sqlite </code></pre> </li> <li>Connect your WebDAV client to <code>http://localhost:1234</code> <br> (E.g. with macOS Finder by executing <code>cmd + k</code>)</li> </ol> <h2>Roadmap</h2> <p>The next features are implemented based on popular demand. So please upvote any <a href="https://github.com/Airsequel/SQLiteDAV/issues">issues</a> you would like to see implemented!</p> \ No newline at end of file diff --git a/haskell/weekly/index.xml b/haskell/weekly/index.xml deleted file mode 100644 index 7c816de1513..00000000000 --- a/haskell/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Haskell Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:52:57Z - Weekly Trending of Haskell in GitHub - - - bobzhangwz/ubuntu-setup - 2023-10-22T01:52:57Z - tag:github.com,2023-10-22:/bobzhangwz/ubuntu-setup - - <p>my own linux setup</p><hr><p>Adobe Systems Incorporated Flash Player 11 for Linux Version 11.2.202.297 2012</p> <p>Adobe recommends that all users upgrade to the latest version of Adobe Flash Player for the most recent features, bug fixes, and security fixes. For more information on the new features in Flash Player 9, please visit <a href="http://www.adobe.com/products/flashplayer/">http://www.adobe.com/products/flashplayer/</a>. For more information on system requirements, fixed issues, and known issues, see the release notes at <a href="http://www.adobe.com/go/flashplayer_releasenotes">http://www.adobe.com/go/flashplayer_releasenotes</a>.</p> <p>To confirm which version of Flash Player you have currently installed, see <a href="http://www.adobe.com/software/flash/about/">http://www.adobe.com/software/flash/about/</a>. Users should only install Players that have been downloaded from trusted sources, such as <a href="http://www.adobe.com/">http://www.adobe.com/</a>.</p> <p>Your use of this player is governed by the Adobe End User License Agreement found at <a href="http://www.adobe.com/products/eulas/players/flash/">http://www.adobe.com/products/eulas/players/flash/</a>.</p> <h2>Privacy</h2> <p>Adobe is committed to preserving the privacy of end users. For more information on configuring Client-side privacy visit the Settings Manager Documentation: <a href="http://www.adobe.com/go/flashplayerhelp">http://www.adobe.com/go/flashplayerhelp</a>.</p> <h2>Installation instructions</h2> <p>Installing using the plugin tar.gz: o Unpack the plugin tar.gz and copy the files to the appropriate location.<br> o Save the plugin tar.gz locally and note the location the file was saved to. o Launch terminal and change directories to the location the file was saved to. o Unpack the tar.gz file. Once unpacked you will see the following: + libflashplayer.so + /usr o Identify the location of the browser plugins directory, based on your Linux distribution and Firefox version o Copy libflashplayer.so to the appropriate browser plugins directory. At the prompt type: + cp libflashlayer.so <browserpluginslocation> o Copy the Flash Player Local Settings configurations files to the /usr directory. At the prompt type: + sudo cp -r usr/* /usr </browserpluginslocation></p> <p>Installing the plugin using RPM: o As root, enter in terminal: + # rpm -Uvh &lt;rpm_package_file&gt; + Click Enter key and follow prompts</p> <p>Installing the standalone player: o Unpack the tar.gz file o To execute the standalone player, + Double-click, or + Enter in terminal: ./flashplayer</p> <h2>Uninstallation instructions</h2> <p>Manual uninstallation (for users who installed the plugin via Install script): o Delete libflashplayer.so binary and flashplayer.xpt file in directory /home/ <user> /.mozilla/plugins/ </user></p> <p>RPM uninstallation: o As root, enter in terminal: + # rpm -e flash-plugin + Click Enter key and follow prompts</p> <h2>Technical Issues and Reporting Bugs</h2> <p>The Adobe Flash Player Support Center at <a href="http://www.adobe.com/support/flashplayer/">http://www.adobe.com/support/flashplayer/</a> is a free online resource for support and troubleshooting information. Bug reports may be submitted at <a href="http://www.adobe.com/go/wish">http://www.adobe.com/go/wish</a>. To allow us to investigate reported bugs, please include the following information:</p> <ol> <li>Platform and version</li> <li>Browser version</li> <li>Reproducible steps including a URL to the web site where the problem was encountered.</li> </ol> <p>If we need further information about a bug, you will be contacted. An automated reply will be sent to assure you that we have received your bug report. Due to the volume of mail received, we are not able to individually respond to each report.</p> <p>Use the following commands to generate dependency lists for Flash Player or the Local Setting Manager:</p> <p>Flash Player: ldd <browserpluginslocation> /libflashplayer.so </browserpluginslocation></p> <p>Gnome Local Setting Manager: ldd /usr/lib/kcm_adobe_flash_player.so (for 32-bit systems) ldd /usr/lib64/kcm_adobe_flash_player.so (for 64-bit systems)</p> <p>KDE Local Settings Manager: ldd /usr/bin/flash-player-properties</p> <h2>Legal</h2> <p>Adobe(R) Flash(R) Player. Copyright (C) 1996 - 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe and Flash are either trademarks or registered trademarks in the United States and/or other countries.</p> - - - jaspervdj/patat - 2023-10-22T01:52:57Z - tag:github.com,2023-10-22:/jaspervdj/patat - - <p>Terminal-based presentations using Pandoc</p><hr><h1>🥔 patat</h1> <p><img src="https://github.com/jaspervdj/patat/workflows/CI/badge.svg?sanitize=true" alt="CI"> <a href="https://hackage.haskell.org/package/patat"><img src="https://img.shields.io/hackage/v/patat.svg?sanitize=true" alt="Hackage"></a> <a href=""><img src="https://img.shields.io/github/tag/jaspervdj/patat.svg?sanitize=true" alt="GitHub tag"></a></p> <p><code>patat</code> (<strong>P</strong>resentations <strong>A</strong>top <strong>T</strong>he <strong>A</strong>NSI <strong>T</strong>erminal) is a feature-rich presentation tool that runs in the terminal.</p> <ul> <li>Understands most markdown extensions and many other input formats (rST, Org-mode...) by building on top of <a href="http://pandoc.org/">Pandoc</a>.</li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#evaluating-code">Evaluate code snippets and show the result</a>.</li> <li>Syntax highlighting for nearly one hundred languages generated from <a href="https://kate-editor.org/">Kate</a> syntax files.</li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#running">Automatically reload</a> your slides as you edit them.</li> <li>Display <a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#speaker-notes">speaker notes</a> in a second window or monitor.</li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#fragmented-slides">Incremental slide display</a>.</li> <li>Experimental <a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#images">images</a> support.</li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#transitions">Transition effects</a>.</li> <li>Supports <a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#input-format">smart slide splitting</a>.</li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#auto-advancing">Auto advancing</a> with configurable delay.</li> <li>Optionally <a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#line-wrapping">re-wrapping</a> text to terminal width with proper indentation.</li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#theming">Theming</a> support including 24-bit RGB.</li> <li>Hihgly portable as it only requires an ANSI terminal as opposed to something like <code>ncurses</code>.</li> </ul> <p><img src="https://raw.githubusercontent.com/jaspervdj/patat/main/extra/demo.gif?raw=true" alt="screenshot"></p> <h2>Table of Contents</h2> <ul> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#table-of-contents">Table of Contents</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#installation">Installation</a> <ul> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#pre-built-packages">Pre-built-packages</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#homebrew">Homebrew</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#from-source">From source</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#running">Running</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#options">Options</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#controls">Controls</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#input-format">Input format</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#configuration">Configuration</a> <ul> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#line-wrapping">Line wrapping</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#margins">Margins</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#auto-advancing">Auto advancing</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#advanced-slide-splitting">Advanced slide splitting</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#fragmented-slides">Fragmented slides</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#theming">Theming</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#syntax-highlighting">Syntax Highlighting</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#pandoc-extensions">Pandoc Extensions</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#images">Images</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#breadcrumbs">Breadcrumbs</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#slide-numbers">Slide numbers</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#evaluating-code">Evaluating code</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#speaker-notes">Speaker notes</a></li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#transitions">Transitions</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#trivia">Trivia</a></li> </ul> <h2>Installation</h2> <h3>Pre-built-packages</h3> <ul> <li>Archlinux: <a href="https://aur.archlinux.org/packages/patat-bin">https://aur.archlinux.org/packages/patat-bin</a></li> <li>Debian: <a href="https://packages.debian.org/unstable/patat">https://packages.debian.org/unstable/patat</a></li> <li>Ubuntu: <a href="https://packages.ubuntu.com/bionic/patat">https://packages.ubuntu.com/bionic/patat</a></li> <li>openSUSE: <a href="https://build.opensuse.org/package/show/openSUSE:Factory:ARM/patat">https://build.opensuse.org/package/show/openSUSE:Factory:ARM/patat</a></li> <li>Fedora: <a href="https://src.fedoraproject.org/rpms/patat">https://src.fedoraproject.org/rpms/patat</a></li> <li>NixOS: <a href="https://search.nixos.org/packages?show=haskellPackages.patat">https://search.nixos.org/packages?show=haskellPackages.patat</a></li> </ul> <p>You can also find generic Linux and Mac OS binaries here: <a href="https://github.com/jaspervdj/patat/releases">https://github.com/jaspervdj/patat/releases</a>.</p> <h3>Homebrew</h3> <p><a href="https://brew.sh/">Homebrew</a> packages are offered by a <a href="https://github.com/nicholasdille/homebrew-tap">third-party repository</a>. <strong>Unfortunately this repo has been archived, and the latest version that can be installed from there is v0.8.7.0</strong>. If you would like to contribute here, please contact us by opening an issue.</p> <ol> <li>Run <code>brew tap nicholasdille/tap</code>.</li> <li>Run <code>brew install patat-bin</code> to receive the official binaries or <code>brew install patat</code> for pre-built ("bottled") binaries.</li> </ol> <h3>From source</h3> <p>Installation from source is very easy. You can build from source using <code>stack install</code> or <code>cabal install</code>. <code>patat</code> is also available from <a href="https://hackage.haskell.org/package/patat">Hackage</a>.</p> <p>For people unfamiliar with the Haskell ecosystem, this means you can do either of the following:</p> <h4>Using stack</h4> <ol> <li>Install <a href="https://docs.haskellstack.org/en/stable/README/">stack</a> for your platform.</li> <li>Clone this repository.</li> <li>Run <code>stack setup</code> (if you're running stack for the first time) and <code>stack install</code>.</li> <li>Make sure <code>$HOME/.local/bin</code> is in your <code>$PATH</code>.</li> </ol> <h4>Using cabal</h4> <ol> <li>Install <a href="https://www.haskell.org/cabal/">cabal</a> for your platform.</li> <li>Run <code>cabal install patat</code>.</li> <li>Make sure <code>$HOME/.cabal/bin</code> is in your <code>$PATH</code>.</li> </ol> <h2>Running</h2> <p><code>patat [*options*] file</code></p> <h2>Options</h2> <p><code>-w</code>, <code>--watch</code></p> <p>: If you provide the <code>--watch</code> flag, <code>patat</code> will watch the presentation file for changes and reload automatically. This is very useful when you are writing the presentation.</p> <p><code>-f</code>, <code>--force</code></p> <p>: Run the presentation even if the terminal claims it does not support ANSI features.</p> <p><code>-d</code>, <code>--dump</code></p> <p>: Just dump all the slides to stdout. This is useful for debugging.</p> <p><code>--version</code></p> <p>: Display version information.</p> <h2>Controls</h2> <ul> <li><strong>Next slide</strong>: <code>space</code>, <code>enter</code>, <code>l</code>, <code>→</code>, <code>PageDown</code></li> <li><strong>Previous slide</strong>: <code>backspace</code>, <code>h</code>, <code>←</code>, <code>PageUp</code></li> <li><strong>Go forward 10 slides</strong>: <code>j</code>, <code>↓</code></li> <li><strong>Go backward 10 slides</strong>: <code>k</code>, <code>↑</code></li> <li><strong>First slide</strong>: <code>0</code></li> <li><strong>Last slide</strong>: <code>G</code></li> <li><strong>Jump to slide N</strong>: <code>N</code> followed by <code>enter</code></li> <li><strong>Reload file</strong>: <code>r</code></li> <li><strong>Quit</strong>: <code>q</code></li> </ul> <p>The <code>r</code> key is very useful since it allows you to preview your slides while you are writing them. You can also use this to fix artifacts when the terminal is resized.</p> <h2>Input format</h2> <p>The input format can be anything that Pandoc supports. Plain markdown is usually the most simple solution:</p> <pre><code class="language-markdown">--- title: This is my presentation author: Jane Doe ... # This is a slide Slide contents. Yay. --- # Important title Things I like: - Markdown - Haskell - Pandoc </code></pre> <p>Horizontal rulers (<code>---</code>) are used to split slides.</p> <p>However, if you prefer not use these since they are a bit intrusive in the markdown, you can also start every slide with a header. In that case, the file should not contain a single horizontal ruler.</p> <p><code>patat</code> will pick the most deeply nested header (e.g. <code>h2</code>) as the marker for a new slide. Headers <em>above</em> the most deeply nested header (e.g. <code>h1</code>) will turn into title slides, which are displayed as as a slide containing only the centered title.</p> <p>This means the following document is equivalent to the one we saw before:</p> <pre><code class="language-markdown">--- title: This is my presentation author: Jane Doe ... # This is a slide Slide contents. Yay. # Important title Things I like: - Markdown - Haskell - Pandoc </code></pre> <p>And that following document contains three slides: a title slide, followed by two content slides.</p> <pre><code class="language-markdown">--- title: This is my presentation author: Jane Doe ... # Chapter 1 ## This is a slide Slide contents. Yay. ## Another slide Things I like: - Markdown - Haskell - Pandoc </code></pre> <p>For more information, see <a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#advanced-slide-splitting">Advanced slide splitting</a>.</p> <h2>Configuration</h2> <p><code>patat</code> is fairly configurable. The configuration is done using <a href="http://yaml.org/">YAML</a>. There are several places where you can put your configuration.</p> <ol> <li> <p>For per-user configuration you can use <code>$XDG_CONFIG_DIRECTORY/patat/config.yaml</code> (typically <code>$HOME/.config/patat/config.yaml</code>) or <code>$HOME/.patat.yaml</code>, for example:</p> <pre><code class="language-yaml">slideNumber: false </code></pre> </li> <li> <p>In the presentation file itself, using the <a href="http://pandoc.org/MANUAL.html#extension-yaml_metadata_block">Pandoc metadata header</a>. These settings take precedence over anything specified in the per-user configuration file. They must be placed in a <code>patat:</code> section, so they don't conflict with metadata:</p> <pre><code class="language-markdown">--- title: Presentation with options author: John Doe patat: slideNumber: false ... Hello world. </code></pre> </li> <li> <p>Within a slide, using a comment starting with <code>&lt;!--config:</code>. These settings can override configuration for that specific slide only. There should not be any whitespace between <code>&lt;!--</code> and <code>config:</code>.</p> <pre><code class="language-markdown"># First slide Slide numbers are turned on here. # Second slide &lt;!--config: slideNumber: false --&gt; Slide numbers are turned off here. </code></pre> <p>The following settings can <strong>not</strong> be set in a slide configuration block, and doing so will result in an error:</p> <ul> <li><code>autoAdvanceDelay</code></li> <li><code>eval</code></li> <li><code>images</code></li> <li><code>incrementalLists</code></li> <li><code>pandocExtensions</code></li> <li><code>slideLevel</code></li> <li><code>speakerNotes</code></li> </ul> </li> </ol> <h3>Line wrapping</h3> <p>Line wrapping can be enabled by setting <code>wrap: true</code> in the configuration. This will re-wrap all lines to fit the terminal width better.</p> <h3>Margins</h3> <p>Margins can be enabled by setting a <code>margins</code> entry in the configuration:</p> <pre><code class="language-markdown">--- title: Presentation with margins author: John Doe patat: wrap: true margins: left: 10 right: 10 top: 5 ... Lorem ipsum dolor sit amet, ... </code></pre> <p>This example configuration will generate slides with a margin of 10 columns on the left, and it will wrap long lines 10 columns before the right side of the terminal. Additionally, there will be 5 empty lines in between the title bar and slide content.</p> <p><a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#line-wrapping">Line wrapping</a> should be enabled when using non-zero <code>right</code> margin.</p> <p>By default, the <code>left</code> and <code>right</code> margin are set to 0, and the <code>top</code> margin is set to 1.</p> <h3>Auto advancing</h3> <p>By setting <code>autoAdvanceDelay</code> to a number of seconds, <code>patat</code> will automatically advance to the next slide.</p> <pre><code class="language-markdown">--- title: Auto-advance, yes please author: John Doe patat: autoAdvanceDelay: 2 ... Hello World! --- This slide will be shown two seconds after the presentation starts. </code></pre> <p>Note that changes to <code>autoAdvanceDelay</code> are not picked up automatically if you are running <code>patat --watch</code>. This requires restarting <code>patat</code>.</p> <h3>Advanced slide splitting</h3> <p>You can control the way slide splitting works by setting the <code>slideLevel</code> variable. This variable defaults to the least header that occurs before a non-header, but it can also be explicitly defined. For example, in the following document, the <code>slideLevel</code> defaults to <strong>2</strong>:</p> <pre><code class="language-markdown"># This is a slide ## This is a nested header This is some content </code></pre> <p>With <code>slideLevel</code> 2, the <code>h1</code> will turn into a "title slide", and the <code>h2</code> will be displayed at the top of the second slide. We can customize this by setting <code>slideLevel</code> manually:</p> <pre><code class="language-markdown">--- patat: slideLevel: 1 ... # This is a slide ## This is a nested header This is some content </code></pre> <p>Now, we will only see one slide, which contains a nested header.</p> <h3>Fragmented slides</h3> <p>By default, slides are always displayed "all at once". If you want to display them fragment by fragment, there are two ways to do that. The most common case is that lists should be displayed incrementally.</p> <p>This can be configured by settings <code>incrementalLists</code> to <code>true</code> in the metadata block:</p> <pre><code class="language-markdown">--- title: Presentation with incremental lists author: John Doe patat: incrementalLists: true ... - This list - is displayed - item by item </code></pre> <p>Setting <code>incrementalLists</code> works on <em>all</em> lists in the presentation. To flip the setting for a specific list, wrap it in a block quote. This will make the list incremental if <code>incrementalLists</code> is not set, and it will display the list all at once if <code>incrementalLists</code> is set to <code>true</code>.</p> <p>This example contains a sublist which is also displayed incrementally, and then a sublist which is displayed all at once (by merit of the block quote).</p> <pre><code class="language-markdown">--- title: Presentation with incremental lists author: John Doe patat: incrementalLists: true ... - This list - is displayed * item * by item - Or sometimes &gt; * all at &gt; * once </code></pre> <p>Another way to break up slides is to use a pagraph only containing three dots separated by spaces. For example, this slide has two pauses:</p> <pre><code class="language-markdown">Legen . . . wait for it . . . Dary! </code></pre> <h3>Theming</h3> <p>Colors and other properties can also be changed using this configuration. For example, we can have:</p> <pre><code class="language-markdown">--- author: 'Jasper Van der Jeugt' title: 'This is a test' patat: wrap: true theme: emph: [vividBlue, onVividBlack, italic] strong: [bold] imageTarget: [onDullWhite, vividRed] ... # This is a presentation This is _emph_ text. ![Hello](foo.png) </code></pre> <p>The properties that can be given a list of styles are:</p> <p><code>blockQuote</code>, <code>borders</code>, <code>bulletList</code>, <code>codeBlock</code>, <code>code</code>, <code>definitionList</code>, <code>definitionTerm</code>, <code>emph</code>, <code>header</code>, <code>imageTarget</code>, <code>imageText</code>, <code>linkTarget</code>, <code>linkText</code>, <code>math</code>, <code>orderedList</code>, <code>quoted</code>, <code>strikeout</code>, <code>strong</code>, <code>tableHeader</code>, <code>tableSeparator</code>, <code>underline</code></p> <p>The accepted styles are:</p> <p><code>bold</code>, <code>italic</code>, <code>dullBlack</code>, <code>dullBlue</code>, <code>dullCyan</code>, <code>dullGreen</code>, <code>dullMagenta</code>, <code>dullRed</code>, <code>dullWhite</code>, <code>dullYellow</code>, <code>onDullBlack</code>, <code>onDullBlue</code>, <code>onDullCyan</code>, <code>onDullGreen</code>, <code>onDullMagenta</code>, <code>onDullRed</code>, <code>onDullWhite</code>, <code>onDullYellow</code>, <code>onVividBlack</code>, <code>onVividBlue</code>, <code>onVividCyan</code>, <code>onVividGreen</code>, <code>onVividMagenta</code>, <code>onVividRed</code>, <code>onVividWhite</code>, <code>onVividYellow</code>, <code>underline</code>, <code>vividBlack</code>, <code>vividBlue</code>, <code>vividCyan</code>, <code>vividGreen</code>, <code>vividMagenta</code>, <code>vividRed</code>, <code>vividWhite</code>, <code>vividYellow</code></p> <p>Also accepted are styles of the form <code>rgb#RrGgBb</code> and <code>onRgb#RrGgBb</code>, where <code>Rr</code> <code>Gg</code> and <code>Bb</code> are hexadecimal bytes (e.g. <code>rgb#f08000</code> for an orange foreground, and <code>onRgb#101060</code> for a deep purple background). Naturally, your terminal needs to support 24-bit RGB for this to work. When creating portable presentations, it might be better to stick with the named colours listed above.</p> <h3>Syntax Highlighting</h3> <p><code>patat</code> uses <a href="https://kate-editor.org/">Kate</a> Syntax Highlighting files. <code>patat</code> ships with support for nearly one hundred languages thanks to Pandoc. However, if your language is not yet available, you can add the highlighting XML file in the settings:</p> <pre><code class="language-markdown">--- patat: syntaxDefinitions: - 'impurescript.xml' ... ... </code></pre> <p>As part of theming, syntax highlighting is also configurable. This can be configured like this:</p> <pre><code class="language-markdown">--- patat: theme: syntaxHighlighting: decVal: [bold, onDullRed] ... ... </code></pre> <p><code>decVal</code> refers to "decimal values". This is known as a "token type". For a full list of token types, see <a href="https://hackage.haskell.org/package/highlighting-kate-0.6.3/docs/Text-Highlighting-Kate-Types.html#t:TokenType">this list</a> -- the names are derived from there in an obvious way.</p> <p>Note that in order to get syntax highlighting to work, you should annotate code blocks with the language, e.g. using a fenced code block:</p> <pre><code>```ruby puts "Hello, world!" ``` </code></pre> <h3>Pandoc Extensions</h3> <p>Pandoc comes with a fair number of extensions on top of markdown, listed <a href="https://hackage.haskell.org/package/pandoc-2.0.5/docs/Text-Pandoc-Extensions.html">here</a>.</p> <p><code>patat</code> enables a number of them by default, but this is also customizable.</p> <p>In order to enable an additional extensions, e.g. <code>autolink_bare_uris</code>, add it to the <code>pandocExtensions</code> field in the YAML metadata:</p> <pre><code class="language-markdown">--- patat: pandocExtensions: - patat_extensions - autolink_bare_uris ... Document content... </code></pre> <p>The <code>patat_extensions</code> in the above snippet refers to the default set of extensions enabled by <code>patat</code>. If you want to disable those and only use a select few extensions, simply leave it out and choose your own:</p> <pre><code class="language-markdown">--- patat: pandocExtensions: - autolink_bare_uris - emoji ... Document content... </code></pre> <p>If you don't want to enable any extensions, simply set <code>pandocExtensions</code> to the empty list <code>[]</code>.</p> <h3>Images</h3> <p><code>patat-0.8.0.0</code> and newer include images support for some terminal emulators.</p> <pre><code class="language-markdown">--- patat: images: backend: auto ... # A slide with only an image. ![](matterhorn.jpg) </code></pre> <p><code>patat</code> can display full-size images on slides. For this to work <code>images</code> must be enabled in the configuration and the slide needs to contain only a single image and no other content. The image will be centered and resized to fit the terminal window.</p> <p><code>images</code> is off by default in the configuration.</p> <p><code>patat</code> supports the following image drawing backends:</p> <ul> <li> <p><code>backend: iterm2</code>: uses <a href="https://iterm2.com/">iTerm2</a>'s special escape sequence to render the image. This even works with animated GIFs!</p> </li> <li> <p><code>backend: kitty</code>: uses <a href="https://sw.kovidgoyal.net/kitty/kittens/icat.html">Kitty's icat command</a>.</p> </li> <li> <p><code>backend: w3m</code>: uses the <code>w3mimgdisplay</code> executable to draw directly onto the window. This has been tested in <code>urxvt</code> and <code>xterm</code>, but is known to produce weird results in <code>tmux</code>.</p> <p>If <code>w3mimgdisplay</code> is in a non-standard location, you can specify that using <code>path</code>:</p> <pre><code class="language-yaml">backend: 'w3m' path: '/home/jasper/.local/bin/w3mimgdisplay' </code></pre> </li> </ul> <h3>Breadcrumbs</h3> <p>By default, <code>patat</code> will print a breadcrumbs-style header, e.g.:</p> <pre><code>example.md &gt; This is a title &gt; This is a subtitle </code></pre> <p>This feature can be turned off by using:</p> <pre><code class="language-yaml">patat: breadcrumbs: false </code></pre> <h3>Slide numbers</h3> <p>By default, <code>patat</code> will display slide number in bottom-right corner</p> <p>This feature can be turned off by using:</p> <pre><code class="language-yaml">patat: slideNumber: false </code></pre> <h3>Evaluating code</h3> <p><code>patat</code> can evaluate code blocks and show the result. You can register an <em>evaluator</em> by specifying this in the YAML metadata:</p> <pre><code>--- patat: eval: ruby: command: irb --noecho --noverbose fragment: true # Optional replace: false # Optional ... Here is an example of a code block that is evaluated: ```ruby puts "Hi" ``` </code></pre> <p>An arbitrary amount of evaluators can be specified, and whenever a a class attribute on a code block matches the evaluator, it will be used.</p> <p><strong>Note that executing arbitrary code is always dangerous</strong>, so double check the code of presentations downloaded from the internet before running them if they contain <code>eval</code> settings.</p> <p>Aside from the command, there are two more options:</p> <ul> <li><code>fragment</code>: Introduce a pause (see <a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#fragmented-slides">fragments</a>) in between showing the original code block and the output. Defaults to <code>true</code>.</li> <li><code>replace</code>: Remove the original code block and replace it with the output rather than appending the output in a new code block. Defaults to <code>false</code>.</li> </ul> <p>Setting <code>fragment: false</code> and <code>replace: true</code> offers a way to "filter" code blocks, which can be used to render ASCII graphics.</p> <pre><code>--- patat: eval: figlet: command: figlet fragment: false replace: true ... ```figlet Fancy Font ``` </code></pre> <p>This feature works by simply by:</p> <ol> <li>Spawn a process with the provided command</li> <li>Write the contents of the code block to the <code>stdin</code> of the process</li> <li>Wait for the process to exit</li> <li>Render the <code>stdout</code> of the process</li> </ol> <h3>Speaker Notes</h3> <p><code>patat</code> supports comments which can be used as speaker notes.</p> <pre><code class="language-markdown">--- title: This is my presentation author: Jane Doe ... # Chapter 1 &lt;!-- Note: I should not bore the audience with my thoughts on powerpoint but just get straight to the point. --&gt; Slide contents. Yay. &lt;!-- TODO: Finish the rest of the presentation. --&gt; </code></pre> <p>You can also configure <code>patat</code> to write the speaker notes for the current slide to a file whenever the slide changes:</p> <pre><code class="language-yaml">patat: speakerNotes: file: /tmp/notes.txt </code></pre> <p>Then, you can display these in a second terminal (presumably on a second monitor) by just displaying this file whenever it changes. <a href="http://eradman.com/entrproject/">entr</a> is one way to do that:</p> <pre><code class="language-bash">echo /tmp/notes.txt | entr -s 'clear; cat /tmp/notes.txt' </code></pre> <p>Alternatively, just use a second <code>patat</code> instance with <code>--watch</code> enabled:</p> <pre><code class="language-bash">patat -w /tmp/notes.txt </code></pre> <p>Note that speaker notes should not start with <code>&lt;!--config:</code>, since then they will be parsed as <a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#configuration">configuration</a> blocks. They are allowed to start with <code>&lt;!-- config:</code>; the lack of whitespace matters.</p> <h3>Transitions</h3> <p><code>patat</code> supports transitions in between slides. A relatively fast terminal emulator (e.g. <a href="https://alacritty.org/">Alacritty</a>, <a href="https://sw.kovidgoyal.net/kitty/">Kitty</a>, <a href="https://iterm2.com/">iTerm2</a>) is suggested when enabling this, to avoid too much flickering -- some flickering is unavoidable since we redraw the entire screen on each frame.</p> <pre><code class="language-yaml">patat: transition: type: slideLeft </code></pre> <p>To set transitions on specific slides, use <code>&lt;!--config:</code> blocks, as detailed in the <a href="https://raw.githubusercontent.com/jaspervdj/patat/main/#configuration">configuration section</a>. For example:</p> <pre><code class="language-markdown"># Slide one Slide one content. # Slide two &lt;!--config: transition: type: slideLeft duration: 2 --&gt; Slide two content. </code></pre> <p>Supported transitions <code>type</code>s:</p> <ul> <li><code>slideLeft</code>: slides the new slide in from right to left.</li> <li><code>dissolve</code>: changes characters over time.</li> </ul> <p>All transitions currently take these arguments:</p> <ul> <li><code>frameRate</code>: number of frames per second. Defaults to 24.</li> <li><code>duration</code>: duration of the animation in seconds. Defaults to 1.</li> </ul> <h4>Random transitions</h4> <p>You can set <code>type</code> to <code>random</code> to randomly pick a transition effect.</p> <pre><code class="language-yaml">patat: transition: type: random items: - type: dissolve duration: 3 - type: slideLeft frameRate: 10 </code></pre> <p>You can optionally set <code>items</code> to a non-empty list of transition effects to randomly sample from. If <code>items</code> is not set, <code>patat</code> will simply sample from all transition effects using their respective default settings.</p> <h2>Trivia</h2> <p><em>"Patat"</em> is the Flemish word for a simple potato. Dutch people also use it to refer to French Fries but I don't really do that -- in Belgium we just call fries <em>"Frieten"</em>.</p> <p>The idea of <code>patat</code> is largely based upon <a href="https://github.com/visit1985/mdp">MDP</a> which is in turn based upon <a href="https://github.com/jclulow/vtmc">VTMC</a>. I wanted to write a clone using Pandoc because I ran into a markdown parsing bug in MDP which I could not work around. A second reason to do a Pandoc-based tool was that I would be able to use <a href="https://wiki.haskell.org/Literate_programming">Literate Haskell</a> as well. Lastly, I also prefer not to install Node.js on my machine if I can avoid it.</p> - - - kawu/crf-chain1-constrained - 2023-10-22T01:52:57Z - tag:github.com,2023-10-22:/kawu/crf-chain1-constrained - - <p>First-order, linear-chain conditional random fields with position-wise constraints over label values</p><hr><h1>crf-chain1-constrained</h1> <p>The library implements first-order, linear-chain conditional random fields with position-wise constraints over label values.</p> - - \ No newline at end of file diff --git a/haxe/daily/index.xml b/haxe/daily/index.xml index be56c24473f..ee546fce876 100644 --- a/haxe/daily/index.xml +++ b/haxe/daily/index.xml @@ -1,7 +1,7 @@ GitHub Haxe Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:42Z + 2023-10-23T01:31:17Z Daily Trending of Haxe in GitHub \ No newline at end of file diff --git a/haxe/weekly/index.xml b/haxe/weekly/index.xml deleted file mode 100644 index 5bb8abd4891..00000000000 --- a/haxe/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Haxe Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:10Z - Weekly Trending of Haxe in GitHub - - - regniraj/pixi.js-haxe-extern - 2023-10-22T01:53:10Z - tag:github.com,2023-10-22:/regniraj/pixi.js-haxe-extern - - <p>small haxe extern for pixi.js</p><hr><h1>pixi.js-haxe-extern</h1> <p>small extern to be used with haxe js <a href="https://github.com/GoodBoyDigital/pixi.js">pixi.js</a> demo using pixi.js-haxe-extern <br></p> <h3>Usage</h3> <pre><code class="language-haxe"> package test; import js.Dom; import js.Lib; import pixi.AssetLoader; import pixi.CommonRenderer; import pixi.DisplayObjectContainer; import pixi.Global; import pixi.PIXI; import pixi.Sprite; import pixi.Stage; import pixi.WebGLRenderer; class Main { static var aliens:Array&lt;Dynamic&gt; = []; static var count:Float = 0; static var alienFrames:Array&lt;String&gt; = ["eggHead.png", "flowerTop.png", "helmlok.png", "skully.png"]; static var alienContainer:DisplayObjectContainer = new DisplayObjectContainer(); static var renderer:CommonRenderer ; static var stage:Stage = new Stage(0xFFFFFF); static function animate() { Global.request(animate); // just for fun, lets rotate mr rabbit a little for ( i in 0...100) { var alien = aliens[i]; alien.rotation += 0.1; } count += 0.01; alienContainer.scale.x = Math.sin(count); alienContainer.scale.y = Math.sin(count); alienContainer.rotation += 0.01; // render the stage renderer.render(stage); } static function onAssetsLoaded() { // create a texture from an image path // add a bunch of aliens for (i in 0...100) { var frameName = alienFrames[i % 4]; // create an alien using the frame name.. var alien = Sprite.fromFrame(frameName); /* * fun fact for the day :) * another way of doing the above would be * var texture = PIXI.Texture.fromFrame(frameName); * var alien = new PIXI.Sprite(texture); */ alien.position.x = Math.random() * 800 - 400; alien.position.y = Math.random() * 600 - 300; alien.anchor.x = 0.5; alien.anchor.y = 0.5; aliens.push(alien); alienContainer.addChild(alien); } // start animating Global.request( animate ); } static function main() { // create an array of assets to load var assetsToLoader:Array&lt;String&gt; = [ "SpriteSheet.json"]; // create a new loader var loader:AssetLoader = new AssetLoader(assetsToLoader); // use callback loader.onComplete = onAssetsLoaded; //begin load loader.load(); // holder to store aliens // create an new instance of a pixi stage // create a renderer instance. renderer= PIXI.autoDetectRenderer(800, 600); // add the renderer view element to the DOM Lib.document.body.appendChild(renderer.view); // create an empty container alienContainer.position.x = 400; alienContainer.position.y = 300; stage.addChild(alienContainer); } } </code></pre> <p>outputs <a href="https://dl.dropbox.com/u/5114622/pixi-haxe-demo/index.html">Demo link</a></p> - - \ No newline at end of file diff --git a/hcl/daily/index.xml b/hcl/daily/index.xml index 69acb1e80c3..bd19d1ff0c5 100644 --- a/hcl/daily/index.xml +++ b/hcl/daily/index.xml @@ -1,7 +1,21 @@ GitHub HCL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:42Z + 2023-10-23T01:31:16Z Daily Trending of HCL in GitHub + + cloudposse/terraform-aws-helm-release + 2023-10-23T01:31:16Z + tag:github.com,2023-10-23:/cloudposse/terraform-aws-helm-release + + <p>Create helm release and common aws resources like an eks iam role</p><hr> + + + EPAM-JS-Competency-center/devops-fundamentals-course + 2023-10-23T01:31:16Z + tag:github.com,2023-10-23:/EPAM-JS-Competency-center/devops-fundamentals-course + + <p>Repository which contans self-study materials and home tasks for DevOps Fundamentals for JavaScript engineers course</p><hr> + \ No newline at end of file diff --git a/hcl/weekly/index.xml b/hcl/weekly/index.xml deleted file mode 100644 index d0540de9f98..00000000000 --- a/hcl/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub HCL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:10Z - Weekly Trending of HCL in GitHub - - - sd031/three-tier-eks-iac - 2023-10-22T01:53:10Z - tag:github.com,2023-10-22:/sd031/three-tier-eks-iac - - <p></p><hr> - - - cloudposse/terraform-aws-cloudtrail - 2023-10-22T01:53:10Z - tag:github.com,2023-10-22:/cloudposse/terraform-aws-cloudtrail - - <p>Terraform module to provision an AWS CloudTrail and an encrypted S3 bucket with versioning to store CloudTrail logs</p><hr> - - - ViktorUJ/cks - 2023-10-22T01:53:10Z - tag:github.com,2023-10-22:/ViktorUJ/cks - - <p>Opensource Platform for learning kubernetes and aws eks and preparation for for Certified Kubernetes Specialist (CKA ,CKS , CKAD) exams</p><hr> - - \ No newline at end of file diff --git a/hiveql/daily/index.xml b/hiveql/daily/index.xml index 3da3441258d..58c3e13f8cb 100644 --- a/hiveql/daily/index.xml +++ b/hiveql/daily/index.xml @@ -1,7 +1,7 @@ GitHub HiveQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:37Z + 2023-10-23T01:31:09Z Daily Trending of HiveQL in GitHub \ No newline at end of file diff --git a/hiveql/weekly/index.xml b/hiveql/weekly/index.xml deleted file mode 100644 index f95da345355..00000000000 --- a/hiveql/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HiveQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:05Z - Weekly Trending of HiveQL in GitHub - - \ No newline at end of file diff --git a/hlsl/daily/index.xml b/hlsl/daily/index.xml index 4a55185cf4d..7d37790b4f4 100644 --- a/hlsl/daily/index.xml +++ b/hlsl/daily/index.xml @@ -1,14 +1,7 @@ GitHub HLSL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:39Z + 2023-10-23T01:31:12Z Daily Trending of HLSL in GitHub - - DeusExMachinaTeam/EM-CommunityPatch - 2023-10-22T01:33:39Z - tag:github.com,2023-10-22:/DeusExMachinaTeam/EM-CommunityPatch - - <p>Комьюнити патч / ремастер для Ex Machina</p><hr> - \ No newline at end of file diff --git a/hlsl/weekly/index.xml b/hlsl/weekly/index.xml deleted file mode 100644 index 311fdfaa4fb..00000000000 --- a/hlsl/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub HLSL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:06Z - Weekly Trending of HLSL in GitHub - - - JamesCJ60/Universal-x86-Tuning-Utility - 2023-10-22T01:53:06Z - tag:github.com,2023-10-22:/JamesCJ60/Universal-x86-Tuning-Utility - - <p>Unlock the full potential of your Intel/AMD based device.</p><hr> - - \ No newline at end of file diff --git a/holyc/daily/index.xml b/holyc/daily/index.xml index 794f21c50f7..1fc1e8f1005 100644 --- a/holyc/daily/index.xml +++ b/holyc/daily/index.xml @@ -1,7 +1,7 @@ GitHub HolyC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:45Z + 2023-10-23T01:31:22Z Daily Trending of HolyC in GitHub \ No newline at end of file diff --git a/holyc/weekly/index.xml b/holyc/weekly/index.xml deleted file mode 100644 index 78b495767b7..00000000000 --- a/holyc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HolyC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:11Z - Weekly Trending of HolyC in GitHub - - \ No newline at end of file diff --git a/hoon/daily/index.xml b/hoon/daily/index.xml index f5afecbddb1..a98ce50e43e 100644 --- a/hoon/daily/index.xml +++ b/hoon/daily/index.xml @@ -1,7 +1,7 @@ GitHub hoon Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:44Z + 2023-10-23T01:31:21Z Daily Trending of hoon in GitHub \ No newline at end of file diff --git a/hoon/weekly/index.xml b/hoon/weekly/index.xml deleted file mode 100644 index 3d4472e96ea..00000000000 --- a/hoon/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub hoon Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:13Z - Weekly Trending of hoon in GitHub - - \ No newline at end of file diff --git a/html+ecr/daily/index.xml b/html+ecr/daily/index.xml index 10ca0f9c0ac..60e19089ab7 100644 --- a/html+ecr/daily/index.xml +++ b/html+ecr/daily/index.xml @@ -1,7 +1,7 @@ GitHub HTML+ECR Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:48Z + 2023-10-23T01:31:23Z Daily Trending of HTML+ECR in GitHub \ No newline at end of file diff --git a/html+ecr/weekly/index.xml b/html+ecr/weekly/index.xml deleted file mode 100644 index d9c00aa9362..00000000000 --- a/html+ecr/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HTML+ECR Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:17Z - Weekly Trending of HTML+ECR in GitHub - - \ No newline at end of file diff --git a/html+eex/daily/index.xml b/html+eex/daily/index.xml index c61a578b0f5..fe334d9bfe5 100644 --- a/html+eex/daily/index.xml +++ b/html+eex/daily/index.xml @@ -1,7 +1,7 @@ GitHub HTML+EEX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:49Z + 2023-10-23T01:31:24Z Daily Trending of HTML+EEX in GitHub \ No newline at end of file diff --git a/html+eex/weekly/index.xml b/html+eex/weekly/index.xml deleted file mode 100644 index 6e3db2bb7f2..00000000000 --- a/html+eex/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HTML+EEX Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:15Z - Weekly Trending of HTML+EEX in GitHub - - \ No newline at end of file diff --git a/html+erb/daily/index.xml b/html+erb/daily/index.xml index 6cdf9616ff8..3e88fd51e73 100644 --- a/html+erb/daily/index.xml +++ b/html+erb/daily/index.xml @@ -1,7 +1,7 @@ GitHub HTML+ERB Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:03Z + 2023-10-23T01:31:55Z Daily Trending of HTML+ERB in GitHub \ No newline at end of file diff --git a/html+erb/weekly/index.xml b/html+erb/weekly/index.xml deleted file mode 100644 index 9a2925a4211..00000000000 --- a/html+erb/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HTML+ERB Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:38Z - Weekly Trending of HTML+ERB in GitHub - - \ No newline at end of file diff --git a/html+php/daily/index.xml b/html+php/daily/index.xml index d7aa6a4913e..8383e9febf2 100644 --- a/html+php/daily/index.xml +++ b/html+php/daily/index.xml @@ -1,7 +1,7 @@ GitHub HTML+PHP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:02Z + 2023-10-23T01:31:55Z Daily Trending of HTML+PHP in GitHub \ No newline at end of file diff --git a/html+php/weekly/index.xml b/html+php/weekly/index.xml deleted file mode 100644 index e3efc73543d..00000000000 --- a/html+php/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HTML+PHP Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:35Z - Weekly Trending of HTML+PHP in GitHub - - \ No newline at end of file diff --git a/html+razor/daily/index.xml b/html+razor/daily/index.xml index 91ca3625782..3e5b7c4a134 100644 --- a/html+razor/daily/index.xml +++ b/html+razor/daily/index.xml @@ -1,7 +1,7 @@ GitHub HTML+Razor Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:04Z + 2023-10-23T01:31:54Z Daily Trending of HTML+Razor in GitHub \ No newline at end of file diff --git a/html+razor/weekly/index.xml b/html+razor/weekly/index.xml deleted file mode 100644 index 21385d5de60..00000000000 --- a/html+razor/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HTML+Razor Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:37Z - Weekly Trending of HTML+Razor in GitHub - - \ No newline at end of file diff --git a/html/daily/index.xml b/html/daily/index.xml index 7b30e455802..fb69acb7a34 100644 --- a/html/daily/index.xml +++ b/html/daily/index.xml @@ -1,21 +1,21 @@ GitHub HTML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:33:53Z + 2023-10-23T01:31:27Z Daily Trending of HTML in GitHub - zachleat/table-saw - 2023-10-22T01:33:53Z - tag:github.com,2023-10-22:/zachleat/table-saw - - <p>A small web component for responsive <table> elements.</p><hr><h1><code>table-saw</code></h1> <p>A small structural-only zero-dependency Web Component for responsive <code>&lt;table&gt;</code> elements. Heavily inspired by <a href="https://github.com/filamentgroup/tablesaw">Filament Group’s Tablesaw Stack jQuery plugin</a>.</p> <h2><a href="https://zachleat.github.io/table-saw/demo.html">Demo</a></h2> <h2>Examples</h2> <pre><code class="language-html">&lt;!-- Note: requires `type="module"` --&gt; &lt;script type="module" src="table-saw.js"&gt;&lt;/script&gt; &lt;!-- stacks below 640px viewport --&gt; &lt;table-saw&gt; &lt;table&gt;&lt;!-- some HTML omitted for brevity --&gt;&lt;/table&gt; &lt;/table-saw&gt; &lt;!-- stacks below 400px viewport --&gt; &lt;table-saw breakpoint="(max-width: 24.9375em)"&gt; &lt;table&gt;&lt;!-- … --&gt;&lt;/table&gt; &lt;/table-saw&gt; &lt;!-- stack columns are 50% and 50% width --&gt; &lt;table-saw ratio="1/1"&gt; &lt;table&gt;&lt;!-- … --&gt;&lt;/table&gt; &lt;/table-saw&gt; &lt;!-- Remove left/right padding on table cells when stacked --&gt; &lt;table-saw zero-padding&gt; &lt;table&gt;&lt;!-- … --&gt;&lt;/table&gt; &lt;/table-saw&gt; &lt;!-- Force left-aligned text when stacked --&gt; &lt;table-saw text-align&gt; &lt;table&gt;&lt;!-- … --&gt;&lt;/table&gt; &lt;/table-saw&gt; &lt;!-- Use your own text-align value when stacked --&gt; &lt;table-saw text-align="right"&gt; &lt;table&gt;&lt;!-- … --&gt;&lt;/table&gt; &lt;/table-saw&gt; </code></pre> <ul> <li>Use <code>breakpoint</code> attribute to set the breakpoint (default:<code>(max-width: 39.9375em)</code>).</li> <li>Use <code>type="container"</code> attribute to use container queries instead of viewport-based media queries (default: <code>type="media"</code>).</li> <li>Use <code>ratio</code> attribute to override the small viewport column ratio (default: <code>1/2</code>).</li> <li>Use <code>zero-padding</code> attribute to remove small viewport padding on table cells.</li> <li>Use <code>force-align</code> attribute to force column text alignment at small viewport.</li> </ul> <h2>Installation</h2> <p>You have a few options (choose one of these):</p> <ol> <li>Install via <a href="https://www.npmjs.com/package/@zachleat/table-saw">npm</a>: <code>npm install @zachleat/table-saw</code></li> <li><a href="https://github.com/zachleat/table-saw/tags">Download the source manually from GitHub</a> into your project.</li> <li>Skip this step and use the script directly via a 3rd party CDN (not recommended for production use)</li> </ol> <h3>Usage</h3> <p>Make sure you include the <code>&lt;script&gt;</code> in your project (choose one of these):</p> <pre><code class="language-html">&lt;!-- Host yourself --&gt; &lt;script type="module" src="table-saw.js"&gt;&lt;/script&gt; </code></pre> <pre><code class="language-html">&lt;!-- 3rd party CDN, not recommended for production use --&gt; &lt;script type="module" src="https://www.unpkg.com/@zachleat/table-saw@1.0.2/table-saw.js"&gt;&lt;/script&gt; </code></pre> <pre><code class="language-html">&lt;!-- 3rd party CDN, not recommended for production use --&gt; &lt;script type="module" src="https://esm.sh/@zachleat/table-saw@1.0.2"&gt;&lt;/script&gt; </code></pre> <h2>Features</h2> <ul> <li>Supports one or many <code>&lt;table&gt;</code> child elements.</li> <li>Works with viewport media queries or container queries.</li> <li>Uses CSS grid for small viewport alignment.</li> <li>Falls back to regular table before or without JavaScript.</li> <li>Cuts the mustard on <a href="https://caniuse.com/mdn-api_cssstylesheet_replacesync"><code>CSSStyleSheet.prototype.replaceSync</code></a></li> </ul> + susam/cfr + 2023-10-23T01:31:27Z + tag:github.com,2023-10-23:/susam/cfr + + <p>An extremely minimal drawing language consisting of only 5 simple commands: C, F, R, [, and ].</p><hr><h1>CFR[]</h1> <p>CFR[] (CFR Brackets) is an extremely minimal drawing language that conists of only five simple commands:</p> <ul> <li><code>C</code>: Change colour.</li> <li><code>F</code>: Move forward by one cell and paint the new cell.</li> <li><code>R</code>: Rotate right (clockwise) by 45°.</li> <li><code>[</code>: Begin repeatable block and continue executing subsequent code.</li> <li><code>]</code>: Repeat current repeatable block once more and end the block.</li> </ul> <p>Note that <code>]</code> goes back to the beginning of the current repeatable block, repeats it once more, and ends the block. Thus a block bounded by <code>[</code> and <code>]</code> behaves like a loop that runs twice before the block exits. See sections <a href="https://raw.githubusercontent.com/susam/cfr/main/#commands">Commands</a> and <a href="https://raw.githubusercontent.com/susam/cfr/main/#loops">Loops</a> for more details about this.</p> <p><a href="https://susam.net/cfr.html#0"><img src="https://susam.github.io/blob/img/cfr/cfr-demo0-0.1.0.png" alt="Screenshot of CFR Brackets Colour Bars"></a></p> <p><strong><a href="https://susam.net/cfr.html#0">See Demo</a></strong></p> <p><strong><a href="https://susam.net/cfr.html">Draw Now</a></strong></p> <h2>Contents</h2> <ul> <li><a href="https://raw.githubusercontent.com/susam/cfr/main/#introduction">Introduction</a></li> <li><a href="https://raw.githubusercontent.com/susam/cfr/main/#implementation">Implementation</a></li> <li><a href="https://raw.githubusercontent.com/susam/cfr/main/#get-started">Get Started</a></li> <li><a href="https://raw.githubusercontent.com/susam/cfr/main/#demos">Demos</a></li> <li><a href="https://raw.githubusercontent.com/susam/cfr/main/#canvas">Canvas</a></li> <li><a href="https://raw.githubusercontent.com/susam/cfr/main/#turtle">Turtle</a></li> <li><a href="https://raw.githubusercontent.com/susam/cfr/main/#commands">Commands</a></li> <li><a href="https://raw.githubusercontent.com/susam/cfr/main/#loops">Loops</a></li> <li><a href="https://raw.githubusercontent.com/susam/cfr/main/#code-normalisation-and-validation">Code Normalisation and Validation</a></li> <li><a href="https://raw.githubusercontent.com/susam/cfr/main/#distributable-links">Distributable Links</a></li> <li><a href="https://raw.githubusercontent.com/susam/cfr/main/#license">License</a></li> <li><a href="https://raw.githubusercontent.com/susam/cfr/main/#support">Support</a></li> <li><a href="https://raw.githubusercontent.com/susam/cfr/main/#more">More</a></li> </ul> <h2>Introduction</h2> <p>CFR[] is inspired by the educational programming language Logo and the esoteric programming language P′′ (P double prime). Inspired by Logo, CFR[] has a virtual turtle that moves around on a graphical canvas and paints the canvas as it moves. Inspired by P′′, it has an extremely small set of commands. CFR[] is intentionally meant to be hard to write in and hard to read.</p> <p>This project introduces the CFR[] language and provides a web-based implementation using HTML5 Canvas and JavaScript.</p> <h2>Implementation</h2> <p>The current stable version of a CFR[] implementation is available at the following links:</p> <ul> <li><a href="https://susam.net/cfr.html">susam.net/cfr.html</a></li> <li><a href="https://susam.github.io/cfr.html">susam.github.io/cfr.html</a></li> </ul> <p>A testing version with recent bug fixes is available here:</p> <ul> <li><a href="https://susam.github.io/cfr/cfr.html">susam.github.io/cfr/cfr.html</a></li> </ul> <h2>Get Started</h2> <p>Enter the following code in the input field to draw a vertical column consisting of 16 cells:</p> <pre><code>FFFFFFFFFFFFFFFF </code></pre> <p>However, using the block commands, this can be shortened to the following code:</p> <pre><code>[[[FF]]] </code></pre> <p>Here is a slightly more involved code that draws a colourful octagon where each side of the octagon consists of 16 cells.</p> <pre><code>[[[[[[[FF]]]]RCC]]] </code></pre> <p>The maximum code length supported is 256 bytes.</p> <h2>Demos</h2> <p>The implementation in this project comes with a small collection of demos. Type any digit between <code>0</code> and <code>7</code> to see the corresponding demo. Typing a digit may require an external keyboard. If there is no external keyboard available, append <code>#</code> and a digit to the page URL with an on-screen keyboard. For example, the URL <a href="https://susam.net/cfr.html#3">https://susam.net/cfr.html#3</a> shows demo number 3.</p> <p><a href="https://susam.net/cfr.html#3"><img src="https://susam.github.io/blob/img/cfr/cfr-demo3-0.1.0.png" alt="Screenshot of CFR Brackets Demo 3"></a></p> <p>Here are direct links to demos currently available: <a href="https://susam.net/cfr.html#0">#0</a>, <a href="https://susam.net/cfr.html#1">#1</a>, <a href="https://susam.net/cfr.html#2">#2</a>, <a href="https://susam.net/cfr.html#3">#3</a>, <a href="https://susam.net/cfr.html#4">#4</a>, <a href="https://susam.net/cfr.html#5">#5</a>, <a href="https://susam.net/cfr.html#6">#6</a>, and <a href="https://susam.net/cfr.html#7">#7</a>.</p> <p>If you have an interesting demo that fits in 64 bytes of code, please <a href="https://github.com/susam/cfr/issues">create an issue</a> and share it. If the demo looks very interesting, it may be included to the above list of available demos.</p> <h2>Canvas</h2> <p>The drawing canvas is divided into a grid of 256x256 cells. There are 256 rows with 256 cells in each row. Initially, all 65536 cells of the canvas are painted black.</p> <p>The rows are numbered 0, 1, 2, etc. Similarly, the columns are numbered 0, 1, 2, etc. too. The cell at the top-left corner is at row 0 and column 0. The cell at the bottom-right corner is at row 255 and column 255.</p> <h2>Turtle</h2> <p>The CFR[] commands are described in terms of the movement of an invisible virtual turtle and changes in its properties. The turtle has three properties:</p> <ul> <li>Location: The cell where the turtle is currently situated.</li> <li>Heading: The direction for the turtle's next movement if it moves.</li> <li>Colour: The colour to be used for painting the next cell.</li> </ul> <p>Its current location, heading, and colour are determined by its initial properties and the preceding commands. The initial properties of the turtle are as follows:</p> <ul> <li>Location: Row 127 and column 127.</li> <li>Heading: North (up).</li> <li>Colour: White.</li> </ul> <h2>Commands</h2> <p>This section describes all five commands of CFR[] in detail.</p> <h3>C</h3> <p>The <code>C</code> command changes the colour used to paint the next cell. A total of 8 colours are supported. They are:</p> <ul> <li>Black</li> <li>Blue</li> <li>Green</li> <li>Cyan</li> <li>Red</li> <li>Magenta</li> <li>Yellow</li> <li>White</li> </ul> <p>The initial colour is white. Each <code>C</code> command changes the drawing colour to the next one in the above list. When the current drawing colour is white, <code>C</code> changes the drawing colour to black, i.e., the drawing colour <em>wraps around</em> to black.</p> <p>The following code draws four cells in white (the initial colour), then four cells in black, and finally four cells in blue.</p> <pre><code>FFFFCFFFFCFFFF </code></pre> <p>The first <code>C</code> in the code above changes the drawing colour from white to black. The second <code>C</code> changes it from black to blue. Note that the canvas background is black in colour, so the four cells drawn in black are going to be invisible on the black background.</p> <h3>F</h3> <p>The <code>F</code> command moves the virtual turtle forward by one cell and paints the cell it moves to with the current drawing colour. The direction of movement is determined by the current heading of the turtle. Each <code>F</code> command moves the turtle by exactly one cell and paints the entire cell it has moved to. This is true for diagonal movements too. For example, if the turtle moves in the northeast direction, it moves from the current cell diagonally to the next cell that is touching the top-right corner of the current cell. It then paints that new cell it has moved to.</p> <p>When the turtle is at the edge of the canvas and the next command moves the turtle beyond the edge, the turtle simply wraps around to the opposite edge of the canvas, i.e., the turtle reenters the canvas from the opposite edge.</p> <h3>R</h3> <p>The <code>R</code> command changes the heading of the turtle by rotating it by 1/8th of a complete turn. The initial heading is north (up). The following command rotates the turtle three times so that its heading changes to southeast and then paints 4 cells diagonally:</p> <pre><code>RRRFFFF </code></pre> <h3>[</h3> <p>The <code>[</code> command marks the beginning of a repeatable block. It does not change the properties of the turtle. This is a control flow command that only introduces a new repeatable block without producing any visual side effects.</p> <h3>]</h3> <p>The <code>]</code> command marks the end of the current repeatable block and repeats that block exactly once. As a result, when the code evaluator enters a block marked with <code>[</code>, the block is executed twice before the evaluator leaves the end of the block marked with <code>]</code>.</p> <h2>Loops</h2> <p>The following code moves the turtle twice and then rotates it once:</p> <pre><code>[F]R </code></pre> <p>The opening square bracket (<code>[</code>) marks the beginning of a block. Then <code>F</code> is executed as usual thereby moving the turtle forward once. Then the closing square bracket (<code>]</code>) repeats the current block thereby executing the <code>F</code> inside the block once more. Finally the evaluator moves ahead to <code>R</code> and rotates the turtle once. Note that the evaluator leaves a block after the block has been repeated twice.</p> <p>The following code moves the turtle 6 times:</p> <pre><code>[FFF] </code></pre> <p>The following command moves the turtle 12 times.</p> <pre><code>[[FFF]] </code></pre> <p>The inner block executes <code>FFF</code> twice. The outer block repeats the inner block twice. As a result, the inner block is repeated four times and the turtle moves forward by 12 cells.</p> <h2>Code Normalisation and Validation</h2> <p>The reference implementation performs the following two normalisation steps (in the given order) on the input code before executing the code:</p> <ul> <li>Lowercase letters are converted to uppercase.</li> <li>Any character in the input code that does not match a valid CFR[] command is removed.</li> </ul> <p>The reference implementation generates errors when the following conditions are met:</p> <ul> <li>A closing square bracket (<code>]</code>) is encountered that does not have a corresponding open square bracket (<code>[</code>).</li> <li>The length of the code exceeds 256 characters.</li> </ul> <p>When an error is generated, the entire canvas is painted red and the execution halts immediately.</p> <h2>Distributable Links</h2> <p>The reference implementation provides distributable links when the input code is 64 bytes or less in length. Note that the implementation allows code up to a maximum length of 256 bytes. However, no distributable link is generated when the code length exceeds 64 bytes. Thus code that does not exceed 64 bytes in length has a special status in the reference implementation.</p> <p>The distributable link encodes the input code and appends it as a URL fragment to the address of the current page. Copy the URL with the encoded input code embedded in it from the address bar of the web browser in order to share it with others. When the recipient of the URL opens it with their web browser, the implementation reads the code embedded in the URL, expands it, and executes it.</p> <h2>License</h2> <p>This is free and open source software. You can use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of it, under the terms of the MIT License. See <a href="https://raw.githubusercontent.com/susam/cfr/main/LICENSE.md">LICENSE.md</a> for details.</p> <p>This software is provided "AS IS", WITHOUT WARRANTY OF ANY KIND, express or implied. See <a href="https://raw.githubusercontent.com/susam/cfr/main/LICENSE.md">LICENSE.md</a> for details.</p> <h2>Support</h2> <p>To report bugs or ask questions, <a href="https://github.com/susam/cfr/issues">create issues</a>.</p> <h2>More</h2> <p>See <a href="https://github.com/susam/invaders">Andromeda Invaders</a>, a 1980s-arcade-style game written using HTML5, Canvas, and Web Audio.</p> <p>See <a href="https://github.com/susam/pcface">PC Face</a>, a collection of bitmap arrays for rendering CP437 glyphs using IBM PC OEM fonts.</p> <!-- Release Checklist ----------------- - Update version in package.json. - Update version in HTML (1 place). - Update copyright in HTML (1 place). - Update copyright in LICENSE.md. - Disable logging. - Update CHANGES.md. - Run: npm run lint - Run: git status; git add -p - Run: VERSION=<VERSION> - Run: git commit -em "Set version to $VERSION" - Run: git tag $VERSION -m "CFR[] $VERSION" - Run: git push origin main $VERSION --> - jvallbona/exercici2 - 2023-10-22T01:33:53Z - tag:github.com,2023-10-22:/jvallbona/exercici2 - - <p></p><hr> + RuanAragao/calculator + 2023-10-23T01:31:27Z + tag:github.com,2023-10-23:/RuanAragao/calculator + + <p>Create your own calculator</p><hr><h1>Calculator</h1> <p>Create your own calculator</p> <h2>How</h2> <ol> <li> <p>Star ✨ this project 👀🫶</p> </li> <li> <p>Go to <a href="https://github.com/RuanAragao/calculator/issues">issues</a> and create a new. Add the name of your calculator in title and comment a short prupose of your calculator.</p> </li> </ol> <blockquote> <p>Example:</p> <hr> <h4>title:</h4> <p>Screw calculator</p> <h4>comment:</h4> <p>convert weight to units</p> </blockquote> <ol start="3"> <li> <p>Fork this project</p> </li> <li> <p>Create a folder in <a href="https://raw.githubusercontent.com/RuanAragao/calculator/main/calculators/">[root]/calculators</a> with the name of your calculator using the <em>Kebab case</em> convention.</p> </li> </ol> <blockquote> <p>Example:</p> <hr> <p><code>mkdir example-calculator</code> &gt; <code>[root]/calculators/example-calculator</code></p> </blockquote> <ol start="5"> <li>Iside your folder calculator is required <code>index.html</code> file with your calculator.</li> <li>Edit the <a href="https://raw.githubusercontent.com/RuanAragao/calculator/main/index.html">/index.html</a> file and add the your calculator folder link in alphabetical order with a <code>&lt;br&gt;</code> in the end. <blockquote> <p>Example:</p> <hr> <p><code>&lt;a href="/calculators/example-calculator"&gt;Example Calculator&lt;/a&gt;&lt;br/&gt;</code></p> </blockquote> </li> <li>Open your pull request with "Closes #{your-issue-number}". Example "Closes #10".</li> </ol> <h2>Contributing</h2> <h3>Steps to contribute:</h3> <ul> <li>Fork the repository by clicking the "Fork" button in the upper right corner of this page.</li> <li>Clone repository to your local machine:</li> </ul> <pre><code>git clone https://github.com/RuanAragao/calculator.git </code></pre> <ul> <li>Create a new branch for your contribution:</li> </ul> <pre><code>git checkout -b your-branch-name </code></pre> <ul> <li>Test your changes locally to ensure they function correctly.</li> <li>Commit your changes with commit messages which contains description:</li> </ul> <pre><code>git commit -m "commit message" </code></pre> <ul> <li>Push your changes to your forked repository:</li> </ul> <pre><code>git push origin your-branch-name </code></pre> <ul> <li>Open a pull request to the main branch of this repository.</li> </ul> <p>If you find any bugs or have any suggestions, please open an issue on GitHub and provide detailed information about the bug or suggestion. Once your pull request is submitted, it will be reviewed by the project maintainers.</p> <h3><a href="https://docs.github.com/en/get-started/quickstart/contributing-to-projects#making-a-pull-request">Making a pull request</a> 🔗 <img alt="octocat" src="https://github.githubassets.com/images/icons/emoji/octocat.png?v8">)</h3> <h3><a href="https://docs.github.com/en/get-started/quickstart/contributing-to-projects#managing-feedback">Managing feedback</a> 🔗 <img alt="octocat" src="https://github.githubassets.com/images/icons/emoji/octocat.png?v8">)</h3> \ No newline at end of file diff --git a/html/weekly/index.xml b/html/weekly/index.xml deleted file mode 100644 index 29a92d3e638..00000000000 --- a/html/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub HTML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:19Z - Weekly Trending of HTML in GitHub - - - Ananyasingh2002/Hacktoberfest2023 - 2023-10-22T01:53:19Z - tag:github.com,2023-10-22:/Ananyasingh2002/Hacktoberfest2023 - - <p>Join Hacktoberfest 2023: Contribute to open source, learn, and earn rewards. Beginner-friendly. Explore issues, fork, code, and make a global impact. Let's collaborate!</p><hr><h1>HacktoberFest 2023 <code>GOOD FIRST</code> Pull Request - <code>Digital Rewards</code>🎉</h1> <p><img src="https://raw.githubusercontent.com/Ananyasingh2002/Hacktoberfest2023/main/.github/logo.png" alt="HacktoberFest 2023"></p> <h1>Contributors to Hacktoberfest 2023</h1> <div align="center"> <a href="https://github.com/Ananyasingh2002/Hacktoberfest2023/graphs/contributors"> <img src="https://contrib.rocks/image?repo=Ananyasingh2002/Hacktoberfest2023"> </a> </div> <h1>The Open Source Adventure Awaits! 🗺️</h1> <p>🌐 HacktoberFest is your gateway to the vibrant world of open source. This year marks the 10th anniversary of Hacktoberfest, and we’re calling on your support! Join us on this epic journey and earn yourself an exclusive digital reward kit from DigitalOcean and our sponsors and partners..</p> <p>📢 Sign up for Hacktoberfest 2023, and contribute four pull requests (PRs) between October 1st-31st to claim your stash of cool SWAGS 🔥.</p> <h1><a href="https://github.com/Ananyasingh2002/OTP-Verification">Visit this repository to contribute to a new project for Hacktoberfest 2023</a></h1> <h2><a href="https://hacktoberfest.com/participation/">Click to Participate</a></h2> <h1>Task 1.0</h1> <p>Welcome to our Hacktoberfest 2023 contributing website! We're excited to have you on board. Follow the steps below to contribute and add your name, picture, LinkedIn profile, and GitHub profile to our contributors' list.</p> <h2>INSTRUCTIONS - Get Ready for the Adventure 🧭</h2> <ul> <li> <p>Fork this Repository using the button at the top on right corner.</p> <p><img src="https://github.com/Ananyasingh2002/Hacktoberfest2023/assets/90714878/bcb92dfb-0c7f-4f6f-976c-05acbfdcd3f2" alt="img_fork_1"></p> </li> <li> <p>Clone your forked repository to your pc <code>git clone https://github.com/Ananyasingh2002/Hacktoberfest2023.git</code></p> <p><img src="https://github.com/Ananyasingh2002/Hacktoberfest2023/assets/90714878/a61a60a1-7c42-484d-a38c-03db0e372aa0" alt="clone_2"></p> </li> <li> <p>Carve your own path with a new branch for your modifications (ie. <code>git branch new-user</code> and check it out <code>git checkout new-user</code> or simply do <code>git checkout -b new-user</code>)</p> </li> <li> <p>Leave your mark by adding your profile image to <code>images/</code> (drag and drop or upload with commands or by your name).</p> </li> <li> <p>Chronicle your legend by crafting your profile data in <code>participant/</code> (add your information here)</p> </li> <li> <p>Blaze your trail with these commands: <code>git add -A</code> or <code>git add .</code>, <code>git commit -m "added myself"</code>, and <code>git push origin new-explorer</code></p> </li> <li> <p>Create a pull request</p> </li> <li> <p>Star this repository</p> </li> </ul> <h1>How To Make Your First Pull Request</h1> <h2>1. Add your profile picture to the folder</h2> <p>Add a profile picture of your choice in <code>images/</code>. Accepted files are <strong>png</strong> and <strong>jpg</strong>, Ex.</p> <pre><code>images/&lt;YOUR-USERNAME&gt;.png </code></pre> <h2>2. Add your profile information</h2> <p>Create a markdown file in your folder following the convention <code>participant/&lt;YOUR-USERNAME&gt;.md</code>. Ex.</p> <pre><code>participant/&lt;YOUR-USERNAME&gt;.md </code></pre> <p>Copy the next template into your file, delete the boilerplate data and fill the information with yours.</p> <pre><code>--- name: YOURNAME institution/company: INSTITUTION_NAME github:USERNAME --- </code></pre> <h2>3. Wait for Pull Request to merge</h2> <h2>4. Here is a quick reference guide for GitHub: <a href="https://github.com/git-guides">GitHub Guide</a></h2> <h2>5. Celebrate - you've done your first pull request!!</h2> <ul> <li>Aim to make more than 4 pull requests.</li> <li>Imagine you've only made 4 pull requests to different projects, but one of those projects isn't part of the Hacktoberfest event.</li> <li>In that case, your pull request won't be counted, leaving you with just 3 valid ones if those projects aren't excluded either.</li> <li>To ensure your success, I recommend making a pull request to your own repo, as long as it has the Hacktoberfest topic.</li> </ul> <h1>Task 2.0</h1> <h2>Hacktoberfest 2023 Contribution Guide</h2> <p>Welcome to our Hacktoberfest 2023 contributing website! We're excited to have you on board. Follow the steps below to contribute and add your name, picture, LinkedIn profile, and GitHub profile to our contributors' list.</p> <h2>Here is the link to the website: <a href="https://ananyasingh2002.github.io/Hacktoberfest2023/">https://ananyasingh2002.github.io/Hacktoberfest2023/</a></h2> <h2>INSTRUCTIONS - Get Ready for the Adventure 🧭</h2> <ul> <li> <p>Fork this repository to your GitHub account by clicking the "Fork" button at the top right of this page. <img src="https://github.com/Ananyasingh2002/Hacktoberfest2023/assets/90714878/bcb92dfb-0c7f-4f6f-976c-05acbfdcd3f2" alt="img_fork_1"></p> </li> <li> <p>Clone your forked repository to your local machine. Replace <code>&lt;your-username&gt;</code> with your GitHub username:</p> <pre><code class="language-bash">git clone https://github.com/Ananyasingh2002/Hacktoberfest2023.git </code></pre> </li> <li> <p>Navigate to the project directory: <code>cd Hacktoberfest2023</code></p> </li> <li> <p>Create a new branch for your changes. Replace <branch-name> with a descriptive branch name: <code>git checkout -b &lt;branch-name&gt;</code> </branch-name></p> </li> <li> <p>Leave your mark by adding your profile image to <code>assets/images</code> (drag and drop or upload with commands or by your name).</p> </li> <li> <p>Chronicle your legend by crafting your profile data in <code>index.html and CSS(add your image address)</code> (add your information here)</p> </li> <li> <p>Blaze your trail with these commands: <code>git add -A</code> or <code>git add .</code>, <code>git commit -m "added myself"</code>, and <code>git push origin new-explorer</code></p> </li> <li> <p>Create a pull request</p> </li> <li> <p>Star this repository</p> </li> </ul> <h1>How To Make Your First Pull Request</h1> <h2>1. Add your profile picture to the folder</h2> <p>Add a picture picture of your choice in <code>assets/images/&lt;YOUR-USERNAME&gt;.png</code>. Accepted files are <strong>png</strong> and <strong>jpg</strong>, Ex.</p> <pre><code>assets/images/&lt;YOUR-USERNAME&gt;.png </code></pre> <h2>2. Now, please navigate to the <code>index.html</code> file, open it, read the instructions in the code, copy down the line and add your information.</h2> <p><img src="https://github.com/Ananyasingh2002/Hacktoberfest2023/assets/90714878/7177298f-d0d8-468a-bd1e-44b0f89fddb1" alt="2"></p> <p>Enter your details here:</p> <p><img src="https://github.com/Ananyasingh2002/Hacktoberfest2023/assets/90714878/6825937d-e0fb-461d-857c-95febd458a16" alt="3"></p> <h2>3. Change the class name below</h2> <pre><code>&lt;div class="card_img card1"&gt; &lt;div class="plus"&gt;&lt;/div&gt; &lt;/div&gt; </code></pre> <p><img src="https://github.com/Ananyasingh2002/Hacktoberfest2023/assets/90714878/3c8cbf00-ae16-47fe-80f2-d8644d9cf88c" alt="2"></p> <p>So, essentially, you are instructing the reader to change the class name of the first </p> <div> element to include a number that corresponds to their specific use case. For instance, if their number is 2, the modified code would look like this: <p></p> <pre><code>&lt;div class="card_img card2"&gt; &lt;div class="plus"&gt;&lt;/div&gt; &lt;/div&gt; </code></pre> <p><img src="https://github.com/Ananyasingh2002/Hacktoberfest2023/assets/90714878/b971fdd7-574c-4661-888c-3ddb0f22d2e3" alt="3"></p> <h2>4. Now, please navigate to the <code>style.css</code> file, read the instructions, and add the class <code>.card(as your number is)</code> along with the image path.</h2> <p><code>url('assets/images/&lt;YOUR-USERNAME&gt;.png')</code></p> <p><img src="https://github.com/Ananyasingh2002/Hacktoberfest2023/assets/90714878/b4d96181-a871-420e-a3e4-e645c3d92db7" alt="1"></p> <h2>5. Wait for Pull Request to merge</h2> <h2>6. Celebrate - you've done your first pull request!!</h2> <h1>+ Follow Me: Swift Approval of Your Quest 🚀</h1> <p>To expedite approval of your pull request, (<code>Follow Me</code>)🚀</p> <a href="https://github.com/Ananyasingh2002"><kbd><img src="https://raw.githubusercontent.com/Ananyasingh2002/Hacktoberfest2023/main/.github/ananya.jpg" width="100px;" alt=""></kbd><br><sub><b>Ananya singh</b></sub></a> <br> </div> - - - Architeuthis-Flux/Jumperless - 2023-10-22T01:53:19Z - tag:github.com,2023-10-22:/Architeuthis-Flux/Jumperless - - <p>A jumperless breadboard</p><hr><h1>Jumperless</h1> <h3>a jumperless breadboard</h3> <h5>If you want one of these, they're available in <a href="https://www.tindie.com/products/architeuthisflux/jumperless/">my Tindie store</a></h5> <p><a href="https://www.youtube.com/watch?v=_k0aKM68Xl4"><img src="https://img.youtube.com/vi/_k0aKM68Xl4/maxresdefault.jpg" alt="Video"></a></p> <p>(You can click on this to watch the explainer video)</p> <p>Using a bunch of analog crosspoint switches wired together into one bigger switch, this breadboard makes real, hardware connections between any points on the board or the Arduino Nano header at the top via software command, instead of needing to use jumper wires.</p> <p><img src="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/c3ec1f73-97c5-4268-9da4-672787bc9e1a" alt="BreaboardJump00420"></p> <p>Here's an example of me using this thing to connect some I2C pins from an Arduino to an OLED</p> <p><a href="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/0da0fdcb-c629-4f16-8638-6fab5f5c69fc">https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/0da0fdcb-c629-4f16-8638-6fab5f5c69fc</a></p> <p>Jumperless also has a ton of voltage/current sensing so the RGB LEDs underneath each row can show a ton of information about what's going on with your circuit. 2 buffered high-current DACs (one 0-5V and one ±8V), 4 buffered and level-shifted 12-bit ADCs (3 are 0-5V and 1 for ±8V), 2 INA219 current and voltage measurement ICs, and 4 GPIO to simulate digital or analog signals that can be routed to anywhere on the breadboard or the Arduino Nano header.</p> <p><a href="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/e701d5c8-2349-49a1-8d57-8574962e7c29">https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/e701d5c8-2349-49a1-8d57-8574962e7c29</a></p> <p>Use it to probe the pins on an unknown IC (which is what I'm doing in the video above), or for some automated fuzzing, or to help guide you through converting a schematic to a real circuit, or do whatever the hell you want with it.</p> <p><img src="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/4a243d6c-3955-4523-b7f4-9b39831ca136" alt="IMG_4228"></p> <p>The connections are real and fully analog (-8V to +8V, up to around 1 MHz before signal quality starts to degrade) instead of cheating with some measure-then-simulate setup, although you can do that too if you want to simulate a <a href="https://en.wikipedia.org/wiki/Memristor">memristor</a> or to send jumpers over the internet.</p> <p><a href="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/2c203686-e02e-4a0c-b5eb-0cab925386fb">https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/2c203686-e02e-4a0c-b5eb-0cab925386fb</a></p> <h3>If you want to read about how the code and stuff works, <a href="https://github.com/Architeuthis-Flux/Jumperless/tree/main/JumperlessNano">the README in JumperlessNano</a> goes through how each part works in more detail.</h3> <h3>Or check out the <a href="https://hackaday.io/project/191238-jumperless">Hackaday.io page</a> and the <a href="https://hackaday.com/2023/08/25/hackaday-prize-2023-jumperless-the-jumperless-jumperboard/">Hackaday Blog Writeup</a></h3> <p>And no, it's not an FPGA.</p> <p><img src="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/963cac46-b46d-4c64-a201-00305d2d0bbc" alt="IMG_3827"></p> <p><img src="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/202a61f6-0eb1-44bd-9d80-3b208e9c4be2" alt="Schematic"></p> <p>Here it is running a 555 circuit (note that this is a Rev 1 without the through-PCB LEDs)</p> <p><a href="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/9c5d2b5a-3727-4197-b1d0-bd45b5f95559">https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/9c5d2b5a-3727-4197-b1d0-bd45b5f95559</a></p> <p><a href="https://www.tindie.com/stores/architeuthisflux/?ref=offsite_badges&amp;utm_source=sellers_ArchiteuthisFux&amp;utm_medium=badges&amp;utm_campaign=badge_large"><img src="https://d2ss6ovg47m0r5.cloudfront.net/badges/tindie-larges.png" alt="I sell on Tindie" width="200" height="104"></a></p> <p>Here are some fun bonus shots <img src="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/76cc09b5-138b-4f5a-8b3c-4cb5f0c9df18" alt="RainBounceLarge"></p> <p><img src="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/4674d12f-ab89-47a5-aa29-7bf0252024dd" alt="RandomLarge"></p> <p><a href="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/b933e817-c6e4-4d97-9fc0-7b8d9e875ebb">https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/b933e817-c6e4-4d97-9fc0-7b8d9e875ebb</a> <a href="https://github.com/Architeuthis-Flux/Jumperless/files/12603152/SchematicRevision3.pdf">SchematicRevision3.pdf</a></p> <p><img src="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/c61467fa-b122-4526-9a08-8fbbb16326da" alt="DSC01523"> <img src="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/68da817f-0bb4-4501-9174-7fe092e9d210" alt="usage"></p> <p><a href="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/d070d99d-b6b3-43e3-adee-4ca2d7358a9a">https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/d070d99d-b6b3-43e3-adee-4ca2d7358a9a</a> <img src="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/f757717a-d5b4-462b-af42-624a8e96e469" alt="DSC01237-2"></p> <p><img src="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/375efc39-2015-4e42-9d00-62606cfff685" alt="DSC01154"></p> <p><img src="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/b3e3ac9d-74ca-4bfe-ad72-39505801d832" alt="DSC00683"></p> <p><img src="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/c21f4942-95c3-4b88-a182-8505ca510e19" alt="IMG_3589"> <img src="https://github.com/Architeuthis-Flux/Jumperless/assets/20519442/25ff1f6f-f4e1-422c-a191-0f43e870d189" alt="IMG_3886"></p> - - - HuXn-WebDev/React-With-10-Projects - 2023-10-22T01:53:19Z - tag:github.com,2023-10-22:/HuXn-WebDev/React-With-10-Projects - - <p>Master ReactJS By Building 10 Amazing Projects 💙</p><hr><h1>React-With-10-Projects 👇</h1> <p><a href="https://www.youtube.com/watch?v=XrwsMN2IWnE">Master ReactJS in 7 Hours with 10 Real-World Projects 2023</a> 🤘🥂.</p> <p><img src="https://raw.githubusercontent.com/HuXn-WebDev/React-With-10-Projects/main/thumb.png" alt="Course Thumnail"></p> - - \ No newline at end of file diff --git a/http/daily/index.xml b/http/daily/index.xml index 6a68afb753f..274e9cc91a8 100644 --- a/http/daily/index.xml +++ b/http/daily/index.xml @@ -1,7 +1,7 @@ GitHub HTTP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:05Z + 2023-10-23T01:31:56Z Daily Trending of HTTP in GitHub \ No newline at end of file diff --git a/http/weekly/index.xml b/http/weekly/index.xml deleted file mode 100644 index c05f50fd477..00000000000 --- a/http/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HTTP Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:36Z - Weekly Trending of HTTP in GitHub - - \ No newline at end of file diff --git a/hxml/daily/index.xml b/hxml/daily/index.xml index 1ae280861c7..b9d5847ce17 100644 --- a/hxml/daily/index.xml +++ b/hxml/daily/index.xml @@ -1,7 +1,7 @@ GitHub HXML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:09Z + 2023-10-23T01:31:58Z Daily Trending of HXML in GitHub \ No newline at end of file diff --git a/hxml/weekly/index.xml b/hxml/weekly/index.xml deleted file mode 100644 index 7f4b2a1ec83..00000000000 --- a/hxml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HXML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:40Z - Weekly Trending of HXML in GitHub - - \ No newline at end of file diff --git a/hy/daily/index.xml b/hy/daily/index.xml index 155cab034b7..bfe4ab6ca35 100644 --- a/hy/daily/index.xml +++ b/hy/daily/index.xml @@ -1,7 +1,7 @@ GitHub Hy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:07Z + 2023-10-23T01:31:59Z Daily Trending of Hy in GitHub \ No newline at end of file diff --git a/hy/weekly/index.xml b/hy/weekly/index.xml deleted file mode 100644 index e1ba2cad7dd..00000000000 --- a/hy/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Hy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:39Z - Weekly Trending of Hy in GitHub - - \ No newline at end of file diff --git a/hyphy/daily/index.xml b/hyphy/daily/index.xml index 427b5d0e5df..94821b00df5 100644 --- a/hyphy/daily/index.xml +++ b/hyphy/daily/index.xml @@ -1,7 +1,7 @@ GitHub HyPhy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:08Z + 2023-10-23T01:32:00Z Daily Trending of HyPhy in GitHub \ No newline at end of file diff --git a/hyphy/weekly/index.xml b/hyphy/weekly/index.xml deleted file mode 100644 index 310d2681d63..00000000000 --- a/hyphy/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HyPhy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:39Z - Weekly Trending of HyPhy in GitHub - - \ No newline at end of file diff --git a/idl/daily/index.xml b/idl/daily/index.xml index af71a8385c1..f5f6c151b88 100644 --- a/idl/daily/index.xml +++ b/idl/daily/index.xml @@ -1,7 +1,7 @@ GitHub IDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:10Z + 2023-10-23T01:31:57Z Daily Trending of IDL in GitHub \ No newline at end of file diff --git a/idl/weekly/index.xml b/idl/weekly/index.xml deleted file mode 100644 index d1deb6180f4..00000000000 --- a/idl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub IDL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:41Z - Weekly Trending of IDL in GitHub - - \ No newline at end of file diff --git a/idris/daily/index.xml b/idris/daily/index.xml index 8d87097a0c7..2c0f63c753a 100644 --- a/idris/daily/index.xml +++ b/idris/daily/index.xml @@ -1,7 +1,7 @@ GitHub Idris Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:13Z + 2023-10-23T01:32:03Z Daily Trending of Idris in GitHub \ No newline at end of file diff --git a/idris/weekly/index.xml b/idris/weekly/index.xml deleted file mode 100644 index 44e49fc66eb..00000000000 --- a/idris/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Idris Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:44Z - Weekly Trending of Idris in GitHub - - \ No newline at end of file diff --git a/ignore-list/daily/index.xml b/ignore-list/daily/index.xml index f4298518f52..82ab24c2d25 100644 --- a/ignore-list/daily/index.xml +++ b/ignore-list/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ignore List Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:11Z + 2023-10-23T01:32:02Z Daily Trending of Ignore List in GitHub \ No newline at end of file diff --git a/ignore-list/weekly/index.xml b/ignore-list/weekly/index.xml deleted file mode 100644 index 942953fdadd..00000000000 --- a/ignore-list/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ignore List Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:43Z - Weekly Trending of Ignore List in GitHub - - \ No newline at end of file diff --git a/igor-pro/daily/index.xml b/igor-pro/daily/index.xml index a265353d4a6..09f7ebbf74b 100644 --- a/igor-pro/daily/index.xml +++ b/igor-pro/daily/index.xml @@ -1,7 +1,7 @@ GitHub IGOR Pro Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:13Z + 2023-10-23T01:32:04Z Daily Trending of IGOR Pro in GitHub \ No newline at end of file diff --git a/igor-pro/weekly/index.xml b/igor-pro/weekly/index.xml deleted file mode 100644 index 58ae516f5c0..00000000000 --- a/igor-pro/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub IGOR Pro Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:42Z - Weekly Trending of IGOR Pro in GitHub - - \ No newline at end of file diff --git a/imagej-macro/daily/index.xml b/imagej-macro/daily/index.xml index cb784efc394..df97bf9fae5 100644 --- a/imagej-macro/daily/index.xml +++ b/imagej-macro/daily/index.xml @@ -1,7 +1,7 @@ GitHub ImageJ Macro Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:12Z + 2023-10-23T01:32:01Z Daily Trending of ImageJ Macro in GitHub \ No newline at end of file diff --git a/imagej-macro/weekly/index.xml b/imagej-macro/weekly/index.xml deleted file mode 100644 index 917c1944fd5..00000000000 --- a/imagej-macro/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ImageJ Macro Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:45Z - Weekly Trending of ImageJ Macro in GitHub - - \ No newline at end of file diff --git a/inform-7/daily/index.xml b/inform-7/daily/index.xml index f96b7b660cc..be1da78f573 100644 --- a/inform-7/daily/index.xml +++ b/inform-7/daily/index.xml @@ -1,7 +1,7 @@ GitHub Inform 7 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:15Z + 2023-10-23T01:32:08Z Daily Trending of Inform 7 in GitHub \ No newline at end of file diff --git a/inform-7/weekly/index.xml b/inform-7/weekly/index.xml deleted file mode 100644 index b3f09e709e8..00000000000 --- a/inform-7/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Inform 7 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:46Z - Weekly Trending of Inform 7 in GitHub - - \ No newline at end of file diff --git a/ini/daily/index.xml b/ini/daily/index.xml index c464a4337ef..0ebadfdefdd 100644 --- a/ini/daily/index.xml +++ b/ini/daily/index.xml @@ -1,7 +1,7 @@ GitHub INI Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:16Z + 2023-10-23T01:32:06Z Daily Trending of INI in GitHub \ No newline at end of file diff --git a/ini/weekly/index.xml b/ini/weekly/index.xml deleted file mode 100644 index 9d0bc0bd18e..00000000000 --- a/ini/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub INI Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:48Z - Weekly Trending of INI in GitHub - - \ No newline at end of file diff --git a/inno-setup/daily/index.xml b/inno-setup/daily/index.xml index bdee91da5eb..03fad917c6e 100644 --- a/inno-setup/daily/index.xml +++ b/inno-setup/daily/index.xml @@ -1,7 +1,7 @@ GitHub Inno Setup Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:18Z + 2023-10-23T01:32:12Z Daily Trending of Inno Setup in GitHub \ No newline at end of file diff --git a/inno-setup/weekly/index.xml b/inno-setup/weekly/index.xml deleted file mode 100644 index 0210f58a803..00000000000 --- a/inno-setup/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Inno Setup Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:53Z - Weekly Trending of Inno Setup in GitHub - - \ No newline at end of file diff --git a/io/daily/index.xml b/io/daily/index.xml index 324ed112e3d..5382c5733ee 100644 --- a/io/daily/index.xml +++ b/io/daily/index.xml @@ -1,7 +1,7 @@ GitHub Io Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:21Z + 2023-10-23T01:32:10Z Daily Trending of Io in GitHub \ No newline at end of file diff --git a/io/weekly/index.xml b/io/weekly/index.xml deleted file mode 100644 index 57d0c21986f..00000000000 --- a/io/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Io Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:52Z - Weekly Trending of Io in GitHub - - \ No newline at end of file diff --git a/ioke/daily/index.xml b/ioke/daily/index.xml index f7e54cc2ad9..f436dfec519 100644 --- a/ioke/daily/index.xml +++ b/ioke/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ioke Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:19Z + 2023-10-23T01:32:09Z Daily Trending of Ioke in GitHub \ No newline at end of file diff --git a/ioke/weekly/index.xml b/ioke/weekly/index.xml deleted file mode 100644 index 962051203cf..00000000000 --- a/ioke/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ioke Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:51Z - Weekly Trending of Ioke in GitHub - - \ No newline at end of file diff --git a/irc-log/daily/index.xml b/irc-log/daily/index.xml index d979d856794..0bada171771 100644 --- a/irc-log/daily/index.xml +++ b/irc-log/daily/index.xml @@ -1,7 +1,7 @@ GitHub IRC log Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:20Z + 2023-10-23T01:32:10Z Daily Trending of IRC log in GitHub \ No newline at end of file diff --git a/irc-log/weekly/index.xml b/irc-log/weekly/index.xml deleted file mode 100644 index d5d0846a78b..00000000000 --- a/irc-log/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub IRC log Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:50Z - Weekly Trending of IRC log in GitHub - - \ No newline at end of file diff --git a/isabelle-root/daily/index.xml b/isabelle-root/daily/index.xml index 6577da94ac0..6ff1c20411e 100644 --- a/isabelle-root/daily/index.xml +++ b/isabelle-root/daily/index.xml @@ -1,7 +1,7 @@ GitHub Isabelle ROOT Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:25Z + 2023-10-23T01:32:14Z Daily Trending of Isabelle ROOT in GitHub \ No newline at end of file diff --git a/isabelle-root/weekly/index.xml b/isabelle-root/weekly/index.xml deleted file mode 100644 index fb522097ed6..00000000000 --- a/isabelle-root/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Isabelle ROOT Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:56Z - Weekly Trending of Isabelle ROOT in GitHub - - \ No newline at end of file diff --git a/isabelle/daily/index.xml b/isabelle/daily/index.xml index 86c839f12bd..345e8f03cc0 100644 --- a/isabelle/daily/index.xml +++ b/isabelle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Isabelle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:24Z + 2023-10-23T01:32:16Z Daily Trending of Isabelle in GitHub \ No newline at end of file diff --git a/isabelle/weekly/index.xml b/isabelle/weekly/index.xml deleted file mode 100644 index 354857c78e5..00000000000 --- a/isabelle/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Isabelle Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:55Z - Weekly Trending of Isabelle in GitHub - - \ No newline at end of file diff --git a/j/daily/index.xml b/j/daily/index.xml index 79800204600..104267eadbf 100644 --- a/j/daily/index.xml +++ b/j/daily/index.xml @@ -1,7 +1,7 @@ GitHub J Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:22Z + 2023-10-23T01:32:13Z Daily Trending of J in GitHub \ No newline at end of file diff --git a/j/weekly/index.xml b/j/weekly/index.xml deleted file mode 100644 index 0a88d375a53..00000000000 --- a/j/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub J Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:56Z - Weekly Trending of J in GitHub - - \ No newline at end of file diff --git a/janet/daily/index.xml b/janet/daily/index.xml index b6bb5953188..309ac3277eb 100644 --- a/janet/daily/index.xml +++ b/janet/daily/index.xml @@ -1,7 +1,7 @@ GitHub Janet Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:23Z + 2023-10-23T01:32:15Z Daily Trending of Janet in GitHub \ No newline at end of file diff --git a/janet/weekly/index.xml b/janet/weekly/index.xml deleted file mode 100644 index 8777233caa3..00000000000 --- a/janet/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Janet Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:54Z - Weekly Trending of Janet in GitHub - - \ No newline at end of file diff --git a/jar-manifest/daily/index.xml b/jar-manifest/daily/index.xml index 33fe6e03f83..35669d2fa9a 100644 --- a/jar-manifest/daily/index.xml +++ b/jar-manifest/daily/index.xml @@ -1,7 +1,7 @@ GitHub JAR Manifest Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:26Z + 2023-10-23T01:32:18Z Daily Trending of JAR Manifest in GitHub \ No newline at end of file diff --git a/jar-manifest/weekly/index.xml b/jar-manifest/weekly/index.xml deleted file mode 100644 index afd5089e6a2..00000000000 --- a/jar-manifest/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JAR Manifest Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:59Z - Weekly Trending of JAR Manifest in GitHub - - \ No newline at end of file diff --git a/jasmin/daily/index.xml b/jasmin/daily/index.xml index c13cdbe6c56..0d683b2f493 100644 --- a/jasmin/daily/index.xml +++ b/jasmin/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jasmin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:28Z + 2023-10-23T01:32:19Z Daily Trending of Jasmin in GitHub \ No newline at end of file diff --git a/jasmin/weekly/index.xml b/jasmin/weekly/index.xml deleted file mode 100644 index 0292c0e869e..00000000000 --- a/jasmin/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Jasmin Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:59Z - Weekly Trending of Jasmin in GitHub - - \ No newline at end of file diff --git a/java-properties/daily/index.xml b/java-properties/daily/index.xml index 3ed9ede2608..bbbbd958a45 100644 --- a/java-properties/daily/index.xml +++ b/java-properties/daily/index.xml @@ -1,7 +1,7 @@ GitHub Java Properties Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:27Z + 2023-10-23T01:32:17Z Daily Trending of Java Properties in GitHub \ No newline at end of file diff --git a/java-properties/weekly/index.xml b/java-properties/weekly/index.xml deleted file mode 100644 index 2740f709bc9..00000000000 --- a/java-properties/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Java Properties Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:53:58Z - Weekly Trending of Java Properties in GitHub - - \ No newline at end of file diff --git a/java-server-pages/daily/index.xml b/java-server-pages/daily/index.xml index 7d22d299460..75a0bb4a5f5 100644 --- a/java-server-pages/daily/index.xml +++ b/java-server-pages/daily/index.xml @@ -1,7 +1,7 @@ GitHub Java Server Pages Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:47Z + 2023-10-23T01:32:27Z Daily Trending of Java Server Pages in GitHub \ No newline at end of file diff --git a/java-server-pages/weekly/index.xml b/java-server-pages/weekly/index.xml deleted file mode 100644 index 0d992243a3b..00000000000 --- a/java-server-pages/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Java Server Pages Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:21Z - Weekly Trending of Java Server Pages in GitHub - - \ No newline at end of file diff --git a/java/daily/index.xml b/java/daily/index.xml index ff03d455a40..70f7a7ac5f1 100644 --- a/java/daily/index.xml +++ b/java/daily/index.xml @@ -1,14 +1,14 @@ GitHub Java Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:31Z + 2023-10-23T01:32:21Z Daily Trending of Java in GitHub - woowacourse-precourse/java-baseball-6 - 2023-10-22T01:34:31Z - tag:github.com,2023-10-22:/woowacourse-precourse/java-baseball-6 - - <p></p><hr><h1>미션 - 숫자 야구</h1> <h2>🔍 진행 방식</h2> <ul> <li>미션은 <strong>기능 요구 사항, 프로그래밍 요구 사항, 과제 진행 요구 사항</strong> 세 가지로 구성되어 있다.</li> <li>세 개의 요구 사항을 만족하기 위해 노력한다. 특히 기능을 구현하기 전에 기능 목록을 만든다.</li> <li>기능 요구 사항에 기재되지 않은 내용은 스스로 판단하여 구현한다.</li> </ul> <h2>📮 미션 제출 방법</h2> <ul> <li>미션 구현을 완료한 후 GitHub을 통해 제출해야 한다. <ul> <li>GitHub을 활용한 제출 방법은 <a href="https://github.com/woowacourse/woowacourse-docs/tree/master/precourse">프리코스 과제 제출</a> 문서를 참고해 제출한다.</li> </ul> </li> <li>GitHub에 미션을 제출한 후 <a href="https://apply.techcourse.co.kr">우아한테크코스 지원</a> 사이트에 접속하여 프리코스 과제를 제출한다. <ul> <li>자세한 방법은 <a href="https://github.com/woowacourse/woowacourse-docs/tree/master/precourse#%EC%A0%9C%EC%B6%9C-%EA%B0%80%EC%9D%B4%EB%93%9C">제출 가이드</a> 참고</li> <li><strong>Pull Request만 보내고 지원 플랫폼에서 과제를 제출하지 않으면 최종 제출하지 않은 것으로 처리되니 주의한다.</strong></li> </ul> </li> </ul> <h2>🚨 과제 제출 전 체크 리스트 - 0점 방지</h2> <ul> <li>기능 구현을 모두 정상적으로 했더라도 <strong>요구 사항에 명시된 출력값 형식을 지키지 않을 경우 0점으로 처리</strong>한다.</li> <li>기능 구현을 완료한 뒤 아래 가이드에 따라 테스트를 실행했을 때 모든 테스트가 성공하는지 확인한다.</li> <li><strong>테스트가 실패할 경우 0점으로 처리</strong>되므로, 반드시 확인 후 제출한다.</li> </ul> <h3>테스트 실행 가이드</h3> <ul> <li>터미널에서 <code>java -version</code>을 실행하여 Java 버전이 17인지 확인한다. Eclipse 또는 IntelliJ IDEA와 같은 IDE에서 Java 17로 실행되는지 확인한다.</li> <li>터미널에서 Mac 또는 Linux 사용자의 경우 <code>./gradlew clean test</code> 명령을 실행하고, Windows 사용자의 경우 <code>gradlew.bat clean test</code> 또는 <code>./gradlew.bat clean test</code> 명령을 실행할 때 모든 테스트가 아래와 같이 통과하는지 확인한다.</li> </ul> <pre><code>BUILD SUCCESSFUL in 0s </code></pre> <hr> <h2>🚀 기능 요구 사항</h2> <p>기본적으로 1부터 9까지 서로 다른 수로 이루어진 3자리의 수를 맞추는 게임이다.</p> <ul> <li>같은 수가 같은 자리에 있으면 스트라이크, 다른 자리에 있으면 볼, 같은 수가 전혀 없으면 낫싱이란 힌트를 얻고, 그 힌트를 이용해서 먼저 상대방(컴퓨터)의 수를 맞추면 승리한다. <ul> <li>예) 상대방(컴퓨터)의 수가 425일 때 <ul> <li>123을 제시한 경우 : 1스트라이크</li> <li>456을 제시한 경우 : 1볼 1스트라이크</li> <li>789를 제시한 경우 : 낫싱</li> </ul> </li> </ul> </li> <li>위 숫자 야구 게임에서 상대방의 역할을 컴퓨터가 한다. 컴퓨터는 1에서 9까지 서로 다른 임의의 수 3개를 선택한다. 게임 플레이어는 컴퓨터가 생각하고 있는 서로 다른 3개의 숫자를 입력하고, 컴퓨터는 입력한 숫자에 대한 결과를 출력한다.</li> <li>이 같은 과정을 반복해 컴퓨터가 선택한 3개의 숫자를 모두 맞히면 게임이 종료된다.</li> <li>게임을 종료한 후 게임을 다시 시작하거나 완전히 종료할 수 있다.</li> <li>사용자가 잘못된 값을 입력할 경우 <code>IllegalArgumentException</code>을 발생시킨 후 애플리케이션은 종료되어야 한다.</li> </ul> <h3>입출력 요구 사항</h3> <h4>입력</h4> <ul> <li>서로 다른 3자리의 수</li> <li>게임이 끝난 경우 재시작/종료를 구분하는 1과 2 중 하나의 수</li> </ul> <h4>출력</h4> <ul> <li>입력한 수에 대한 결과를 볼, 스트라이크 개수로 표시</li> </ul> <pre><code>1볼 1스트라이크 </code></pre> <ul> <li>하나도 없는 경우</li> </ul> <pre><code>낫싱 </code></pre> <ul> <li>3개의 숫자를 모두 맞힐 경우</li> </ul> <pre><code>3스트라이크 3개의 숫자를 모두 맞히셨습니다! 게임 종료 </code></pre> <ul> <li>게임 시작 문구 출력</li> </ul> <pre><code>숫자 야구 게임을 시작합니다. </code></pre> <h4>실행 결과 예시</h4> <pre><code>숫자 야구 게임을 시작합니다. 숫자를 입력해주세요 : 123 1볼 1스트라이크 숫자를 입력해주세요 : 145 1볼 숫자를 입력해주세요 : 671 2볼 숫자를 입력해주세요 : 216 1스트라이크 숫자를 입력해주세요 : 713 3스트라이크 3개의 숫자를 모두 맞히셨습니다! 게임 종료 게임을 새로 시작하려면 1, 종료하려면 2를 입력하세요. 1 숫자를 입력해주세요 : 123 1볼 ... </code></pre> <hr> <h2>🎯 프로그래밍 요구 사항</h2> <ul> <li>JDK 17 버전에서 실행 가능해야 한다. <strong>JDK 17에서 정상적으로 동작하지 않을 경우 0점 처리한다.</strong></li> <li>프로그램 실행의 시작점은 <code>Application</code>의 <code>main()</code>이다.</li> <li><code>build.gradle</code> 파일을 변경할 수 없고, 외부 라이브러리를 사용하지 않는다.</li> <li><a href="https://github.com/woowacourse/woowacourse-docs/tree/master/styleguide/java">Java 코드 컨벤션</a> 가이드를 준수하며 프로그래밍한다.</li> <li>프로그램 종료 시 <code>System.exit()</code>를 호출하지 않는다.</li> <li>프로그램 구현이 완료되면 <code>ApplicationTest</code>의 모든 테스트가 성공해야 한다. <strong>테스트가 실패할 경우 0점 처리한다.</strong></li> <li>프로그래밍 요구 사항에서 달리 명시하지 않는 한 파일, 패키지 이름을 수정하거나 이동하지 않는다.</li> </ul> <h3>라이브러리</h3> <ul> <li><code>camp.nextstep.edu.missionutils</code>에서 제공하는 <code>Randoms</code> 및 <code>Console</code> API를 사용하여 구현해야 한다. <ul> <li>Random 값 추출은 <code>camp.nextstep.edu.missionutils.Randoms</code>의 <code>pickNumberInRange()</code>를 활용한다.</li> <li>사용자가 입력하는 값은 <code>camp.nextstep.edu.missionutils.Console</code>의 <code>readLine()</code>을 활용한다.</li> </ul> </li> </ul> <h4>사용 예시</h4> <pre><code class="language-java">List&lt;Integer&gt; computer = new ArrayList&lt;&gt;(); while (computer.size() &lt; 3) { int randomNumber = Randoms.pickNumberInRange(1, 9); if (!computer.contains(randomNumber)) { computer.add(randomNumber); } } </code></pre> <hr> <h2>✏️ 과제 진행 요구 사항</h2> <ul> <li>미션은 <a href="https://github.com/woowacourse-precourse/java-baseball-6">java-baseball-6</a> 저장소를 Fork &amp; Clone해 시작한다.</li> <li><strong>기능을 구현하기 전 <code>docs/README.md</code>에 구현할 기능 목록을 정리</strong>해 추가한다.</li> <li>과제 진행 및 제출 방법은 <a href="https://github.com/woowacourse/woowacourse-docs/tree/master/precourse">프리코스 과제 제출</a> 문서를 참고한다.</li> </ul> + falvojr/santander-dev-week-2023 + 2023-10-23T01:32:21Z + tag:github.com,2023-10-23:/falvojr/santander-dev-week-2023 + + <p>Java RESTful API criada para a Santander Dev Week</p><hr><h1>Santander Dev Week 2023</h1> <p>Java RESTful API criada para a Santander Dev Week.</p> <h2>Principais Tecnologias</h2> <ul> <li><strong>Java 17</strong>: Utilizaremos a versão LTS mais recente do Java para tirar vantagem das últimas inovações que essa linguagem robusta e amplamente utilizada oferece;</li> <li><strong>Spring Boot 3</strong>: Trabalharemos com a mais nova versão do Spring Boot, que maximiza a produtividade do desenvolvedor por meio de sua poderosa premissa de autoconfiguração;</li> <li><strong>Spring Data JPA</strong>: Exploraremos como essa ferramenta pode simplificar nossa camada de acesso aos dados, facilitando a integração com bancos de dados SQL;</li> <li><strong>OpenAPI (Swagger)</strong>: Vamos criar uma documentação de API eficaz e fácil de entender usando a OpenAPI (Swagger), perfeitamente alinhada com a alta produtividade que o Spring Boot oferece;</li> <li><strong>Railway</strong>: facilita o deploy e monitoramento de nossas soluções na nuvem, além de oferecer diversos bancos de dados como serviço e pipelines de CI/CD.</li> </ul> <h2><a href="https://www.figma.com/file/0ZsjwjsYlYd3timxqMWlbj/SANTANDER---Projeto-Web%2FMobile?type=design&amp;node-id=1421%3A432&amp;mode=design&amp;t=6dPQuerScEQH0zAn-1">Link do Figma</a></h2> <p>O Figma foi utilizado para a abstração do domínio desta API, sendo útil na análise e projeto da solução.</p> <h2>Diagrama de Classes (Domínio da API)</h2> <pre><code class="language-mermaid">classDiagram class User { -String name -Account account -Feature[] features -Card card -News[] news } class Account { -String number -String agency -Number balance -Number limit } class Feature { -String icon -String description } class Card { -String number -Number limit } class News { -String icon -String description } User "1" *-- "1" Account User "1" *-- "N" Feature User "1" *-- "1" Card User "1" *-- "N" News </code></pre> <h2>IMPORTANTE</h2> <p>Este projeto foi construído com um viés totalmente educacional para a DIO. Por isso, disponibilizamos uma versão mais robusta dele no repositório oficial da DIO:</p> <h3><a href="https://github.com/digitalinnovationone/santander-dev-week-2023-api">digitalinnovationone/santander-dev-week-2023-api</a></h3> <p>Lá incluímos todas os endpoints de CRUD, além de aplicar boas práticas (uso de DTOs e refinamento na documentação da OpenAPI). Sendo assim, caso queira um desafio/referência mais completa é só acessar 👊🤩</p> \ No newline at end of file diff --git a/java/weekly/index.xml b/java/weekly/index.xml deleted file mode 100644 index ad92d8559b1..00000000000 --- a/java/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Java Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:02Z - Weekly Trending of Java in GitHub - - - digitalinnovationone/trilha-java-basico - 2023-10-22T01:54:02Z - tag:github.com,2023-10-22:/digitalinnovationone/trilha-java-basico - - <p></p><hr><h1>trilha-java-basico</h1> - - - strimzi/strimzi-kafka-operator - 2023-10-22T01:54:02Z - tag:github.com,2023-10-22:/strimzi/strimzi-kafka-operator - - <p>Apache Kafka® running on Kubernetes</p><hr><p><a href="https://strimzi.io/"><img src="https://raw.githubusercontent.com/strimzi/strimzi-kafka-operator/main/documentation/logo/strimzi.png" alt="Strimzi"></a></p> <h1>Run Apache Kafka on Kubernetes and OpenShift</h1> <p><a href="https://dev.azure.com/cncf/strimzi/_build/latest?definitionId=16&amp;branchName=main"><img src="https://dev.azure.com/cncf/strimzi/_apis/build/status/build?branchName=main" alt="Build Status"></a> <a href="https://github.com/strimzi/strimzi-kafka-operator/releases/latest"><img src="https://img.shields.io/github/release/strimzi/strimzi-kafka-operator.svg?sanitize=true" alt="GitHub release"></a> <a href="http://www.apache.org/licenses/LICENSE-2.0"><img src="https://img.shields.io/badge/license-Apache--2.0-blue.svg?sanitize=true" alt="License"></a> <a href="https://twitter.com/strimziio"><img src="https://img.shields.io/twitter/follow/strimziio?style=social" alt="Twitter Follow"></a> <a href="https://artifacthub.io/packages/search?repo=strimzi-kafka-operator"><img src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/strimzi-kafka-operator" alt="Artifact Hub"></a></p> <p>Strimzi provides a way to run an <a href="https://kafka.apache.org" title="Apache Kafka">Apache Kafka®</a> cluster on <a href="https://kubernetes.io/" title="Kubernetes">Kubernetes</a> or <a href="https://www.openshift.com/" title="OpenShift">OpenShift</a> in various deployment configurations. See our <a href="https://strimzi.io" title="Strimzi">website</a> for more details about the project.</p> <h2>Quick Starts</h2> <p>To get up and running quickly, check our <a href="https://strimzi.io/quickstarts/">Quick Start for Minikube, OKD (OpenShift Origin) and Kubernetes Kind</a>.</p> <h2>Documentation</h2> <p>Documentation to the current <em>main</em> branch as well as all releases can be found on our <a href="https://strimzi.io" title="Strimzi">website</a>.</p> <h2>Roadmap</h2> <p>The roadmap of the Strimzi Operator project is maintained as <a href="https://github.com/orgs/strimzi/projects/1">GitHub Project</a>.</p> <h2>Getting help</h2> <p>If you encounter any issues while using Strimzi, you can get help using:</p> <ul> <li><a href="https://slack.cncf.io/">#strimzi channel on CNCF Slack</a></li> <li><a href="https://lists.cncf.io/g/cncf-strimzi-users/topics">Strimzi Users mailing list</a></li> <li><a href="https://github.com/strimzi/strimzi-kafka-operator/discussions">GitHub Discussions</a></li> </ul> <h2>Strimzi Community Meetings</h2> <p>You can join our regular community meetings:</p> <ul> <li>Thursday 8:00 AM UTC (every 4 weeks starting from 4th June 2020) - <a href="https://www.thetimezoneconverter.com/?t=8%3A00&amp;tz=UTC">convert to your timezone</a></li> <li>Thursday 4:00 PM UTC (every 4 weeks starting from 18th June 2020) - <a href="https://www.thetimezoneconverter.com/?t=16%3A00&amp;tz=UTC">convert to your timezone</a></li> </ul> <p>Resources:</p> <ul> <li><a href="https://docs.google.com/document/d/1V1lMeMwn6d2x1LKxyydhjo2c_IFANveelLD880A6bYc/edit#heading=h.vgkvn1hr5uor">Meeting minutes, agenda and Zoom link</a></li> <li><a href="https://youtube.com/playlist?list=PLpI4X8PMthYfONZopcRd4X_stq1C14Rtn">Recordings</a></li> <li><a href="https://calendar.google.com/calendar/embed?src=c_m9pusj5ce1b4hr8c92hsq50i00%40group.calendar.google.com">Calendar</a> (<a href="https://calendar.google.com/calendar/u/0?cid=Y19tOXB1c2o1Y2UxYjRocjhjOTJoc3E1MGkwMEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t">Subscribe to the calendar</a>)</li> </ul> <h2>Contributing</h2> <p>You can contribute by:</p> <ul> <li>Raising any issues you find using Strimzi</li> <li>Fixing issues by opening Pull Requests</li> <li>Improving documentation</li> <li>Talking about Strimzi</li> </ul> <p>All bugs, tasks or enhancements are tracked as <a href="https://github.com/strimzi/strimzi-kafka-operator/issues">GitHub issues</a>. Issues which might be a good start for new contributors are marked with <a href="https://github.com/strimzi/strimzi-kafka-operator/labels/good-start">"good-start"</a> label.</p> <p>The <a href="https://github.com/strimzi/strimzi-kafka-operator/raw/main/development-docs/DEV_GUIDE.md">Dev guide</a> describes how to build Strimzi. Before submitting a patch, please make sure to understand, how to test your changes before opening a PR <a href="https://github.com/strimzi/strimzi-kafka-operator/raw/main/development-docs/TESTING.md">Test guide</a>.</p> <p>The <a href="https://strimzi.io/contributing/guide/">Documentation Contributor Guide</a> describes how to contribute to Strimzi documentation.</p> <p>If you want to get in touch with us first before contributing, you can use:</p> <ul> <li><a href="https://slack.cncf.io/">#strimzi channel on CNCF Slack</a></li> <li><a href="https://lists.cncf.io/g/cncf-strimzi-dev/topics">Strimzi Dev mailing list</a></li> </ul> <h2>License</h2> <p>Strimzi is licensed under the <a href="https://raw.githubusercontent.com/strimzi/strimzi-kafka-operator/main/LICENSE">Apache License</a>, Version 2.0</p> <h2>Container signatures</h2> <p>From the 0.38.0 release, Strimzi containers are signed using the <a href="https://github.com/sigstore/cosign"><code>cosign</code> tool</a>. Strimzi currently does not use the keyless signing and the transparency log. To verify the container, you can copy the following public key into a file:</p> <pre><code>-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAET3OleLR7h0JqatY2KkECXhA9ZAkC TRnbE23Wb5AzJPnpevvQ1QUEQQ5h/I4GobB7/jkGfqYkt6Ct5WOU2cc6HQ== -----END PUBLIC KEY----- </code></pre> <p>And use it to verify the signature:</p> <pre><code>cosign verify --key strimzi.pub quay.io/strimzi/operator:latest --insecure-ignore-tlog=true </code></pre> <h2>Software Bill of Materials (SBOM)</h2> <p>From the 0.38.0 release, Strimzi publishes the software bill of materials (SBOM) of our containers. The SBOMs are published as an archive with <code>SPDX-JSON</code> and <code>Syft-Table</code> formats signed using cosign. For releases, they are also pushed into the container registry. To verify the SBOM signatures, please use the Strimzi public key:</p> <pre><code>-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAET3OleLR7h0JqatY2KkECXhA9ZAkC TRnbE23Wb5AzJPnpevvQ1QUEQQ5h/I4GobB7/jkGfqYkt6Ct5WOU2cc6HQ== -----END PUBLIC KEY----- </code></pre> <p>You can use it to verify the signature of the SBOM files with the following command:</p> <pre><code>cosign verify-blob --key cosign.pub --bundle &lt;SBOM-file&gt;.bundle --insecure-ignore-tlog=true &lt;SBOM-file&gt; </code></pre> <hr> <p>Strimzi is a <a href="http://cncf.io">Cloud Native Computing Foundation</a> sandbox project.</p> <p><img src="https://raw.githubusercontent.com/strimzi/strimzi-kafka-operator/main/documentation/logo/cncf-color.png" alt="CNCF ><"></p> - - - LSPosed/LSPatch - 2023-10-22T01:54:02Z - tag:github.com,2023-10-22:/LSPosed/LSPatch - - <p>LSPatch: A non-root Xposed framework extending from LSPosed</p><hr><h1>LSPatch Framework</h1> <p><a href="https://github.com/LSPosed/LSPatch/actions/workflows/main.yml?query=event%3Apush+is%3Acompleted+branch%3Amaster"><img src="https://img.shields.io/github/actions/workflow/status/LSPosed/LSPatch/main.yml?branch=master&amp;logo=github&amp;label=Build&amp;event=push" alt="Build"></a> <a href="https://lsposed.crowdin.com/lspatch"><img src="https://img.shields.io/badge/Localization-Crowdin-blueviolet?logo=Crowdin" alt="Crowdin"></a> <a href="https://github.com/LSPosed/LSPatch/releases/latest"><img src="https://img.shields.io/github/v/release/LSPosed/LSPatch?color=orange&amp;logoColor=orange&amp;label=Download&amp;logo=DocuSign" alt="Download"></a> <a href="https://github.com/LSPosed/LSPatch/releases"><img src="https://shields.io/github/downloads/LSPosed/LSPatch/total?logo=Bookmeter&amp;label=Counts&amp;logoColor=yellow&amp;color=yellow" alt="Total"></a></p> <h2>Introduction</h2> <p>Rootless implementation of LSPosed framework, integrating Xposed API by inserting dex and so into the target APK.</p> <h2>Supported Versions</h2> <ul> <li>Min: Android 9</li> <li>Max: In theory, same with <a href="https://github.com/LSPosed/LSPosed#supported-versions">LSPosed</a></li> </ul> <h2>Download</h2> <p>For stable releases, please go to <a href="https://github.com/LSPosed/LSPatch/releases">Github Releases page</a><br> For canary build, please check <a href="https://github.com/LSPosed/LSPatch/actions">Github Actions</a><br> Note: debug builds are only available in Github Actions</p> <h2>Usage</h2> <ul> <li>Through jar</li> </ul> <ol> <li>Download <code>lspatch.jar</code></li> <li>Run <code>java -jar lspatch.jar</code></li> </ol> <ul> <li>Through manager</li> </ul> <ol> <li>Download and install <code>manager.apk</code> on an Android device</li> <li>Follow the instructions of the manager app</li> </ol> <h2>Translation Contributing</h2> <p>You can contribute translation <a href="https://lsposed.crowdin.com/lspatch">here</a>.</p> <h2>Credits</h2> <ul> <li><a href="https://github.com/LSPosed/LSPosed">LSPosed</a>: Core framework</li> <li><a href="https://github.com/WindySha/Xpatch">Xpatch</a>: Fork source</li> <li><a href="https://android.googlesource.com/platform/tools/apkzlib">Apkzlib</a>: Repacking tool</li> </ul> <h2>License</h2> <p>LSPatch is licensed under the <strong>GNU General Public License v3 (GPL-3)</strong> (<a href="http://www.gnu.org/copyleft/gpl.html">http://www.gnu.org/copyleft/gpl.html</a>).</p> - - \ No newline at end of file diff --git a/javascript+erb/daily/index.xml b/javascript+erb/daily/index.xml index dd1c65288b0..6ad811ea3c2 100644 --- a/javascript+erb/daily/index.xml +++ b/javascript+erb/daily/index.xml @@ -1,7 +1,7 @@ GitHub JavaScript+ERB Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:49Z + 2023-10-23T01:32:29Z Daily Trending of JavaScript+ERB in GitHub \ No newline at end of file diff --git a/javascript+erb/weekly/index.xml b/javascript+erb/weekly/index.xml deleted file mode 100644 index 5b7f718bb60..00000000000 --- a/javascript+erb/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JavaScript+ERB Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:19Z - Weekly Trending of JavaScript+ERB in GitHub - - \ No newline at end of file diff --git a/javascript/daily/index.xml b/javascript/daily/index.xml index 0e46d9941e2..936af042fe6 100644 --- a/javascript/daily/index.xml +++ b/javascript/daily/index.xml @@ -1,28 +1,14 @@ GitHub JavaScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:34:52Z + 2023-10-23T01:32:32Z Daily Trending of JavaScript in GitHub - thomasjacquin/allsky - 2023-10-22T01:34:52Z - tag:github.com,2023-10-22:/thomasjacquin/allsky - - <p>A Raspberry Pi operated Wireless Allsky Camera</p><hr><h1>Allsky Camera <img src="https://img.shields.io/badge/Version-v2023.05.01_03-green.svg?sanitize=true" alt="Release"> <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=MEBU2KN75G2NG&amp;source=url"><img src="https://img.shields.io/badge/Donate-PayPal-green.svg?sanitize=true" alt="Donate"></a></h1> <p>This is the source code for the Allsky Camera project described <a href="http://www.instructables.com/id/Wireless-All-Sky-Camera/">on Instructables</a>. &nbsp;</p> <p align="center"> <img src="https://github.com/thomasjacquin/allsky/raw/master/assets/allsky_camera.png" width="50%" title="Example of an allsky camera"> </p> <blockquote> <p><strong>This README and the <a href="https://htmlpreview.github.io/?https://raw.githubusercontent.com/thomasjacquin/allsky/master/html/documentation/index.html">Allsky documentation</a> will help get your allsky camera up and running.</strong></p> </blockquote> <p>&nbsp;</p> <!-- =============================================================================== --> <h2>Requirements</h2> <p>You will need the following:</p> <ul> <li>A Raspberry Pi (Zero 2, 2, 3, 4) running Pi OS.</li> <li>A camera (Raspberry Pi HQ, Module 3, or RPi compatible, or ZWO ASI)</li> </ul> <p>&nbsp;</p> <blockquote> <p><strong>NOTES:</strong></p> <ul> <li>Only the Raspberry Pi OS is supported. Other operating systems like Ubuntu are NOT supported.</li> <li>The ZWO ASI120-series cameras are not recommended due to somewhat poor quality. See <a href="https://htmlpreview.github.io/?https://raw.githubusercontent.com/thomasjacquin/allsky/master/html/documentation/troubleshooting/ZWOCameras.html">Troubleshooting --&gt; ZWO Cameras</a> for notes on the ASI120-series and related T7 / T7C cameras.</li> <li>The Pi Zero with its limited memory and <em>very</em> limited CPU power (single CPU core), is not recommended. You will likely not be able to create keograms, startrails, or timelapse videos.</li> <li>The Pi Zero 2 with its limited memory and somewhat limited CPU power, is not recommended unless cost is the only concern. Creating keograms, startrails, and timelapse videos may or may not be possible.</li> <li>The Le Potato is the only "Pi-compatible" board that we've found to actually be compatible, so buyer beware.</li> </ul> </blockquote> <hr> <p>&nbsp;</p> <!-- =============================================================================== --> <h2>Software Installation</h2> <p>PatriotAstro created a great <a href="https://www.youtube.com/watch?v=7TGpGz5SeVI">video</a> describing the installation steps below. <strong>We highly suggest viewing it before installing the software.</strong></p> <p>Detailed installation instructions can be found at <a href="https://htmlpreview.github.io/?https://raw.githubusercontent.com/thomasjacquin/allsky/master/html/documentation/installations/Allsky.html">Installing / Upgrading --&gt; Allsky</a>.</p> <hr> <p>&nbsp;</p> <!-- =============================================================================== --> <h2>Web User Interface (WebUI)</h2> <p align="center"> <img src="https://github.com/thomasjacquin/allsky/raw/master/html/documentation/settings/AllskySettingsPage.png" style="border: 1px solid black"> </p> <p>The WebUI is now installed as part of Allsky and is used to administer Allsky, and to a lesser extent, your Pi. It can also be used to view the current image as well as all saved images, keograms, startrails, and timelapse videos.</p> <p>A public page is also available in order to view the current image without having to log into the WebUI and without being able to do any administrative tasks. This can be useful for people who don't have a Allsky Website but still want to share a view of their sky:</p> <pre><code>http://your_raspberry_IP/public.php </code></pre> <p>Make sure this page is publically viewable. If it is behind a firewall consult the documentation for your network equipment for information on allowing inbound connections.</p> <hr> <p>&nbsp;</p> <!-- =============================================================================== --> <h2>Allsky Website</h2> <p>By installling the optional Allsky Website you can display your files on a website on the Pi, on another machine, or on both.</p> <p>See <a href="https://htmlpreview.github.io/?https://raw.githubusercontent.com/thomasjacquin/allsky/master/html/documentation/installations/AllskyWebsite.html">Installation / Upgrading --&gt; Website</a> for information on how to install and configure an Allsky Website.</p> <hr> <p>&nbsp;</p> <!-- =============================================================================== --> <h2>Post-capture processing</h2> <p>Captured images can be resized, cropped, and stretched, and bad images (i.e., too light or too dark) can be removed automatically.</p> <p>Allsky supports running "modules" after each picture is taken to change the image (e.g., add an overlay) or perform other tasks (e.g., count the number of stars in the image). You can determine what modules to run and in what order. Modules can pass data to other modules, for example, the Start Count Module can pass the star count to the Overlay Module to be added to the overlay.</p> <p>The Overlay Editor lets you easily specify what text and images you want in your overlay, and place them using drag-and-drop. Each field can be formatted however you want (font, color, size, position, rotation, etc.). The only limit is your imagination!!</p> <p>See <a href="https://htmlpreview.github.io/?https://raw.githubusercontent.com/thomasjacquin/allsky/master/html/documentation/overlays/overlays.html">Explanations / How To -&gt; Overlays</a> and <a href="https://htmlpreview.github.io/?https://raw.githubusercontent.com/thomasjacquin/allsky/master/html/documentation/modules/modules.html">Explanations / How To -&gt; Modules</a> for more information.</p> <hr> <p>&nbsp;</p> <!-- =============================================================================== --> <h2>Dark frame subtraction</h2> <p>Dark frame subtraction removes hot pixels from images by taking images at different temperatures with a cover on your camera lens and subtracting those images from nighttime images.</p> <p>See <a href="https://htmlpreview.github.io/?https://raw.githubusercontent.com/thomasjacquin/allsky/master/html/documentation/explanations/darkFrames.html">Explanations / How To -&gt; Dark frames</a> for more information.</p> <hr> <p>&nbsp;</p> <!-- =============================================================================== --> <h2>Timelapse and mini timelapse</h2> <p>By default, a timelapse video is generated at the end of nighttime from all of the images captured in the last 24 hours.</p> <p>"Mini" timelapse videos can also be created every few images, and contain the last several images. They are useful to see what the sky was recently like.</p> <hr> <p>&nbsp;</p> <!-- =============================================================================== --> <h2>Keograms</h2> <p align="center"> <img src="https://github.com/thomasjacquin/allsky/raw/master/assets/Keogram.png" width="75%"> </p> <p>A <strong>Keogram</strong> is an image giving a quick view of the day's activity. For each image a central vertical column 1 pixel wide is extracted. All these columns are then stitched together from left to right. This results in a timeline that reads from dawn to the end of nighttime (the image above only shows nighttime data since daytime images were turned off).</p> <p>See <a href="https://htmlpreview.github.io/?https://raw.githubusercontent.com/thomasjacquin/allsky/master/html/documentation/explanations/keograms.html">Explanations / How To --&gt; Keograms</a>.</p> <hr> <p>&nbsp;</p> <!-- =============================================================================== --> <h2>Startrails</h2> <p align="center"> <img src="https://github.com/thomasjacquin/allsky/raw/master/assets/Startrails.png" width="50%"> </p> <p><strong>Startrails</strong> are generated by stacking all the images from a night on top of each other. In the image above, Polaris is centered about one-fourth the way from the top.</p> <p>See <a href="https://htmlpreview.github.io/?https://raw.githubusercontent.com/thomasjacquin/allsky/master/html/documentation/explanations/startrails.html">Explanations / How To --&gt; Startrails</a>.</p> <hr> <p>&nbsp;</p> <!-- =============================================================================== --> <h2>Automatic deletion of old data</h2> <p>You can specify how many days worth of images to keep in order to keep the Raspberry Pi SD card from filling up. If you have the Allsky Website installed on your Pi, you can specify how many days worth of its imags to keep.</p> <p>See the <strong>DAYS_TO_KEEP</strong> and <strong>WEB_DAYS_TO_KEEP</strong> settings in <a href="https://htmlpreview.github.io/?https://raw.githubusercontent.com/thomasjacquin/allsky/master/html/documentation/settings/allsky.html">Settings --&gt; Allsky</a>.</p> <hr> <p>&nbsp;</p> <!-- =============================================================================== --> <h2>Share your sky</h2> <p>If you want your allsky camera added to the <a href="http://www.thomasjacquin.com/allsky-map">Allsky map</a>, see <a href="https://htmlpreview.github.io/?https://raw.githubusercontent.com/thomasjacquin/allsky/master/html/documentation/miscellaneous/AllskyMap.html">Put your camera on Allsky Map</a>.</p> <p>If you know anyone in Greenland or Antartica, send them a camera!!</p> <p align="center"> <a href="https://www.thomasjacquin.com/allsky-map/" title="Allsky map example - click to see real map"> <img src="https://github.com/thomasjacquin/allsky/raw/master/html/documentation/miscellaneous/allsky-map-with-pins.png"> </a> </p> <hr> <p>&nbsp;</p> <!-- =============================================================================== --> <h2>Release changes</h2> <p>See the <a href="https://htmlpreview.github.io/?https://raw.githubusercontent.com/thomasjacquin/allsky/master/html/documentation/changeLog.html">Allsky Version Change Log</a> for a list of changes in this release and all prior releases.</p> <hr> <p>&nbsp;</p> <!-- =============================================================================== --> <h2>Donation</h2> <p>If you found this project useful, here's a link to send Thomas a cup of coffee :)</p> <p><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=MEBU2KN75G2NG&amp;source=url"><img src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif" alt=""></a></p> - - - woowacourse-precourse/javascript-baseball-6 - 2023-10-22T01:34:52Z - tag:github.com,2023-10-22:/woowacourse-precourse/javascript-baseball-6 - - <p></p><hr><h1>미션 - 숫자 야구</h1> <h2>🔍 진행 방식</h2> <ul> <li>미션은 <strong>기능 요구 사항, 프로그래밍 요구 사항, 과제 진행 요구 사항</strong> 세 가지로 구성되어 있다.</li> <li>세 개의 요구 사항을 만족하기 위해 노력한다. 특히 기능을 구현하기 전에 기능 목록을 만든다.</li> <li>기능 요구 사항에 기재되지 않은 내용은 스스로 판단하여 구현한다.</li> </ul> <h2>📮 미션 제출 방법</h2> <ul> <li>미션 구현을 완료한 후 GitHub을 통해 제출해야 한다. <ul> <li>GitHub을 활용한 제출 방법은 <a href="https://github.com/woowacourse/woowacourse-docs/tree/master/precourse">프리코스 과제 제출</a> 문서를 참고해 제출한다.</li> </ul> </li> <li>GitHub에 미션을 제출한 후 <a href="https://apply.techcourse.co.kr">우아한테크코스 지원</a> 사이트에 접속하여 프리코스 과제를 제출한다. <ul> <li>자세한 방법은 <a href="https://github.com/woowacourse/woowacourse-docs/tree/master/precourse#%EC%A0%9C%EC%B6%9C-%EA%B0%80%EC%9D%B4%EB%93%9C">제출 가이드</a> 참고</li> <li><strong>Pull Request만 보내고 지원 플랫폼에서 과제를 제출하지 않으면 최종 제출하지 않은 것으로 처리되니 주의한다.</strong></li> </ul> </li> </ul> <h2>🚨 과제 제출 전 체크 리스트 - 0점 방지</h2> <ul> <li>기능 구현을 모두 정상적으로 했더라도 <strong>요구 사항에 명시된 출력값 형식을 지키지 않을 경우 0점으로 처리</strong>한다.</li> <li>기능 구현을 완료한 뒤 아래 가이드에 따라 테스트를 실행했을 때 모든 테스트가 성공하는지 확인한다.</li> <li><strong>테스트가 실패할 경우 0점으로 처리</strong>되므로, 반드시 확인 후 제출한다.</li> </ul> <h3>테스트 실행 가이드</h3> <ul> <li>테스트 패키지 설치를 위해 <code>Node.js</code> 버전 <code>18.17.1</code> 이상이 필요하다.</li> <li>다음 명령어를 입력해 패키지를 설치한다.</li> </ul> <pre><code class="language-bash">npm install </code></pre> <ul> <li>설치가 완료되었다면, 다음 명령어를 입력해 테스트를 실행한다.</li> </ul> <pre><code class="language-bash">npm test </code></pre> <hr> <h2>🚀 기능 요구 사항</h2> <p>기본적으로 1부터 9까지 서로 다른 수로 이루어진 3자리의 수를 맞추는 게임이다.</p> <ul> <li>같은 수가 같은 자리에 있으면 스트라이크, 다른 자리에 있으면 볼, 같은 수가 전혀 없으면 낫싱이란 힌트를 얻고, 그 힌트를 이용해서 먼저 상대방(컴퓨터)의 수를 맞추면 승리한다. <ul> <li>예) 상대방(컴퓨터)의 수가 425일 때 <ul> <li>123을 제시한 경우 : 1스트라이크</li> <li>456을 제시한 경우 : 1볼 1스트라이크</li> <li>789를 제시한 경우 : 낫싱</li> </ul> </li> </ul> </li> <li>위 숫자 야구 게임에서 상대방의 역할을 컴퓨터가 한다. 컴퓨터는 1에서 9까지 서로 다른 임의의 수 3개를 선택한다. 게임 플레이어는 컴퓨터가 생각하고 있는 서로 다른 3개의 숫자를 입력하고, 컴퓨터는 입력한 숫자에 대한 결과를 출력한다.</li> <li>이 같은 과정을 반복해 컴퓨터가 선택한 3개의 숫자를 모두 맞히면 게임이 종료된다.</li> <li>게임을 종료한 후 게임을 다시 시작하거나 완전히 종료할 수 있다.</li> <li>사용자가 잘못된 값을 입력한 경우 <code>throw</code>문을 사용해 예외를 발생시킨후 애플리케이션은 종료되어야 한다.</li> </ul> <h3>입출력 요구 사항</h3> <h4>입력</h4> <ul> <li>서로 다른 3자리의 수</li> <li>게임이 끝난 경우 재시작/종료를 구분하는 1과 2 중 하나의 수</li> </ul> <h4>출력</h4> <ul> <li>입력한 수에 대한 결과를 볼, 스트라이크 개수로 표시</li> </ul> <pre><code>1볼 1스트라이크 </code></pre> <ul> <li>하나도 없는 경우</li> </ul> <pre><code>낫싱 </code></pre> <ul> <li>3개의 숫자를 모두 맞힐 경우</li> </ul> <pre><code>3스트라이크 3개의 숫자를 모두 맞히셨습니다! 게임 종료 </code></pre> <ul> <li>게임 시작 문구 출력</li> </ul> <pre><code>숫자 야구 게임을 시작합니다. </code></pre> <h4>실행 결과 예시</h4> <pre><code>숫자 야구 게임을 시작합니다. 숫자를 입력해주세요 : 123 1볼 1스트라이크 숫자를 입력해주세요 : 145 1볼 숫자를 입력해주세요 : 671 2볼 숫자를 입력해주세요 : 216 1스트라이크 숫자를 입력해주세요 : 713 3스트라이크 3개의 숫자를 모두 맞히셨습니다! 게임 종료 게임을 새로 시작하려면 1, 종료하려면 2를 입력하세요. 1 숫자를 입력해주세요 : 123 1볼 ... </code></pre> <hr> <h2>🎯 프로그래밍 요구 사항</h2> <ul> <li>Node.js 18.17.1 버전에서 실행 가능해야 한다. <strong>Node.js 18.17.1에서 정상적으로 동작하지 않을 경우 0점 처리한다.</strong></li> <li>프로그램 실행의 시작점은 <code>App.js</code>의 <code>play</code> 메서드이다. 아래와 같이 프로그램을 실행시킬 수 있어야 한다.</li> </ul> <p><strong>예시</strong></p> <pre><code class="language-javascript">const app = new App(); app.play(); </code></pre> <ul> <li><code>package.json</code>을 변경할 수 없고 외부 라이브러리(jQuery, Lodash 등)를 사용하지 않는다. 순수 Vanilla JS로만 구현한다.</li> <li><a href="https://github.com/woowacourse/woowacourse-docs/tree/main/styleguide/javascript">JavaScript 코드 컨벤션</a>을 지키면서 프로그래밍 한다</li> <li>프로그램 종료 시 <code>process.exit()</code>를 호출하지 않는다.</li> <li>프로그램 구현이 완료되면 <code>ApplicationTest</code>의 모든 테스트가 성공해야 한다. <strong>테스트가 실패할 경우 0점 처리한다.</strong></li> <li>프로그래밍 요구 사항에서 달리 명시하지 않는 한 파일, 패키지 이름을 수정하거나 이동하지 않는다.</li> </ul> <h3>라이브러리</h3> <ul> <li><code>@woowacourse/mission-utils</code>의 <code>Random</code> 및 <code>Console</code> API를 사용하여 구현해야 한다. <ul> <li>Random 값 추출은 <code>Random.pickNumberInRange()</code>를 활용한다.</li> <li>사용자의 값을 입력 받고 출력하기 위해서는 <code>Console.readLineAsync</code>, <code>Console.print</code>를 활용한다.</li> </ul> </li> </ul> <h4>사용 예시</h4> <pre><code class="language-javascript">const computer = []; while (computer.length &lt; 3) { const number = MissionUtils.Random.pickNumberInRange(1, 9); if (!computer.includes(number)) { computer.push(number); } } </code></pre> <hr> <h2>✏️ 과제 진행 요구 사항</h2> <ul> <li>미션은 <a href="https://github.com/woowacourse-precourse/javascript-baseball-6/">javascript-baseball</a> 저장소를 Fork &amp; Clone해 시작한다.</li> <li><strong>기능을 구현하기 전 <code>docs/README.md</code>에 구현할 기능 목록을 정리</strong>해 추가한다.</li> <li>과제 진행 및 제출 방법은 <a href="https://github.com/woowacourse/woowacourse-docs/tree/master/precourse">프리코스 과제 제출</a> 문서를 참고한다.</li> </ul> - - - Dabble-Studio/3d-to-photo - 2023-10-22T01:34:52Z - tag:github.com,2023-10-22:/Dabble-Studio/3d-to-photo - - <p>3D to Photo is an open-source package by Dabble, that combines threeJS and Stable diffusion to build a virtual photo studio for product photography. Load a 3D model into the browser and virtual shoot it in any kind of scene you can imagine</p><hr><h1>3D to Photo</h1> <p>3D to Photo is an open-source package by Dabble, that combines threeJS and Stable diffusion to build a virtual photo studio for product photography. Load a 3D model into the browser and virtual shoot it in any kind of scene you can imagine. The app currently uses Stable Diffusion 1.5-inpainting, hosted on Replicate.</p> <p><a href="https://youtu.be/iv-iOJDvtvc?si=MwYTDScrixLsLksR">Demo Video</a></p> <p><a href="https://www.youtube.com/watch?v=iv-iOJDvtvc"><img src="https://i.imgur.com/opwbcT9.jpg" alt="3D Photo to Studio Demo"></a></p> <h2>How it Works</h2> <ul> <li>Upload a 3D model of any object in .glb format.</li> <li>Adjust the position and orientation of the model on the canvas</li> <li>Describe the scene you want to create in the text box and click generate image</li> </ul> <h2>Use Cases</h2> <ul> <li>Product Photography: Create product lifestyle photos in any backdrop you can imagine, without a physical photoshoot.</li> <li>Synthetic Data Generation: Generate synthetic images of an item in a variety of scenes. Useful when training object detection models.</li> <li>Previsualize Game Assets: Upload your game assets and generate level art around it to previsualize scenes.</li> </ul> <h2>Tech Stack</h2> <ul> <li><a href="https://threejs.org">ThreeJS</a> to handle loading and viewing 3D models</li> <li>Stable Diffusion 1.5 (inpainting) by <a href="https://stability.ai/">stability.ai</a></li> <li><a href="https://replicate.com/">Replicate</a> to run Stable Diffusion</li> <li><a href="https://nextjs.org/">NextJS</a> by Vercel for the front-end</li> <li>Python Flask Server for some backend image processing functions</li> </ul> <h2>Install and Run</h2> <ol> <li>Clone this repository</li> </ol> <pre><code>git clone git@github.com:Dabble-Studio/3d-to-photo.git </code></pre> <ol start="2"> <li>Install neccessary packages for the front end</li> </ol> <pre><code>cd 3d-to-photo npm install </code></pre> <ol start="3"> <li>Install neccessary packages for the python backend</li> </ol> <pre><code>cd image_proc_server pip install -r requirements.txt </code></pre> <ol start="4"> <li>Run the Flask Server</li> </ol> <pre><code>flask run </code></pre> <ol start="5"> <li> <p>Set your Replicate API key. In another terminal, navigate to the root folder and create a file called .env. You can use the .env.example file as a template. Paste your Replicate API key in this line REPLICATE_API_TOKEN=YOUR_API_TOKEN, in place of YOUR_API_TOKEN</p> </li> <li> <p>Run the NextJS app</p> </li> </ol> <pre><code>npm run dev </code></pre> <ol start="7"> <li>Use one of the sample 3D models and drag it into the upload area. Enter a prompt in the text box and click "Generate Image"</li> </ol> + Guru322/GURU-BOT + 2023-10-23T01:32:32Z + tag:github.com,2023-10-23:/Guru322/GURU-BOT + + <p>A SIMPLE YET COMPLICATED WHATSAPP BOT <DO STAR THE REPO></p><hr><p align="center"> <a href="https://youtu.be/WcA7GZuaN0A"> <img alt="Guru" height="300" src="https://cdn.jsdelivr.net/gh/Guru322/api@Guru/guru.jpg"> </a></p> <h1 align="center"><a href="https://youtu.be/WcA7GZuaN0A">GURU-BOT 2.O</a></h1> <a href="https://youtu.be/WcA7GZuaN0A"> </a> <p></p> <p align="center"> <a href="https://github.com/Guru322"><img title="Author" src="https://img.shields.io/badge/GURU-BOT-black?style=for-the-badge&amp;logo=telegram"></a> </p> <p></p> <p align="center"> <a href="https://github.com/Guru322?tab=followers"><img title="Followers" src="https://img.shields.io/github/followers/Guru322?label=Followers&amp;style=social"></a> <a href="https://github.com/Guru322/GURU-BOT/stargazers/"><img title="Stars" src="https://img.shields.io/github/stars/Guru322/GURU-BOT?&amp;style=social"></a> <a href="https://github.com/Guru322/GURU-BOT/network/members"><img title="Fork" src="https://img.shields.io/github/forks/Guru322/GURU-BOT?style=social"></a> <a href="https://github.com/Guru322/GURU-BOT/watchers"><img title="Watching" src="https://img.shields.io/github/watchers/Guru322/GURU-BOT?label=Watching&amp;style=social"></a> </p> <h4></h4> <p>GURU-BOT- Simple Multi Device whatsapp bot.</p> <hr> <h4>SETUP</h4> <ol> <li> <p>Fork the repo <br> <a href="https://github.com/Guru322/GURU-BOT/fork" target="_blank"><img alt="Fork repo" src="https://img.shields.io/badge/Fork Repo-100000?style=for-the-badge&amp;logo=scan&amp;logoColor=white&amp;labelColor=black&amp;color=black"></a></p> </li> <li> <p>Get Session ID <br> <a href="https://replit.com/@Gurucharan-saho/GURU-BOT-PAIR?v=1" target="_blank"><img alt="SESSION ID" src="https://img.shields.io/badge/Session_id-100000?style=for-the-badge&amp;logo=scan&amp;logoColor=white&amp;labelColor=black&amp;color=black"></a></p> </li> </ol> <h4>DEPLOY TO Heroku</h4> <ol> <li>If You don't have an account in Heroku. Create a account. <br></li> </ol> <p align="center"><a href="https://signup.heroku.com"> <img src="https://img.shields.io/badge/heroku%20Account-blue?style=for-the-badge&amp;logo=heroku" width="220" height="38.45"></a></p> <ol start="2"> <li>Watch the following video tutorial, for assistance. <br></li> </ol> <p align="center"><a href="https://youtu.be/yfdzckCcbPk?si=doxesZtn87BepUBw"> <img src="https://img.shields.io/badge/heroku%20Tutorial-blue?style=for-the-badge&amp;logo=heroku" width="220" height="38.45"></a></p> <ol start="3"> <li>Now Deploy <br></li> </ol> <p align="center"><a href="https://gurubhai.is-a.dev"> <img src="https://img.shields.io/badge/Heroku%20Deploy-blue?style=for-the-badge&amp;logo=heroku" width="220" height="38.45"></a></p> <h4>DEPLOY TO RAILWAY</h4> <ol> <li>If You don't have an account On Railway. Create a account. <br></li> </ol> <p align="center"><a href="https://railway.app"> <img src="https://img.shields.io/badge/RailWay%20Account-blue?style=for-the-badge&amp;logo=Railway" width="220" height="38.45"></a></p> <ul> <li>Fork this repo.</li> <li>Now head towards <a href="https://railway.app/new">https://railway.app/new</a>, select Deploy from repo.</li> <li>Now select the forked repository, select branch.</li> <li>Now go to <b>Variables</b> and add variable listed below. <ul> <li>DATABASE_URL, SESSION_ID, REMOVEBG_KEY</li> </ul> </li> <li>Go to <b>Deployments</b> and for deplyment to complete.</li> <li>and you're good to go.</li> </ul> <h4>DEPLOY TO OKTETO</h4> <ol> <li>If You don't have an account On Okteto. Create a account. <br></li> </ol> <p align="center"><a href="https://www.okteto.com/pricing/?plan=SaaS"> <img src="https://img.shields.io/badge/Okteto%20Account-blue?style=for-the-badge&amp;logo=okteto" width="220" height="38.45"></a></p> <ol start="2"> <li>Now Deploy <br></li> </ol> <p align="center"><a href=""> <img src="https://img.shields.io/badge/Okteto%20Deploy-blue?style=for-the-badge&amp;logo=okteto" width="220" height="38.45"></a></p> <h4>DEPLOY TO Replit</h4> <ol> <li>If You don't have an account in Replit. Create a account. <br></li> </ol> <p align="center"><a href="https://replit.com/signup"> <img src="https://img.shields.io/badge/replit%20Account-blue?style=for-the-badge&amp;logo=replit" width="220" height="38.45"></a></p> <ol start="2"> <li>Now Deploy <br></li> </ol> <p align="center"><a href="https://repl.it/github/Guru322/GURU-BOT"> <img src="https://img.shields.io/badge/replit%20Deploy-blue?style=for-the-badge&amp;logo=replit" width="220" height="38.45"></a></p> <h2>🤩 Support</h2> <p>SUPPORT GROUP: <a href="https://chat.whatsapp.com/F3sB3pR3tClBvVmlIkqDJp"><img alt="WhatsApp" src="https://camo.githubusercontent.com/2157131829ac512183ee8f8b6c6f803688a4cc66a2e686602844e80478401a7c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4a6f696e2047726f75702d3235443336363f7374796c653d666f722d7468652d6261646765266c6f676f3d7768617473617070266c6f676f436f6c6f723d7768697465"></a></p> <ul> <li>Star ⭐ the repo if you like GURU-BOT.</li> </ul> <h3>TEAM GURU BOT</h3> \ No newline at end of file diff --git a/javascript/weekly/index.xml b/javascript/weekly/index.xml deleted file mode 100644 index c23b8d8e1c2..00000000000 --- a/javascript/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub JavaScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:24Z - Weekly Trending of JavaScript in GitHub - - - FreeTubeApp/FreeTube - 2023-10-22T01:54:24Z - tag:github.com,2023-10-22:/FreeTubeApp/FreeTube - - <p>An Open Source YouTube app for privacy</p><hr><p align="center"> <img alt="" src="https://docs.freetubeapp.io/images/logoColor.png" width="500" align="center"> </p> <p>FreeTube is an open source desktop YouTube player built with privacy in mind. Use YouTube without advertisements and prevent Google from tracking you with their cookies and JavaScript. Available for Windows, Mac &amp; Linux thanks to Electron.</p> <p align="center"><a href="https://github.com/FreeTubeApp/FreeTube/releases">Download FreeTube</a></p> <p align="center"> <a href="https://github.com/FreeTubeApp/FreeTube/actions/workflows/build.yml"> <img alt="Build status" src="https://github.com/FreeTubeApp/FreeTube/actions/workflows/build.yml/badge.svg?branch=development"> </a> <a href="https://hosted.weblate.org/engage/free-tube/"> <img src="https://hosted.weblate.org/widgets/free-tube/-/svg-badge.svg?sanitize=true" alt="Translation status"> </a> </p> <hr> <p align="center"><a href="https://raw.githubusercontent.com/FreeTubeApp/FreeTube/development/#screenshots">Screenshots</a> • <a href="https://raw.githubusercontent.com/FreeTubeApp/FreeTube/development/#how-does-it-work">How does it work?</a> • <a href="https://raw.githubusercontent.com/FreeTubeApp/FreeTube/development/#features">Features</a> • <a href="https://raw.githubusercontent.com/FreeTubeApp/FreeTube/development/#download-links">Download Links</a> • <a href="https://raw.githubusercontent.com/FreeTubeApp/FreeTube/development/#contributing">Contributing</a> • <a href="https://raw.githubusercontent.com/FreeTubeApp/FreeTube/development/#localization">Localization</a> • <a href="https://raw.githubusercontent.com/FreeTubeApp/FreeTube/development/#contact">Contact</a> • <a href="https://raw.githubusercontent.com/FreeTubeApp/FreeTube/development/#donate">Donate</a> • <a href="https://raw.githubusercontent.com/FreeTubeApp/FreeTube/development/#license">License</a></p> <p align="center"><a href="https://freetubeapp.io/">Website</a> • <a href="https://blog.freetubeapp.io/">Blog</a> • <a href="https://docs.freetubeapp.io/">Documentation</a> • <a href="https://docs.freetubeapp.io/faq/">FAQ</a> • <a href="https://github.com/FreeTubeApp/FreeTube/discussions">Discussions</a></p> <hr> <p><b>Please note that FreeTube is currently in Beta. While it should work well for most users, there are still bugs and missing features that need to be addressed. If you have an idea or if you found a bug, please submit a <a href="https://github.com/FreeTubeApp/FreeTube/issues/new/choose">GitHub issue</a> so that we can track it. Please search <a href="https://github.com/FreeTubeApp/FreeTube/issues">the existing issues</a> before submitting to prevent duplicates!</b></p> <h2>Screenshots</h2> <p><img src="https://i.imgur.com/zFgZUUV.png" width="300"> <img src="https://i.imgur.com/9evYHgN.png" width="300"> <img src="https://i.imgur.com/yT2UzPa.png" width="300"> <img src="https://i.imgur.com/47zIEt4.png" width="300"> <img src="https://i.imgur.com/hFB2fKC.png" width="300"></p> <h2>How does it work?</h2> <p>FreeTube uses a built in extractor to grab and serve data / videos. The <a href="https://github.com/iv-org/invidious">Invidious API</a> can also optionally be used. FreeTube does not use any official APIs to obtain data. While YouTube can still see your video requests, it can no longer track you using cookies or JavaScript. Your subscriptions and history are stored locally on your computer and never sent out. Using a VPN or Tor is highly recommended to hide your IP while using FreeTube.</p> <h2>Features</h2> <ul> <li>Watch videos without ads</li> <li>Use YouTube without Google tracking you using cookies and JavaScript</li> <li>Two extractor APIs to choose from (Built in or Invidious)</li> <li>Subscribe to channels without an account</li> <li>Connect to an externally setup proxy such as Tor</li> <li>View and search your local subscriptions, history, and saved videos</li> <li>Organize your subscriptions into "Profiles" to create a more focused feed</li> <li>Export &amp; import subscriptions</li> <li>Youtube Trending</li> <li>Youtube Chapters</li> <li>Most popular videos page based on the set Invidious instance</li> <li>SponsorBlock</li> <li>Open videos from your browser directly into FreeTube (with extension)</li> <li>Watch videos using an external player</li> <li>Full Theme support</li> <li>Make a screenshot of a video</li> <li>Multiple windows</li> <li>Mini Player (Picture-in-Picture)</li> <li>Keyboard shortcuts</li> <li>Option to show only family friendly content</li> <li>Show/hide functionality or elements within the app using the distraction free settings</li> <li>View channel community posts</li> <li>View most age restricted videos</li> </ul> <h3>Browser Extension</h3> <p>FreeTube is supported by the <a href="https://github.com/SimonBrazell/privacy-redirect">Privacy Redirect</a> and <a href="https://github.com/libredirect/libredirect">LibRedirect</a> extensions, which will allow you to open YouTube links into FreeTube. You must enable the option within the advanced settings of the extension for it to work.</p> <ul> <li> <p>Download Privacy Redirect for <a href="https://addons.mozilla.org/en-US/firefox/addon/privacy-redirect/">Firefox</a> or <a href="https://chrome.google.com/webstore/detail/privacy-redirect/pmcmeagblkinmogikoikkdjiligflglb">Google Chrome</a>.</p> </li> <li> <p>Download LibRedirect for <a href="https://addons.mozilla.org/firefox/addon/libredirect/">Firefox</a> or <a href="https://libredirect.github.io/download_chromium.html">Google Chrome</a>.</p> </li> </ul> <p>If you have issues with the extension working with FreeTube, please create an issue in this repository instead of the extension repository. This extension does not work on Linux portable builds!</p> <h2>Download Links</h2> <h3>Official Downloads</h3> <ul> <li> <p><a href="https://github.com/FreeTubeApp/FreeTube/releases">GitHub Releases</a></p> </li> <li> <p><a href="https://freetubeapp.io/#download">FreeTube Website</a></p> </li> <li> <p>Flatpak on Flathub: <a href="https://flathub.org/apps/details/io.freetubeapp.FreeTube">Download</a> and <a href="https://github.com/flathub/io.freetubeapp.FreeTube">Source Code</a></p> </li> </ul> <h4>Automated Builds (Nightly / Weekly)</h4> <p>Builds are automatically created from changes to our development branch via <a href="https://github.com/FreeTubeApp/FreeTube/actions?query=workflow%3ABuild">GitHub Actions</a>.</p> <p>The first build with a green check mark is the latest build. You will need to have a GitHub account to download these builds.</p> <h3>Unofficial Downloads</h3> <p>These builds are maintained by the community. While they should be safe, download at your own risk. There may be issues with using these versus the official builds. Any issues specific with these builds should be sent to their respective maintainer. <b>Make sure u always try an <a href="https://github.com/freetubeapp/freetube/#official-downloads">official download</a> before reporting your issue to us!</b></p> <ul> <li> <p>Arch User Repository (AUR): <a href="https://aur.archlinux.org/packages/freetube-bin/">Download</a></p> </li> <li> <p>Chocolatey: <a href="https://chocolatey.org/packages/freetube/">Download</a></p> </li> <li> <p>FreeTubeCordova (FreeTube port for Android and PWA): <a href="https://github.com/MarmadileManteater/FreeTubeCordova/releases">Download</a> and <a href="https://github.com/MarmadileManteater/FreeTubeCordova">Source Code</a></p> </li> <li> <p>makedeb Package Repository (MPR): <a href="https://mpr.makedeb.org/packages/freetube-bin">Download</a></p> </li> <li> <p>Nix Packages: <a href="https://search.nixos.org/packages?query=freetube">Download</a></p> </li> <li> <p>PortableApps (Windows Only): <a href="https://github.com/rddim/FreeTubePortable/releases">Download</a> and <a href="https://github.com/rddim/FreeTubePortable">Source Code</a></p> </li> <li> <p>Scoop (Windows Only): <a href="https://github.com/ScoopInstaller/Scoop">Usage</a></p> </li> <li> <p>Snap: <a href="https://snapcraft.io/freetube">Download</a> and <a href="https://git.launchpad.net/freetube">Source Code</a></p> </li> <li> <p>Windows Package Manager (winget): <a href="https://docs.microsoft.com/en-us/windows/package-manager/winget/">Usage</a></p> </li> </ul> <h2>Contributing</h2> <p>If you like to get your hands dirty and want to contribute, we would love to have your help. Send a pull request and someone will review your code. Please follow the <a href="https://github.com/FreeTubeApp/FreeTube/raw/development/CONTRIBUTING.md">Contribution Guidelines</a> before sending your pull request.</p> <p>Thank you very much to the <a href="https://docs.freetubeapp.io/credits/">People and Projects</a> that make FreeTube possible!</p> <h2>Localization</h2> <a href="https://hosted.weblate.org/engage/free-tube/"> <img src="https://hosted.weblate.org/widgets/free-tube/-/287x66-grey.png" alt="Translation status"> </a> <p>We are actively looking for translations! We use <a href="https://hosted.weblate.org/engage/free-tube/">Weblate</a> to make it easy for translators to get involved. Click on the badge above to learn how to get involved.</p> <p>For the Linux Flatpak, the desktop entry comment string can be translated at our <a href="https://github.com/flathub/io.freetubeapp.FreeTube/raw/master/io.freetubeapp.FreeTube.desktop">Flatpak repository</a>.</p> <h2>Contact</h2> <p>If you ever have any questions, feel free to ask it on our <a href="https://github.com/FreeTubeApp/FreeTube/discussions">Discussions</a> page. Alternatively, you can email us at <a href="mailto:FreeTubeApp@protonmail.com">FreeTubeApp@protonmail.com</a> or you can join our <a href="https://matrix.to/#/+freetube:matrix.org">Matrix Community</a>. Don't forget to check out the <a href="https://docs.freetubeapp.io/community/matrix/">rules</a> before joining.</p> <h2>Donate</h2> <p>If you enjoy using FreeTube, you're welcome to leave a donation using the following methods.</p> <ul> <li> <p><a href="https://liberapay.com/FreeTube">FreeTube on Liberapay</a></p> </li> <li> <p>Bitcoin Address: <code>1Lih7Ho5gnxb1CwPD4o59ss78pwo2T91eS</code></p> </li> <li> <p>Monero Address: <code>48WyAPdjwc6VokeXACxSZCFeKEXBiYPV6GjfvBsfg4CrUJ95LLCQSfpM9pvNKy5GE5H4hNaw99P8RZyzmaU9kb1pD7kzhCB</code></p> </li> </ul> <p>While your donations are much appreciated, only donate if you really want to. Donations are used for keeping the website up and running and eventual code signing costs. If you are using the Invidious API then we recommend that you donate to the instance that you use. You can also donate to the <a href="https://invidious.io/donate/">Invidious team</a> or the <a href="https://github.com/sponsors/LuanRT">Local API developer</a>.</p> <h2>License</h2> <p><a href="https://www.gnu.org/licenses/agpl-3.0.html"><img src="https://www.gnu.org/graphics/agplv3-155x51.png" alt="GNU AGPLv3 Image"></a></p> <p>FreeTube is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the <a href="https://www.gnu.org/licenses/agpl-3.0.html">GNU Affero General Public License</a> as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.</p> - - - apexcharts/apexcharts.js - 2023-10-22T01:54:24Z - tag:github.com,2023-10-22:/apexcharts/apexcharts.js - - <p>📊 Interactive JavaScript Charts built on SVG</p><hr><p align="center"><img src="https://apexcharts.com/media/apexcharts-logo.png"></p> <p align="center"> <a href="https://github.com/apexcharts/apexcharts.js/raw/master/LICENSE"><img src="https://img.shields.io/badge/License-MIT-brightgreen.svg?sanitize=true" alt="License"></a> <a href="https://travis-ci.com/apexcharts/apexcharts.js"><img src="https://api.travis-ci.com/apexcharts/apexcharts.js.svg?branch=master" alt="build"></a> <img alt="downloads" src="https://img.shields.io/npm/dm/apexcharts.svg?sanitize=true"> <a href="https://www.npmjs.com/package/apexcharts"><img src="https://img.shields.io/npm/v/apexcharts.svg?sanitize=true" alt="ver"></a> <img alt="size" src="https://badgen.net/bundlephobia/min/apexcharts?label=size"> <a href="https://cdn.jsdelivr.net/npm/apexcharts@3.12.0/types/apexcharts.d.ts"><img src="https://badgen.net/npm/types/apexcharts"></a> <a href="https://github.com/prettier/prettier"><img src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square" alt="prettier"></a> <a href="https://www.jsdelivr.com/package/npm/apexcharts"><img src="https://data.jsdelivr.com/v1/package/npm/apexcharts/badge" alt="jsdelivr"></a> <a href="https://codeclimate.com/github/apexcharts/apexcharts.js"><img src="https://badgen.net/codeclimate/maintainability/apexcharts/apexcharts.js"></a> <img src="https://badgen.net/codeclimate/tech-debt/apexcharts/apexcharts.js"> </p> <p align="center"> <a href="https://twitter.com/intent/tweet?text=Create%20visualizations%20with%20this%20free%20and%20open-source%20JavaScript%20Chart%20library&amp;url=https://www.apexcharts.com&amp;hashtags=javascript,charts,visualizations,developers,apexcharts"><img src="https://img.shields.io/twitter/url/http/shields.io.svg?style=social"> </a> </p> <p align="center">A modern JavaScript charting library that allows you to build interactive data visualizations with simple API and 100+ ready-to-use samples. Packed with the features that you expect, ApexCharts includes over a dozen chart types that deliver beautiful, responsive visualizations in your apps and dashboards. ApexCharts is an MIT-licensed open-source project that can be used in commercial and non-commercial projects.</p> <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/"><img src="https://apexcharts.com/media/apexcharts-banner.png"></a></p> <br> <h2>Browsers support</h2> <table> <thead> <tr> <th><a href="http://godban.github.io/browsers-support-badges/"><img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px"></a><br>Firefox</th> <th><a href="http://godban.github.io/browsers-support-badges/"><img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px"></a><br>Chrome</th> <th><a href="http://godban.github.io/browsers-support-badges/"><img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px"></a><br>Safari</th> <th><a href="http://godban.github.io/browsers-support-badges/"><img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="Edge" width="24px" height="24px"></a><br> Edge</th> <th><a href="http://godban.github.io/browsers-support-badges/"><img src="https://user-images.githubusercontent.com/17712401/124668393-30772d00-de87-11eb-9360-3199c3b68b95.png" alt="IE" width="24px" height="24px"></a><br> IE11</th> </tr> </thead> <tbody> <tr> <td>31+ ✔</td> <td>35+ ✔</td> <td>6+ ✔</td> <td>Edge ✔</td> <td><a href="https://raw.githubusercontent.com/apexcharts/apexcharts.js/main/#using-it-with-ie11">(IE11)</a> ✔</td> </tr> </tbody> </table> <h2>Download and Installation</h2> <h5>Installing via npm</h5> <pre><code class="language-bash">npm install apexcharts --save </code></pre> <h5>Direct &lt;script&gt; include</h5> <pre><code class="language-html">&lt;script src="https://cdn.jsdelivr.net/npm/apexcharts"&gt;&lt;/script&gt; </code></pre> <h2>Wrappers for Vue/React/Angular/Stencil</h2> <p>Integrate easily with 3rd party frameworks</p> <ul> <li><a href="https://github.com/apexcharts/vue-apexcharts">vue-apexcharts</a></li> <li><a href="https://github.com/apexcharts/react-apexcharts">react-apexcharts</a></li> <li><a href="https://github.com/apexcharts/ng-apexcharts">ng-apexcharts</a> - Plugin by <a href="https://morrisj.net/">Morris Janatzek</a></li> <li><a href="https://github.com/apexcharts/stencil-apexcharts">stencil-apexcharts</a></li> </ul> <h3>Unofficial Wrappers</h3> <p>Useful links to wrappers other than the popular frameworks mentioned above</p> <ul> <li><a href="https://github.com/dreamRs/apexcharter">apexcharter</a> - Htmlwidget for ApexCharts</li> <li><a href="https://github.com/styd/apexcharts.rb">apexcharts.rb</a> - Ruby wrapper for ApexCharts</li> <li><a href="https://github.com/ArielMejiaDev/larapex-charts">larapex-charts</a> - Laravel wrapper for ApexCharts</li> <li><a href="https://github.com/apexcharts/Blazor-ApexCharts">blazor-apexcharts</a> - Blazor wrapper for ApexCharts <a href="https://apexcharts.github.io/Blazor-ApexCharts/">demo</a></li> <li><a href="https://github.com/galkatz373/svelte-apexcharts">svelte-apexcharts</a> - Svelte wrapper for ApexCharts</li> </ul> <h2>Usage</h2> <pre><code class="language-js">import ApexCharts from 'apexcharts' </code></pre> <p>To create a basic bar chart with minimal configuration, write as follows:</p> <pre><code class="language-js">var options = { chart: { type: 'bar' }, series: [ { name: 'sales', data: [30, 40, 35, 50, 49, 60, 70, 91, 125] } ], xaxis: { categories: [1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999] } } var chart = new ApexCharts(document.querySelector('#chart'), options) chart.render() </code></pre> <p>This will render the following chart</p> <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/column-charts/"><img src="https://apexcharts.com/media/first-bar-chart.svg?sanitize=true"></a></p> <h3>A little more than the basic</h3> <p>You can create a combination of different charts, sync them and give your desired look with unlimited possibilities. Below is an example of synchronized charts with github style.</p> <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/area-charts/github-style/"><img src="https://apexcharts.com/media/github-charts.gif"></a></p> <h2>Interactivity</h2> <p>Zoom, Pan, and Scroll through data. Make selections and load other charts using those selections. An example showing some interactivity</p> <p align="center"><a href="https://codepen.io/apexcharts/pen/QrbEQg" target="_blank"><img src="https://apexcharts.com/media/interactivity.gif" alt="interactive chart"></a></p> <h2>Dynamic Series Update</h2> <p>Another approach is to Drill down charts where one selection updates the data of other charts. An example of loading dynamic series into charts is shown below</p> <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/column-charts/dynamic-loaded-chart/"><img src="https://apexcharts.com/media/dynamic-selection.gif" alt="dynamic-loading-chart"></a></p> <h2>Annotations</h2> <p>Annotations allow you to write custom text on specific values or on axes values. Valuable to expand the visual appeal of your chart and make it more informative.</p> <p align="center"><a href="https://apexcharts.com/docs/annotations/"><img src="https://apexcharts.com/media/annotations.png" alt="annotations"></a></p> <h2>Mixed Charts</h2> <p>You can combine more than one chart type to create a combo/mixed chart. Possible combinations can be line/area/column together in a single chart. Each chart type can have its own y-axis.</p> <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/mixed-charts/"><img src="https://apexcharts.com/wp-content/uploads/2018/05/line-column-area-mixed-chart.svg?sanitize=true" alt="annotations" width="490"></a></p> <h2>Candlestick</h2> <p>Use a candlestick chart (a common financial chart) to describe price changes of a security, derivative, or currency. The below image shows how you can use another chart as a brush/preview pane which acts as a handle to browse the main candlestick chart.</p> <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/candlestick-charts/"><img src="https://apexcharts.com/media/candlestick.png" alt="candlestick" width="490"></a></p> <h2>Heatmaps</h2> <p>Use Heatmaps to represent data through colors and shades. Frequently used with bigger data collections, they are valuable for recognizing patterns and areas of focus.</p> <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/heatmap-charts/"><img src="https://apexcharts.com/media/heatmap-charts.png" alt="heatmap"></a></p> <h2>Gauges</h2> <p>The tiny gauges are an important part of a dashboard and are useful in displaying single-series data. A demo of these gauges:</p> <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/radialbar-charts/"><img src="https://apexcharts.com/media/radialbars-gauges.png" width="490" alt="radialbar-chart"></a></p> <h2>Sparklines</h2> <p>Utilize sparklines to indicate trends in data, for example, occasional increments or declines, monetary cycles, or to feature the most extreme and least values:</p> <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/sparklines/"><img src="https://apexcharts.com/media/sparklines.png" alt="sparkline-chart"></a></p> <h2>Need Advanced Data Grid for your next project?</h2> <p>We partnered with Infragistics, creators of the fastest data grids on the planet! Ignite UI Grids can handle unlimited rows and columns of data while providing access to custom templates and real-time data updates.</p> <p align="center"><a href="https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/grid" target="_blank"><img src="https://apexcharts.com/media/infragistics-data-grid.png"></a></p> <p>Featuring an intuitive API for easy theming and branding, you can quickly bind to data with minimal hand-on coding. The grid is available in most of your favorite frameworks:</p> <p><a target="_blank" href="https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/grid">Angular Data Grid</a> | <a target="_blank" href="https://www.infragistics.com/products/ignite-ui-react/react/components/grids">React Data Grid</a> | <a target="_blank" href="https://www.infragistics.com/products/ignite-ui-blazor/blazor/components/data-grid">Blazor Data Grid</a> | <a target="_blank" href="https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/data-grid">Web Components DataGrid</a> | <a target="_blank" href="https://www.igniteui.com/grid/overview">jQuery Data Grid </a></p> <h2>What's included</h2> <p>The download bundle includes the following files and directories providing a minified single file in the dist folder. Every asset including icon/css is bundled in the js itself to avoid loading multiple files.</p> <pre><code>apexcharts/ ├── dist/ │ └── apexcharts.min.js ├── src/ │ ├── assets/ │ ├── charts/ │ ├── modules/ │ ├── utils/ │ └── apexcharts.js └── samples/ </code></pre> <h2>Using it with IE11</h2> <p>If you need to make it work with IE11, you need to include these polyfills before including ApexCharts</p> <ul> <li><a href="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js">promise-polyfill</a></li> <li><a href="https://cdn.jsdelivr.net/npm/eligrey-classlist-js-polyfill">classlist.js</a></li> <li><a href="https://cdn.jsdelivr.net/npm/@juggle/resize-observer">ResizeObserver polyfill</a></li> <li><a href="https://cdn.jsdelivr.net/npm/findindex_polyfill_mdn">findIndex</a> - You will need this only if you require timeline/rangebar charts</li> <li><a href="https://unpkg.com/canvg@3.0.4/lib/umd.js">canvg</a> - You will need this only if you require PNG download of your charts</li> </ul> <h2>Development</h2> <h4>Install dependencies and run the project</h4> <pre><code class="language-bash">npm install npm run dev </code></pre> <p>This will start the webpack watch and any changes you make to <code>src</code> folder will auto-compile and output will be produced in the <code>dist</code> folder.</p> <p>More details in <a href="https://raw.githubusercontent.com/apexcharts/apexcharts.js/main/CONTRIBUTING.md">Contributing Guidelines</a>.</p> <h4>Minifying the src</h4> <pre><code class="language-bash">npm run build </code></pre> <h2>Where do I go next?</h2> <p>Head over to the <a href="https://apexcharts.com/docs/">documentation</a> section to read more about how to use different kinds of charts and explore all options.</p> <h2>Contacts</h2> <p>Email: <a href="https://raw.githubusercontent.com/apexcharts/apexcharts.js/main/info@apexcharts.com"></a><a href="mailto:info@apexcharts.com">info@apexcharts.com</a></p> <p>Twitter: <a href="https://twitter.com/apexcharts">@apexcharts</a></p> <p>Facebook: <a href="https://facebook.com/apexcharts">fb.com/apexcharts</a></p> <h2>Dependency</h2> <p>ApexCharts uses <a href="https://svgdotjs.github.io/" target="_blank">SVG.js</a> for drawing shapes, animations, applying svg filters, and a lot more under the hood. The library is bundled in the final build file, so you don't need to include it.</p> <h2>License</h2> <p>ApexCharts is released under MIT license. You are free to use, modify and distribute this software, as long as the copyright header is left intact.</p> - - - langchain-ai/langserve - 2023-10-22T01:54:24Z - tag:github.com,2023-10-22:/langchain-ai/langserve - - <p>LangServe</p><hr><h1>LangServe 🦜️🔗</h1> <h2>Overview</h2> <p><code>LangServe</code> helps developers deploy <code>LangChain</code> <a href="https://python.langchain.com/docs/expression_language/">runnables and chains</a> as a REST API.</p> <p>This library is integrated with <a href="https://fastapi.tiangolo.com/">FastAPI</a> and uses <a href="https://docs.pydantic.dev/latest/">pydantic</a> for data validation.</p> <p>In addition, it provides a client that can be used to call into runnables deployed on a server. A javascript client is available in <a href="https://js.langchain.com/docs/api/runnables_remote/classes/RemoteRunnable">LangChainJS</a>.</p> <h2>Features</h2> <ul> <li>Input and Output schemas automatically inferred from your LangChain object, and enforced on every API call, with rich error messages</li> <li>API docs page with JSONSchema and Swagger (insert example link)</li> <li>Efficient <code>/invoke</code>, <code>/batch</code> and <code>/stream</code> endpoints with support for many concurrent requests on a single server</li> <li><code>/stream_log</code> endpoint for streaming all (or some) intermediate steps from your chain/agent</li> <li>Playground page at <code>/playground</code> with streaming output and intermediate steps</li> <li>Built-in (optional) tracing to <a href="https://www.langchain.com/langsmith">LangSmith</a>, just add your API key (see <a href="https://docs.smith.langchain.com/">Instructions</a>])</li> <li>All built with battle-tested open-source Python libraries like FastAPI, Pydantic, uvloop and asyncio.</li> <li>Use the client SDK to call a LangServe server as if it was a Runnable running locally (or call the HTTP API directly)</li> </ul> <h3>Limitations</h3> <ul> <li>Client callbacks are not yet supported for events that originate on the server</li> <li>Does not work with <a href="https://github.com/tiangolo/fastapi/issues/10360">pydantic v2 yet</a></li> </ul> <h2>LangChain CLI 🛠️</h2> <p>Use the <code>LangChain</code> CLI to bootstrap a <code>LangServe</code> project quickly.</p> <p>To use the langchain CLI make sure that you have a recent version of <code>langchain</code> installed and also <code>typer</code>. (<code>pip install langchain typer</code> or <code>pip install "langchain[cli]"</code>)</p> <pre><code class="language-sh">langchain ../path/to/directory </code></pre> <p>And follow the instructions...</p> <h2>Examples</h2> <p>For more examples, see the <a href="https://raw.githubusercontent.com/langchain-ai/langserve/main/examples">examples</a> directory.</p> <h3>Server</h3> <p>Here's a server that deploys an OpenAI chat model, an Anthropic chat model, and a chain that uses the Anthropic model to tell a joke about a topic.</p> <pre><code class="language-python">#!/usr/bin/env python from fastapi import FastAPI from langchain.prompts import ChatPromptTemplate from langchain.chat_models import ChatAnthropic, ChatOpenAI from langserve import add_routes app = FastAPI( title="LangChain Server", version="1.0", description="A simple api server using Langchain's Runnable interfaces", ) add_routes( app, ChatOpenAI(), path="/openai", ) add_routes( app, ChatAnthropic(), path="/anthropic", ) model = ChatAnthropic() prompt = ChatPromptTemplate.from_template("tell me a joke about {topic}") add_routes( app, prompt | model, path="/chain", ) if __name__ == "__main__": import uvicorn uvicorn.run(app, host="localhost", port=8000) </code></pre> <h3>Docs</h3> <p>If you've deployed the server above, you can view the generated OpenAPI docs using:</p> <pre><code class="language-sh">curl localhost:8000/docs </code></pre> <p>make sure to <strong>add</strong> the <code>/docs</code> suffix.</p> <p>Below will return a 404 until you define a <code>@app.get("/")</code></p> <pre><code class="language-sh">localhost:8000 </code></pre> <h3>Client</h3> <p>Python SDK</p> <pre><code class="language-python"> from langchain.schema import SystemMessage, HumanMessage from langchain.prompts import ChatPromptTemplate from langchain.schema.runnable import RunnableMap from langserve import RemoteRunnable openai = RemoteRunnable("http://localhost:8000/openai/") anthropic = RemoteRunnable("http://localhost:8000/anthropic/") joke_chain = RemoteRunnable("http://localhost:8000/chain/") joke_chain.invoke({"topic": "parrots"}) # or async await joke_chain.ainvoke({"topic": "parrots"}) prompt = [ SystemMessage(content='Act like either a cat or a parrot.'), HumanMessage(content='Hello!') ] # Supports astream async for msg in anthropic.astream(prompt): print(msg, end="", flush=True) prompt = ChatPromptTemplate.from_messages( [("system", "Tell me a long story about {topic}")] ) # Can define custom chains chain = prompt | RunnableMap({ "openai": openai, "anthropic": anthropic, }) chain.batch([{ "topic": "parrots" }, { "topic": "cats" }]) </code></pre> <p>In TypeScript (requires LangChain.js version 0.0.166 or later):</p> <pre><code class="language-typescript">import { RemoteRunnable } from "langchain/runnables/remote"; const chain = new RemoteRunnable({ url: `http://localhost:8000/chain/invoke/`, }); const result = await chain.invoke({ topic: "cats", }); </code></pre> <p>Python using <code>requests</code>:</p> <pre><code class="language-python">import requests response = requests.post( "http://localhost:8000/chain/invoke/", json={'input': {'topic': 'cats'}} ) response.json() </code></pre> <p>You can also use <code>curl</code>:</p> <pre><code class="language-sh">curl --location --request POST 'http://localhost:8000/chain/invoke/' \ --header 'Content-Type: application/json' \ --data-raw '{ "input": { "topic": "cats" } }' </code></pre> <h2>Endpoints</h2> <p>The following code:</p> <pre><code class="language-python">... add_routes( app, runnable, path="/my_runnable", ) </code></pre> <p>adds of these endpoints to the server:</p> <ul> <li><code>POST /my_runnable/invoke</code> - invoke the runnable on a single input</li> <li><code>POST /my_runnable/batch</code> - invoke the runnable on a batch of inputs</li> <li><code>POST /my_runnable/stream</code> - invoke on a single input and stream the output</li> <li><code>POST /my_runnable/stream_log</code> - invoke on a single input and stream the output, including output of intermediate steps as it's generated</li> <li><code>GET /my_runnable/input_schema</code> - json schema for input to the runnable</li> <li><code>GET /my_runnable/output_schema</code> - json schema for output of the runnable</li> <li><code>GET /my_runnable/config_schema</code> - json schema for config of the runnable</li> </ul> <h2>Playground</h2> <p>You can find a playground page for your runnable at <code>/my_runnable/playground</code>. This exposes a simple UI to <a href="https://python.langchain.com/docs/expression_language/how_to/configure">configure</a> and invoke your runnable with streaming output and intermediate steps.</p> <h2>Installation</h2> <p>For both client and server:</p> <pre><code class="language-bash">pip install "langserve[all]" </code></pre> <p>or <code>pip install "langserve[client]"</code> for client code, and <code>pip install "langserve[server]"</code> for server code.</p> <h2>Legacy Chains</h2> <p>LangServe works with both Runnables (constructed via <a href="https://python.langchain.com/docs/expression_language/">LangChain Expression Language</a>) and legacy chains (inheriting from <code>Chain</code>). However, some of the input schemas for legacy chains may be incomplete/incorrect, leading to errors. This can be fixed by updating the <code>input_schema</code> property of those chains in LangChain. If you encounter any errors, please open an issue on THIS repo, and we will work to address it.</p> <h2>Handling Authentication</h2> <p>If you need to add authentication to your server, please reference FastAPI's <a href="https://fastapi.tiangolo.com/tutorial/security/">security documentation</a> and <a href="https://fastapi.tiangolo.com/tutorial/middleware/">middleware documentation</a>.</p> <h2>Deployment</h2> <h3>Deploy to GCP</h3> <p>You can deploy to GCP Cloud Run using the following command:</p> <pre><code>gcloud run deploy [your-service-name] --source . --port 8001 --allow-unauthenticated --region us-central1 --set-env-vars=OPENAI_API_KEY=your_key </code></pre> - - \ No newline at end of file diff --git a/jest-snapshot/daily/index.xml b/jest-snapshot/daily/index.xml index 68d897e3192..36047f20011 100644 --- a/jest-snapshot/daily/index.xml +++ b/jest-snapshot/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jest Snapshot Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:12Z + 2023-10-23T01:32:48Z Daily Trending of Jest Snapshot in GitHub \ No newline at end of file diff --git a/jest-snapshot/weekly/index.xml b/jest-snapshot/weekly/index.xml deleted file mode 100644 index 336f1a5e441..00000000000 --- a/jest-snapshot/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Jest Snapshot Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:31Z - Weekly Trending of Jest Snapshot in GitHub - - \ No newline at end of file diff --git a/jflex/daily/index.xml b/jflex/daily/index.xml index be71bd09a5f..6f3f95ec5c5 100644 --- a/jflex/daily/index.xml +++ b/jflex/daily/index.xml @@ -1,7 +1,7 @@ GitHub JFlex Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:11Z + 2023-10-23T01:32:49Z Daily Trending of JFlex in GitHub \ No newline at end of file diff --git a/jflex/weekly/index.xml b/jflex/weekly/index.xml deleted file mode 100644 index cbfdd10f07a..00000000000 --- a/jflex/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JFlex Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:30Z - Weekly Trending of JFlex in GitHub - - \ No newline at end of file diff --git a/jinja/daily/index.xml b/jinja/daily/index.xml index 7b4ca266c16..2f410c11106 100644 --- a/jinja/daily/index.xml +++ b/jinja/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jinja Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:14Z + 2023-10-23T01:32:49Z Daily Trending of Jinja in GitHub \ No newline at end of file diff --git a/jinja/weekly/index.xml b/jinja/weekly/index.xml deleted file mode 100644 index 8f15cf6dcb4..00000000000 --- a/jinja/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Jinja Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:32Z - Weekly Trending of Jinja in GitHub - - \ No newline at end of file diff --git a/jison-lex/daily/index.xml b/jison-lex/daily/index.xml index cf2ac53ba53..a1f6aec99d2 100644 --- a/jison-lex/daily/index.xml +++ b/jison-lex/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jison Lex Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:15Z + 2023-10-23T01:32:51Z Daily Trending of Jison Lex in GitHub \ No newline at end of file diff --git a/jison-lex/weekly/index.xml b/jison-lex/weekly/index.xml deleted file mode 100644 index 8c95d574afa..00000000000 --- a/jison-lex/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Jison Lex Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:34Z - Weekly Trending of Jison Lex in GitHub - - \ No newline at end of file diff --git a/jison/daily/index.xml b/jison/daily/index.xml index 051baaa52aa..e316f09039b 100644 --- a/jison/daily/index.xml +++ b/jison/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jison Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:17Z + 2023-10-23T01:32:52Z Daily Trending of Jison in GitHub \ No newline at end of file diff --git a/jison/weekly/index.xml b/jison/weekly/index.xml deleted file mode 100644 index 15d6da633f5..00000000000 --- a/jison/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Jison Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:35Z - Weekly Trending of Jison in GitHub - - \ No newline at end of file diff --git a/jolie/daily/index.xml b/jolie/daily/index.xml index f6c550e93ba..03c89e1442d 100644 --- a/jolie/daily/index.xml +++ b/jolie/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jolie Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:18Z + 2023-10-23T01:32:53Z Daily Trending of Jolie in GitHub \ No newline at end of file diff --git a/jolie/weekly/index.xml b/jolie/weekly/index.xml deleted file mode 100644 index 3bdb4376e43..00000000000 --- a/jolie/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Jolie Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:35Z - Weekly Trending of Jolie in GitHub - - \ No newline at end of file diff --git a/jq/daily/index.xml b/jq/daily/index.xml index 27e49d15e5f..450def6e5a2 100644 --- a/jq/daily/index.xml +++ b/jq/daily/index.xml @@ -1,7 +1,7 @@ GitHub jq Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:16Z + 2023-10-23T01:32:51Z Daily Trending of jq in GitHub \ No newline at end of file diff --git a/jq/weekly/index.xml b/jq/weekly/index.xml deleted file mode 100644 index b20151a3a0c..00000000000 --- a/jq/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub jq Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:36Z - Weekly Trending of jq in GitHub - - \ No newline at end of file diff --git a/json-with-comments/daily/index.xml b/json-with-comments/daily/index.xml index dfe8cfd9af7..0d893ce4e4c 100644 --- a/json-with-comments/daily/index.xml +++ b/json-with-comments/daily/index.xml @@ -1,7 +1,7 @@ GitHub JSON with Comments Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:21Z + 2023-10-23T01:32:57Z Daily Trending of JSON with Comments in GitHub \ No newline at end of file diff --git a/json-with-comments/weekly/index.xml b/json-with-comments/weekly/index.xml deleted file mode 100644 index 6f2927ce94a..00000000000 --- a/json-with-comments/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JSON with Comments Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:38Z - Weekly Trending of JSON with Comments in GitHub - - \ No newline at end of file diff --git a/json/daily/index.xml b/json/daily/index.xml index 2763aedbea3..351ae35f176 100644 --- a/json/daily/index.xml +++ b/json/daily/index.xml @@ -1,7 +1,7 @@ GitHub JSON Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:19Z + 2023-10-23T01:32:56Z Daily Trending of JSON in GitHub \ No newline at end of file diff --git a/json/weekly/index.xml b/json/weekly/index.xml deleted file mode 100644 index ed3894f84bc..00000000000 --- a/json/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JSON Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:39Z - Weekly Trending of JSON in GitHub - - \ No newline at end of file diff --git a/json5/daily/index.xml b/json5/daily/index.xml index 688b0ad03d3..eacefd7f1b6 100644 --- a/json5/daily/index.xml +++ b/json5/daily/index.xml @@ -1,7 +1,7 @@ GitHub JSON5 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:20Z + 2023-10-23T01:32:55Z Daily Trending of JSON5 in GitHub \ No newline at end of file diff --git a/json5/weekly/index.xml b/json5/weekly/index.xml deleted file mode 100644 index afe96c43f01..00000000000 --- a/json5/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JSON5 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:37Z - Weekly Trending of JSON5 in GitHub - - \ No newline at end of file diff --git a/jsoniq/daily/index.xml b/jsoniq/daily/index.xml index 71b775200bc..90d65d71c6c 100644 --- a/jsoniq/daily/index.xml +++ b/jsoniq/daily/index.xml @@ -1,7 +1,7 @@ GitHub JSONiq Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:22Z + 2023-10-23T01:32:54Z Daily Trending of JSONiq in GitHub \ No newline at end of file diff --git a/jsoniq/weekly/index.xml b/jsoniq/weekly/index.xml deleted file mode 100644 index cd983e0dd58..00000000000 --- a/jsoniq/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JSONiq Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:40Z - Weekly Trending of JSONiq in GitHub - - \ No newline at end of file diff --git a/jsonld/daily/index.xml b/jsonld/daily/index.xml index b7ce9a76b21..7b51429ee99 100644 --- a/jsonld/daily/index.xml +++ b/jsonld/daily/index.xml @@ -1,7 +1,7 @@ GitHub JSONLD Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:23Z + 2023-10-23T01:32:58Z Daily Trending of JSONLD in GitHub \ No newline at end of file diff --git a/jsonld/weekly/index.xml b/jsonld/weekly/index.xml deleted file mode 100644 index c24aee5c75e..00000000000 --- a/jsonld/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JSONLD Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:45Z - Weekly Trending of JSONLD in GitHub - - \ No newline at end of file diff --git a/jsonnet/daily/index.xml b/jsonnet/daily/index.xml index 9d7a6bbb565..39a01f04b44 100644 --- a/jsonnet/daily/index.xml +++ b/jsonnet/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jsonnet Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:24Z + 2023-10-23T01:32:59Z Daily Trending of Jsonnet in GitHub \ No newline at end of file diff --git a/jsonnet/weekly/index.xml b/jsonnet/weekly/index.xml deleted file mode 100644 index 1356ea4abd9..00000000000 --- a/jsonnet/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Jsonnet Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:42Z - Weekly Trending of Jsonnet in GitHub - - - eclipse-simrel/.eclipsefdn - 2023-10-22T01:54:42Z - tag:github.com,2023-10-22:/eclipse-simrel/.eclipsefdn - - <p>Repository to host configurations related to the Eclipse Foundation.</p><hr> - - - eclipse-oniro4openharmony/.eclipsefdn - 2023-10-22T01:54:42Z - tag:github.com,2023-10-22:/eclipse-oniro4openharmony/.eclipsefdn - - <p>Repository to host configurations related to the Eclipse Foundation.</p><hr> - - - eclipse-nattable/.eclipsefdn - 2023-10-22T01:54:42Z - tag:github.com,2023-10-22:/eclipse-nattable/.eclipsefdn - - <p>Repository to host configurations related to the Eclipse Foundation.</p><hr> - - \ No newline at end of file diff --git a/julia/daily/index.xml b/julia/daily/index.xml index 4806f08df73..54312668198 100644 --- a/julia/daily/index.xml +++ b/julia/daily/index.xml @@ -1,21 +1,28 @@ GitHub Julia Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:26Z + 2023-10-23T01:33:02Z Daily Trending of Julia in GitHub - chelseas/GlowupVibes.jl - 2023-10-22T01:35:26Z - tag:github.com,2023-10-22:/chelseas/GlowupVibes.jl - + QEDjl-project/QEDbase.jl + 2023-10-23T01:33:02Z + tag:github.com,2023-10-23:/QEDjl-project/QEDbase.jl + <p></p><hr> - Clemapfel/Mousetrap.jl - 2023-10-22T01:35:26Z - tag:github.com,2023-10-22:/Clemapfel/Mousetrap.jl - - <p>Finally, a GUI Engine made for Julia</p><hr> + JuliaSmoothOptimizers/LimitedLDLFactorizations.jl + 2023-10-23T01:33:02Z + tag:github.com,2023-10-23:/JuliaSmoothOptimizers/LimitedLDLFactorizations.jl + + <p>Limited-Memory Factorization of Symmetric Matrices</p><hr> + + + mossr/REPLMaze.jl + 2023-10-23T01:33:02Z + tag:github.com,2023-10-23:/mossr/REPLMaze.jl + + <p>A maze game in the Julia REPL</p><hr> \ No newline at end of file diff --git a/julia/weekly/index.xml b/julia/weekly/index.xml deleted file mode 100644 index a49fc9a47e7..00000000000 --- a/julia/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Julia Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:44Z - Weekly Trending of Julia in GitHub - - - JuliaGraphics/QML.jl - 2023-10-22T01:54:44Z - tag:github.com,2023-10-22:/JuliaGraphics/QML.jl - - <p>Build Qt6 QML interfaces for Julia programs.</p><hr> - - - JuliaLang/Distributed.jl - 2023-10-22T01:54:44Z - tag:github.com,2023-10-22:/JuliaLang/Distributed.jl - - <p></p><hr> - - \ No newline at end of file diff --git a/jupyter-notebook/daily/index.xml b/jupyter-notebook/daily/index.xml index 598ca7b64af..bcf99341114 100644 --- a/jupyter-notebook/daily/index.xml +++ b/jupyter-notebook/daily/index.xml @@ -1,21 +1,28 @@ GitHub Jupyter Notebook Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:29Z + 2023-10-23T01:33:05Z Daily Trending of Jupyter Notebook in GitHub - rorysroes/SGX-Full-OrderBook-Tick-Data-Trading-Strategy - 2023-10-22T01:35:29Z - tag:github.com,2023-10-22:/rorysroes/SGX-Full-OrderBook-Tick-Data-Trading-Strategy - - <p>Providing the solutions for high-frequency trading (HFT) strategies using data science approaches (Machine Learning) on Full Orderbook Tick Data.</p><hr><h2>Modeling High-Frequency Limit Order Book Dynamics Using Machine Learning</h2> <ul> <li> <p>Framework to capture the dynamics of high-frequency limit order books.</p> <img src="https://raw.githubusercontent.com/rorysroes/SGX-Full-OrderBook-Tick-Data-Trading-Strategy/master/Graph/pipline.png" width="650"> </li> </ul> <h4>Overview</h4> <p>In this project I used machine learning methods to capture the high-frequency limit order book dynamics and simple trading strategy to get the P&amp;L outcomes.</p> <ul> <li> <p>Feature Extractor</p> <ul> <li> <p>Rise Ratio</p> <img src="https://raw.githubusercontent.com/rorysroes/SGX-Full-OrderBook-Tick-Data-Trading-Strategy/master/Graph/Price_B1A1.png" width="650"> </li> <li> <p>Depth Ratio</p> <img src="https://raw.githubusercontent.com/rorysroes/SGX-Full-OrderBook-Tick-Data-Trading-Strategy/master/Graph/depth.png" width="650"> <p>[Note] : [Feature_Selection] (Feature_Selection)</p> </li> </ul> </li> <li> <p>Learning Model Trainer</p> <ul> <li>RandomForestClassifier</li> <li>ExtraTreesClassifier</li> <li>AdaBoostClassifier</li> <li>GradientBoostingClassifier</li> <li>SVM</li> </ul> </li> <li> <p>Use best model to predict next 10 seconds</p> <img src="https://raw.githubusercontent.com/rorysroes/SGX-Full-OrderBook-Tick-Data-Trading-Strategy/master/Graph/CV_Best_Model.png" width="650"> </li> <li> <p>Prediction outcome</p> <img src="https://raw.githubusercontent.com/rorysroes/SGX-Full-OrderBook-Tick-Data-Trading-Strategy/master/Graph/prediction.png" width="650"> </li> <li> <p>Profit &amp; Loss</p> <img src="https://raw.githubusercontent.com/rorysroes/SGX-Full-OrderBook-Tick-Data-Trading-Strategy/master/Graph/P_L.png" width="650"> <p>[Note] : [Model_Selection] (Model_Selection)</p> </li> </ul> + eureka-research/Eureka + 2023-10-23T01:33:05Z + tag:github.com,2023-10-23:/eureka-research/Eureka + + <p>Official Repository for "Eureka: Human-Level Reward Design via Coding Large Language Models"</p><hr><h1>Eureka: Human-Level Reward Design via Coding Large Language Models</h1> <div align="center"> <p><a href="https://eureka-research.github.io">[Website]</a> <a href="https://arxiv.org/abs/2310.12931">[arXiv]</a> <a href="https://eureka-research.github.io/assets/eureka_paper.pdf">[PDF]</a></p> <p><a href="https://github.com/eureka-research/Eureka"><img src="https://img.shields.io/badge/Python-3.8-blue.svg?sanitize=true" alt="Python Version"></a> <a href="https://pytorch.org/"><img src="https://img.shields.io/badge/Framework-PyTorch-red.svg?sanitize=true"></a> <a href="https://github.com/eureka-research/Eureka/raw/main/LICENSE"><img src="https://img.shields.io/github/license/eureka-research/Eureka" alt="GitHub license"></a></p> <hr> <p><a href="https://github.com/eureka-research/Eureka/assets/21993118/1abb960d-321a-4de9-b311-113b5fc53d4a">https://github.com/eureka-research/Eureka/assets/21993118/1abb960d-321a-4de9-b311-113b5fc53d4a</a></p> <p><img src="https://raw.githubusercontent.com/eureka-research/Eureka/main/images/eureka.png" alt=""></p> </div> <p>Large Language Models (LLMs) have excelled as high-level semantic planners for sequential decision-making tasks. However, harnessing them to learn complex low-level manipulation tasks, such as dexterous pen spinning, remains an open problem. We bridge this fundamental gap and present Eureka, a <strong>human-level</strong> reward design algorithm powered by LLMs. Eureka exploits the remarkable zero-shot generation, code-writing, and in-context improvement capabilities of state-of-the-art LLMs, such as GPT-4, to perform in-context evolutionary optimization over reward code. The resulting rewards can then be used to acquire complex skills via reinforcement learning. Eureka generates reward functions that outperform expert human-engineered rewards without any task-specific prompting or pre-defined reward templates. In a diverse suite of 29 open-source RL environments that include 10 distinct robot morphologies, Eureka outperforms human expert on <strong>83%</strong> of the tasks leading to an average normalized improvement of <strong>52%</strong>. The generality of Eureka also enables a new gradient-free approach to reinforcement learning from human feedback (RLHF), readily incorporating human oversight to improve the quality and the safety of the generated rewards in context. Finally, using Eureka rewards in a curriculum learning setting, we demonstrate for the first time a simulated five-finger Shadow Hand capable of performing pen spinning tricks, adeptly manipulating a pen in circles at human speed.</p> <h1>Installation</h1> <p>Eureka requires Python ≥ 3.8. We have tested on Ubuntu 20.04 and 22.04.</p> <ol> <li> <p>Create a new conda environment with:</p> <pre><code>conda create -n eureka python=3.8 conda activate eureka </code></pre> </li> <li> <p>Install IsaacGym (tested with <code>Preview Release 4/4</code>). Follow the <a href="https://developer.nvidia.com/isaac-gym">instruction</a> to download the package.</p> </li> </ol> <pre><code>tar -xvf IsaacGym_Preview_4_Package.tar.gz cd isaacgym/python pip install -e . (test installation) python examples/joint_monkey.py </code></pre> <ol start="3"> <li>Install Eureka</li> </ol> <pre><code>git clone https://github.com/eureka-research/Eureka.git cd Eureka; pip install -e . cd isaacgymenvs; pip install -e . cd ../rl_games; pip install -e . </code></pre> <ol start="4"> <li>Eureka currently uses OpenAI API for language model queries. You need to have an OpenAI API key to use Eureka <a href="https://platform.openai.com/account/api-keys">here</a>/. Then, set the environment variable in your terminal</li> </ol> <pre><code>export OPENAI_API_KEY= "YOUR_API_KEY" </code></pre> <h1>Getting Started</h1> <p>Navigate to the <code>eureka</code> directory and run:</p> <pre><code>python eureka.py env={environment} iteration={num_iterations} sample={num_samples} </code></pre> <ul> <li><code>{environment}</code> is the task to perform. Options are listed in <code>eureka/cfg/env</code>.</li> <li><code>{num_samples}</code> is the number of reward samples to generate per iteration. Default value is <code>16</code>.</li> <li><code>{num_iterations}</code> is the number of Eureka iterations to run. Default value is <code>5</code>.</li> </ul> <p>Below are some example commands to try out Eureka:</p> <pre><code>python eureka.py env=shadow_hand sample=4 iteration=2 model=gpt-4-0314 </code></pre> <pre><code>python eureka.py env=humanoid sample=16 iteration=5 model=gpt-3.5-turbo-16k-0613 </code></pre> <p>Each run will create a timestamp folder in <code>eureka/outputs</code> that saves the Eureka log as well as all intermediate reward functions and associated policies.</p> <p>Other command line parameters can be found in <code>eureka/cfg/config.yaml</code>. The list of supported environments can be found in <code>eureka/cfg/env</code>.</p> <h1>Eureka Pen Spinning Demo</h1> <p>We have released Eureka pen spinning policy in <code>isaacgymenvs/isaacgymenvs/checkpoints</code>. Try visualizing it with the following command:</p> <pre><code>cd isaacgymenvs/isaacgymenvs python train.py test=True headless=False force_render=True task=ShadowHandSpin checkpoint=checkpoints/EurekaPenSpinning.pth </code></pre> <p>Note that this script use the default Isaac Gym renderer and not the Omniverse rendering in the paper videos.</p> <h1>Running Eureka on a New Environment</h1> <ol> <li>Create a new IsaacGym environment; instructions can be found in <a href="https://raw.githubusercontent.com/eureka-research/Eureka/main/isaacgymenvs/docs/framework.md">here</a>.</li> <li>Verify that standard RL works for your new environment.</li> </ol> <pre><code>cd isaacgymenvs/isaacgymenvs python train.py task=YOUR_NEW_TASK </code></pre> <ol start="3"> <li>Create a new yaml file <code>your_new_task.yaml</code> in <code>eureka/cfg/env</code>:</li> </ol> <pre><code>env_name: your_new_task task: YOUR_NEW_TASK description: ... </code></pre> <ol start="4"> <li>Construct the raw environment code that will serve as context for Eureka as well as the skeleton environment code on which the Eureka reward will be appended to:</li> </ol> <pre><code>cd eureka/utils python prune_env.py your_new_task </code></pre> <ol start="5"> <li>Try out Eureka!</li> </ol> <pre><code>python eureka.py env=your_new_task </code></pre> <h1>Acknowledgement</h1> <p>We thank the following open-sourced projects:</p> <ul> <li>Our environments are from <a href="https://github.com/NVIDIA-Omniverse/IsaacGymEnvs">IsaacGym</a> and <a href="https://github.com/PKU-MARL/DexterousHands/">DexterousHands</a>.</li> <li>Our RL training code is based on <a href="https://github.com/Denys88/rl_games">rl_games</a>.</li> </ul> <h1>License</h1> <p>This codebase is released under <a href="https://raw.githubusercontent.com/eureka-research/Eureka/main/LICENSE">MIT License</a>.</p> <h1>Citation</h1> <p>If you find our work useful, please consider citing us!</p> <pre><code class="language-bibtex">@article{ma2023eureka, title = {Eureka: Human-Level Reward Design via Coding Large Language Models}, author = {Yecheng Jason Ma and William Liang and Guanzhi Wang and De-An Huang and Osbert Bastani and Dinesh Jayaraman and Yuke Zhu and Linxi Fan and Anima Anandkumar}, year = {2023}, journal = {arXiv preprint arXiv: Arxiv-2310.12931} } </code></pre> <p>Disclaimer: This project is strictly for research purposes, and not an official product from NVIDIA.</p> - google/brax - 2023-10-22T01:35:29Z - tag:github.com,2023-10-22:/google/brax - - <p>Massively parallel rigidbody physics simulation on accelerator hardware.</p><hr><img src="https://github.com/google/brax/raw/main/docs/img/brax_logo.gif" width="336" height="80" alt="BRAX"> <p>Brax is a fast and fully differentiable physics engine used for research and development of robotics, human perception, materials science, reinforcement learning, and other simulation-heavy applications.</p> <p>Brax is written in <a href="https://github.com/google/jax">JAX</a> and is designed for use on acceleration hardware. It is both efficient for single-device simulation, and scalable to massively parallel simulation on multiple devices, without the need for pesky datacenters.</p> <p><img src="https://github.com/google/brax/raw/main/docs/img/humanoid_v2.gif" width="160" height="160"><img src="https://github.com/google/brax/raw/main/docs/img/a1.gif" width="160" height="160"><img src="https://github.com/google/brax/raw/main/docs/img/ant_v2.gif" width="160" height="160"><img src="https://github.com/google/brax/raw/main/docs/img/ur5e.gif" width="160" height="160"></p> <p>Brax simulates environments at millions of physics steps per second on TPU, and includes a suite of learning algorithms that train agents in seconds to minutes:</p> <ul> <li>Baseline learning algorithms such as <a href="https://github.com/google/brax/raw/main/brax/training/agents/ppo">PPO</a>, <a href="https://github.com/google/brax/raw/main/brax/training/agents/sac">SAC</a>, <a href="https://github.com/google/brax/raw/main/brax/training/agents/ars">ARS</a>, and <a href="https://github.com/google/brax/raw/main/brax/training/agents/es">evolutionary strategies</a>.</li> <li>Learning algorithms that leverage the differentiability of the simulator, such as <a href="https://github.com/google/brax/raw/main/brax/training/agents/apg">analytic policy gradients</a>.</li> </ul> <h2>One API, Three Pipelines</h2> <p>Brax offers three distinct physics pipelines that are easy to swap:</p> <ul> <li> <p><a href="https://github.com/google/brax/raw/main/brax/v2/generalized/">Generalized</a> calculates motion in <a href="https://en.wikipedia.org/wiki/Generalized_coordinates">generalized coordinates</a> using the same accurate robot dynamics algorithms as <a href="https://mujoco.org/">MuJoCo</a> and <a href="https://github.com/erwincoumans/tiny-differentiable-simulator">TDS</a>.</p> <p>NOTE: We plan to import <a href="https://mujoco.readthedocs.io/en/stable/mjx.html">MuJoCo XLA - MJX</a> as another physics backend, eventually replacing <code>generalized</code>. Check out our recent <a href="https://github.com/google/brax/discussions/409">announcement</a>.</p> </li> <li> <p><a href="https://github.com/google/brax/raw/main/brax/v2/positional/">Positional</a> uses <a href="https://matthias-research.github.io/pages/publications/posBasedDyn.pdf">Position Based Dynamics</a>, a fast but stable method of resolving joint and collision constraints.</p> </li> <li> <p><a href="https://github.com/google/brax/raw/main/brax/v2/spring/">Spring</a> provides fast and cheap simulation for rapid experimentation, using simple impulse-based methods often found in video games.</p> </li> </ul> <p>These pipelines share the same API and can run side-by-side within the same simulation. This makes Brax well suited for experiments in transfer learning and closing the gap between simulation and the real world.</p> <h2>Quickstart: Colab in the Cloud</h2> <p>Explore Brax easily and quickly through a series of colab notebooks:</p> <ul> <li><a href="https://colab.research.google.com/github/google/brax/blob/main/notebooks/basics.ipynb">Brax Basics</a> introduces the Brax API, and shows how to simulate basic physics primitives.</li> <li><a href="https://colab.research.google.com/github/google/brax/blob/main/notebooks/training.ipynb">Brax Training</a> introduces Brax's training algorithms, and lets you train your own policies directly within the colab. It also demonstrates loading and saving policies.</li> <li><a href="https://colab.sandbox.google.com/github/google-deepmind/mujoco/blob/main/mjx/tutorial.ipynb">Brax Training with MuJoCo XLA - MJX</a> demonstrates training in Brax using the <code>MJX</code> physics simulator.</li> <li><a href="https://colab.research.google.com/github/google/brax/blob/main/notebooks/training_torch.ipynb">Brax Training with PyTorch on GPU</a> demonstrates how Brax can be used in other ML frameworks for fast training, in this case PyTorch.</li> </ul> <h2>Using Brax Locally</h2> <p>To install Brax from pypi, install it with:</p> <pre><code>python3 -m venv env source env/bin/activate pip install --upgrade pip pip install brax </code></pre> <p>You may also install from <a href="https://docs.conda.io/en/latest/">Conda</a> or <a href="https://github.com/mamba-org/mamba">Mamba</a>:</p> <pre><code>conda install -c conda-forge brax # s/conda/mamba for mamba </code></pre> <p>Alternatively, to install Brax from source, clone this repo, <code>cd</code> to it, and then:</p> <pre><code>python3 -m venv env source env/bin/activate pip install --upgrade pip pip install -e . </code></pre> <p>To train a model:</p> <pre><code>learn </code></pre> <p>Training on NVidia GPU is supported, but you must first install <a href="https://github.com/google/jax#installation">CUDA, CuDNN, and JAX with GPU support</a>.</p> <h2>Learn More</h2> <p>For a deep dive into Brax's design and performance characteristics, please see our paper, <a href="https://arxiv.org/abs/2106.13281">Brax -- A Differentiable Physics Engine for Large Scale Rigid Body Simulation </a>, which appeared in the <a href="https://neurips.cc/Conferences/2021/CallForDatasetsBenchmarks">Datasets and Benchmarks Track</a> at <a href="https://nips.cc/Conferences/2021">NeurIPS 2021</a>.</p> <h2>Citing Brax</h2> <p>If you would like to reference Brax in a publication, please use:</p> <pre><code>@software{brax2021github, author = {C. Daniel Freeman and Erik Frey and Anton Raichuk and Sertan Girgin and Igor Mordatch and Olivier Bachem}, title = {Brax - A Differentiable Physics Engine for Large Scale Rigid Body Simulation}, url = {http://github.com/google/brax}, version = {0.9.3}, year = {2021}, } </code></pre> <h2>Acknowledgements</h2> <p>Brax has come a long way since its original publication. We offer gratitude and effusive praise to the following people:</p> <ul> <li>Manu Orsini and Nikola Momchev who provided a major refactor of Brax's training algorithms to make them more accessible and reusable.</li> <li>Erwin Coumans who has graciously offered advice and mentorship, and many useful references from <a href="https://github.com/erwincoumans/tiny-differentiable-simulator">Tiny Differentiable Simulator</a>.</li> <li>Baruch Tabanpour, a colleague who helped launch brax v2 and overhauled the contact library.</li> <li><a href="https://sites.google.com/corp/view/gugurus">Shixiang Shane Gu</a> and <a href="https://frt03.github.io/">Hiroki Furuta</a>, who contributed BIG-Gym and Braxlines, and a scene composer to Brax.</li> <li>Our awesome <a href="https://github.com/google/brax/graphs/contributors">open source collaborators and contributors</a>. Thank you!</li> </ul> + kaal-coder/hacktoberfest2023 + 2023-10-23T01:33:05Z + tag:github.com,2023-10-23:/kaal-coder/hacktoberfest2023 + + <p>HacktobeFest 2023 is live. Make your 4 Pull Request here ! Add your own projects, UI/UX Design, Blogs or improve the projects in the repository. Make sure to add your own work.</p><hr><div align="center"> <h1> Hacktober-2023 </h1> 🚀 This repository is for collecting the different projects made by people who wants to contribute in open source. <br> <p><a href="https://github.com/kaal-coder/HacktoberFest-For-All"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat&amp;logo=github" alt="PRs Welcome"></a> <a href="https://github.com/kaal-coder/HacktoberFest-For-All022"><img src="https://img.shields.io/badge/Open%20Source-%F0%9F%A4%8D-Green" alt="Open Source Love"></a> <a href="https://github.com/kaal-coder/HacktoberFest-For-All"><img src="https://img.shields.io/static/v1.svg?label=Contributions&amp;message=Welcome&amp;color=0059b3" alt="contributions welcome"></a> <a href="https://github.com/kaal-coder/HacktoberFest-For-All"><img src="https://img.shields.io/static/v1.svg?label=Hacktoberfest-2023&amp;message=accepted&amp;color=red" alt="Hacktoberfest-2022"></a></p> </div> <ul> <li> <p>Anyone can add any type of valid html-css web page depends on you.</p> </li> <li> <p>You can add any small projects you have made.</p> </li> <li> <p>You can add programs too, in any programming language, but your program must be something different or unique.</p> </li> <li> <p>Do not just re-edit the file or make some small changes this kind of PRs will not be accepted.</p> </li> <li> <p>Do not add anyone else's work in this repository. It will leads to failure of your pull request.</p> </li> </ul> <h2><code>Steps To Generate PR(Pull Request)</code></h2> <ul> <li>(Star ⭐ &amp; Fork 🍽️) this repository. - Must Step</li> <li>Follow <a href="https://www.github.com/kaal-coder">kaal-coder</a> get it merged fast.</li> </ul> <h1>Fork this repository</h1> <p>Fork this repository by clicking on the fork button on the top of this page. This will create a copy of this repository in your account.</p> <h1>Clone the repository</h1> <p>Now clone the forked repository to your system. Go to your GitHub account, open the forked repository, click on the code button and then clone the repository.</p> <p><em>if you want to use the terminal, use the following commands</em> after you fork the repository , open the terminal type the given command</p> <pre><code>git clone https://github.com/{your-github-username}/Hacktober-2022.git </code></pre> <h1>Create a branch</h1> <p>Then create a branch on your local repository to solve a problem.</p> <p><em>terminal commands</em></p> <pre><code>git checkout -b your_new_branch_name </code></pre> <h1>Add &amp; commit</h1> <p>Add your changes(folder) to that branch. <br> Make necessary changes and commit those changes. <em>terminal commands</em></p> <pre><code>git add . git commit -m "your-commit-message" </code></pre> <h1>Push changes to GitHub</h1> <p>Finally push your local repository to remote repository Compare &amp; Submit a Pull Request</p> <p><em>terminal commands</em></p> <pre><code>git push origin &lt;branch-name&gt; </code></pre> <p>Then go to your repository on GitHub, you'll see a Compare &amp; pull request button. Click on that button.</p> <p>Now submit the pull request.</p> <h3>Don't forget to read the contributing rules mentioned below to be successfully merged your PR and get rewards!!!</h3> <p>🏹 Visit <a href="https://raw.githubusercontent.com/kaal-coder/hacktoberfest2023/main/hacktoberfest.com" target="_blank">Hacktoberfest</a> to get more information about Hacktoberfest 2022!!!</p> <p>✈ Visit <a href="https://hacktoberfest-swag.com" target="_blank">Hacktoberfest-swag</a> to know more about your swags and rewards!!!</p> <h1>🛡Rules to Contribute</h1> <ul> <li> <p>⚓Star this repo to get latest updates. If you had fun while contributing to this project, then don't forget to give this project a star ⭐.</p> </li> <li> <p>⚓Give your file a proper extension according to language. Ex. .py, .java, .js. html etc.</p> </li> <li> <p>⚓Name your file related to your topic.</p> </li> <li> <p>⚓Put your files in correct folder like .py in Python, .js in Javascript etc.</p> </li> <li> <p>⚓You can follow ME😁.</p> </li> </ul> <hr> <h2>Note</h2> <p>All contributors who have followed the rules to contribute get successfully merged PR. Don't forget to follow!!!</p> <p>Have some patience to get successfully merged PR. Keep Patience!!!</p> <p>We're happy to merge valid pull requests to this repository !</p> <h2>+ Follow Me : } Quick Approval of Pull Request</h2> <pre><code class="language-py">''' To get approval of the pull request much quicker (`Follow Me`)🚀 ''' </code></pre> <p><a align="center" href="https://www.linkedin.com/in/kaushik-lakhani-08012001/"><kbd><img src="https://avatars.githubusercontent.com/u/85815858?v=4" width="100px;" alt=""></kbd><br><sub><b>Kaushik Lakhani</b></sub></a><br></p> <p><code>For doubts contact kaushik.lakhani123@gmail.com</code></p> <h3>Happy coding fellas!!💕✨</h3> + + + SuriyaaVijay/HacktoberFest2023 + 2023-10-23T01:33:05Z + tag:github.com,2023-10-23:/SuriyaaVijay/HacktoberFest2023 + + <p>Make your first PR! Add your profile, a blog, or any program under any language (hello-world program to anything) or update the existing one. Just make sure to add the file under the correct directory. Happy open source contributing!</p><hr><h1>HacktoberFest2023</h1> <h2>Star and fork this repository to start contributing !!</h2> <p>Make your first PR! Add your profile, a blog, or any program under any language (hello-world program to anything) or update the existing one. Just make sure to add the file under the correct directory. Happy open source contributing!</p> <p><a href="https://hacktoberfest.digitalocean.com/">https://hacktoberfest.digitalocean.com/</a></p> <h2>How to contribute</h2> <p>Submit your pull request here for HacktoberFest2023 in any language you prefer, if language folder not present, create one as a part of it, after script add your name and GitHub profile into Contributors.md file.</p> <p>Hacktoberfest is a month long virtual festival event to celebrate open source contributions presented by DigitalOcean and DEV. It is the easiest way to get into open source!</p> <h1>Event details</h1> <p>Hacktoberfest® is open to everyone in our global community. Whether you’re a developer, student learning to code, event host, or company of any size, you can help drive growth of open source and make positive contributions to an ever-growing community. All backgrounds and skill levels are encouraged to complete the challenge.</p> <p>Hacktoberfest is open to everyone in our global community! Pull requests can be made in any GitHub-hosted repositories/projects. Sign up anytime between October 1 and October 31.</p> <h1>Rules</h1> <p>To qualify for the official limited edition Hacktoberfest shirt, you must register and make four pull requests (PRs) between October 1-31 (in any time zone). PRs can be made to any public repo on GitHub, not only the ones with issues labeled Hacktoberfest. If a maintainer reports your pull request as spam or behavior not in line with the project’s code of conduct, you will be ineligible to participate. This year, the first 70,000 participants who successfully complete the challenge will earn a T-shirt.</p> <h2>Getting Started</h2> <ul> <li>Add your name to the CONTRIBUTORS.md file using following model</li> </ul> <pre><code class="language-markdown">Name: [YOUR NAME](Github Link) Place: city you belong to add your country flag About: Short Intro (Optional) </code></pre> <h2>Instructions:</h2> <p><em>Make sure you have a GitHub account. In case you don't have one, you can create your account by visiting <a href="https://github.com/">https://github.com/</a> and clicking on <code>Sign up</code> option at the top right corner.</em></p> <h3>1. Register yourself for Hacktoberfest</h3> <h6>Link to register: <a href="https://hacktoberfest.digitalocean.com/">https://hacktoberfest.digitalocean.com/</a></h6> <p>Click on "Start Hacking" and add your GitHub account.</p> <p><img src="https://github.com/bajajvinamr/HacktoberFest2020/raw/master/1.png" alt="Screenshot-HFST"></p> <h3>2. Star and Fork this Repository</h3> <h6>You can star and fork this repository on GitHub by navigating at the top of this repository.</h6> <p>GitHub repository URLs will reference both the username associated with the owner of the repository, as well as the repository name. For example, acmbvp is the owner of the Hacktoberfest repository, so the GitHub URL for this project is:</p> <p><a href="https://github.com/SuriyaaVijay/HacktoberFest2023">https://github.com/SuriyaaVijay/HacktoberFest2023</a></p> <p>When you’re on the main page of a repository, you’ll see a button to "Star" and “Fork” the repository on the upper right-hand side of the page, underneath your user icon.</p> <h3>3. Clone the Repository</h3> <p>To make your own local copy of the repository you would like to contribute to, let’s first open up a terminal window.</p> <p>We’ll use the <code>git clone</code> command along with the URL that points to your fork of the repository.</p> <p>This URL will be similar to the URL above, except now it will end with <code>.git.</code> In the cloud_haiku example above, the URL will look like this: <a href="https://github.com/your-username/HacktoberFest2023.git">https://github.com/your-username/HacktoberFest2023.git</a></p> <p>You can alternatively copy the URL by using the green “Clone or download” button from your repository page that you just forked from the original repository page. Once you click the button, you’ll be able to copy the URL by clicking the binder button next to the URL:</p> <p>Once we have the URL, we’re ready to clone the repository. To do this, we’ll combine the git clone command with the repository URL from the command line in a terminal window:</p> <p><code>git clone https://github.com/your-username/HacktoberFest2023.git</code></p> <h3>4. Create a New Branch</h3> <p>To create your branch, from your terminal window, change your directory so that you are working in the directory of the repository. Be sure to use the actual name of the repository (i.e. Hacktoberfest) to switch into that directory.</p> <h5><code>cd Hacktoberfest</code></h5> <p>Now, we’ll create our new branch with the git branch command. Make sure you name it descriptively so that others working on the project understand what you are working on.</p> <p><img src="https://github.com/bajajvinamr/HacktoberFest2020/raw/master/6.png" alt="screenshot 154"></p> <h5><code>git branch new-branch</code></h5> <p>Now that our new branch is created, we can switch to make sure that we are working on that branch by using the git checkout command:</p> <h5><code>git checkout new-branch</code></h5> <p>Once you enter the git <code>checkout</code> command, you will receive the following output:</p> <h6><code>Output:</code></h6> <h5><code>Switched to branch 'new-branch' </code></h5> <p>At this point, you can now modify existing files or add new files to the project on your own branch.</p> <h4>Make Changes Locally</h4> <p>Once you have modified existing files or added new files to the project, you can add them to your local repository, which you can do with the git add command. Let’s add the -A flag to add all changes that we have made:</p> <h5><code>git add -A</code> or <code>git add .</code></h5> <p>Next, we’ll want to record the changes that we made to the repository with the git commit command.</p> <p><em>The commit message is an important aspect of your code contribution; it helps the other contributors fully understand the change you have made, why you made it, and how significant it is. Additionally, commit messages provide a historical record of the changes for the project at large, helping future contributors along the way.</em></p> <p>If you have a very short message, you can record that with the -m flag and the message in quotes:</p> <h6><code>Example:</code></h6> <h5><code>git commit -m "Updated Readme.md"</code></h5> <h6>At this point you can use the git push command to push the changes to the current branch of your forked repository:</h6> <h6><code> Example:</code></h6> <h5><code>git push --set-upstream origin new-branch</code></h5> <h3>5. Update Local Repository</h3> <p><em>While working on a project alongside other contributors, it is important for you to keep your local repository up-to-date with the project as you don’t want to make a pull request for code that will cause conflicts. To keep your local copy of the code base updated, you’ll need to sync changes.</em></p> <p>We’ll first go over configuring a remote for the fork, then syncing the fork.</p> <h3>6. Configure a Remote for the Fork</h3> <p>Next up, you’ll have to specify a new remote upstream repository for us to sync with the fork. This will be the original repository that you forked from. you’ll have to do this with the git remote add command.</p> <h5><code>git remote add upstream https://github.com/SuriyaaVijay/HacktoberFest2023.git</code></h5> <p>In this example, // upstream // is the shortname we have supplied for the remote repository since in terms of Git, “upstream” refers to the repository that you cloned from. If you want to add a remote pointer to the repository of a collaborator, you may want to provide that collaborator’s username or a shortened nickname for the shortname.</p> <h3>7. Sync the Fork</h3> <p>Once you have configured a remote that references the upstream and original repository on GitHub, you are ready to sync your fork of the repository to keep it up-to-date. To sync your fork, from the directory of your local repository in a terminal window, you’ll have to use the // git fetch // command to fetch the branches along with their respective commits from the upstream repository. Since you used the shortname “upstream” to refer to the upstream repository, you’ll have to pass that to the command:</p> <h5><code>git fetch upstream</code></h5> <p>Switch to the local master branch of our repository:</p> <h5><code>git checkout master</code></h5> <p>Now merge any changes that were made in the original repository’s master branch, that you will access through your local upstream/master branch, with your local master branch:</p> <h5><code>git merge upstream/master</code></h5> <h3>8. Create Pull Request</h3> <p>At this point, you are ready to make a pull request to the original repository.</p> <p>Navigate to your forked repository, and press the “New pull request” button on your left-hand side of your Repo page.</p> <h2>Contributors of <code>Hacktoberfest 2023</code></h2> <div align="center"> <a href="https://github.com/SuriyaaVijay/HacktoberFest2023/graphs/contributors"> <img src="https://contrib.rocks/image?repo=SuriyaaVijay/Hacktoberfest2023"> </a> </div> # Hurray! You just got closer to completing your Hacktoberfest challenge. \ No newline at end of file diff --git a/jupyter-notebook/weekly/index.xml b/jupyter-notebook/weekly/index.xml deleted file mode 100644 index 82c3b61f719..00000000000 --- a/jupyter-notebook/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Jupyter Notebook Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:48Z - Weekly Trending of Jupyter Notebook in GitHub - - - brevdev/notebooks - 2023-10-22T01:54:48Z - tag:github.com,2023-10-22:/brevdev/notebooks - - <p></p><hr><img src="https://uohmivykqgnnbiouffke.supabase.co/storage/v1/object/public/landingpage/brevdevnotebooks.png" width="100%"> <!-- Links --> <p align="center"> <a href="https://console.brev.dev" style="color: #06b6d4;">Console</a> • <a href="https://brev.dev" style="color: #06b6d4;">Docs</a> • <a href="/" style="color: #06b6d4;">Templates</a> • <a href="https://discord.gg/NVDyv7TUgJ" style="color: #06b6d4;">Discord</a> </p> <h1>Brev.dev Notebooks</h1> <p>This repo contains helpful AI/ML notebook templates. Each notebook has been coupled with the minimum GPU specs required to use them + setup scripts making a Brev template. Click the deploy badge on any notebook to deploy it.</p> <h2>Notebooks</h2> <!-- make a table --> <table> <thead> <tr> <th>Notebook</th> <th>Description</th> <th>Min. GPU</th> <th>Deploy</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/brevdev/notebooks/raw/main/llama2-finetune.ipynb">Fine-tune Llama 2</a></td> <td>Fine-tune Llama 2 on your own dataset</td> <td>1x A10G</td> <td><a href="https://drive.google.com/file/d/1RB0xrrb1GuaTRZ2qjCKuoySmRn5d-lky/view?usp=sharing"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://console.brev.dev/environment/new?instance=A10G:g5.xlarge&amp;name=fine-tune-llama2"><img src="https://uohmivykqgnnbiouffke.supabase.co/storage/v1/object/public/landingpage/brevdeploynavy.svg?sanitize=true" alt=""></a></td> </tr> <tr> <td><a href="https://github.com/brevdev/notebooks/raw/main/mistral-finetune.ipynb">Fine-tune Mistral</a></td> <td>A Guide to Cheaply Fine-tuning Mistral</td> <td>1x A10G</td> <td><a href="https://drive.google.com/file/d/1mlr4apb3zM9mxkQMBlbC1CdjorqK6pIx/view?usp=sharing"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://console.brev.dev/environment/new?instance=A10G:g5.xlarge&amp;name=mistral-finetune"><img src="https://uohmivykqgnnbiouffke.supabase.co/storage/v1/object/public/landingpage/brevdeploynavy.svg?sanitize=true" alt=""></a></td> </tr> <tr> <td><a href="https://github.com/brevdev/notebooks/raw/main/mistral-finetune-own-data.ipynb">Fine-tune Mistral - Own Data</a></td> <td>Fine-tune Mistral on your own dataset</td> <td>1x A10G</td> <td><a href="https://drive.google.com/file/d/1n_XpTFn10_64NkcHmEF8CUm3E43sPQUo/view?usp=sharing"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://console.brev.dev/environment/new?instance=A10G:g5.xlarge&amp;name=mistral-finetune"><img src="https://uohmivykqgnnbiouffke.supabase.co/storage/v1/object/public/landingpage/brevdeploynavy.svg?sanitize=true" alt=""></a></td> </tr> <tr> <td><a href="https://github.com/brevdev/notebooks/raw/main/julia-install.ipynb">Julia Install</a></td> <td>Easily Install Julia + Notebooks</td> <td>any || CPU</td> <td><a href="https://drive.google.com/file/d/1RDnIu87b6a7Uu6Kc8EkJoenq8toVknkj/view?usp=sharing"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://console.brev.dev/environment/new?instance=t3a.medium&amp;name=julia"><img src="https://uohmivykqgnnbiouffke.supabase.co/storage/v1/object/public/landingpage/brevdeploynavy.svg?sanitize=true" alt=""></a></td> </tr> </tbody> </table> <hr> <h3>What is Brev.dev?</h3> <p>Brev is a dev tool that makes it really easy to code on a GPU in the cloud. Brev does 3 things: provision, configure, and connect.</p> <h4>Provision:</h4> <p>Brev provisions a GPU for you. You don't have to worry about setting up a cloud account. We have solid GPU supply, but if you do have AWS or GCP, you can link them.</p> <h4>Configure:</h4> <p>Brev configures your GPU with the right drivers and libraries. Use our open source tool Verb to point and click the right python and CUDA versions.</p> <h4>Connect:</h4> <p>Brev.dev CLI automatically edits your ssh config so you can <code>ssh gpu-name</code> or run <code>brev open gpu-name</code> to open VS Code to the remote machine</p> - - - roboflow/notebooks - 2023-10-22T01:54:48Z - tag:github.com,2023-10-22:/roboflow/notebooks - - <p>Examples and tutorials on using SOTA computer vision models and techniques. Learn everything from old-school ResNet, through YOLO and object-detection transformers like DETR, to the latest models like Grounding DINO and SAM.</p><hr><div align="center"> <p> <a align="center" href="" target="_blank"> <img width="850" src="https://raw.githubusercontent.com/roboflow/notebooks/main/assets/roboflow-notebooks-banner.png"> </a> </p> <br> <p><a href="https://github.com/roboflow/notebooks">notebooks</a> | <a href="https://github.com/roboflow/inference">inference</a> | <a href="https://github.com/autodistill/autodistill">autodistill</a> | <a href="https://github.com/roboflow/roboflow-collect">collect</a></p> <br> <div align="center"> <a href="https://youtube.com/roboflow"> <img src="https://media.roboflow.com/notebooks/template/icons/purple/youtube.png?ik-sdk-version=javascript-1.4.3&amp;updatedAt=1672949634652" width="3%"> </a> <img src="https://github.com/SkalskiP/SkalskiP/raw/master/icons/transparent.png" width="3%"> <a href="https://roboflow.com"> <img src="https://media.roboflow.com/notebooks/template/icons/purple/roboflow-app.png?ik-sdk-version=javascript-1.4.3&amp;updatedAt=1672949746649" width="3%"> </a> <img src="https://github.com/SkalskiP/SkalskiP/raw/master/icons/transparent.png" width="3%"> <a href="https://www.linkedin.com/company/roboflow-ai/"> <img src="https://media.roboflow.com/notebooks/template/icons/purple/linkedin.png?ik-sdk-version=javascript-1.4.3&amp;updatedAt=1672949633691" width="3%"> </a> <img src="https://github.com/SkalskiP/SkalskiP/raw/master/icons/transparent.png" width="3%"> <a href="https://docs.roboflow.com"> <img src="https://media.roboflow.com/notebooks/template/icons/purple/knowledge.png?ik-sdk-version=javascript-1.4.3&amp;updatedAt=1672949634511" width="3%"> </a> <img src="https://github.com/SkalskiP/SkalskiP/raw/master/icons/transparent.png" width="3%"> <a href="https://discuss.roboflow.com"> <img src="https://media.roboflow.com/notebooks/template/icons/purple/forum.png?ik-sdk-version=javascript-1.4.3&amp;updatedAt=1672949633584" width="3%"> <img src="https://github.com/SkalskiP/SkalskiP/raw/master/icons/transparent.png" width="3%"> </a> <a href="https://blog.roboflow.com"> <img src="https://media.roboflow.com/notebooks/template/icons/purple/blog.png?ik-sdk-version=javascript-1.4.3&amp;updatedAt=1672949633605" width="3%"> </a> </div> </div> <h2>👋 hello</h2> <p>Over the years we have created dozens of Computer Vision tutorials. This repository contains examples and tutorials on using SOTA computer vision models and techniques. Learn everything from old-school ResNet, through YOLO and object-detection transformers like DETR, to the latest models like Grounding DINO and SAM.</p> <!-- AUTOGENERATED-NOTEBOOKS-TABLE --> <!-- WARNING: DO NOT EDIT THIS TABLE MANUALLY. IT IS AUTOMATICALLY GENERATED. HEAD OVER TO CONTRIBUTING.MD FOR MORE DETAILS ON HOW TO MAKE CHANGES PROPERLY. --> <h2>🚀 model tutorials (28 notebooks)</h2> <table> <thead> <tr> <th align="center"><strong>notebook</strong></th> <th align="center"><strong>open in colab / kaggle / sagemaker studio lab</strong></th> <th align="center"><strong>complementary materials</strong></th> <th align="center"><strong>repository / paper</strong></th> </tr> </thead> <tbody> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-rtmdet-object-detection-on-custom-data.ipynb">RTMDet Object Detection</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-rtmdet-object-detection-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-rtmdet-object-detection-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/train-rtmdet-object-detection-on-custom-data.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-train-rtmdet-on-a-custom-dataset"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/5kgWyo6Sg4E"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/open-mmlab/mmdetection"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2212.07784"><img src="https://img.shields.io/badge/arXiv-2212.07784-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-segment-anything-with-fast-sam.ipynb">Fast Segment Anything Model (FastSAM)</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-segment-anything-with-fast-sam.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-segment-anything-with-fast-sam.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-segment-anything-with-fast-sam.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-use-fastsam"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/yHNPyqazYYU"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/CASIA-IVA-Lab/FastSAM"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2306.12156"><img src="https://img.shields.io/badge/arXiv-2306.12156-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolo-nas-on-custom-dataset.ipynb">YOLO-NAS Object Detection</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolo-nas-on-custom-dataset.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolo-nas-on-custom-dataset.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolo-nas-on-custom-dataset.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/yolo-nas-how-to-train-on-custom-dataset"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/V-H3eoPUnA8"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/Deci-AI/super-gradients/raw/master/YOLONAS.md"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-segment-anything-with-sam.ipynb">Segment Anything Model (SAM)</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-segment-anything-with-sam.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-segment-anything-with-sam.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-segment-anything-with-sam.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-use-segment-anything-model-sam"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/D-D6ZmadzPE"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/facebookresearch/segment-anything"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2304.02643"><img src="https://img.shields.io/badge/arXiv-2304.02643-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/zero-shot-object-detection-with-grounding-dino.ipynb">Zero-Shot Object Detection with Grounding DINO</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/zero-shot-object-detection-with-grounding-dino.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/zero-shot-object-detection-with-grounding-dino.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/zero-shot-object-detection-with-grounding-dino.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/grounding-dino-zero-shot-object-detection"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/cMa77r3YrDk"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/IDEA-Research/GroundingDINO"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2303.05499"><img src="https://img.shields.io/badge/arXiv-2303.05499-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-huggingface-detr-on-custom-dataset.ipynb">DETR Transformer Object Detection</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-huggingface-detr-on-custom-dataset.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-huggingface-detr-on-custom-dataset.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/train-huggingface-detr-on-custom-dataset.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://youtu.be/AM8D4j9KoaU"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/AM8D4j9KoaU"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/facebookresearch/detr"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2005.12872"><img src="https://img.shields.io/badge/arXiv-2005.12872-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/dinov2-classification.ipynb">DINOv2 Image Classification</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/dinov2-classification.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/dinov2-classification.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-classify-images-with-dinov2/"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a></td> <td align="center"><a href="https://github.com/facebookresearch/dinov2/"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2304.07193"><img src="https://img.shields.io/badge/arXiv-2304.07193-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov8-object-detection-on-custom-dataset.ipynb">YOLOv8 Object Detection</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov8-object-detection-on-custom-dataset.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov8-object-detection-on-custom-dataset.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov8-object-detection-on-custom-dataset.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-train-yolov8-on-a-custom-dataset"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/wuZtUMEiKWY"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/ultralytics/ultralytics"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov8-instance-segmentation-on-custom-dataset.ipynb">YOLOv8 Instance Segmentation</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov8-instance-segmentation-on-custom-dataset.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov8-instance-segmentation-on-custom-dataset.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov8-instance-segmentation-on-custom-dataset.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-train-yolov8-instance-segmentation/"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/pFiGSrRtaU4"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/ultralytics/ultralytics"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov8-classification-on-custom-dataset.ipynb">YOLOv8 Classification</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov8-classification-on-custom-dataset.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov8-classification-on-custom-dataset.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov8-classification-on-custom-dataset.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-train-a-yolov8-classification-model/"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a></td> <td align="center"><a href="https://github.com/ultralytics/ultralytics"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov7-object-detection-on-custom-data.ipynb">YOLOv7 Object Detection</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov7-object-detection-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov7-object-detection-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/yolov7-custom-dataset-training-tutorial"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://www.youtube.com/watch?v=5nsmXLyDaU4"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/WongKinYiu/yolov7"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2207.02696"><img src="https://img.shields.io/badge/arXiv-2207.02696-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov7-instance-segmentation-on-custom-data.ipynb">YOLOv7 Instance Segmentation</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov7-instance-segmentation-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov7-instance-segmentation-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov7-instance-segmentation-on-custom-data.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/train-yolov7-instance-segmentation-on-custom-data"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://www.youtube.com/watch?v=vFGxM2KLs10"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/WongKinYiu/yolov7"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2207.02696"><img src="https://img.shields.io/badge/arXiv-2207.02696-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov7-object-detection-on-custom-data-openvino-torch-ort.ipynb">YOLOv7 Object Detection OpenVINO + TorchORT</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov7-object-detection-on-custom-data-openvino-torch-ort.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov7-object-detection-on-custom-data-openvino-torch-ort.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/accelerate-pytorch-openvino-torch-ort"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a></td> <td align="center"><a href="https://github.com/roboflow-ai/yolov7"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2207.02696"><img src="https://img.shields.io/badge/arXiv-2207.02696-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov6-object-detection-on-custom-data.ipynb">MT-YOLOv6 Object Detection</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov6-object-detection-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov6-object-detection-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-train-yolov6-on-a-custom-dataset"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://www.youtube.com/watch?v=fFCWrMFH2UY"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/meituan/YOLOv6"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2209.02976"><img src="https://img.shields.io/badge/arXiv-2209.02976-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov5-object-detection-on-custom-data.ipynb">YOLOv5 Object Detection</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov5-object-detection-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov5-object-detection-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-train-yolov5-on-a-custom-dataset"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/watch?v=x0ThXHbtqCQ"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/ultralytics/yolov5"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov5-classification-on-custom-data.ipynb">YOLOv5 Classification</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov5-classification-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov5-classification-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/train-yolov5-classification-custom-data"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://www.youtube.com/watch?v=DPjp9Kq4qn8"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/ultralytics/yolov5"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov5-instance-segmentation-on-custom-data.ipynb">YOLOv5 Instance Segmentation</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov5-instance-segmentation-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov5-instance-segmentation-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov5-instance-segmentation-on-custom-data.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/train-yolov5-instance-segmentation-custom-dataset"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://www.youtube.com/watch?v=vKzfvtEtiYo"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/ultralytics/yolov5"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-detectron2-segmentation-on-custom-data.ipynb">Detection2 Instance Segmentation</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-detectron2-segmentation-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-detectron2-segmentation-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-train-detectron2"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/e8LPflX0nwQ"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/facebookresearch/detectron2"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/1703.06870v3"><img src="https://img.shields.io/badge/arXiv-1703.06870v3-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-segformer-segmentation-on-custom-data.ipynb">SegFormer Instance Segmentation</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-segformer-segmentation-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-segformer-segmentation-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-train-segformer-on-a-custom-dataset-with-pytorch-lightning"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://www.youtube.com/watch?v=4HNkBMfw-2o"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/NVlabs/SegFormer"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2105.15203v3"><img src="https://img.shields.io/badge/arXiv-2105.15203v3-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-vision-transformer-classification-on-custom-data.ipynb">Vision Transformer Classification</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-vision-transformer-classification-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-vision-transformer-classification-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-train-vision-transformer"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://www.youtube.com/watch?v=8yRE2Pa-8_I"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/lucidrains/vit-pytorch"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2010.11929"><img src="https://img.shields.io/badge/arXiv-2010.11929-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-scaled-yolov4-object-detection-on-custom-data.ipynb">Scaled-YOLOv4 Object Detection</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-scaled-yolov4-object-detection-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-scaled-yolov4-object-detection-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-train-scaled-yolov4"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://www.youtube.com/watch?v=rEbpKxZbvIo"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/WongKinYiu/ScaledYOLOv4"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2004.10934"><img src="https://img.shields.io/badge/arXiv-2004.10934-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolos-huggingface-object-detection-on-custom-data.ipynb">YOLOS Object Detection</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolos-huggingface-object-detection-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolos-huggingface-object-detection-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/train-yolos-transformer-custom-dataset"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://www.youtube.com/watch?v=N0V0xxSi6Xc"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/huggingface/transformers"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2106.00666"><img src="https://img.shields.io/badge/arXiv-2106.00666-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolor-object-detection-on-custom-data.ipynb">YOLOR Object Detection</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolor-object-detection-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolor-object-detection-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/train-yolor-on-a-custom-dataset"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://www.youtube.com/watch?v=sZ5DiXDOHEM"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/roboflow-ai/yolor"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/1506.02640"><img src="https://img.shields.io/badge/arXiv-1506.02640-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolox-object-detection-on-custom-data.ipynb">YOLOX Object Detection</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolox-object-detection-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolox-object-detection-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-train-yolox-on-a-custom-dataset"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://www.youtube.com/watch?v=q3RbFbaQQGw"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/Megvii-BaseDetection/YOLOX"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2107.08430"><img src="https://img.shields.io/badge/arXiv-2107.08430-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-resnet34-classification.ipynb">Resnet34 fast.ai Classification</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-resnet34-classification.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-resnet34-classification.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-train-a-custom-resnet34-model"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://www.youtube.com/watch?v=93kXzUOiYY4"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-use-openai-clip-classification.ipynb">OpenAI Clip Classification</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-use-openai-clip-classification.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-use-openai-clip-classification.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-use-openai-clip"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://www.youtube.com/watch?v=8o701AEoZ8I"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/openai/CLIP"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2103.00020"><img src="https://img.shields.io/badge/arXiv-2103.00020-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov4-tiny-object-detection-on-custom-data.ipynb">YOLOv4-tiny Darknet Object Detection</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov4-tiny-object-detection-on-custom-data.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-yolov4-tiny-object-detection-on-custom-data.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.ai/train-yolov4-tiny-on-custom-data-lighting-fast-detection"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://www.youtube.com/watch?v=NTnZgLsk_DA"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/roboflow-ai/darknet"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2011.04244"><img src="https://img.shields.io/badge/arXiv-2011.04244-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-train-yolov8-classification-no-labeling.ipynb">Train a YOLOv8 Classification Model with No Labeling</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-train-yolov8-classification-no-labeling.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-train-yolov8-classification-no-labeling.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-train-yolov8-classification-no-labeling.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/train-classification-model-no-labeling/"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a></td> <td align="center"><a href="https://github.com/ultralytics/ultralytics"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a></td> </tr> </tbody> </table> <h2>📸 computer vision skills (14 notebooks)</h2> <table> <thead> <tr> <th align="center"><strong>notebook</strong></th> <th align="center"><strong>open in colab / kaggle / sagemaker studio lab</strong></th> <th align="center"><strong>complementary materials</strong></th> <th align="center"><strong>repository / paper</strong></th> </tr> </thead> <tbody> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-auto-train-yolov8-model-with-autodistill.ipynb">Auto Train YOLOv8 Model with Autodistill</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-auto-train-yolov8-model-with-autodistill.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-auto-train-yolov8-model-with-autodistill.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-auto-train-yolov8-model-with-autodistill.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/autodistill"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/gKTYMfwPo4M"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/autodistill/autodistill"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-segmentation-model-with-no-labeling.ipynb">Train a Segmentation Model with No Labeling</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-segmentation-model-with-no-labeling.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/train-segmentation-model-with-no-labeling.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/train-segmentation-model-with-no-labeling.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/train-a-segmentation-model-no-labeling/"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a></td> <td align="center"><a href="https://github.com/autodistill/autodistill"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/dinov2-image-retrieval.ipynb">DINOv2 Image Retrieval</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/dinov2-image-retrieval.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/dinov2-image-retrieval.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"></td> <td align="center"><a href="https://github.com/facebookresearch/dinov2/"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2304.07193"><img src="https://img.shields.io/badge/arXiv-2304.07193-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/image_embeddings_analysis_part_1.ipynb">Image Embeddings Analysis - Part 1</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/image_embeddings_analysis_part_1.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/image_embeddings_analysis_part_1.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/image_embeddings_analysis_part_1.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://youtu.be/YxJkE6FvGF4"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/openai/CLIP"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2103.00020"><img src="https://img.shields.io/badge/arXiv-2103.00020-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/automated-dataset-annotation-and-evaluation-with-grounding-dino-and-sam.ipynb">Automated Dataset Annotation and Evaluation with Grounding DINO and SAM</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/automated-dataset-annotation-and-evaluation-with-grounding-dino-and-sam.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/automated-dataset-annotation-and-evaluation-with-grounding-dino-and-sam.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/automated-dataset-annotation-and-evaluation-with-grounding-dino-and-sam.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/enhance-image-annotation-with-grounding-dino-and-sam/"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/oEQYStnF2l8"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/IDEA-Research/GroundingDINO"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2303.05499"><img src="https://img.shields.io/badge/arXiv-2303.05499-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/automated-dataset-annotation-and-evaluation-with-grounding-dino.ipynb">Automated Dataset Annotation and Evaluation with Grounding DINO</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/automated-dataset-annotation-and-evaluation-with-grounding-dino.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/automated-dataset-annotation-and-evaluation-with-grounding-dino.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/automated-dataset-annotation-and-evaluation-with-grounding-dino.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://youtu.be/C4NqaRBz_Kw"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/IDEA-Research/GroundingDINO"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2303.05499"><img src="https://img.shields.io/badge/arXiv-2303.05499-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/vector-analysis-with-sklearn-and-bokeh.ipynb">Vector Analysis with Scikit-learn and Bokeh</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/vector-analysis-with-sklearn-and-bokeh.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/vector-analysis-with-sklearn-and-bokeh.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/vector-analysis"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a></td> <td align="center"></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-use-rf100.ipynb">RF100 Object Detection Model Benchmarking</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-use-rf100.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-use-rf100.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/roboflow-100"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/jIgZMr-PBMo"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/roboflow-ai/roboflow-100-benchmark"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2211.13523"><img src="https://img.shields.io/badge/arXiv-2211.13523-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-detect-and-count-objects-in-polygon-zone.ipynb">Detect and Count Objects in Polygon Zone with YOLOv5 / YOLOv8 / Detectron2 + Supervision</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-detect-and-count-objects-in-polygon-zone.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-detect-and-count-objects-in-polygon-zone.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-detect-and-count-objects-in-polygon-zone.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://youtu.be/l_kf9CfZ_8M"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/roboflow/supervision"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-track-and-count-vehicles-with-yolov8.ipynb">Track and Count Vehicles with YOLOv8 + ByteTRACK + Supervision</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-track-and-count-vehicles-with-yolov8.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-track-and-count-vehicles-with-yolov8.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-track-and-count-vehicles-with-yolov8.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/yolov8-tracking-and-counting/"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/OS5qI9YBkfk"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/roboflow/supervision"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2110.06864"><img src="https://img.shields.io/badge/arXiv-2110.06864-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-track-football-players.ipynb">Football Players Tracking with YOLOv5 + ByteTRACK</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-track-football-players.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-track-football-players.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a> <a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-track-football-players.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://blog.roboflow.com/track-football-players"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a> <a href="https://youtu.be/QCG8QMhga9k"><img src="https://badges.aleen42.com/src/youtube.svg?sanitize=true" alt="YouTube"></a></td> <td align="center"><a href="https://github.com/ifzhang/ByteTrack"><img src="https://badges.aleen42.com/src/github.svg?sanitize=true" alt="GitHub"></a> <a href="https://arxiv.org/abs/2110.06864"><img src="https://img.shields.io/badge/arXiv-2110.06864-b31b1b.svg?sanitize=true" alt="arXiv"></a></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-generate-segmentation-mask-with-roboflow.ipynb">Create Segmentation Masks with Roboflow</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-generate-segmentation-mask-with-roboflow.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-generate-segmentation-mask-with-roboflow.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/how-to-create-segmentation-masks-with-roboflow"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a></td> <td align="center"></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-use-polygonzone-annotate-and-supervision.ipynb">How to Use PolygonZone and Roboflow Supervision</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-use-polygonzone-annotate-and-supervision.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/how-to-use-polygonzone-annotate-and-supervision.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/polygonzone/"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a></td> <td align="center"></td> </tr> <tr> <td align="center"><a href="https://github.com/roboflow-ai/notebooks/raw/main/notebooks/image-to-image-search-clip-faiss.ipynb">Image-to-Image Search with CLIP and faiss</a></td> <td align="center"><a href="https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/image-to-image-search-clip-faiss.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Colab"></a> <a href="https://kaggle.com/kernels/welcome?src=https://github.com/roboflow-ai/notebooks/raw/main/notebooks/image-to-image-search-clip-faiss.ipynb"><img src="https://kaggle.com/static/images/open-in-kaggle.svg?sanitize=true" alt="Kaggle"></a></td> <td align="center"><a href="https://blog.roboflow.com/clip-image-search-faiss/"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/roboflow-blogpost.svg?sanitize=true" alt="Roboflow"></a></td> <td align="center"></td> </tr> </tbody> </table> <!-- AUTOGENERATED-NOTEBOOKS-TABLE --> <h2>🎬 videos</h2> <p>Almost every week we create tutorials showing you the hottest models in Computer Vision. 🔥 <a href="https://www.youtube.com/@Roboflow">Subscribe</a>, and stay up to date with our latest YouTube videos!</p> <p align="left"> <a href="https://youtu.be/CilXrt3S-ws" title="How to Choose the Best Computer Vision Model for Your Project"><img src="https://github.com/roboflow/notebooks/assets/26109316/73a01d3b-cf70-40c3-a5e4-e4bc5be38d42" alt="How to Choose the Best Computer Vision Model for Your Project" width="300px" align="left"></a> <a href="https://youtu.be/CilXrt3S-ws" title="How to Choose the Best Computer Vision Model for Your Project"><strong>How to Choose the Best Computer Vision Model for Your Project</strong></a> </p> <div> <strong>Created: 26 May 2023</strong> | <strong>Updated: 26 May 2023</strong> </div> <br> In this video, we will dive into the complexity of choosing the right computer vision model for your unique project. From the importance of high-quality datasets to hardware considerations, interoperability, benchmarking, and licensing issues, this video covers it all... <p></p> <br> <p align="left"> <a href="https://youtu.be/oEQYStnF2l8" title="Accelerate Image Annotation with SAM and Grounding DINO"><img src="https://github.com/SkalskiP/SkalskiP/assets/26109316/ae1ca38e-40b7-4b35-8582-e8ea5de3806e" alt="Accelerate Image Annotation with SAM and Grounding DINO" width="300px" align="left"></a> <a href="https://youtu.be/oEQYStnF2l8" title="Accelerate Image Annotation with SAM and Grounding DINO"><strong>Accelerate Image Annotation with SAM and Grounding DINO</strong></a> </p> <div> <strong>Created: 20 Apr 2023</strong> | <strong>Updated: 20 Apr 2023</strong> </div> <br> Discover how to speed up your image annotation process using Grounding DINO and Segment Anything Model (SAM). Learn how to convert object detection datasets into instance segmentation datasets, and see the potential of using these models to automatically annotate your datasets for real-time detectors like YOLOv8... <p></p> <br> <p align="left"> <a href="https://youtu.be/D-D6ZmadzPE" title="SAM - Segment Anything Model by Meta AI: Complete Guide"><img src="https://github.com/SkalskiP/SkalskiP/assets/26109316/6913ff11-53c6-4341-8d90-eaff3023c3fd" alt="SAM - Segment Anything Model by Meta AI: Complete Guide" width="300px" align="left"></a> <a href="https://youtu.be/D-D6ZmadzPE" title="SAM - Segment Anything Model by Meta AI: Complete Guide"><strong>SAM - Segment Anything Model by Meta AI: Complete Guide</strong></a> </p> <div> <strong>Created: 11 Apr 2023</strong> | <strong>Updated: 11 Apr 2023</strong> </div> <p><br> Discover the incredible potential of Meta AI's Segment Anything Model (SAM)! We dive into SAM, an efficient and promptable model for image segmentation, which has revolutionized computer vision tasks. With over 1 billion masks on 11M licensed and privacy-respecting images, SAM's zero-shot performance is often superior to prior fully supervised results... </p> <p></p> <h2>💻 run locally</h2> <p>We try to make it as easy as possible to run Roboflow Notebooks in Colab and Kaggle, but if you still want to run them locally, below you will find instructions on how to do it. Remember don't install your dependencies globally, use <a href="https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/">venv</a>.</p> <pre><code class="language-console"># clone repository and navigate to root directory git clone git@github.com:roboflow-ai/notebooks.git cd notebooks # setup python environment and activate it python3 -m venv venv source venv/bin/activate # install and run jupyter notebook pip install notebook jupyter notebook </code></pre> <h2>☁️ run in sagemaker studio lab</h2> <p>You can now open our tutorial notebooks in <a href="https://aws.amazon.com/sagemaker/studio-lab/">Amazon SageMaker Studio Lab</a> - a free machine learning development environment that provides the compute, storage, and security—all at no cost—for anyone to learn and experiment with ML.</p> <table> <thead> <tr> <th align="center">Stable Diffusion Image Generation</th> <th align="center">YOLOv5 Custom Dataset Training</th> <th align="center">YOLOv7 Custom Dataset Training</th> </tr> </thead> <tbody> <tr> <td align="center"><a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/sagemaker-studiolab/stable-diffusion-image-generation.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/sagemaker-studiolab/yolov5-custom-training.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> <td align="center"><a href="https://studiolab.sagemaker.aws/import/github/roboflow-ai/notebooks/blob/main/notebooks/sagemaker-studiolab/yolov7-custom-training.ipynb"><img src="https://raw.githubusercontent.com/roboflow-ai/notebooks/main/assets/badges/sage-maker.svg?sanitize=true" alt="SageMaker"></a></td> </tr> </tbody> </table> <h2>🐞 bugs &amp; 🦸 contribution</h2> <p>Computer Vision moves fast! Sometimes our notebooks lag a tad behind the ever-pushing forward libraries. If you notice that any of the notebooks is not working properly, create a <a href="https://github.com/roboflow-ai/notebooks/issues/new?assignees=&amp;labels=bug%2Ctriage&amp;template=bug-report.yml">bug report</a> and let us know.</p> <p>If you have an idea for a new tutorial we should do, create a <a href="https://github.com/roboflow-ai/notebooks/issues/new?assignees=&amp;labels=enhancement&amp;template=feature-request.yml">feature request</a>. We are constantly looking for new ideas. If you feel up to the task and want to create a tutorial yourself, please take a peek at our <a href="https://github.com/roboflow-ai/notebooks/raw/main/CONTRIBUTING.md">contribution guide</a>. There you can find all the information you need.</p> <p>We are here for you, so don't hesitate to <a href="https://github.com/roboflow-ai/notebooks/discussions">reach out</a>.</p> - - - shap/shap - 2023-10-22T01:54:48Z - tag:github.com,2023-10-22:/shap/shap - - <p>A game theoretic approach to explain the output of any machine learning model.</p><hr><p align="center"> <img src="https://raw.githubusercontent.com/shap/shap/master/docs/artwork/shap_header.svg?sanitize=true" width="800"> </p> <hr> <p><a href="https://pypi.org/project/shap/"><img src="https://img.shields.io/pypi/v/shap" alt="PyPI"></a> <a href="https://anaconda.org/conda-forge/shap"><img src="https://img.shields.io/conda/vn/conda-forge/shap" alt="Conda"></a> <img src="https://img.shields.io/github/license/shap/shap" alt="License"> <img src="https://github.com/shap/shap/actions/workflows/run_tests.yml/badge.svg?sanitize=true" alt="Tests"> <a href="https://mybinder.org/v2/gh/shap/shap/master"><img src="https://mybinder.org/badge_logo.svg?sanitize=true" alt="Binder"></a> <a href="https://shap.readthedocs.io/en/latest/?badge=latest"><img src="https://readthedocs.org/projects/shap/badge/?version=latest" alt="Documentation Status"></a> <img src="https://img.shields.io/pypi/dm/shap" alt="Downloads"> <a href="https://pypi.org/pypi/shap/"><img src="https://img.shields.io/pypi/pyversions/shap" alt="PyPI pyversions"></a></p> <p><strong>SHAP (SHapley Additive exPlanations)</strong> is a game theoretic approach to explain the output of any machine learning model. It connects optimal credit allocation with local explanations using the classic Shapley values from game theory and their related extensions (see <a href="https://raw.githubusercontent.com/shap/shap/master/#citations">papers</a> for details and citations).</p> <!--**SHAP (SHapley Additive exPlanations)** is a unified approach to explain the output of any machine learning model. SHAP connects game theory with local explanations, uniting several previous methods [1-7] and representing the only possible consistent and locally accurate additive feature attribution method based on expectations (see our [papers](#citations) for details and citations).--> <h2>Install</h2> <p>SHAP can be installed from either <a href="https://pypi.org/project/shap">PyPI</a> or <a href="https://anaconda.org/conda-forge/shap">conda-forge</a>:</p> <pre> pip install shap <i>or</i> conda install -c conda-forge shap </pre> <h2>Tree ensemble example (XGBoost/LightGBM/CatBoost/scikit-learn/pyspark models)</h2> <p>While SHAP can explain the output of any machine learning model, we have developed a high-speed exact algorithm for tree ensemble methods (see our <a href="https://rdcu.be/b0z70">Nature MI paper</a>). Fast C++ implementations are supported for <em>XGBoost</em>, <em>LightGBM</em>, <em>CatBoost</em>, <em>scikit-learn</em> and <em>pyspark</em> tree models:</p> <pre><code class="language-python">import xgboost import shap # train an XGBoost model X, y = shap.datasets.california() model = xgboost.XGBRegressor().fit(X, y) # explain the model's predictions using SHAP # (same syntax works for LightGBM, CatBoost, scikit-learn, transformers, Spark, etc.) explainer = shap.Explainer(model) shap_values = explainer(X) # visualize the first prediction's explanation shap.plots.waterfall(shap_values[0]) </code></pre> <p align="center"> <img width="616" src="https://raw.githubusercontent.com/shap/shap/master/docs/artwork/california_waterfall.png"> </p> <p>The above explanation shows features each contributing to push the model output from the base value (the average model output over the training dataset we passed) to the model output. Features pushing the prediction higher are shown in red, those pushing the prediction lower are in blue. Another way to visualize the same explanation is to use a force plot (these are introduced in our <a href="https://rdcu.be/baVbR">Nature BME paper</a>):</p> <pre><code class="language-python"># visualize the first prediction's explanation with a force plot shap.plots.force(shap_values[0]) </code></pre> <p align="center"> <img width="811" src="https://raw.githubusercontent.com/shap/shap/master/docs/artwork/california_instance.png"> </p> <p>If we take many force plot explanations such as the one shown above, rotate them 90 degrees, and then stack them horizontally, we can see explanations for an entire dataset (in the notebook this plot is interactive):</p> <pre><code class="language-python"># visualize all the training set predictions shap.plots.force(shap_values[:500]) </code></pre> <p align="center"> <img width="811" src="https://raw.githubusercontent.com/shap/shap/master/docs/artwork/california_dataset.png"> </p> <p>To understand how a single feature effects the output of the model we can plot the SHAP value of that feature vs. the value of the feature for all the examples in a dataset. Since SHAP values represent a feature's responsibility for a change in the model output, the plot below represents the change in predicted house price as the latitude changes. Vertical dispersion at a single value of latitude represents interaction effects with other features. To help reveal these interactions we can color by another feature. If we pass the whole explanation tensor to the <code>color</code> argument the scatter plot will pick the best feature to color by. In this case it picks longitude.</p> <pre><code class="language-python"># create a dependence scatter plot to show the effect of a single feature across the whole dataset shap.plots.scatter(shap_values[:, "Latitude"], color=shap_values) </code></pre> <p align="center"> <img width="544" src="https://raw.githubusercontent.com/shap/shap/master/docs/artwork/california_scatter.png"> </p> <p>To get an overview of which features are most important for a model we can plot the SHAP values of every feature for every sample. The plot below sorts features by the sum of SHAP value magnitudes over all samples, and uses SHAP values to show the distribution of the impacts each feature has on the model output. The color represents the feature value (red high, blue low). This reveals for example that higher median incomes improves the predicted home price.</p> <pre><code class="language-python"># summarize the effects of all the features shap.plots.beeswarm(shap_values) </code></pre> <p align="center"> <img width="583" src="https://raw.githubusercontent.com/shap/shap/master/docs/artwork/california_beeswarm.png"> </p> <p>We can also just take the mean absolute value of the SHAP values for each feature to get a standard bar plot (produces stacked bars for multi-class outputs):</p> <pre><code class="language-python">shap.plots.bar(shap_values) </code></pre> <p align="center"> <img width="570" src="https://raw.githubusercontent.com/shap/shap/master/docs/artwork/california_global_bar.png"> </p> <h2>Natural language example (transformers)</h2> <p>SHAP has specific support for natural language models like those in the Hugging Face transformers library. By adding coalitional rules to traditional Shapley values we can form games that explain large modern NLP model using very few function evaluations. Using this functionality is as simple as passing a supported transformers pipeline to SHAP:</p> <pre><code class="language-python">import transformers import shap # load a transformers pipeline model model = transformers.pipeline('sentiment-analysis', return_all_scores=True) # explain the model on two sample inputs explainer = shap.Explainer(model) shap_values = explainer(["What a great movie! ...if you have no taste."]) # visualize the first prediction's explanation for the POSITIVE output class shap.plots.text(shap_values[0, :, "POSITIVE"]) </code></pre> <p align="center"> <img width="811" src="https://raw.githubusercontent.com/shap/shap/master/docs/artwork/sentiment_analysis_plot.png"> </p> <h2>Deep learning example with DeepExplainer (TensorFlow/Keras models)</h2> <p>Deep SHAP is a high-speed approximation algorithm for SHAP values in deep learning models that builds on a connection with <a href="https://arxiv.org/abs/1704.02685">DeepLIFT</a> described in the SHAP NIPS paper. The implementation here differs from the original DeepLIFT by using a distribution of background samples instead of a single reference value, and using Shapley equations to linearize components such as max, softmax, products, divisions, etc. Note that some of these enhancements have also been since integrated into DeepLIFT. TensorFlow models and Keras models using the TensorFlow backend are supported (there is also preliminary support for PyTorch):</p> <pre><code class="language-python"># ...include code from https://github.com/keras-team/keras/blob/master/examples/mnist_cnn.py import shap import numpy as np # select a set of background examples to take an expectation over background = x_train[np.random.choice(x_train.shape[0], 100, replace=False)] # explain predictions of the model on four images e = shap.DeepExplainer(model, background) # ...or pass tensors directly # e = shap.DeepExplainer((model.layers[0].input, model.layers[-1].output), background) shap_values = e.shap_values(x_test[1:5]) # plot the feature attributions shap.image_plot(shap_values, -x_test[1:5]) </code></pre> <p align="center"> <img width="820" src="https://raw.githubusercontent.com/shap/shap/master/docs/artwork/mnist_image_plot.png"> </p> <p>The plot above explains ten outputs (digits 0-9) for four different images. Red pixels increase the model's output while blue pixels decrease the output. The input images are shown on the left, and as nearly transparent grayscale backings behind each of the explanations. The sum of the SHAP values equals the difference between the expected model output (averaged over the background dataset) and the current model output. Note that for the 'zero' image the blank middle is important, while for the 'four' image the lack of a connection on top makes it a four instead of a nine.</p> <h2>Deep learning example with GradientExplainer (TensorFlow/Keras/PyTorch models)</h2> <p>Expected gradients combines ideas from <a href="https://arxiv.org/abs/1703.01365">Integrated Gradients</a>, SHAP, and <a href="https://arxiv.org/abs/1706.03825">SmoothGrad</a> into a single expected value equation. This allows an entire dataset to be used as the background distribution (as opposed to a single reference value) and allows local smoothing. If we approximate the model with a linear function between each background data sample and the current input to be explained, and we assume the input features are independent then expected gradients will compute approximate SHAP values. In the example below we have explained how the 7th intermediate layer of the VGG16 ImageNet model impacts the output probabilities.</p> <pre><code class="language-python">from keras.applications.vgg16 import VGG16 from keras.applications.vgg16 import preprocess_input import keras.backend as K import numpy as np import json import shap # load pre-trained model and choose two images to explain model = VGG16(weights='imagenet', include_top=True) X,y = shap.datasets.imagenet50() to_explain = X[[39,41]] # load the ImageNet class names url = "https://s3.amazonaws.com/deep-learning-models/image-models/imagenet_class_index.json" fname = shap.datasets.cache(url) with open(fname) as f: class_names = json.load(f) # explain how the input to the 7th layer of the model explains the top two classes def map2layer(x, layer): feed_dict = dict(zip([model.layers[0].input], [preprocess_input(x.copy())])) return K.get_session().run(model.layers[layer].input, feed_dict) e = shap.GradientExplainer( (model.layers[7].input, model.layers[-1].output), map2layer(X, 7), local_smoothing=0 # std dev of smoothing noise ) shap_values,indexes = e.shap_values(map2layer(to_explain, 7), ranked_outputs=2) # get the names for the classes index_names = np.vectorize(lambda x: class_names[str(x)][1])(indexes) # plot the explanations shap.image_plot(shap_values, to_explain, index_names) </code></pre> <p align="center"> <img width="500" src="https://raw.githubusercontent.com/shap/shap/master/docs/artwork/gradient_imagenet_plot.png"> </p> <p>Predictions for two input images are explained in the plot above. Red pixels represent positive SHAP values that increase the probability of the class, while blue pixels represent negative SHAP values the reduce the probability of the class. By using <code>ranked_outputs=2</code> we explain only the two most likely classes for each input (this spares us from explaining all 1,000 classes).</p> <h2>Model agnostic example with KernelExplainer (explains any function)</h2> <p>Kernel SHAP uses a specially-weighted local linear regression to estimate SHAP values for any model. Below is a simple example for explaining a multi-class SVM on the classic iris dataset.</p> <pre><code class="language-python">import sklearn import shap from sklearn.model_selection import train_test_split # print the JS visualization code to the notebook shap.initjs() # train a SVM classifier X_train,X_test,Y_train,Y_test = train_test_split(*shap.datasets.iris(), test_size=0.2, random_state=0) svm = sklearn.svm.SVC(kernel='rbf', probability=True) svm.fit(X_train, Y_train) # use Kernel SHAP to explain test set predictions explainer = shap.KernelExplainer(svm.predict_proba, X_train, link="logit") shap_values = explainer.shap_values(X_test, nsamples=100) # plot the SHAP values for the Setosa output of the first instance shap.force_plot(explainer.expected_value[0], shap_values[0][0,:], X_test.iloc[0,:], link="logit") </code></pre> <p align="center"> <img width="810" src="https://raw.githubusercontent.com/shap/shap/master/docs/artwork/iris_instance.png"> </p> <p>The above explanation shows four features each contributing to push the model output from the base value (the average model output over the training dataset we passed) towards zero. If there were any features pushing the class label higher they would be shown in red.</p> <p>If we take many explanations such as the one shown above, rotate them 90 degrees, and then stack them horizontally, we can see explanations for an entire dataset. This is exactly what we do below for all the examples in the iris test set:</p> <pre><code class="language-python"># plot the SHAP values for the Setosa output of all instances shap.force_plot(explainer.expected_value[0], shap_values[0], X_test, link="logit") </code></pre> <p align="center"> <img width="813" src="https://raw.githubusercontent.com/shap/shap/master/docs/artwork/iris_dataset.png"> </p> <h2>SHAP Interaction Values</h2> <p>SHAP interaction values are a generalization of SHAP values to higher order interactions. Fast exact computation of pairwise interactions are implemented for tree models with <code>shap.TreeExplainer(model).shap_interaction_values(X)</code>. This returns a matrix for every prediction, where the main effects are on the diagonal and the interaction effects are off-diagonal. These values often reveal interesting hidden relationships, such as how the increased risk of death peaks for men at age 60 (see the NHANES notebook for details):</p> <p align="center"> <img width="483" src="https://raw.githubusercontent.com/shap/shap/master/docs/artwork/nhanes_age_sex_interaction.png"> </p> <h2>Sample notebooks</h2> <p>The notebooks below demonstrate different use cases for SHAP. Look inside the notebooks directory of the repository if you want to try playing with the original notebooks yourself.</p> <h3>TreeExplainer</h3> <p>An implementation of Tree SHAP, a fast and exact algorithm to compute SHAP values for trees and ensembles of trees.</p> <ul> <li> <p><a href="https://shap.github.io/shap/notebooks/NHANES%20I%20Survival%20Model.html"><strong>NHANES survival model with XGBoost and SHAP interaction values</strong></a> - Using mortality data from 20 years of followup this notebook demonstrates how to use XGBoost and <code>shap</code> to uncover complex risk factor relationships.</p> </li> <li> <p><a href="https://shap.github.io/shap/notebooks/tree_explainer/Census%20income%20classification%20with%20LightGBM.html"><strong>Census income classification with LightGBM</strong></a> - Using the standard adult census income dataset, this notebook trains a gradient boosting tree model with LightGBM and then explains predictions using <code>shap</code>.</p> </li> <li> <p><a href="https://shap.github.io/shap/notebooks/League%20of%20Legends%20Win%20Prediction%20with%20XGBoost.html"><strong>League of Legends Win Prediction with XGBoost</strong></a> - Using a Kaggle dataset of 180,000 ranked matches from League of Legends we train and explain a gradient boosting tree model with XGBoost to predict if a player will win their match.</p> </li> </ul> <h3>DeepExplainer</h3> <p>An implementation of Deep SHAP, a faster (but only approximate) algorithm to compute SHAP values for deep learning models that is based on connections between SHAP and the DeepLIFT algorithm.</p> <ul> <li> <p><a href="https://shap.github.io/shap/notebooks/deep_explainer/Front%20Page%20DeepExplainer%20MNIST%20Example.html"><strong>MNIST Digit classification with Keras</strong></a> - Using the MNIST handwriting recognition dataset, this notebook trains a neural network with Keras and then explains predictions using <code>shap</code>.</p> </li> <li> <p><a href="https://shap.github.io/shap/notebooks/deep_explainer/Keras%20LSTM%20for%20IMDB%20Sentiment%20Classification.html"><strong>Keras LSTM for IMDB Sentiment Classification</strong></a> - This notebook trains an LSTM with Keras on the IMDB text sentiment analysis dataset and then explains predictions using <code>shap</code>.</p> </li> </ul> <h3>GradientExplainer</h3> <p>An implementation of expected gradients to approximate SHAP values for deep learning models. It is based on connections between SHAP and the Integrated Gradients algorithm. GradientExplainer is slower than DeepExplainer and makes different approximation assumptions.</p> <ul> <li><a href="https://shap.github.io/shap/notebooks/gradient_explainer/Explain%20an%20Intermediate%20Layer%20of%20VGG16%20on%20ImageNet.html"><strong>Explain an Intermediate Layer of VGG16 on ImageNet</strong></a> - This notebook demonstrates how to explain the output of a pre-trained VGG16 ImageNet model using an internal convolutional layer.</li> </ul> <h3>LinearExplainer</h3> <p>For a linear model with independent features we can analytically compute the exact SHAP values. We can also account for feature correlation if we are willing to estimate the feature covariance matrix. LinearExplainer supports both of these options.</p> <ul> <li><a href="https://shap.github.io/shap/notebooks/linear_explainer/Sentiment%20Analysis%20with%20Logistic%20Regression.html"><strong>Sentiment Analysis with Logistic Regression</strong></a> - This notebook demonstrates how to explain a linear logistic regression sentiment analysis model.</li> </ul> <h3>KernelExplainer</h3> <p>An implementation of Kernel SHAP, a model agnostic method to estimate SHAP values for any model. Because it makes no assumptions about the model type, KernelExplainer is slower than the other model type specific algorithms.</p> <ul> <li> <p><a href="https://shap.github.io/shap/notebooks/Census%20income%20classification%20with%20scikit-learn.html"><strong>Census income classification with scikit-learn</strong></a> - Using the standard adult census income dataset, this notebook trains a k-nearest neighbors classifier using scikit-learn and then explains predictions using <code>shap</code>.</p> </li> <li> <p><a href="https://shap.github.io/shap/notebooks/ImageNet%20VGG16%20Model%20with%20Keras.html"><strong>ImageNet VGG16 Model with Keras</strong></a> - Explain the classic VGG16 convolutional neural network's predictions for an image. This works by applying the model agnostic Kernel SHAP method to a super-pixel segmented image.</p> </li> <li> <p><a href="https://shap.github.io/shap/notebooks/Iris%20classification%20with%20scikit-learn.html"><strong>Iris classification</strong></a> - A basic demonstration using the popular iris species dataset. It explains predictions from six different models in scikit-learn using <code>shap</code>.</p> </li> </ul> <h2>Documentation notebooks</h2> <p>These notebooks comprehensively demonstrate how to use specific functions and objects.</p> <ul> <li> <p><a href="https://shap.github.io/shap/notebooks/plots/decision_plot.html"><code>shap.decision_plot</code> and <code>shap.multioutput_decision_plot</code></a></p> </li> <li> <p><a href="https://shap.github.io/shap/notebooks/plots/dependence_plot.html"><code>shap.dependence_plot</code></a></p> </li> </ul> <h2>Methods Unified by SHAP</h2> <ol> <li> <p><em>LIME:</em> Ribeiro, Marco Tulio, Sameer Singh, and Carlos Guestrin. "Why should i trust you?: Explaining the predictions of any classifier." Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2016.</p> </li> <li> <p><em>Shapley sampling values:</em> Strumbelj, Erik, and Igor Kononenko. "Explaining prediction models and individual predictions with feature contributions." Knowledge and information systems 41.3 (2014): 647-665.</p> </li> <li> <p><em>DeepLIFT:</em> Shrikumar, Avanti, Peyton Greenside, and Anshul Kundaje. "Learning important features through propagating activation differences." arXiv preprint arXiv:1704.02685 (2017).</p> </li> <li> <p><em>QII:</em> Datta, Anupam, Shayak Sen, and Yair Zick. "Algorithmic transparency via quantitative input influence: Theory and experiments with learning systems." Security and Privacy (SP), 2016 IEEE Symposium on. IEEE, 2016.</p> </li> <li> <p><em>Layer-wise relevance propagation:</em> Bach, Sebastian, et al. "On pixel-wise explanations for non-linear classifier decisions by layer-wise relevance propagation." PloS one 10.7 (2015): e0130140.</p> </li> <li> <p><em>Shapley regression values:</em> Lipovetsky, Stan, and Michael Conklin. "Analysis of regression in game theory approach." Applied Stochastic Models in Business and Industry 17.4 (2001): 319-330.</p> </li> <li> <p><em>Tree interpreter:</em> Saabas, Ando. Interpreting random forests. <a href="http://blog.datadive.net/interpreting-random-forests/">http://blog.datadive.net/interpreting-random-forests/</a></p> </li> </ol> <h2>Citations</h2> <p>The algorithms and visualizations used in this package came primarily out of research in <a href="https://suinlee.cs.washington.edu">Su-In Lee's lab</a> at the University of Washington, and Microsoft Research. If you use SHAP in your research we would appreciate a citation to the appropriate paper(s):</p> <ul> <li>For general use of SHAP you can read/cite our <a href="http://papers.nips.cc/paper/7062-a-unified-approach-to-interpreting-model-predictions">NeurIPS paper</a> (<a href="https://raw.githubusercontent.com/shap/shap/master/docs/references/shap_nips.bib">bibtex</a>).</li> <li>For TreeExplainer you can read/cite our <a href="https://www.nature.com/articles/s42256-019-0138-9">Nature Machine Intelligence paper</a> (<a href="https://raw.githubusercontent.com/shap/shap/master/docs/references/tree_explainer.bib">bibtex</a>; <a href="https://rdcu.be/b0z70">free access</a>).</li> <li>For GPUTreeExplainer you can read/cite <a href="https://arxiv.org/abs/2010.13972">this article</a>.</li> <li>For <code>force_plot</code> visualizations and medical applications you can read/cite our <a href="https://www.nature.com/articles/s41551-018-0304-0">Nature Biomedical Engineering paper</a> (<a href="https://raw.githubusercontent.com/shap/shap/master/docs/references/nature_bme.bib">bibtex</a>; <a href="https://rdcu.be/baVbR">free access</a>).</li> </ul> <img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=189147091855991&amp;ev=PageView&amp;noscript=1"> - - \ No newline at end of file diff --git a/kaitai-struct/daily/index.xml b/kaitai-struct/daily/index.xml index 5420c8fcc48..76c8edd4c5f 100644 --- a/kaitai-struct/daily/index.xml +++ b/kaitai-struct/daily/index.xml @@ -1,7 +1,7 @@ GitHub Kaitai Struct Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:41Z + 2023-10-23T01:33:25Z Daily Trending of Kaitai Struct in GitHub \ No newline at end of file diff --git a/kaitai-struct/weekly/index.xml b/kaitai-struct/weekly/index.xml deleted file mode 100644 index 21aa82e14ea..00000000000 --- a/kaitai-struct/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Kaitai Struct Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:54:58Z - Weekly Trending of Kaitai Struct in GitHub - - \ No newline at end of file diff --git a/kakounescript/daily/index.xml b/kakounescript/daily/index.xml index b5d055cdb37..732224f1bc2 100644 --- a/kakounescript/daily/index.xml +++ b/kakounescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub KakouneScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:40Z + 2023-10-23T01:33:24Z Daily Trending of KakouneScript in GitHub \ No newline at end of file diff --git a/kakounescript/weekly/index.xml b/kakounescript/weekly/index.xml deleted file mode 100644 index b4260fef7eb..00000000000 --- a/kakounescript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub KakouneScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:00Z - Weekly Trending of KakouneScript in GitHub - - \ No newline at end of file diff --git a/kicad-layout/daily/index.xml b/kicad-layout/daily/index.xml index 9b196ea108d..374639d7bd4 100644 --- a/kicad-layout/daily/index.xml +++ b/kicad-layout/daily/index.xml @@ -1,7 +1,7 @@ GitHub KiCad Layout Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:45Z + 2023-10-23T01:33:29Z Daily Trending of KiCad Layout in GitHub \ No newline at end of file diff --git a/kicad-layout/weekly/index.xml b/kicad-layout/weekly/index.xml deleted file mode 100644 index ca6721af3f0..00000000000 --- a/kicad-layout/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub KiCad Layout Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:03Z - Weekly Trending of KiCad Layout in GitHub - - \ No newline at end of file diff --git a/kicad-legacy-layout/daily/index.xml b/kicad-legacy-layout/daily/index.xml index e4e22df1da5..e2741b43402 100644 --- a/kicad-legacy-layout/daily/index.xml +++ b/kicad-legacy-layout/daily/index.xml @@ -1,7 +1,7 @@ GitHub KiCad Legacy Layout Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:46Z + 2023-10-23T01:33:28Z Daily Trending of KiCad Legacy Layout in GitHub \ No newline at end of file diff --git a/kicad-legacy-layout/weekly/index.xml b/kicad-legacy-layout/weekly/index.xml deleted file mode 100644 index 60a64a11369..00000000000 --- a/kicad-legacy-layout/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub KiCad Legacy Layout Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:04Z - Weekly Trending of KiCad Legacy Layout in GitHub - - \ No newline at end of file diff --git a/kicad-schematic/daily/index.xml b/kicad-schematic/daily/index.xml index 8eb39fe05fb..1c5f01d57cf 100644 --- a/kicad-schematic/daily/index.xml +++ b/kicad-schematic/daily/index.xml @@ -1,7 +1,7 @@ GitHub KiCad Schematic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:46Z + 2023-10-23T01:33:30Z Daily Trending of KiCad Schematic in GitHub \ No newline at end of file diff --git a/kicad-schematic/weekly/index.xml b/kicad-schematic/weekly/index.xml deleted file mode 100644 index f64c2e00474..00000000000 --- a/kicad-schematic/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub KiCad Schematic Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:03Z - Weekly Trending of KiCad Schematic in GitHub - - \ No newline at end of file diff --git a/kit/daily/index.xml b/kit/daily/index.xml index 68a3750ef72..b457beacd20 100644 --- a/kit/daily/index.xml +++ b/kit/daily/index.xml @@ -1,7 +1,7 @@ GitHub Kit Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:48Z + 2023-10-23T01:33:32Z Daily Trending of Kit in GitHub \ No newline at end of file diff --git a/kit/weekly/index.xml b/kit/weekly/index.xml deleted file mode 100644 index 014c70a55c1..00000000000 --- a/kit/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Kit Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:07Z - Weekly Trending of Kit in GitHub - - \ No newline at end of file diff --git a/kotlin/daily/index.xml b/kotlin/daily/index.xml index 9045488ae82..7782b8047d3 100644 --- a/kotlin/daily/index.xml +++ b/kotlin/daily/index.xml @@ -1,14 +1,21 @@ GitHub Kotlin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:52Z + 2023-10-23T01:33:36Z Daily Trending of Kotlin in GitHub - techyourchance/TechYourChance-Android-Application - 2023-10-22T01:35:52Z - tag:github.com,2023-10-22:/techyourchance/TechYourChance-Android-Application - - <p>This app demonstrates the best practices for Android development and contains a repository of useful features</p><hr><h1>TechYourChance Android Application</h1> <p>This app demonstrates the best practices for Android development and contains a repository of useful features that you can learn from. It shows what I consider to be "clean and pragmatic Android code".</p> <p>The architecture, implementation details, tests, etc. in this application follow the practices and guidelines that I teach in my <a href="https://www.techyourchance.com/courses/">Android development courses</a>.</p> <h2>Installation</h2> <p>You can download a <a href="https://github.com/techyourchance/TechYourChance-Android-Application/releases/latest">prebuilt APK file attached to the latest release</a>, or clone this repo and build the application from the source code.</p> <h2>Application Updates</h2> <p>The application includes auto-update feature. It uses a special Android API that will prompt you to approve the installation of each new version of the application. On the first update, this API will also ask you to enable the auto-update feature in device's settings app.</p> <p>Alternatively, you can download the latest APK from here and update the application manually, or even build the update from the source code.</p> <h2>Architecture</h2> <p>The project is written in Kotlin, using the "classical" Andorid UI framework (XMLs + Views). [Jetpack Compose will be added in the future]</p> <p>Packages structure of the application follows <a href="https://www.techyourchance.com/popular-package-structures/">package by feature</a> approach.</p> <p>Dependency injection architectural pattern is implemented using <a href="https://www.techyourchance.com/courses/android-dependency-injection-with-dagger-and-hilt/">Dagger 2 framework</a>.</p> <p>Presentation layer logic is organized according to <a href="https://www.techyourchance.com/mvc-android-1/">MVC architectural pattern</a>.</p> <p>Funcitonal flows in the app are encapsulated into <a href="https://www.techyourchance.com/how-to-use-case-interactor-kotlin/">Use Case</a> classes.</p> <p>The logic responsible for <a href="https://www.techyourchance.com/navigation-between-screens-android/">navigation between screens</a> is encapsulated in <code>ScreensNavigator</code> class.</p> <p><code>DialogsNavigator</code> "facade" class is responsible for showing dialogs.</p> <p><a href="https://www.techyourchance.com/courses/kotlin-coroutines-in-android-course/">Kotlin Coroutines framework</a> is used for concurrency.</p> <h2>Contribution</h2> <p>Bug reports, code quality feedback and feature suggestions are welcome. Since this project aims to demonstrate a very specific approach to Android development, any external contribution should be discussed and approved in advance.</p> + JohnnySC/ZeroToHeroAndroidTDD + 2023-10-23T01:33:36Z + tag:github.com,2023-10-23:/JohnnySC/ZeroToHeroAndroidTDD + + <p>Learn Android by solving TDD tasks</p><hr><h1>ZeroToHeroAndroidTDD</h1> <p>Learn Android by solving TDD tasks</p> <p>Self-study practical tasks to become Android Developer. <strong>At first please fork this repository!</strong></p> <p>Then just checkout branches, solve the tasks, run ui tests and unit tests to check they pass: go to next one</p> <p>task/001-change-text solution on YouTube <a href="https://www.youtube.com/watch?v=EK2G_XV25YQ">https://www.youtube.com/watch?v=EK2G_XV25YQ</a></p> <p>task/002-add-id solution on YouTube <a href="https://www.youtube.com/watch?v=TrSa83OsYV8">https://www.youtube.com/watch?v=TrSa83OsYV8</a></p> <p>task/003-change-parent solution on YouTube <a href="https://www.youtube.com/watch?v=4N-59HERAq0">https://www.youtube.com/watch?v=4N-59HERAq0</a></p> <p>task/004-add-button solution on YouTube <a href="https://www.youtube.com/watch?v=mFzelplwHKs">https://www.youtube.com/watch?v=mFzelplwHKs</a></p> + + + woowacourse-precourse/kotlin-baseball-6 + 2023-10-23T01:33:36Z + tag:github.com,2023-10-23:/woowacourse-precourse/kotlin-baseball-6 + + <p>숫자 야구 게임 미션을 진행하는 저장소</p><hr><h1>미션 - 숫자 야구</h1> <h2>🔍 진행 방식</h2> <ul> <li>미션은 <strong>기능 요구 사항, 프로그래밍 요구 사항, 과제 진행 요구 사항</strong> 세 가지로 구성되어 있다.</li> <li>세 개의 요구 사항을 만족하기 위해 노력한다. 특히 기능을 구현하기 전에 기능 목록을 만들고, 기능 단위로 커밋 하는 방식으로 진행한다.</li> <li>기능 요구 사항에 기재되지 않은 내용은 스스로 판단하여 구현한다.</li> </ul> <h2>📮 미션 제출 방법</h2> <ul> <li>미션 구현을 완료한 후 GitHub을 통해 제출해야 한다. <ul> <li>GitHub을 활용한 제출 방법은 <a href="https://github.com/woowacourse/woowacourse-docs/tree/master/precourse">프리코스 과제 제출</a> 문서를 참고해 제출한다.</li> </ul> </li> <li>GitHub에 미션을 제출한 후 <a href="https://apply.techcourse.co.kr">우아한테크코스 지원</a> 사이트에 접속하여 프리코스 과제를 제출한다. <ul> <li>자세한 방법은 <a href="https://github.com/woowacourse/woowacourse-docs/tree/master/precourse#%EC%A0%9C%EC%B6%9C-%EA%B0%80%EC%9D%B4%EB%93%9C">제출 가이드</a> 참고</li> <li><strong>Pull Request만 보내고 지원 플랫폼에서 과제를 제출하지 않으면 최종 제출하지 않은 것으로 처리되니 주의한다.</strong></li> </ul> </li> </ul> <h2>🚨 과제 제출 전 체크 리스트 - 0점 방지</h2> <ul> <li>기능 구현을 모두 정상적으로 했더라도 <strong>요구 사항에 명시된 출력값 형식을 지키지 않을 경우 0점으로 처리</strong>한다.</li> <li>기능 구현을 완료한 뒤 아래 가이드에 따라 테스트를 실행했을 때 모든 테스트가 성공하는지 확인한다.</li> <li><strong>테스트가 실패할 경우 0점으로 처리</strong>되므로, 반드시 확인 후 제출한다.</li> </ul> <h3>테스트 실행 가이드</h3> <ul> <li>터미널에서 Mac 또는 Linux 사용자의 경우 <code>./gradlew clean test</code> 명령을 실행하고,<br> Windows 사용자의 경우 <code>gradlew.bat clean test</code> 또는 <code>./gradlew.bat clean test</code> 명령을 실행할 때 모든 테스트가 아래와 같이 통과하는지 확인한다.</li> </ul> <pre><code>BUILD SUCCESSFUL in 0s </code></pre> <hr> <h2>🚀 기능 요구 사항</h2> <p>기본적으로 1부터 9까지 서로 다른 수로 이루어진 3자리의 수를 맞추는 게임이다.</p> <ul> <li>같은 수가 같은 자리에 있으면 스트라이크, 다른 자리에 있으면 볼, 같은 수가 전혀 없으면 낫싱이란 힌트를 얻고, 그 힌트를 이용해서 먼저 상대방(컴퓨터)의 수를 맞추면 승리한다. <ul> <li>예) 상대방(컴퓨터)의 수가 425일 때 <ul> <li>123을 제시한 경우 : 1스트라이크</li> <li>456을 제시한 경우 : 1볼 1스트라이크</li> <li>789를 제시한 경우 : 낫싱</li> </ul> </li> </ul> </li> <li>위 숫자 야구 게임에서 상대방의 역할을 컴퓨터가 한다. 컴퓨터는 1에서 9까지 서로 다른 임의의 수 3개를 선택한다. 게임 플레이어는 컴퓨터가 생각하고 있는 서로 다른 3개의 숫자를 입력하고, 컴퓨터는 입력한 숫자에 대한 결과를 출력한다.</li> <li>이 같은 과정을 반복해 컴퓨터가 선택한 3개의 숫자를 모두 맞히면 게임이 종료된다.</li> <li>게임을 종료한 후 게임을 다시 시작하거나 완전히 종료할 수 있다.</li> <li>사용자가 잘못된 값을 입력할 경우 <code>IllegalArgumentException</code>을 발생시킨 후 애플리케이션은 종료되어야 한다.</li> </ul> <h3>입출력 요구 사항</h3> <h4>입력</h4> <ul> <li>서로 다른 3자리의 수</li> <li>게임이 끝난 경우 재시작/종료를 구분하는 1과 2 중 하나의 수</li> </ul> <h4>출력</h4> <ul> <li>입력한 수에 대한 결과를 볼, 스트라이크 개수로 표시</li> </ul> <pre><code>1볼 1스트라이크 </code></pre> <ul> <li>하나도 없는 경우</li> </ul> <pre><code>낫싱 </code></pre> <ul> <li>3개의 숫자를 모두 맞힐 경우</li> </ul> <pre><code>3스트라이크 3개의 숫자를 모두 맞히셨습니다! 게임 종료 </code></pre> <ul> <li>게임 시작 문구 출력</li> </ul> <pre><code>숫자 야구 게임을 시작합니다. </code></pre> <h4>실행 결과 예시</h4> <pre><code>숫자 야구 게임을 시작합니다. 숫자를 입력해주세요 : 123 1볼 1스트라이크 숫자를 입력해주세요 : 145 1볼 숫자를 입력해주세요 : 671 2볼 숫자를 입력해주세요 : 216 1스트라이크 숫자를 입력해주세요 : 713 3스트라이크 3개의 숫자를 모두 맞히셨습니다! 게임 종료 게임을 새로 시작하려면 1, 종료하려면 2를 입력하세요. 1 숫자를 입력해주세요 : 123 1볼 ... </code></pre> <hr> <h2>🎯 프로그래밍 요구 사항</h2> <ul> <li>Kotlin 1.9.0에서 실행 가능해야 한다. <strong>Kotlin 1.9.0에서 정상적으로 동작하지 않을 경우 0점 처리한다.</strong></li> <li><strong>Java 코드가 아닌 Kotlin 코드로만 구현해야 한다.</strong></li> <li>프로그램 실행의 시작점은 <code>Application</code>의 <code>main()</code>이다.</li> <li><code>build.gradle(.kts)</code>을 변경할 수 없고, 외부 라이브러리를 사용하지 않는다.</li> <li><a href="https://github.com/woowacourse/woowacourse-docs/tree/main/styleguide/kotlin">Kotlin 코드 컨벤션</a> 가이드를 준수하며 프로그래밍한다.</li> <li>프로그램 종료 시 <code>System.exit()</code>를 호출하지 않는다.</li> <li>프로그램 구현이 완료되면 <code>ApplicationTest</code>의 모든 테스트가 성공해야 한다. <strong>테스트가 실패할 경우 0점 처리한다.</strong></li> <li>프로그래밍 요구 사항에서 달리 명시하지 않는 한 파일, 패키지 이름을 수정하거나 이동하지 않는다.</li> </ul> <h3>라이브러리</h3> <ul> <li><code>camp.nextstep.edu.missionutils</code>에서 제공하는 <code>Randoms</code> 및 <code>Console</code> API를 사용하여 구현해야 한다. <ul> <li>Random 값 추출은 <code>camp.nextstep.edu.missionutils.Randoms</code>의 <code>pickNumberInRange()</code>를 활용한다.</li> <li>사용자가 입력하는 값은 <code>camp.nextstep.edu.missionutils.Console</code>의 <code>readLine()</code>을 활용한다.</li> </ul> </li> </ul> <h4>사용 예시</h4> <pre><code class="language-kotlin">val computer = mutableListOf() while (computer.size() &lt; 3) { val randomNumber = Randoms.pickNumberInRange(1, 9) if (!computer.contains(randomNumber)) { computer.add(randomNumber) } } </code></pre> <hr> <h2>✏️ 과제 진행 요구 사항</h2> <ul> <li>미션은 <a href="https://github.com/woowacourse-precourse/kotlin-baseball-6">kotlin-baseball</a> 저장소를 Fork &amp; Clone해 시작한다.</li> <li><strong>기능을 구현하기 전 <code>docs/README.md</code>에 구현할 기능 목록을 정리</strong>해 추가한다.</li> <li>과제 진행 및 제출 방법은 <a href="https://github.com/woowacourse/woowacourse-docs/tree/master/precourse">프리코스 과제 제출</a> 문서를 참고한다.</li> </ul> \ No newline at end of file diff --git a/kotlin/weekly/index.xml b/kotlin/weekly/index.xml deleted file mode 100644 index 2dd5e710698..00000000000 --- a/kotlin/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Kotlin Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:10Z - Weekly Trending of Kotlin in GitHub - - - MM2-0/Kvaesitso - 2023-10-22T01:55:10Z - tag:github.com,2023-10-22:/MM2-0/Kvaesitso - - <p>A FOSS Android launcher</p><hr><h1>Kvaesitso</h1> <img src="https://raw.githubusercontent.com/MM2-0/Kvaesitso/main/assets/icons/ic_launcher.png" width="128"> <p>Kvaesitso is a search focused, free and open source launcher for Android.</p> <p><a href="https://kvaesitso.mm20.de">Website and documentation</a></p> <h2>Installation</h2> <h3>Using an F-Droid client and MM20's repo</h3> <p>The preferred way of installation is using the <a href="https://f-droid.org">F-Droid</a> application. That way you will always be notified about updates. Kvaesitso is available in the official F-Droid repository, but all features depending on non-foss external APIs were removed. For feature-complete builds you can add <a href="https://fdroid.mm20.de">MM20's repository</a>. Just scan the code below or open the link on your phone:</p> <img src="https://fdroid.mm20.de/repo/index.png" width="150" alt="QR code"> <p><a href="https://fdroid.mm20.de/repo/">https://fdroid.mm20.de/repo/</a></p> <p>The same version is also available in <a href="https://apt.izzysoft.de/fdroid/index/apk/de.mm20.launcher2.release">IzzyOnDroid's repository</a>.</p> <h3>Manual installation</h3> <p>You can also download the latest release from the <a href="https://github.com/MM2-0/Kvaesitso/releases/latest">releases page</a> and install it manually.</p> <h2>Report issues</h2> <p>If you notice any bugs or issues create a new issue in the <a href="https://github.com/MM2-0/Kvaesitso/issues">issue tracker</a>. Before you do, please search the existing issues for any similar issues. Please include any relevant information such as steps to reproduce, stack traces, logs, and device information. These information can be founder under Settings &gt; Debug &gt; Crash reporter and Settings &gt; Debug &gt; Export debug information.</p> <h2>Feature requests</h2> <p>If you have an idea for a new feature, just create a new issue. However, there is no guarantee that they will be implemented. If it's important for you, consider implementing it yourself, see <a href="https://raw.githubusercontent.com/MM2-0/Kvaesitso/main/#contribute">contribute</a>.</p> <h2>Contribute</h2> <p>Contributions are always welcome. If you want to fix any existing issues or implement smaller new features just create a new pull request. If you plan to implement any (bigger) new features, please create an issue first so we can discuss if and how this feature should be implemented.</p> <p>If you want to help translating, see <a href="https://kvaesitso.mm20.de/docs/contributor-guide/i18n">how to translate the project.</a></p> <a href="https://i18n.mm20.de/engage/kvaesitso/"> <img src="https://i18n.mm20.de/widgets/kvaesitso/-/287x66-grey.png" alt="Translation Status"> </a> <h2>Links</h2> <ul> <li>User guide: <a href="https://kvaesitso.mm20.de/docs/user-guide">https://kvaesitso.mm20.de/docs/user-guide</a></li> <li>F-Droid-Repository: <a href="https://fdroid.mm20.de">https://fdroid.mm20.de</a></li> <li>Archive (non-free pre-1.0 releases): <a href="https://github.com/MM2-0/Quaesitio-Archive">https://github.com/MM2-0/Quaesitio-Archive</a></li> </ul> <h2>Thanks to</h2> <ul> <li><a href="https://github.com/EliotAku">@EliotAku</a> for the app icon</li> <li>All <a href="https://github.com/MM2-0/Kvaesitso/graphs/contributors">translators and code contributors</a></li> </ul> <h2>License</h2> <p>This software is free software licensed under the GNU General Public License 3.0.</p> <pre><code> Copyright (C) 2021–2023 MM2-0 and the Kvaesitso contributors This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see &lt;https://www.gnu.org/licenses/&gt;. </code></pre> - - \ No newline at end of file diff --git a/krl/daily/index.xml b/krl/daily/index.xml index 3e9ae3225ec..e96eeebf415 100644 --- a/krl/daily/index.xml +++ b/krl/daily/index.xml @@ -1,7 +1,7 @@ GitHub KRL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:49Z + 2023-10-23T01:33:32Z Daily Trending of KRL in GitHub \ No newline at end of file diff --git a/krl/weekly/index.xml b/krl/weekly/index.xml deleted file mode 100644 index 1fd1b6e9de3..00000000000 --- a/krl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub KRL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:05Z - Weekly Trending of KRL in GitHub - - \ No newline at end of file diff --git a/kusto/daily/index.xml b/kusto/daily/index.xml index ef9f2a99de5..f4d9b638eb8 100644 --- a/kusto/daily/index.xml +++ b/kusto/daily/index.xml @@ -1,7 +1,7 @@ GitHub Kusto Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:48Z + 2023-10-23T01:33:33Z Daily Trending of Kusto in GitHub \ No newline at end of file diff --git a/kusto/weekly/index.xml b/kusto/weekly/index.xml deleted file mode 100644 index fc9aafaccb8..00000000000 --- a/kusto/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Kusto Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:06Z - Weekly Trending of Kusto in GitHub - - \ No newline at end of file diff --git a/kvlang/daily/index.xml b/kvlang/daily/index.xml index 7e53639e89e..f1b5a8916bb 100644 --- a/kvlang/daily/index.xml +++ b/kvlang/daily/index.xml @@ -1,7 +1,7 @@ GitHub kvlang Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:58Z + 2023-10-23T01:33:41Z Daily Trending of kvlang in GitHub \ No newline at end of file diff --git a/kvlang/weekly/index.xml b/kvlang/weekly/index.xml deleted file mode 100644 index 0431e71bd9f..00000000000 --- a/kvlang/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub kvlang Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:19Z - Weekly Trending of kvlang in GitHub - - \ No newline at end of file diff --git a/labview/daily/index.xml b/labview/daily/index.xml index cac83db9664..0ec17dac4d8 100644 --- a/labview/daily/index.xml +++ b/labview/daily/index.xml @@ -1,7 +1,7 @@ GitHub LabVIEW Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:01Z + 2023-10-23T01:33:43Z Daily Trending of LabVIEW in GitHub \ No newline at end of file diff --git a/labview/weekly/index.xml b/labview/weekly/index.xml deleted file mode 100644 index 9dfb4b9eefc..00000000000 --- a/labview/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LabVIEW Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:16Z - Weekly Trending of LabVIEW in GitHub - - \ No newline at end of file diff --git a/lark/daily/index.xml b/lark/daily/index.xml index fccbba10cb1..b8d54996182 100644 --- a/lark/daily/index.xml +++ b/lark/daily/index.xml @@ -1,7 +1,7 @@ GitHub Lark Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:35:59Z + 2023-10-23T01:33:44Z Daily Trending of Lark in GitHub \ No newline at end of file diff --git a/lark/weekly/index.xml b/lark/weekly/index.xml deleted file mode 100644 index d1332d85952..00000000000 --- a/lark/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Lark Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:18Z - Weekly Trending of Lark in GitHub - - \ No newline at end of file diff --git a/lasso/daily/index.xml b/lasso/daily/index.xml index 439204a5797..1971ee94857 100644 --- a/lasso/daily/index.xml +++ b/lasso/daily/index.xml @@ -1,7 +1,7 @@ GitHub Lasso Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:00Z + 2023-10-23T01:33:42Z Daily Trending of Lasso in GitHub \ No newline at end of file diff --git a/lasso/weekly/index.xml b/lasso/weekly/index.xml deleted file mode 100644 index d3221045b71..00000000000 --- a/lasso/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Lasso Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:17Z - Weekly Trending of Lasso in GitHub - - \ No newline at end of file diff --git a/latte/daily/index.xml b/latte/daily/index.xml index 5f054792e41..fe8a67d73d2 100644 --- a/latte/daily/index.xml +++ b/latte/daily/index.xml @@ -1,7 +1,7 @@ GitHub Latte Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:02Z + 2023-10-23T01:33:46Z Daily Trending of Latte in GitHub \ No newline at end of file diff --git a/latte/weekly/index.xml b/latte/weekly/index.xml deleted file mode 100644 index eeca2171c0f..00000000000 --- a/latte/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Latte Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:21Z - Weekly Trending of Latte in GitHub - - \ No newline at end of file diff --git a/lean/daily/index.xml b/lean/daily/index.xml index 4ffece38640..d739ced75a8 100644 --- a/lean/daily/index.xml +++ b/lean/daily/index.xml @@ -1,7 +1,14 @@ GitHub Lean Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:05Z + 2023-10-23T01:33:47Z Daily Trending of Lean in GitHub + + dwrensha/compfiles + 2023-10-23T01:33:47Z + tag:github.com,2023-10-23:/dwrensha/compfiles + + <p>Catalog Of Math Problems Formalized In Lean</p><hr> + \ No newline at end of file diff --git a/lean/weekly/index.xml b/lean/weekly/index.xml deleted file mode 100644 index f00ddb7b18f..00000000000 --- a/lean/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Lean Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:23Z - Weekly Trending of Lean in GitHub - - - digama0/lean4lean - 2023-10-22T01:55:23Z - tag:github.com,2023-10-22:/digama0/lean4lean - - <p>Lean 4 kernel / 'external checker' written in Lean 4</p><hr> - - \ No newline at end of file diff --git a/less/daily/index.xml b/less/daily/index.xml index 7bc7e1f5efd..313193bcefd 100644 --- a/less/daily/index.xml +++ b/less/daily/index.xml @@ -1,7 +1,7 @@ GitHub Less Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:03Z + 2023-10-23T01:33:49Z Daily Trending of Less in GitHub \ No newline at end of file diff --git a/less/weekly/index.xml b/less/weekly/index.xml deleted file mode 100644 index 702fecd0b20..00000000000 --- a/less/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Less Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:20Z - Weekly Trending of Less in GitHub - - \ No newline at end of file diff --git a/lex/daily/index.xml b/lex/daily/index.xml index 5a54a9b2067..608bc4e74c4 100644 --- a/lex/daily/index.xml +++ b/lex/daily/index.xml @@ -1,7 +1,7 @@ GitHub Lex Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:04Z + 2023-10-23T01:33:45Z Daily Trending of Lex in GitHub \ No newline at end of file diff --git a/lex/weekly/index.xml b/lex/weekly/index.xml deleted file mode 100644 index c6df398551e..00000000000 --- a/lex/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Lex Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:22Z - Weekly Trending of Lex in GitHub - - \ No newline at end of file diff --git a/lfe/daily/index.xml b/lfe/daily/index.xml index f495fc48b47..d400a43cca5 100644 --- a/lfe/daily/index.xml +++ b/lfe/daily/index.xml @@ -1,7 +1,7 @@ GitHub LFE Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:09Z + 2023-10-23T01:33:51Z Daily Trending of LFE in GitHub \ No newline at end of file diff --git a/lfe/weekly/index.xml b/lfe/weekly/index.xml deleted file mode 100644 index 3bf6f03017c..00000000000 --- a/lfe/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LFE Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:24Z - Weekly Trending of LFE in GitHub - - \ No newline at end of file diff --git a/ligolang/daily/index.xml b/ligolang/daily/index.xml index fc2d5e60466..927892e59d8 100644 --- a/ligolang/daily/index.xml +++ b/ligolang/daily/index.xml @@ -1,7 +1,7 @@ GitHub LigoLANG Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:07Z + 2023-10-23T01:33:52Z Daily Trending of LigoLANG in GitHub \ No newline at end of file diff --git a/ligolang/weekly/index.xml b/ligolang/weekly/index.xml deleted file mode 100644 index 36462b4157d..00000000000 --- a/ligolang/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LigoLANG Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:27Z - Weekly Trending of LigoLANG in GitHub - - \ No newline at end of file diff --git a/lilypond/daily/index.xml b/lilypond/daily/index.xml index e12602c945d..f2a919479d1 100644 --- a/lilypond/daily/index.xml +++ b/lilypond/daily/index.xml @@ -1,7 +1,7 @@ GitHub LilyPond Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:08Z + 2023-10-23T01:33:51Z Daily Trending of LilyPond in GitHub \ No newline at end of file diff --git a/lilypond/weekly/index.xml b/lilypond/weekly/index.xml deleted file mode 100644 index 659dccddacd..00000000000 --- a/lilypond/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LilyPond Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:25Z - Weekly Trending of LilyPond in GitHub - - \ No newline at end of file diff --git a/limbo/daily/index.xml b/limbo/daily/index.xml index 74866972277..0c0f5be258d 100644 --- a/limbo/daily/index.xml +++ b/limbo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Limbo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:06Z + 2023-10-23T01:33:50Z Daily Trending of Limbo in GitHub \ No newline at end of file diff --git a/limbo/weekly/index.xml b/limbo/weekly/index.xml deleted file mode 100644 index 47b78211f48..00000000000 --- a/limbo/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Limbo Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:26Z - Weekly Trending of Limbo in GitHub - - \ No newline at end of file diff --git a/linker-script/daily/index.xml b/linker-script/daily/index.xml index f7ca6717f41..85cf99886ee 100644 --- a/linker-script/daily/index.xml +++ b/linker-script/daily/index.xml @@ -1,7 +1,7 @@ GitHub Linker Script Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:11Z + 2023-10-23T01:33:56Z Daily Trending of Linker Script in GitHub \ No newline at end of file diff --git a/linker-script/weekly/index.xml b/linker-script/weekly/index.xml deleted file mode 100644 index e0d3f3081ff..00000000000 --- a/linker-script/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Linker Script Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:29Z - Weekly Trending of Linker Script in GitHub - - \ No newline at end of file diff --git a/linux-kernel-module/daily/index.xml b/linux-kernel-module/daily/index.xml index ca1fbe453a8..30c8d0378eb 100644 --- a/linux-kernel-module/daily/index.xml +++ b/linux-kernel-module/daily/index.xml @@ -1,7 +1,7 @@ GitHub Linux Kernel Module Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:12Z + 2023-10-23T01:33:53Z Daily Trending of Linux Kernel Module in GitHub \ No newline at end of file diff --git a/linux-kernel-module/weekly/index.xml b/linux-kernel-module/weekly/index.xml deleted file mode 100644 index 4aa1af408c8..00000000000 --- a/linux-kernel-module/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Linux Kernel Module Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:31Z - Weekly Trending of Linux Kernel Module in GitHub - - \ No newline at end of file diff --git a/liquid/daily/index.xml b/liquid/daily/index.xml index 292e8914233..fa0bef08e6a 100644 --- a/liquid/daily/index.xml +++ b/liquid/daily/index.xml @@ -1,14 +1,7 @@ GitHub Liquid Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:13Z + 2023-10-23T01:33:55Z Daily Trending of Liquid in GitHub - - netz39/n39-jekyll-webpage - 2023-10-22T01:36:13Z - tag:github.com,2023-10-22:/netz39/n39-jekyll-webpage - - <p>Webseite des Netz39 e.V.</p><hr> - \ No newline at end of file diff --git a/liquid/weekly/index.xml b/liquid/weekly/index.xml deleted file mode 100644 index ec81d4601d2..00000000000 --- a/liquid/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Liquid Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:30Z - Weekly Trending of Liquid in GitHub - - \ No newline at end of file diff --git a/literate-agda/daily/index.xml b/literate-agda/daily/index.xml index 8babb9107b1..709a28ea825 100644 --- a/literate-agda/daily/index.xml +++ b/literate-agda/daily/index.xml @@ -1,7 +1,7 @@ GitHub Literate Agda Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:10Z + 2023-10-23T01:33:54Z Daily Trending of Literate Agda in GitHub \ No newline at end of file diff --git a/literate-agda/weekly/index.xml b/literate-agda/weekly/index.xml deleted file mode 100644 index d15523ac1ed..00000000000 --- a/literate-agda/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Literate Agda Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:28Z - Weekly Trending of Literate Agda in GitHub - - \ No newline at end of file diff --git a/literate-coffeescript/daily/index.xml b/literate-coffeescript/daily/index.xml index e16bcfc5200..54ba76dbe93 100644 --- a/literate-coffeescript/daily/index.xml +++ b/literate-coffeescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub Literate CoffeeScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:16Z + 2023-10-23T01:34:00Z Daily Trending of Literate CoffeeScript in GitHub \ No newline at end of file diff --git a/literate-coffeescript/weekly/index.xml b/literate-coffeescript/weekly/index.xml deleted file mode 100644 index 4ab7e8acc6b..00000000000 --- a/literate-coffeescript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Literate CoffeeScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:34Z - Weekly Trending of Literate CoffeeScript in GitHub - - \ No newline at end of file diff --git a/literate-haskell/daily/index.xml b/literate-haskell/daily/index.xml index 2afa673e076..567a2c7f0d1 100644 --- a/literate-haskell/daily/index.xml +++ b/literate-haskell/daily/index.xml @@ -1,7 +1,7 @@ GitHub Literate Haskell Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:14Z + 2023-10-23T01:33:59Z Daily Trending of Literate Haskell in GitHub \ No newline at end of file diff --git a/literate-haskell/weekly/index.xml b/literate-haskell/weekly/index.xml deleted file mode 100644 index 6c077db6f68..00000000000 --- a/literate-haskell/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Literate Haskell Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:33Z - Weekly Trending of Literate Haskell in GitHub - - \ No newline at end of file diff --git a/livescript/daily/index.xml b/livescript/daily/index.xml index d14996654bc..046a53b1d2f 100644 --- a/livescript/daily/index.xml +++ b/livescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub LiveScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:17Z + 2023-10-23T01:33:57Z Daily Trending of LiveScript in GitHub \ No newline at end of file diff --git a/livescript/weekly/index.xml b/livescript/weekly/index.xml deleted file mode 100644 index 1ce929fe4bc..00000000000 --- a/livescript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LiveScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:32Z - Weekly Trending of LiveScript in GitHub - - \ No newline at end of file diff --git a/llvm/daily/index.xml b/llvm/daily/index.xml index e0918ab3bb0..0b3787d560b 100644 --- a/llvm/daily/index.xml +++ b/llvm/daily/index.xml @@ -1,7 +1,7 @@ GitHub LLVM Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:15Z + 2023-10-23T01:33:58Z Daily Trending of LLVM in GitHub \ No newline at end of file diff --git a/llvm/weekly/index.xml b/llvm/weekly/index.xml deleted file mode 100644 index 644c4de6787..00000000000 --- a/llvm/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LLVM Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:33Z - Weekly Trending of LLVM in GitHub - - \ No newline at end of file diff --git a/logos/daily/index.xml b/logos/daily/index.xml index 8685b845e1c..17623ffb88c 100644 --- a/logos/daily/index.xml +++ b/logos/daily/index.xml @@ -1,7 +1,14 @@ GitHub Logos Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:19Z + 2023-10-23T01:34:01Z Daily Trending of Logos in GitHub + + stujones11/minetest-classes + 2023-10-23T01:34:01Z + tag:github.com,2023-10-23:/stujones11/minetest-classes + + <p>Player classes for minetest.</p><hr> + \ No newline at end of file diff --git a/logos/weekly/index.xml b/logos/weekly/index.xml deleted file mode 100644 index a8cddd9a882..00000000000 --- a/logos/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Logos Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:38Z - Weekly Trending of Logos in GitHub - - - ravodev/bed-and-breakfast - 2023-10-22T01:55:38Z - tag:github.com,2023-10-22:/ravodev/bed-and-breakfast - - <p>Bed and breakfast database application in Java.</p><hr> - - \ No newline at end of file diff --git a/logtalk/daily/index.xml b/logtalk/daily/index.xml index 26253d7ab23..b88b0365e38 100644 --- a/logtalk/daily/index.xml +++ b/logtalk/daily/index.xml @@ -1,7 +1,7 @@ GitHub Logtalk Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:20Z + 2023-10-23T01:34:04Z Daily Trending of Logtalk in GitHub \ No newline at end of file diff --git a/logtalk/weekly/index.xml b/logtalk/weekly/index.xml deleted file mode 100644 index 24a58177537..00000000000 --- a/logtalk/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Logtalk Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:36Z - Weekly Trending of Logtalk in GitHub - - \ No newline at end of file diff --git a/lolcode/daily/index.xml b/lolcode/daily/index.xml index 950bdb33ac4..bac39765cbd 100644 --- a/lolcode/daily/index.xml +++ b/lolcode/daily/index.xml @@ -1,7 +1,7 @@ GitHub LOLCODE Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:20Z + 2023-10-23T01:34:02Z Daily Trending of LOLCODE in GitHub \ No newline at end of file diff --git a/lolcode/weekly/index.xml b/lolcode/weekly/index.xml deleted file mode 100644 index 37e62edbe68..00000000000 --- a/lolcode/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LOLCODE Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:35Z - Weekly Trending of LOLCODE in GitHub - - \ No newline at end of file diff --git a/lookml/daily/index.xml b/lookml/daily/index.xml index 39c845efea2..132ef2d3c0b 100644 --- a/lookml/daily/index.xml +++ b/lookml/daily/index.xml @@ -1,7 +1,7 @@ GitHub LookML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:21Z + 2023-10-23T01:34:03Z Daily Trending of LookML in GitHub \ No newline at end of file diff --git a/lookml/weekly/index.xml b/lookml/weekly/index.xml deleted file mode 100644 index e86bd1c58a4..00000000000 --- a/lookml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LookML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:37Z - Weekly Trending of LookML in GitHub - - \ No newline at end of file diff --git a/loomscript/daily/index.xml b/loomscript/daily/index.xml index 4134ea630ae..b6ea63c22f5 100644 --- a/loomscript/daily/index.xml +++ b/loomscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub LoomScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:24Z + 2023-10-23T01:34:07Z Daily Trending of LoomScript in GitHub \ No newline at end of file diff --git a/loomscript/weekly/index.xml b/loomscript/weekly/index.xml deleted file mode 100644 index 30c77eb9513..00000000000 --- a/loomscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LoomScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:39Z - Weekly Trending of LoomScript in GitHub - - \ No newline at end of file diff --git a/lsl/daily/index.xml b/lsl/daily/index.xml index 52a3d3ded23..cddbe8b8141 100644 --- a/lsl/daily/index.xml +++ b/lsl/daily/index.xml @@ -1,7 +1,7 @@ GitHub LSL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:24Z + 2023-10-23T01:34:06Z Daily Trending of LSL in GitHub \ No newline at end of file diff --git a/lsl/weekly/index.xml b/lsl/weekly/index.xml deleted file mode 100644 index 496f76087ac..00000000000 --- a/lsl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LSL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:41Z - Weekly Trending of LSL in GitHub - - \ No newline at end of file diff --git a/ltspice-symbol/daily/index.xml b/ltspice-symbol/daily/index.xml index 0a4dcac2d9c..25e9079795b 100644 --- a/ltspice-symbol/daily/index.xml +++ b/ltspice-symbol/daily/index.xml @@ -1,7 +1,7 @@ GitHub LTspice Symbol Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:23Z + 2023-10-23T01:34:05Z Daily Trending of LTspice Symbol in GitHub \ No newline at end of file diff --git a/ltspice-symbol/weekly/index.xml b/ltspice-symbol/weekly/index.xml deleted file mode 100644 index 46a853ad85f..00000000000 --- a/ltspice-symbol/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LTspice Symbol Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:40Z - Weekly Trending of LTspice Symbol in GitHub - - \ No newline at end of file diff --git a/lua/daily/index.xml b/lua/daily/index.xml index d3362dd953d..ba6fcd98a12 100644 --- a/lua/daily/index.xml +++ b/lua/daily/index.xml @@ -1,21 +1,7 @@ GitHub Lua Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:28Z + 2023-10-23T01:34:10Z Daily Trending of Lua in GitHub - - vxpm/ferris.nvim - 2023-10-22T01:36:28Z - tag:github.com,2023-10-22:/vxpm/ferris.nvim - - <p>Neovim plugin for interacting with Rust-Analyzer's LSP extensions</p><hr><h1>ferris.nvim 🦀</h1> <p>a neovim plugin for interacting with Rust Analyzer's LSP extensions</p> <h2>installation &amp; usage</h2> <p><em>note: this plugin has only been tested with neovim 0.9+</em></p> <p>with lazy.nvim:</p> <pre><code class="language-lua">{ 'vxpm/ferris.nvim' opts = { -- your options here } } </code></pre> <p>the available options (and their default values) are:</p> <pre><code class="language-lua">{ -- If true, will automatically create commands for each LSP method create_commands = true, -- bool -- Handler for URL's (used for opening documentation) url_handler = "xdg-open", -- string | function(string) } </code></pre> <p>you can also manually call the methods by requiring them:</p> <pre><code class="language-lua">local view_mem_layout = require("ferris.methods.view_memory_layout") -- call the returned function to execute the request view_mem_layout() </code></pre> <p>don't forget to call <code>setup</code> on <code>require("ferris")</code> beforehand, though! (not needed if you're using the <code>opts</code> field in lazy.nvim)</p> <h2>available methods</h2> <p><sub><sup>please do not mind the terrible screenshots... i was too lazy</sup></sub></p> <details> <summary>Expand Macro</summary> <p><code>require("ferris.methods.expand_macro")</code></p> <p><a href="https://postimg.cc/G4rBPYbV"><img src="https://i.postimg.cc/8zfhSB9p/image.png" alt="image.png"></a></p> </details> <details> <summary>Join Lines</summary> <p><code>require("ferris.methods.join_lines")</code></p> </details> <details> <summary>View HIR</summary> <p><code>require("ferris.methods.view_hir")</code></p> <p><a href="https://postimg.cc/bSxydCSJ"><img src="https://i.postimg.cc/nr5CRNHv/image.png" alt="image.png"></a></p> </details> <details> <summary>View MIR</summary> <p><code>require("ferris.methods.view_mir")</code></p> <p><a href="https://postimg.cc/wt19DTRn"><img src="https://i.postimg.cc/R0Rq5WSC/image.png" alt="image.png"></a></p> </details> <details> <summary>View Memory Layout</summary> <p><code>require("ferris.methods.view_memory_layout")</code></p> <p><a href="https://postimg.cc/56f1nmFB"><img src="https://i.postimg.cc/02wQ5WkB/image.png" alt="image.png"></a></p> </details> <details> <summary>View Item Tree</summary> <p><code>require("ferris.methods.view_item_tree")</code></p> </details> <details> <summary>View Syntax Tree</summary> <p><code>require("ferris.methods.view_syntax_tree")</code></p> </details> <details> <summary>Open Cargo.toml</summary> <p><code>require("ferris.methods.open_cargo_toml")</code></p> </details> <details> <summary>Open Parent Module</summary> <p><code>require("ferris.methods.open_parent_module")</code></p> </details> <details> <summary>Open Documentation</summary> <p><code>require("ferris.methods.open_documentation")</code></p> </details> <details> <summary>Reload Workspace</summary> <p><code>require("ferris.methods.reload_workspace")</code></p> </details> <details> <summary>Rebuild Macros</summary> <p><code>require("ferris.methods.rebuild_macros")</code></p> </details> <h2>special thanks</h2> <p><a href="https://github.com/simrat39/rust-tools.nvim">rust-tools</a> for being the reason why this plugins exists. initially, i didn't want any of the features it offered <em>except</em> for recursive expansion of macros, so i made <a href="https://github.com/vxpm/rust-expand-macro.nvim">rust-expand-macro.nvim</a>.</p> <p>however, i found myself wanting to use other methods as well, which led me to making ferris!</p> <p>in comparison to rust-tools, this plugin is "simpler": it does not configure Rust Analyzer for you nor does it provide debugging utilities. i myself consider this a benefit, but it's up to your judgement.</p> - - - joechrisellis/lsp-format-modifications.nvim - 2023-10-22T01:36:28Z - tag:github.com,2023-10-22:/joechrisellis/lsp-format-modifications.nvim - - <p>LSP formatting, but only on modified text regions.</p><hr><h1>lsp-format-modifications.nvim</h1> <p>Use LSP to format only modified text in Neovim (like <a href="https://github.com/Microsoft/vscode/issues/44075">VSCode's format modifications feature</a>).</p> <h1>What problem does this solve?</h1> <p>Many projects suggest contributors use an autoformatter to keep code style consistent.</p> <p>However, in larger projects with legacy code, there can be plenty of places where the style deviates from the autoformatter's preference.</p> <p>In that case, you don't want to format entire files — you'll be left with very noisy diffs!</p> <p>You also don't want to comb through all of the changes you've made, manually applying the autoformatter before you commit. We are too lazy for that!</p> <p>One reasonable solution is to run the autoformatter over the changed lines as defined by the revision control system. <a href="https://github.com/Microsoft/vscode/issues/44075">VSCode can do this</a> — and this is something that I didn't find an analog for in Neovim. Hence, this plugin!</p> <h1>Getting started</h1> <h2>Requirements</h2> <ul> <li><strong>Neovim ≥0.8 is required</strong>. Neovim 0.8 has a more flexible API for LSP formatting, which this plugin leverages.</li> <li>Any LSP server that you want to use with this plugin must support the <a href="https://learn.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.languageserver.protocol.servercapabilities.documentrangeformattingprovider?view=visualstudiosdk-2022"><code>DocumentRangeFormattingProvider</code> server capability</a> — <code>lsp-format-modifications.nvim</code> will warn if an unsupported LSP server is used.</li> <li><a href="https://github.com/nvim-lua/plenary.nvim">nvim-lua/plenary.nvim</a> is required (hint: you are probably already using this).</li> </ul> <h2>Installation</h2> <p>Install with your favourite plugin manager — for example, with <a href="https://github.com/junegunn/vim-plug">junegunn/vim-plug</a>:</p> <pre><code class="language-vimscript">Plug 'nvim-lua/plenary.nvim' Plug 'joechrisellis/lsp-format-modifications.nvim' </code></pre> <h2>Configuration and usage</h2> <p>In terms of basic usage:</p> <pre><code class="language-lua">require"lsp-format-modifications".format_modifications(&lt;lsp-client&gt;, &lt;bufnr&gt;, &lt;config&gt;) </code></pre> <p>... will format the modifications in the buffer with ID <code>&lt;bufnr&gt;</code> using LSP client <code>&lt;lsp-client&gt;</code>, according to the options specified in <code>&lt;config&gt;</code>.</p> <p>For convenience, you may choose to create a user command that does this for you. For example, in your LSP <code>on_attach</code> function:</p> <pre><code class="language-lua">local on_attach = function(client, bufnr) -- your usual configuration — options, keymaps, etc -- ... vim.api.nvim_buf_create_user_command( bufnr, "FormatModifications", function() local lsp_format_modifications = require"lsp-format-modifications" lsp_format_modifications.format_modifications(client, bufnr) end, {} ) end </code></pre> <p>If you'd prefer to instead format-on-save, try:</p> <pre><code class="language-lua">local on_attach = function(client, bufnr) -- your usual configuration — options, keymaps, etc -- ... local augroup_id = vim.api.nvim_create_augroup( "FormatModificationsDocumentFormattingGroup", { clear = false } ) vim.api.nvim_clear_autocmds({ group = augroup_id, buffer = bufnr }) vim.api.nvim_create_autocmd( { "BufWritePre" }, { group = augroup_id, buffer = bufnr, callback = function() local lsp_format_modifications = require"lsp-format-modifications" lsp_format_modifications.format_modifications(client, bufnr) end, } ) end </code></pre> <h3>Options</h3> <p>A complete configuration table is below:</p> <pre><code class="language-lua">local config = { -- The callback that is invoked to compute a diff so that we know what to -- format. This defaults to vim.diff with some sensible defaults. diff_callback = function(compareee_content, buf_content) return vim.diff(compareee_content, buf_content, {...}) end, -- The callback that is invoked to actually do the formatting on the changed -- hunks. Defaults to vim.lsp.buf.format (requires Neovim ≥ 0.8). format_callback = vim.lsp.buf.format, -- The VCS to use. Possible options are: "git", "hg". Defaults to "git". vcs = "git", -- EXPERIMENTAL: when true, do not attempt to format the outermost empty -- lines in diff hunks, and do not touch hunks consisting of entirely empty -- lines. For some LSP servers, this can result in more intuitive behaviour. experimental_empty_line_handling = false } </code></pre> <h2>Caveats and issues</h2> <p><strong>Please raise an issue if something is wrong — but read this section first.</strong></p> <p>In my experience with LSP, I've found that most language servers have imperfect support for range formatting. A lot of the time, selecting and formatting a range results in the formatter also capturing some of the surrounding text. I'm not totally sure why this is, but the upshot is that <em>for some language servers, <code>:FormatModifications</code> might capture more than just the lines in the hunk</em>. This is usually not a big deal.</p> <p>A good way to test whether <code>lsp-format-modifications.nvim</code> is playing up, or whether it's just your language server, is to visually select the changed range and hit <code>gq</code> (invoking <code>formatexpr</code>). If you see the same problem, it's more likely to be problem with your language server.</p> <h2>Supported VCSs</h2> <table> <thead> <tr> <th>VCS</th> <th>Works with <code>lsp-format-modifications.nvim</code>?</th> <th>More info</th> </tr> </thead> <tbody> <tr> <td><a href="https://git-scm.com">Git</a></td> <td>✅</td> <td></td> </tr> <tr> <td><a href="https://www.mercurial-scm.org">Mercurial</a></td> <td>✅</td> <td>Implemented in <a href="https://github.com/joechrisellis/lsp-format-modifications.nvim/pull/3">this PR</a></td> </tr> </tbody> </table> <p>Adding support for a new VCS is fairly simple (see <a href="https://github.com/joechrisellis/lsp-format-modifications.nvim/pull/3">this PR</a> for an example) — pull requests are very welcome.</p> <h2>Tested language servers</h2> <table> <thead> <tr> <th>Language server</th> <th>Works with <code>lsp-format-modifications.nvim</code>?</th> <th>More info</th> </tr> </thead> <tbody> <tr> <td><code>clangd</code></td> <td>✅</td> <td></td> </tr> <tr> <td><code>tsserver</code></td> <td>✅</td> <td></td> </tr> <tr> <td><code>null_ls</code></td> <td>✅</td> <td>See <a href="https://github.com/joechrisellis/lsp-format-modifications.nvim/issues/1#issuecomment-1275302811">this issue</a> for how to get set up — only sources that support range formatting will work.</td> </tr> <tr> <td><code>lua-language-server</code></td> <td>✅</td> <td>For best results, set the <code>experimental_empty_line_handling</code> option in config.</td> </tr> </tbody> </table> - \ No newline at end of file diff --git a/m/daily/index.xml b/m/daily/index.xml index 7c9b2b7ef87..eb2f92b8729 100644 --- a/m/daily/index.xml +++ b/m/daily/index.xml @@ -1,7 +1,7 @@ GitHub M Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:45Z + 2023-10-23T01:34:24Z Daily Trending of M in GitHub \ No newline at end of file diff --git a/m/weekly/index.xml b/m/weekly/index.xml deleted file mode 100644 index aa458b86a3f..00000000000 --- a/m/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub M Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:58Z - Weekly Trending of M in GitHub - - \ No newline at end of file diff --git a/m4/daily/index.xml b/m4/daily/index.xml index fa1f97c6c45..45d7c4dd9d1 100644 --- a/m4/daily/index.xml +++ b/m4/daily/index.xml @@ -1,7 +1,7 @@ GitHub M4 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:42Z + 2023-10-23T01:34:22Z Daily Trending of M4 in GitHub \ No newline at end of file diff --git a/m4/weekly/index.xml b/m4/weekly/index.xml deleted file mode 100644 index 2c86e5c012f..00000000000 --- a/m4/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub M4 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:00Z - Weekly Trending of M4 in GitHub - - \ No newline at end of file diff --git a/m4sugar/daily/index.xml b/m4sugar/daily/index.xml index fa51080419b..76f1c094f92 100644 --- a/m4sugar/daily/index.xml +++ b/m4sugar/daily/index.xml @@ -1,7 +1,7 @@ GitHub M4Sugar Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:44Z + 2023-10-23T01:34:23Z Daily Trending of M4Sugar in GitHub \ No newline at end of file diff --git a/m4sugar/weekly/index.xml b/m4sugar/weekly/index.xml deleted file mode 100644 index b1cf0a0fe0c..00000000000 --- a/m4sugar/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub M4Sugar Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:59Z - Weekly Trending of M4Sugar in GitHub - - \ No newline at end of file diff --git a/macaulay2/daily/index.xml b/macaulay2/daily/index.xml index 65134af9346..55a5ca1c94e 100644 --- a/macaulay2/daily/index.xml +++ b/macaulay2/daily/index.xml @@ -1,7 +1,7 @@ GitHub Macaulay2 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:43Z + 2023-10-23T01:34:25Z Daily Trending of Macaulay2 in GitHub \ No newline at end of file diff --git a/macaulay2/weekly/index.xml b/macaulay2/weekly/index.xml deleted file mode 100644 index 33b6af874dd..00000000000 --- a/macaulay2/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Macaulay2 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:55:59Z - Weekly Trending of Macaulay2 in GitHub - - \ No newline at end of file diff --git a/makefile/daily/index.xml b/makefile/daily/index.xml index 032e13040b6..903af6964f3 100644 --- a/makefile/daily/index.xml +++ b/makefile/daily/index.xml @@ -1,14 +1,14 @@ GitHub Makefile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:53Z + 2023-10-23T01:34:33Z Daily Trending of Makefile in GitHub - mojoto/morrow.mojo - 2023-10-22T01:36:53Z - tag:github.com,2023-10-22:/mojoto/morrow.mojo - - <p>Human-friendly date & time for Mojo 🔥</p><hr> + ThankYouMario/proprietary_vendor_xiaomi + 2023-10-23T01:34:33Z + tag:github.com,2023-10-23:/ThankYouMario/proprietary_vendor_xiaomi + + <p></p><hr> \ No newline at end of file diff --git a/makefile/weekly/index.xml b/makefile/weekly/index.xml deleted file mode 100644 index 5356d6ba8e5..00000000000 --- a/makefile/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Makefile Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:08Z - Weekly Trending of Makefile in GitHub - - - yzharko/spbspu-labs-2023-aap-master - 2023-10-22T01:56:08Z - tag:github.com,2023-10-22:/yzharko/spbspu-labs-2023-aap-master - - <p>Лабораторные работы по дисциплине "Алгоритмизация и программирование" групп ПИ[1 | 5 | 6]</p><hr> - - - JAMO-TYPEFACE/Orbit - 2023-10-22T01:56:08Z - tag:github.com,2023-10-22:/JAMO-TYPEFACE/Orbit - - <p>Orbit 2022 by JAMO</p><hr> - - - libopencm3/libopencm3-examples - 2023-10-22T01:56:08Z - tag:github.com,2023-10-22:/libopencm3/libopencm3-examples - - <p>Simple example projects showing how to use libopencm3.</p><hr> - - \ No newline at end of file diff --git a/mako/daily/index.xml b/mako/daily/index.xml index 448cc462f1b..f8c54ef9218 100644 --- a/mako/daily/index.xml +++ b/mako/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mako Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:46Z + 2023-10-23T01:34:26Z Daily Trending of Mako in GitHub \ No newline at end of file diff --git a/mako/weekly/index.xml b/mako/weekly/index.xml deleted file mode 100644 index af35f11e5fb..00000000000 --- a/mako/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Mako Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:02Z - Weekly Trending of Mako in GitHub - - \ No newline at end of file diff --git a/markdown/daily/index.xml b/markdown/daily/index.xml index dafbbb6c952..6117509bc44 100644 --- a/markdown/daily/index.xml +++ b/markdown/daily/index.xml @@ -1,7 +1,7 @@ GitHub Markdown Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:50Z + 2023-10-23T01:34:30Z Daily Trending of Markdown in GitHub \ No newline at end of file diff --git a/markdown/weekly/index.xml b/markdown/weekly/index.xml deleted file mode 100644 index a5ddf757ef5..00000000000 --- a/markdown/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Markdown Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:05Z - Weekly Trending of Markdown in GitHub - - \ No newline at end of file diff --git a/marko/daily/index.xml b/marko/daily/index.xml index 3bd0b5933ee..4c137a34284 100644 --- a/marko/daily/index.xml +++ b/marko/daily/index.xml @@ -1,7 +1,7 @@ GitHub Marko Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:47Z + 2023-10-23T01:34:27Z Daily Trending of Marko in GitHub \ No newline at end of file diff --git a/marko/weekly/index.xml b/marko/weekly/index.xml deleted file mode 100644 index 92bb9fc5aef..00000000000 --- a/marko/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Marko Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:02Z - Weekly Trending of Marko in GitHub - - \ No newline at end of file diff --git a/mask/daily/index.xml b/mask/daily/index.xml index 4400a117f24..f0db2d60e9d 100644 --- a/mask/daily/index.xml +++ b/mask/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mask Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:55Z + 2023-10-23T01:34:36Z Daily Trending of Mask in GitHub \ No newline at end of file diff --git a/mask/weekly/index.xml b/mask/weekly/index.xml deleted file mode 100644 index 33e765c06d0..00000000000 --- a/mask/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Mask Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:11Z - Weekly Trending of Mask in GitHub - - \ No newline at end of file diff --git a/mathematica/daily/index.xml b/mathematica/daily/index.xml index 62b98cc263e..a4e3968df43 100644 --- a/mathematica/daily/index.xml +++ b/mathematica/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mathematica Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:56Z + 2023-10-23T01:34:35Z Daily Trending of Mathematica in GitHub \ No newline at end of file diff --git a/mathematica/weekly/index.xml b/mathematica/weekly/index.xml deleted file mode 100644 index d0a5f8f5e11..00000000000 --- a/mathematica/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Mathematica Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:09Z - Weekly Trending of Mathematica in GitHub - - \ No newline at end of file diff --git a/matlab/daily/index.xml b/matlab/daily/index.xml index 0af44b3588f..a5f6bd45a03 100644 --- a/matlab/daily/index.xml +++ b/matlab/daily/index.xml @@ -1,7 +1,7 @@ GitHub MATLAB Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:58Z + 2023-10-23T01:34:38Z Daily Trending of MATLAB in GitHub \ No newline at end of file diff --git a/matlab/weekly/index.xml b/matlab/weekly/index.xml deleted file mode 100644 index 3af0e2450b7..00000000000 --- a/matlab/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub MATLAB Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:13Z - Weekly Trending of MATLAB in GitHub - - - euroargodev/sensor_metadata_json - 2023-10-22T01:56:13Z - tag:github.com,2023-10-22:/euroargodev/sensor_metadata_json - - <p>Tools, schemas and example files for metadata for ocean platforms and sensors</p><hr> - - - aglatz/mineral-deposit-segmentation-pipeline - 2023-10-22T01:56:13Z - tag:github.com,2023-10-22:/aglatz/mineral-deposit-segmentation-pipeline - - <p>A pipeline for segmenting mineral deposits on clinical magnet resonance imaging (MRI) volumes.</p><hr> - - - pnnl/perfect - 2023-10-22T01:56:13Z - tag:github.com,2023-10-22:/pnnl/perfect - - <p>PERFECT Suite</p><hr> - - \ No newline at end of file diff --git a/maven-pom/daily/index.xml b/maven-pom/daily/index.xml index 49d99cc5832..c062d592779 100644 --- a/maven-pom/daily/index.xml +++ b/maven-pom/daily/index.xml @@ -1,7 +1,7 @@ GitHub Maven POM Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:54Z + 2023-10-23T01:34:34Z Daily Trending of Maven POM in GitHub \ No newline at end of file diff --git a/maven-pom/weekly/index.xml b/maven-pom/weekly/index.xml deleted file mode 100644 index 2aad46fc3ad..00000000000 --- a/maven-pom/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Maven POM Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:10Z - Weekly Trending of Maven POM in GitHub - - \ No newline at end of file diff --git a/max/daily/index.xml b/max/daily/index.xml index 2bb61971ad0..fa9af594f6e 100644 --- a/max/daily/index.xml +++ b/max/daily/index.xml @@ -1,7 +1,7 @@ GitHub Max Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:36:59Z + 2023-10-23T01:34:40Z Daily Trending of Max in GitHub \ No newline at end of file diff --git a/max/weekly/index.xml b/max/weekly/index.xml deleted file mode 100644 index 2d05fba0e35..00000000000 --- a/max/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Max Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:15Z - Weekly Trending of Max in GitHub - - - millerpeterson/phi-launchpad-max - 2023-10-22T01:56:15Z - tag:github.com,2023-10-22:/millerpeterson/phi-launchpad-max - - <p>Max/MSP abstractions for working with the Novation Launchpad.</p><hr> - - \ No newline at end of file diff --git a/maxscript/daily/index.xml b/maxscript/daily/index.xml index 607ad0a6f86..f47cdf84d94 100644 --- a/maxscript/daily/index.xml +++ b/maxscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub MAXScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:00Z + 2023-10-23T01:34:39Z Daily Trending of MAXScript in GitHub \ No newline at end of file diff --git a/maxscript/weekly/index.xml b/maxscript/weekly/index.xml deleted file mode 100644 index cd2dbbe78fb..00000000000 --- a/maxscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MAXScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:14Z - Weekly Trending of MAXScript in GitHub - - \ No newline at end of file diff --git a/mcfunction/daily/index.xml b/mcfunction/daily/index.xml index cdb7739a368..4d677de5920 100644 --- a/mcfunction/daily/index.xml +++ b/mcfunction/daily/index.xml @@ -1,7 +1,7 @@ GitHub mcfunction Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:01Z + 2023-10-23T01:34:41Z Daily Trending of mcfunction in GitHub \ No newline at end of file diff --git a/mcfunction/weekly/index.xml b/mcfunction/weekly/index.xml deleted file mode 100644 index afdccd9b452..00000000000 --- a/mcfunction/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub mcfunction Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:16Z - Weekly Trending of mcfunction in GitHub - - \ No newline at end of file diff --git a/mercury/daily/index.xml b/mercury/daily/index.xml index c31d2d35722..cb0a754b8d5 100644 --- a/mercury/daily/index.xml +++ b/mercury/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mercury Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:09Z + 2023-10-23T01:34:45Z Daily Trending of Mercury in GitHub \ No newline at end of file diff --git a/mercury/weekly/index.xml b/mercury/weekly/index.xml deleted file mode 100644 index 471bfa92709..00000000000 --- a/mercury/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Mercury Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:22Z - Weekly Trending of Mercury in GitHub - - \ No newline at end of file diff --git a/meson/daily/index.xml b/meson/daily/index.xml index 8cbe1759703..513643ba52e 100644 --- a/meson/daily/index.xml +++ b/meson/daily/index.xml @@ -1,7 +1,7 @@ GitHub Meson Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:07Z + 2023-10-23T01:34:48Z Daily Trending of Meson in GitHub \ No newline at end of file diff --git a/meson/weekly/index.xml b/meson/weekly/index.xml deleted file mode 100644 index 794a550e021..00000000000 --- a/meson/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Meson Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:23Z - Weekly Trending of Meson in GitHub - - \ No newline at end of file diff --git a/metal/daily/index.xml b/metal/daily/index.xml index 1591108fa3f..06c60d634a5 100644 --- a/metal/daily/index.xml +++ b/metal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Metal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:11Z + 2023-10-23T01:34:49Z Daily Trending of Metal in GitHub \ No newline at end of file diff --git a/metal/weekly/index.xml b/metal/weekly/index.xml deleted file mode 100644 index 01c8518762a..00000000000 --- a/metal/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Metal Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:24Z - Weekly Trending of Metal in GitHub - - \ No newline at end of file diff --git a/microsoft-developer-studio-project/daily/index.xml b/microsoft-developer-studio-project/daily/index.xml index 0509570a1e6..04f3951cd89 100644 --- a/microsoft-developer-studio-project/daily/index.xml +++ b/microsoft-developer-studio-project/daily/index.xml @@ -1,7 +1,7 @@ GitHub Microsoft Developer Studio Project Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:12Z + 2023-10-23T01:34:51Z Daily Trending of Microsoft Developer Studio Project in GitHub \ No newline at end of file diff --git a/microsoft-developer-studio-project/weekly/index.xml b/microsoft-developer-studio-project/weekly/index.xml deleted file mode 100644 index 3f91711fd66..00000000000 --- a/microsoft-developer-studio-project/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Microsoft Developer Studio Project Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:26Z - Weekly Trending of Microsoft Developer Studio Project in GitHub - - \ No newline at end of file diff --git a/microsoft-visual-studio-solution/daily/index.xml b/microsoft-visual-studio-solution/daily/index.xml index 74f9f8b7f8e..a9275efa6da 100644 --- a/microsoft-visual-studio-solution/daily/index.xml +++ b/microsoft-visual-studio-solution/daily/index.xml @@ -1,7 +1,7 @@ GitHub Microsoft Visual Studio Solution Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:10Z + 2023-10-23T01:34:50Z Daily Trending of Microsoft Visual Studio Solution in GitHub \ No newline at end of file diff --git a/microsoft-visual-studio-solution/weekly/index.xml b/microsoft-visual-studio-solution/weekly/index.xml deleted file mode 100644 index 58d2d117a63..00000000000 --- a/microsoft-visual-studio-solution/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Microsoft Visual Studio Solution Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:25Z - Weekly Trending of Microsoft Visual Studio Solution in GitHub - - \ No newline at end of file diff --git a/minid/daily/index.xml b/minid/daily/index.xml index 8461c35d851..6e87e778fe9 100644 --- a/minid/daily/index.xml +++ b/minid/daily/index.xml @@ -1,7 +1,7 @@ GitHub MiniD Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:13Z + 2023-10-23T01:34:52Z Daily Trending of MiniD in GitHub \ No newline at end of file diff --git a/minid/weekly/index.xml b/minid/weekly/index.xml deleted file mode 100644 index fe9541ef6ed..00000000000 --- a/minid/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MiniD Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:27Z - Weekly Trending of MiniD in GitHub - - \ No newline at end of file diff --git a/mint/daily/index.xml b/mint/daily/index.xml index 7eac1dca6bb..1547e816856 100644 --- a/mint/daily/index.xml +++ b/mint/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mint Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:17Z + 2023-10-23T01:34:55Z Daily Trending of Mint in GitHub \ No newline at end of file diff --git a/mint/weekly/index.xml b/mint/weekly/index.xml deleted file mode 100644 index f8824097421..00000000000 --- a/mint/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Mint Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:30Z - Weekly Trending of Mint in GitHub - - \ No newline at end of file diff --git a/mirah/daily/index.xml b/mirah/daily/index.xml index f39a5ea032b..344ed6f617e 100644 --- a/mirah/daily/index.xml +++ b/mirah/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mirah Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:15Z + 2023-10-23T01:34:56Z Daily Trending of Mirah in GitHub \ No newline at end of file diff --git a/mirah/weekly/index.xml b/mirah/weekly/index.xml deleted file mode 100644 index af840aa5ada..00000000000 --- a/mirah/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Mirah Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:28Z - Weekly Trending of Mirah in GitHub - - \ No newline at end of file diff --git a/mirc-script/daily/index.xml b/mirc-script/daily/index.xml index 03ae2242289..77df9e1db89 100644 --- a/mirc-script/daily/index.xml +++ b/mirc-script/daily/index.xml @@ -1,7 +1,7 @@ GitHub mIRC Script Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:14Z + 2023-10-23T01:34:53Z Daily Trending of mIRC Script in GitHub \ No newline at end of file diff --git a/mirc-script/weekly/index.xml b/mirc-script/weekly/index.xml deleted file mode 100644 index 1381b4d7844..00000000000 --- a/mirc-script/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub mIRC Script Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:29Z - Weekly Trending of mIRC Script in GitHub - - \ No newline at end of file diff --git a/mlir/daily/index.xml b/mlir/daily/index.xml index 58bea9d61c8..3fdb52c6107 100644 --- a/mlir/daily/index.xml +++ b/mlir/daily/index.xml @@ -1,7 +1,7 @@ GitHub MLIR Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:21Z + 2023-10-23T01:34:59Z Daily Trending of MLIR in GitHub \ No newline at end of file diff --git a/mlir/weekly/index.xml b/mlir/weekly/index.xml deleted file mode 100644 index ff679a6d3cb..00000000000 --- a/mlir/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MLIR Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:32Z - Weekly Trending of MLIR in GitHub - - \ No newline at end of file diff --git a/modelica/daily/index.xml b/modelica/daily/index.xml index 6be86a752ad..9ad6e3f3a20 100644 --- a/modelica/daily/index.xml +++ b/modelica/daily/index.xml @@ -1,7 +1,7 @@ GitHub Modelica Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:20Z + 2023-10-23T01:34:59Z Daily Trending of Modelica in GitHub \ No newline at end of file diff --git a/modelica/weekly/index.xml b/modelica/weekly/index.xml deleted file mode 100644 index 3c1f6c1641e..00000000000 --- a/modelica/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Modelica Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:33Z - Weekly Trending of Modelica in GitHub - - \ No newline at end of file diff --git a/modula-2/daily/index.xml b/modula-2/daily/index.xml index 298be609e38..f2d416d9e38 100644 --- a/modula-2/daily/index.xml +++ b/modula-2/daily/index.xml @@ -1,7 +1,7 @@ GitHub Modula-2 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:18Z + 2023-10-23T01:34:57Z Daily Trending of Modula-2 in GitHub \ No newline at end of file diff --git a/modula-2/weekly/index.xml b/modula-2/weekly/index.xml deleted file mode 100644 index 9d9e212d199..00000000000 --- a/modula-2/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Modula-2 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:32Z - Weekly Trending of Modula-2 in GitHub - - \ No newline at end of file diff --git a/modula-3/daily/index.xml b/modula-3/daily/index.xml index e1bb008b0b3..406edb7c101 100644 --- a/modula-3/daily/index.xml +++ b/modula-3/daily/index.xml @@ -1,7 +1,7 @@ GitHub Modula-3 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:19Z + 2023-10-23T01:34:58Z Daily Trending of Modula-3 in GitHub \ No newline at end of file diff --git a/modula-3/weekly/index.xml b/modula-3/weekly/index.xml deleted file mode 100644 index d16017030bb..00000000000 --- a/modula-3/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Modula-3 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:34Z - Weekly Trending of Modula-3 in GitHub - - \ No newline at end of file diff --git a/module-management-system/daily/index.xml b/module-management-system/daily/index.xml index b13c0e60a13..65927e5b48f 100644 --- a/module-management-system/daily/index.xml +++ b/module-management-system/daily/index.xml @@ -1,7 +1,7 @@ GitHub Module Management System Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:23Z + 2023-10-23T01:35:01Z Daily Trending of Module Management System in GitHub \ No newline at end of file diff --git a/module-management-system/weekly/index.xml b/module-management-system/weekly/index.xml deleted file mode 100644 index dc34f950167..00000000000 --- a/module-management-system/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Module Management System Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:35Z - Weekly Trending of Module Management System in GitHub - - \ No newline at end of file diff --git a/monkey-c/daily/index.xml b/monkey-c/daily/index.xml index b1f120a4d8b..35e308d69f9 100644 --- a/monkey-c/daily/index.xml +++ b/monkey-c/daily/index.xml @@ -1,7 +1,7 @@ GitHub Monkey C Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:22Z + 2023-10-23T01:35:03Z Daily Trending of Monkey C in GitHub \ No newline at end of file diff --git a/monkey-c/weekly/index.xml b/monkey-c/weekly/index.xml deleted file mode 100644 index 9826ae19c56..00000000000 --- a/monkey-c/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Monkey C Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:38Z - Weekly Trending of Monkey C in GitHub - - \ No newline at end of file diff --git a/monkey/daily/index.xml b/monkey/daily/index.xml index dff35019dcc..e12a6a62936 100644 --- a/monkey/daily/index.xml +++ b/monkey/daily/index.xml @@ -1,7 +1,7 @@ GitHub Monkey Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:25Z + 2023-10-23T01:35:02Z Daily Trending of Monkey in GitHub \ No newline at end of file diff --git a/monkey/weekly/index.xml b/monkey/weekly/index.xml deleted file mode 100644 index 305dcc883f7..00000000000 --- a/monkey/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Monkey Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:36Z - Weekly Trending of Monkey in GitHub - - \ No newline at end of file diff --git a/moocode/daily/index.xml b/moocode/daily/index.xml index a7b52f4c127..83659fe9732 100644 --- a/moocode/daily/index.xml +++ b/moocode/daily/index.xml @@ -1,7 +1,7 @@ GitHub Moocode Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:24Z + 2023-10-23T01:35:01Z Daily Trending of Moocode in GitHub \ No newline at end of file diff --git a/moocode/weekly/index.xml b/moocode/weekly/index.xml deleted file mode 100644 index 640cf515793..00000000000 --- a/moocode/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Moocode Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:37Z - Weekly Trending of Moocode in GitHub - - \ No newline at end of file diff --git a/moonscript/daily/index.xml b/moonscript/daily/index.xml index ccaea5dc969..e7795b6930e 100644 --- a/moonscript/daily/index.xml +++ b/moonscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub MoonScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:28Z + 2023-10-23T01:35:05Z Daily Trending of MoonScript in GitHub \ No newline at end of file diff --git a/moonscript/weekly/index.xml b/moonscript/weekly/index.xml deleted file mode 100644 index 67ff70de471..00000000000 --- a/moonscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MoonScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:41Z - Weekly Trending of MoonScript in GitHub - - \ No newline at end of file diff --git a/motoko/daily/index.xml b/motoko/daily/index.xml index 1dc8418934c..d0313f54f69 100644 --- a/motoko/daily/index.xml +++ b/motoko/daily/index.xml @@ -1,7 +1,7 @@ GitHub Motoko Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:26Z + 2023-10-23T01:35:07Z Daily Trending of Motoko in GitHub \ No newline at end of file diff --git a/motoko/weekly/index.xml b/motoko/weekly/index.xml deleted file mode 100644 index 36b6e8b2fff..00000000000 --- a/motoko/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Motoko Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:39Z - Weekly Trending of Motoko in GitHub - - \ No newline at end of file diff --git a/motorola-68k-assembly/daily/index.xml b/motorola-68k-assembly/daily/index.xml index a58df3df0f2..c5fa23d6b75 100644 --- a/motorola-68k-assembly/daily/index.xml +++ b/motorola-68k-assembly/daily/index.xml @@ -1,7 +1,7 @@ GitHub Motorola 68K Assembly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:27Z + 2023-10-23T01:35:04Z Daily Trending of Motorola 68K Assembly in GitHub \ No newline at end of file diff --git a/motorola-68k-assembly/weekly/index.xml b/motorola-68k-assembly/weekly/index.xml deleted file mode 100644 index 0601907f1af..00000000000 --- a/motorola-68k-assembly/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Motorola 68K Assembly Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:40Z - Weekly Trending of Motorola 68K Assembly in GitHub - - \ No newline at end of file diff --git a/mql4/daily/index.xml b/mql4/daily/index.xml index a6b1f009f48..f0148d1ed34 100644 --- a/mql4/daily/index.xml +++ b/mql4/daily/index.xml @@ -1,7 +1,7 @@ GitHub MQL4 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:30Z + 2023-10-23T01:35:10Z Daily Trending of MQL4 in GitHub \ No newline at end of file diff --git a/mql4/weekly/index.xml b/mql4/weekly/index.xml deleted file mode 100644 index 59a90d79c68..00000000000 --- a/mql4/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MQL4 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:45Z - Weekly Trending of MQL4 in GitHub - - \ No newline at end of file diff --git a/mql5/daily/index.xml b/mql5/daily/index.xml index 561b2710603..f9b303fe6bd 100644 --- a/mql5/daily/index.xml +++ b/mql5/daily/index.xml @@ -1,7 +1,7 @@ GitHub MQL5 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:33Z + 2023-10-23T01:35:11Z Daily Trending of MQL5 in GitHub \ No newline at end of file diff --git a/mql5/weekly/index.xml b/mql5/weekly/index.xml deleted file mode 100644 index 9ca49a9a72f..00000000000 --- a/mql5/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MQL5 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:44Z - Weekly Trending of MQL5 in GitHub - - \ No newline at end of file diff --git a/mtml/daily/index.xml b/mtml/daily/index.xml index 9d74401297f..da76a59dcf1 100644 --- a/mtml/daily/index.xml +++ b/mtml/daily/index.xml @@ -1,7 +1,7 @@ GitHub MTML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:31Z + 2023-10-23T01:35:08Z Daily Trending of MTML in GitHub \ No newline at end of file diff --git a/mtml/weekly/index.xml b/mtml/weekly/index.xml deleted file mode 100644 index c054f8afee3..00000000000 --- a/mtml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MTML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:44Z - Weekly Trending of MTML in GitHub - - \ No newline at end of file diff --git a/muf/daily/index.xml b/muf/daily/index.xml index f0aea26672c..779c417d098 100644 --- a/muf/daily/index.xml +++ b/muf/daily/index.xml @@ -1,7 +1,7 @@ GitHub MUF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:32Z + 2023-10-23T01:35:09Z Daily Trending of MUF in GitHub \ No newline at end of file diff --git a/muf/weekly/index.xml b/muf/weekly/index.xml deleted file mode 100644 index a1070252333..00000000000 --- a/muf/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MUF Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:43Z - Weekly Trending of MUF in GitHub - - \ No newline at end of file diff --git a/mupad/daily/index.xml b/mupad/daily/index.xml index b0603806120..7373fc86f1e 100644 --- a/mupad/daily/index.xml +++ b/mupad/daily/index.xml @@ -1,7 +1,7 @@ GitHub mupad Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:35Z + 2023-10-23T01:35:14Z Daily Trending of mupad in GitHub \ No newline at end of file diff --git a/mupad/weekly/index.xml b/mupad/weekly/index.xml deleted file mode 100644 index 68181ae288a..00000000000 --- a/mupad/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub mupad Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:47Z - Weekly Trending of mupad in GitHub - - \ No newline at end of file diff --git a/muse/daily/index.xml b/muse/daily/index.xml index 6490c556d8f..3061b57568c 100644 --- a/muse/daily/index.xml +++ b/muse/daily/index.xml @@ -1,7 +1,7 @@ GitHub Muse Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:34Z + 2023-10-23T01:35:12Z Daily Trending of Muse in GitHub \ No newline at end of file diff --git a/muse/weekly/index.xml b/muse/weekly/index.xml deleted file mode 100644 index 8b5998f1f0b..00000000000 --- a/muse/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Muse Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:46Z - Weekly Trending of Muse in GitHub - - \ No newline at end of file diff --git a/mustache/daily/index.xml b/mustache/daily/index.xml index 010dcf31c3f..348eabd503a 100644 --- a/mustache/daily/index.xml +++ b/mustache/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mustache Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:39Z + 2023-10-23T01:35:16Z Daily Trending of Mustache in GitHub \ No newline at end of file diff --git a/mustache/weekly/index.xml b/mustache/weekly/index.xml deleted file mode 100644 index e446aa24262..00000000000 --- a/mustache/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Mustache Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:51Z - Weekly Trending of Mustache in GitHub - - - mend/renovate-ce-ee - 2023-10-22T01:56:51Z - tag:github.com,2023-10-22:/mend/renovate-ce-ee - - <p>Mend Renovate On-Premises Documentation & Examples</p><hr> - - \ No newline at end of file diff --git a/myghty/daily/index.xml b/myghty/daily/index.xml index 629fa82fd19..8f297386f14 100644 --- a/myghty/daily/index.xml +++ b/myghty/daily/index.xml @@ -1,7 +1,7 @@ GitHub Myghty Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:36Z + 2023-10-23T01:35:13Z Daily Trending of Myghty in GitHub \ No newline at end of file diff --git a/myghty/weekly/index.xml b/myghty/weekly/index.xml deleted file mode 100644 index 53523c995ea..00000000000 --- a/myghty/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Myghty Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:48Z - Weekly Trending of Myghty in GitHub - - \ No newline at end of file diff --git a/nanorc/daily/index.xml b/nanorc/daily/index.xml index 202814cf48b..def20fb3ee2 100644 --- a/nanorc/daily/index.xml +++ b/nanorc/daily/index.xml @@ -1,7 +1,7 @@ GitHub nanorc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:40Z + 2023-10-23T01:35:19Z Daily Trending of nanorc in GitHub \ No newline at end of file diff --git a/nanorc/weekly/index.xml b/nanorc/weekly/index.xml deleted file mode 100644 index 7111c8b1a46..00000000000 --- a/nanorc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub nanorc Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:52Z - Weekly Trending of nanorc in GitHub - - \ No newline at end of file diff --git a/nasl/daily/index.xml b/nasl/daily/index.xml index 758c6b97a90..2750fb68244 100644 --- a/nasl/daily/index.xml +++ b/nasl/daily/index.xml @@ -1,7 +1,7 @@ GitHub NASL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:43Z + 2023-10-23T01:35:20Z Daily Trending of NASL in GitHub \ No newline at end of file diff --git a/nasl/weekly/index.xml b/nasl/weekly/index.xml deleted file mode 100644 index 99997e8c387..00000000000 --- a/nasl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NASL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:55Z - Weekly Trending of NASL in GitHub - - \ No newline at end of file diff --git a/ncl/daily/index.xml b/ncl/daily/index.xml index 6caa1a16b7e..c54c4ffd5b4 100644 --- a/ncl/daily/index.xml +++ b/ncl/daily/index.xml @@ -1,7 +1,7 @@ GitHub NCL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:42Z + 2023-10-23T01:35:17Z Daily Trending of NCL in GitHub \ No newline at end of file diff --git a/ncl/weekly/index.xml b/ncl/weekly/index.xml deleted file mode 100644 index 252a87c153e..00000000000 --- a/ncl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NCL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:54Z - Weekly Trending of NCL in GitHub - - \ No newline at end of file diff --git a/nearley/daily/index.xml b/nearley/daily/index.xml index 97292570810..c51ef013dc3 100644 --- a/nearley/daily/index.xml +++ b/nearley/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nearley Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:48Z + 2023-10-23T01:35:21Z Daily Trending of Nearley in GitHub \ No newline at end of file diff --git a/nearley/weekly/index.xml b/nearley/weekly/index.xml deleted file mode 100644 index 977e8e846ac..00000000000 --- a/nearley/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Nearley Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:58Z - Weekly Trending of Nearley in GitHub - - \ No newline at end of file diff --git a/nemerle/daily/index.xml b/nemerle/daily/index.xml index f122667551c..7bf1441ad1d 100644 --- a/nemerle/daily/index.xml +++ b/nemerle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nemerle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:46Z + 2023-10-23T01:35:23Z Daily Trending of Nemerle in GitHub \ No newline at end of file diff --git a/nemerle/weekly/index.xml b/nemerle/weekly/index.xml deleted file mode 100644 index f43a4e0e805..00000000000 --- a/nemerle/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Nemerle Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:58Z - Weekly Trending of Nemerle in GitHub - - \ No newline at end of file diff --git a/neon/daily/index.xml b/neon/daily/index.xml index ce0e738e614..1c66f9f6096 100644 --- a/neon/daily/index.xml +++ b/neon/daily/index.xml @@ -1,7 +1,7 @@ GitHub NEON Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:47Z + 2023-10-23T01:35:22Z Daily Trending of NEON in GitHub \ No newline at end of file diff --git a/neon/weekly/index.xml b/neon/weekly/index.xml deleted file mode 100644 index 0e57ddbee23..00000000000 --- a/neon/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NEON Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:56Z - Weekly Trending of NEON in GitHub - - \ No newline at end of file diff --git a/nesc/daily/index.xml b/nesc/daily/index.xml index 97459e8f1fb..d448b0ccf1a 100644 --- a/nesc/daily/index.xml +++ b/nesc/daily/index.xml @@ -1,7 +1,7 @@ GitHub nesC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:45Z + 2023-10-23T01:35:24Z Daily Trending of nesC in GitHub \ No newline at end of file diff --git a/nesc/weekly/index.xml b/nesc/weekly/index.xml deleted file mode 100644 index 81cd812238e..00000000000 --- a/nesc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub nesC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:56:57Z - Weekly Trending of nesC in GitHub - - \ No newline at end of file diff --git a/netlinx+erb/daily/index.xml b/netlinx+erb/daily/index.xml index 1a3ff217412..a83a73db8b6 100644 --- a/netlinx+erb/daily/index.xml +++ b/netlinx+erb/daily/index.xml @@ -1,7 +1,7 @@ GitHub NetLinx+ERB Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:51Z + 2023-10-23T01:35:27Z Daily Trending of NetLinx+ERB in GitHub \ No newline at end of file diff --git a/netlinx+erb/weekly/index.xml b/netlinx+erb/weekly/index.xml deleted file mode 100644 index 3a601131192..00000000000 --- a/netlinx+erb/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NetLinx+ERB Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:00Z - Weekly Trending of NetLinx+ERB in GitHub - - \ No newline at end of file diff --git a/netlinx/daily/index.xml b/netlinx/daily/index.xml index ddade4a0f0c..489b3f076ec 100644 --- a/netlinx/daily/index.xml +++ b/netlinx/daily/index.xml @@ -1,7 +1,7 @@ GitHub NetLinx Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:50Z + 2023-10-23T01:35:27Z Daily Trending of NetLinx in GitHub \ No newline at end of file diff --git a/netlinx/weekly/index.xml b/netlinx/weekly/index.xml deleted file mode 100644 index 3c30a577706..00000000000 --- a/netlinx/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NetLinx Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:00Z - Weekly Trending of NetLinx in GitHub - - \ No newline at end of file diff --git a/netlogo/daily/index.xml b/netlogo/daily/index.xml index 0a1e1124e42..23d03c43cb3 100644 --- a/netlogo/daily/index.xml +++ b/netlogo/daily/index.xml @@ -1,7 +1,7 @@ GitHub NetLogo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:49Z + 2023-10-23T01:35:26Z Daily Trending of NetLogo in GitHub \ No newline at end of file diff --git a/netlogo/weekly/index.xml b/netlogo/weekly/index.xml deleted file mode 100644 index 6bab993f7d6..00000000000 --- a/netlogo/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NetLogo Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:02Z - Weekly Trending of NetLogo in GitHub - - \ No newline at end of file diff --git a/newlisp/daily/index.xml b/newlisp/daily/index.xml index 8a35a1bb028..0b5d9dea8c5 100644 --- a/newlisp/daily/index.xml +++ b/newlisp/daily/index.xml @@ -1,7 +1,7 @@ GitHub NewLisp Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:52Z + 2023-10-23T01:35:25Z Daily Trending of NewLisp in GitHub \ No newline at end of file diff --git a/newlisp/weekly/index.xml b/newlisp/weekly/index.xml deleted file mode 100644 index b76491cb924..00000000000 --- a/newlisp/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NewLisp Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:01Z - Weekly Trending of NewLisp in GitHub - - \ No newline at end of file diff --git a/nextflow/daily/index.xml b/nextflow/daily/index.xml index 69c2ed75a8d..2e62f513619 100644 --- a/nextflow/daily/index.xml +++ b/nextflow/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nextflow Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:55Z + 2023-10-23T01:35:30Z Daily Trending of Nextflow in GitHub \ No newline at end of file diff --git a/nextflow/weekly/index.xml b/nextflow/weekly/index.xml deleted file mode 100644 index daaf1ff70a1..00000000000 --- a/nextflow/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Nextflow Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:05Z - Weekly Trending of Nextflow in GitHub - - \ No newline at end of file diff --git a/nginx/daily/index.xml b/nginx/daily/index.xml index 09d79a5fcdf..81a27e888ef 100644 --- a/nginx/daily/index.xml +++ b/nginx/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nginx Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:53Z + 2023-10-23T01:35:30Z Daily Trending of Nginx in GitHub \ No newline at end of file diff --git a/nginx/weekly/index.xml b/nginx/weekly/index.xml deleted file mode 100644 index c51aa0082e5..00000000000 --- a/nginx/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Nginx Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:06Z - Weekly Trending of Nginx in GitHub - - \ No newline at end of file diff --git a/nim/daily/index.xml b/nim/daily/index.xml index 0a78d42764a..e8274c95d92 100644 --- a/nim/daily/index.xml +++ b/nim/daily/index.xml @@ -1,14 +1,7 @@ GitHub Nim Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:56Z + 2023-10-23T01:35:32Z Daily Trending of Nim in GitHub - - nitely/nim-unicodeplus - 2023-10-22T01:37:56Z - tag:github.com,2023-10-22:/nitely/nim-unicodeplus - - <p>Common unicode operations</p><hr> - \ No newline at end of file diff --git a/nim/weekly/index.xml b/nim/weekly/index.xml deleted file mode 100644 index 3ee8a76ff84..00000000000 --- a/nim/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Nim Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:04Z - Weekly Trending of Nim in GitHub - - \ No newline at end of file diff --git a/ninja/daily/index.xml b/ninja/daily/index.xml index 4c1f3f83b01..29301a94699 100644 --- a/ninja/daily/index.xml +++ b/ninja/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ninja Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:54Z + 2023-10-23T01:35:29Z Daily Trending of Ninja in GitHub \ No newline at end of file diff --git a/ninja/weekly/index.xml b/ninja/weekly/index.xml deleted file mode 100644 index e1ed51cb5c7..00000000000 --- a/ninja/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ninja Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:06Z - Weekly Trending of Ninja in GitHub - - \ No newline at end of file diff --git a/nit/daily/index.xml b/nit/daily/index.xml index 3bef563bf8f..d6f6d9c9e42 100644 --- a/nit/daily/index.xml +++ b/nit/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nit Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:58Z + 2023-10-23T01:35:33Z Daily Trending of Nit in GitHub \ No newline at end of file diff --git a/nit/weekly/index.xml b/nit/weekly/index.xml deleted file mode 100644 index 475df218748..00000000000 --- a/nit/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Nit Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:08Z - Weekly Trending of Nit in GitHub - - \ No newline at end of file diff --git a/nix/daily/index.xml b/nix/daily/index.xml index be5102ea79f..e84ead9e730 100644 --- a/nix/daily/index.xml +++ b/nix/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nix Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:01Z + 2023-10-23T01:35:37Z Daily Trending of Nix in GitHub \ No newline at end of file diff --git a/nix/weekly/index.xml b/nix/weekly/index.xml deleted file mode 100644 index 961ea460acd..00000000000 --- a/nix/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Nix Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:11Z - Weekly Trending of Nix in GitHub - - - chayleaf/nixos-router - 2023-10-22T01:57:11Z - tag:github.com,2023-10-22:/chayleaf/nixos-router - - <p>A NixOS router framework</p><hr> - - - freckle/flakes - 2023-10-22T01:57:11Z - tag:github.com,2023-10-22:/freckle/flakes - - <p>Miscellaneous Nix packages</p><hr> - - \ No newline at end of file diff --git a/nl/daily/index.xml b/nl/daily/index.xml index 9f1077c59fb..c2b27b2be2c 100644 --- a/nl/daily/index.xml +++ b/nl/daily/index.xml @@ -1,7 +1,7 @@ GitHub NL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:37:59Z + 2023-10-23T01:35:34Z Daily Trending of NL in GitHub \ No newline at end of file diff --git a/nl/weekly/index.xml b/nl/weekly/index.xml deleted file mode 100644 index 35159ab1c4d..00000000000 --- a/nl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:08Z - Weekly Trending of NL in GitHub - - \ No newline at end of file diff --git a/npm-config/daily/index.xml b/npm-config/daily/index.xml index 0c83e04cab5..c200ed69cd9 100644 --- a/npm-config/daily/index.xml +++ b/npm-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub NPM Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:00Z + 2023-10-23T01:35:35Z Daily Trending of NPM Config in GitHub \ No newline at end of file diff --git a/npm-config/weekly/index.xml b/npm-config/weekly/index.xml deleted file mode 100644 index 3832d3bf7e3..00000000000 --- a/npm-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NPM Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:09Z - Weekly Trending of NPM Config in GitHub - - \ No newline at end of file diff --git a/nsis/daily/index.xml b/nsis/daily/index.xml index d0da3cbbfcf..a7ea2a3be79 100644 --- a/nsis/daily/index.xml +++ b/nsis/daily/index.xml @@ -1,7 +1,7 @@ GitHub NSIS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:03Z + 2023-10-23T01:35:42Z Daily Trending of NSIS in GitHub \ No newline at end of file diff --git a/nsis/weekly/index.xml b/nsis/weekly/index.xml deleted file mode 100644 index d1ddfe4a854..00000000000 --- a/nsis/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NSIS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:13Z - Weekly Trending of NSIS in GitHub - - \ No newline at end of file diff --git a/nu/daily/index.xml b/nu/daily/index.xml index 857b839e74f..98d14f4cdf1 100644 --- a/nu/daily/index.xml +++ b/nu/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nu Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:06Z + 2023-10-23T01:35:39Z Daily Trending of Nu in GitHub \ No newline at end of file diff --git a/nu/weekly/index.xml b/nu/weekly/index.xml deleted file mode 100644 index be7cbd3af63..00000000000 --- a/nu/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Nu Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:13Z - Weekly Trending of Nu in GitHub - - \ No newline at end of file diff --git a/numpy/daily/index.xml b/numpy/daily/index.xml index e80beb8b532..44434bc5885 100644 --- a/numpy/daily/index.xml +++ b/numpy/daily/index.xml @@ -1,7 +1,7 @@ GitHub NumPy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:04Z + 2023-10-23T01:35:40Z Daily Trending of NumPy in GitHub \ No newline at end of file diff --git a/numpy/weekly/index.xml b/numpy/weekly/index.xml deleted file mode 100644 index e855ba342cd..00000000000 --- a/numpy/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NumPy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:15Z - Weekly Trending of NumPy in GitHub - - \ No newline at end of file diff --git a/nunjucks/daily/index.xml b/nunjucks/daily/index.xml index 79686e78269..d6a41351f49 100644 --- a/nunjucks/daily/index.xml +++ b/nunjucks/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nunjucks Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:05Z + 2023-10-23T01:35:39Z Daily Trending of Nunjucks in GitHub \ No newline at end of file diff --git a/nunjucks/weekly/index.xml b/nunjucks/weekly/index.xml deleted file mode 100644 index a119adf454b..00000000000 --- a/nunjucks/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Nunjucks Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:14Z - Weekly Trending of Nunjucks in GitHub - - \ No newline at end of file diff --git a/nwscript/daily/index.xml b/nwscript/daily/index.xml index 9bed925bb3a..b27fcd0e511 100644 --- a/nwscript/daily/index.xml +++ b/nwscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub NWScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:07Z + 2023-10-23T01:35:43Z Daily Trending of NWScript in GitHub \ No newline at end of file diff --git a/nwscript/weekly/index.xml b/nwscript/weekly/index.xml deleted file mode 100644 index b3cb0cf9b45..00000000000 --- a/nwscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NWScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:16Z - Weekly Trending of NWScript in GitHub - - \ No newline at end of file diff --git a/objdump/daily/index.xml b/objdump/daily/index.xml index 055917a3ed5..017c973da70 100644 --- a/objdump/daily/index.xml +++ b/objdump/daily/index.xml @@ -1,7 +1,7 @@ GitHub ObjDump Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:12Z + 2023-10-23T01:35:48Z Daily Trending of ObjDump in GitHub \ No newline at end of file diff --git a/objdump/weekly/index.xml b/objdump/weekly/index.xml deleted file mode 100644 index b3c738c7b34..00000000000 --- a/objdump/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ObjDump Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:20Z - Weekly Trending of ObjDump in GitHub - - \ No newline at end of file diff --git a/object-data-instance-notation/daily/index.xml b/object-data-instance-notation/daily/index.xml index 3aacd0a5fd9..3742237cb6e 100644 --- a/object-data-instance-notation/daily/index.xml +++ b/object-data-instance-notation/daily/index.xml @@ -1,7 +1,7 @@ GitHub Object Data Instance Notation Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:11Z + 2023-10-23T01:35:48Z Daily Trending of Object Data Instance Notation in GitHub \ No newline at end of file diff --git a/object-data-instance-notation/weekly/index.xml b/object-data-instance-notation/weekly/index.xml deleted file mode 100644 index 83582117c41..00000000000 --- a/object-data-instance-notation/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Object Data Instance Notation Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:22Z - Weekly Trending of Object Data Instance Notation in GitHub - - \ No newline at end of file diff --git a/objective-c++/daily/index.xml b/objective-c++/daily/index.xml index 2be2dc994fb..8d1474c73ea 100644 --- a/objective-c++/daily/index.xml +++ b/objective-c++/daily/index.xml @@ -1,7 +1,7 @@ GitHub Objective-C++ Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:15Z + 2023-10-23T01:35:53Z Daily Trending of Objective-C++ in GitHub \ No newline at end of file diff --git a/objective-c++/weekly/index.xml b/objective-c++/weekly/index.xml deleted file mode 100644 index e778571fe0e..00000000000 --- a/objective-c++/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Objective-C++ Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:25Z - Weekly Trending of Objective-C++ in GitHub - - \ No newline at end of file diff --git a/objective-c/daily/index.xml b/objective-c/daily/index.xml index 2518f4dba8b..21fce2c9276 100644 --- a/objective-c/daily/index.xml +++ b/objective-c/daily/index.xml @@ -1,7 +1,21 @@ GitHub Objective-C Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:20Z + 2023-10-23T01:35:56Z Daily Trending of Objective-C in GitHub + + sailthru/sailthru-mobile-ios-sdk + 2023-10-23T01:35:56Z + tag:github.com,2023-10-23:/sailthru/sailthru-mobile-ios-sdk + + <p>The Sailthru Mobile iOS SDK and example projects</p><hr><p><a href="http://img.shields.io/cocoapods/p/SailthruMobile.svg?style=flat"><img src="http://img.shields.io/cocoapods/p/SailthruMobile.svg?style=flat" alt="CocoaPods platforms"></a> <a href="http://img.shields.io/cocoapods/l/SailthruMobile.svg?style=flat"><img src="http://img.shields.io/cocoapods/l/SailthruMobile.svg?style=flat" alt="CocoaPods license"></a> <a href="http://img.shields.io/cocoapods/v/SailthruMobile.svg?style=flat"><img src="http://img.shields.io/cocoapods/v/SailthruMobile.svg?style=flat" alt="CocoaPods pod version"></a> <a href="https://github.com/Carthage/Carthage"><img src="https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat" alt="Carthage compatible"></a></p> <h1>Sailthru Mobile SDK for iOS</h1> <h2>Overview</h2> <p>The Sailthru Mobile SDK for iOS is a drop in library that allows the Sailthru Mobile Marketing platform to integrate with your iOS apps.</p> <p>The integration process usually only takes a few minutes.</p> <p>This project contains the Sailthru Mobile library, as well as an example project that you can use to quickly see some of the more advanced features of the SDK.</p> <h2>Integration</h2> <p>Detailed integration steps can be found in the official Sailthru Mobile documentation: <a href="http://docs.mobile.sailthru.com/docs/ios-integration">http://docs.mobile.sailthru.com/docs/ios-integration</a></p> <h2>Required Frameworks</h2> <p>The Sailthru Mobile SDK requires the following libaries to be linked in your project.</p> <ul> <li>CoreLocation.framework</li> <li>AVFoundation.framework</li> <li>MediaPlayer.framework</li> <li>QuartzCore.framework</li> <li>WebKit.framework</li> </ul> + + + NSAntoine/Artemisia + 2023-10-23T01:35:56Z + tag:github.com,2023-10-23:/NSAntoine/Artemisia + + <p>Beautify your Volume & Brightness HUD.</p><hr><h1>Artemisia</h1> <h2>Beautify your Volume/Brightness HUDs.</h2> <p>Artemisia beautifies your Volume/Brightness HUD by getting rid of the intrusive stock one and replacing it with a beautiful, non-obstructive UI.</p> <p><a href="https://github.com/NSAntoine/Artemisia/assets/48022799/5f085f2d-b724-40db-831b-314f3014094a">https://github.com/NSAntoine/Artemisia/assets/48022799/5f085f2d-b724-40db-831b-314f3014094a</a></p> <img width="340" alt="Screenshot 2023-10-17 at 7 32 47 PM" src="https://github.com/NSAntoine/Artemisia/assets/48022799/69d091dc-97b4-4b0e-bfae-34b3425cf4b3"> <img width="340" alt="Screenshot 2023-10-17 at 7 18 45 PM" src="https://github.com/NSAntoine/Artemisia/assets/48022799/79fbf88d-363d-405c-8cba-976d8bf20c99"> <p>Available for macOS 11+.</p> + \ No newline at end of file diff --git a/objective-c/weekly/index.xml b/objective-c/weekly/index.xml deleted file mode 100644 index afa9df1b3a5..00000000000 --- a/objective-c/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Objective-C Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:29Z - Weekly Trending of Objective-C in GitHub - - - HyangZhao/Quicksilver - 2023-10-22T01:57:29Z - tag:github.com,2023-10-22:/HyangZhao/Quicksilver - - <p>Quicksilver Mac OS X Project Source</p><hr><h1>About Quicksilver B5X on Github</h1> <p>This repository contains the current source code of Quicksilver. If you're having issues with the latest Quicksilver version, feel free to log them at the <a href="http://github.com/tiennou/blacktree-alchemy/issues">issue tracker</a>.</p> <p>The B5X branch contains the source for the currently released Quicksilver. The master branch contains the code for the "next-gen" Quicksilver. Right now it features an updated plugin system, and Catalyst, which aims to provide triggers as a preference pane, and that's it. It is usable, but all plugins are incompatible without some extra work.</p> <p>If you want more info about <a href="http://en.wikipedia.org/wiki/Quicksilver_%28software%29" title="Quicksilver Wikipedia article">Quicksilver</a> just do a search on YouTube - there's tons of very helpful instructional and informational video tutorials. Or visit the <a href="http://groups.google.com/group/blacktree-quicksilver" title="Quicksilver Google Group">mailing list</a> hosted at Google Groups.</p> <h2>Where to find it ?</h2> <p>Go look on the download pages around. The "most official" one is <a href="http://github.com/tiennou/blacktree-alchemy/downloads">here</a>, but there are some <a href="http://github.com/andreberg/blacktree-alchemy/downloads">others</a>. Choose the one with the biggest number ;-).</p> <h2>Before You Try It Out</h2> <p>Before trying out new Quicksilver versions <strong>ALWAYS BACKUP</strong> your user data!<br> This is easily done by backing up the following folders</p> <p>(<code>&lt;user&gt;</code> stands for your short user name):</p> <p><code>/Users/&lt;user&gt;/Library/Application Support/Quicksilver</code><br> <code>/Users/&lt;user&gt;/Library/Caches/Quicksilver</code></p> <p>and just to be safe, let's also backup the present</p> <p><code>/Applications/Quicksilver.app</code></p> <p>before you overwrite it with this version.<br> Now if anything happens you can always restore the exact state Quicksilver was in before your were trying out this version.</p> <h2>Facts, Features and Fixes</h2> <p>The biggest change first and foremost:</p> <pre><code>Minimum runtime requirement for this version is Mac OS X 10.5 ("Leopard"). There are no plans for supporting Mac OS X 10.4 ("Tiger"). </code></pre> <br> <p>The following is a short, assorted list of facts and enhancements you may find in this version.<br> For a more comprehensive list take a look at the commit messages.<br> <br></p> <ul> <li> <p>Default compiler changed to Clang, Apple's and the Open Source community's next gen compiler.</p> <p>By doing that a 20 to 40% increase in runtime speed was gained while managing a catalog library with approx. 13k items. Quicksilver also feels a lot snappier too. This, of course, is mostly subjective (read: YMMV).</p> </li> <li> <p>Actions should now appear localized again where appropriate.</p> <p>(e.g. 'Copy to...' for example in German could also be typed as 'Bewegen nach...' or 'Open' as 'Ouvrir' in French.<br> .lproj folders for English, French, Italian, German, Spanish, Danish, Finish, Norwegian, Polish, and Swedish have been included. Mind you, the end result really depends on how Mac OS X handles this in the target language as Quicksilver just asks the OS for the localized representation of some common actions).</p> </li> <li> <p>Composed characters like German umlauts (e.g. 'ä') will now show both parts (the letter 'a' and the 'dots'. Previously only letters would show up).</p> </li> <li> <p>The broken action menu now shows up with a cross-selection of all enabled actions from the Actions preferences.</p> </li> <li> <p>The Smart Replace and Replace dialog actions no longer crash Quicksilver and will now actually append numbers via a smart numbering system if a file to be copied or moved already exists at the destination.</p> <p>In order to use the Smart Replace dialog you will need to set the feature level equal to or higher than 3.To do that enter the following <em>exactly</em> into the Terminal and press Return: <code>defaults write com.blacktree.Quicksilver "Feature Level" 3</code></p> </li> <li> <p>File operation requiring credentials no longer crash QS after providing the password.</p> </li> <li> <p>The Large Type action now keeps the text visible again for prolonged periods.</p> </li> <li> <p>Icons associated with custom file actions (e.g. like custom AppleScript actions) are now correctly displayed instead of a generic file placeholder icon.</p> </li> <li> <p>AppleScript actions which return something now cause Quicksilver to reappear again ready to use the result for the next action.</p> </li> <li> <p>Mouse tracking for triggers ('Mouse entered' / 'Mouse exited') now seems to work more reliably.</p> </li> <li> <p>The Extras pref pane no longer has a row spacing issue upon first loading of the associated NIB file.</p> </li> <li> <p>Excessive log outputs have been silenced to only occur if certain debugging environment variables are set in order to avoid spamming the Console.</p> </li> <li> <p>Dozens of API upgrades like replacing deprecated methods with safer variants or adding declaration names for the new way of handling informal protocols.</p> </li> <li> <p>All NIB files were converted to a SCM and collaboration friendly XIB format. A lot of clipping warnings have been fixed.</p> </li> <li> <p>Triggers with wierd keys (like Function keys) are now displayed again.</p> </li> <li> <p>Updated French and German localization.</p> </li> <li> <p>Various other housekeeping tasks.</p> </li> </ul> <h2>Notes Specific to Snow Leopard</h2> <p>Snow Leopard has a reworked Services system. This is relevant because preferences like <em>"Pull selection from front application instead of Finder"</em> (<code>Preferences &gt; Extras</code>) make use of two services called <em>"Get Current Selection"</em> and <em>"Send to Quicksilver"</em>.</p> <p>It appears that these services will not register properly when the pasteboard server (<code>/System/Library/CoreServices/pbs</code>) sees multiple Quicksilver.app packages each with their very own Info.plist file defining the same services.</p> <p>The result is that none of the services for any Quicksilver.app will register and thus the default Cmd + Esc hotkey combo won't do anything much no matter which application is currrently frontmost. The solution to this is to zip any old Quicksilver.app packages you want to keep around and delete every Quicksilver.app package except the one you want to run. Also do not forget to empty your trash after you deleted the older Quicksilver.app packages.</p> <h2>Development</h2> <p>You should be able to build Quicksilver by opening the project file with Xcode and pressing "Build". Be aware that the build system <strong>will overwrite</strong> the Quicksilver located in your /Applications folder.</p> <h2>A Few Notes on Working With Git</h2> <p>The following (non-exhaustive) list shows files which need to be treated specially within git:</p> <p><code>Quicksilver/PlugIns-Main/Bezel/Info.plist</code><br> <code>Quicksilver/PlugIns-Main/Finder/Info.plist</code><br> <code>Quicksilver/PlugIns-Main/PrimerInterface/Info.plist</code><br> <code>Quicksilver/PlugIns-Main/QSHotKeyPlugIn/Info.plist</code></p> <p>That is because they change each time the project is built (e.g. the hexadecimal build number is updated by 'bltrversion' for each plugin).</p> <p>We can't just remove them from the project and add them to the repository-wide .gitignore file because we still need to push those files up to the remote so that another developer will get them when he/she clones the project. Also because this project was converted from SVN we can't just tell everyone to add those files to their personal repository-wide exclude file (in .git/info/exclude) and be done with it. If the file is already tracked adding it to any ignore file won't keep git from tracking it (gitignore(5) has more info on that).</p> <p>What we need is to tell git to just keep the initial version in the repository but not track any changes.<br> The following commands seem to do just that:</p> <p><code>git update-index --assume-unchanged Quicksilver/PlugIns-Main/Bezel/Info.plist</code><br> <code>git update-index --assume-unchanged Quicksilver/PlugIns-Main/Finder/Info.plist</code><br> <code>git update-index --assume-unchanged Quicksilver/PlugIns-Main/PrimerInterface/Info.plist</code><br> <code>git update-index --assume-unchanged Quicksilver/PlugIns-Main/QSHotKeyPlugIn/Info.plist</code></p> <p>This will keep git from noticing any changes but will still keep it (do a <code>git-ls-files | grep QSHotKeyPlugIn/Info.plist</code> to confirm).</p> <p>If you need to make changes to any of those files and you need these changes visible for others to clone then you must revert the commands issued above before commiting.<br> To do so just run the commands again but this time with <code>--no-assume-unchanged</code>.</p> <p>PS.: If any of the git veterans has a better way of handling this please send me a message to my (andreberg) github inbox.</p> <h2>Legal Stuff</h2> <p>By downloading and/or using this software you agree to the following terms of use:</p> <pre><code>Licensed under the Apache License, Version 2.0 (the "License"); you may not use this software except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. </code></pre> <p>Which basically means: whatever you do, I can't be held accountable if something breaks.</p> - - - frijole/gifbook - 2023-10-22T01:57:29Z - tag:github.com,2023-10-22:/frijole/gifbook - - <p>a rough gif viewer</p><hr> - - - SDWebImage/SDWebImageSVGCoder - 2023-10-22T01:57:29Z - tag:github.com,2023-10-22:/SDWebImage/SDWebImageSVGCoder - - <p>A SVG coder plugin for SDWebImage, using Apple's built-in framework</p><hr><h1>SDWebImageSVGCoder</h1> <p><a href="https://travis-ci.org/SDWebImage/SDWebImageSVGCoder"><img src="https://img.shields.io/travis/SDWebImage/SDWebImageSVGCoder.svg?style=flat" alt="CI Status"></a> <a href="https://cocoapods.org/pods/SDWebImageSVGCoder"><img src="https://img.shields.io/cocoapods/v/SDWebImageSVGCoder.svg?style=flat" alt="Version"></a> <a href="https://cocoapods.org/pods/SDWebImageSVGCoder"><img src="https://img.shields.io/cocoapods/l/SDWebImageSVGCoder.svg?style=flat" alt="License"></a> <a href="https://cocoapods.org/pods/SDWebImageSVGCoder"><img src="https://img.shields.io/cocoapods/p/SDWebImageSVGCoder.svg?style=flat" alt="Platform"></a> <a href="https://github.com/SDWebImage/SDWebImageSVGCoder"><img src="https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat" alt="Carthage compatible"></a></p> <h2>Background</h2> <p>Currently SDWebImage org provide 3 kinds of SVG Coder Plugin support, here is comparison:</p> <table> <thead> <tr> <th>Plugin Name</th> <th>Vector Image</th> <th>Bitmap Image</th> <th>Platform</th> <th>Compatibility</th> <th>Dependency</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/SDWebImage/SDWebImageSVGNativeCoder">SVGNativeCoder</a></td> <td>NO</td> <td>YES</td> <td>iOS 9+</td> <td>Best and W3C standard</td> <td>adobe/svg-native-viewer</td> </tr> <tr> <td><a href="https://github.com/SDWebImage/SDWebImageSVGCoder">SVGCoder</a></td> <td>YES</td> <td>YES</td> <td>iOS 13+</td> <td>OK but buggy on some SVG</td> <td>Apple CoreSVG(Private)</td> </tr> <tr> <td><a href="https://github.com/SDWebImage/SDWebImageSVGKitPlugin">SVGKitPlugin</a></td> <td>YES</td> <td>NO</td> <td>iOS 9+</td> <td>Worst, no longer maintain</td> <td>SVGKit/SVGKit</td> </tr> </tbody> </table> <h2>What's for</h2> <p>SDWebImageSVGCoder is a SVG coder plugin for <a href="https://github.com/rs/SDWebImage/">SDWebImage</a> framework, which provide the image loading support for <a href="https://en.wikipedia.org/wiki/Scalable_Vector_Graphics">SVG</a>.</p> <p>The SVG rendering is done using Apple's framework CoreSVG.framework (introduced in iOS 13/macOS 10.15).</p> <h2>Note for SVGKit user</h2> <p>Previously before 1.0.0 version, this SVG Coder is powered by third party library <a href="https://github.com/SVGKit/SVGKit">SVGKit</a>. Which support iOS 8+(macOS 10.10+) as well.</p> <p>However, due to the lack support of that third party library, which contains massive issues without community's help, no clarity of version release, makes a pain for us to maintain. So, We decide to deprecate SVGKit support and move it into another repo: <a href="https://github.com/SDWebImage/SDWebImageSVGKitPlugin">SDWebImageSVGKitPlugin</a>.</p> <p>User who use SVGKit or have to support iOS 8+(macOS 10.10+) can still use that SDWebImageSVGKitPlugin instead. You can also mix these two SVG coders at the same time. But since Apple already provide a built-in framework support, we prefer to use that instead, which can reduce complicated dependency, code size, and get polished from Apple's system upgrade.</p> <h2>Note for CoreSVG framework</h2> <p>So far (Xcode 11.4 &amp;&amp; iOS 13.4), the CoreSVG.framework is still in private framework. I've already send the feedback radar to ask for the public for this framework. If you want, please help us to fire radars and request to Apple as well: <a href="https://feedbackassistant.apple.com/">https://feedbackassistant.apple.com/</a></p> <p>The CoreSVG.framework API is stable and match the same concept as CoreGraphics's PDF API, so it's no reason to keep private. And we've already submitted Apps which use the CoreSVG to render the vector images on App Store.</p> <p>All the SPI access here we use the runtime access and early check, even if future OS upgrade break the function, this framework will not crash your App and just load failed. I'll keep update to the latest changes for each firmware update.</p> <p>If you still worry about the SPI usage, you can use <a href="https://github.com/SDWebImage/SDWebImageSVGKitPlugin">SDWebImageSVGKitPlugin</a>. But we may not response to any parser or rendering issue related to <a href="https://github.com/SVGKit/SVGKit">SVGKit</a>, because it's already no longer maintained.</p> <p>There is also another solution: <a href="https://w3c.github.io/svgwg/specs/svg-native/index.html">SVG-Native</a>, a new W3C standard from Adobe, which is a subset of SVG/1.1. Both Apple/Google/Microsoft already join the agreement for this standard, you can try to write your own coder using code from <a href="https://github.com/adobe/svg-native-viewer/raw/master/svgnative/example/testCocoaCG/SVGNSView.mm">SVG-native-viewer</a> and adopt SVG-native for vector images.</p> <blockquote> <p>Warning: Some user report that Apple's CoreSVG has compatible issue for some SVGs (like using non-system Font, gradient), from v1.7.0 we protect some cases, but other exceptions are un-catchable. For these crashes, either use <code>Render SVG as bitmap image</code> (see below) or edit your SVG source file to make Apple's CoeSVG compatible.</p> </blockquote> <h2>Example</h2> <p>To run the example project, clone the repo, and run <code>pod install</code> from the Example directory first.</p> <p>You can modify the code or use some other SVG files to check the compatibility.</p> <h2>Requirements</h2> <ul> <li>iOS 13+</li> <li>tvOS 13+</li> <li>macOS 10.15+</li> <li>watchOS 6+</li> </ul> <h2>Installation</h2> <h4>CocoaPods</h4> <p>SDWebImageSVGCoder is available through <a href="https://cocoapods.org">CocoaPods</a>. To install it, simply add the following line to your Podfile:</p> <pre><code class="language-ruby">pod 'SDWebImageSVGCoder' </code></pre> <h4>Carthage</h4> <p>SDWebImageSVGCoder is available through <a href="https://github.com/Carthage/Carthage">Carthage</a>.</p> <pre><code>github "SDWebImage/SDWebImageSVGCoder" </code></pre> <h4>Swift Package Manager</h4> <p>SDWebImageSVGCoder is available through <a href="https://swift.org/package-manager">Swift Package Manager</a>.</p> <pre><code class="language-swift">let package = Package( dependencies: [ .package(url: "https://github.com/SDWebImage/SDWebImageSVGCoder.git", from: "1.4.0") ] ) </code></pre> <h2>Usage</h2> <h3>Render SVG as vector image</h3> <p>To use SVG coder, you should firstly add the <code>SDImageSVGCoder</code> to the coders manager. Then you can call the View Category method to start load SVG images. See <a href="https://github.com/SDWebImage/SDWebImage/wiki/Advanced-Usage#coder-usage">Wiki - Coder Usage</a> here for these steps.</p> <p>Note SVG is a <a href="https://en.wikipedia.org/wiki/Vector_graphics">vector image</a> format, and UIImageView/NSImageView support rendering vector image as well. Which means you can change the size without losing any details.</p> <ul> <li>Objective-C</li> </ul> <pre><code class="language-objectivec">// register coder, on AppDelegate SDImageSVGCoder *SVGCoder = [SDImageSVGCoder sharedCoder]; [[SDImageCodersManager sharedManager] addCoder:SVGCoder]; // load SVG url UIImageView *imageView; [imageView sd_setImageWithURL:url] // Changing size CGRect rect = imageView.frame; rect.size.width = 200; rect.size.height = 200; imageView.frame = rect; </code></pre> <ul> <li>Swift</li> </ul> <pre><code class="language-swift">// register coder, on AppDelegate let SVGCoder = SDImageSVGCoder.shared SDImageCodersManager.shared.addCoder(SVGCoder) // load SVG url let imageView: UIImageView imageView.sd_setImage(with: url) // Changing size var rect = imageView.frame rect.size.width = 200 rect.size.height = 200 imageView.frame = rect </code></pre> <p>Note since UIImageView/NSImageView support this vector rendering, it means this coder plugin can be compatible for <a href="https://developer.apple.com/xcode/swiftui/">SwiftUI</a>. Check <a href="https://github.com/SDWebImage/SDWebImageSwiftUI/issues/50">SDWebImageSwiftUI</a> for usage.</p> <p>Note: for watchOS, which does not support UIKit, so you can not use vector image format. (including both SVG and PDF)</p> <h3>Render SVG as bitmap image</h3> <p>In most cases, vector SVG is preferred. But however, sometimes you may want the bitmap form of SVG, used for image processing or watchOS.</p> <p>By default it use the SVG viewBox size. You can also specify a desired size during image loading using <code>.imageThumbnailPixelSize</code> context option. And you can specify whether or not to keep aspect ratio during scale using <code>.imagePreserveAspectRatio</code> context option.</p> <p>Note: When using <code>imageThumbnailPixelSize</code>, pass 0 for width or height will remove the limit of this length. For example, given a SVG image which original size is <code>(40,50)</code>:</p> <table> <thead> <tr> <th>preserve aspect ratio</th> <th>width</th> <th>height</th> <th>effect</th> </tr> </thead> <tbody> <tr> <td>true</td> <td>50</td> <td>50</td> <td>(40,50)</td> </tr> <tr> <td>true</td> <td>0</td> <td>100</td> <td>(80,100)</td> </tr> <tr> <td>true</td> <td>20</td> <td>0</td> <td>(20,25)</td> </tr> <tr> <td>true</td> <td>0</td> <td>0</td> <td>(40,50)</td> </tr> <tr> <td>false</td> <td>50</td> <td>50</td> <td>(50,50)</td> </tr> <tr> <td>false</td> <td>0</td> <td>100</td> <td>(40,100)</td> </tr> <tr> <td>false</td> <td>20</td> <td>0</td> <td>(20,50)</td> </tr> <tr> <td>false</td> <td>0</td> <td>0</td> <td>(40,50)</td> </tr> </tbody> </table> <p>Note: Once you pass the <code>imageThumbnailPixelSize</code>, we will always generate the bitmap representation. If you do want the vector format, do not pass them, let <code>UIImageView</code> to dynamically stretch the SVG.</p> <ul> <li>Objective-C</li> </ul> <pre><code class="language-objectivec">UIImageView *imageView; CGSize bitmapSize = CGSizeMake(500, 500); [imageView sd_setImageWithURL:url placeholderImage:nil options:0 context:@{SDWebImageContextThumbnailPixelSize: @(bitmapSize)]; </code></pre> <ul> <li>Swift</li> </ul> <pre><code class="language-swift">let imageView: UIImageView let bitmapSize = CGSize(width: 500, height: 500) imageView.sd_setImage(with: url, placeholderImage: nil, options: [], context: [.imageThumbnailPixelSize : bitmapSize]) </code></pre> <h2>Export SVG data</h2> <p><code>SDWebImageSVGCoder</code> provide an easy way to export the SVG image generated by this coder plugin, to the original SVG data.</p> <p>Note: The bitmap form of SVG does not support SVG data export.</p> <ul> <li>Objective-C</li> </ul> <pre><code class="language-objectivec">UIImage *svgImage; // UIImage with vector image, or NSImage contains `NSSVGImageRep` if (svgImage.sd_isVector) { // This API available in SDWebImage 5.6.0 NSData *svgData = [svgImage sd_imageDataAsFormat:SDImageFormatSVG]; } </code></pre> <ul> <li>Swift</li> </ul> <pre><code class="language-swift">let svgImage: UIImage // UIImage with vector image, or NSImage contains `NSSVGImageRep` if svgImage.sd_isVector { // This API available in SDWebImage 5.6.0 let svgData = svgImage.sd_imageData(as: .SVG) } </code></pre> <h2>Compatibility for CoreSVG framework</h2> <h4>The CSS <code>opacity</code> can not been applied when <code>fill</code> color exists</h4> <ul> <li>Example</li> </ul> <pre><code class="language-html">&lt;path d="M399.8,68.2c77.3,3.1,160.6,32.1" opacity="0.15" fill="rgb(29,36,60)" /&gt; </code></pre> <ul> <li>Behavior</li> </ul> <p>App Crash.</p> <ul> <li>Workaround: Use CSS <code>rgba</code> to set the opacity instead.</li> </ul> <pre><code class="language-html">&lt;path d="M399.8,68.2c77.3,3.1,160.6,32.1" fill="rgba(29,36,60,0.15)" /&gt; </code></pre> <h2>Backward Deployment</h2> <p>This framework supports backward deployment on iOS 12-/macOS 10.14-. And you can combine both <code>SDWebImageSVGCoder</code> for higher firmware version, use <code>SDWebImageSVGKitPlugin</code> for lower firmware version.</p> <p>For CocoaPods user, you can skip the platform version validation in Podfile with:</p> <pre><code class="language-ruby">platform :ios, '13.0' # This does not effect your App Target's deployment target version, just a hint for CocoaPods </code></pre> <p>Pay attention, you should always use the runtime version check to ensure those symbols are available, you should mark all the classes use public API with <code>API_AVAILABLE</code> annotation as well. See below:</p> <pre><code class="language-objective-c">if (@available(iOS 13, *)) { [SDImageCodersManager.sharedCoder addCoder:SDImageSVGCoder.sharedCoder]; } else { [SDImageCodersManager.sharedCoder addCoder:SDImageSVGKCoder.sharedCoder]; } </code></pre> <h2>Screenshot</h2> <img src="https://raw.githubusercontent.com/SDWebImage/SDWebImageSVGCoder/master/Example/Screenshot/SVGDemo.png" width="300"> <img src="https://raw.githubusercontent.com/SDWebImage/SDWebImageSVGCoder/master/Example/Screenshot/SVGDemo-macOS.png" width="600"> <p>These SVG images are from <a href="https://commons.wikimedia.org/wiki/Main_Page">wikimedia</a>, you can try the demo with your own SVG image as well.</p> <h2>Author</h2> <p>DreamPiggy</p> <h2>License</h2> <p>SDWebImageSVGCoder is available under the MIT license. See the LICENSE file for more info.</p> - - \ No newline at end of file diff --git a/objective-j/daily/index.xml b/objective-j/daily/index.xml index f5eed200aa1..a522c72c875 100644 --- a/objective-j/daily/index.xml +++ b/objective-j/daily/index.xml @@ -1,7 +1,7 @@ GitHub Objective-J Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:16Z + 2023-10-23T01:35:50Z Daily Trending of Objective-J in GitHub \ No newline at end of file diff --git a/objective-j/weekly/index.xml b/objective-j/weekly/index.xml deleted file mode 100644 index efcdc19151a..00000000000 --- a/objective-j/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Objective-J Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:24Z - Weekly Trending of Objective-J in GitHub - - \ No newline at end of file diff --git a/objectscript/daily/index.xml b/objectscript/daily/index.xml index c171f611090..3331c88a276 100644 --- a/objectscript/daily/index.xml +++ b/objectscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub ObjectScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:17Z + 2023-10-23T01:35:51Z Daily Trending of ObjectScript in GitHub \ No newline at end of file diff --git a/objectscript/weekly/index.xml b/objectscript/weekly/index.xml deleted file mode 100644 index e6a2811f21d..00000000000 --- a/objectscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ObjectScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:26Z - Weekly Trending of ObjectScript in GitHub - - \ No newline at end of file diff --git a/ocaml/daily/index.xml b/ocaml/daily/index.xml index b705158b56d..34dc95be3cc 100644 --- a/ocaml/daily/index.xml +++ b/ocaml/daily/index.xml @@ -1,7 +1,21 @@ GitHub OCaml Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:34Z + 2023-10-23T01:36:08Z Daily Trending of OCaml in GitHub + + cognitive-engineering-lab/doclang-benchmark + 2023-10-23T01:36:08Z + tag:github.com,2023-10-23:/cognitive-engineering-lab/doclang-benchmark + + <p></p><hr> + + + herd/herdtools7 + 2023-10-23T01:36:08Z + tag:github.com,2023-10-23:/herd/herdtools7 + + <p>The Herd toolsuite to deal with .cat memory models (version 7.xx)</p><hr> + \ No newline at end of file diff --git a/ocaml/weekly/index.xml b/ocaml/weekly/index.xml deleted file mode 100644 index 499b0921c74..00000000000 --- a/ocaml/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub OCaml Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:43Z - Weekly Trending of OCaml in GitHub - - - lshap/341project4 - 2023-10-22T01:57:43Z - tag:github.com,2023-10-22:/lshap/341project4 - - <p></p><hr> - - - ocaml-multicore/picos - 2023-10-22T01:57:43Z - tag:github.com,2023-10-22:/ocaml-multicore/picos - - <p>Interoperable effects based concurrency</p><hr> - - - answer-42/mlImage - 2023-10-22T01:57:43Z - tag:github.com,2023-10-22:/answer-42/mlImage - - <p>A working image viewer written in Ocaml.</p><hr> - - \ No newline at end of file diff --git a/odin/daily/index.xml b/odin/daily/index.xml index 1b0af77f3f8..43a9515634a 100644 --- a/odin/daily/index.xml +++ b/odin/daily/index.xml @@ -1,7 +1,7 @@ GitHub Odin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:32Z + 2023-10-23T01:36:05Z Daily Trending of Odin in GitHub \ No newline at end of file diff --git a/odin/weekly/index.xml b/odin/weekly/index.xml deleted file mode 100644 index b330415e6b5..00000000000 --- a/odin/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Odin Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:41Z - Weekly Trending of Odin in GitHub - - \ No newline at end of file diff --git a/omgrofl/daily/index.xml b/omgrofl/daily/index.xml index 022211ac949..046457d54de 100644 --- a/omgrofl/daily/index.xml +++ b/omgrofl/daily/index.xml @@ -1,7 +1,7 @@ GitHub Omgrofl Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:31Z + 2023-10-23T01:36:04Z Daily Trending of Omgrofl in GitHub \ No newline at end of file diff --git a/omgrofl/weekly/index.xml b/omgrofl/weekly/index.xml deleted file mode 100644 index a136691eefb..00000000000 --- a/omgrofl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Omgrofl Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:40Z - Weekly Trending of Omgrofl in GitHub - - \ No newline at end of file diff --git a/ooc/daily/index.xml b/ooc/daily/index.xml index 71a2d361261..e242ddee33b 100644 --- a/ooc/daily/index.xml +++ b/ooc/daily/index.xml @@ -1,7 +1,7 @@ GitHub ooc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:30Z + 2023-10-23T01:36:06Z Daily Trending of ooc in GitHub \ No newline at end of file diff --git a/ooc/weekly/index.xml b/ooc/weekly/index.xml deleted file mode 100644 index 19a6e65f1ae..00000000000 --- a/ooc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ooc Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:39Z - Weekly Trending of ooc in GitHub - - \ No newline at end of file diff --git a/opa/daily/index.xml b/opa/daily/index.xml index 75980747fcd..326eebd24e5 100644 --- a/opa/daily/index.xml +++ b/opa/daily/index.xml @@ -1,7 +1,7 @@ GitHub Opa Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:35Z + 2023-10-23T01:36:11Z Daily Trending of Opa in GitHub \ No newline at end of file diff --git a/opa/weekly/index.xml b/opa/weekly/index.xml deleted file mode 100644 index a50dae01676..00000000000 --- a/opa/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Opa Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:44Z - Weekly Trending of Opa in GitHub - - \ No newline at end of file diff --git a/opal/daily/index.xml b/opal/daily/index.xml index 3f423d60e29..1344e695106 100644 --- a/opal/daily/index.xml +++ b/opal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Opal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:36Z + 2023-10-23T01:36:11Z Daily Trending of Opal in GitHub \ No newline at end of file diff --git a/opal/weekly/index.xml b/opal/weekly/index.xml deleted file mode 100644 index 6e95ad3e930..00000000000 --- a/opal/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Opal Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:47Z - Weekly Trending of Opal in GitHub - - \ No newline at end of file diff --git a/open-policy-agent/daily/index.xml b/open-policy-agent/daily/index.xml index 682576cdf1a..0eec7cbf06e 100644 --- a/open-policy-agent/daily/index.xml +++ b/open-policy-agent/daily/index.xml @@ -1,7 +1,7 @@ GitHub Open Policy Agent Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:38Z + 2023-10-23T01:36:10Z Daily Trending of Open Policy Agent in GitHub \ No newline at end of file diff --git a/open-policy-agent/weekly/index.xml b/open-policy-agent/weekly/index.xml deleted file mode 100644 index 19c22296098..00000000000 --- a/open-policy-agent/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Open Policy Agent Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:46Z - Weekly Trending of Open Policy Agent in GitHub - - \ No newline at end of file diff --git a/opencl/daily/index.xml b/opencl/daily/index.xml index 48264583b9f..7bd14e3eaee 100644 --- a/opencl/daily/index.xml +++ b/opencl/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenCL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:41Z + 2023-10-23T01:36:14Z Daily Trending of OpenCL in GitHub \ No newline at end of file diff --git a/opencl/weekly/index.xml b/opencl/weekly/index.xml deleted file mode 100644 index 8fc83bbff91..00000000000 --- a/opencl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OpenCL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:50Z - Weekly Trending of OpenCL in GitHub - - \ No newline at end of file diff --git a/openedge-abl/daily/index.xml b/openedge-abl/daily/index.xml index 51a9dfee812..4f35e6a84c6 100644 --- a/openedge-abl/daily/index.xml +++ b/openedge-abl/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenEdge ABL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:40Z + 2023-10-23T01:36:16Z Daily Trending of OpenEdge ABL in GitHub \ No newline at end of file diff --git a/openedge-abl/weekly/index.xml b/openedge-abl/weekly/index.xml deleted file mode 100644 index 204872efc58..00000000000 --- a/openedge-abl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OpenEdge ABL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:48Z - Weekly Trending of OpenEdge ABL in GitHub - - \ No newline at end of file diff --git a/openqasm/daily/index.xml b/openqasm/daily/index.xml index 74b15d584ee..8afc356ae0f 100644 --- a/openqasm/daily/index.xml +++ b/openqasm/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenQASM Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:41Z + 2023-10-23T01:36:14Z Daily Trending of OpenQASM in GitHub \ No newline at end of file diff --git a/openqasm/weekly/index.xml b/openqasm/weekly/index.xml deleted file mode 100644 index ee5bc3cd5fe..00000000000 --- a/openqasm/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OpenQASM Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:49Z - Weekly Trending of OpenQASM in GitHub - - \ No newline at end of file diff --git a/openrc-runscript/daily/index.xml b/openrc-runscript/daily/index.xml index 54cdc1afc62..83a59757548 100644 --- a/openrc-runscript/daily/index.xml +++ b/openrc-runscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenRC runscript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:44Z + 2023-10-23T01:36:18Z Daily Trending of OpenRC runscript in GitHub \ No newline at end of file diff --git a/openrc-runscript/weekly/index.xml b/openrc-runscript/weekly/index.xml deleted file mode 100644 index 4035d8e9c8f..00000000000 --- a/openrc-runscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OpenRC runscript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:54Z - Weekly Trending of OpenRC runscript in GitHub - - \ No newline at end of file diff --git a/openscad/daily/index.xml b/openscad/daily/index.xml index 3500ebf4d3f..52cb53ffc5b 100644 --- a/openscad/daily/index.xml +++ b/openscad/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenSCAD Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:46Z + 2023-10-23T01:36:17Z Daily Trending of OpenSCAD in GitHub \ No newline at end of file diff --git a/openscad/weekly/index.xml b/openscad/weekly/index.xml deleted file mode 100644 index 2637874f618..00000000000 --- a/openscad/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OpenSCAD Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:52Z - Weekly Trending of OpenSCAD in GitHub - - \ No newline at end of file diff --git a/openstep-property-list/daily/index.xml b/openstep-property-list/daily/index.xml index 26f92216af3..ab940ca773f 100644 --- a/openstep-property-list/daily/index.xml +++ b/openstep-property-list/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenStep Property List Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:43Z + 2023-10-23T01:36:20Z Daily Trending of OpenStep Property List in GitHub \ No newline at end of file diff --git a/openstep-property-list/weekly/index.xml b/openstep-property-list/weekly/index.xml deleted file mode 100644 index 1982fcebe92..00000000000 --- a/openstep-property-list/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OpenStep Property List Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:53Z - Weekly Trending of OpenStep Property List in GitHub - - \ No newline at end of file diff --git a/opentype-feature-file/daily/index.xml b/opentype-feature-file/daily/index.xml index d92be724a1e..1adae58119a 100644 --- a/opentype-feature-file/daily/index.xml +++ b/opentype-feature-file/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenType Feature File Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:45Z + 2023-10-23T01:36:19Z Daily Trending of OpenType Feature File in GitHub \ No newline at end of file diff --git a/opentype-feature-file/weekly/index.xml b/opentype-feature-file/weekly/index.xml deleted file mode 100644 index 85bdfb8bad4..00000000000 --- a/opentype-feature-file/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OpenType Feature File Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:53Z - Weekly Trending of OpenType Feature File in GitHub - - \ No newline at end of file diff --git a/org/daily/index.xml b/org/daily/index.xml index 5f651dfff92..ef2648eeac9 100644 --- a/org/daily/index.xml +++ b/org/daily/index.xml @@ -1,7 +1,7 @@ GitHub Org Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:50Z + 2023-10-23T01:36:22Z Daily Trending of Org in GitHub \ No newline at end of file diff --git a/org/weekly/index.xml b/org/weekly/index.xml deleted file mode 100644 index 3827f5dfa16..00000000000 --- a/org/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Org Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:57Z - Weekly Trending of Org in GitHub - - \ No newline at end of file diff --git a/ox/daily/index.xml b/ox/daily/index.xml index c04c167cce7..3aa7d133935 100644 --- a/ox/daily/index.xml +++ b/ox/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ox Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:49Z + 2023-10-23T01:36:24Z Daily Trending of Ox in GitHub \ No newline at end of file diff --git a/ox/weekly/index.xml b/ox/weekly/index.xml deleted file mode 100644 index 94e356a5b05..00000000000 --- a/ox/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ox Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:55Z - Weekly Trending of Ox in GitHub - - \ No newline at end of file diff --git a/oxygene/daily/index.xml b/oxygene/daily/index.xml index ef85f684413..a0826f019bd 100644 --- a/oxygene/daily/index.xml +++ b/oxygene/daily/index.xml @@ -1,7 +1,7 @@ GitHub Oxygene Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:48Z + 2023-10-23T01:36:21Z Daily Trending of Oxygene in GitHub \ No newline at end of file diff --git a/oxygene/weekly/index.xml b/oxygene/weekly/index.xml deleted file mode 100644 index 4ab47e4820a..00000000000 --- a/oxygene/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Oxygene Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:58Z - Weekly Trending of Oxygene in GitHub - - \ No newline at end of file diff --git a/oz/daily/index.xml b/oz/daily/index.xml index 47d9b720e22..bfbc708c6d8 100644 --- a/oz/daily/index.xml +++ b/oz/daily/index.xml @@ -1,7 +1,7 @@ GitHub Oz Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:54Z + 2023-10-23T01:36:25Z Daily Trending of Oz in GitHub \ No newline at end of file diff --git a/oz/weekly/index.xml b/oz/weekly/index.xml deleted file mode 100644 index 705646551e0..00000000000 --- a/oz/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Oz Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:02Z - Weekly Trending of Oz in GitHub - - \ No newline at end of file diff --git a/p4/daily/index.xml b/p4/daily/index.xml index eb968000826..f2838fb0db5 100644 --- a/p4/daily/index.xml +++ b/p4/daily/index.xml @@ -1,7 +1,7 @@ GitHub P4 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:53Z + 2023-10-23T01:36:26Z Daily Trending of P4 in GitHub \ No newline at end of file diff --git a/p4/weekly/index.xml b/p4/weekly/index.xml deleted file mode 100644 index e1f21f1877d..00000000000 --- a/p4/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub P4 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:01Z - Weekly Trending of P4 in GitHub - - \ No newline at end of file diff --git a/pan/daily/index.xml b/pan/daily/index.xml index 7f983920f66..1d187ef9ca6 100644 --- a/pan/daily/index.xml +++ b/pan/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pan Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:53Z + 2023-10-23T01:36:28Z Daily Trending of Pan in GitHub \ No newline at end of file diff --git a/pan/weekly/index.xml b/pan/weekly/index.xml deleted file mode 100644 index d000befe7d3..00000000000 --- a/pan/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pan Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:57:59Z - Weekly Trending of Pan in GitHub - - \ No newline at end of file diff --git a/papyrus/daily/index.xml b/papyrus/daily/index.xml index 1bcf0cf9637..539cbbd449e 100644 --- a/papyrus/daily/index.xml +++ b/papyrus/daily/index.xml @@ -1,7 +1,7 @@ GitHub Papyrus Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:56Z + 2023-10-23T01:36:32Z Daily Trending of Papyrus in GitHub \ No newline at end of file diff --git a/papyrus/weekly/index.xml b/papyrus/weekly/index.xml deleted file mode 100644 index 463d0ee031f..00000000000 --- a/papyrus/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Papyrus Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:05Z - Weekly Trending of Papyrus in GitHub - - \ No newline at end of file diff --git a/parrot-assembly/daily/index.xml b/parrot-assembly/daily/index.xml index 717975fe04f..4080c69d97b 100644 --- a/parrot-assembly/daily/index.xml +++ b/parrot-assembly/daily/index.xml @@ -1,7 +1,7 @@ GitHub Parrot Assembly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:57Z + 2023-10-23T01:36:31Z Daily Trending of Parrot Assembly in GitHub \ No newline at end of file diff --git a/parrot-assembly/weekly/index.xml b/parrot-assembly/weekly/index.xml deleted file mode 100644 index 6adfe9a08de..00000000000 --- a/parrot-assembly/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Parrot Assembly Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:03Z - Weekly Trending of Parrot Assembly in GitHub - - \ No newline at end of file diff --git a/parrot-internal-representation/daily/index.xml b/parrot-internal-representation/daily/index.xml index d39e0be5451..79b16dcc2be 100644 --- a/parrot-internal-representation/daily/index.xml +++ b/parrot-internal-representation/daily/index.xml @@ -1,7 +1,7 @@ GitHub Parrot Internal Representation Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:57Z + 2023-10-23T01:36:30Z Daily Trending of Parrot Internal Representation in GitHub \ No newline at end of file diff --git a/parrot-internal-representation/weekly/index.xml b/parrot-internal-representation/weekly/index.xml deleted file mode 100644 index 3a4bd30dba9..00000000000 --- a/parrot-internal-representation/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Parrot Internal Representation Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:04Z - Weekly Trending of Parrot Internal Representation in GitHub - - \ No newline at end of file diff --git a/parrot/daily/index.xml b/parrot/daily/index.xml index 84757338956..2c0bf2db523 100644 --- a/parrot/daily/index.xml +++ b/parrot/daily/index.xml @@ -1,7 +1,7 @@ GitHub Parrot Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:38:58Z + 2023-10-23T01:36:29Z Daily Trending of Parrot in GitHub \ No newline at end of file diff --git a/parrot/weekly/index.xml b/parrot/weekly/index.xml deleted file mode 100644 index dc69d2e5733..00000000000 --- a/parrot/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Parrot Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:04Z - Weekly Trending of Parrot in GitHub - - \ No newline at end of file diff --git a/pascal/daily/index.xml b/pascal/daily/index.xml index 77f4636c065..64af862e017 100644 --- a/pascal/daily/index.xml +++ b/pascal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pascal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:03Z + 2023-10-23T01:36:37Z Daily Trending of Pascal in GitHub \ No newline at end of file diff --git a/pascal/weekly/index.xml b/pascal/weekly/index.xml deleted file mode 100644 index dc516ad9230..00000000000 --- a/pascal/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Pascal Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:10Z - Weekly Trending of Pascal in GitHub - - - casamagalhaes/varejofacil-sdk-delphi - 2023-10-22T01:58:10Z - tag:github.com,2023-10-22:/casamagalhaes/varejofacil-sdk-delphi - - <p></p><hr> - - - winddriver/Delphi-Cross-Socket - 2023-10-22T01:58:10Z - tag:github.com,2023-10-22:/winddriver/Delphi-Cross-Socket - - <p>Delphi cross platform socket library</p><hr> - - \ No newline at end of file diff --git a/pawn/daily/index.xml b/pawn/daily/index.xml index e1d5be75811..ea596281525 100644 --- a/pawn/daily/index.xml +++ b/pawn/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pawn Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:01Z + 2023-10-23T01:36:35Z Daily Trending of Pawn in GitHub \ No newline at end of file diff --git a/pawn/weekly/index.xml b/pawn/weekly/index.xml deleted file mode 100644 index 2b5b3aef848..00000000000 --- a/pawn/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pawn Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:06Z - Weekly Trending of Pawn in GitHub - - \ No newline at end of file diff --git a/peg.js/daily/index.xml b/peg.js/daily/index.xml index bed87691f0c..0f1a5696088 100644 --- a/peg.js/daily/index.xml +++ b/peg.js/daily/index.xml @@ -1,7 +1,7 @@ GitHub PEG.js Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:00Z + 2023-10-23T01:36:34Z Daily Trending of PEG.js in GitHub \ No newline at end of file diff --git a/peg.js/weekly/index.xml b/peg.js/weekly/index.xml deleted file mode 100644 index 7dd5f480e0e..00000000000 --- a/peg.js/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PEG.js Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:08Z - Weekly Trending of PEG.js in GitHub - - \ No newline at end of file diff --git a/pep8/daily/index.xml b/pep8/daily/index.xml index c7b4aa685c9..a17202cbc3b 100644 --- a/pep8/daily/index.xml +++ b/pep8/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pep8 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:04Z + 2023-10-23T01:36:39Z Daily Trending of Pep8 in GitHub \ No newline at end of file diff --git a/pep8/weekly/index.xml b/pep8/weekly/index.xml deleted file mode 100644 index 07e81f4c751..00000000000 --- a/pep8/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pep8 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:11Z - Weekly Trending of Pep8 in GitHub - - \ No newline at end of file diff --git a/perl/daily/index.xml b/perl/daily/index.xml index bdab3465afc..500316c0c61 100644 --- a/perl/daily/index.xml +++ b/perl/daily/index.xml @@ -1,14 +1,14 @@ GitHub Perl Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:11Z + 2023-10-23T01:36:44Z Daily Trending of Perl in GitHub - estrai/Bot-BasicBot-Pluggable-Module-ReviewBoard - 2023-10-22T01:39:11Z - tag:github.com,2023-10-22:/estrai/Bot-BasicBot-Pluggable-Module-ReviewBoard - - <p>Bot::BasicBot::Pluggable::Module::ReviewBoard - Review Board Basic Bot IRC plugin</p><hr> + PixelExperience-Staging/prebuilts_tools-custom + 2023-10-23T01:36:44Z + tag:github.com,2023-10-23:/PixelExperience-Staging/prebuilts_tools-custom + + <p></p><hr> \ No newline at end of file diff --git a/perl/weekly/index.xml b/perl/weekly/index.xml deleted file mode 100644 index 0bd7fdfce5a..00000000000 --- a/perl/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Perl Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:17Z - Weekly Trending of Perl in GitHub - - - solgenomics/Hdf5 - 2023-10-22T01:58:17Z - tag:github.com,2023-10-22:/solgenomics/Hdf5 - - <p>A REST-based SNP server with an Hdf5 backend</p><hr><h1>Hdf5 Server</h1> <p>A REST-based SNP server with an Hdf5 backend</p> <p>To retrieve individual SNP calls, it implements a simple API based on the following URL structure:</p> <pre><code>/hdf5/get/&lt; row | col &gt;/&lt;dataset&gt;/&lt;name&gt; </code></pre> <p>"dataset" denotes an HDF5 file, name is the column or row name (marker name or accession id).</p> <p>Returns a JSON structure names and scores as keys and values, in the following data structure:</p> <p>response = { query: querydata, data: responsedata, };</p> <p>An 'error' key is present if an error occurs, with the value as the human readable error message.</p> <p>Examples:</p> <ul> <li> <p><a href="http://hdf5.sgn.cornell.edu/hdf5/get/col/hdf5_test/MARKER_5607">http://hdf5.sgn.cornell.edu/hdf5/get/col/hdf5_test/MARKER_5607</a></p> </li> <li> <p><a href="http://hdf5.sgn.cornell.edu/hdf5/get/row/hdf5_test/39281">http://hdf5.sgn.cornell.edu/hdf5/get/row/hdf5_test/39281</a></p> </li> </ul> <p>List available datasets:</p> <pre><code>/hdf5/datasets </code></pre> <p>JSON:</p> <p>response = { datasets: datasetlist }</p> - - - embest-tech/android_external_linux-firmware-imx - 2023-10-22T01:58:17Z - tag:github.com,2023-10-22:/embest-tech/android_external_linux-firmware-imx - - <p></p><hr> - - \ No newline at end of file diff --git a/php/daily/index.xml b/php/daily/index.xml index 1352801971c..bac910ec286 100644 --- a/php/daily/index.xml +++ b/php/daily/index.xml @@ -1,7 +1,14 @@ GitHub PHP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:21Z + 2023-10-23T01:36:53Z Daily Trending of PHP in GitHub + + 4jean/lav_sms + 2023-10-23T01:36:53Z + tag:github.com,2023-10-23:/4jean/lav_sms + + <p>Laravel School Management System (LAVSMS)</p><hr><h2><strong>Laravel School Management System</strong></h2> <p><strong>LAVSMS</strong> is developed for educational institutions like schools and colleges built on Laravel 8</p> <p><strong>SCREENSHOTS</strong></p> <p><strong>Dashboard</strong> <img src="https://i.ibb.co/D4T0z6T/dashboard.png" alt="dashboard" border="0"></p> <p><strong>Login</strong> <img src="https://i.ibb.co/Rh1Bfwk/login.png" alt="login" border="0"></p> <p><strong>Student Marksheet</strong> <img src="https://i.ibb.co/GCgv5ZR/marksheet.png" alt="marksheet" border="0"></p> <p><strong>System Settings</strong> <img src="https://i.ibb.co/Kmrhw69/system-settings.png" alt="system-settings" border="0"></p> <p><strong>Print Marksheet</strong></p> <div style="clear: both"> </div> <img src="https://i.ibb.co/5c1GHCj/capture-20210530-115521-crop.png" alt="print-marksheet"> <p><strong>Print Tabulation Sheet &amp; Marksheet</strong> <img src="https://i.ibb.co/QmscPfn/capture-20210530-115802.png" alt="tabulation-sheet" border="0"></p> <hr> <p>There are 7 types of user accounts. They include:</p> <p>Administrators (Super Admin &amp; Admin)</p> <ul> <li>Librarian</li> <li>Accountant</li> <li>Teacher</li> <li>Student</li> <li>Parent</li> </ul> <p><strong>Requirements</strong></p> <p>Check Laravel 8 Requirements <a href="https://laravel.com/docs/8.x">https://laravel.com/docs/8.x</a></p> <p><strong>Installation</strong></p> <ul> <li>Install dependencies (composer install)</li> <li>Set Database Credentials &amp; App Settings in dotenv file (.env)</li> <li>Migrate Database (php artisan migrate)</li> <li>Database seed (php artisan db:seed)</li> </ul> <p><strong>Login Credentials</strong> After seeding. Login details as follows:</p> <table> <thead> <tr> <th>Account Type</th> <th>Username</th> <th>Email</th> <th>Password</th> </tr> </thead> <tbody> <tr> <td>Super Admin</td> <td>cj</td> <td><a href="mailto:cj@cj.com">cj@cj.com</a></td> <td>cj</td> </tr> <tr> <td>Admin</td> <td>admin</td> <td><a href="mailto:admin@admin.com">admin@admin.com</a></td> <td>cj</td> </tr> <tr> <td>Teacher</td> <td>teacher</td> <td><a href="mailto:teacher@teacher.com">teacher@teacher.com</a></td> <td>cj</td> </tr> <tr> <td>Parent</td> <td>parent</td> <td><a href="mailto:parent@parent.com">parent@parent.com</a></td> <td>cj</td> </tr> <tr> <td>Accountant</td> <td>accountant</td> <td><a href="mailto:accountant@accountant.com">accountant@accountant.com</a></td> <td>cj</td> </tr> <tr> <td>Student</td> <td>student</td> <td><a href="mailto:student@student.com">student@student.com</a></td> <td>cj</td> </tr> </tbody> </table> <h4><strong>FUNCTIONS OF ACCOUNTS</strong></h4> <p><strong>-- SUPER ADMIN</strong></p> <ul> <li>Only Super Admin can delete any record</li> <li>Create any user account</li> </ul> <p><strong>-- Administrators (Super Admin &amp; Admin)</strong></p> <ul> <li>Manage students class/sections</li> <li>View marksheet of students</li> <li>Create, Edit and manage all user accounts &amp; profiles</li> <li>Create, Edit and manage Exams &amp; Grades</li> <li>Create, Edit and manage Subjects</li> <li>Manage noticeboard of school</li> <li>Notices are visible in calendar in dashboard</li> <li>Edit system settings</li> <li>Manage Payments &amp; fees</li> </ul> <p><strong>-- ACCOUNTANT</strong></p> <ul> <li>Manage Payments &amp; fees</li> <li>Print Payment Receipts</li> </ul> <p><strong>-- LIBRARIAN</strong></p> <ul> <li>Manage Books in the Library</li> </ul> <p><strong>-- TEACHER</strong></p> <ul> <li>Manage Own Class/Section</li> <li>Manage Exam Records for own Subjects</li> <li>Manage Timetable if Assigned as Class Teacher</li> <li>Manage own profile</li> <li>Upload Study Materials</li> </ul> <p><strong>-- STUDENT</strong></p> <ul> <li>View teacher profile</li> <li>View own class subjects</li> <li>View own marks and class timetable</li> <li>View Payments</li> <li>View library and book status</li> <li>View noticeboard and school events in calendar</li> <li>Manage own profile</li> </ul> <p><strong>-- PARENT</strong></p> <ul> <li>View teacher profile</li> <li>View own child's marksheet (Download/Print PDF)</li> <li>View own child's Timetable</li> <li>View own child's payments</li> <li>View noticeboard and school events in calendar</li> <li>Manage own profile</li> </ul> <h3><strong>Contributing</strong></h3> <p>Your Contributions &amp; suggestions are welcomed. Please use Pull Request</p> <h3><strong>Security Vulnerabilities</strong></h3> <p>If you discover a security vulnerability within LAV_SMS, please send an e-mail to CJ Inspired via <a href="mailto:cjay.pub@gmail.com">cjay.pub@gmail.com</a>. All security vulnerabilities will be promptly addressed.</p> <p><em><strong>Please Note</strong></em> that some sections of this project are in the work-in-progress stage and would be updated soon. These include:</p> <ul> <li>The Noticeboard/Calendar in the Dashboard Area</li> <li>Librarian/Acountant user pages</li> <li>Library Resources/Study Materials Upload for Students</li> </ul> <h3><strong>Contact [CJ INSPIRED]</strong></h3> <ul> <li>Phone : +2347068149559</li> </ul> + \ No newline at end of file diff --git a/php/weekly/index.xml b/php/weekly/index.xml deleted file mode 100644 index fd4a6daef08..00000000000 --- a/php/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub PHP Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:21Z - Weekly Trending of PHP in GitHub - - - mike42/escpos-php - 2023-10-22T01:58:21Z - tag:github.com,2023-10-22:/mike42/escpos-php - - <p>PHP library for printing to ESC/POS-compatible thermal and impact printers</p><hr><h1>ESC/POS Print Driver for PHP</h1> <p><a href="https://travis-ci.org/mike42/escpos-php"><img src="https://travis-ci.org/mike42/escpos-php.svg?branch=master" alt="Build Status"></a> <a href="https://packagist.org/packages/mike42/escpos-php"><img src="https://poser.pugx.org/mike42/escpos-php/v/stable" alt="Latest Stable Version"></a> <a href="https://packagist.org/packages/mike42/escpos-php"><img src="https://poser.pugx.org/mike42/escpos-php/downloads" alt="Total Downloads"></a> <a href="https://packagist.org/packages/mike42/escpos-php"><img src="https://poser.pugx.org/mike42/escpos-php/license" alt="License"></a> <a href="https://coveralls.io/github/mike42/escpos-php?branch=development"><img src="https://coveralls.io/repos/github/mike42/escpos-php/badge.svg?branch=development" alt="Coverage Status"></a></p> <p>This project implements a subset of Epson's ESC/POS protocol for thermal receipt printers. It allows you to generate and print receipts with basic formatting, cutting, and barcodes on a compatible printer.</p> <p>The library was developed to add drop-in support for receipt printing to any PHP app, including web-based point-of-sale (POS) applications.</p> <h2>Compatibility</h2> <h3>Interfaces and operating systems</h3> <p>This driver is known to work with the following OS/interface combinations:</p> <table> <tbody> <tr> <th>&nbsp;</th> <th>Linux</th> <th>Mac</th> <th>Windows</th> </tr> <tr> <th>Ethernet</th> <td><a href="https://github.com/mike42/escpos-php/tree/master/example/interface/ethernet.php">Yes</a></td> <td><a href="https://github.com/mike42/escpos-php/tree/master/example/interface/ethernet.php">Yes</a></td> <td><a href="https://github.com/mike42/escpos-php/tree/master/example/interface/ethernet.php">Yes</a></td> </tr> <tr> <th>USB</th> <td><a href="https://github.com/mike42/escpos-php/tree/master/example/interface/linux-usb.php">Yes</a></td> <td>Not tested</td> <td><a href="https://github.com/mike42/escpos-php/tree/master/example/interface/windows-usb.php">Yes</a></td> </tr> <tr> <th>USB-serial</th> <td>Yes</td> <td>Yes</td> <td>Yes</td> </tr> <tr> <th>Serial</th> <td>Yes</td> <td>Yes</td> <td>Yes</td> </tr> <tr> <th>Parallel</th> <td><a href="https://github.com/mike42/escpos-php/tree/master/example/interface/windows-lpt.php">Yes</a></td> <td>Not tested</td> <td>Yes</td> </tr> <tr> <th>SMB shared</th> <td><a href="https://github.com/mike42/escpos-php/tree/master/example/interface/smb.php">Yes</a></td> <td>No</td> <td><a href="https://github.com/mike42/escpos-php/tree/master/example/interface/smb.php">Yes</a></td> </tr> <tr> <th>CUPS hosted</th> <td><a href="https://github.com/mike42/escpos-php/tree/master/example/interface/cups.php">Yes</a></td> <td><a href="https://github.com/mike42/escpos-php/tree/master/example/interface/cups.php">Yes</a></td> <td>No</td> </tr> </tbody> </table> <h3>Printers</h3> <p>Many thermal receipt printers support ESC/POS to some degree. This driver has been known to work with:</p> <ul> <li>3nStar RPT-008</li> <li>Approx APPPOS80AM</li> <li>AURES ODP-333</li> <li>AURES ODP-500</li> <li>Bematech-4200-TH</li> <li>Bematech LR2000E</li> <li>Birch PRP-085III</li> <li>Bixolon SRP-350III</li> <li>Bixolon SRP-350Plus</li> <li>Black Copper BC-85AC</li> <li>CHD TH-305N</li> <li>Citizen CBM1000-II</li> <li>Citizen CT-S310II</li> <li>Dapper-Geyi Q583P</li> <li>Daruma DR800</li> <li>DR-MP200 (manufacturer unknown)</li> <li>EPOS TEP 220M</li> <li>Elgin i9</li> <li>Epson EU-T332C</li> <li>Epson FX-890 (requires <code>feedForm()</code> to release paper).</li> <li>Epson TM-T20</li> <li>Epson TM-T20II</li> <li>Epson TM-T70</li> <li>Epson TM-T70II</li> <li>Epson TM-T81</li> <li>Epson TM-T82II</li> <li>Epson TM-T88II</li> <li>Epson TM-T88III</li> <li>Epson TM-T88IV</li> <li>Epson TM-T88V</li> <li>Epson TM-U220</li> <li>Epson TM-U295 (requires <code>release()</code> to release slip).</li> <li>Epson TM-U590 and TM-U590P</li> <li>Equal (EQ-IT-001) POS-58</li> <li>Everycom EC-58</li> <li>Excelvan HOP-E200</li> <li>Excelvan HOP-E58</li> <li>Excelvan HOP-E801</li> <li>Gainscha GP-2120TF</li> <li>Gainscha GP-5890x (Also marketed as EC Line 5890x)</li> <li>Gainscha GP-U80300I (Also marketed as gprinter GP-U80300I)</li> <li>gprinter GP-U80160I</li> <li>HOIN HOP-H58</li> <li>Ithaca iTherm 28</li> <li>Hasar HTP 250</li> <li>Metapace T-1</li> <li>Metapace T-25</li> <li>Nexa PX700</li> <li>Nyear NP100</li> <li>OKI RT322</li> <li>OKI 80 Plus III</li> <li>Orient BTP-R580</li> <li>P-822D</li> <li>P85A-401 (make unknown)</li> <li>Partner Tech RP320</li> <li>POSLIGNE ODP200H-III-G</li> <li>QPOS Q58M</li> <li>Rongta RP326US</li> <li>Rongta RP58-U</li> <li>Rongta RP80USE</li> <li>SAM4S GIANT-100DB</li> <li>Senor TP-100</li> <li>Sewoo SLK-TS400</li> <li>SEYPOS PRP-96</li> <li>SEYPOS PRP-300 (Also marketed as TYSSO PRP-300)</li> <li>SNBC BTP-R880NPIII</li> <li>Solux SX-TP-88300</li> <li>Sicar POS-80</li> <li>Silicon SP-201 / RP80USE</li> <li>SPRT SP-POS88V</li> <li>Star BSC10</li> <li>Star TSP100 ECO</li> <li>Star TSP100III FuturePRNT</li> <li>Star TSP-650</li> <li>Star TUP-592</li> <li>TVS RP45 Shoppe</li> <li>Venus V248T</li> <li>Xeumior SM-8330</li> <li>Xprinter F-900</li> <li>Xprinter XP-365B</li> <li>Xprinter XP-58 Series</li> <li>Xprinter XP-80C</li> <li>Xprinter XP-90</li> <li>XPrinter XP-Q20011</li> <li>Xprinter XP-Q800</li> <li>Zjiang NT-58H</li> <li>Zjiang ZJ-5870</li> <li>Zjiang ZJ-5890 (Also sold as POS-5890 by many vendors; ZJ-5890K, ZJ-5890T also work).</li> <li>Zjiang ZJ-8220 (Also marketed as Excelvan ZJ-8220)</li> <li>Zjiang ZJ-8250</li> </ul> <p>If you use any other printer with this code, please <a href="https://github.com/mike42/escpos-php/issues/new">let us know</a> so that it can be added to the list.</p> <h2>Basic usage</h2> <h3>Include the library</h3> <h4>Composer</h4> <p>This library is designed for use with the <code>composer</code> PHP dependency manager. Simply add the <code>mike42/escpos-php</code> package to get started:</p> <pre><code class="language-bash">composer require mike42/escpos-php </code></pre> <p>If you haven't used <code>composer</code> before, you can read about it at <a href="https://getcomposer.org/">getcomposer.org</a>.</p> <h4>Requirements</h4> <p>This project has few hard dependencies:</p> <ul> <li>PHP 7.3 or newer.</li> <li><code>json</code> extension, used to load bundled printer definitions (see <a href="https://www.php.net/manual/en/book.json.php">documentation</a>)</li> <li><code>intl</code> extension, used for character encoding (see <a href="https://www.php.net/manual/en/book.intl.php">documentation</a>)</li> <li><code>zlib</code> extension, used for de-compressing bundled resources (see <a href="https://www.php.net/manual/en/book.zlib.php">documentation</a>).</li> </ul> <p>It is also suggested that you install either <code>imagick</code> or <code>gd</code>, as these can be used to speed up image processing.</p> <p>A number of optional extensions can be added to enable more specific features. These are described in the "suggest" section of <a href="https://github.com/mike42/escpos-php/tree/master/composer.json">composer.json</a>.</p> <h3>The 'Hello World' receipt</h3> <p>To make use of this driver, your server (where PHP is installed) must be able to communicate with your printer. Start by generating a simple receipt and sending it to your printer using the command-line.</p> <pre><code class="language-php">&lt;?php /* Call this file 'hello-world.php' */ require __DIR__ . '/vendor/autoload.php'; use Mike42\Escpos\PrintConnectors\FilePrintConnector; use Mike42\Escpos\Printer; $connector = new FilePrintConnector("php://stdout"); $printer = new Printer($connector); $printer -&gt; text("Hello World!\n"); $printer -&gt; cut(); $printer -&gt; close(); </code></pre> <p>Some examples are below for common interfaces.</p> <p>Communicate with a printer with an Ethernet interface using <code>netcat</code>:</p> <pre><code class="language-bash">php hello-world.php | nc 10.x.x.x. 9100 </code></pre> <p>A USB local printer connected with <code>usblp</code> on Linux has a device file (Includes USB-parallel interfaces):</p> <pre><code class="language-bash">php hello-world.php &gt; /dev/usb/lp0 </code></pre> <p>A computer installed into the local <code>cups</code> server is accessed through <code>lp</code> or <code>lpr</code>:</p> <pre><code class="language-bash">php hello-world.php &gt; foo.txt lpr -o raw -H localhost -P printer foo.txt </code></pre> <p>A local or networked printer on a Windows computer is mapped in to a file, and generally requires you to share the printer first:</p> <pre><code>php hello-world.php &gt; foo.txt net use LPT1 \\server\printer copy foo.txt LPT1 del foo.txt </code></pre> <p>If you have troubles at this point, then you should consult your OS and printer system documentation to try to find a working print command.</p> <h3>Using a PrintConnector</h3> <p>To print receipts from PHP, use the most applicable <a href="https://github.com/mike42/escpos-php/tree/master/src/Mike42/Escpos/PrintConnectors">PrintConnector</a> for your setup. The connector simply provides the plumbing to get data to the printer.</p> <p>For example, a <code>NetworkPrintConnector</code> accepts an IP address and port:</p> <pre><code class="language-php">use Mike42\Escpos\PrintConnectors\NetworkPrintConnector; use Mike42\Escpos\Printer; $connector = new NetworkPrintConnector("10.x.x.x", 9100); $printer = new Printer($connector); try { // ... Print stuff } finally { $printer -&gt; close(); } </code></pre> <p>While a serial printer might use:</p> <pre><code class="language-php">use Mike42\Escpos\PrintConnectors\FilePrintConnector; use Mike42\Escpos\Printer; $connector = new FilePrintConnector("/dev/ttyS0"); $printer = new Printer($connector); </code></pre> <p>For each OS/interface combination that's supported, there are examples in the compatibility section of how a <code>PrintConnector</code> would be constructed. If you can't get a <code>PrintConnector</code> to work, then be sure to include the working print command in your issue.</p> <h3>Using a CapabilityProfile</h3> <p>Support for commands and code pages varies between printer vendors and models. By default, the driver will accept UTF-8, and output commands that are suitable for Epson TM-series printers.</p> <p>When trying out a new brand of printer, it's a good idea to use the "simple" <code>CapabilityProfile</code>, which instructs the driver to avoid the use of advanced features (generally simpler image handling, ASCII-only text).</p> <pre><code class="language-php">use Mike42\Escpos\PrintConnectors\WindowsPrintConnector; use Mike42\Escpos\CapabilityProfile; $profile = CapabilityProfile::load("simple"); $connector = new WindowsPrintConnector("smb://computer/printer"); $printer = new Printer($connector, $profile); </code></pre> <p>As another example, Star-branded printers use different commands:</p> <pre><code class="language-php">use Mike42\Escpos\PrintConnectors\WindowsPrintConnector; use Mike42\Escpos\CapabilityProfile; $profile = CapabilityProfile::load("SP2000") $connector = new WindowsPrintConnector("smb://computer/printer"); $printer = new Printer($connector, $profile); </code></pre> <p>For a list of available profiles, or to have support for your printer improved, please see the upstream <a href="https://github.com/receipt-print-hq/escpos-printer-db">receipt-print-hq/escpos-printer-db</a> project.</p> <h3>Tips &amp; examples</h3> <p>On Linux, your printer device file will be somewhere like <code>/dev/lp0</code> (parallel), <code>/dev/usb/lp1</code> (USB), <code>/dev/ttyUSB0</code> (USB-Serial), <code>/dev/ttyS0</code> (serial).</p> <p>On Windows, the device files will be along the lines of <code>LPT1</code> (parallel) or <code>COM1</code> (serial). Use the <code>WindowsPrintConnector</code> to tap into system printing on Windows (eg. <a href="https://github.com/mike42/escpos-php/tree/master/example/interface/windows-usb.php">Windows USB</a>, <a href="https://github.com/mike42/escpos-php/tree/master/example/interface/smb.php">SMB</a> or <a href="https://github.com/mike42/escpos-php/tree/master/example/interface/windows-lpt.php">Windows LPT</a>) - this submits print jobs via a queue rather than communicating directly with the printer.</p> <p>A complete real-world receipt can be found in the code of <a href="https://github.com/mike42/Auth">Auth</a> in <a href="https://github.com/mike42/Auth/raw/master/lib/misc/ReceiptPrinter.php">ReceiptPrinter.php</a>. It includes justification, boldness, and a barcode.</p> <p>Other examples are located in the <a href="https://github.com/mike42/escpos-php/raw/master/example/">example/</a> directory.</p> <h2>Available methods</h2> <h3>__construct(PrintConnector $connector, CapabilityProfile $profile)</h3> <p>Construct new print object.</p> <p>Parameters:</p> <ul> <li><code>PrintConnector $connector</code>: The PrintConnector to send data to.</li> <li><code>CapabilityProfile $profile</code> Supported features of this printer. If not set, the "default" CapabilityProfile will be used, which is suitable for Epson printers.</li> </ul> <p>See <a href="https://github.com/mike42/escpos-php/tree/master/example/interface/">example/interface/</a> for ways to open connections for different platforms and interfaces.</p> <h3>barcode($content, $type)</h3> <p>Print a barcode.</p> <p>Parameters:</p> <ul> <li><code>string $content</code>: The information to encode.</li> <li><code>int $type</code>: The barcode standard to output. If not specified, <code>Printer::BARCODE_CODE39</code> will be used.</li> </ul> <p>Currently supported barcode standards are (depending on your printer):</p> <ul> <li><code>BARCODE_UPCA</code></li> <li><code>BARCODE_UPCE</code></li> <li><code>BARCODE_JAN13</code></li> <li><code>BARCODE_JAN8</code></li> <li><code>BARCODE_CODE39</code></li> <li><code>BARCODE_ITF</code></li> <li><code>BARCODE_CODABAR</code></li> </ul> <p>Note that some barcode standards can only encode numbers, so attempting to print non-numeric codes with them may result in strange behaviour.</p> <h3>bitImage(EscposImage $image, $size)</h3> <p>See <a href="https://raw.githubusercontent.com/mike42/escpos-php/development/#graphicsescposimage-image-size">graphics()</a> below.</p> <h3>cut($mode, $lines)</h3> <p>Cut the paper.</p> <p>Parameters:</p> <ul> <li><code>int $mode</code>: Cut mode, either <code>Printer::CUT_FULL</code> or <code>Printer::CUT_PARTIAL</code>. If not specified, <code>Printer::CUT_FULL</code> will be used.</li> <li><code>int $lines</code>: Number of lines to feed before cutting. If not specified, 3 will be used.</li> </ul> <h3>feed($lines)</h3> <p>Print and feed line / Print and feed n lines.</p> <p>Parameters:</p> <ul> <li><code>int $lines</code>: Number of lines to feed</li> </ul> <h3>feedForm()</h3> <p>Some printers require a form feed to release the paper. On most printers, this command is only useful in page mode, which is not implemented in this driver.</p> <h3>feedReverse($lines)</h3> <p>Print and reverse feed n lines.</p> <p>Parameters:</p> <ul> <li><code>int $lines</code>: number of lines to feed. If not specified, 1 line will be fed.</li> </ul> <h3>graphics(EscposImage $image, $size)</h3> <p>Print an image to the printer.</p> <p>Parameters:</p> <ul> <li><code>EscposImage $img</code>: The image to print.</li> <li><code>int $size</code>: Output size modifier for the image.</li> </ul> <p>Size modifiers are:</p> <ul> <li><code>IMG_DEFAULT</code> (leave image at original size)</li> <li><code>IMG_DOUBLE_WIDTH</code></li> <li><code>IMG_DOUBLE_HEIGHT</code></li> </ul> <p>A minimal example:</p> <pre><code class="language-php">&lt;?php $img = EscposImage::load("logo.png"); $printer -&gt; graphics($img); </code></pre> <p>See the <a href="https://github.com/mike42/escpos-php/raw/master/example/">example/</a> folder for detailed examples.</p> <p>The function <a href="https://raw.githubusercontent.com/mike42/escpos-php/development/#bitimageescposimage-image-size">bitImage()</a> takes the same parameters, and can be used if your printer doesn't support the newer graphics commands. As an additional fallback, the <code>bitImageColumnFormat()</code> function is also provided.</p> <h3>initialize()</h3> <p>Initialize printer. This resets formatting back to the defaults.</p> <h3>pdf417Code($content, $width, $heightMultiplier, $dataColumnCount, $ec, $options)</h3> <p>Print a two-dimensional data code using the PDF417 standard.</p> <p>Parameters:</p> <ul> <li><code>string $content</code>: Text or numbers to store in the code</li> <li><code>number $width</code>: Width of a module (pixel) in the printed code. Default is 3 dots.</li> <li><code>number $heightMultiplier</code>: Multiplier for height of a module. Default is 3 times the width.</li> <li><code>number $dataColumnCount</code>: Number of data columns to use. 0 (default) is to auto-calculate. Smaller numbers will result in a narrower code, making larger pixel sizes possible. Larger numbers require smaller pixel sizes.</li> <li><code>real $ec</code>: Error correction ratio, from 0.01 to 4.00. Default is 0.10 (10%).</li> <li><code>number $options</code>: Standard code <code>Printer::PDF417_STANDARD</code> with start/end bars, or truncated code <code>Printer::PDF417_TRUNCATED</code> with start bars only.</li> </ul> <h3>pulse($pin, $on_ms, $off_ms)</h3> <p>Generate a pulse, for opening a cash drawer if one is connected. The default settings (0, 120, 240) should open an Epson drawer.</p> <p>Parameters:</p> <ul> <li><code>int $pin</code>: 0 or 1, for pin 2 or pin 5 kick-out connector respectively.</li> <li><code>int $on_ms</code>: pulse ON time, in milliseconds.</li> <li><code>int $off_ms</code>: pulse OFF time, in milliseconds.</li> </ul> <h3>qrCode($content, $ec, $size, $model)</h3> <p>Print the given data as a QR code on the printer.</p> <ul> <li><code>string $content</code>: The content of the code. Numeric data will be more efficiently compacted.</li> <li><code>int $ec</code> Error-correction level to use. One of <code>Printer::QR_ECLEVEL_L</code> (default), <code>Printer::QR_ECLEVEL_M</code>, <code>Printer::QR_ECLEVEL_Q</code> or <code>Printer::QR_ECLEVEL_H</code>. Higher error correction results in a less compact code.</li> <li><code>int $size</code>: Pixel size to use. Must be 1-16 (default 3)</li> <li><code>int $model</code>: QR code model to use. Must be one of <code>Printer::QR_MODEL_1</code>, <code>Printer::QR_MODEL_2</code> (default) or <code>Printer::QR_MICRO</code> (not supported by all printers).</li> </ul> <h3>selectPrintMode($mode)</h3> <p>Select print mode(s).</p> <p>Parameters:</p> <ul> <li><code>int $mode</code>: The mode to use. Default is <code>Printer::MODE_FONT_A</code>, with no special formatting. This has a similar effect to running <code>initialize()</code>.</li> </ul> <p>Several MODE_* constants can be OR'd together passed to this function's <code>$mode</code> argument. The valid modes are:</p> <ul> <li><code>MODE_FONT_A</code></li> <li><code>MODE_FONT_B</code></li> <li><code>MODE_EMPHASIZED</code></li> <li><code>MODE_DOUBLE_HEIGHT</code></li> <li><code>MODE_DOUBLE_WIDTH</code></li> <li><code>MODE_UNDERLINE</code></li> </ul> <h3>setBarcodeHeight($height)</h3> <p>Set barcode height.</p> <p>Parameters:</p> <ul> <li><code>int $height</code>: Height in dots. If not specified, 8 will be used.</li> </ul> <h3>setBarcodeWidth($width)</h3> <p>Set barcode bar width.</p> <p>Parameters:</p> <ul> <li><code>int $width</code>: Bar width in dots. If not specified, 3 will be used. Values above 6 appear to have no effect.</li> </ul> <h3>setColor($color)</h3> <p>Select print color - on printers that support multiple colors.</p> <p>Parameters:</p> <ul> <li><code>int $color</code>: Color to use. Must be either <code>Printer::COLOR_1</code> (default), or <code>Printer::COLOR_2</code></li> </ul> <h3>setDoubleStrike($on)</h3> <p>Turn double-strike mode on/off.</p> <p>Parameters:</p> <ul> <li><code>boolean $on</code>: true for double strike, false for no double strike.</li> </ul> <h3>setEmphasis($on)</h3> <p>Turn emphasized mode on/off.</p> <p>Parameters:</p> <ul> <li><code>boolean $on</code>: true for emphasis, false for no emphasis.</li> </ul> <h3>setFont($font)</h3> <p>Select font. Most printers have two fonts (Fonts A and B), and some have a third (Font C).</p> <p>Parameters:</p> <ul> <li><code>int $font</code>: The font to use. Must be either <code>Printer::FONT_A</code>, <code>Printer::FONT_B</code>, or <code>Printer::FONT_C</code>.</li> </ul> <h3>setJustification($justification)</h3> <p>Select justification.</p> <p>Parameters:</p> <ul> <li><code>int $justification</code>: One of <code>Printer::JUSTIFY_LEFT</code>, <code>Printer::JUSTIFY_CENTER</code>, or <code>Printer::JUSTIFY_RIGHT</code>.</li> </ul> <h3>setLineSpacing($height)</h3> <p>Set the height of the line.</p> <p>Some printers will allow you to overlap lines with a smaller line feed.</p> <p>Parameters:</p> <ul> <li><code>int $height</code>: The height of each line, in dots. If not set, the printer will reset to its default line spacing.</li> </ul> <h3>setPrintLeftMargin($margin)</h3> <p>Set print area left margin. Reset to default with <code>Printer::initialize()</code>.</p> <p>Parameters:</p> <ul> <li><code>int $margin</code>: The left margin to set on to the print area, in dots.</li> </ul> <h3>setPrintWidth($width)</h3> <p>Set print area width. This can be used to add a right margin to the print area. Reset to default with <code>Printer::initialize()</code>.</p> <p>Parameters:</p> <ul> <li><code>int $width</code>: The width of the page print area, in dots.</li> </ul> <h3>setReverseColors($on)</h3> <p>Set black/white reverse mode on or off. In this mode, text is printed white on a black background.</p> <p>Parameters:</p> <ul> <li><code>boolean $on</code>: True to enable, false to disable.</li> </ul> <h3>setTextSize($widthMultiplier, $heightMultiplier)</h3> <p>Set the size of text, as a multiple of the normal size.</p> <p>Parameters:</p> <ul> <li><code>int $widthMultiplier</code>: Multiple of the regular height to use (range 1 - 8).</li> <li><code>int $heightMultiplier</code>: Multiple of the regular height to use (range 1 - 8).</li> </ul> <h3>setUnderline($underline)</h3> <p>Set underline for printed text.</p> <p>Parameters:</p> <ul> <li><code>int $underline</code>: Either <code>true</code>/<code>false</code>, or one of <code>Printer::UNDERLINE_NONE</code>, <code>Printer::UNDERLINE_SINGLE</code> or <code>Printer::UNDERLINE_DOUBLE</code>. Defaults to <code>Printer::UNDERLINE_SINGLE</code>.</li> </ul> <h3>text($str)</h3> <p>Add text to the buffer. Text should either be followed by a line-break, or <code>feed()</code> should be called after this.</p> <p>Parameters:</p> <ul> <li><code>string $str</code>: The string to print.</li> </ul> <h1>Further notes</h1> <p>Posts I've written up for people who are learning how to use receipt printers:</p> <ul> <li><a href="https://mike42.me/blog/what-is-escpos-and-how-do-i-use-it">What is ESC/POS, and how do I use it?</a>, which documents the output of <code>example/demo.php</code>.</li> <li><a href="https://mike42.me/blog/2014-20-26-setting-up-an-epson-receipt-printer">Setting up an Epson receipt printer</a></li> <li><a href="https://mike42.me/blog/2015-03-getting-a-usb-receipt-printer-working-on-linux">Getting a USB receipt printer working on Linux</a></li> </ul> <h1>Development</h1> <p>This code is MIT licensed, and you are encouraged to contribute any modifications back to the project.</p> <p>For development, it's suggested that you load <code>imagick</code>, <code>gd</code> and <code>Xdebug</code> PHP extensions.</p> <p>The tests are executed on <a href="https://travis-ci.org/mike42/escpos-php">Travis CI</a> over PHP 7.3, 7.4 and 8.0. Older versions of PHP are not supported in the current release, nor is HHVM.</p> <p>Fetch a copy of this code and load dependencies with composer:</p> <pre><code>git clone https://github.com/mike42/escpos-php cd escpos-php/ composer install </code></pre> <p>Execute unit tests via <code>phpunit</code>:</p> <pre><code>php vendor/bin/phpunit --coverage-text </code></pre> <p>This project uses the PSR-2 standard, which can be checked via <a href="https://github.com/squizlabs/PHP_CodeSniffer">PHP_CodeSniffer</a>:</p> <pre><code>php vendor/bin/phpcs --standard=psr2 src/ -n </code></pre> <p>The developer docs are build with <a href="https://github.com/doxygen/doxygen">doxygen</a>. Re-build them to check for documentation warnings:</p> <pre><code>make -C doc clean &amp;&amp; make -C doc </code></pre> <p>Pull requests and bug reports welcome.</p> - - - flucont/btcloud - 2023-10-22T01:58:21Z - tag:github.com,2023-10-22:/flucont/btcloud - - <p>PHP开发的宝塔面板第三方云端</p><hr><h1>宝塔面板第三方云端</h1> <p>这是一个用php开发的宝塔面板第三方云端站点程序。</p> <p>你可以使用此程序搭建属于自己的宝塔面板第三方云端,实现最新版宝塔面板私有化部署,不与宝塔官方接口通信,满足隐私安全合规需求。同时还可以去除面板强制绑定账号,DIY面板功能等。</p> <p>网站后台管理可一键同步宝塔官方的插件列表与增量更新插件包,还有云端使用记录、IP黑白名单、操作日志、定时任务等功能。</p> <p>本项目自带的宝塔安装包和更新包是8.0.x最新版,已修改适配此第三方云端,并且全开源,无so等加密文件。</p> <p>觉得该项目不错的可以给个Star~</p> <h2>声明</h2> <p>1.此项目只能以自用为目的,不得侵犯堡塔公司及其他第三方的知识产权和其他合法权利。</p> <p>2.搭建使用此项目必须有一定的编程和Linux运维基础,纯小白不建议使用。</p> <h2>环境要求</h2> <ul> <li><code>PHP</code> &gt;= 7.4</li> <li><code>MySQL</code> &gt;= 5.6</li> <li><code>fileinfo</code>扩展</li> <li><code>ZipArchive</code>扩展</li> </ul> <h2>部署方法</h2> <ul> <li><a href="https://github.com/flucont/btcloud/releases">下载最新版的Release包</a></li> <li>如果是下载的源码包,需要执行 <code>composer install --no-dev</code> 安装依赖,如果是下载的Release包,则不需要</li> <li>设置网站运行目录为<code>public</code></li> <li>设置伪静态为<code>ThinkPHP</code></li> <li>访问网站,会自动跳转到安装页面,根据提示安装完成</li> </ul> <h2>使用方法</h2> <ul> <li>在<code>批量替换工具</code>,执行页面显示的命令,可将bt安装包、更新包和脚本文件里面的<code>http://www.example.com</code>批量替换成当前网站的网址。</li> <li>在<code>系统基本设置</code>修改宝塔面板接口设置。你需要准备一个使用官方最新脚本安装并绑定账号的宝塔面板,用于获取最新插件列表及插件包。并根据界面提示安装好专用插件。</li> <li>在<code>定时任务设置</code>执行所显示的命令从宝塔官方获取最新的插件列表并批量下载插件包(增量更新)。当然你也可以去插件列表,一个一个点击下载。</li> <li>访问网站<code>/download</code>查看使用此第三方云端的一键安装脚本。</li> </ul> <h2>更新方法</h2> <ul> <li><a href="https://github.com/flucont/btcloud/releases">下载最新版的Release包</a></li> <li>上传覆盖除data文件夹以外的全部文件</li> <li>后台使用批量替换工具-&gt;获取最新插件列表-&gt;修改Linux面板等版本号</li> </ul> <h2>其他</h2> <ul> <li> <p><a href="https://raw.githubusercontent.com/flucont/btcloud/main/wiki/update.md">Linux面板官方更新包修改记录</a></p> </li> <li> <p><a href="https://raw.githubusercontent.com/flucont/btcloud/main/wiki/updatewin.md">Windows面板官方更新包修改记录</a></p> </li> <li> <p><a href="https://raw.githubusercontent.com/flucont/btcloud/main/wiki/btmonitor.md">宝塔云监控安装包修改记录</a></p> </li> <li> <p>宝塔面板官方版与此第三方云端版对比:</p> <table> <thead> <tr> <th></th> <th>官方版</th> <th>此第三方云端版</th> </tr> </thead> <tbody> <tr> <td>版本更新</td> <td>支持</td> <td>支持</td> </tr> <tr> <td>面板广告</td> <td>有广告</td> <td>无广告</td> </tr> <tr> <td>是否全开源</td> <td>没有全开源</td> <td>全开源</td> </tr> <tr> <td>资源占用</td> <td>各种统计上报等任务,资源占用略高</td> <td>去除了很多无用的定时任务,资源占较少</td> </tr> <tr> <td>兼容性</td> <td>由于编译的so文件有系统架构限制,兼容的系统仅限已编译的so对应的系统架构</td> <td>由于全开源,没有已编译的so文件,因此无系统架构限制</td> </tr> </tbody> </table> </li> </ul> - - - xing61/xiaoyi-robot - 2023-10-22T01:58:21Z - tag:github.com,2023-10-22:/xing61/xiaoyi-robot - - <p>优质稳定的OpenAI的API接口-For企业和开发者。openai的国内代理,国内接口请求转发,api proxy,提供ChatGPT的API调用,支持openai的API接口,支持:gpt-4,gpt-3.5。不需要使用 API Key, 不需要买openai的账号,不需要科学上网,不需要美元的银行卡,通通不用的,直接调用就行,稳定好用!!智增增,小一机器人</p><hr><h1>优质稳定的OpenAI的API接口-For企业和开发者</h1> <h4>介绍</h4> <p>为企业和开发者提供优质稳定的OpenAI相关的API调用接口。<br> 智增增-大模型的API接口服务商,提供ChatGPT的API调用,支持openai的API接口,支持:gpt-4,gpt-3.5。<br> 要买openai的账号?<br> 要科学上网?<br> 要美元的银行卡?<br> 通通不用的,直接调用就行,简单粗暴,关键稳定好用!!<br> openai的国内代理,国内接口请求转发,api proxy</p> <ul> <li> <p><strong>项目主要优势</strong></p> <ul> <li>不限制使用,可以用微信充值,没有封号风险。</li> <li>不用买openai的账号,不用美元的银行卡。</li> <li>无需代理即可访问,没有任何的阻拦。</li> <li>强大的接口能力,支持openai所有接口和模型:支持GPT-3.5,GPT-4,Embedding,Whisper,Fine-tuning,Image等</li> <li>最广泛的插件支持能力:Sidebar,沉浸式翻译,ChatHub,Chatbox,CodeGPT,ChatGPT-Next-Web等各类大模型插件。如果不想写代码,仅仅想在插件中使用,可以使用我们这个工具:<a href="https://github.com/xing61/chatgpt-plugin-key">https://github.com/xing61/chatgpt-plugin-key</a></li> <li>兼容OpenAI接口格式,可以做到平替。</li> <li>支持对Embeddings支持,可以用接口运行向量库、AutoGPT等应用。</li> <li>支持对stream模式的支持,可以支持原生的各种应用</li> <li>支持文字生成图片</li> <li>支持官方的Whisper模型,支持transcriptions和translations,可以做语音识别和翻译</li> <li>支持fine-tune(微调),可以使用自己的数据来微调GPT的模型,详见示例</li> <li>支持函数调用(function_call),详见示例</li> <li>更多特性支持,敬请期待。也可直接向我们提交需求哦</li> </ul> </li> <li> <p><strong>项目地址</strong><br> 1、项目官方网址:<a href="http://gpt.zhizengzeng.com/#/login">http://gpt.zhizengzeng.com/#/login</a><br> 智增增-大模型的API接口服务商<br> 开发者单独的Secret Key、余额查询、示例代码等可以从管理后台中获取。<br> 2、微信交流群(如果你也对本项目感兴趣,欢迎加入群聊参与讨论交流):<br> <img src="https://github.com/xing61/xiaoyi-robot/assets/38256442/bb859bef-85f0-4451-9061-1a4d6a1b9083" alt="微信截图_20231021132523"></p> </li> <li> <p><strong>注意事项</strong><br> 注意事项!!</p> </li> </ul> <pre><code>现在主要发现是有3个问题, 1、要加一个请求头,api接口文档中有说明: curl -H "Content-Type: application/json" -H "Authorization: Bearer $api_secret_key" -XPOST https://flag.smarttrot.com/v1/chat/completions -d '{"messages": [{"role":"user","content":"请介绍一下你自己"}]}' | iconv -f utf-8 -t utf-8 2、messages传的不对,messages是array 3、api_secret_key传的不对,亲,不能再传openai的了,你要传你从智增增拿到的key(不需要有openai的key哈) </code></pre> <p>注:<br> 1、以下所有接口的base_url: <code>https://flag.smarttrot.com/</code> (支持https)<br> 2、API通过HTTP请求调用。每次请求,需要在HTTP头中携带用户的api_secret_key,用于认证。 开发者单独的api_secret_key,请从智增增管理后台获得。 请求头形如:</p> <pre><code>Content-Type: application/json Authorization: Bearer $api_secret_key </code></pre> <ul> <li><strong>典型用法</strong><br> 典型用法:<br> 1、设置OPENAI_API_KEY环境变量为:智增增后台获取的api_secret_key,替换官方的API_KEY: sk-****** <br> 2、设置OPENAI_API_BASE_URL环境变量为:<code>https://flag.smarttrot.com/v1</code>, 替换官方的域名: <code>https://api.openai.com/v1</code> <br> <img src="https://github.com/xing61/xiaoyi-robot/assets/38256442/14cf6382-c6e8-465c-ab13-49989020fd5e" alt="官方库示例-智增增"></li> </ul> <h2>API文档</h2> <p>(接口请求规范完全和openai一样,可以直接以openai的接口文档为准:<a href="https://platform.openai.com/docs/api-reference/introduction%EF%BC%89">https://platform.openai.com/docs/api-reference/introduction)</a><br></p> <h4>1、创建chat</h4> <p>调用本接口,发起一次对话请求</p> <ul> <li><strong>请求URL</strong></li> </ul> <blockquote> <p><code>v1/chat/completions</code></p> </blockquote> <ul> <li><strong>请求方式</strong></li> </ul> <blockquote> <p><strong>POST</strong></p> </blockquote> <ul> <li><strong>Header参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">值</th> <th align="left">参数说明</th> </tr> </thead> <tbody> <tr> <td align="left">Content-Type</td> <td align="left">application/json</td> <td align="left"></td> </tr> <tr> <td align="left">Authorization</td> <td align="left">Bearer $api_secret_key</td> <td align="left">开发者单独的api_secret_key,请从智增增管理后台获得。推荐在header中设置此字段</td> </tr> </tbody> </table> <ul> <li><strong>请求参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">请求参数</th> <th align="left">参数类型</th> <th align="left">是否必须</th> <th align="left">参数说明</th> </tr> </thead> <tbody> <tr> <td align="left">model</td> <td align="left">string</td> <td align="left">否</td> <td align="left">大模型的类别,目前支持:gpt-4, gpt-4-0314, gpt-4-0613, gpt-4-32k, gpt-4-32k-0613, gpt-3.5-turbo, gpt-3.5-turbo-0613, gpt-3.5-turbo-16k, gpt-3.5-turbo-16k-0613。默认gpt-3.5-turbo</td> </tr> <tr> <td align="left">messages</td> <td align="left">List(message)</td> <td align="left">是</td> <td align="left">聊天上下文信息。说明:<br>(1)messages成员不能为空,1个成员表示单轮对话,多个成员表示多轮对话。<br>(2)最后一个message为当前请求的信息,前面的message为历史对话信息。<br>(3)必须为奇数个成员,成员中message的role必须依次为user、assistant。<br>(4)最后一个message的content长度(即此轮对话的问题)不能超过2000个字符;如果messages中content总长度大于2000字符,系统会依次遗忘最早的历史会话,直到content的总长度不超过2000个字符。</td> </tr> <tr> <td align="left">stream</td> <td align="left">bool</td> <td align="left">否</td> <td align="left">是否以流式接口的形式返回数据,默认false。</td> </tr> <tr> <td align="left">user</td> <td align="left">string</td> <td align="left">否</td> <td align="left">表示最终用户的唯一标识符,可以监视和检测滥用行为,防止接口恶意调用。</td> </tr> </tbody> </table> <p>其它高级参数:</p> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">请求参数</th> <th align="left">参数类型</th> <th align="left">是否必须</th> <th align="left">参数说明</th> </tr> </thead> <tbody> <tr> <td align="left">api_secret_key</td> <td align="left">string</td> <td align="left">否</td> <td align="left">兼容老版接口,api_secret_key在header和此字段二者传其一即可。<br>注意:此字段将在后续版本中逐渐废弃</td> </tr> <tr> <td align="left">temperature</td> <td align="left">number</td> <td align="left">否</td> <td align="left">What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.We generally recommend altering this or top_p but not both.,默认:1。</td> </tr> <tr> <td align="left">top_p</td> <td align="left">number</td> <td align="left">否</td> <td align="left">An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.We generally recommend altering this or temperature but not both.,默认:1。</td> </tr> <tr> <td align="left">n</td> <td align="left">number</td> <td align="left">否</td> <td align="left">How many chat completion choices to generate for each input message. 默认:1。</td> </tr> <tr> <td align="left">stop</td> <td align="left">string</td> <td align="left">否</td> <td align="left">Up to 4 sequences where the API will stop generating further tokens.,默认null。</td> </tr> <tr> <td align="left">max_tokens</td> <td align="left">number</td> <td align="left">否</td> <td align="left">The maximum number of tokens to generate in the chat completion.The total length of input tokens and generated tokens is limited by the model's context length. Example Python code for counting tokens.默认: 不限制。</td> </tr> <tr> <td align="left">presence_penalty</td> <td align="left">number</td> <td align="left">否</td> <td align="left">Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.,默认:0。</td> </tr> <tr> <td align="left">frequency_penalty</td> <td align="left">number</td> <td align="left">否</td> <td align="left">Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.,默认:0。</td> </tr> <tr> <td align="left">logit_bias</td> <td align="left">map</td> <td align="left">否</td> <td align="left">Modify the likelihood of specified tokens appearing in the completion.Accepts a json object that maps tokens (specified by their token ID in the tokenizer) to an associated bias value from -100 to 100. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token.,默认:null。</td> </tr> </tbody> </table> <ul> <li><strong>message说明</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">类型</th> <th align="left">描述</th> </tr> </thead> <tbody> <tr> <td align="left">role</td> <td align="left">string</td> <td align="left">The role of the messages author. One of system, user, assistant, or function.<br> user: 表示用户<br>assistant: 表示对话助手<br>function:表示函数调用<br></td> </tr> <tr> <td align="left">content</td> <td align="left">string</td> <td align="left">对话内容,不能为空。</td> </tr> </tbody> </table> <ul> <li><strong>返回参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">返回参数</th> <th align="left">参数类型</th> <th align="left">参数说明</th> </tr> </thead> <tbody> <tr> <td align="left">code</td> <td align="left">int</td> <td align="left">执行结果code,0表示成功,其它表示失败,失败信息见msg字段</td> </tr> <tr> <td align="left">msg</td> <td align="left">String</td> <td align="left">执行结果消息</td> </tr> <tr> <td align="left">id</td> <td align="left">string</td> <td align="left">本轮对话的id。</td> </tr> <tr> <td align="left">created</td> <td align="left">int</td> <td align="left">时间戳。</td> </tr> <tr> <td align="left">choices</td> <td align="left">List(choice)</td> <td align="left">对话返回结果。</td> </tr> <tr> <td align="left">usage</td> <td align="left">usage</td> <td align="left">token统计信息,token数 = 汉字数+单词数*1.3 (仅为估算逻辑)。</td> </tr> </tbody> </table> <ul> <li><strong>choice说明</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">类型</th> <th align="left">描述</th> </tr> </thead> <tbody> <tr> <td align="left">message</td> <td align="left">message</td> <td align="left">见上文message说明。</td> </tr> <tr> <td align="left">index</td> <td align="left">int</td> <td align="left">当前choice的序号。</td> </tr> <tr> <td align="left">finish_reason</td> <td align="left">string</td> <td align="left">结束原因。</td> </tr> </tbody> </table> <ul> <li><strong>usage说明</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">类型</th> <th align="left">描述</th> </tr> </thead> <tbody> <tr> <td align="left">prompt_tokens</td> <td align="left">int</td> <td align="left">问题tokens数。</td> </tr> <tr> <td align="left">completion_tokens</td> <td align="left">int</td> <td align="left">回答tokens数。</td> </tr> <tr> <td align="left">total_tokens</td> <td align="left">int</td> <td align="left">tokens总数。</td> </tr> </tbody> </table> <ul> <li><strong>请求示例</strong></li> </ul> <blockquote> </blockquote> <p>更多示例见本页:<a href="https://github.com/xing61/xiaoyi-robot/tree/main/%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81">https://github.com/xing61/xiaoyi-robot/tree/main/%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81</a></p> <pre><code>curl -H "Content-Type: application/json" -H "Authorization: Bearer $api_secret_key" -XPOST https://flag.smarttrot.com/v1/chat/completions -d '{ "messages": [ {"role":"user","content":"请介绍一下你自己"}, {"role":"assistant","content":"您好,我是智增增机器人。我能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。"}, {"role":"user","content": "1+100="} ] }' | iconv -f utf-8 -t utf-8 </code></pre> <pre><code>php示例代码: // 设置请求头 $api_secret_key = 'xxxxxxxxxxxxxxxxxx'; // 你的api_secret_key $headers = array( "Content-Type: application/json", "Authorization: Bearer ".$api_secret_key ); // 设置请求参数 $params = array(); $params['user'] = '张三'; { $one = ["role" =&gt; 'user', "content" =&gt; "1+100="]; $messages = array(); $messages[] = $one; $params['messages'] = $messages; } // 调用请求 $cburl = 'https://flag.smarttrot.com/v1/chat/completions'; $chatgpt_resp = Tool::_request('post', $cburl, $params, $headers); $data = json_decode($chatgpt_resp, true); </code></pre> <pre><code>python使用官方库示例代码: import os import openai openai.api_key = "您的api_secret_key" openai.api_base = "https://flag.smarttrot.com/v1" chat_completion = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{ "role": "user", "content": "Hello world" }] ) print(chat_completion.choices[0].message.content) </code></pre> <pre><code>python示例代码: import os import requests import time import json def chat_completions(): url="https://flag.smarttrot.com/v1/chat/completions" api_secret_key = 'xxxxxxxxx'; # 你的api_secret_key headers = {'Content-Type': 'application/json', 'Accept':'application/json', 'Authorization': "Bearer "+api_secret_key} params = {'user':'张三', 'messages':[{'role':'user', 'content':'1+100='}]}; r = requests.post(url, json.dumps(params), headers=headers) print(r.json()) if __name__ == '__main__': chat_completions(); </code></pre> <ul> <li><strong>返回示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>{ "code": 0, "msg": "", "id": "as-bcmt5ct4iy", "created": 1680167072, "choices":[{"message":{"role":"assistant","content":"1+100=101"},"finish_reason":"stop","index":0}], "usage": { "prompt_tokens": 470, "completion_tokens": 198, "total_tokens": 668 } } </code></pre> <h4>2、Completions</h4> <p>Given a prompt, the model will return one or more predicted completions, and can also return the probabilities of alternative tokens at each position.</p> <h4>2.1、Create completion</h4> <p>Creates a completion for the provided prompt and parameters.</p> <ul> <li><strong>请求URL</strong></li> </ul> <blockquote> <p><code>v1/completions</code></p> </blockquote> <ul> <li><strong>请求方式</strong></li> </ul> <blockquote> <p><strong>POST</strong></p> </blockquote> <ul> <li><strong>Header参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">值</th> </tr> </thead> <tbody> <tr> <td align="left">Content-Type</td> <td align="left">application/json</td> </tr> <tr> <td align="left">Authorization</td> <td align="left">Bearer $api_secret_key</td> </tr> </tbody> </table> <ul> <li><strong>请求参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">请求参数</th> <th align="left">参数类型</th> <th align="left">是否必须</th> <th align="left">参数说明</th> </tr> </thead> <tbody> <tr> <td align="left">model</td> <td align="left">string</td> <td align="left">是</td> <td align="left">ID of the model to use. You can use the List models API to see all of your available models, <br>or see our Model overview for descriptions of them.</td> </tr> <tr> <td align="left">prompt</td> <td align="left">string or array</td> <td align="left">否</td> <td align="left">The prompt(s) to generate completions for, encoded as a string, array of strings,<br> array of tokens, or array of token arrays.<br>Note that &lt;</td> </tr> <tr> <td align="left">suffix</td> <td align="left">string</td> <td align="left">否</td> <td align="left">The suffix that comes after a completion of inserted text.Defaults to null</td> </tr> <tr> <td align="left">max_tokens</td> <td align="left">int</td> <td align="left">否</td> <td align="left">The maximum number of tokens to generate in the completion.<br>The token count of your prompt plus max_tokens cannot exceed the model's context length. <br>Example Python code for counting tokens.Defaults to 16</td> </tr> <tr> <td align="left">temperature</td> <td align="left">number</td> <td align="left">否</td> <td align="left">What sampling temperature to use, between 0 and 2. <br>Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.<br>We generally recommend altering this or top_p but not both.Defaults to 1</td> </tr> <tr> <td align="left">top_p</td> <td align="left">number</td> <td align="left">否</td> <td align="left">An alternative to sampling with temperature, called nucleus sampling, <br>where the model considers the results of the tokens with top_p probability mass. <br>So 0.1 means only the tokens comprising the top 10% probability mass are considered.<br>We generally recommend altering this or temperature but not both.Defaults to 1</td> </tr> <tr> <td align="left">n</td> <td align="left">number</td> <td align="left">否</td> <td align="left">How many completions to generate for each prompt.<br>Note: Because this parameter generates many completions, <br>it can quickly consume your token quota. Use carefully and ensure that you have reasonable settings for max_tokens and stop.Defaults to 1</td> </tr> <tr> <td align="left">stream</td> <td align="left">bool</td> <td align="left">否</td> <td align="left">Whether to stream back partial progress. <br>If set, tokens will be sent as data-only server-sent events as they become available, <br>with the stream terminated by a data: [DONE] message. Example Python code.Defaults to false</td> </tr> <tr> <td align="left">logprobs</td> <td align="left">int</td> <td align="left">否</td> <td align="left">Include the log probabilities on the logprobs most likely tokens, <br>as well the chosen tokens. For example, if logprobs is 5, the API will return a list of the 5 most likely tokens. <br>The API will always return the logprob of the sampled token, so there may be up to logprobs+1 elements in the response.<br>The maximum value for logprobs is 5. If you need more than this, <br>please contact us through our Help center and describe your use case.Defaults to null</td> </tr> <tr> <td align="left">echo</td> <td align="left">bool</td> <td align="left">否</td> <td align="left">Echo back the prompt in addition to the completion。Defaults to false</td> </tr> <tr> <td align="left">stop</td> <td align="left">int</td> <td align="left">是</td> <td align="left">Up to 4 sequences where the API will stop generating further tokens. <br>The returned text will not contain the stop sequence.Defaults to null</td> </tr> <tr> <td align="left">presence_penalty</td> <td align="left">int</td> <td align="left">否</td> <td align="left">Number between -2.0 and 2.0. Positive values penalize new tokens <br>based on whether they appear in the text so far, <br>increasing the model's likelihood to talk about new topics.<br>See more information about frequency and presence penalties.Defaults to 0</td> </tr> <tr> <td align="left">frequency_penalty</td> <td align="left">int</td> <td align="left">否</td> <td align="left">Number between -2.0 and 2.0. <br>Positive values penalize new tokens based on their existing frequency in the text so far,<br> decreasing the model's likelihood to repeat the same line verbatim.<br>See more information about frequency and presence penalties.Defaults to 0</td> </tr> <tr> <td align="left">best_of</td> <td align="left">int</td> <td align="left">否</td> <td align="left">Generates best_of completions server-side and returns the "best" (the one with the highest log probability per token). <br>Results cannot be streamed.<br>When used with n, best_of controls the number of candidate completions and n specifies how many to return – <br>best_of must be greater than n.<br>Note: Because this parameter generates many completions, it can quickly consume your token quota. <br>Use carefully and ensure that you have reasonable settings for max_tokens and stop.Defaults to 1</td> </tr> <tr> <td align="left">logit_bias</td> <td align="left">map</td> <td align="left">否</td> <td align="left">Modify the likelihood of specified tokens appearing in the completion.<br>Accepts a json object that maps tokens (specified by their token ID in the GPT tokenizer) to an associated bias value from -100 to 100.<br> You can use this tokenizer tool (which works for both GPT-2 and GPT-3) to convert text to token IDs.<br> Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, <br>but values between -1 and 1 should decrease or increase likelihood of <br>selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token.<br>As an example, you can pass {"50256": -100} to prevent the &lt;</td> </tr> <tr> <td align="left">user</td> <td align="left">string</td> <td align="left">否</td> <td align="left">表示最终用户的唯一标识符,可以监视和检测滥用行为,防止接口恶意调用。</td> </tr> </tbody> </table> <ul> <li><strong>返回参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">返回参数</th> <th align="left">参数类型</th> <th align="left">参数说明</th> </tr> </thead> <tbody> <tr> <td align="left">code</td> <td align="left">int</td> <td align="left">执行结果code</td> </tr> <tr> <td align="left">msg</td> <td align="left">String</td> <td align="left">执行结果消息</td> </tr> <tr> <td align="left">id</td> <td align="left">string</td> <td align="left">本轮对话的id。</td> </tr> <tr> <td align="left">object</td> <td align="left">string</td> <td align="left">text_completion</td> </tr> <tr> <td align="left">created</td> <td align="left">int</td> <td align="left">时间戳。</td> </tr> <tr> <td align="left">model</td> <td align="left">string</td> <td align="left">本次调用的模型</td> </tr> <tr> <td align="left">choices</td> <td align="left">List(choice)</td> <td align="left">对话返回结果。</td> </tr> <tr> <td align="left">usage</td> <td align="left">usage</td> <td align="left">token统计信息,token数 = 汉字数+单词数*1.3 (仅为估算逻辑)。</td> </tr> </tbody> </table> <ul> <li><strong>choice说明</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">类型</th> <th align="left">描述</th> </tr> </thead> <tbody> <tr> <td align="left">text</td> <td align="left">string</td> <td align="left">返回的文本</td> </tr> <tr> <td align="left">index</td> <td align="left">int</td> <td align="left">当前choice的序号。</td> </tr> <tr> <td align="left">logprobs</td> <td align="left">int</td> <td align="left">当前choice的logprobs。</td> </tr> <tr> <td align="left">finish_reason</td> <td align="left">string</td> <td align="left">结束原因。</td> </tr> </tbody> </table> <ul> <li><strong>usage说明</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">类型</th> <th align="left">描述</th> </tr> </thead> <tbody> <tr> <td align="left">prompt_tokens</td> <td align="left">int</td> <td align="left">问题tokens数。</td> </tr> <tr> <td align="left">completion_tokens</td> <td align="left">int</td> <td align="left">回答tokens数。</td> </tr> <tr> <td align="left">total_tokens</td> <td align="left">int</td> <td align="left">tokens总数。</td> </tr> </tbody> </table> <ul> <li><strong>请求示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>curl -H "Content-Type: application/json" -H "Authorization: Bearer $api_secret_key" -XPOST xxxxx/v1/chat/completions -d '{ "messages": [ {"role":"user","content":"请介绍一下你自己"} ] }' | iconv -f utf-8 -t utf-8 </code></pre> <ul> <li><strong>返回示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>{ "code": 0, "msg": "", "id": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7", "object": "text_completion", "created": 1589478378, "model": "text-davinci-003", "choices": [ { "text": "\n\nThis is indeed a test", "index": 0, "logprobs": null, "finish_reason": "length" } ], "usage": { "prompt_tokens": 5, "completion_tokens": 7, "total_tokens": 12 } } </code></pre> <h4>3、图片-创建图片</h4> <p>Given a prompt and/or an input image, the model will generate a new image.</p> <ul> <li><strong>请求URL</strong></li> </ul> <blockquote> <p><code>v1/images/generations</code></p> </blockquote> <ul> <li><strong>请求方式</strong></li> </ul> <blockquote> <p><strong>POST</strong></p> </blockquote> <ul> <li><strong>Header参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">值</th> </tr> </thead> <tbody> <tr> <td align="left">Content-Type</td> <td align="left">application/json</td> </tr> <tr> <td align="left">Authorization</td> <td align="left">Bearer $api_secret_key</td> </tr> </tbody> </table> <ul> <li><strong>请求参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">请求参数</th> <th align="left">参数类型</th> <th align="left">是否必须</th> <th align="left">参数说明</th> </tr> </thead> <tbody> <tr> <td align="left">prompt</td> <td align="left">string</td> <td align="left">是</td> <td align="left">A text description of the desired image(s). The maximum length is 1000 characters.</td> </tr> <tr> <td align="left">n</td> <td align="left">int</td> <td align="left">否</td> <td align="left">The number of images to generate. Must be between 1 and 10. Defaults to 1</td> </tr> <tr> <td align="left">size</td> <td align="left">string</td> <td align="left">否</td> <td align="left">The size of the generated images. Must be one of 256x256, 512x512, or 1024x1024. Defaults to 1024x1024</td> </tr> <tr> <td align="left">response_format</td> <td align="left">string</td> <td align="left">否</td> <td align="left">The format in which the generated images are returned. Must be one of url or b64_json. Defaults to url</td> </tr> <tr> <td align="left">user</td> <td align="left">string</td> <td align="left">否</td> <td align="left">表示最终用户的唯一标识符,可以监视和检测滥用行为,防止接口恶意调用。</td> </tr> </tbody> </table> <ul> <li><strong>返回参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">返回参数</th> <th align="left">参数类型</th> <th align="left">参数说明</th> </tr> </thead> <tbody> <tr> <td align="left">code</td> <td align="left">int</td> <td align="left">执行结果code</td> </tr> <tr> <td align="left">msg</td> <td align="left">String</td> <td align="left">执行结果消息</td> </tr> <tr> <td align="left">created</td> <td align="left">int</td> <td align="left">时间戳。</td> </tr> <tr> <td align="left">data</td> <td align="left">List(img)</td> <td align="left">对话返回结果。</td> </tr> </tbody> </table> <ul> <li><strong>img说明</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">类型</th> <th align="left">描述</th> </tr> </thead> <tbody> <tr> <td align="left">url</td> <td align="left">string</td> <td align="left">当前图片的地址url</td> </tr> </tbody> </table> <ul> <li><strong>请求示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>curl -H "Content-Type: application/json" -H "Authorization: Bearer $api_secret_key" -XPOST xxxxx/v1/images/generations -d '{ "prompt": "A cute baby sea otter", }' | iconv -f utf-8 -t utf-8 </code></pre> <ul> <li><strong>返回示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>{ "code": 0, "msg": "", "created": 1680167072, "data": [ { "url": "https://..." }, { "url": "https://..." } ] } </code></pre> <h4>4、Embeddings</h4> <p>Get a vector representation of a given input that can be easily consumed by machine learning models and algorithms. Related guide: Embeddings</p> <h4>4.1、Create embeddings</h4> <p>Creates an embedding vector representing the input text.</p> <ul> <li><strong>请求URL</strong></li> </ul> <blockquote> <p><code>v1/embeddings</code></p> </blockquote> <ul> <li><strong>请求方式</strong></li> </ul> <blockquote> <p><strong>POST</strong></p> </blockquote> <ul> <li><strong>Header参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">值</th> </tr> </thead> <tbody> <tr> <td align="left">Content-Type</td> <td align="left">application/json</td> </tr> <tr> <td align="left">Authorization</td> <td align="left">Bearer $api_secret_key</td> </tr> </tbody> </table> <ul> <li><strong>请求参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">请求参数</th> <th align="left">参数类型</th> <th align="left">是否必须</th> <th align="left">参数说明</th> </tr> </thead> <tbody> <tr> <td align="left">model</td> <td align="left">string</td> <td align="left">是</td> <td align="left">ID of the model to use. You can use the List models API to see all of your available models, or see our Model overview for descriptions of them. 默认:text-embedding-ada-002(官方推荐)</td> </tr> <tr> <td align="left">input</td> <td align="left">string</td> <td align="left">是</td> <td align="left">Input text to embed, encoded as a string or array of tokens. To embed multiple inputs in a single request, pass an array of strings or array of token arrays. Each input must not exceed the max input tokens for the model (8191 tokens for text-embedding-ada-002). Example Python code for counting tokens.</td> </tr> <tr> <td align="left">user</td> <td align="left">string</td> <td align="left">否</td> <td align="left">A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.</td> </tr> </tbody> </table> <ul> <li><strong>请求示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>curl -H "Content-Type: application/json" -H "Authorization: Bearer $api_secret_key" -XPOST xxxxx/v1/embeddings -d '{ "input": "The food was delicious and the waiter...", "model": "text-embedding-ada-002" }' | iconv -f utf-8 -t utf-8 </code></pre> <ul> <li><strong>返回示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>{ "code": 0, "msg": "", "object": "list", "data": [ { "object": "embedding", "embedding": [ 0.0023064255, -0.009327292, .... (1536 floats total for ada-002) -0.0028842222, ], "index": 0 } ], "model": "text-embedding-ada-002", "usage": { "prompt_tokens": 8, "total_tokens": 8 } } </code></pre> <h4>4、Audio</h4> <p>介绍<br> 语音转文本API基于我们先进的开源large-v2 Whisper模型提供了两个端点,分别是“transcriptions”(转录)和“translations”(翻译)。它们可以用于:</p> <p>将音频转录为与音频语言相同的文本。<br> 将音频翻译并转录为英文。<br> 目前,文件上传限制为25 MB,支持以下输入文件类型:mp3、mp4、mpeg、mpga、m4a、wav和webm。</p> <h4>4.1、Create transcription</h4> <p>Transcribes audio into the input language.</p> <ul> <li><strong>请求URL</strong></li> </ul> <blockquote> <p><code>v1/audio/transcriptions</code></p> </blockquote> <ul> <li><strong>请求方式</strong></li> </ul> <blockquote> <p><strong>POST</strong></p> </blockquote> <ul> <li><strong>Header参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">值</th> </tr> </thead> <tbody> <tr> <td align="left">Content-Type</td> <td align="left">multipart/form-data</td> </tr> <tr> <td align="left">Authorization</td> <td align="left">Bearer $api_secret_key</td> </tr> </tbody> </table> <ul> <li><strong>请求参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">请求参数</th> <th align="left">参数类型</th> <th align="left">是否必须</th> <th align="left">参数说明</th> </tr> </thead> <tbody> <tr> <td align="left">file</td> <td align="left">file</td> <td align="left">是</td> <td align="left">要识别的音频文件对象(不是文件名),可以使用以下格式之一:flac、mp3、mp4、mpeg、mpga、m4a、ogg、wav或webm。</td> </tr> <tr> <td align="left">model</td> <td align="left">string</td> <td align="left">是</td> <td align="left">ID of the model to use. Only whisper-1 is currently available.</td> </tr> <tr> <td align="left">prompt</td> <td align="left">string</td> <td align="left">否</td> <td align="left">An optional text to guide the model's style or continue a previous audio segment. The prompt should match the audio language.</td> </tr> <tr> <td align="left">response_format</td> <td align="left">string</td> <td align="left">否</td> <td align="left">The format of the transcript output, in one of these options: json, text, srt, verbose_json, or vtt.默认:json</td> </tr> <tr> <td align="left">temperature</td> <td align="left">string</td> <td align="left">否</td> <td align="left">The sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit. 默认:0</td> </tr> <tr> <td align="left">language</td> <td align="left">string</td> <td align="left">否</td> <td align="left">The language of the input audio. Supplying the input language in ISO-639-1 format will improve accuracy and latency.</td> </tr> </tbody> </table> <ul> <li><strong>请求示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>import os import openai openai.api_key = os.getenv("OPENAI_API_KEY") audio_file = open("audio.mp3", "rb") transcript = openai.Audio.transcribe("whisper-1", audio_file) </code></pre> <ul> <li><strong>返回示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>{ "text": "Imagine the wildest idea that you've ever had, and you're curious about how it might scale to something that's a 100, a 1,000 times bigger. This is a place where you can get to do that." } </code></pre> <h4>4.2、Create translation</h4> <p>Translates audio into English.</p> <ul> <li><strong>请求URL</strong></li> </ul> <blockquote> <p><code>v1/audio/translations</code></p> </blockquote> <ul> <li><strong>请求方式</strong></li> </ul> <blockquote> <p><strong>POST</strong></p> </blockquote> <ul> <li><strong>Header参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">值</th> </tr> </thead> <tbody> <tr> <td align="left">Content-Type</td> <td align="left">multipart/form-data</td> </tr> <tr> <td align="left">Authorization</td> <td align="left">Bearer $api_secret_key</td> </tr> </tbody> </table> <ul> <li><strong>请求参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">请求参数</th> <th align="left">参数类型</th> <th align="left">是否必须</th> <th align="left">参数说明</th> </tr> </thead> <tbody> <tr> <td align="left">file</td> <td align="left">file</td> <td align="left">是</td> <td align="left">要识别的音频文件对象(不是文件名),可以使用以下格式之一:flac、mp3、mp4、mpeg、mpga、m4a、ogg、wav或webm。</td> </tr> <tr> <td align="left">model</td> <td align="left">string</td> <td align="left">是</td> <td align="left">ID of the model to use. Only whisper-1 is currently available.</td> </tr> <tr> <td align="left">prompt</td> <td align="left">string</td> <td align="left">否</td> <td align="left">An optional text to guide the model's style or continue a previous audio segment. The prompt should match the audio language.</td> </tr> <tr> <td align="left">response_format</td> <td align="left">string</td> <td align="left">否</td> <td align="left">The format of the transcript output, in one of these options: json, text, srt, verbose_json, or vtt.默认:json</td> </tr> <tr> <td align="left">temperature</td> <td align="left">string</td> <td align="left">否</td> <td align="left">The sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit. 默认:0</td> </tr> </tbody> </table> <ul> <li><strong>请求示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>import os import openai openai.api_key = os.getenv("OPENAI_API_KEY") audio_file = open("german.m4a", "rb") transcript = openai.Audio.translate("whisper-1", audio_file) </code></pre> <ul> <li><strong>返回示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>{ "text": "Hello, my name is Wolfgang and I come from Germany. Where are you heading today?" } </code></pre> <h4>5、File</h4> <p>Files are used to upload documents that can be used with features like fine-tuning.</p> <h4>5.1、Upload file</h4> <p>Upload a file that contains document(s) to be used across various endpoints/features. Currently, the size of all the files uploaded by one organization can be up to 1 GB. Please contact us if you need to increase the storage limit.</p> <ul> <li><strong>请求URL</strong></li> </ul> <blockquote> <p><code>v1/files</code></p> </blockquote> <ul> <li><strong>请求方式</strong></li> </ul> <blockquote> <p><strong>POST</strong></p> </blockquote> <ul> <li><strong>Header参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">值</th> </tr> </thead> <tbody> <tr> <td align="left">Content-Type</td> <td align="left">multipart/form-data</td> </tr> <tr> <td align="left">Authorization</td> <td align="left">Bearer $api_secret_key</td> </tr> </tbody> </table> <ul> <li><strong>请求参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">请求参数</th> <th align="left">参数类型</th> <th align="left">是否必须</th> <th align="left">参数说明</th> </tr> </thead> <tbody> <tr> <td align="left">file</td> <td align="left">file</td> <td align="left">是</td> <td align="left">Name of the JSON Lines file to be uploaded. If the purpose is set to "fine-tune", the file will be used for fine-tuning.</td> </tr> <tr> <td align="left">purpose</td> <td align="left">string</td> <td align="left">是</td> <td align="left">The intended purpose of the uploaded documents. Use "fine-tune" for fine-tuning. This allows us to validate the format of the uploaded file.</td> </tr> </tbody> </table> <ul> <li><strong>请求示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>import os import openai openai.api_key = os.getenv("OPENAI_API_KEY") openai.File.create( file=open("mydata.jsonl", "rb"), purpose='fine-tune' ) </code></pre> <ul> <li><strong>返回示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>{ "id": "file-abc123", "object": "file", "bytes": 140, "created_at": 1613779121, "filename": "mydata.jsonl", "purpose": "fine-tune", "status": "uploaded" | "processed" | "pending" | "error" } </code></pre> <h4>6、Fine-tuning</h4> <p>Manage fine-tuning jobs to tailor a model to your specific training data.<br> 微调(fine-tune)是什么?<br> 网上内容多的是,不过多解释,只讲核心的<br> 微调的基本思想是,先在大规模文本数据上预训练一个大型的语言模型,例如 GPT-3.5(这部分是大模型),然后使用特定任务的数据集(如法律、医疗),进一步对模型进行训练,以适应特定的任务(这部分是微调)。在这个过程中,模型的参数会进行微小的调整,使其在特定业务场景上的性能更好。</p> <h4>6.1、Create fine-tuning job</h4> <p>Creates a job that fine-tunes a specified model from a given dataset.</p> <p>Response includes details of the enqueued job including job status and the name of the fine-tuned models once complete.</p> <ul> <li><strong>请求URL</strong></li> </ul> <blockquote> <p><code>v1/fine_tuning/jobs</code></p> </blockquote> <ul> <li><strong>请求方式</strong></li> </ul> <blockquote> <p><strong>POST</strong></p> </blockquote> <ul> <li><strong>Header参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">值</th> </tr> </thead> <tbody> <tr> <td align="left">Content-Type</td> <td align="left">application/json</td> </tr> <tr> <td align="left">Authorization</td> <td align="left">Bearer $api_secret_key</td> </tr> </tbody> </table> <ul> <li><strong>请求参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">请求参数</th> <th align="left">参数类型</th> <th align="left">是否必须</th> <th align="left">参数说明</th> </tr> </thead> <tbody> <tr> <td align="left">training_file</td> <td align="left">string</td> <td align="left">是</td> <td align="left">The ID of an uploaded file that contains training data.<br>See upload file for how to upload a file.<br>Your dataset must be formatted as a JSONL file. Additionally, you must upload your file with the purpose fine-tune.</td> </tr> <tr> <td align="left">model</td> <td align="left">string</td> <td align="left">是</td> <td align="left">The name of the model to fine-tune.</td> </tr> <tr> <td align="left">validation_file</td> <td align="left">string</td> <td align="left">否</td> <td align="left">The ID of an uploaded file that contains validation data.<br>If you provide this file, the data is used to generate validation metrics periodically during fine-tuning. These metrics can be viewed in the fine-tuning results file. The same data should not be present in both train and validation files.<br>Your dataset must be formatted as a JSONL file. You must upload your file with the purpose fine-tune.</td> </tr> <tr> <td align="left">hyperparameters</td> <td align="left">object</td> <td align="left">否</td> <td align="left">The hyperparameters used for the fine-tuning job.</td> </tr> <tr> <td align="left">suffix</td> <td align="left">object</td> <td align="left">否</td> <td align="left">A string of up to 40 characters that will be added to your fine-tuned model name.<br>For example, a suffix of "custom-model-name" would produce a model name like ft:gpt-3.5-turbo:openai:custom-model-name:7p4lURel.</td> </tr> </tbody> </table> <ul> <li><strong>请求示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>import os import openai openai.api_key = os.getenv("OPENAI_API_KEY") openai.FineTuningJob.create(training_file="file-abc123", model="gpt-3.5-turbo") </code></pre> <ul> <li><strong>返回示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>{ "object": "fine_tuning.job", "id": "ft-AF1WoRqd3aJAHsqc9NY7iL8F", "model": "gpt-3.5-turbo-0613", "created_at": 1614807352, "fine_tuned_model": null, "organization_id": "org-123", "result_files": [], "status": "pending", "validation_file": null, "training_file": "file-abc123", } </code></pre> <h4>7、账户相关</h4> <p>获取账户相关信息:余额等。</p> <h4>7.1、查询余额</h4> <p>获取账户余额</p> <ul> <li><strong>请求URL</strong></li> </ul> <blockquote> <p><code>v1/dashboard/billing/credit_grants</code></p> </blockquote> <ul> <li><strong>请求方式</strong></li> </ul> <blockquote> <p><strong>POST</strong></p> </blockquote> <ul> <li><strong>Header参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">名称</th> <th align="left">值</th> </tr> </thead> <tbody> <tr> <td align="left">Content-Type</td> <td align="left">application/json</td> </tr> <tr> <td align="left">Authorization</td> <td align="left">Bearer $api_secret_key</td> </tr> </tbody> </table> <ul> <li><strong>请求参数</strong></li> </ul> <blockquote> </blockquote> <table> <thead> <tr> <th align="left">请求参数</th> <th align="left">参数类型</th> <th align="left">是否必须</th> <th align="left">参数说明</th> </tr> </thead> </table> <ul> <li><strong>请求示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>BASE_URL = "https://flag.smarttrot.com/v1" # credit_grants def credit_grants(query): api_secret_key = API_SECRET_KEY; # 智增增的secret_key url = BASE_URL+'/dashboard/billing/credit_grants'; # 余额查询url headers = {'Content-Type': 'application/json', 'Accept':'application/json', 'Authorization': "Bearer "+api_secret_key} resp = requests.post(url, headers=headers) resp = resp.json(); json_str = json.dumps(resp, ensure_ascii=False) print(json_str) </code></pre> <ul> <li><strong>返回示例</strong></li> </ul> <blockquote> </blockquote> <pre><code>{ "code": 0, "msg": "ok", "object": "credit_summary", "grants": { "available_amount": "111.8658" } } </code></pre> - - \ No newline at end of file diff --git a/pic/daily/index.xml b/pic/daily/index.xml index 55441e6cf0f..170e7495cb9 100644 --- a/pic/daily/index.xml +++ b/pic/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:05Z + 2023-10-23T01:36:38Z Daily Trending of Pic in GitHub \ No newline at end of file diff --git a/pic/weekly/index.xml b/pic/weekly/index.xml deleted file mode 100644 index 31c0a8be71a..00000000000 --- a/pic/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pic Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:12Z - Weekly Trending of Pic in GitHub - - \ No newline at end of file diff --git a/pickle/daily/index.xml b/pickle/daily/index.xml index 8442ec784d1..1ee0068178b 100644 --- a/pickle/daily/index.xml +++ b/pickle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pickle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:32Z + 2023-10-23T01:37:03Z Daily Trending of Pickle in GitHub \ No newline at end of file diff --git a/pickle/weekly/index.xml b/pickle/weekly/index.xml deleted file mode 100644 index 53d5b6d0d03..00000000000 --- a/pickle/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pickle Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:32Z - Weekly Trending of Pickle in GitHub - - \ No newline at end of file diff --git a/picolisp/daily/index.xml b/picolisp/daily/index.xml index e89b10c14f9..52070f16bfc 100644 --- a/picolisp/daily/index.xml +++ b/picolisp/daily/index.xml @@ -1,7 +1,7 @@ GitHub PicoLisp Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:33Z + 2023-10-23T01:37:05Z Daily Trending of PicoLisp in GitHub \ No newline at end of file diff --git a/picolisp/weekly/index.xml b/picolisp/weekly/index.xml deleted file mode 100644 index 2c3bcbae002..00000000000 --- a/picolisp/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PicoLisp Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:34Z - Weekly Trending of PicoLisp in GitHub - - \ No newline at end of file diff --git a/piglatin/daily/index.xml b/piglatin/daily/index.xml index a70fc817b6a..4dd1938c942 100644 --- a/piglatin/daily/index.xml +++ b/piglatin/daily/index.xml @@ -1,7 +1,7 @@ GitHub PigLatin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:31Z + 2023-10-23T01:37:04Z Daily Trending of PigLatin in GitHub \ No newline at end of file diff --git a/piglatin/weekly/index.xml b/piglatin/weekly/index.xml deleted file mode 100644 index 12c8a31a3da..00000000000 --- a/piglatin/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PigLatin Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:33Z - Weekly Trending of PigLatin in GitHub - - \ No newline at end of file diff --git a/pike/daily/index.xml b/pike/daily/index.xml index 1d6decdf3a5..f5a371fad73 100644 --- a/pike/daily/index.xml +++ b/pike/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pike Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:34Z + 2023-10-23T01:37:02Z Daily Trending of Pike in GitHub \ No newline at end of file diff --git a/pike/weekly/index.xml b/pike/weekly/index.xml deleted file mode 100644 index 497609de724..00000000000 --- a/pike/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pike Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:35Z - Weekly Trending of Pike in GitHub - - \ No newline at end of file diff --git a/plantuml/daily/index.xml b/plantuml/daily/index.xml index 44d00128295..8ba6f8474cb 100644 --- a/plantuml/daily/index.xml +++ b/plantuml/daily/index.xml @@ -1,7 +1,7 @@ GitHub PlantUML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:35Z + 2023-10-23T01:37:06Z Daily Trending of PlantUML in GitHub \ No newline at end of file diff --git a/plantuml/weekly/index.xml b/plantuml/weekly/index.xml deleted file mode 100644 index 1f66d803212..00000000000 --- a/plantuml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PlantUML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:37Z - Weekly Trending of PlantUML in GitHub - - \ No newline at end of file diff --git a/plpgsql/daily/index.xml b/plpgsql/daily/index.xml index 3e565f3780b..890f25103e7 100644 --- a/plpgsql/daily/index.xml +++ b/plpgsql/daily/index.xml @@ -1,7 +1,7 @@ GitHub PLpgSQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:39Z + 2023-10-23T01:37:08Z Daily Trending of PLpgSQL in GitHub \ No newline at end of file diff --git a/plpgsql/weekly/index.xml b/plpgsql/weekly/index.xml deleted file mode 100644 index ffc7ca6e30d..00000000000 --- a/plpgsql/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub PLpgSQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:38Z - Weekly Trending of PLpgSQL in GitHub - - - 1eez/103976 - 2023-10-22T01:58:38Z - tag:github.com,2023-10-22:/1eez/103976 - - <p>103976个英语单词库(sql版,csv版,Excel版)包含英文单词,中文翻译,单词的词性及多种词义,执行SQL语句就可以生成表,支持SQL Server,MySQL等多种数据库</p><hr> - - \ No newline at end of file diff --git a/plsql/daily/index.xml b/plsql/daily/index.xml index 79b3b25d4b9..f07d47f08fd 100644 --- a/plsql/daily/index.xml +++ b/plsql/daily/index.xml @@ -1,7 +1,7 @@ GitHub PLSQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:37Z + 2023-10-23T01:37:07Z Daily Trending of PLSQL in GitHub \ No newline at end of file diff --git a/plsql/weekly/index.xml b/plsql/weekly/index.xml deleted file mode 100644 index 890e6ca9dea..00000000000 --- a/plsql/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PLSQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:39Z - Weekly Trending of PLSQL in GitHub - - \ No newline at end of file diff --git a/pod-6/daily/index.xml b/pod-6/daily/index.xml index a30c66c4fa5..69b61b67450 100644 --- a/pod-6/daily/index.xml +++ b/pod-6/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pod 6 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:42Z + 2023-10-23T01:37:12Z Daily Trending of Pod 6 in GitHub \ No newline at end of file diff --git a/pod-6/weekly/index.xml b/pod-6/weekly/index.xml deleted file mode 100644 index caa250e9d80..00000000000 --- a/pod-6/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pod 6 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:40Z - Weekly Trending of Pod 6 in GitHub - - \ No newline at end of file diff --git a/pod/daily/index.xml b/pod/daily/index.xml index b6ac1c43d9a..17eda7c1521 100644 --- a/pod/daily/index.xml +++ b/pod/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pod Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:36Z + 2023-10-23T01:37:09Z Daily Trending of Pod in GitHub \ No newline at end of file diff --git a/pod/weekly/index.xml b/pod/weekly/index.xml deleted file mode 100644 index 8cbb5479649..00000000000 --- a/pod/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pod Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:36Z - Weekly Trending of Pod in GitHub - - \ No newline at end of file diff --git a/pogoscript/daily/index.xml b/pogoscript/daily/index.xml index b1645b99a01..77d1e37582d 100644 --- a/pogoscript/daily/index.xml +++ b/pogoscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub PogoScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:43Z + 2023-10-23T01:37:10Z Daily Trending of PogoScript in GitHub \ No newline at end of file diff --git a/pogoscript/weekly/index.xml b/pogoscript/weekly/index.xml deleted file mode 100644 index ca233b1c9ec..00000000000 --- a/pogoscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PogoScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:41Z - Weekly Trending of PogoScript in GitHub - - \ No newline at end of file diff --git a/pony/daily/index.xml b/pony/daily/index.xml index ec859d36141..d9993732e82 100644 --- a/pony/daily/index.xml +++ b/pony/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pony Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:40Z + 2023-10-23T01:37:13Z Daily Trending of Pony in GitHub \ No newline at end of file diff --git a/pony/weekly/index.xml b/pony/weekly/index.xml deleted file mode 100644 index 1598573240a..00000000000 --- a/pony/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pony Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:42Z - Weekly Trending of Pony in GitHub - - \ No newline at end of file diff --git a/postcss/daily/index.xml b/postcss/daily/index.xml index 25243b71b20..10fc349e663 100644 --- a/postcss/daily/index.xml +++ b/postcss/daily/index.xml @@ -1,7 +1,7 @@ GitHub PostCSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:46Z + 2023-10-23T01:37:15Z Daily Trending of PostCSS in GitHub \ No newline at end of file diff --git a/postcss/weekly/index.xml b/postcss/weekly/index.xml deleted file mode 100644 index 5675db4bd1f..00000000000 --- a/postcss/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PostCSS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:45Z - Weekly Trending of PostCSS in GitHub - - \ No newline at end of file diff --git a/postscript/daily/index.xml b/postscript/daily/index.xml index a9db14923ee..3f3fde67458 100644 --- a/postscript/daily/index.xml +++ b/postscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub PostScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:45Z + 2023-10-23T01:37:16Z Daily Trending of PostScript in GitHub \ No newline at end of file diff --git a/postscript/weekly/index.xml b/postscript/weekly/index.xml deleted file mode 100644 index 6077189ca5b..00000000000 --- a/postscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PostScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:47Z - Weekly Trending of PostScript in GitHub - - \ No newline at end of file diff --git a/pov-ray-sdl/daily/index.xml b/pov-ray-sdl/daily/index.xml index 7e8710770d4..07f105d7b0d 100644 --- a/pov-ray-sdl/daily/index.xml +++ b/pov-ray-sdl/daily/index.xml @@ -1,7 +1,7 @@ GitHub POV-Ray SDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:47Z + 2023-10-23T01:37:17Z Daily Trending of POV-Ray SDL in GitHub \ No newline at end of file diff --git a/pov-ray-sdl/weekly/index.xml b/pov-ray-sdl/weekly/index.xml deleted file mode 100644 index ab735e7f340..00000000000 --- a/pov-ray-sdl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub POV-Ray SDL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:46Z - Weekly Trending of POV-Ray SDL in GitHub - - \ No newline at end of file diff --git a/powerbuilder/daily/index.xml b/powerbuilder/daily/index.xml index 7b5cc188758..d8acfb67d64 100644 --- a/powerbuilder/daily/index.xml +++ b/powerbuilder/daily/index.xml @@ -1,7 +1,7 @@ GitHub PowerBuilder Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:49Z + 2023-10-23T01:37:19Z Daily Trending of PowerBuilder in GitHub \ No newline at end of file diff --git a/powerbuilder/weekly/index.xml b/powerbuilder/weekly/index.xml deleted file mode 100644 index b34c4887659..00000000000 --- a/powerbuilder/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PowerBuilder Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:48Z - Weekly Trending of PowerBuilder in GitHub - - \ No newline at end of file diff --git a/powershell/daily/index.xml b/powershell/daily/index.xml index 575b1a6a2b6..b817b686669 100644 --- a/powershell/daily/index.xml +++ b/powershell/daily/index.xml @@ -1,28 +1,28 @@ GitHub PowerShell Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:52Z + 2023-10-23T01:37:24Z Daily Trending of PowerShell in GitHub - atomiczsec/My-Payloads - 2023-10-22T01:39:52Z - tag:github.com,2023-10-22:/atomiczsec/My-Payloads - - <p>A collection of my payloads for the bash bunny, rubber ducky, FlipperZero, and OMG cable</p><hr><h1>Hak5 &amp; FlipperZero HID Attack Payloads &amp; Functions</h1> <p>This repository is a collection of payloads that I have designed for use with various hardware hacking tools. These tools include the USB Rubber Ducky, the Bash Bunny, the OMG cable, and the FlipperZero. The payloads in this repository are primarily written in powershell and duckyscript, which are programming languages commonly used in the development of payloads for these types of tools. If you have any questions or need help with any of the scripts in this repository, you can reach out to me using the contact information provided. The payloads in this repository can be used to perform a variety of tasks, such as automating processes, executing commands, or exploiting vulnerabilities in systems. They can be particularly useful for penetration testing, cybersecurity research, and other activities that involve interacting with or manipulating computer systems.</p> <div align="center"> <h3>Quick Refrence</h3> <a href="https://twitter.com/atomiczsec"> <img src="https://img.shields.io/twitter/follow/atomiczsec?style=social"> </a> <a href="https://github.com/atomiczsec/My-Payloads/"> <img src="https://img.shields.io/github/commit-activity/m/atomiczsec/My-Payloads"> </a> <a href="https://github.com/atomiczsec/"> <img src="https://img.shields.io/github/followers/atomiczsec?style=social"> </a> </div> <img src="https://github.com/atomiczsec/My-Payloads/raw/main/Assets/read.png?" width="1000"> <p>To learn more about Hak5 or the Flipper Zero , please visit their websites:</p> <ul> <li> <p><a href="https://www.hak5.org">www.hak5.org</a></p> </li> <li> <p><a href="https://flipperzero.one/">www.flipperzero.one</a></p> </li> </ul> <p>DISCLAIMER: This repository is for educational purposes only and is not intended for real-world usage. The creators of this repository are not responsible for any harm or damage that may occur as a result of using the information or code provided in this repository. By accessing and using this repository, you acknowledge and agree that you do so at your own risk.</p> + TrimarcJake/BlueTuxedo + 2023-10-23T01:37:24Z + tag:github.com,2023-10-23:/TrimarcJake/BlueTuxedo + + <p>A tiny tool to find and fix common misconfigurations in Active Directory-integrated DNS</p><hr><h1>BlueTuxedo</h1> <p>A tiny tool built to find and fix common misconfigurations in Active Directory-Integrated DNS</p> <h2>Basic Use:</h2> <pre><code class="language-powershell">git clone https://github.com/TrimarcJake/BlueTuxedo.git cd BlueTuxedo Import-Module .\BlueTuxedo.psd1 Invoke-BlueTuxedo </code></pre> - dafthack/GraphRunner - 2023-10-22T01:39:52Z - tag:github.com,2023-10-22:/dafthack/GraphRunner - - <p>A Post-exploitation Toolset for Interacting with the Microsoft Graph API</p><hr><h1>GraphRunner</h1> <p><img src="https://github.com/dafthack/GraphRunner/assets/2296229/d9b6843c-8c69-4d9d-bed4-38e5e2269574" alt="GraphRunner"></p> <p>GraphRunner is a post-exploitation toolset for interacting with the Microsoft Graph API. It provides various tools for performing reconnaissance, persistence, and pillaging of data from a Microsoft Entra ID (Azure AD) account.</p> <p>It consists of three separate parts:</p> <ul> <li>A PowerShell script where the majority of modules are located</li> <li>An HTML GUI that can leverage an access token to navigate and pillage a user's account</li> <li>A simple PHP redirector for harvesting authentication codes during an OAuth flow</li> </ul> <hr> <h2>Main Features</h2> <ul> <li>Search and export email</li> <li>Search and export SharePoint and OneDrive files accessible to a user</li> <li>Search all Teams chats and channels visible to the user and export full conversations</li> <li>Deploy malicious apps</li> <li>Discover misconfigured mailboxes that are exposed</li> <li>Clone security groups to carry out watering hole attacks</li> <li>Find groups that can be modified directly by your user or where membership rules can be abused to gain access</li> <li>Search all user attributes for specific terms</li> <li>Leverage a GUI built on the Graph API to pillage a user's account</li> <li>Dump conditional access policies</li> <li>Dump app registrations and external apps including consent and scope to identify potentially malicious apps</li> <li>Tools to complete OAuth flow during consent grant attacks</li> <li>GraphRunner doesn't rely on any third-party libraries or modules</li> <li>Works with Windows and Linux</li> <li>Continuously refresh your token package</li> </ul> <hr> <h2>Usage</h2> <p>As GraphRunner is a post-exploitation tool most of the modules rely on having authenticated access tokens. To assist with this there are multiple modules for obtaining and working with both user and application (service principal) tokens.</p> <p>A good starting place is to import the PowerShell script and run the Get-GraphTokens module.</p> <pre><code class="language-PowerShell">Import-Module .\GraphRunner.ps1 Get-GraphTokens </code></pre> <p>Next, check out the <a href="https://github.com/dafthack/GraphRunner/wiki">wiki</a> for the full user guide and information about individual modules.</p> + Malandrone/PowerDecode + 2023-10-23T01:37:24Z + tag:github.com,2023-10-23:/Malandrone/PowerDecode + + <p>PowerDecode is a PowerShell-based tool that allows to deobfuscate PowerShell scripts obfuscated across multiple layers. The tool performs code dynamic analysis, extracting malware hosting URLs and checking http response.It can also detect if the malware attempts to inject shellcode into memory.</p><hr><p><img src="https://raw.githubusercontent.com/Malandrone/PowerDecode/main/Logo.PNG" alt="alt text"></p> <h1>PowerDecode</h1> <p>PowerDecode is a PowerShell-based tool for de-obfuscating PowerShell scripts obfuscated across multiple layers in different obfuscation forms including:</p> <ul> <li>String concatenate/reorder/reverse/replace</li> <li>Base64 encoding</li> <li>ASCII encoding</li> <li>Compression deflate/GZIP</li> </ul> <p>The tool performs also code dynamic analysis, gathering useful informations about malware activity including:</p> <ul> <li>HTTP response status of URLs</li> <li>Declared Variables</li> <li>Payloads download attempts</li> <li>Attempts to start processes</li> <li>Shellcode injection attempts</li> </ul> <p><strong>WARNING</strong>:</p> <ul> <li>Dynamic analysis requires script execution. Use the tool only in a isolated execution environment ( VirtualBox for example)</li> <li>Before de-obfuscating make sure the script is executable (automatic de-obfuscation process fails if script contains some syntax errors)</li> <li>Windows Defender might avoid the tool from working properly. Disable it temporarily if necessary.</li> </ul> <p><strong>REQUIREMENTS</strong>:</p> <ul> <li>Windows PowerShell v5.1</li> <li>OS Windows 10 64 bit</li> </ul> <h3>How to use the tool</h3> <ul> <li> <p>Enable scripts execution: launch PowerShell as Administrator and run the command:</p> <p><code>Set-ExecutionPolicy bypass</code></p> </li> <li> <p>If it doesn't work, open Registry Editor as Administrator and go to:</p> <p><code>Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\PowerShell</code></p> <p>Set the parameter "ExecutionPolicy" on value "Bypass"</p> </li> <li> <p>Disable any antivirus software in order to allow the tool to analyze malware without interruption.</p> </li> <li> <p>Click on <strong>PowerDecode.bat</strong> to start the GUI</p> </li> </ul> <p>PowerDecode can work in two different modes:</p> <ul> <li>Automatic decode mode</li> <li>Manual decode mode</li> </ul> <h3>Automatic decode mode</h3> <p>Obfuscation layers of an input script are automatically detected and removed. A dynamic analysis is performed on the final layer. The following options are available:</p> <ul> <li><strong>[1]-Decode a script from a single file:</strong> takes as input a file to analyze and a folder to save the report file (if this last is not set, report file will be saved in the PowerDecode folder)</li> <li><strong>[2]-Decode multiple scripts from a folder:</strong> takes as input a folder containg some files to analyze and a folder to save the report files (if this last is not set, report files will be saved in the PowerDecode folder)</li> <li><strong>[0]-Go back:</strong> returns to the previous menu</li> </ul> <h3>Manual decode mode</h3> <p>User can select a set of tasks to perform on an input script to manually remove obfuscation layers. The following options are available:</p> <ul> <li><strong>[1]-Decode full script by regex:</strong> regular expression supported by PowerDecode are applied to the input string to remove a single obfuscation layer</li> <li><strong>[2]-Decode full script by IEX overriding:</strong> input string is executed in a local environment where Invoke-Expression cmdlet is replaced with Write-Output cmdlet (might execute malicious actions!)</li> <li><strong>[3]-Decode base64:</strong> removes base64 encoding</li> <li><strong>[4]-Decode deflate payload:</strong> removes deflatestream compression</li> <li><strong>[5]-Decode GZIP payload:</strong> removes GZIPstream compression</li> <li><strong>[6]-Replace a string (raw):</strong> replaces a piece of the loaded script with a substring entered by the user</li> <li><strong>[7]-Replace a string (evaluate):</strong> replaces a piece of the loaded script with its execution output (might execute malicious actions!)</li> <li><strong>[8]-URLs analysis:</strong> extracts URLs and checks their HTTP response status code</li> <li><strong>[9]-Get variables content:</strong> extracts declared variables and shows their names and contents (might execute malicious actions!)</li> <li><strong>[10]-Shellcode check:</strong> extracts shellcode as hexadecimal instructions. This feature could be efficiently integrated with <a href="http://sandsprite.com/blogs/index.php?uid=7&amp;pid=152">SCDBG</a>. In order to activate the debugger, the scdbg.exe file must be placed on the PowerDecode\ folder</li> <li><strong>[11]-Get VirusTotal rating:</strong> Shows the <a href="https://www.virustotal.com/">VirusTotal</a> rating of the malware via API call</li> <li><strong>[12]-Undo last decoding task:</strong> deletes the last layer of code obtained</li> <li><strong>[13]-Report preview:</strong> shows all collected data as it will be saved on the report file</li> <li><strong>[14]-Store and export report file:</strong> saves all collected data on a .txt report file and stores the sample in the MalwareRepository.db</li> <li><strong>[0]-Go back:</strong> returns to the previous menu</li> </ul> <h3>Malware repository</h3> <p>PowerDecode includes a malware database( MalwareRepository.db) based on <a href="https://www.litedb.org/">LiteDB</a>. On this section, following options are avaiable:</p> <ul> <li><strong>[1]-Query DB for a script:</strong> checks if a script from an input file is stored on DB and if it is present, shows its de-obfuscated version</li> <li><strong>[2]-Query DB for a URL:</strong> checks if an input URL is stored on DB and also shows stored malwares that connect to it</li> <li><strong>[3]-Query DB for shellcode:</strong> checks if an input shellcode(string of hex values) is stored on DB and if it is present shows stored malwares that inject it</li> <li><strong>[4]-Malware statistics:</strong> shows some statistics about malware samples stored on MalwareRepository.db</li> <li><strong>[5]-Export all original scripts:</strong> allows to export all orginal malware samples from MalwareRepository.db to an output folder. Each sample will be saved on a .txt file. WARNING: use this feature only on a isolated execution environment, exported files are malicious!</li> <li><strong>[6]-Export all URLs:</strong> allows to export all stored URLs from MalwareRepository.db to an output file</li> <li><strong>[6]-Export all Shellcodes:</strong> allows to export all stored shellcodes from MalwareRepository.db to an output folder. Each sample will be saved on a .txt file</li> <li><strong>[0]-Go back:</strong> returns to the previous menu</li> </ul> <h3>Settings</h3> <p>Following parameters can be set:</p> <ul> <li><strong>[1]-Storage mode:</strong> if it is set to "Enabled" analyzed scripts will be stored on MalwareRepository.db</li> <li><strong>[2]-Step-by-step mode:</strong> if it is set to "Enabled", decoding multiple scripts from a folder, the user is asked for confirmation before continuing with the analysis of the next file</li> <li><strong>[3]-Set VirusTotal API key:</strong> allows to load a VirusTotal API key to interact with the VirusTotal API</li> <li><strong>[4]-Set execution timeout:</strong> allows to set the maximum time limit in seconds of script execution during de-obfuscation process</li> </ul> <h3>License</h3> <p>GPL-3.0</p> <h3>Paper</h3> <p>G. M. Malandrone, G. Virdis, G. Giacinto , D. Maiorca. <a href="http://ceur-ws.org/Vol-2940/paper19.pdf">PowerDecode: a PowerShell Script Decoder Dedicated to Malware Analysis</a>. 5th Italian Conference on CyberSecurity (ITASEC), 2021.</p> - Cloud-Architekt/AzurePrivilegedIAM - 2023-10-22T01:39:52Z - tag:github.com,2023-10-22:/Cloud-Architekt/AzurePrivilegedIAM - - <p>Docs and samples for privileged identity and access management in Microsoft Azure and Microsoft Entra.</p><hr><h1>Privileged Identity &amp; Access in Microsoft Entra</h1> <p>Docs, resources and samples to implement a secure privileged identity and access management in Microsoft Azure and Microsoft Entra.</p> <h2>📝 Classification of Roles and Permissions</h2> <p>I've created an approach to automate classification of role actions based on Microsoft's Enterprise Access Model. Samples of the classification file which I've created for the implementation in EntraOps can be found here:</p> <ul> <li><a href="https://github.com/Cloud-Architekt/AzurePrivilegedIAM/raw/main/EntraOps_Classification/Classification_AadResources.json">EntraOps - Defined Classification of Entra ID Role Actions in JSON</a></li> <li><a href="https://github.com/Cloud-Architekt/AzurePrivilegedIAM/raw/main/EntraOps_Classification/Classification_AppRoles.json">EntraOps - Defined Classification of Microsoft Graph API Permissions in JSON</a></li> </ul> <p>The generated classification (based on the previous definition files) are also available and can be used as lookup in analytics rules (in Microsoft Sentinel) or to built your own automation and/or entity enrichment:</p> <ul> <li><a href="https://github.com/Cloud-Architekt/AzurePrivilegedIAM/raw/main/Classification/Classification_EntraIdDirectoryRoles.json">Classified Entra ID Roles in JSON</a></li> <li><a href="https://raw.githubusercontent.com/Cloud-Architekt/AzurePrivilegedIAM/main/Classification/Classification_AppRoles.json">Classified Microsoft Graph API Permissions in JSON</a></li> </ul> <p>Sample queries to use classification in KQL queries in Microsoft Sentinel can be found here:</p> <ul> <li><a href="https://github.com/Cloud-Architekt/AzureSentinel/raw/main/Hunting%20Queries/EID-PrivilegedIdentities/DirectoryRoleMemberWithClassification.kusto">List of (active/permanent) Directory role member with enriched classification</a></li> <li><a href="https://github.com/Cloud-Architekt/AzureSentinel/raw/main/Hunting%20Queries/EID-PrivilegedIdentities/AddedAppRolesWithClassification.kusto">Added API Permissions with enriched classification from EntraOps Privileged EAM</a></li> </ul> <p>The helper script to create classification by using the definition of classification are available here:</p> <ul> <li><a href="https://raw.githubusercontent.com/Cloud-Architekt/AzurePrivilegedIAM/main/Get-EntraOpsClassificationDirectoryRoles.ps1">Script for Classification of Entra ID Roles</a></li> <li><a href="https://raw.githubusercontent.com/Cloud-Architekt/AzurePrivilegedIAM/main/Scripts/Get-EntraOpsClassificationAppRoles.ps1">Script for Classification of Microsoft Graph API Permission</a></li> </ul> <p>Side Note: The classification export of App Roles (<code>Get-EntraOpsClassificationAppRoles</code>) can also include a list of "Authorized Api Calls" by using the Parameter <code>IncludeAuthorizedApiCalls</code>. This information will be enriched from the GitHub project "<a href="https://github.com/merill/graphpermissions.github.io">graphpermissions.github.io</a>" (created by <a href="https://github.com/merill">Merill Fernando</a>). Kudos to Merill!</p> <h3>📢 Call for Community Contributors!</h3> <p>Mostly, role actions and permissions on Control Plane has been classified. There are still a high number of "unclassified" role actions and maybe also some classified roles which should be reviewed or may assessed differently. As already described, the source for all classification will be managed in the "<a href="https://github.com/Cloud-Architekt/AzurePrivilegedIAM/tree/main/EntraOps_Classification">EntraOps_Classification</a>" files and should be the single point for modification to this project. I would be more than happy to see contributions by the community which helps to increase the coverage and quality of the classification for the Enterprise Access Model. Feel free to create PR, issues or contact me if you have any further questions or feedback.</p> <h2>🔁 Lifecycle Workflows</h2> <p>On- and Offboarding of Privileged Accounts can be automated with the Entra ID Governance feature "Lifecycle workflows". Samples for the custom tasks can be found here and are described in the blog post "<a href="https://www.cloud-architekt.net/manage-privileged-identities-with-azuread-identity-governance/">Automated Lifecycle Workflows for Privileged Identities with Azure AD Identity Governance</a>"</p> <h2>📄 Role Definition Matrix of Personas for Privileged Access in Microsoft Azure</h2> <p>Various articles on Microsoft Learn describes Roles and Personas for privileged access in Azure. I've created a role definition matrix to compare the descriptions of personas but also tiering levels from Enterprise Access Model. Check out the "<a href="https://github.com/Cloud-Architekt/AzurePrivilegedIAM/raw/main/EAS_EAM_AzureRBAC_TabularSummary.pdf">EAS_EAM_AzureRBAC_TabularSummary.pdf</a>"</p> <h2>🤖 Scripts for Automation and Definition of Classification</h2> <p>Examples for PowerShell Scripts to export a list of privileged assignments in Azure (incl. Azure Billing/Enterprise Agreement) and also helper files for Classification can be found <a href="https://github.com/Cloud-Architekt/AzurePrivilegedIAM/tree/main/Scripts">here</a>.</p> + Nonary/ResolutionAutomation + 2023-10-23T01:37:24Z + tag:github.com,2023-10-23:/Nonary/ResolutionAutomation + + <p>Automates changing the host resolution to match the client resolution of Moonlight, with capabilities of supersampling if required</p><hr><h2>Host Resolution Matching for Moonlight Streaming</h2> <p>This script changes your host resolution to match exactly with Moonlight's resolution. This is mostly used for users who have different aspect ratios between the client and host, or anyone who wishes to match the resolution while streaming.</p> <h3>Requirements</h3> <ul> <li>Host must be Windows.</li> <li>Sunshine 0.21.0 or higher</li> </ul> <h3>Caveats</h3> <ul> <li>If using Windows 11, you'll need to set the default terminal to Windows Console Host as there is currently a bug in Windows Terminal that prevents hidden consoles from working properly. <ul> <li>That can be changed at Settings &gt; Privacy &amp; security &gt; Security &gt; For developers &gt; Terminal [Let Windows decide] &gt;&gt; (change to) &gt;&gt; Terminal [Windows Console Host]</li> </ul> </li> <li>The script will stop working if you move the folder, simply reinstall it to resolve that issue.</li> <li>Due to Windows API restrictions, this script does not work on cold reboots (hard crashes or shutdowns of your computer). <ul> <li>If you're cold booting, simply sign into the computer using the "Desktop" app on Moonlight, then end the stream, then start it again.</li> </ul> </li> </ul> <h4>GFE Users</h4> <ul> <li>You'll need to use the Geforce Experience version of this script instead. <ul> <li>The current release for Geforce Experience users is: <a href="https://github.com/Nonary/ResolutionAutomation/releases/tag/2.0.15_gfe">https://github.com/Nonary/ResolutionAutomation/releases/tag/2.0.15_gfe</a></li> </ul> </li> </ul> <h3>Installation Instructions</h3> <ol> <li>Store the downloaded folder in a location you intend to keep. If you delete this folder or move it, the automation will stop working.</li> <li>To install, double click the Install.bat file.</li> <li>To uninstall, double click the Uninstall.bat file.</li> </ol> <p>This script will ask for elevated rights because Sunshine configuration is be locked from modifications for non-administrator users.</p> <h3>How it Works</h3> <ol> <li>When you start streaming any application in Sunshine, it will start the script.</li> <li>The script reads the environment variables passed to it via Sunshine, which contains client information such as screen resolution.</li> <li>It sets the host's resolution to match the Moonlight resolution (including refresh rate), unless overridden with the <code>overrides</code> file.</li> <li>The script waits for Sunshine to be suspended for more than 120 seconds or until the user ends the stream.</li> <li>It sets the host resolution back to the same resolution it was prior to starting the stream (including refresh rate).</li> </ol> <p>This will only work if the resolution is available to be used, so you will need to make sure to use NVIDIA Custom Resolution or CRU to add the client resolution first.</p> <h3>Overrides File</h3> <p>You may have a mobile device that you wish to stream at a lower resolution to save bandwidth or some devices may perform better when streaming at a lower resolution. If you want your host to change the resolution to something higher than the client, use the <code>overrides</code> file to do this.</p> <h4>Format</h4> <pre><code>WidthxHeightxRefresh=WidthxHeightxRefresh </code></pre> <p>The resolution on the left is what triggers the override, and the one on the right is what the host will be set to.</p> <h4>Example</h4> <p>To stream at 720p and keep the host at 4k resolution, you would add this line:</p> <pre><code>1280x700x60=3840x2160x60 </code></pre> \ No newline at end of file diff --git a/powershell/weekly/index.xml b/powershell/weekly/index.xml deleted file mode 100644 index c2392d8ca2d..00000000000 --- a/powershell/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub PowerShell Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:53Z - Weekly Trending of PowerShell in GitHub - - - AleksaMCode/WiFi-password-stealer - 2023-10-22T01:58:53Z - tag:github.com,2023-10-22:/AleksaMCode/WiFi-password-stealer - - <p>Simple Windows and Linux keystroke injection tool that exfiltrates stored WiFi data (SSID and password).</p><hr><p><img width="150" align="right" src="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/resources/wifi-stealer_logo.png"></p> <h1>WiFi password stealer</h1> <p><a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html"><img src="https://img.shields.io/badge/License-GPL_v2-blue.svg?sanitize=true" alt="License: GPL v2"></a> <img src="https://img.shields.io/github/v/release/AleksaMCode/WiFi-password-stealer" alt=""></p> <p align="justify">Have you ever watched a film where a hacker would plug-in, seemingly ordinary, USB drive into a victim's computer and steal data from it? - A proper wet dream for some. </p> <blockquote> <p><span>⚠</span> <strong>Disclaimer</strong>: All content in this project is intended for security research purpose only.</p> </blockquote> <h2>Table of contents</h2> <ul> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#wifi-password-stealer">WiFi password stealer</a> <ul> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#table-of-contents">Table of contents</a></li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#introduction">Introduction</a></li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#setup">Setup</a></li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#prerequisites">Prerequisites</a></li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#requirements---what-youll-need">Requirements - What you'll need</a></li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#keystroke-injection-tool">Keystroke injection tool</a> <ul> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#keystroke-injection">Keystroke injection</a></li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#delays">Delays</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#exfiltration">Exfiltration</a> <ul> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#windows-exploit">Windows exploit</a> <ul> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#sending-stolen-data-over-email">Sending stolen data over email</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#linux-exploit">Linux exploit</a> <ul> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#storing-stolen-data-to-usb-flash-drive">Storing stolen data to USB flash drive</a></li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#bash-script">Bash script</a></li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#quick-overview-of-the-payload">Quick overview of the payload</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#exfiltrated-data-formatting">Exfiltrated data formatting</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#usb-mass-storage-device-problem">USB Mass Storage Device Problem</a></li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#payload-writer">Payload Writer</a></li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#limitationsdrawbacks">Limitations/Drawbacks</a></li> <li><a href="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/#to-do-list">To-Do List</a></li> </ul> </li> </ul> <h2>Introduction</h2> <p align="justify">During the summer of 2022, I decided to do exactly that, to build a device that will allow me to steal data from a victim's computer. So, how does one deploy malware and exfiltrate data? In the following text I will explain all of the necessary steps, theory and nuances when it comes to building your own keystroke injection tool. While this project/tutorial focuses on WiFi passwords, payload code could easily be altered to do something more nefarious. You are only limited by your imagination (and your technical skills).</p> <h2>Setup</h2> <p align="justify">After creating pico-ducky, you only need to copy the modified payload (adjusted for your SMTP details for Windows exploit and/or adjusted for the Linux password and a USB drive name) to the RPi Pico.</p> <h2>Prerequisites</h2> <ul> <li><p align="justify">Physical access to victim's computer.</p></li> <li><p align="justify">Unlocked victim's computer.</p></li> <li><p align="justify">Victim's computer has to have an internet access in order to send the stolen data using <a href="https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol">SMTP</a> for the exfiltration over a network medium.</p></li> <p></p> <li><p align="justify">Knowledge of victim's computer password for the Linux exploit.</p></li> </ul> <h2>Requirements - What you'll need</h2> <p align="justify"><img src="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/resources/RPi-pico.png?raw=true" width="150" title="RPi pico illustration" align="left" hspace="5" vspace="5"> <br> </p> <ul> <li>Raspberry Pi Pico (RPi Pico)</li> <li>Micro USB to USB Cable</li> <li>Jumper Wire (optional)</li> <li>pico-ducky - Transformed RPi Pico into a USB Rubber Ducky</li> <li>USB flash drive (for the exploit over physical medium only)</li> </ul> <p></p> <br> <br> <blockquote> <p><span>📝</span> <strong>Note</strong>:</p> <ul> <li><p align="justify">It is possible to build this tool using Rubber Ducky, but keep in mind that <a href="https://www.raspberrypi.com/products/raspberry-pi-pico/">RPi Pico</a> costs about $4.00 and the <a href="https://shop.hak5.org/products/usb-rubber-ducky">Rubber Ducky</a> costs $80.00.</p></li> <li><p align="justify">However, while pico-ducky is a good and budget-friedly solution, Rubber Ducky does offer things like stealthiness and usage of the lastest DuckyScript version.</p></li> <li><p align="justify">In order to use Ducky Script to write the payload on your RPi Pico you first need to convert it to a pico-ducky. Follow these <a href="https://github.com/dbisu/pico-ducky">simple steps</a> in order to create pico-ducky.</p></li> </ul> </blockquote> <h2>Keystroke injection tool</h2> <p align="justify">Keystroke injection tool, once connected to a host machine, executes malicious commands by running code that mimics keystrokes entered by a user. While it looks like a USB drive, it acts like a keyboard that types in a preprogrammed payload. Tools like Rubber Ducky can type over 1,000 words per minute. Once created, anyone with physical access can deploy this payload with ease.</p> <h3>Keystroke injection</h3> <p align="justify">The payload uses <code>STRING</code> command processes keystroke for injection. It accepts one or more alphanumeric/punctuation characters and will type the remainder of the line exactly as-is into the target machine. The <code>ENTER</code>/<code>SPACE</code> will simulate a press of keyboard keys.</p> <h3>Delays</h3> <p align="justify">We use <code>DELAY</code> command to temporarily pause execution of the payload. This is useful when a payload needs to wait for an element such as a Command Line to load. Delay is useful when used at the very beginning when a new USB device is connected to a targeted computer. Initially, the computer must complete a set of actions before it can begin accepting input commands. In the case of <a href="https://en.wikipedia.org/wiki/Human_interface_device">HIDs</a> setup time is very short. In most cases, it takes a fraction of a second, because the drivers are built-in. However, in some instances, a slower PC may take longer to recognize the pico-ducky. The general advice is to adjust the delay time according to your target.</p> <h2>Exfiltration</h2> <p align="justify">Data exfiltration is an unauthorized transfer of data from a computer/device. Once the data is collected, adversary can package it to avoid detection while sending data over the network, using encryption or compression. Two most common way of exfiltration are:</p> <ul> <li>Exfiltration over the network medium.</li> <ul> <li><p align="justify">This approach was used for the Windows exploit. The whole payload can be seen <a href="https://github.com/AleksaMCode/WiFi-password-stealer/raw/main/payload/payload_windows.template.dd">here</a>.</p></li> </ul> <li>Exfiltration over a physical medium.</li> <ul> <li><p align="justify">This approach was used for the Linux exploit. The whole payload can be seen <a href="https://github.com/AleksaMCode/WiFi-password-stealer/raw/main/payload/payload_linux.template.dd">here</a>.</p></li> </ul> </ul> <h3>Windows exploit</h3> <p align="justify">In order to use the Windows payload (<code>payload1.dd</code>), you don't need to connect any jumper wire between pins.</p> <h4>Sending stolen data over email</h4> <p align="justify">Once passwords have been exported to the <code>.txt</code> file, payload will send the data to the appointed email using Yahoo SMTP. For more detailed instructions visit a following <a href="https://github.com/AleksaMCode/university-notices-email-notifier#yahoo-smtp">link</a>. Also, the payload template needs to be updated with your SMTP information, meaning that you need to update <code>RECEIVER_EMAIL</code>, <code>SENDER_EMAIL</code> and yours email <code>PASSWORD</code>. In addition, you could also update the body and the subject of the email.</p> <p><a href="https://github.com/AleksaMCode/WiFi-password-stealer/raw/25cf7c56a7df4a9811b4d3eab8d6e6dad4282055/payload/payload_windows.template.dd#L31">https://github.com/AleksaMCode/WiFi-password-stealer/blob/25cf7c56a7df4a9811b4d3eab8d6e6dad4282055/payload/payload_windows.template.dd#L31</a></p> <blockquote> <p><span>📝</span> <strong>Note</strong>:</p> <ul> <li><p align="justify">After sending data over the email, the <code>.txt</code> file is deleted.</p></li> <li><p align="justify">You can also use some an SMTP from another email provider, but you should be mindful of SMTP server and port number you will write in the payload.</p></li> <li><p align="justify">Keep in mind that some networks could be blocking usage of an unknown SMTP at the firewall.</p></li> </ul> <p></p> </blockquote> <h3>Linux exploit</h3> <p align="justify">In order to use the Linux payload (<code>payload2.dd</code>) you need to connect a jumper wire between <code>GND</code> and <code>GPIO5</code> in order to comply with the code in <a href="https://github.com/dbisu/pico-ducky/raw/main/duckyinpython.py"><code>code.py</code></a> on your RPi Pico. For more information about how to setup multiple payloads on your RPi Pico visit this <a href="https://github.com/dbisu/pico-ducky#multiple-payloads">link</a>. </p> <p align="center"><img src="https://raw.githubusercontent.com/AleksaMCode/WiFi-password-stealer/main/resources/linux-mint_exploit.gif" title="Linux exploit" width="600" hspace="5" vspace="5"></p> <h4>Storing stolen data to USB flash drive</h4> <p align="justify">Once passwords have been exported from the computer, data will be saved to the appointed USB flash drive. In order for this payload to function properly, it needs to be updated with the correct name of your USB drive, meaning you will need to replace <code>USBSTICK</code> with the name of your USB drive in two places.</p> <p><a href="https://github.com/AleksaMCode/WiFi-password-stealer/raw/25cf7c56a7df4a9811b4d3eab8d6e6dad4282055/payload/payload_linux.template.dd#L3">https://github.com/AleksaMCode/WiFi-password-stealer/blob/25cf7c56a7df4a9811b4d3eab8d6e6dad4282055/payload/payload_linux.template.dd#L3</a></p> <p><a href="https://github.com/AleksaMCode/WiFi-password-stealer/raw/25cf7c56a7df4a9811b4d3eab8d6e6dad4282055/payload/payload_linux.template.dd#L11">https://github.com/AleksaMCode/WiFi-password-stealer/blob/25cf7c56a7df4a9811b4d3eab8d6e6dad4282055/payload/payload_linux.template.dd#L11</a></p> <p align="justify">In addition, you will also need to update the Linux <code>PASSWORD</code> in the payload in three places. As stated above, in order for this exploit to be successful, you will need to know the victim's Linux machine password, which makes this attack less plausible.</p> <p><a href="https://github.com/AleksaMCode/WiFi-password-stealer/raw/a90ffb208e6a09d1b0ae44d1afe81d82248ba3fe/payload/payload_linux.template.dd#L7">https://github.com/AleksaMCode/WiFi-password-stealer/blob/a90ffb208e6a09d1b0ae44d1afe81d82248ba3fe/payload/payload_linux.template.dd#L7</a></p> <p><a href="https://github.com/AleksaMCode/WiFi-password-stealer/raw/a90ffb208e6a09d1b0ae44d1afe81d82248ba3fe/payload/payload_linux.template.dd#L9">https://github.com/AleksaMCode/WiFi-password-stealer/blob/a90ffb208e6a09d1b0ae44d1afe81d82248ba3fe/payload/payload_linux.template.dd#L9</a></p> <h4>Bash script</h4> <p align="justify">In order to run the <a href="https://github.com/AleksaMCode/WiFi-password-stealer/raw/main/scripts/wifi_passwords_print.sh"><code>wifi_passwords_print.sh</code></a> script you will need to update the script with the correct name of your USB stick after which you can type in the following command in your terminal:</p> <pre><code class="language-bash">echo PASSWORD | sudo -S sh wifi_passwords_print.sh USBSTICK </code></pre> <p>where <code>PASSWORD</code> is your account's password and <code>USBSTICK</code> is the name for your USB device.</p> <h4>Quick overview of the payload</h4> <p align="justify"><b>NetworkManager</b> is based on the concept of connection profiles, and it uses plugins for reading/writing data. It uses <code>.ini-style</code> keyfile format and stores network configuration profiles. The <b>keyfile</b> is a plugin that supports all the connection types and capabilities that <b>NetworkManager</b> has. The files are located in <i>/etc/NetworkManager/system-connections/</i>. Based on the <b>keyfile</b> format, the payload uses the <code>grep</code> command with regex in order to extract data of interest. For file filtering, a modified positive lookbehind assertion was used (<code>(?&lt;=keyword)</code>). While the positive lookbehind assertion will match at a certain position in the string, <a href="https://en.wikipedia.org/wiki/Viz.">sc.</a> at a position right after the <i>keyword</i> without making that text itself part of the match, the regex <code>(?&lt;=keyword).*</code> will match any text after the <i>keyword</i>. This allows the payload to match the values after <b>SSID</b> and <b>psk</b> (<a href="https://en.wikipedia.org/wiki/Pre-shared_key">pre-shared key</a>) keywords.</p> <p align="justify">For more information about <b>NetworkManager</b> here is some useful links:</p> <ul> <li><a href="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/assembly_networkmanager-connection-profiles-in-keyfile-format_configuring-and-managing-networking#proc_manually-creating-a-networkmanager-profile-in-keyfile-format_assembly_networkmanager-connection-profiles-in-keyfile-format">Manually creating NetworkManager profiles in keyfile format</a></li> <li><a href="https://developer-old.gnome.org/NetworkManager/stable/nm-settings-keyfile.html">Description of keyfile settings plugin</a></li> </ul> <h3>Exfiltrated data formatting</h3> <p align="justify">Below is an example of the exfiltrated and formatted data from a victim's machine in a <code>.txt</code> file.</p> <p> </p> <p><a href="https://github.com/AleksaMCode/WiFi-password-stealer/raw/f5b3b11328764eb07d765a210fbf25db3a828455/resources/wifi_pass.txt#L1-L5">https://github.com/AleksaMCode/WiFi-password-stealer/blob/f5b3b11328764eb07d765a210fbf25db3a828455/resources/wifi_pass.txt#L1-L5</a></p> <h2>USB Mass Storage Device Problem</h2> <p align="justify">One of the advantages of Rubber Ducky over RPi Pico is that it doesn't show up as a USB mass storage device once plugged in. Once plugged into the computer, all the machine sees it as a USB keyboard. This isn't a default behavior for the RPi Pico. If you want to prevent your RPi Pico from showing up as a USB mass storage device when plugged in, you need to connect a jumper wire between pin 18 (<code>GND</code>) and pin 20 (<code>GPIO15</code>). For more details visit this <a href="https://github.com/dbisu/pico-ducky#usb-enabledisable-mode">link</a>.</p> <blockquote> <p><span>💡</span> <strong>Tip</strong>:</p> <ul> <li>Upload your payload to RPi Pico before you connect the pins.</li> <li>Don't solder the pins because you will probably want to change/update the payload at some point.</li> </ul> </blockquote> <h2>Payload Writer</h2> <p align="justify">When creating a functioning payload file, you can use the <a href="https://github.com/AleksaMCode/WiFi-password-stealer/raw/main/payload/writer.py"><code>writer.py</code></a> script, or you can manually change the template file. In order to run the script successfully you will need to pass, in addition to the script file name, a name of the OS (<i>windows</i> or <i>linux</i>) and the name of the payload file (e.q. <i><a href="https://github.com/AleksaMCode/WiFi-password-stealer/releases/latest/download/payload1.dd">payload1.dd</a></i>). Below you can find an example how to run the <i>writer</i> script when creating a Windows payload.</p> <pre><code class="language-bash">python3 writer.py windows payload1.dd </code></pre> <h2>Limitations/Drawbacks</h2> <ul> <li><p align="justify"><s>This pico-ducky currently works only on Windows OS.</s></p></li> <li><p align="justify">This attack requires physical access to an unlocked device in order to be successfully deployed.</p></li> <li><p align="justify">The Linux exploit is far less likely to be successful, because in order to succeed, you not only need physical access to an unlocked device, you also need to know the admins password for the Linux machine.</p></li> <li><p align="justify">Machine's firewall or network's firewall may prevent stolen data from being sent over the network medium.</p></li> <li><p align="justify">Payload delays could be inadequate due to varying speeds of different computers used to deploy an attack.</p></li> <li><p align="justify">The pico-ducky device isn't really stealthy, actually it's quite the opposite, it's really bulky especially if you solder the pins.</p></li> <li><p align="justify">Also, the pico-ducky device is noticeably slower compared to the Rubber Ducky running the same script.</p></li> <li><p align="justify"><s>If the <code>Caps Lock</code> is ON, some of the payload code will not be executed and the exploit will fail.</s></p></li> <li><p align="justify">If the computer has a non-English Environment set, this exploit won't be successful.</p></li> <li><p align="justify">Currently, pico-ducky doesn't support DuckyScript 3.0, only DuckyScript 1.0 can be used. If you need the 3.0 version you will have to use the Rubber Ducky.</p></li> </ul> <h2>To-Do List</h2> <ul> <li><input type="checkbox" checked disabled> Fix <code>Caps Lock</code> bug.</li> <li><input type="checkbox" disabled> Fix non-English Environment bug.</li> <li><input type="checkbox" disabled> Obfuscate the command prompt.</li> <li><input type="checkbox" checked disabled> Implement exfiltration over a physical medium.</li> <li><input type="checkbox" checked disabled> Create a payload for Linux.</li> <li><input type="checkbox" disabled> Encode/Encrypt exfiltrated data before sending it over email.</li> <li><input type="checkbox" disabled> Implement indicator of successfully completed exploit.</li> <li><input type="checkbox" disabled> Implement command history clean-up for Linux exploit.</li> <li><input type="checkbox" disabled> Enhance the Linux exploit in order to avoid usage of <code>sudo</code>.</li> </ul> - - - FalsePhilosopher/BadUSB-Playground - 2023-10-22T01:58:53Z - tag:github.com,2023-10-22:/FalsePhilosopher/BadUSB-Playground - - <p>Flipper Zero geared badusb playground</p><hr><h1>BadUSB-Playground</h1> <p>Welcome to the BadUSB Playground, let's build some cool stuff! Most of what you find in here is either a WIP or resources for a project. If you are just looking for ducky scripts head over to my <a href="https://github.com/FalsePhilosopher/badusb">BadUSB repo</a>.<br></p> <h1>Contributing</h1> <h2>Please adhere to the following best practices and style guides when submitting a payload.</h2> <h2>Naming Conventions</h2> <p>Please give your payload a unique, descriptive and appropriate name. Do not use spaces in payload, directory or file names. Each payload should be submit into its own directory, with <code>-</code> or <code>_</code> used in place of spaces, to one of the categories such as exfiltration, phishing, remote_access or recon. Do not create your own category.</p> <h2>Payload Documentation</h2> <p>Payloads should begin with <code>REM</code> comments specifying the title of the payload, the author, the target, and a brief description.</p> <pre><code>REM Title: Canary Duck REM Author: Jessie Crimson Hart REM Description: Opens hidden powershell and connects to canary webserver using Invoke-WebRequest alerting you to spies and snoops. REM Target: Windows 10 (Powershell) REM Props: Hak5, Thinkst REM Version: 1.0 REM Category: General </code></pre> <p>Payloads from this repository are provided for educational purposes only. Hak5/FZ gear is intended for authorized auditing and security analysis purposes only where permitted subject to local and international laws where applicable. Users are solely responsible for compliance with all laws of their locality. FalsePhilosopher and affiliates claim no responsibility for unauthorized or unlawful use.</p> <h1>Disclaimer</h1> <h3><b>As with any script, you are advised to proceed with caution.</b></h3> <h3><b>Generally, payloads may execute commands on your device. As such, it is possible for a payload to damage your device. Payloads from this repository are provided AS-IS without support. While I make a best effort to review payloads, there are no guarantees as to their effectiveness.</b></h3> - - - omerbsezer/Fast-Kubernetes - 2023-10-22T01:58:53Z - tag:github.com,2023-10-22:/omerbsezer/Fast-Kubernetes - - <p>This repo covers Kubernetes with LABs: Kubectl, Pod, Deployment, Service, PV, PVC, Rollout, Multicontainer, Daemonset, Taint-Toleration, Job, Ingress, Kubeadm, Helm, etc.</p><hr><h1>Fast-Kubernetes</h1> <p>This repo covers Kubernetes objects' and components' details (Kubectl, Pod, Deployment, Service, ConfigMap, Volume, PV, PVC, Daemonset, Secret, Affinity, Taint-Toleration, Helm, etc.) fastly, and possible example usage scenarios (HowTo: Hands-on LAB) in a nutshell. Possible usage scenarios are aimed to update over time.</p> <h2>Prerequisite</h2> <ul> <li>Have a knowledge of Container Technology (Docker). You can learn it from here =&gt; <a href="https://github.com/omerbsezer/Fast-Docker">Fast-Docker</a></li> </ul> <p><strong>Keywords:</strong> Containerization, Kubernetes, Kubectl, Pod, Deployment, Service, ConfigMap, ReplicaSet, Volume, Cheatsheet.</p> <p><strong>Note:</strong> K8s objects and objects feature can be updated/changed in time. While creating this repo, the version of K8s was v1.22.3. Some sections are trying to be kept up to date. Especially <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Kubeadm-Cluster-Setup.md">Creating K8s Cluster with Kubeadm and Containerd</a>.</p> <h1>Quick Look (HowTo): Scenarios - Hands-on LAB</h1> <ul> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-CreatingPod-Imperative.md">LAB: K8s Creating Pod - Imperative Way</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8-CreatingPod-Declerative.md">LAB: K8s Creating Pod - Declarative Way (With File) - Environment Variable</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Multicontainer-Sidecar.md">LAB: K8s Multicontainer - Sidecar - Emptydir Volume - Port-Forwarding</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Deployment.md">LAB: K8s Deployment - Scale Up/Down - Bash Connection - Port Forwarding</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Rollout-Rollback.md">LAB: K8s Rollout - Rollback</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Service-App.md">LAB: K8s Service Implementations (ClusterIp, NodePort and LoadBalancer)</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Liveness-App.md">LAB: K8s Liveness Probe</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Secret.md">LAB: K8s Secret (Declarative and Imperative Way)</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Configmap.md">LAB: K8s Config Map</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Node-Affinity.md">LAB: K8s Node Affinity</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Taint-Toleration.md">LAB: K8s Taint-Toleration</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Daemon-Sets.md">LAB: K8s Daemonset - Creating 3 nodes on Minikube</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-PersistantVolume.md">LAB: K8s Persistent Volume and Persistent Volume Claim</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Statefulset.md">LAB: K8s Stateful Sets - Nginx</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Job.md">LAB: K8s Job</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-CronJob.md">LAB: K8s Cron Job</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Ingress.md">LAB: K8s Ingress</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/Helm.md">LAB: Helm Install &amp; Usage</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Kubeadm-Cluster-Setup.md">LAB: K8s Cluster Setup with Kubeadm and Containerd</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Kubeadm-Cluster-Docker.md">LAB: K8s Cluster Setup with Kubeadm and Docker</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Helm-Jenkins.md">LAB: Helm-Jenkins on running K8s Cluster (2 Node Multipass VM)</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Enable-Dashboard-On-Cluster.md">LAB: Enable Dashboard on Real K8s Cluster</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Monitoring-Prometheus-Grafana.md">LAB: K8s Monitoring - Prometheus and Grafana</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/KubernetesCommandCheatSheet.md">Kubectl Commands Cheatsheet</a></li> <li><a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/HelmCheatsheet.md">Helm Commands Cheatsheet</a></li> </ul> <h1>Table of Contents</h1> <ul> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#motivation">Motivation</a> <ul> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#containerization">What is Containerization? What is Container Orchestration?</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#features">Features</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#whatIsKubernetes">What is Kubernetes?</a> <ul> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#architecture">Kubernetes Architecture</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#components">Kubernetes Components</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#installation">Installation</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#kubectl">Kubectl Config – Usage</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#pod">Pod: Creating, Yaml, LifeCycle</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#multicontainerpod">MultiContainer Pod, Init Container</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#labelselector">Label and Selector, Annotation, Namespace</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#deployment">Deployment</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#replicaset">Replicaset</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#rollout-rollback">Rollout and Rollback</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#network-service">Network, Service</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#liveness-readiness">Liveness and Readiness Probe</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#environmentvariable">Resource Limit, Environment Variable</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#volume">Volume</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#secret">Secret</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#configmap">ConfigMap</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#node-pod-affinity">Node – Pod Affinity</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#taint-tolereation">Taint and Toleration</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#daemon-set">Deamon Set</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#pvc">Persistent Volume and Persistent Volume Claim</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#storageclass">Storage Class</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#statefulset">Stateful Set</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#job">Job, CronJob</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#authentication">Authentication, Role Based Access Control, Service Account</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#ingress">Ingress</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#dashboard">Dashboard</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#playwithkubernetes">Play With Kubernetes</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#helm">Helm: Kuberbetes Package Manager</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#cheatsheet">Kubernetes Commands Cheatsheet</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#helm_cheatsheet">Helm Commands Cheatsheet</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#cluster_setup">Kubernetes Cluster Setup: Kubeadm, Containerd, Multipass</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#prometheus_grafana">Monitoring Kubernetes Cluster with SSH, Prometheus and Grafana</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#resource">Other Useful Resources Related Kubernetes</a></li> <li><a href="https://raw.githubusercontent.com/omerbsezer/Fast-Kubernetes/main/#references">References</a></li> </ul> <h2>Motivation <a name="motivation"></a></h2> <p>Why should we use Kubernetes? "Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available." (Ref: Kubernetes.io)</p> <h3>What is Containerization? What is Container Orchestration? <a name="containerization"></a></h3> <ul> <li>"Containerization is an operating system-level virtualization or application-level virtualization over multiple network resources so that software applications can run in isolated user spaces called containers in any cloud or non-cloud environment" (wikipedia)</li> <li>With Docker Environment, we can create containers.</li> <li>Kubernetes and Docker Swarm are the container orchestration and management tools that automate and schedule the deployment, management, scaling, and networking of containers.</li> </ul> <p><img src="https://user-images.githubusercontent.com/10358317/146249579-b4221dc1-bad7-4da5-831a-849a71fa849e.png" alt="image"></p> <h3>Features <a name="features"></a></h3> <ul> <li><strong>Service discovery and load balancing:</strong> Kubernetes can expose a container using the DNS name or using their own IP address. If traffic to a container is high, Kubernetes is able to load balance and distribute the network traffic so that the deployment is stable.</li> <li><strong>Storage orchestration:</strong> Kubernetes allows you to automatically mount a storage system of your choice, such as local storages, public cloud providers, and more.</li> <li><strong>Automated rollouts and rollbacks:</strong>&nbsp; You can describe the desired state for your deployed containers using Kubernetes, and it can change the actual state to the desired state at a controlled rate.</li> <li><strong>Automatic bin packing:</strong> You tell Kubernetes how much CPU and memory (RAM) each container needs. Kubernetes can fit containers onto your nodes to make the best use of your resources.</li> <li><strong>Self-monitoring:</strong>&nbsp;Kubernetes checks constantly the health of nodes and containers</li> <li><strong>Self-healing:</strong> Kubernetes restarts containers that fail, replaces containers, kills containers that don't respond to your user-defined health check</li> <li><strong>Automates various manual processes:</strong>&nbsp;for instance, Kubernetes will control for you which server will host the container, how it will be launched etc.</li> <li><strong>Interacts with several groups of containers:</strong>&nbsp;Kubernetes is able to manage more cluster at the same time</li> <li><strong>Provides additional services:</strong>&nbsp;as well as the management of containers, Kubernetes offers security, networking and storage services</li> <li><strong>Horizontal scaling:</strong>&nbsp;Kubernetes allows you scaling resources not only vertically but also horizontally, easily and quickly</li> <li><strong>Container balancing:</strong>&nbsp;Kubernetes always knows where to place containers, by calculating the “best location” for them</li> <li><strong>Run everywhere:</strong>&nbsp;Kubernetes is an open source tool and gives you the freedom to take advantage of on-premises, hybrid, or public cloud infrastructure, letting you move workloads to anywhere you want</li> <li><strong>Secret and configuration management:</strong> Kubernetes lets you store and manage sensitive information</li> </ul> <h2>What is Kubernetes? <a name="whatIsKubernetes"></a></h2> <ul> <li>"Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available." (Ref: Kubernetes.io)</li> </ul> <p><img src="https://user-images.githubusercontent.com/10358317/146247396-5bc3bbf9-41fa-47ff-b10d-cac305379e21.png" alt="image"> (Ref: Kubernetes.io)</p> <h3>Kubernetes Architecture <a name="architecture"></a></h3> <p><img src="https://user-images.githubusercontent.com/10358317/146250114-18759a06-e6a6-4554-bc7f-b23a13534f77.png" alt="image"></p> <h3>Kubernetes Components <a name="components"></a> (Ref: Kubernetes.io)</h3> <ul> <li><strong>Control Plane:</strong> User enters commands and configuration files from control plane. It controls all cluster. <ul> <li><strong>API Server:</strong> "It exposes the Kubernetes API. The API server is the front end for the Kubernetes control plane."</li> <li><strong>Etcd:</strong> "Consistent and highly-available key value store used as Kubernetes' backing store for all cluster data (meta data, objects, etc.)."</li> <li><strong>Scheduler:</strong> "It watches for newly created Pods with no assigned node, and selects a node for them to run on. <ul> <li>Factors taken into account for scheduling decisions include: <ul> <li>individual and collective resource requirements,</li> <li>hardware/software/policy constraints,</li> <li>affinity and anti-affinity specifications,</li> <li>data locality,</li> <li>inter-workload interference,</li> <li>deadlines."</li> </ul> </li> </ul> </li> <li><strong>Controller Manager:</strong> "It runs controller processes. <ul> <li>Logically, each controller is a separate process, but to reduce complexity, they are all compiled into a single binary and run in a single process.</li> <li>Some types of these controllers are: <ul> <li>Node controller: Responsible for noticing and responding when nodes go down.</li> <li>Job controller: Watches for Job objects that represent one-off tasks, then creates Pods to run those tasks to completion.</li> <li>Endpoints controller: Populates the Endpoints object (that is, joins Services &amp; Pods).</li> <li>Service Account &amp; Token controllers: Create default accounts and API access tokens for new namespaces"</li> </ul> </li> </ul> </li> <li><strong>Cloud Controller Manager:</strong> "It embeds cloud-specific control logic. The cloud controller manager lets you link your cluster into your cloud provider's API, and separates out the components that interact with that cloud platform from components that only interact with your cluster. The cloud-controller-manager only runs controllers that are specific to your cloud provider <ul> <li>The following controllers can have cloud provider dependencies: <ul> <li>Node controller: For checking the cloud provider to determine if a node has been deleted in the cloud after it stops responding</li> <li>Route controller: For setting up routes in the underlying cloud infrastructure</li> <li>Service controller: For creating, updating and deleting cloud provider load balancers."</li> </ul> </li> </ul> </li> </ul> </li> <li><strong>Node:</strong> "Node components run on every node, maintaining running pods and providing the Kubernetes runtime environment." <ul> <li><strong>Kubelet:</strong> "An agent that runs on each node in the cluster. It makes sure that containers are running in a Pod. The kubelet takes a set of PodSpecs that are provided through various mechanisms and ensures that the containers described in those PodSpecs are running and healthy."</li> <li><strong>Kube-proxy:</strong> "It is a network proxy that runs on each node in your cluster, implementing part of the Kubernetes Service concept. <ul> <li>It maintains network rules on nodes. These network rules allow network communication to your Pods from network sessions inside or outside of your cluster.</li> <li>It uses the operating system packet filtering layer if there is one and it's available. Otherwise, kube-proxy forwards the traffic itself."</li> </ul> </li> <li><strong>Container Runtime:</strong> "The container runtime is the software that is responsible for running containers. <ul> <li>Kubernetes supports several container runtimes: <strong>Docker, containerd, CRI-O,</strong> and any implementation of the Kubernetes CRI (Container Runtime Interface)"</li> </ul> </li> </ul> </li> </ul> <p><img src="https://user-images.githubusercontent.com/10358317/146250916-a9298521-526b-451a-9810-6813e4165db5.png" alt="image"></p> <h3>Installation <a name="installation"></a></h3> <p>Download:</p> <ul> <li><strong>Kubectl:</strong> The Kubernetes command-line tool, kubectl, allows you to run commands against Kubernetes clusters.</li> <li><strong>Minikube:</strong> It is a tool that lets you run Kubernetes locally. It runs a single-node Kubernetes cluster on your personal computer (<a href="https://minikube.sigs.k8s.io/docs/start/">https://minikube.sigs.k8s.io/docs/start/</a>)</li> <li><strong>KubeAdm:</strong> You can use the kubeadm tool to create and manage Kubernetes clusters. This is for creating cluster with computers (Goto: <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Kubeadm-Cluster-Setup.md">LAB: K8s Kubeadm Cluster Setup</a>).</li> </ul> <p>from here=&gt; <a href="https://kubernetes.io/docs/tasks/tools/">https://kubernetes.io/docs/tasks/tools/</a></p> <p>For learning K8s and running on a computer, <strong>Kubectl and Minikube</strong> are enough to install.</p> <p><strong>PS:</strong> Cloud providers (Azure, Google Cloud, AWS) offer managed K8s (control plane is managed by cloud provides). You can easily create your cluster (number of computer and details) and make connection with Kubectl (using CLI get-credentials of cluster on the cloud)</p> <h3>Kubectl Config – Usage <a name="kubectl"></a></h3> <h4>Config File</h4> <ul> <li>You can communicate with K8s cluster in different ways: REST API, Command Line Tool (CLI-Kubectl), GUI (kube-dashboard, etc.)</li> <li>After installation, you can find the kubernetes config file (C:\Users\User.kube\config) that is YAML file.</li> <li>Config file contains 3 main parts: Clusters (cluster certificate data, server, name), Context (cluster and user, namespace), Users (name, config features, certificates, etc.)</li> </ul> <h4>Usage</h4> <ul> <li>Kubectl is our main command line tool that connects minikube. There are many combination of commands. So it is not possible to list all commands.</li> <li>When run "kubectl" on the terminal, it can be seen some simple commands. Also "kubectl <command> --help" gives more information.</li> <li>Pattern: kubectl [get|delete|edit|apply] [pods|deployment|services] [podName|serviceName|deploymentName]</li> <li>Example: "kubectl get pods podName", "kubectl delete pods test_pod", "kubectl describe pods firstpod", etc.</li> <li>All necessary/most usable commands are listed in the "<a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/KubernetesCommandCheatSheet.md">Kubernetes Commands Cheatsheet</a>". Please have a look to get more information and usage.</li> </ul> <h3>Pod: Creating, Yaml, LifeCycle <a name="pod"></a></h3> <ul> <li>Pod is the smallest unit that is created and managed in K8s.</li> <li>Pods may contain more than 1 container, but mostly pods contain only 1 container.</li> <li>Each pod has unique id (uid).</li> <li>Each pod has unique IP address.</li> <li>Containers in the same Pod run on the same Node (computer), and these containers can communicate with each other on the localhost.</li> <li>Creation of the first pod, IMPERATIVE WAY (with command):</li> <li>Please have a look Scenario (<strong>Creating Pod - Imperative way</strong>, below link) to learn more information about the pod's kubectl commands. <ul> <li>how to create basic K8s pod using imperative commands,</li> <li>how to get more information about pod (to solve troubleshooting),</li> <li>how to run commands in pod,</li> <li>how to delete pod.</li> </ul> </li> </ul> <p><strong>Goto the Scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-CreatingPod-Imperative.md">LAB: K8s Creating Pod - Imperative Way</a></p> <h4>Pod: YAML File</h4> <ul> <li>Imperative way could be difficult to store and manage process. Every time we have to enter commands. To prevent this, we can use YAML file to define pods and pods' feature. This way is called "Declarative Way".</li> <li>Declarative way (with file), Imperative way (with command)</li> <li>Sample Yaml File:</li> </ul> <p><img src="https://user-images.githubusercontent.com/10358317/153674712-426a262d-d13e-489d-9c86-63ac22114d75.png" alt="image"></p> <ul> <li>Please have a look Scenario (<strong>Creating Pod - Declarative way</strong>, below link) to learn more information.</li> </ul> <p><strong>Goto the Scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8-CreatingPod-Declerative.md">LAB: K8s Creating Pod - Declarative Way (With File) - Environment Variable</a></p> <h4>Pod: Life Cycle</h4> <ul> <li><strong>Pending:</strong> API-&gt;etcd, pod created, pod id created, but not running on the node.</li> <li><strong>Creating:</strong> Scheduler take pod from etcd, assing on node. Kubelet on the Node pull images from docker registry or repository.</li> <li><strong>ImagePullBackOff:</strong> Kubelet can not pull image from registry. E.g. Image name is fault (typo error), Authorization Failure, Username/Pass error.</li> <li><strong>Running:</strong> <ul> <li>Container closes in 3 ways: <ol> <li>App completes the mission and closes automatically without giving error,</li> <li>Use or System sends close signal and closes automatically without giving error,</li> <li>Giving error, collapsed and closes with giving error code.</li> </ol> </li> <li>Restart Policies (it can defined in the pod definition): <ol> <li>Always: Default value, kubelet starts always when closing with or without error,</li> <li>On-failure: It starts again when it gets only error,</li> <li>Never: It never restarts in any case.</li> </ol> </li> </ul> </li> <li><strong>Successed (completed)</strong>: If the container closes successfully without error and restart policy is configured as on-failure/never, it converts to succeed.</li> <li><strong>Failed</strong></li> <li><strong>CrashLoopBackOff:</strong> <ul> <li>If restart policy is configured as always and container closes again and again, container restarts again and again (Restart waiting duration before restarting again: 10 sec -&gt; 20 sec -&gt; 40 sec -&gt; .. -&gt; 5mins), It runs every 5 mins if the pod is crashed.</li> <li>If container runs more than 10 mins, status converted from 'CrashLoopBackOff' to 'Running'.</li> </ul> </li> </ul> <h3>MultiContainer Pod, Init Container <a name="multicontainerpod"></a></h3> <ul> <li>Best Practice: 1 Container runs in 1 Pod normally, because the smallest element in K8s is Pod (Pod can be scaled up/down).</li> <li>Multicontainers run in the same Pod when containers are dependent of each other.</li> <li>Multicontainers in one Pod have following features: <ul> <li>Multi containers that run on the same Pod run on the same Node.</li> <li>Containers in the same Pod run/pause/deleted at the same time.</li> <li>Containers in the same Pod communicate with each other on localhost, there is not any network isolation.</li> <li>Containers in the same Pod use one volume commonly and they can reach same files in the volume.</li> </ul> </li> </ul> <h4>Init Containers</h4> <ul> <li>Init containers are used for configuration of apps before running app container.</li> <li>Init containers handle what it should run, then it closes successfully, after init containers close, app containers start.</li> <li>Example below shows how to define init containers in one Pod. There are 2 containers: appcontainer and initcontainer. Initcontainer is polling the service (myservice). When it finds, it closes and app container starts.</li> </ul> <pre><code class="language-yaml">apiVersion: v1 kind: Pod metadata: name: initcontainerpod spec: containers: - name: appcontainer # after initcontainer closed successfully, appcontainer starts. image: busybox command: ['sh', '-c', 'echo The app is running! &amp;&amp; sleep 3600'] initContainers: - name: initcontainer image: busybox # init container starts firstly and look up myservice is up or not in every 2 seconds, if there is myservice available, initcontainer closes. command: ['sh', '-c', "until nslookup myservice; do echo waiting for myservice; sleep 2; done"] </code></pre> <pre><code class="language-yaml"># save as service.yaml and run after pod creation apiVersion: v1 kind: Service metadata: name: myservice spec: ports: - protocol: TCP port: 80 targetPort: 9376 </code></pre> <ul> <li>Please have a look Scenario (below link) to learn more information.</li> </ul> <p><strong>Goto the Scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Multicontainer-Sidecar.md">LAB: K8s Multicontainer - Sidecar - Emptydir Volume - Port-Forwarding</a></p> <h3>Label and Selector, Annotation, Namespace <a name="labelselector"></a></h3> <h4>Label</h4> <ul> <li>Label is important to reach the K8s objects with key:value pairs.</li> <li>key:value is used for labels. E.g. tier:frontend, stage:test, name:app1, team:development</li> <li>prefix may also be used for optional with key:value. E.g. example.com/tier:front-end, kubernetes.io/ , k8s.io/</li> <li>In the file (declerative way), labels are added under metadata. It is possible to add multiple labels.</li> </ul> <p><img src="https://user-images.githubusercontent.com/10358317/153675164-62265978-60c3-4167-ad0c-4bfbbf1f704b.png" alt="image"></p> <ul> <li>In the command (imperative way), we can also add label to the pods.</li> </ul> <pre><code class="language-shell">kubectl label pods pod1 team=development #adding label team=development on pod1 kubectl get pods --show-labels kubectl label pods pod1 team- #remove team (key:value) from pod1 kubectl label --overwrite pods pod1 team=test #overwrite/change label on pod1 kubectl label pods --all foo=bar # add label foo=bar for all pods </code></pre> <h4>Selector</h4> <ul> <li>We can select/filter pods with kubectl.</li> </ul> <pre><code class="language-shell">kubectl get pods -l "app=firstapp" --show-labels kubectl get pods -l "app=firstapp,tier=frontend" --show-labels kubectl get pods -l "app=firstapp,tier!=frontend" --show-labels kubectl get pods -l "app,tier=frontend" --show-labels #equality-based selector kubectl get pods -l "app in (firstapp)" --show-labels #set-based selector kubectl get pods -l "app not in (firstapp)" --show-labels #set-based selector kubectl get pods -l "app=firstapp,app=secondapp" --show-labels # comma means and =&gt; firstapp and secondapp kubectl get pods -l "app in (firstapp,secondapp)" --show-labels # it means or =&gt; firstapp or secondapp </code></pre> <h4>Node Selector</h4> <ul> <li>With Node Selector, we can specify which pod run on which Node.</li> </ul> <p><img src="https://user-images.githubusercontent.com/10358317/153676102-03b2137b-ecc8-4802-9a9f-41694e1ce6fa.png" alt="image"></p> <ul> <li>It is also possible to label nodes with imperative way.</li> </ul> <pre><code class="language-shell">kubectl apply -f podnode.yaml kubectl get pods -w #always watch kubectl label nodes minikube hddtype=ssd #after labelling node, pod11 configuration can run, because node is labelled with hddtype:ssd </code></pre> <h4>Annotation</h4> <ul> <li>It is similar to label, but it is used for the detailed information (e.g. owner, notification-email, releasedate, etc.) that are not used for linking objects.</li> </ul> <p><img src="https://user-images.githubusercontent.com/10358317/153675516-4b71b55a-f7ec-40a4-9e32-0b794208e6ae.png" alt="image"></p> <pre><code class="language-shell">kubectl apply -f podannotation.yaml kubectl describe pod annotationpod kubectl annotate pods annotationpod foo=bar #imperative way kubectl delete -f podannotation.yaml </code></pre> <h4>Namespaces</h4> <ul> <li>Namespaces provides a mechanism for isolating groups of resources within a single cluster. They provide a scope for names.</li> <li>Namespaces cannot be nested inside one another and each Kubernetes resource can only be in one namespace.</li> <li>Kubectl commands run in default namespaces if it is not determined in the command.</li> </ul> <p><img src="https://user-images.githubusercontent.com/10358317/148784384-96681287-e4c4-46e8-b63f-5953270a5b28.png" alt="image"></p> <pre><code class="language-shell">kubectl get pods --namespaces kube-system #get all pods in the kube-system namespaces kubectl get pods --all-namespaces # get pods from all namespaces kubectl create namespace development #create new development namespace in imperative way kubectl get pods -n development # get pods from all namespace </code></pre> <ul> <li>In declerative way, it is possible to create namespaces and run pod on the related namespace.</li> </ul> <p><img src="https://user-images.githubusercontent.com/10358317/153675331-ee6ccfb6-b186-4e29-8e85-55adee465a53.png" alt="image"></p> <pre><code class="language-shell">kubectl apply -f namespace.yaml kubectl get pods -n development #get pods in the development namespace kubectl exec -it namespacedpod -n development -- /bin/sh #run namespacepod in development namespace </code></pre> <ul> <li>We can avoid to use -n <namespacename> for all command with changing of default namespace (because, if we don't use -n namespace, kubectl commands run on the default namespace). </namespacename></li> </ul> <pre><code class="language-shell">kubectl config set-context --current --namespace=development #now default namespace is development kubectl get pods #returns pods in the development namespace kubectl config set-context --current --namespace=default #now namespace is default kubectl delete namespaces development #delete development namespace </code></pre> <h3>Deployment <a name="deployment"></a></h3> <ul> <li>A Deployment provides declarative updates for Pods and ReplicaSets.</li> <li>We define states in the deployment, deployment controller compares desired state and take necessary actions to keep desire state.</li> <li>Deployment object is the higher level K8s object that controls and keeps state of single or multiple pods automatically.</li> <li>Imperative way:</li> </ul> <pre><code class="language-shell">kubectl create deployment firstdeployment --image=nginx:latest --replicas=2 kubectl get deployments kubectl get pods -w #on another terminal kubectl delete pods &lt;oneofthepodname&gt; #we can see another terminal, new pod will be created (to keep 2 replicas) kubectl scale deployments firstdeployment --replicas=5 kubectl delete deployments firstdeployment </code></pre> <ul> <li>Please have a look Scenario (below link) to learn more about the deployment and declarative way of creating deployment.</li> </ul> <p><strong>Goto the Scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Deployment.md">LAB: K8s Deployment - Scale Up/Down - Bash Connection - Port Forwarding</a></p> <h3>Replicaset <a name="replicaset"></a></h3> <ul> <li>Deployment object create Replicaset object. Deployment provides the transition of the different replicaset automatically.</li> <li>Replicaset is responsible for the management of replica creation and remove. But, when the pods are updated (e.g. image changed), it can not update replicaset pods. However, deployment can update for all change. So, best practice is to use deployment, not to use replicaset directly.</li> <li><strong>Important:</strong> It can be possible to create replicaset directly, but we could not use rollout/rollback, undo features with replicaset. Deployment provide to use rollout/rollback, undo features.</li> </ul> <p><img src="https://user-images.githubusercontent.com/10358317/148804992-8ad27155-1c1e-436f-949e-4aec9a1a9d05.png" alt="image"></p> <h3>Rollout and Rollback <a name="rollout-rollback"></a></h3> <ul> <li>Rollout and Rollback enable to update and return back containers that run under the deployment.</li> <li>2 strategy for rollout: <ul> <li><strong>Recreate Strategy:</strong> Delete all pods first and create Pods from scratch. If two different versions of SW affect each other negatively, this strategy could be used.</li> <li><strong>RollingUpdate Strategy (default)</strong>: It updates pods step by step. Pods are updated step by step, all pods are not deleted at the same time. <ul> <li><strong>maxUnavailable:</strong> At the update duration, it shows the max number of deleted containers (total:10 containers; if maxUn:2, min:8 containers run in that time period)</li> <li><strong>maxSurge:</strong> At the update duration, it shows that the max number of containers run on the cluster (total:10 containers; if maxSurge:2, max:12 containers run in a time)</li> </ul> </li> </ul> </li> </ul> <pre><code class="language-shell">kubectl set image deployment rolldeployment nginx=httpd:alpine --record # change image of deployment kubectl rollout history deployment rolldeployment #shows record/history revisions kubectl rollout history deployment rolldeployment --revision=2 #select the details of the one of the revisions kubectl rollout undo deployment rolldeployment #returns back to previous deployment revision kubectl rollout undo deployment rolldeployment --to-revision=1 #returns back to the selected revision=1 kubectl rollout status deployment rolldeployment -w #show live status of the rollout deployment kubectl rollout pause deployment rolldeployment #pause the rollout while updating pods kubectl rollout resume deployment rolldeployment #resume the rollout if rollout paused </code></pre> <p><strong>Goto the Scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Rollout-Rollback.md">LAB: K8s Rollout - Rollback</a></p> <h3>Network, Service <a name="network-service"></a></h3> <h4>K8s Networking Requirements</h4> <ul> <li>Each pod has unique and own IP address (Containers within a pod share network namespaces).</li> <li>All PODs can communicate with all other pods without NAT (Network Address Translation)</li> <li>All NODEs can communicate with all pods without NAT.</li> <li>The IP of the POD is same throughout the cluster.</li> </ul> <h4>CNI (Container Network Interface)</h4> <ul> <li>Networking of containers and nodes with different vendors and devices is difficult to handle. So K8s give this responsibility to CNI plugins to handle networking requirements.</li> <li>"CNI (Container Network Interface), a Cloud Native Computing Foundation project, consists of a specification and libraries for writing plugins to configure network interfaces in Linux containers, along with a number of supported plugins." =&gt; <a href="https://github.com/containernetworking/cni">https://github.com/containernetworking/cni</a></li> <li>K8s has CNI plugins that are selected by the users. Some of the CNI methods are: Flannel, calico, weave, and canal.</li> <li>Calico (<a href="https://github.com/projectcalico/calico">https://github.com/projectcalico/calico</a>) is the one of the popular and open source CNI method/plugin in K8s. <ul> <li>Network Management in the cluster: <ul> <li>IP assignments to Pods</li> <li>IP Table Management</li> <li>Overlay definition between Nodes without using NAT (e.g. --pod-network-cidr management)</li> <li>Vxlan Interface implementation and etc.</li> </ul> </li> </ul> </li> </ul> <h4>Service</h4> <ul> <li>"An abstract way to expose an application running on a set of Pods as a network service.</li> <li>Kubernetes ServiceTypes allow you to specify what kind of Service you want. The default is ClusterIP.</li> <li>Type values and their behaviors are: <ul> <li><strong>ClusterIP:</strong> Exposes the Service on a cluster-internal IP. Choosing this value makes the Service only reachable from within the cluster. This is the default ServiceType.</li> <li><strong>NodePort:</strong> Exposes the Service on each Node's IP at a static port (the NodePort). A ClusterIP Service, to which the NodePort Service routes, is automatically created. You'll be able to contact the NodePort Service, from outside the cluster, by requesting <nodeip> : <nodeport> . </nodeport> </nodeip></li> <li><strong>LoadBalancer:</strong> Exposes the Service externally using a cloud provider's load balancer. NodePort and ClusterIP Services, to which the external load balancer routes, are automatically created.</li> <li><strong>ExternalName:</strong> Maps the Service to the contents of the externalName field (e.g. foo.bar.example.com), by returning a CNAME record with its value. No proxying of any kind is set up." (Ref: Kubernetes.io)</li> </ul> </li> <li>Example of Service Object Definition: (Selector binds service to the related pods, get traffic from port 80 to port 9376)</li> </ul> <pre><code class="language-yaml">apiVersion: v1 kind: Service metadata: name: my-service spec: selector: app: MyApp ports: - protocol: TCP port: 80 targetPort: 9376 </code></pre> <p><strong>Goto the Scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Service-App.md">LAB: K8s Service Implementations (ClusterIp, NodePort and LoadBalancer)</a></p> <h3>Liveness and Readiness Probe <a name="liveness-readiness"></a></h3> <h4>Liveness Probe</h4> <ul> <li>"The kubelet uses liveness probes to know when to restart a container. For example, liveness probes could catch a deadlock, where an application is running, but unable to make progress." (Ref: Kubernetes.io)</li> <li>There are different ways of controlling Pods: <ul> <li>httpGet,</li> <li>exec command,</li> <li>tcpSocket,</li> <li>grpc, etc.</li> </ul> </li> <li>initialDelaySeconds: waiting some period of time after starting. e.g. 5sec, after 5 sec start to run command</li> <li>periodSeconds: in a period of time, run command.</li> </ul> <p><strong>Goto the Scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Liveness-App.md">LAB: K8s Liveness Probe</a></p> <h4>Readiness Probe</h4> <ul> <li>"Sometimes, applications are temporarily unable to serve traffic. For example, an application might need to load large data or configuration files during startup, or depend on external services after startup. In such cases, you don't want to kill the application, but you don't want to send it requests either. Kubernetes provides readiness probes to detect and mitigate these situations. A pod with containers reporting that they are not ready does not receive traffic through Kubernetes Services." (Ref: Kubernetes.io)</li> <li>Readiness probe is similar to liveness pod. Only difference is to define "readinessProbe" instead of "livenessProbe".</li> </ul> <h3>Resource Limit, Environment Variable <a name="environmentvariable"></a></h3> <h4>Resource Limit</h4> <ul> <li>Pods can consume resources (cpu, memory) up to physical resource limits, if there was not any limitation.</li> <li>Pods' used resources can be limited. <ul> <li>use 1 cpu core =&gt; cpu = "1" = "1000" = "1000m"</li> <li>use 10% of 1 cpu core =&gt; cpu = "0.1" = "100" = "100m"</li> <li>use 64 MB =&gt; memory: "64M"</li> </ul> </li> <li>CPU resources are exactly limited when it defines.</li> <li>When pod requests memory resource more than limitation, pod changes its status to "OOMKilled" and restarts itself to limit memory usage.</li> <li>Example (below), pod requests 64MB memory and 0.25 CPU core, uses maximum 256MB memory and 0.5 CPU core.</li> </ul> <p><img src="https://user-images.githubusercontent.com/10358317/153676383-eb783491-79da-4886-9728-55977b6bbd88.png" alt="image"></p> <h4>Environment Variable</h4> <ul> <li>Environment Variables can be defined for each pods in the YAML file.</li> </ul> <p><img src="https://user-images.githubusercontent.com/10358317/153676628-d103de1d-e223-451b-8337-cdfe1cebee66.png" alt="image"></p> <p><strong>Goto the Scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8-CreatingPod-Declerative.md">LAB: K8s Creating Pod - Declarative Way - Environment Variable</a></p> <h3>Volume <a name="volume"></a></h3> <ul> <li>Ephemeral volume (Temporary volume): Multiple containers reach ephemeral volume in the pod. When the pod is deleted/killed, volume is also deleted. But when container is restarted, volume is still available because pod still runs.</li> <li>There are 2 types of ephemeral volumes: <ul> <li>Emptydir</li> <li>Hostpath <ul> <li>Directory</li> <li>DirectoryOrCreate</li> <li>FileOrCreate</li> </ul> </li> </ul> </li> </ul> <h4>Emptydir Volume</h4> <ul> <li>Emptydir (empty directory on the node) is created on which node the pod is created on and it is mounted on the container using "volumeMounts". Multiple containers in the pod can reach this volume (read/write).</li> <li>Emptydir volume is dependent of Pod Lifecycle. If the pod is deleted, emptydir is also deleted.</li> </ul> <pre><code class="language-yaml">spec: containers: - name: sidecar image: busybox command: ["/bin/sh"] args: ["-c", "sleep 3600"] volumeMounts: # volume is mounted under "volumeMounts" - name: cache-vol # "name" of the volume type mountPath: /tmp/log # "mountPath" is the path in the container. volumes: - name: cache-vol emptyDir: {} # "volume" type "emptydir" </code></pre> <p><strong>Goto the Scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Multicontainer-Sidecar.md">LAB: K8s Multicontainer - Sidecar - Emptydir Volume - Port-Forwarding</a></p> <h4>Hostpath Volume</h4> <ul> <li>It is similar to emtpydir, hostpath is also created on which node the pod is created on. In addition, the hostpath is specifically defined path on the node.</li> </ul> <pre><code class="language-yaml">apiVersion: v1 kind: Pod metadata: name: hostpath spec: containers: - name: hostpathcontainer image: ImageName # e.g. nginx volumeMounts: - name: directory-vol # container connects "volume" name mountPath: /dir1 # on the container which path this volume is mounted - name: dircreate-vol mountPath: /cache # on the container which path this volume is mounted - name: file-vol mountPath: /cache/config.json # on the container which file this volume is mounted volumes: - name: directory-vol # "volume" name hostPath: # "volume" type "hostpath" path: /tmp # "path" on the node, "/tmp" is defined volume type: Directory # "hostpath" type "Directory", existed directory - name: dircreate-vol hostPath: # "volume" type "hostpath" path: /cache # "path" on the node type: DirectoryOrCreate # "hostpath" type "DirectoryOrCreate", if it is not existed, create directory - name: file-vol hostPath: # "volume" type "hostpath" path: /cache/config.json # "path" on the node type: FileOrCreate # "hostpath" type "FileOrCreate", if it is not existed, create file </code></pre> <p><img src="https://user-images.githubusercontent.com/10358317/154715083-f5972de0-d95e-47f2-bc6d-92cf7b8a182a.png" alt="image"></p> <h3>Secret <a name="secret"></a></h3> <ul> <li>Secret objects store the sensitive and secure information like username, password, ssh-tokens, certificates.</li> <li>Secrets (that you defined) and pods (that you defined) should be in the same namespace (e.g. if defined secret is in the "default" namespace, pod should be also in the "default" namepace).</li> <li>There are 8 different secret types (basic-auth, tls, ssh-auth, token, service-account-token, dockercfg, dockerconfigjson, opaque). Opaque type is the default one and mostly used.</li> <li>Secrets are called by the pod in 2 different ways: volume and environment variable</li> <li>Imperative way, run on the terminal (geneneric in the command = opaque):</li> </ul> <pre><code class="language-shell">kubectl create secret generic mysecret2 --from-literal=db_server=db.example.com --from-literal=db_username=admin --from-literal=db_password=P@ssw0rd! </code></pre> <ul> <li>Imperative way with file to hide pass in the command history</li> </ul> <pre><code class="language-shell">kubectl create secret generic mysecret3 --from-file=db_server=server.txt --from-file=db_username=username.txt --from-file=db_password=password.txt </code></pre> <ul> <li>Imperative way with json file to hide pass in the command history</li> </ul> <pre><code class="language-shell">kubectl create secret generic mysecret4 --from-file=config.json </code></pre> <p><strong>Goto the Scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Secret.md">LAB: K8s Secret (Declarative and Imperative Way)</a></p> <h3>ConfigMap <a name="configmap"></a></h3> <ul> <li>It is same as "secrets". The difference is that configmap does not save sensitive information. It stores config variables.</li> <li>Configmap stores data with key-value pairs.</li> <li>Configmaps are called by the pod in 2 different ways: volume and environment variable</li> <li>Scenario shows the usage of configmaps.</li> </ul> <p><strong>Goto the Scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Configmap.md">LAB: K8s Config Map</a></p> <h3>Node – Pod Affinity <a name="node-pod-affinity"></a></h3> <ul> <li>Affinity means closeness, proximity, familarity.</li> </ul> <h4>Node Affinity</h4> <ul> <li> <p>With node affinity, specific pods can enable to run on the desired node (Node selector also supports that feature, but node affinity is more flexible).</p> </li> <li> <p>If node is labelled with key-value, we can run some of the pods on that specific node.</p> </li> <li> <p><strong>Terms for Node Affinity:</strong></p> <ul> <li><strong>requiredDuringSchedulingIgnoredDuringExecution:</strong> Find a node during scheduling according to "matchExpression" and run pod on that node. If it is not found, do not run this pod until finding specific node "matchExpression".</li> <li><strong>IgnoredDuringExecution:</strong> After scheduling, if the node label is removed/deleted from node, ignore it while executing.</li> <li><strong>preferredDuringSchedulingIgnoredDuringExecution:</strong> Find a node during scheduling according to "matchExpression" and run pod on that node. If it is not found, run this pod wherever it finds. <ul> <li><strong>weight:</strong> Preference weight. If weight is more than other weights, this weight is higher priority than others.</li> </ul> </li> </ul> </li> <li> <p>For a better understanding, please have a look <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Node-Affinity.md">LAB: K8s Node Affinity</a></p> </li> </ul> <p><strong>Go to the Scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Node-Affinity.md">LAB: K8s Node Affinity</a></p> <h4>Pod Affinity</h4> <ul> <li>Some of the pods should run with other pods on same node or same availability zone (e.g. frontend pods run with cache pod on the same availability zone)</li> <li>If pod affinity is defined for one pod, that pod runs with the related pod on same node or same availability zone.</li> <li>Each node in the cluster is labelled with default labels. <ul> <li>"kubernetes.io/hostname": e.g "kubernetes.io/hostname=minikube"</li> <li>"kubernetes.io/arch": e.g "kubernetes.io/arch=amd64"</li> <li>"kubernetes.io/os": e.g "kubernetes.io/os=linux"</li> </ul> </li> <li>Each node in the cluster that runs on the Cloud is labelled with following labels. <ul> <li>"topology.kubernetes.io/region": e.g. "topology.kubernetes.io/region=northeurope"</li> <li>"topology.kubernetes.io/zone": e.g. "topology.kubernetes.io/zone=northeurope-1"</li> </ul> </li> </ul> <pre><code class="language-yaml">apiVersion: v1 kind: Pod metadata: name: frontendpod labels: app: frontend # defined labels deployment: test spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80 --- apiVersion: v1 kind: Pod metadata: name: cachepod spec: affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: # required: if not found, not run this pod on any node - labelSelector: matchExpressions: - key: app operator: In values: - frontend topologyKey: kubernetes.io/hostname # run this pod with the POD which includes "app=frontend" on the same worker NODE preferredDuringSchedulingIgnoredDuringExecution: # preferred: if not found, run this pod on any node - weight: 1 podAffinityTerm: labelSelector: matchExpressions: - key: branch operator: In values: - develop topologyKey: topology.kubernetes.io/zone # run this pod with the POD which includes "branch=develop" on the any NODE in the same ZONE podAntiAffinity: # anti-affinity: NOT run this pod with the following match "" preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchExpressions: - key: deployment operator: In values: - prod topologyKey: topology.kubernetes.io/zone # NOT run this pod with the POD which includes "deployment=prod" on the any NODE in the same ZONE containers: - name: cachecontainer # cache image and container name image: redis:6-alpine </code></pre> <p><img src="https://user-images.githubusercontent.com/10358317/154729871-1294d423-1429-4a00-9d2b-78cfcdace18a.png" alt="image"></p> <p><img src="https://user-images.githubusercontent.com/10358317/154730052-19e96985-1452-4d93-9fc3-d70ea06ceb8a.png" alt="image"></p> <h3>Taint and Toleration <a name="taint-tolereation"></a></h3> <ul> <li>Node affinity is a property of Pods that attracts/accepts them to a set of nodes. Taints are the opposite, they allow a node to repel/reject a set of pods.</li> <li>TAINTs are assigned to the NODEs. TOLERATIONs assigned to the PODs <ul> <li>"kubectl describe nodes minikube", at taints section, it can be seen taints.</li> <li>To add taint to the node with commmand: "kubectl taint node minikube app=production:NoSchedule"</li> <li>To delete taint to the node with commmand: "kubectl taint node minikube app-"</li> </ul> </li> <li>If pod has not any toleration for related taint, it can not be started on the tainted node (status of pod remains pending)</li> <li>Taint Types: <ul> <li><strong>key1=value1:effect</strong>: (e.g."kubectl taint node minikube app=production:NoSchedule")</li> </ul> </li> <li>Taint "effect" types: <ul> <li><strong>NoSchedule:</strong> If pod is not tolerated with this effect, it can not run on the related node (status will be pending, until toleration/untaint)</li> <li><strong>PreferNoSchedule:</strong> If pod is not tolerated with this effect and if there is not any untainted node, it can run on the related node.</li> <li><strong>NoExecute:</strong> If pod is not tolerated with this effect, it can not run on the related node. If there are pods running on the node before assigning "NoExecute" taint, after tainting "NoExecute", untolerated pods stopped on this node.</li> </ul> </li> <li>For clarification, please have a look <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Taint-Toleration.md">LAB: K8s Taint Toleration</a></li> </ul> <p><strong>Goto the Scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Taint-Toleration.md">LAB: K8s Taint-Toleration</a></p> <h3>Deamon Set <a name="daemon-set"></a></h3> <ul> <li>It provides to run pods on EACH nodes. It can be configured to run only specific nodes.</li> <li>For example, you can run log application that runs on each node in the cluster and app sends these logs to the main log server. Manual configuration of each nodes could be headache in this sceneario, so using deamon sets would be beneficial to save time and effort.</li> <li>If the new nodes are added on the cluster and running deamon sets on the cluster at that time period, default pods which are defined on deamon sets also run on the new nodes without any action.</li> </ul> <p><strong>Goto the scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Daemon-Sets.md">LAB: K8s Daemonset - Creating 3 nodes on Minikube</a></p> <h3>Persistent Volume and Persistent Volume Claim <a name="pvc"></a></h3> <ul> <li>Volumes are ephemeral/temporary area that stores data. Emptydir and hostpath create volume on node which runs related pod.</li> <li>In the scenario of creating Mysql pod on cluster, we can not use emptydir and hostpath for long term. Because they don't provide the long term/persistent volume.</li> <li>Persistent volume provides long term storage area that runs out of the cluster.</li> <li>There are many storage solutions that can be enabled on the cluster: nfs, iscsi, azure disk, aws ebs, google pd, cephfs.</li> <li>Container Storage Interface (CSI) provides the connection of K8s cluster and different storage solution.</li> </ul> <h4>Persistent Volume</h4> <ul> <li>"accessModes" types: <ul> <li>"ReadWriteOnce": read/write for only 1 node.</li> <li>"ReadOnlyMany" : only read for many nodes.</li> <li>"ReadWriteMany": read/write for many nodes.</li> </ul> </li> <li>"persistentVolumeReclaimPolicy" types: it defines the behaviour of volume after the end of using volume. <ul> <li>"Retain" : volume remains with all data after using it.</li> <li>"Recycle": volume is not deleted but all data in the volume is deleted. We get empty volume if it is chosen.</li> <li>"Delete" : volume is deleted after using it.</li> </ul> </li> </ul> <pre><code class="language-yaml"># Creating Persistent Volume on NFS Server on the network apiVersion: v1 kind: PersistentVolume metadata: name: mysqlpv labels: app: mysql # labelled PV with "mysql" spec: capacity: storage: 5Gi # 5Gibibyte = power of 2; 5GB= power of 10 accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Recycle # volume is not deleted, all data in the volume will be deleted. nfs: path: /tmp # binds the path on the NFS Server server: 10.255.255.10 # IP of NFS Server </code></pre> <p><img src="https://user-images.githubusercontent.com/10358317/154734368-323af0cc-e745-4aa0-b844-65b4a410426d.png" alt="image"></p> <h4>Persistent Volume Claim (PVC)</h4> <ul> <li>We should create PVCs to use volume. With PVCs, existed PVs can be chosen.</li> <li>The reason why K8s manage volume with 2 files (PVC and PV) is to seperate the management of K8s Cluster (PV) and using of volume (PVC).</li> <li>If there is seperate role of system management of K8s cluster, system manager creates PV (to connect different storage vendors), developers only use existed PVs with PVCs.</li> </ul> <pre><code class="language-yaml">apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysqlclaim spec: accessModes: - ReadWriteOnce volumeMode: Filesystem # VolumeMode resources: requests: storage: 5Gi storageClassName: "" selector: matchLabels: app: mysql # choose/select "mysql" PV that is defined above. </code></pre> <p><img src="https://user-images.githubusercontent.com/10358317/154735404-80221355-1493-4043-ba7a-8c7a4ddc8df0.png" alt="image"></p> <p><strong>Goto the scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-PersistantVolume.md">LAB: K8s Persistant Volume and Persistant Volume Claim</a></p> <h3>Storage Class <a name="storageclass"></a></h3> <ul> <li>Creating volume with PV is manual way of creating volume. With storage classes, it can be automated.</li> <li>Cloud providers provide storage classes on their infrastructure.</li> <li>When pod/deployment is created, storage class is triggered to create PV automatically (Trigger order: Pod -&gt; PVC -&gt; Storage Class -&gt; PV).</li> </ul> <pre><code class="language-yaml"># Storage Class Creation on Azure apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: standarddisk parameters: cachingmode: ReadOnly kind: Managed storageaccounttype: StandardSSD_LRS provisioner: kubernetes.io/azure-disk reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer </code></pre> <ul> <li>"storageClassName" is added into PVC file.</li> </ul> <pre><code class="language-yaml">apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysqlclaim spec: accessModes: - ReadWriteOnce volumeMode: Filesystem resources: requests: storage: 5Gi storageClassName: "standarddisk" # selects/binds to storage class (defined above) </code></pre> <ul> <li>When deployment/pod request PVC (claim), storage class provides volume on the infrastructure automatically.</li> </ul> <h3>Stateful Set <a name="statefulset"></a></h3> <ul> <li>Pods/Deployments are stateless objects. Stateful set provides to run stateful apps.</li> <li>Differences between Deployment and Statefulset: <ul> <li>Name of the pods in the statefulset are not assigned randomly. It gives name statefulsetName_0,1,2,3.</li> <li>Pods in the statefulset are not created at the same time. Pods are created in order (new pod creation waits until previous pod's running status).</li> <li>When scaling down of statefulset, pods are deleted in random. Pods are deleted in order.</li> <li>If PVC is defined in the statefulset, each pod in the statefulset has own PV</li> </ul> </li> </ul> <p><strong>Goto the scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Statefulset.md">LAB: K8s Stateful Sets - Nginx</a></p> <h3>Job, CronJob <a name="job"></a></h3> <h4>Job Object</h4> <ul> <li>"A Job creates one or more Pods and will continue to retry execution of the Pods until a specified number of them successfully terminate". If the container is not successfully completed, it will recreated again.</li> <li>"When a specified number of successful completions is reached, the task (ie, Job) is complete."</li> <li>After finishing a job, pods are not deleted. Logs in the pods can be viewed.</li> <li>Job is used for the task that runs once (e.g. maintanence scripts, scripts that are used for creating DB)</li> <li>Job is also used for processing tasks that are stored in queue or bucket.</li> </ul> <pre><code class="language-yaml">spec: parallelism: 2 # each step how many pods start in parallel at a time completions: 10 # number of pods that run and complete job at the end of the time backoffLimit: 5 # to tolerate fail number of job, after 5 times of failure, not try to continue job, fail the job activeDeadlineSeconds: 100 # if this job is not completed in 100 seconds, fail the job </code></pre> <p><img src="https://user-images.githubusercontent.com/10358317/154946885-80e87f3c-5120-4c09-bde2-a35cd09a7383.png" alt="image"></p> <p><strong>Goto the scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Job.md">LAB: K8s Job</a></p> <h4>Cron Job Object</h4> <ul> <li>Cron job is a scheduled job that can be started in scheduled time.</li> </ul> <pre><code># ┌───────────── minute (0 - 59) # │ ┌───────────── hour (0 - 23) # │ │ ┌───────────── day of the month (1 - 31) # │ │ │ ┌───────────── month (1 - 12) # │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday; # │ │ │ │ │ 7 is also Sunday on some systems) # │ │ │ │ │ # │ │ │ │ │ # * * * * * # # https://crontab.guru/ # Examples: # 5 * * * * : (means) For every day start at minute 5: 00:05 - Second day 00:05 .... # */5 * * * * : (means) At every 5th minute: 00:05 - 00:10 - 00:15 ... # 0 */2 * * * : (means) At minute 0 pass every 2d hour: 00:00 - 02:00 - 04:00 ... # "*" means "every" # "/" means "repetitive" </code></pre> <pre><code class="language-yaml">spec: schedule: "*/1 * * * *" # At every 1st minute: 00:01 - 00:02 ... jobTemplate: spec: template: spec: containers: - name: hello image: busybox imagePullPolicy: IfNotPresent command: # start shell and echo - /bin/sh - -c - date; echo Hello from the Kubernetes cluster restartPolicy: OnFailure </code></pre> <p><img src="https://user-images.githubusercontent.com/10358317/154948618-8b71bf38-62a7-44de-bdd2-ac40a1709eb4.png" alt="image"></p> <p><strong>Go to the scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-CronJob.md">LAB: K8s Cron Job</a></p> <h3>Authentication, Role Based Access Control, Service Account <a name="authentication"></a></h3> <h4>Authentication</h4> <ul> <li>It is related to authenticate user to use specific cluster.</li> <li>Theory of the creating authentication is explained in short: <ul> <li>user creates .key (key file) and .csr (certificate signing request file includes username and roles) with openssl application</li> <li>user sends .csr file to the K8s admin</li> <li>K8s admin creates a K8s object with this .csr file and creates .crt file (certification file) to give user</li> <li>user gets this .crt file (certification file) and creates credential (set-credentials) in user's pc with certification.</li> <li>user creates context (set-context) with cluster and credential, and uses this context.</li> <li>now it requires to get/create authorization for the user.</li> </ul> </li> </ul> <h4>Role Based Access Control (RBAC, Authorization)</h4> <ul> <li>It provides to give authorization (role) to the specific user.</li> <li>"Role", "RoleBinding" K8s objects are used to bind users for specific "namespace".</li> <li>"ClusterRole", "ClusterRoleBinding" K8s objects are used to bind users for specific "namespace".</li> </ul> <pre><code class="language-yaml">apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: namespace: default name: pod-reader rules: - apiGroups: [""] # "" indicates the core API group resources: ["pods"] # "services", "endpoints", "pods", "pods/log" etc. verbs: ["get", "watch", "list"] # "get", "list", "watch", "create", "update", "patch", "delete" </code></pre> <p><img src="https://user-images.githubusercontent.com/10358317/154953311-84f616cf-3a25-486f-beb9-e2d6a3a2e01a.png" alt="image"></p> <pre><code class="language-yaml">apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: read-pods namespace: default subjects: - kind: User name: username@hostname.net # "name" is case sensitive, this name was defined while creating .csr file apiGroup: rbac.authorization.k8s.io roleRef: kind: Role #this must be Role or ClusterRole name: pod-reader # this must match the name of the Role or ClusterRole you wish to bind to apiGroup: rbac.authorization.k8s.io </code></pre> <p><img src="https://user-images.githubusercontent.com/10358317/154953439-1dd52309-611b-48bf-8f7b-51433b678f8c.png" alt="image"></p> <pre><code class="language-yaml">apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: secret-reader rules: - apiGroups: [""] resources: ["secrets"] verbs: ["get", "watch", "list"] </code></pre> <p><img src="https://user-images.githubusercontent.com/10358317/154953542-3723d691-632e-41d6-908f-5b15080ffa7b.png" alt="image"></p> <pre><code class="language-yaml">apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: read-secrets-global subjects: - kind: Group name: DevTeam # Name is case sensitive apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: secret-reader apiGroup: rbac.authorization.k8s.io </code></pre> <p><img src="https://user-images.githubusercontent.com/10358317/154953630-dcd71073-6de6-4194-955e-9b50a0f9c978.png" alt="image"></p> <h4>Service Account</h4> <ul> <li>RBACs are used for real people.</li> <li>Service accounts are used for pods/apps that can connect K8s API to create K8s objects.</li> </ul> <h3>Ingress <a name="ingress"></a></h3> <ul> <li>"An API object that manages external access to the services in a cluster, typically HTTP." (ref: Kubernetes.io)</li> <li>"Ingress may provide load balancing, SSL termination and name-based virtual hosting" (ref: Kubernetes.io)</li> <li>Ingress is not a Service type, but it acts as the entry point for your cluster.</li> <li>Ingress resource only supports rules for directing HTTP(S) (L7) traffic.</li> <li>"Ingress exposes HTTP and HTTPS routes from outside the cluster to services within the cluster. Traffic routing is controlled by rules defined on the Ingress resource." (ref: Kubernetes.io)</li> <li>Ingress controller is a L7 Application Loadbalancer that works in K8s according to K8s specification. <ul> <li>Ingress Controllers: Nginx, HAproxy, Traefik</li> </ul> </li> </ul> <p><img src="https://user-images.githubusercontent.com/10358317/152972977-5cfb148f-4ac7-4fb6-b68b-9a576e199e68.png" alt="image"> (ref: Kubernetes.io)</p> <pre><code class="language-yaml"># Simple Ingress Object Definition apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: minimal-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: ingressClassName: nginx-example rules: - http: paths: - path: /testpath pathType: Prefix backend: service: name: test port: number: 80 </code></pre> <p><strong>Goto the scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Ingress.md">LAB: K8s Ingress</a></p> <h3>Dashboard <a name="dashboard"></a></h3> <ul> <li>You can view followings using default K8s dashboard: <ul> <li>All Workloads on Cluster: Memory and CPU usages, update time, image name, node name, status</li> <li>Cron Jobs and Jobs</li> <li>Daeamon Sets</li> <li>Deployments, Replicasets</li> <li>Pods, Stateful Sets</li> <li>Services, Endpoints, IPs, Ports,</li> <li>Persistent Volume Claims, Persisten Volumes</li> <li>Config Maps,</li> <li>Secrets, Storage Classes</li> <li>Cluster Roles and Role Binding</li> <li>Namespaces</li> <li>Network Policies</li> <li>Nodes</li> <li>Roles and Role Bindings</li> <li>Service Accounts</li> </ul> </li> </ul> <pre><code># if working on minikube minikube addons enable dashboard minikube addons enable metrics-server minikube dashboard # if running on WSL/WSL2 to open browser sensible-browser http://127.0.0.1:45771/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ </code></pre> <ul> <li>to see better resolution, click on it</li> </ul> <p><img src="https://user-images.githubusercontent.com/10358317/152148024-6ec65b33-9fd0-42eb-89c3-927e453553a2.png" alt="image"></p> <p><img src="https://user-images.githubusercontent.com/10358317/152147845-017c6c10-a687-4ee3-b868-a08d96f6d884.png" alt="image"></p> <p><strong>Goto the scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Enable-Dashboard-On-Cluster.md">LAB: Enable Dashboard on Real Cluster</a></p> <h2>Play With Kubernetes <a name="playwithkubernetes"></a></h2> <ul> <li><a href="https://labs.play-with-k8s.com/">https://labs.play-with-k8s.com/</a></li> </ul> <h2>Helm <a name="helm"></a></h2> <ul> <li>Helm is the package manager of K8s (<a href="https://helm.sh/">https://helm.sh/</a>).</li> <li>"Helm installs charts into Kubernetes, creating a new release for each installation. And to find new charts, you can search Helm chart repositories." (Ref: Helm.sh)</li> <li>With Helm, it is easy to install best-practice K8s designs and products. Search K8s packages =&gt; <a href="https://artifacthub.io/">https://artifacthub.io/</a></li> <li>Detailed Tutorial =&gt; <a href="https://helm.sh/docs/intro/quickstart/">https://helm.sh/docs/intro/quickstart/</a></li> <li><strong>Important Terms:</strong> (Ref: Helm.sh) <ul> <li><strong>Chart:</strong> "A Chart is a Helm package. It contains all of the resource definitions necessary to run an application, tool, or service inside of a Kubernetes cluster. Think of it like the Kubernetes equivalent of a Homebrew formula, an Apt dpkg, or a Yum RPM file."</li> <li><strong>Repository:</strong> "A Repository is the place where charts can be collected and shared"</li> <li><strong>Release:</strong> "A Release is an instance of a chart running in a Kubernetes cluster. One chart can often be installed many times into the same cluster. And each time it is installed, a new release is created. Consider a MySQL chart. If you want two databases running in your cluster, you can install that chart twice. Each one will have its own release, which will in turn have its own release name."</li> </ul> </li> </ul> <p><strong>Goto the scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/Helm.md">LAB: HELM Install &amp; Usage</a></p> <p><strong>Goto the scenario:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Helm-Jenkins.md">LAB: Helm-Jenkins on running K8s Cluster (2 Node Multipass VM)</a></p> <p><strong>Goto:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/HelmCheatsheet.md">Helm Commands Cheatsheet</a></p> <h2>Kubernetes Commands Cheatsheet <a name="cheatsheet"></a></h2> <p><strong>Goto:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/KubernetesCommandCheatSheet.md">Kubernetes Commands Cheatsheet</a></p> <h2>Helm Commands Cheatsheet <a name="helm_cheatsheet"></a></h2> <p><strong>Goto:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/HelmCheatsheet.md">Helm Commands Cheatsheet</a></p> <h2>Kubernetes Cluster Setup: Kubeadm, Containerd, Multipass <a name="cluster_setup"></a></h2> <p><strong>Goto:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Kubeadm-Cluster-Setup.md">LAB: K8s Kubeadm Cluster Setup</a></p> <h2>Monitoring Kubernetes Cluster with SSH, Prometheus and Grafana <a name="prometheus_grafana"></a></h2> <p><strong>Goto:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Monitoring-Prometheus-Grafana.md">LAB: K8s Monitoring - Prometheus and Grafana</a></p> <p><strong>Goto:</strong> <a href="https://github.com/omerbsezer/Fast-Kubernetes/raw/main/K8s-Enable-Dashboard-On-Cluster.md">LAB: Enable Dashboard on Real K8s Cluster</a></p> <h2>Other Useful Resources Related Docker <a name="resource"></a></h2> <ul> <li><a href="https://kubernetes.io/docs/tutorials/">KubernetesTutorial</a></li> <li>Docker and Kubernetes Tutorial - Youtube: <a href="https://www.youtube.com/watch?v=bhBSlnQcq2k&amp;t=3088s">https://www.youtube.com/watch?v=bhBSlnQcq2k&amp;t=3088s</a></li> </ul> <h2>References <a name="references"></a></h2> <ul> <li><a href="https://kubernetes.io/docs/concepts/overview/">Kubernetes.io</a></li> <li><a href="https://kubernetes.io/docs/tutorials/">KubernetesTutorial</a></li> <li><a href="https://www.udemy.com/course/kubernetes-temelleri/">udemy-course:Kubernetes-Temelleri</a></li> <li><a href="https://helm.sh/">Helm.sh</a></li> </ul> - - \ No newline at end of file diff --git a/prisma/daily/index.xml b/prisma/daily/index.xml index 7cecb2e0c10..6dc972d9208 100644 --- a/prisma/daily/index.xml +++ b/prisma/daily/index.xml @@ -1,7 +1,7 @@ GitHub Prisma Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:48Z + 2023-10-23T01:37:20Z Daily Trending of Prisma in GitHub \ No newline at end of file diff --git a/prisma/weekly/index.xml b/prisma/weekly/index.xml deleted file mode 100644 index 47a9ad41f54..00000000000 --- a/prisma/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Prisma Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:49Z - Weekly Trending of Prisma in GitHub - - \ No newline at end of file diff --git a/processing/daily/index.xml b/processing/daily/index.xml index b794e739d67..2ab8d603b0c 100644 --- a/processing/daily/index.xml +++ b/processing/daily/index.xml @@ -1,7 +1,7 @@ GitHub Processing Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:39:50Z + 2023-10-23T01:37:21Z Daily Trending of Processing in GitHub \ No newline at end of file diff --git a/processing/weekly/index.xml b/processing/weekly/index.xml deleted file mode 100644 index 28a38bb34a2..00000000000 --- a/processing/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Processing Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:58:50Z - Weekly Trending of Processing in GitHub - - - markkorput/processing - 2023-10-22T01:58:50Z - tag:github.com,2023-10-22:/markkorput/processing - - <p>Experiments with the processing(.org) visual art environment</p><hr> - - - ftgod/lab_6_part_1 - 2023-10-22T01:58:50Z - tag:github.com,2023-10-22:/ftgod/lab_6_part_1 - - <p></p><hr> - - - kgarsjo/Triang - 2023-10-22T01:58:50Z - tag:github.com,2023-10-22:/kgarsjo/Triang - - <p>A Processing Class to provide HUD triangulation to a set objective</p><hr> - - \ No newline at end of file diff --git a/procfile/daily/index.xml b/procfile/daily/index.xml index 919444e12ca..24ce6ba01b7 100644 --- a/procfile/daily/index.xml +++ b/procfile/daily/index.xml @@ -1,7 +1,7 @@ GitHub Procfile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:08Z + 2023-10-23T01:37:34Z Daily Trending of Procfile in GitHub \ No newline at end of file diff --git a/procfile/weekly/index.xml b/procfile/weekly/index.xml deleted file mode 100644 index 1618e6caf7c..00000000000 --- a/procfile/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Procfile Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:21Z - Weekly Trending of Procfile in GitHub - - \ No newline at end of file diff --git a/proguard/daily/index.xml b/proguard/daily/index.xml index 5367eec50ef..006dbe286b6 100644 --- a/proguard/daily/index.xml +++ b/proguard/daily/index.xml @@ -1,7 +1,7 @@ GitHub Proguard Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:07Z + 2023-10-23T01:37:35Z Daily Trending of Proguard in GitHub \ No newline at end of file diff --git a/proguard/weekly/index.xml b/proguard/weekly/index.xml deleted file mode 100644 index e4fb2e6ee70..00000000000 --- a/proguard/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Proguard Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:20Z - Weekly Trending of Proguard in GitHub - - \ No newline at end of file diff --git a/prolog/daily/index.xml b/prolog/daily/index.xml index 0960289a6d0..70745a2177d 100644 --- a/prolog/daily/index.xml +++ b/prolog/daily/index.xml @@ -1,7 +1,7 @@ GitHub Prolog Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:06Z + 2023-10-23T01:37:36Z Daily Trending of Prolog in GitHub \ No newline at end of file diff --git a/prolog/weekly/index.xml b/prolog/weekly/index.xml deleted file mode 100644 index c6026b2fe61..00000000000 --- a/prolog/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Prolog Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:22Z - Weekly Trending of Prolog in GitHub - - - jozemberi/prolog-xsb-primjeri - 2023-10-22T01:59:22Z - tag:github.com,2023-10-22:/jozemberi/prolog-xsb-primjeri - - <p>Riješeni primjeri zadataka. Prolog XSB. (Solved examples).</p><hr> - - \ No newline at end of file diff --git a/promela/daily/index.xml b/promela/daily/index.xml index 47d09278b42..573387c32c6 100644 --- a/promela/daily/index.xml +++ b/promela/daily/index.xml @@ -1,7 +1,7 @@ GitHub Promela Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:06Z + 2023-10-23T01:37:33Z Daily Trending of Promela in GitHub \ No newline at end of file diff --git a/promela/weekly/index.xml b/promela/weekly/index.xml deleted file mode 100644 index 7356c62a468..00000000000 --- a/promela/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Promela Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:19Z - Weekly Trending of Promela in GitHub - - \ No newline at end of file diff --git a/propeller-spin/daily/index.xml b/propeller-spin/daily/index.xml index 6d0ad5cdd41..f3f5843ceaa 100644 --- a/propeller-spin/daily/index.xml +++ b/propeller-spin/daily/index.xml @@ -1,7 +1,7 @@ GitHub Propeller Spin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:10Z + 2023-10-23T01:37:37Z Daily Trending of Propeller Spin in GitHub \ No newline at end of file diff --git a/propeller-spin/weekly/index.xml b/propeller-spin/weekly/index.xml deleted file mode 100644 index c4b1e07f8c7..00000000000 --- a/propeller-spin/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Propeller Spin Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:23Z - Weekly Trending of Propeller Spin in GitHub - - \ No newline at end of file diff --git a/protocol-buffer-text-format/daily/index.xml b/protocol-buffer-text-format/daily/index.xml index 3c1237624d2..1dd9730e1ca 100644 --- a/protocol-buffer-text-format/daily/index.xml +++ b/protocol-buffer-text-format/daily/index.xml @@ -1,7 +1,7 @@ GitHub Protocol Buffer Text Format Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:12Z + 2023-10-23T01:37:38Z Daily Trending of Protocol Buffer Text Format in GitHub \ No newline at end of file diff --git a/protocol-buffer-text-format/weekly/index.xml b/protocol-buffer-text-format/weekly/index.xml deleted file mode 100644 index 0f4ef00bb67..00000000000 --- a/protocol-buffer-text-format/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Protocol Buffer Text Format Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:24Z - Weekly Trending of Protocol Buffer Text Format in GitHub - - \ No newline at end of file diff --git a/protocol-buffer/daily/index.xml b/protocol-buffer/daily/index.xml index 52598ba266a..4b2b8f46cdd 100644 --- a/protocol-buffer/daily/index.xml +++ b/protocol-buffer/daily/index.xml @@ -1,7 +1,7 @@ GitHub Protocol Buffer Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:11Z + 2023-10-23T01:37:39Z Daily Trending of Protocol Buffer in GitHub \ No newline at end of file diff --git a/protocol-buffer/weekly/index.xml b/protocol-buffer/weekly/index.xml deleted file mode 100644 index 193e48ba70c..00000000000 --- a/protocol-buffer/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Protocol Buffer Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:25Z - Weekly Trending of Protocol Buffer in GitHub - - \ No newline at end of file diff --git a/public-key/daily/index.xml b/public-key/daily/index.xml index 97c7b5eaca4..a25dbab5658 100644 --- a/public-key/daily/index.xml +++ b/public-key/daily/index.xml @@ -1,7 +1,7 @@ GitHub Public Key Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:09Z + 2023-10-23T01:37:40Z Daily Trending of Public Key in GitHub \ No newline at end of file diff --git a/public-key/weekly/index.xml b/public-key/weekly/index.xml deleted file mode 100644 index 207c7a83ade..00000000000 --- a/public-key/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Public Key Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:26Z - Weekly Trending of Public Key in GitHub - - \ No newline at end of file diff --git a/pug/daily/index.xml b/pug/daily/index.xml index c5ea7991a50..9ba904f2964 100644 --- a/pug/daily/index.xml +++ b/pug/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pug Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:16Z + 2023-10-23T01:37:44Z Daily Trending of Pug in GitHub \ No newline at end of file diff --git a/pug/weekly/index.xml b/pug/weekly/index.xml deleted file mode 100644 index efa447278c2..00000000000 --- a/pug/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pug Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:29Z - Weekly Trending of Pug in GitHub - - \ No newline at end of file diff --git a/puppet/daily/index.xml b/puppet/daily/index.xml index b6de199aa91..d3ccb166b88 100644 --- a/puppet/daily/index.xml +++ b/puppet/daily/index.xml @@ -1,7 +1,7 @@ GitHub Puppet Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:15Z + 2023-10-23T01:37:42Z Daily Trending of Puppet in GitHub \ No newline at end of file diff --git a/puppet/weekly/index.xml b/puppet/weekly/index.xml deleted file mode 100644 index a13d56b6815..00000000000 --- a/puppet/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Puppet Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:31Z - Weekly Trending of Puppet in GitHub - - - muresan/learning-puppet - 2023-10-22T01:59:31Z - tag:github.com,2023-10-22:/muresan/learning-puppet - - <p>learning puppet</p><hr> - - - ankurpshah/cms-puppet - 2023-10-22T01:59:31Z - tag:github.com,2023-10-22:/ankurpshah/cms-puppet - - <p>Puppet recipes for the HouseTrip CMS</p><hr> - - - avalonmediasystem/avalon-installer - 2023-10-22T01:59:31Z - tag:github.com,2023-10-22:/avalonmediasystem/avalon-installer - - <p>Vagrant/Puppet installation script for the Avalon Media System</p><hr> - - \ No newline at end of file diff --git a/pure-data/daily/index.xml b/pure-data/daily/index.xml index 32415ae81a4..e0e6134cf10 100644 --- a/pure-data/daily/index.xml +++ b/pure-data/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pure Data Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:13Z + 2023-10-23T01:37:45Z Daily Trending of Pure Data in GitHub \ No newline at end of file diff --git a/pure-data/weekly/index.xml b/pure-data/weekly/index.xml deleted file mode 100644 index e47c924b964..00000000000 --- a/pure-data/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pure Data Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:27Z - Weekly Trending of Pure Data in GitHub - - \ No newline at end of file diff --git a/purebasic/daily/index.xml b/purebasic/daily/index.xml index a848c3f17d0..347c01f3b40 100644 --- a/purebasic/daily/index.xml +++ b/purebasic/daily/index.xml @@ -1,7 +1,7 @@ GitHub PureBasic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:14Z + 2023-10-23T01:37:41Z Daily Trending of PureBasic in GitHub \ No newline at end of file diff --git a/purebasic/weekly/index.xml b/purebasic/weekly/index.xml deleted file mode 100644 index cc724d49d03..00000000000 --- a/purebasic/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PureBasic Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:28Z - Weekly Trending of PureBasic in GitHub - - \ No newline at end of file diff --git a/purescript/daily/index.xml b/purescript/daily/index.xml index bd69899d941..dfa8cd5e9eb 100644 --- a/purescript/daily/index.xml +++ b/purescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub PureScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:21Z + 2023-10-23T01:37:50Z Daily Trending of PureScript in GitHub \ No newline at end of file diff --git a/purescript/weekly/index.xml b/purescript/weekly/index.xml deleted file mode 100644 index 95d7223b83c..00000000000 --- a/purescript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PureScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:36Z - Weekly Trending of PureScript in GitHub - - \ No newline at end of file diff --git a/python-console/daily/index.xml b/python-console/daily/index.xml index 20cce638d98..c69944b73e2 100644 --- a/python-console/daily/index.xml +++ b/python-console/daily/index.xml @@ -1,7 +1,7 @@ GitHub Python console Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:17Z + 2023-10-23T01:37:46Z Daily Trending of Python console in GitHub \ No newline at end of file diff --git a/python-console/weekly/index.xml b/python-console/weekly/index.xml deleted file mode 100644 index f361fe7d726..00000000000 --- a/python-console/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Python console Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:32Z - Weekly Trending of Python console in GitHub - - \ No newline at end of file diff --git a/python-traceback/daily/index.xml b/python-traceback/daily/index.xml index 969d4f255b3..b10dc939dd3 100644 --- a/python-traceback/daily/index.xml +++ b/python-traceback/daily/index.xml @@ -1,7 +1,7 @@ GitHub Python traceback Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:44Z + 2023-10-23T01:38:18Z Daily Trending of Python traceback in GitHub \ No newline at end of file diff --git a/python-traceback/weekly/index.xml b/python-traceback/weekly/index.xml deleted file mode 100644 index b4dbef98155..00000000000 --- a/python-traceback/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Python traceback Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:49Z - Weekly Trending of Python traceback in GitHub - - \ No newline at end of file diff --git a/python/daily/index.xml b/python/daily/index.xml index 8588ae129ad..c14c4e71e1b 100644 --- a/python/daily/index.xml +++ b/python/daily/index.xml @@ -1,28 +1,28 @@ GitHub Python Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:24Z + 2023-10-23T01:37:53Z Daily Trending of Python in GitHub - tairov/llama2.mojo - 2023-10-22T01:40:24Z - tag:github.com,2023-10-22:/tairov/llama2.mojo - - <p>Inference Llama 2 in one file of pure 🔥</p><hr><h2>llama2.🔥</h2> <p align="center"> <img src="https://raw.githubusercontent.com/tairov/llama2.mojo/master/assets/llama2.mojo-demo.gif" width="700" alt="llama2.mojo logo"> </p> <p>Have you ever wanted to inference a baby Llama 2 model in pure Mojo? No? Well, now you can!</p> <p>supported version: <a href="https://docs.modular.com/mojo/changelog.html#v0.4.0-2023-10-05">Mojo 0.4.0</a></p> <p>With the release of <a href="https://www.modular.com/blog/mojo-its-finally-here">Mojo</a>, I was inspired to take my Python port of <a href="https://github.com/tairov/llama2.py">llama2.py</a> and transition it to Mojo. The result? A version that leverages Mojo's SIMD &amp; vectorization primitives, boosting the Python performance by nearly 250x. Impressively, the Mojo version now outperforms the original <code>llama2.c</code> compiled in <code>runfast</code> mode out of the box by 15-20%. This showcases the potential of hardware-level optimizations through Mojo's advanced features. I think this also can help us to see how far can we go with the original <code>llama2.c</code> hardware optimizations.</p> <h2>performance</h2> <p>Since there were some debates was this comparison legit or not I did some research and found that in <code>runfast</code> mode <code>llama2.c</code> includes multiple optimizations like aggressive vectorization, which makes comparison fair with Mojo SIMD vectorization.</p> <p>UPD. further improvements of <code>llama2.mojo</code> parallelization make it working slightly better or the same as C on different models.</p> <h2>supported models</h2> <p>At the moment, the following models were successfully executed via <code>llama2.mojo</code>:</p> <table> <thead> <tr> <th>Model</th> </tr> </thead> <tbody> <tr> <td>stories 260K, 15M, 110M</td> </tr> <tr> <td>Tinyllama-1.1B-Chat-v0.2</td> </tr> </tbody> </table> <h3>extensive benchmark on Apple M1 Max</h3> <p><a href="https://engiware.com/benchmark/llama2-ports-extensive-benchmarks-mac-m1-max.html">mojo vs 6 programming languages</a></p> <h3>benchmark (updated)</h3> <table> <thead> <tr> <th>Model</th> <th><a href="https://github.com/karpathy/llama2.c">llama2.c</a> (OMP/parallelized)</th> <th><strong>llama2.mojo</strong> (parallelized)</th> <th>llama2.mojo (naive matmul)</th> <th><a href="https://github.com/tairov/llama2.py">llama2.py</a></th> </tr> </thead> <tbody> <tr> <td>stories15M.bin</td> <td>435 tok/s</td> <td>440 tok/s</td> <td>67.26 tok/s</td> <td>1.3 tok/s</td> </tr> <tr> <td>stories110M.bin</td> <td>64 tok/s</td> <td>63 tok/s</td> <td>9.20 tok/s</td> <td>-</td> </tr> <tr> <td>TinyLlama-1.1B</td> <td>7.25 tok/s</td> <td>7.25 tok/s</td> <td>-</td> <td>-</td> </tr> </tbody> </table> <h4>OS/HW specs</h4> <pre><code>OS: Ubuntu 20.04 CPU(s): 6 Model name: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz CPU MHz: 3191.998 </code></pre> <h2>prerequisites</h2> <p>Make sure you have installed and <a href="https://docs.modular.com/mojo/manual/get-started/index.html">configured mojo on your environment</a></p> <p>Or you can use <a href="https://playground.modular.com/">mojo playground</a> to run this model.</p> <h2>try the 🔥 magic</h2> <p>HuggingFace - <a href="https://huggingface.co/spaces/radames/Gradio-llama2.mojo">https://huggingface.co/spaces/radames/Gradio-llama2.mojo</a></p> <h2>feel the 🔥 magic</h2> <p>First, navigate to the folder when you keep your projects and clone this repository to this folder:</p> <pre><code class="language-bash">git clone https://github.com/tairov/llama2.mojo.git </code></pre> <p>Then, open the repository folder:</p> <pre><code class="language-bash">cd llama2.mojo </code></pre> <p>Now, let's download the model</p> <pre><code class="language-bash">wget https://huggingface.co/karpathy/tinyllamas/resolve/main/stories15M.bin </code></pre> <p>Then, just run the Mojo</p> <pre><code class="language-bash">mojo llama2.mojo stories15M.bin -s 100 -n 256 -t 0.5 -i "Mojo is a language" </code></pre> <p><strong>example output</strong></p> <pre><code>num hardware threads: 6 SIMD vector width: 16 checkpoint size: 60816028 [ 57 MB ] n layers: 6 vocab size: 32000 Mojo is a language that people like to talk. Hephones are very different from other people. He has a big book with many pictures and words. He likes to look at the pictures and learn new things. One day, Mojo was playing with his friends in the park. They were running and laughing and having fun. Mojo told them about his book and his friends. They listened and looked at the pictures. Then, they saw a picture of a big, scary monster. They were very scared and ran away. Mojo was sad that his book was gone. He told his friends about the monster and they all felt very sad. Mojo's friends tried to make him feel better, but nothing worked. Mojo never learned his language again. achieved tok/s: 440.21739130434781 </code></pre> <h2>running via Docker</h2> <pre><code class="language-bash">docker build --build-arg AUTH_KEY=&lt;your-modular-auth-key&gt; -t llama2.mojo . docker run -it llama2.mojo </code></pre> <p>With Gradio UI:</p> <pre><code class="language-bash"># uncomment the last line in Dockerfile CMD ["python", "gradio_app.py"] docker run -it -p 0.0.0.0:7860:7860 llama2.mojo </code></pre> <h2>citing llama2.🔥</h2> <p>If you use or discuss llama2.mojo in your academic research, please cite the project to help spread awareness:</p> <pre><code>@misc{llama2.mojo, author = {Aydyn Tairov}, title = {Inference Llama2 in one file of pure Mojo}, year = {2023}, month = {09}, howpublished = {\url{https://github.com/tairov/llama2.mojo}}, note = {Llama2 Mojo, MIT License} } </code></pre> <p>We kindly request that you include a link to the GitHub repository in published papers. This will allow interested readers to easily find the latest updates and extensions to the project.</p> <p><code>llama2.mojo</code> aims to encourage academic research on efficient implementations of transformer architectures, the <code>llama</code> model, and applications of the <code>mojo</code> programming language. Citing the project helps growth of the knowledge community around these topics. We appreciate your support through referencing <code>llama2.mojo</code>!</p> <h2>play with Tinyllama-1.1B-Chat-v0.2</h2> <p>The <a href="https://github.com/jzhang38/TinyLlama">TinyLlama</a> is a 1.1B Llama model trained on 3 trillion tokens. This compactness allows it to cater to a multitude of applications demanding a restricted computation and memory footprint. This is also the reason why we select it as the first model to support.</p> <p>First, navigate to the folder when you keep your projects and clone this repository to this folder:</p> <pre><code class="language-bash">git clone https://github.com/tairov/llama2.mojo.git </code></pre> <p>Then, open the repository folder:</p> <pre><code class="language-bash">cd llama2.mojo </code></pre> <p>Now, let's download the model and the tokenizer</p> <pre><code class="language-bash">wget https://huggingface.co/kirp/TinyLlama-1.1B-Chat-v0.2-bin/resolve/main/tok_tl-chat.bin wget https://huggingface.co/kirp/TinyLlama-1.1B-Chat-v0.2-bin/resolve/main/tl-chat.bin </code></pre> <p>Then, just run the Mojo</p> <pre><code class="language-bash">mojo llama2.mojo tl-chat.bin \ -z tok_tl-chat.bin \ -n 256 -t 0 -s 100 -i "&lt;|im_start|&gt;user\nGive me a python function to generate Fibonacci sequence&lt;|im_end|&gt;\n&lt;|im_start|&gt;assistant\n" </code></pre> <p><strong>example output</strong></p> <pre><code>num hardware threads: 6 SIMD vector width: 16 checkpoint size: 4400767004 [ 4196 MB ] n layers: 22 vocab size: 32003 &lt;|im_start|&gt;user Give me a python function to generate Fibonacci sequence&lt;|im_end|&gt; &lt;|im_start|&gt;assistant Sure, here's a Python function that generates the Fibonacci sequence: def fibonacci(n): if n &lt;= 0: return 0 elif n == 1: return 1 else: return fibonacci(n-1) + fibonacci(n-2) This function takes an integer n as a parameter and returns the next Fibonacci number. It uses a recursive approach to calculate the Fibonacci numbers, starting from 0 and working up. The function returns the value it found at the current level of the recursion, which can be either 0 or a Fibonacci number. </code></pre> <h2>license</h2> <p>MIT</p> + iam-veeramalla/python-for-devops + 2023-10-23T01:37:53Z + tag:github.com,2023-10-23:/iam-veeramalla/python-for-devops + + <p>Learn Python from DevOps Engineer point of you.</p><hr><h1>Python Zero to Hero for DevOps Engineers</h1> <img width="1141" alt="Screenshot 2023-10-12 at 9 57 40 PM" src="https://github.com/iam-veeramalla/python-for-devops/assets/43399466/d70f5fe2-0ba3-449d-b41f-413a38fc4584"> <h2>Day 1: Introduction to Python, Installation, and Configuration</h2> <ul> <li>Introduction to Python and its role in DevOps.</li> <li>Installing Python and setting up a development environment.</li> <li>Writing your first Python program.</li> </ul> <h2>Day 2: Intro to Datatypes, Working with Strings and Numbers</h2> <ul> <li>String data type in Python.</li> <li>String manipulation and formatting.</li> <li>Regular expressions for text processing.</li> <li>Numeric data types in Python (int, float).</li> </ul> <h2>Day 3: Keywords and Variables</h2> <ul> <li>Understanding variables in Python.</li> <li>Variable scope and lifetime.</li> <li>Variable naming conventions and best practices.</li> <li>Practice exercises and examples: <ul> <li>Example: Using variables to store and manipulate configuration data in a DevOps context.</li> </ul> </li> </ul> <h2>Day 4: Functions, Modules and Packages</h2> <ul> <li>What are differences between function, modules and packages ?</li> <li>How to import a package ?</li> <li>What are Python workspaces ?</li> </ul> <h2>Day 5: Environment Variables and Command Line Arguments</h2> <ul> <li>Reading and writing environment variables in Python.</li> <li>Using the os and dotenv modules.</li> <li>Securing sensitive information in environment variables.</li> <li>Handling command line arguments in Python.</li> <li>Practice exercises and examples: <ul> <li>Example: Developing a Python script that accepts command line arguments to customize DevOps automation tasks.</li> </ul> </li> </ul> <h2>Day 6: Operators</h2> <ul> <li>Introduction to operators in Python.</li> <li>Arithmetic, comparison, and logical operators.</li> <li>Bitwise and assignment operators.</li> <li>Practice exercises and examples: <ul> <li>Example: Using operators to perform calculations and comparisons in a DevOps script.</li> </ul> </li> </ul> <h2>Day 7: Conditional Handling using if, elif and else</h2> <ul> <li>Conditional statements (if, elif, else).</li> <li>Practice exercises and examples: <ul> <li>Example: Automating a server shutdown if it's running out of disk space.</li> </ul> </li> </ul> <h2>Day 8: Working with Lists (Part 1)</h2> <ul> <li>Understanding lists and list data structure.</li> <li>List manipulation and common list operations.</li> <li>Practice exercises and examples: <ul> <li>Example: Writing a script to manage a list of user accounts in a DevOps environment.</li> </ul> </li> </ul> <h2>Day 9: Loops</h2> <ul> <li>Loops in Python (for and while).</li> <li>Loop control statements (break, continue).</li> <li>Practice exercises and examples: <ul> <li>Example: Automating a log file analysis with a loop to find errors.</li> </ul> </li> </ul> <h2>Day 10: Working with Lists (Part 2)</h2> <ul> <li>List comprehensions.</li> <li>Nested lists and advanced list operations.</li> <li>Practice exercises and examples: <ul> <li>Example: Parsing a complex configuration file with nested lists.</li> </ul> </li> </ul> <h2>Day 11: Working with Dictionaries and Sets</h2> <ul> <li>Dictionaries and key-value pairs.</li> <li>Sets and set operations.</li> <li>Practice exercises and examples: <ul> <li>Example: Managing a dictionary of server configurations and optimizing retrieval.</li> </ul> </li> </ul> <h2>Day 12: Functions and Modules</h2> <ul> <li>Introduction to functions in Python.</li> <li>Writing functions and function parameters.</li> <li>Return values and modular code.</li> <li>Practice exercises and examples: <ul> <li>Example: Creating a function to automate server status checks.</li> </ul> </li> </ul> <h2>Day 13: Functions and Modules (Part 2)</h2> <ul> <li>Advanced function topics (recursion, lambda functions).</li> <li>Function libraries and built-in functions.</li> <li>Practice exercises and examples: <ul> <li>Example: Developing a library of custom functions for DevOps automation.</li> </ul> </li> </ul> <h2>Day 14: Python Libraries for DevOps (Part 1)</h2> <ul> <li>Introduction to external libraries like Paramiko, Fabric, and Boto3.</li> <li>Automating SSH connections with Paramiko.</li> <li>Running commands on remote servers.</li> <li>Practice exercises and examples: <ul> <li>Example: Using Paramiko to create a secure remote backup solution.</li> </ul> </li> </ul> <h2>Day 15: Python Libraries for DevOps (Part 2)</h2> <ul> <li>Using Fabric for remote task automation.</li> <li>AWS automation with Boto3.</li> <li>Managing EC2 instances, S3 buckets, and more.</li> <li>Practice exercises and examples: <ul> <li>Example: Creating a Fabric script for deploying applications to remote servers.</li> </ul> </li> </ul> <h2>Day 16: Working with RESTful APIs</h2> <ul> <li>Introduction to RESTful APIs.</li> <li>Making HTTP requests using Python.</li> <li>Parsing JSON responses and error handling.</li> <li>Practice exercises and examples: <ul> <li>Example: Developing a script to monitor RESTful API endpoints for your DevOps tools.</li> </ul> </li> </ul> <h2>Day 17: Data Serialization and Configuration Files</h2> <ul> <li>Serializing and deserializing data (JSON, YAML).</li> <li>Managing configuration data.</li> <li>DevOps use cases for configuration files.</li> <li>Practice exercises and examples: <ul> <li>Example: Building a configuration manager to handle application settings in JSON format.</li> </ul> </li> </ul> <h2>Day 18: Automation with Cron Jobs</h2> <ul> <li>Scheduling automated tasks using cron.</li> <li>Creating Python scripts for scheduled automation.</li> <li>Handling periodic tasks and reports.</li> <li>Practice exercises and examples: <ul> <li>Example: Using cron and Python to schedule regular backups of your data.</li> </ul> </li> </ul> <h2>Day 19: Python Interview Questions &amp; Answers</h2> - moesnow/March7thAssistant - 2023-10-22T01:40:24Z - tag:github.com,2023-10-22:/moesnow/March7thAssistant - - <p>🧊 崩坏:星穹铁道 自动日常|每日实训|清体力|锄大地|模拟宇宙|忘却之庭|图形界面|消息推送|循环运行</p><hr><div align="center"> <p> <img src="https://raw.githubusercontent.com/moesnow/March7thAssistant/main/assets/screenshot/March7th.png"> </p> <h1> 三月七小助手<br> March7thAssistant </h1> <p> <img alt="" src="https://img.shields.io/badge/platform-Windows-blue?style=flat-square&amp;color=4096d8"> <img alt="" src="https://img.shields.io/github/last-commit/moesnow/March7thAssistant?style=flat-square&amp;color=f18cb9"> <img alt="" src="https://img.shields.io/github/v/release/moesnow/March7thAssistant?style=flat-square&amp;color=4096d8"> <img alt="" src="https://img.shields.io/github/downloads/moesnow/March7thAssistant/total?style=flat-square&amp;color=f18cb9"> </p> <p><strong>简体中文</strong> | <a href="https://raw.githubusercontent.com/moesnow/March7thAssistant/main/README_TW.md">繁體中文</a> | <a href="https://raw.githubusercontent.com/moesnow/March7thAssistant/main/README_EN.md">English</a></p> <p>快速上手,请访问:<a href="https://moesnow.github.io/March7thAssistant/#/assets/docs/Tutorial">使用教程</a></p> <p>遇到问题,请在提问前查看:<a href="https://moesnow.github.io/March7thAssistant/#/assets/docs/FAQ">FAQ</a></p> </div> <h2>功能简介</h2> <ul> <li><strong>日常</strong>:清体力、每日实训、领奖励、委托、锄大地</li> <li><strong>周常</strong>:历战余响、模拟宇宙、忘却之庭</li> <li>每日实训等任务的完成情况支持消息推送</li> <li>凌晨四点或体力恢复到指定值后自动启动</li> <li>任务完成后声音提示、自动关闭游戏或关机</li> </ul> <blockquote> <p>其中模拟宇宙调用的 <a href="https://github.com/CHNZYX/Auto_Simulated_Universe">Auto_Simulated_Universe</a> 项目,锄大地调用的 <a href="https://github.com/linruowuyin/Fhoe-Rail">Fhoe-Rail</a> 项目</p> </blockquote> <p>详情见 <a href="https://raw.githubusercontent.com/moesnow/March7thAssistant/main/assets/config/config.example.yaml">配置文件</a> 或图形界面设置 |🌟喜欢就给个星星吧|・ω・) 🌟|QQ群 <a href="https://qm.qq.com/q/9gFqUrUGVq">855392201</a> TG群 <a href="https://t.me/+ZgH5zpvFS8o0NGI1">点击跳转</a></p> <h2>界面展示</h2> <p><img src="https://raw.githubusercontent.com/moesnow/March7thAssistant/main/assets/screenshot/README.png" alt="README"></p> <h2>注意事项</h2> <ul> <li>必须使用<strong>PC端</strong> <code>1920*1080</code> 分辨率窗口或全屏运行游戏(不支持HDR)</li> <li>模拟宇宙相关 <a href="https://asu.stysqy.top/">项目文档</a> <a href="https://asu.stysqy.top/guide/qa.html">Q&amp;A</a></li> <li>需要后台运行或多显示器可以尝试 <a href="https://asu.stysqy.top/guide/bs.html">远程本地多用户桌面</a></li> <li>遇到错误请在 <a href="https://github.com/moesnow/March7thAssistant/issues">Issue</a> 反馈,提问讨论可以在 <a href="https://github.com/moesnow/March7thAssistant/discussions">Discussions</a> ,群聊随缘看,欢迎 <a href="https://github.com/moesnow/March7thAssistant/pulls">PR</a></li> </ul> <h2>下载安装</h2> <p>前往 <a href="https://github.com/moesnow/March7thAssistant/releases/latest">Releases</a> 下载后解压双击三月七图标的 <code>March7th Launcher.exe</code> 打开图形界面</p> <p>如果需要使用 <strong>任务计划程序</strong> 定时运行或直接执行 <strong>完整运行</strong>,可以使用终端图标的 <code>March7th Assistant.exe</code></p> <p>检测更新可以点击图形界面设置最底下的按钮,或双击 <code>Update.exe</code></p> <h2>源码运行</h2> <p>如果你是完全不懂的小白,请通过上面的方式下载安装,不用往下看了。</p> <pre><code class="language-cmd">git clone https://github.com/moesnow/March7thAssistant cd March7thAssistant pip install -r requirements.txt python app.py python main.py </code></pre> <details> <summary>开发相关</summary> <p>获取 crop 参数表示的裁剪坐标可以通过图形界面设置内的捕获截图功能</p> <p>python main.py 后面支持参数 fight/universe/forgottenhall 等</p> </details> <hr> <p>如果喜欢本项目,可以微信赞赏送作者一杯咖啡☕</p> <p>您的支持就是作者开发和维护项目的动力🚀</p> <p><img src="https://raw.githubusercontent.com/moesnow/March7thAssistant/main/assets/screenshot/sponsor.jpg" alt="sponsor"></p> <hr> <h2>相关项目</h2> <p>March7thAssistant 离不开以下开源项目的帮助:</p> <ul> <li> <p>模拟宇宙自动化 <a href="https://github.com/CHNZYX/Auto_Simulated_Universe">https://github.com/CHNZYX/Auto_Simulated_Universe</a></p> </li> <li> <p>锄大地自动化 <a href="https://github.com/linruowuyin/Fhoe-Rail">https://github.com/linruowuyin/Fhoe-Rail</a></p> </li> <li> <p>OCR文字识别 <a href="https://github.com/hiroi-sora/PaddleOCR-json">https://github.com/hiroi-sora/PaddleOCR-json</a></p> </li> <li> <p>图形界面组件库 <a href="https://github.com/zhiyiYo/PyQt-Fluent-Widgets">https://github.com/zhiyiYo/PyQt-Fluent-Widgets</a></p> </li> </ul> <h2>Contributors</h2> <a href="https://github.com/moesnow/March7thAssistant/graphs/contributors"> <img src="https://contrib.rocks/image?repo=moesnow/March7thAssistant"> </a> <h2>Stargazers over time</h2> <p><a href="https://starchart.cc/moesnow/March7thAssistant"><img src="https://starchart.cc/moesnow/March7thAssistant.svg?sanitize=true" alt="Star History"></a></p> + WisdomShell/codeshell + 2023-10-23T01:37:53Z + tag:github.com,2023-10-23:/WisdomShell/codeshell + + <p>A series of code large language models developed by PKU-KCL</p><hr><p align="center"> <img src="https://cdn-uploads.huggingface.co/production/uploads/6489a27bd0b2fd1f3297e5ca/3LQsqRzluBhBN2DipN6Ox.png" width="400"> </p> <p> </p> <p align="center"> 🤗 <a href="https://huggingface.co/WisdomShell/CodeShell" target="_blank">Hugging Face</a> • 🌐 <a href="http://se.pku.edu.cn/kcl/" target="_blank">PKU-KCL</a> </p> <div align="center"> <p><a href="https://github.com/WisdomShell/codeshell/raw/main/LICENSE"><img src="https://img.shields.io/github/license/modelscope/modelscope.svg?sanitize=true" alt="license"></a></p> <h4 align="center"> <p><a href="https://github.com/WisdomShell/codeshell/raw/main/README.md"><b>中文</b></a>|<a href="https://github.com/WisdomShell/codeshell/raw/main/README_EN.md">English</a></p> </h4> </div> <h2>Introduction</h2> <p>CodeShell是<a href="http://se.pku.edu.cn/kcl/">北京大学知识计算实验室</a>联合四川天府银行AI团队研发的多语言代码大模型基座。CodeShell具有70亿参数,在五千亿Tokens进行了训练,上下文窗口长度为8192。在权威的代码评估Benchmark(HumanEval与MBPP)上,CodeShell取得同等规模最好的性能。与此同时,我们提供了与CodeShell配套的部署方案与IDE插件,请参考代码库<a href="https://github.com/WisdomShell/codeshell">CodeShell</a>。</p> <p>本次开源的模型如下:</p> <ul> <li><a href="https://huggingface.co/WisdomShell/CodeShell" target="_blank"><b>CodeShell Base</b></a>:CodelShell底座模型,具有强大的代码基础能力。</li> <li><a href="https://huggingface.co/WisdomShell/CodeShell-Chat" target="_blank"><b>CodeShell Chat</b></a>:CodelShell对话模型,在代码问答、代码补全等下游任务重性能优异。</li> <li><a href="https://huggingface.co/WisdomShell/CodeShell-Chat-int4" target="_blank"><b>CodeShell Chat 4bit</b></a>:CodelShell对话模型4bit量化版本,在保证模型性能的前提下内存消耗更小,速度更快。</li> <li><a href="https://github.com/WisdomShell/llama_cpp_for_codeshell" target="_blank"><b>CodeShell CPP</b></a>:CodelShell对话模型CPP版本,支持开发者在没有GPU的个人电脑中使用。注意,CPP版本同样支持量化操作,用户可以在最小内存为8G的个人电脑中运行CodeShell。</li> </ul> <h2>Main Characteristics of CodeShell</h2> <ul> <li><strong>强大的性能</strong>:CodelShell在HumanEval和MBPP上达到了7B代码基座大模型的最优性能</li> <li><strong>完整的体系</strong>:除了代码大模型,同时开源IDE(VS Code与JetBrains)插件,形成开源的全栈技术体系</li> <li><strong>轻量化部署</strong>:支持本地C++部署,提供轻量快速的本地化软件开发助手解决方案</li> <li><strong>全面的评测</strong>:提供支持完整项目上下文、覆盖代码生成、代码缺陷检测与修复、测试用例生成等常见软件开发活动的多任务评测体系(即将开源)</li> <li><strong>高效的训练</strong>:基于高效的数据治理体系,CodeShell在完全冷启动情况下,只训练了五千亿Token即获得了优异的性能</li> </ul> <h2>Performance</h2> <p>我们选取了目前最流行的两个代码评测数据集(HumanEval与MBPP)对模型进行评估,与目前最先进的两个7b代码大模型CodeLllama与Starcoder相比,Codeshell 取得了最优的成绩。具体评测结果如下。</p> <table> <thead> <tr> <th>任务</th> <th>CodeShell-7b</th> <th>CodeLlama-7b</th> <th>Starcoder-7b</th> </tr> </thead> <tbody> <tr> <td>humaneval</td> <td><strong>34.32</strong></td> <td>29.44</td> <td>27.80</td> </tr> <tr> <td>mbpp</td> <td><strong>38.65</strong></td> <td>37.60</td> <td>34.16</td> </tr> <tr> <td>multiple-js</td> <td><strong>33.17</strong></td> <td>31.30</td> <td>27.02</td> </tr> <tr> <td>multiple-java</td> <td><strong>30.43</strong></td> <td>29.24</td> <td>24.30</td> </tr> <tr> <td>multiple-cpp</td> <td><strong>28.21</strong></td> <td>27.33</td> <td>23.04</td> </tr> <tr> <td>multiple-swift</td> <td>24.30</td> <td><strong>25.32</strong></td> <td>15.70</td> </tr> <tr> <td>multiple-php</td> <td><strong>30.87</strong></td> <td>25.96</td> <td>22.11</td> </tr> <tr> <td>multiple-d</td> <td>8.85</td> <td><strong>11.60</strong></td> <td>8.08</td> </tr> <tr> <td>multiple-jl</td> <td>22.08</td> <td><strong>25.28</strong></td> <td>22.96</td> </tr> <tr> <td>multiple-lua</td> <td>22.39</td> <td><strong>30.50</strong></td> <td>22.92</td> </tr> <tr> <td>multiple-r</td> <td><strong>20.52</strong></td> <td>18.57</td> <td>14.29</td> </tr> <tr> <td>multiple-rkt</td> <td><strong>17.20</strong></td> <td>12.55</td> <td>10.43</td> </tr> <tr> <td>multiple-rs</td> <td>24.55</td> <td><strong>25.90</strong></td> <td>22.82</td> </tr> </tbody> </table> <h2>Requirements</h2> <ul> <li>python 3.8 and above</li> <li>pytorch 2.0 and above are recommended</li> <li>transformers 4.32 and above</li> <li>CUDA 11.8 and above are recommended (this is for GPU users, flash-attention users, etc.)</li> </ul> <h2>Quickstart</h2> <p>CodeShell系列模型已经上传至 <a href="https://huggingface.co/WisdomShell/CodeShell" target="_blank">Hugging Face</a>,开发者可以通过Transformers快速调用CodeShell和CodeShell-Chat。</p> <p>在开始之前,请确保已经正确设置了环境,并安装了必要的代码包,以及满足上一小节的环境要求。你可以通过下列代码快速安装相关依赖。</p> <pre><code>pip install -r requirements.txt </code></pre> <p>接下来你可以通过Transformers使用CodeShell。</p> <h3>Code Generation</h3> <p>开发者可以使用CodeShell快速生成代码,加速开发效率。</p> <pre><code class="language-python">import torch from transformers import AutoModelForCausalLM, AutoTokenizer device = 'cuda' if torch.cuda.is_available() else 'cpu' tokenizer = AutoTokenizer.from_pretrained("WisdomShell/CodeShell-7B") model = AutoModelForCausalLM.from_pretrained("WisdomShell/CodeShell-7B", trust_remote_code=True, torch_dtype=torch.bfloat16).to(device) inputs = tokenizer('def merge_sort():', return_tensors='pt').to(device) outputs = model.generate(**inputs) print(tokenizer.decode(outputs[0])) </code></pre> <ul> <li>Fill in the Moddle</li> </ul> <p>CodeShell 支持Fill-in-the-Middle模式,从而更好的支持软件开发过程。</p> <pre><code class="language-python">input_text = "&lt;fim_prefix&gt;def print_hello_world():\n &lt;fim_suffix&gt;\n print('Hello world!')&lt;fim_middle&gt;" inputs = tokenizer(input_text, return_tensors='pt').to(device) outputs = model.generate(**inputs) print(tokenizer.decode(outputs[0])) </code></pre> <ul> <li>代码问答</li> </ul> <p>CodeShell同时开源了代码助手模型CodeShell-7B-Chat,开发者可以通过下列代码与模型进行交互。</p> <pre><code class="language-python">model = AutoModelForCausalLM.from_pretrained('WisdomShell/CodeShell-7B-Chat', trust_remote_code=True, torch_dtype=torch.bfloat16).to(device) tokenizer = AutoTokenizer.from_pretrained('WisdomShell/CodeShell-7B-Chat') history = [] query = '你是谁?' response = model.chat(query, history, tokenizer) print(response) history.append((query, response)) query = '用Python写一个HTTP server' response = model.chat(query, history, tokenizer) print(response) history.append((query, response)) </code></pre> <p>开发者也可以通过VS Code与JetBrains插件与CodeShell-7B-Chat交互,详情请参<a href="https://github.com/WisdomShell/codeshell-vscode">VSCode插件仓库</a>与<a href="https://github.com/WisdomShell/codeshell-intellij">IntelliJ插件仓库</a>。</p> <ul> <li>Model Quantization</li> </ul> <p>CodeShell 支持4 bit/8 bit量化,4 bit量化后,占用显存大小约6G,用户可以在显存较小的GPU上使用CodeShell。</p> <pre><code class="language-python">model = AutoModelForCausalLM.from_pretrained('WisdomShell/CodeShell-7B-Chat-int4', trust_remote_code=True).to(device) tokenizer = AutoTokenizer.from_pretrained('WisdomShell/CodeShell-7B-Chat-int4') </code></pre> <ul> <li>CodeShell in c/c++</li> </ul> <p>由于大部分个人电脑没有GPU,CodeShell提供了C/C++版本的推理支持,开发者可以根据本地环境进行编译与使用,详见<a href="https://github.com/WisdomShell/llama_cpp_for_codeshell">CodeShell C/C++本地化版</a>。</p> <h2>Demo</h2> <p>我们提供了Web-UI、命令行、API、IDE四种形式的Demo。</p> <h3>Web UI</h3> <p>开发者通过下列命令启动Web服务,服务启动后,可以通过<code>https://127.0.0.1:8000</code>进行访问。</p> <pre><code>python demos/web_demo.py </code></pre> <h3>CLI Demo</h3> <p>我们也提供了命令行交互的Demo版本,开发者可以通过下列命令运行。</p> <pre><code>python demos/cli_demo.py </code></pre> <h3>API</h3> <p>CodeShell也提供了基于OpenAI API的部署方法。</p> <pre><code>python demos/openai_api.py </code></pre> <p>启动后即可通过HTTP请求与CodeShell交互。</p> <pre><code>curl http://127.0.0.1:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "CodeShell-7B-Chat", "messages": [ { "role": "user", "content": "你好" } ] }' </code></pre> <h3>IDE</h3> <p>CodeShell最后提供了线上IDE,开发者可以通过IDE进行代码补全、代码问答等操作。同时,IDE插件也同时发布,开发者可以自行在本地进行安装使用。插件相关问题欢迎在<a href="https://github.com/WisdomShell/codeshell-vscode">VSCode插件仓库</a>与<a href="https://github.com/WisdomShell/codeshell-intellij">IntelliJ插件仓库</a>中讨论。</p> <h2>Model Details</h2> <p>Code Shell使用GPT-2作为基础架构,采用Grouped-Query Attention、RoPE相对位置编码等技术。</p> <h3>Hyper-parameter</h3> <table> <thead> <tr> <th>Hyper-parameter</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>n_layer</td> <td>42</td> </tr> <tr> <td>n_embd</td> <td>4096</td> </tr> <tr> <td>n_inner</td> <td>16384</td> </tr> <tr> <td>n_head</td> <td>32</td> </tr> <tr> <td>num_query_groups</td> <td>8</td> </tr> <tr> <td>seq-length</td> <td>8192</td> </tr> <tr> <td>vocab_size</td> <td>70144</td> </tr> </tbody> </table> <h3>Data</h3> <p>CodeShell基于自己爬取的Github数据、Big Code开源的Stack和StarCoder数据集、以及少量高质量的中英文数据进行训练。在原始数据集的基础上,CodeShell采用基于Minihash对数据去重,基于KenLM以及高质量数据筛选模型对数据进行了过滤与筛选,最终得到高质量的预训练数据集。</p> <h3>Tokenizer</h3> <p>CodeShell基于Starcoder词表进行了优化,去除了使用频率较低的词语,并添加了部分中文词表,显著提升了中文的压缩率,为Chat版本的训练提供了基础。</p> <table> <thead> <tr> <th>Tokenizer</th> <th>Size</th> <th>Chinese</th> <th>English</th> <th>Code</th> <th>Total</th> </tr> </thead> <tbody> <tr> <td>Starcoder</td> <td>49152</td> <td>1.22</td> <td>3.47</td> <td>3.30</td> <td>2.66</td> </tr> <tr> <td>CodeShell</td> <td>70020</td> <td>1.50</td> <td>3.47</td> <td>3.30</td> <td>2.95</td> </tr> </tbody> </table> <h2>License</h2> <p>社区使用CodeShell模型需要遵循《CodeShell模型许可协议》及Apache 2.0许可协议。CodeShell模型允许用于商业用途,但如果您计划将CodeShell模型或其派生产品用于商业用途,需要您确认主体符合以下条件:</p> <ol> <li>关联方的服务或产品的每日平均活跃用户数(DAU)不能超过100万。</li> <li>关联方不得是软件服务提供商或云服务提供商。</li> <li>关联方不存在将获得授予的商业许可,在未经许可的前提下将其再授权给其他第三方的可能性。</li> </ol> <p>在满足上述条件的前提下,您需要通过向<a href="mailto:codeshell.opensource@gmail.com">codeshell.opensource@gmail.com</a>发送电子邮件提交申请。经审核通过后,将授予您一个全球的、非排他的、不可转让的、不可再授权的商业版权许可。</p> - Planetary-Computers/autotab-starter - 2023-10-22T01:40:24Z - tag:github.com,2023-10-22:/Planetary-Computers/autotab-starter - - <p>Build browser agents for real world tasks</p><hr><h1>autotab</h1> <p>Welcome to autotab! autotab makes it easy to create auditable browser automations using AI. Go from a point &amp; click demonstration in the browser to live code for those actions in seconds.</p> <h2>Quickstart</h2> <p>It usually takes 5-10 minutes to get everything set up (including gathering passwords and installing dependencies). You must have the Chrome browser installed, and we recommend setting up a Python virtual environment:</p> <pre><code class="language-bash">git clone https://github.com/Planetary-Computers/autotab-starter.git cd autotab-starter # Recommended: Setup a Python virtual environment make install brew install --cask chromedriver </code></pre> <h3>Configuration</h3> <p>Configure your credentials: Create a <code>.autotab.yaml</code> file following the example in <code>.example.autotab.yaml</code>. (~3 minutes)</p> <h3>Run</h3> <p>Run <code>autotab record</code> to open a new browser window where you can start recording your actions.</p> <h2>Usage</h2> <h3>Recording an automation</h3> <p>To record a new automation, run <code>autotab record</code>. You can optionally add a <code>--agent &lt;agent_name&gt;</code> argument. This will launch a Chrome session controlled by Selenium and then log you in to Google and open the autotab extension in the sidepanel.</p> <p>If the sidepanel does not open, type <code>Command - Shift - Y</code> to open the sidepanel.</p> <p>Once the sidepanel is open, you can use record mode to record clicks and typing (<code>Command - E</code>) or select mode (<code>Command I</code>) to select an element to be hovered, copied to clipboard or to inject text into.</p> <p>At the end of recording make sure to copy all the code. autotab will have created a <code>&lt;agent_name&gt;.py</code> file in the <code>agents/</code> folder with boilerplate code. Paste the code in there, format it and then your agent is ready to run!</p> <h3>Running an automation</h3> <p>To play an automation you've already created, run <code>autotab play --agent &lt;agent_name&gt;</code>. Leaving out <code>--agent &lt;agent_name&gt;</code> has it default to run <code>agents/agent.py</code>. This just runs the Python script, so you can set debug as you would any other Python script. Often times interactions fail if the Chrome window running the automation isn't focused. We are working on a headless version that runs in the cloud which we hope to release soon to address this.</p> <h2>Setup</h2> <h3>Installation</h3> <p>See the quickstart above (Steps 1 and 2).</p> <p>Running <code>make install</code> installs all the dependencies as well as the local package which enables the <code>autotab record</code> and <code>autotab play</code> commands.</p> <h3>Secrets</h3> <p>Create a <code>.autotab.yaml</code> file in the root folder and populate it with the variables listed in the <code>.example.autotab.yaml</code> file.</p> <p>The first time an agent logs into Google, it may require 2FA depending on your settings. The script will store the relevant cookies to avoid 2FA in subsequent runs. Please note that these cookies are stored in a google_cookies.json file, which should be handled with care as it contains sensitive information (we store only the logged-out cookies, so even if someone gets those cookies they still need your password to gain access).</p> <h2>Disclaimer</h2> <p>This repository is provided as-is, with no guarantees. Before using any code, please review it thoroughly. If considering a scraper, familiarize yourself with the target website's guidelines and Terms of Service. Avoid any unauthorized or illegal activities. We hold no responsibility for any potential issues or outcomes.</p> + OpenTalker/video-retalking + 2023-10-23T01:37:53Z + tag:github.com,2023-10-23:/OpenTalker/video-retalking + + <p>[SIGGRAPH Asia 2022] VideoReTalking: Audio-based Lip Synchronization for Talking Head Video Editing In the Wild</p><hr><div align="center"> <h2>VideoReTalking <br> <span style="font-size:12px">Audio-based Lip Synchronization for Talking Head Video Editing In the Wild</span> </h2> <p><a href="https://arxiv.org/abs/2211.14758"><img src="https://img.shields.io/badge/ArXiv-2211.14758-red"></a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://vinthony.github.io/video-retalking/"><img src="https://img.shields.io/badge/Project-Page-Green"></a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://colab.research.google.com/github/vinthony/video-retalking/blob/main/quick_demo.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Open In Colab"></a></p> <div> <a target="_blank">Kun Cheng <sup>*,1,2</sup> </a>  <a href="https://vinthony.github.io/" target="_blank">Xiaodong Cun <sup>*,2</sup></a>  <a href="https://yzhang2016.github.io/yongnorriszhang.github.io/" target="_blank">Yong Zhang <sup>2</sup></a>  <a href="https://menghanxia.github.io/" target="_blank">Menghan Xia <sup>2</sup></a>  <a href="https://feiiyin.github.io/" target="_blank">Fei Yin <sup>2,3</sup></a>  <br> <a href="https://web.xidian.edu.cn/mrzhu/en/index.html" target="_blank">Mingrui Zhu <sup>1</sup></a>  <a href="https://xuanwangvc.github.io/" target="_blank">Xuan Wang <sup>2</sup></a>  <a href="https://juewang725.github.io/" target="_blank">Jue Wang <sup>2</sup></a>  <a href="https://web.xidian.edu.cn/nnwang/en/index.html" target="_blank">Nannan Wang <sup>1</sup></a> </div> <br> <div> <sup>1</sup> Xidian University   <sup>2</sup> Tencent AI Lab   <sup>3</sup> Tsinghua University </div> <br> <i><strong><a href="https://sa2022.siggraph.org/" target="_blank">SIGGRAPH Asia 2022 Conference Track</a></strong></i> <br> <br> <img src="https://raw.githubusercontent.com/OpenTalker/video-retalking/main/docs/static/images/teaser.png?raw=true" width="768px"> <div align="justify"> We present VideoReTalking, a new system to edit the faces of a real-world talking head video according to input audio, producing a high-quality and lip-syncing output video even with a different emotion. Our system disentangles this objective into three sequential tasks: (1) face video generation with a canonical expression; (2) audio-driven lip-sync; and (3) face enhancement for improving photo-realism. Given a talking-head video, we first modify the expression of each frame according to the same expression template using the expression editing network, resulting in a video with the canonical expression. This video, together with the given audio, is then fed into the lip-sync network to generate a lip-syncing video. Finally, we improve the photo-realism of the synthesized faces through an identity-aware face enhancement network and post-processing. We use learning-based approaches for all three steps and all our modules can be tackled in a sequential pipeline without any user intervention. </div> <br> <p> <img alt="pipeline" src="https://raw.githubusercontent.com/OpenTalker/video-retalking/main/docs/static/images/pipeline.png?raw=true" width="768px"><br> <em align="center">Pipeline</em> </p> </div> <h2>Results in the Wild (contains audio)</h2> <p><a href="https://user-images.githubusercontent.com/4397546/224310754-665eb2dd-aadc-47dc-b1f9-2029a937b20a.mp4">https://user-images.githubusercontent.com/4397546/224310754-665eb2dd-aadc-47dc-b1f9-2029a937b20a.mp4</a></p> <h2>Environment</h2> <pre><code>git clone https://github.com/vinthony/video-retalking.git cd video-retalking conda create -n video_retalking python=3.8 conda activate video_retalking conda install ffmpeg # Please follow the instructions from https://pytorch.org/get-started/previous-versions/ # This installation command only works on CUDA 11.1 pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html pip install -r requirements.txt </code></pre> <h2>Quick Inference</h2> <h4>Pretrained Models</h4> <p>Please download our <a href="https://drive.google.com/drive/folders/18rhjMpxK8LVVxf7PI6XwOidt8Vouv_H0?usp=share_link">pre-trained models</a> and put them in <code>./checkpoints</code>.</p> <!-- We also provide some [example videos and audio](https://drive.google.com/drive/folders/14OwbNGDCAMPPdY-l_xO1axpUjkPxI9Dv?usp=share_link). Please put them in `./examples`. --> <h4>Inference</h4> <pre><code>python3 inference.py \ --face examples/face/1.mp4 \ --audio examples/audio/1.wav \ --outfile results/1_1.mp4 </code></pre> <p>This script includes data preprocessing steps. You can test any talking face videos without manual alignment. But it is worth noting that DNet cannot handle extreme poses.</p> <p>You can also control the expression by adding the following parameters:</p> <p><code>--exp_img</code>: Pre-defined expression template. The default is "neutral". You can choose "smile" or an image path.</p> <p><code>--up_face</code>: You can choose "surprise" or "angry" to modify the expression of upper face with <a href="https://github.com/donydchen/ganimation_replicate">GANimation</a>.</p> <h2>Citation</h2> <p>If you find our work useful in your research, please consider citing:</p> <pre><code>@misc{cheng2022videoretalking, title={VideoReTalking: Audio-based Lip Synchronization for Talking Head Video Editing In the Wild}, author={Kun Cheng and Xiaodong Cun and Yong Zhang and Menghan Xia and Fei Yin and Mingrui Zhu and Xuan Wang and Jue Wang and Nannan Wang}, year={2022}, eprint={2211.14758}, archivePrefix={arXiv}, primaryClass={cs.CV} } </code></pre> <h2>Acknowledgement</h2> <p>Thanks to <a href="https://github.com/Rudrabha/Wav2Lip">Wav2Lip</a>, <a href="https://github.com/RenYurui/PIRender">PIRenderer</a>, <a href="https://github.com/TencentARC/GFPGAN">GFP-GAN</a>, <a href="https://github.com/yangxy/GPEN">GPEN</a>, <a href="https://github.com/donydchen/ganimation_replicate">ganimation_replicate</a>, <a href="https://github.com/rotemtzaban/STIT">STIT</a> for sharing their code.</p> <h2>Related Work</h2> <ul> <li><a href="https://github.com/FeiiYin/StyleHEAT">StyleHEAT: One-Shot High-Resolution Editable Talking Face Generation via Pre-trained StyleGAN (ECCV 2022)</a></li> <li><a href="https://github.com/Doubiiu/CodeTalker">CodeTalker: Speech-Driven 3D Facial Animation with Discrete Motion Prior (CVPR 2023)</a></li> <li><a href="https://github.com/Winfredy/SadTalker">SadTalker: Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation (CVPR 2023)</a></li> <li><a href="https://github.com/Carlyx/DPE">DPE: Disentanglement of Pose and Expression for General Video Portrait Editing (CVPR 2023)</a></li> <li><a href="https://github.com/FeiiYin/SPI/">3D GAN Inversion with Facial Symmetry Prior (CVPR 2023)</a></li> <li><a href="https://github.com/Mael-zys/T2M-GPT">T2M-GPT: Generating Human Motion from Textual Descriptions with Discrete Representations (CVPR 2023)</a></li> </ul> <h2>Disclaimer</h2> <p>This is not an official product of Tencent.</p> <pre><code>1. Please carefully read and comply with the open-source license applicable to this code before using it. 2. Please carefully read and comply with the intellectual property declaration applicable to this code before using it. 3. This open-source code runs completely offline and does not collect any personal information or other data. If you use this code to provide services to end-users and collect related data, please take necessary compliance measures according to applicable laws and regulations (such as publishing privacy policies, adopting necessary data security strategies, etc.). If the collected data involves personal information, user consent must be obtained (if applicable). Any legal liabilities arising from this are unrelated to Tencent. 4. Without Tencent's written permission, you are not authorized to use the names or logos legally owned by Tencent, such as "Tencent." Otherwise, you may be liable for legal responsibilities. 5. This open-source code does not have the ability to directly provide services to end-users. If you need to use this code for further model training or demos, as part of your product to provide services to end-users, or for similar use, please comply with applicable laws and regulations for your product or service. Any legal liabilities arising from this are unrelated to Tencent. 6. It is prohibited to use this open-source code for activities that harm the legitimate rights and interests of others (including but not limited to fraud, deception, infringement of others' portrait rights, reputation rights, etc.), or other behaviors that violate applicable laws and regulations or go against social ethics and good customs (including providing incorrect or false information, spreading pornographic, terrorist, and violent information, etc.). Otherwise, you may be liable for legal responsibilities. </code></pre> \ No newline at end of file diff --git a/python/weekly/index.xml b/python/weekly/index.xml deleted file mode 100644 index 637f1228c00..00000000000 --- a/python/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Python Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:39Z - Weekly Trending of Python in GitHub - - - THUDM/CogVLM - 2023-10-22T01:59:39Z - tag:github.com,2023-10-22:/THUDM/CogVLM - - <p>a state-of-the-art-level open visual language model</p><hr><h1>CogVLM</h1> <p>📖 <a href="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/cogvlm-paper.pdf">Paper(论文)</a></p> <p>🌐 <a href="http://36.103.203.44:7861/">web demo(测试网址)</a></p> <h2>Introduction</h2> <ul> <li> <p>CogVLM is a powerful <strong>open-source visual language model</strong> (<strong>VLM</strong>). CogVLM-17B has 10 billion vision parameters and 7 billion language parameters.</p> </li> <li> <p>CogVLM-17B achieves state-of-the-art performance on 10 classic cross-modal benchmarks, including NoCaps, Flicker30k captioning, RefCOCO, RefCOCO+, RefCOCOg, Visual7W, GQA, ScienceQA, VizWiz VQA and TDIUC, and rank the 2nd on VQAv2, OKVQA, TextVQA, COCO captioning, etc., <strong>surpassing or matching PaLI-X 55B</strong>. CogVLM can also <a href="http://36.103.203.44:7861">chat with you</a> about images.</p> </li> <li> <p>Chinese brief introduction: CogVLM 是一个强大的开源视觉语言模型,利用视觉专家模块深度整合语言编码和视觉编码,在 10 项权威跨模态基准上取得了SOTA性能。目前仅支持英文,后续会提供中英双语版本支持,欢迎持续关注!</p> </li> </ul> <div align="center"> <img src="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/metrics-min.png" width="80%"> </div> <h2>Examples</h2> <!-- CogVLM is powerful for answering various types of visual questions, including **Detailed Description & Visual Question Answering**, **Complex Counting**, **Visual Math Problem Solving**, **OCR-Free Reasonging**, **OCR-Free Visual Question Answering**, **World Knowledge**, **Referring Expression Comprehension**, **Programming with Visual Input**, **Grounding with Caption**, **Grounding Visual Question Answering**, etc. --> <ul> <li> <p>CogVLM can accurately describe images in details with <strong>very few hallucinations</strong>.</p> <details> <summary>Click for comparison with LLAVA-1.5 and MiniGPT-4.</summary> <p><img src="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/llava-comparison-min.png" alt="LLAVA Comparision"></p> </details> </li> </ul> <br> <ul> <li>CogVLM can understand and answer various types of questions, and has a <strong>visual grounding</strong> version.</li> </ul> <div align="center"> <img src="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/pear_grounding.png" width="90%"> </div> <br> <ul> <li>CogVLM sometimes captures more detailed content than GPT-4V(ision).</li> </ul> <div align="center"> <img src="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/compare-min.png" width="90%"> </div> <!-- ![compare](assets/compare.png) --> <br> <details> <summary>Click to expand more examples.</summary> <p><img src="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/chat.png" alt="Chat Examples"></p> </details> <h2>Method</h2> <p>CogVLM model comprises four fundamental components: a vision transformer (ViT) encoder, an MLP adapter, a pretrained large language model (GPT), and a <strong>visual expert module</strong>. See <a href="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/cogvlm-paper.pdf">Paper</a> for more details.</p> <div align="center"> <img src="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/method-min.png" width="70%"> </div> <h2>Get Started</h2> <p>We support two GUIs for model inference, <strong>web demo</strong> and <strong>CLI</strong>. If you want to use it in your python code, it is easy to modify the CLI scripts for your case.</p> <p>First, we need to install the dependencies.</p> <pre><code class="language-bash">pip install -r requirements.txt python -m spacy download en_core_web_sm </code></pre> <h4>Hardware requirement</h4> <ul> <li>Model Inference: 1 * A100(80G) or 2 * RTX 3090(24G).</li> <li>Finetuning: 4 * A100(80G) <em>[Recommend]</em> or 8* RTX 3090(24G).</li> </ul> <!-- ### Online Web Demo We provide a [web demo](http://36.103.203.44:7861/) based on [Gradio](https://gradio.app). --> <h3>Web Demo</h3> <p>We also offer a local web demo based on Gradio. First, install Gradio by running: <code>pip install gradio</code>. Then download and enter this repository and run <code>web_demo.py</code>. See the next section for detailed usage:</p> <pre><code class="language-bash">python web_demo.py --from_pretrained cogvlm-chat --version chat --english --bf16 python web_demo.py --from_pretrained cogvlm-grounding-generalist --version base --english --bf16 </code></pre> <p>The GUI of the web demo looks like:</p> <div align="center"> <img src="https://raw.githubusercontent.com/THUDM/CogVLM/main/assets/web_demo-min.png" width="70%"> </div> <h3>CLI</h3> <p>We open-source different checkpoints for different downstreaming tasks:</p> <ul> <li><code>cogvlm-chat</code> The model after SFT for alignment, which supports chat like GPT-4V.</li> <li><code>cogvlm-base-224</code> The original checkpoint after text-image pretraining.</li> <li><code>cogvlm-base-490</code> The finetuned version on <code>490px</code> resolution from <code>cogvlm-base-224</code>. The finetuning data includes the training sets of VQA datasets.</li> <li><code>cogvlm-grounding-generalist</code>. This checkpoint supports different visual grounding tasks, e.g. REC, Grounding Captioning, etc.</li> </ul> <p>Run CLI demo via:</p> <pre><code class="language-bash">python cli_demo.py --from_pretrained cogvlm-base-224 --version base --english --bf16 --no_prompt python cli_demo.py --from_pretrained cogvlm-base-490 --version base --english --bf16 --no_prompt python cli_demo.py --from_pretrained cogvlm-chat --version chat --english --bf16 python cli_demo.py --from_pretrained cogvlm-grounding-generalist --version base --english --bf16 </code></pre> <p>The program will automatically download the sat model and interact in the command line. You can generate replies by entering instructions and pressing enter. Enter <code>clear</code> to clear the conversation history and <code>stop</code> to stop the program.</p> <h4>Multi-GPU inference</h4> <p>We also support model parallel inference, which splits model to multiple (2/4/8) GPUs. <code>--nproc-per-node=[n]</code> in the following command controls the number of used GPUs.</p> <pre><code>torchrun --standalone --nnodes=1 --nproc-per-node=2 cli_demo.py --from_pretrained cogvlm-chat --version chat --english --bf16 </code></pre> <p><strong>Note</strong>:</p> <ul> <li>If you have trouble in accessing huggingface.co, you can add <code>--local_tokenizer /path/to/vicuna-7b-v1.5</code> to load the tokenizer.</li> <li>If you have trouble in automatically downloading model with 🔨<a href="https://github.com/THUDM/SwissArmyTransformer">SAT</a>, try downloading from 🤖<a href="https://www.modelscope.cn/models/ZhipuAI/CogVLM/summary">modelscope</a> or 🤗<a href="https://huggingface.co/THUDM/CogVLM">huggingface</a> manually.</li> <li>Download model using 🔨<a href="https://github.com/THUDM/SwissArmyTransformer">SAT</a>, the model will be saved to the default location <code>~/.sat_models</code>. Change the default location by setting the environment variable <code>SAT_HOME</code>. For example, if you want to save the model to <code>/path/to/my/models</code>, you can run <code>export SAT_HOME=/path/to/my/models</code> before running the python command.</li> </ul> <p>The program provides the following hyperparameters to control the generation process:</p> <pre><code>usage: cli_demo.py [-h] [--max_length MAX_LENGTH] [--top_p TOP_P] [--top_k TOP_K] [--temperature TEMPERATURE] [--english] optional arguments: -h, --help show this help message and exit --max_length MAX_LENGTH max length of the total sequence --top_p TOP_P top p for nucleus sampling --top_k TOP_K top k for top k sampling --temperature TEMPERATURE temperature for sampling --english only output English </code></pre> <h3>Finetuning</h3> <p>You may want to use CogVLM in your own task, which needs a <strong>different output style or domain knowledge</strong>. We here provide a finetuning example for <strong>Captcha Recognition</strong>.</p> <ol> <li> <p>Start by downloading the <a href="https://www.kaggle.com/datasets/aadhavvignesh/captcha-images">Captcha Images dataset</a>. Once downloaded, extract the contents of the ZIP file.</p> </li> <li> <p>To create a train/validation/test split in the ratio of 80/5/15, execute the following:</p> <pre><code class="language-bash">python scripts/split_dataset.py </code></pre> </li> <li> <p>Start the fine-tuning process with this command:</p> <pre><code class="language-bash">bash scripts/finetune_(224/490)_lora.sh </code></pre> </li> <li> <p>Merge the model to <code>model_parallel_size=1</code>: (replace the 4 below with your training <code>MP_SIZE</code>)</p> <pre><code class="language-bash">torchrun --standalone --nnodes=1 --nproc-per-node=4 merge_model.py --version base --bf16 --from_pretrained ./checkpoints/merged_lora_(224/490) </code></pre> </li> <li> <p>Evaluate the performance of your model.</p> <pre><code class="language-bash">bash scripts/evaluate_(224/490).sh </code></pre> </li> </ol> <p>It is recommended to use the <code>490px</code> version. However, if you have limited GPU resources (such as only one node with 8* RTX 3090), you can try <code>224px</code> version with model parallel.</p> <p>The anticipated result of this script is around <code>95%</code> accuracy on test set.</p> <p>It is worth noting that the fine-tuning examples only tune limited parameters. (Expert only) If you want to get <code>&gt;98%</code> accuracy, you need to increase the trainable parameters in <code>finetune_demo.py</code>.</p> <h2>License</h2> <p>The code in this repository is open source under the <a href="https://raw.githubusercontent.com/THUDM/CogVLM/main/LICENSE">Apache-2.0 license</a>, while the use of the CogVLM model weights must comply with the <a href="https://raw.githubusercontent.com/THUDM/CogVLM/main/MODEL_LICENSE">Model License</a>.</p> <h2>Citation &amp; Acknowledgements</h2> <p>If you find our work helpful, please consider citing the following papers</p> <pre><code>Yes, you can help us!!! The paper (ArXiv ID 5148899) has been "on hold" by arXiv for more than two weeks without clear reason. If you happen to know the moderators (cs.CV), please help to accelarate the process. Thank you! </code></pre> <p>In the instruction fine-tuning phase of the CogVLM, there are some English image-text data from the <a href="https://github.com/Vision-CAIR/MiniGPT-4">MiniGPT-4</a>, <a href="https://github.com/haotian-liu/LLaVA">LLAVA</a>, <a href="https://github.com/FuxiaoLiu/LRV-Instruction">LRV-Instruction</a>, <a href="https://github.com/SALT-NLP/LLaVAR">LLaVAR</a> and <a href="https://github.com/shikras/shikra">Shikra</a> projects, as well as many classic cross-modal work datasets. We sincerely thank them for their contributions.</p> - - - mindsdb/mindsdb - 2023-10-22T01:59:39Z - tag:github.com,2023-10-22:/mindsdb/mindsdb - - <p>MindsDB connects AI models to datasources.</p><hr><h1 align="center"> <img width="300" src="https://github.com/mindsdb/mindsdb_native/raw/stable/assets/MindsDBColorPurp@3x.png?raw=true" alt="MindsDB"> <br> </h1> <div align="center"> <p><a href="https://runacap.com/ross-index/annual-2022/" target="_blank" rel="noopener"></a> <img style="width: 260px; height: 56px" src="https://runacap.com/wp-content/uploads/2023/02/Annual_ROSS_badge_white_2022.svg?sanitize=true" alt="ROSS Index - Fastest Growing Open-Source Startups | Runa Capital" width="260" height="56"> </p> <p> <a href="https://github.com/mindsdb/mindsdb/actions"><img src="https://github.com/mindsdb/mindsdb/actions/workflows/release.yml/badge.svg?sanitize=true" alt="MindsDB Release"></a> <a href="https://www.python.org/downloads/" target="_blank"><img src="https://img.shields.io/badge/python-3.8.x%7C%203.9.x%7C%203.10.x%7C%203.11.x-brightgreen.svg?sanitize=true" alt="Python supported"></a> <a href="https://pypi.org/project/MindsDB/" target="_blank"><img src="https://badge.fury.io/py/MindsDB.svg?sanitize=true" alt="PyPi Version"></a> <br> <img alt="PyPI - Downloads" src="https://img.shields.io/pypi/dm/Mindsdb"> <a href="https://hub.docker.com/u/mindsdb" target="_blank"><img src="https://img.shields.io/docker/pulls/mindsdb/mindsdb" alt="Docker pulls"></a> <a href="https://ossrank.com/p/630"><img src="https://shields.io/endpoint?url=https://ossrank.com/shield/630"></a> <a href="https://www.mindsdb.com/"><img src="https://img.shields.io/website?url=https%3A%2F%2Fwww.mindsdb.com%2F" alt="MindsDB Website"></a> <a href="https://mindsdb.com/joincommunity" target="_blank"><img src="https://img.shields.io/badge/slack-@mindsdbcommunity-brightgreen.svg?logo=slack " alt="MindsDB Community"></a> <br> <a href="https://deepnote.com/project/Machine-Learning-With-SQL-8GDF7bc7SzKlhBLorqoIcw/%2Fmindsdb_demo.ipynb" target="_blank"><img src="https://deepnote.com/buttons/launch-in-deepnote-white.svg?sanitize=true" alt="Launch in Deepnote"></a> <br> <a href="https://gitpod.io/#https://github.com/mindsdb/mindsdb" target="_blank"><img src="https://gitpod.io/button/open-in-gitpod.svg?sanitize=true" alt="Open in Gitpod"></a> </p> <h3 align="center"> <a href="https://www.mindsdb.com?utm_medium=community&amp;utm_source=github&amp;utm_campaign=mindsdb%20repo">Website</a> <span> | </span> <a href="https://docs.mindsdb.com?utm_medium=community&amp;utm_source=github&amp;utm_campaign=mindsdb%20repo">Docs</a> <span> | </span> <a href="https://mindsdb.com/joincommunity">Community Slack</a> <span> | </span> <a href="https://github.com/mindsdb/mindsdb/projects?type=classic">Contribute</a> <span> | </span> <a href="https://cloud.mindsdb.com?utm_medium=community&amp;utm_source=github&amp;utm_campaign=mindsdb%20repo">Demo</a> <span> | </span> <a href="https://mindsdb.com/hackerminds-ai-app-challenge">Hackathon</a> </h3> </div> <hr> <p><a href="https://mindsdb.com?utm_medium=community&amp;utm_source=github&amp;utm_campaign=mindsdb%20repo">MindsDB's</a> <strong>AI Virtual Database</strong> empowers developers to connect any AI/ML model to any datasource. This includes relational and non-relational databases, data warehouses and SaaS applications. <a href="https://twitter.com/intent/tweet?text=Build%20AI-Centered%20Applications%20&amp;url=https://www.mindsdb.com&amp;via=mindsdb&amp;hashtags=ai,ml,nlp,machine_learning,neural_networks,databases,gpt3"><img src="https://img.shields.io/twitter/url/http/shields.io.svg?style=social" alt="Tweet"></a></p> <p>MindsDB offers two primary benefits to its users.</p> <ol> <li>Hook AI models to run automatically as new data is observed and plug the output into any of our integrations.</li> <li>Automate training and finetuning AI models from data contained in any of the 130+ datasources we support.</li> </ol> <img width="1089" alt="image" src="https://github.com/mindsdb/mindsdb/assets/5898506/5451fe7e-a854-4c53-b34b-769b6c7c9863"> <p><a href="https://raw.githubusercontent.com/mindsdb/mindsdb/staging/#Installation">Installation</a>- <a href="https://raw.githubusercontent.com/mindsdb/mindsdb/staging/#Howitworks">How it works</a> - <a href="https://raw.githubusercontent.com/mindsdb/mindsdb/staging/#DatabaseIntegrations">DatabaseIntegrations</a> - <a href="https://raw.githubusercontent.com/mindsdb/mindsdb/staging/#Documentation">Documentation</a> - <a href="https://raw.githubusercontent.com/mindsdb/mindsdb/staging/#Support">Support</a> - <a href="https://raw.githubusercontent.com/mindsdb/mindsdb/staging/#Contributing">Contributing</a> <a href="https://raw.githubusercontent.com/mindsdb/mindsdb/staging/#Currentcontributors">Current contributors</a> - <a href="https://raw.githubusercontent.com/mindsdb/mindsdb/staging/#License">License</a></p> <hr> <h2>Demo</h2> <p>You can try MindsDB using our <a href="https://cloud.mindsdb.com/?utm_medium=community&amp;utm_source=github&amp;utm_campaign=mindsdb%20repo">demo environment</a> with sample data for the most popular use cases.</p> <h2>Installation <a name="Installation"></a></h2> <p>The preferred way is to use MindsDB Cloud <a href="https://cloud.mindsdb.com/home">free demo instance</a> or use a <a href="https://cloud.mindsdb.com/home">dedicated instance</a>. If you want to move to production, use <a href="https://aws.amazon.com/marketplace/seller-profile?id=03a65520-86ca-4ab8-a394-c11eb54573a9">the AWS AMI image</a>.</p> <p>To install locally or on-premise, pull the latest Docker image:</p> <pre><code>docker pull mindsdb/mindsdb </code></pre> <h2>How it works <a name="How it works"></a></h2> <ol> <li><strong>Connect:</strong> Link MindsDB to your data platform. With support for hundreds of integrations and counting, we're constantly expanding our list.</li> <li><strong>Create Model:</strong> Select an AI Engine to learn from your data. Models are provisioned and deployed instantly for inference. <ul> <li>Choose from pre-trained models like OpenAI's GPT, Hugging Face, LangChain, etc., for NLP and generative AI.</li> <li>Or select from a range of state-of-the-art engines for classic ML tasks (regression, classification, time-series).</li> <li>Even <a href="https://docs.mindsdb.com/custom-model/byom">import custom models</a> built with any ML framework.</li> </ul> </li> <li><strong>Query Models:</strong> Use <a href="https://docs.mindsdb.com/sql/api/select">SELECT statements</a>, <a href="https://docs.mindsdb.com/rest/usage">API calls</a>, or <a href="https://docs.mindsdb.com/sql/api/join">JOIN commands</a> to make predictions on thousands or millions of data points simultaneously.</li> <li><strong>Fine-Tune Models:</strong> Experiment and <a href="https://docs.mindsdb.com/sql/api/finetune">Fine-Tune</a> to achieve optimal results.</li> <li><strong>Automate Workflows:</strong> Streamline operations with <a href="https://docs.mindsdb.com/sql/create/jobs">JOBS</a>.</li> </ol> <p>Follow the <a href="https://docs.mindsdb.com/quickstart?utm_medium=community&amp;utm_source=github&amp;utm_campaign=mindsdb%20repo">quickstart guide</a> with sample data to get on-boarded as fast as possible.</p> <h2>Data Integrations <a name="DatabaseIntegrations"></a></h2> <p>MindsDB works with most SQL, NoSQL databases, data warehouses, and popular applications. You can find the list of all supported integrations <a href="https://docs.mindsdb.com/data-integrations/all-data-integrations">here</a>.</p> <p><a href="https://github.com/mindsdb/mindsdb/issues/new?assignees=&amp;labels=&amp;template=feature-mindsdb-request.yaml"><span>❓</span> <span>👋</span> Missing integration?</a></p> <h2>Documentation <a name="Documentation"></a></h2> <p>You can find the complete documentation of MindsDB at <a href="https://docs.mindsdb.com?utm_medium=community&amp;utm_source=github&amp;utm_campaign=mindsdb%20repo">docs.mindsdb.com</a>.</p> <h2>Support <a name="Support"></a></h2> <p>If you found a bug, please submit an <a href="https://github.com/mindsdb/mindsdb/issues/new/choose">issue on GitHub</a>.</p> <p>To get community support, you can:</p> <ul> <li>Post a question at MindsDB <a href="https://mindsdb.com/joincommunity">Slack community</a>.</li> <li>Ask for help at our <a href="https://github.com/mindsdb/mindsdb/discussions">GitHub Discussions</a>.</li> <li>Ask a question at <a href="https://stackoverflow.com/questions/tagged/mindsdb">Stackoverflow</a> with a MindsDB tag.</li> </ul> <p>If you need commercial support, please <a href="https://mindsdb.com/contact/?utm_medium=community&amp;utm_source=github&amp;utm_campaign=mindsdb%20repo">contact</a> MindsDB team.</p> <h2>Contributing <a name="Contributing"></a></h2> <p>A great place to start contributing to MindsDB is to check our GitHub projects <span>🏁</span></p> <ul> <li>Community contributor's <a href="https://github.com/mindsdb/mindsdb/projects/8">dashboard tasks</a>.</li> <li><a href="https://github.com/mindsdb/mindsdb/issues?q=is%3Aissue+is%3Aopen+label%3Afirst-timers-only">First timers only issues</a>, if this is your first time contributing to an open source project.</li> </ul> <p>We are always open to suggestions, so feel free to open new issues with your ideas, and we can guide you!</p> <p>Being part of the core team is accessible to anyone who is motivated and wants to be part of that journey! If you'd like to contribute to the project, refer to the <a href="https://docs.mindsdb.com/contribute/?utm_medium=community&amp;utm_source=github&amp;utm_campaign=mindsdb%20repo">contributing documentation</a>.</p> <p>This project is released with a <a href="https://github.com/mindsdb/mindsdb/raw/stable/CODE_OF_CONDUCT.md">Contributor Code of Conduct</a>. By participating in this project, you agree to follow its terms.</p> <p>Also, check out the <a href="https://mindsdb.com/community?utm_medium=community&amp;utm_source=github&amp;utm_campaign=mindsdb%20repo">rewards and community programs</a>.</p> <h3>Current contributors <a name="Current contributors"></a></h3> <a href="https://github.com/mindsdb/mindsdb/graphs/contributors"> <img src="https://contributors-img.web.app/image?repo=mindsdb/mindsdb"> </a> <p>Made with <a href="https://contributors-img.web.app">contributors-img</a>.</p> <h2>Subscribe to updates</h2> <p>Join our <a href="https://mindsdb.com/joincommunity">Slack community</a> and subscribe to the monthly <a href="https://mindsdb.com/newsletter/?utm_medium=community&amp;utm_source=github&amp;utm_campaign=mindsdb%20repo">Developer Newsletter</a> to get product updates, information about MindsDB events and contests, and useful content, like tutorials.</p> <h2>License <a name="License"></a></h2> <p>MindsDB is licensed under <a href="https://github.com/mindsdb/mindsdb/raw/master/LICENSE">GNU General Public License v3.0</a></p> - - - Audio-AGI/AudioSep - 2023-10-22T01:59:39Z - tag:github.com,2023-10-22:/Audio-AGI/AudioSep - - <p>Official implementation of "Separate Anything You Describe"</p><hr><h1>Separate Anything You Describe</h1> <p><a href="https://arxiv.org/abs/2308.05037"><img src="https://img.shields.io/badge/arXiv-Paper-%3CCOLOR%3E.svg?sanitize=true" alt="arXiv"></a> <a href="https://github.com/Audio-AGI/AudioSep/"><img src="https://img.shields.io/github/stars/Audio-AGI/AudioSep?style=social" alt="GitHub Stars"></a> <a href="https://audio-agi.github.io/Separate-Anything-You-Describe"><img src="https://img.shields.io/badge/GitHub.io-Demo_Page-blue?logo=Github&amp;style=flat-square" alt="githubio"></a> <a href="https://colab.research.google.com/github/Audio-AGI/AudioSep/blob/main/AudioSep_Colab.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Open In Colab"></a> <a href="https://huggingface.co/spaces/Audio-AGI/AudioSep"><img src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Spaces-blue" alt="Hugging Face Spaces"></a> <a href="https://replicate.com/cjwbw/audiosep"><img src="https://replicate.com/cjwbw/audiosep/badge" alt="Replicate"></a></p> <p>This repository contains the official implementation of <a href="https://audio-agi.github.io/Separate-Anything-You-Describe/AudioSep_arXiv.pdf">"Separate Anything You Describe"</a>.</p> <p>We introduce AudioSep, a foundation model for open-domain sound separation with natural language queries. AudioSep demonstrates strong separation performance and impressive zero-shot generalization ability on numerous tasks such as audio event separation, musical instrument separation, and speech enhancement. Check the separated audio examples in the <a href="https://audio-agi.github.io/Separate-Anything-You-Describe/">Demo Page</a>!</p> <p align="center"> <img align="middle" width="800" src="https://raw.githubusercontent.com/Audio-AGI/AudioSep/main/assets/results.png"> </p> <hr> <h2>TODO</h2> <ul> <li><input type="checkbox" checked disabled> AudioSep training &amp; finetuning code release.</li> <li><input type="checkbox" checked disabled> AudioSep base model checkpoint release.</li> <li><input type="checkbox" checked disabled> Evaluation benchmark release.</li> </ul> <hr> <h2>Setup</h2> <p>Clone the repository and setup the conda environment:</p> <pre><code class="language-shell">git clone https://github.com/Audio-AGI/AudioSep.git &amp;&amp; \ cd AudioSep &amp;&amp; \ conda env create -f environment.yml &amp;&amp; \ conda activate AudioSep </code></pre> <p>Download <a href="https://huggingface.co/spaces/Audio-AGI/AudioSep/tree/main/checkpoint">model weights</a> at <code>checkpoint/</code>.</p> <hr> <h2>Inference</h2> <pre><code class="language-python">from pipeline import build_audiosep, inference import torch device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') model = build_audiosep( config_yaml='config/audiosep_base.yaml', checkpoint_path='checkpoint/audiosep_base_4M_steps.ckpt', device=device) audio_file = 'path_to_audio_file' text = 'textual_description' output_file='separated_audio.wav' # AudioSep processes the audio at 32 kHz sampling rate inference(model, audio_file, text, output_file, device) </code></pre> <hr> <p>To load directly from Hugging Face, you can do the following:</p> <pre><code class="language-python">from models.audiosep import AudioSep from utils import get_ss_model import torch device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') ss_model = get_ss_model('config/audiosep_base.yaml') model = AudioSep.from_pretrained("nielsr/audiosep-demo", ss_model=ss_model) audio_file = 'path_to_audio_file' text = 'textual_description' output_file='separated_audio.wav' # AudioSep processes the audio at 32 kHz sampling rate inference(model, audio_file, text, output_file, device) </code></pre> <hr> <p>Use chunk-based inference to save memory:</p> <pre><code class="language-python">inference(model, audio_file, text, output_file, device, use_chunk=True) </code></pre> <h2>Training</h2> <p>To utilize your audio-text paired dataset:</p> <ol> <li> <p>Format your dataset to match our JSON structure. Refer to the provided template at <code>datafiles/template.json</code>.</p> </li> <li> <p>Update the <code>config/audiosep_base.yaml</code> file by listing your formatted JSON data files under <code>datafiles</code>. For example:</p> </li> </ol> <pre><code class="language-yaml">data: datafiles: - 'datafiles/your_datafile_1.json' - 'datafiles/your_datafile_2.json' ... </code></pre> <p>Train AudioSep from scatch:</p> <pre><code class="language-python">python train.py --workspace workspace/AudioSep --config_yaml config/audiosep_base.yaml --resume_checkpoint_path checkpoint/ '' </code></pre> <p>Finetune AudioSep from pretrained checkpoint:</p> <pre><code class="language-python">python train.py --workspace workspace/AudioSep --config_yaml config/audiosep_base.yaml --resume_checkpoint_path path_to_checkpoint </code></pre> <hr> <h2>Benchmark Evaluation</h2> <p>Download the <a href="https://drive.google.com/drive/folders/1PbCsuvdrzwAZZ_fwIzF0PeVGZkTk0-kL?usp=sharing">evaluation data</a> under the <code>evaluation/data</code> folder. The data should be organized as:</p> <pre><code class="language-yaml">evaluation: data: - audioset/ - audiocaps/ - vggsound/ - music/ - clotho/ - esc50/ </code></pre> <p>Run benchmark inference script, the results will be saved at <code>eval_logs/</code></p> <pre><code class="language-python">python benchmark.py --checkpoint_path audiosep_base_4M_steps.ckpt """ Evaluation Results: VGGSound Avg SDRi: 9.144, SISDR: 9.043 MUSIC Avg SDRi: 10.508, SISDR: 9.425 ESC-50 Avg SDRi: 10.040, SISDR: 8.810 AudioSet Avg SDRi: 7.739, SISDR: 6.903 AudioCaps Avg SDRi: 8.220, SISDR: 7.189 Clotho Avg SDRi: 6.850, SISDR: 5.242 """ </code></pre> <h2>Cite this work</h2> <p>If you found this tool useful, please consider citing</p> <pre><code class="language-bibtex">@article{liu2023separate, title={Separate Anything You Describe}, author={Liu, Xubo and Kong, Qiuqiang and Zhao, Yan and Liu, Haohe and Yuan, Yi and Liu, Yuzhuo and Xia, Rui and Wang, Yuxuan and Plumbley, Mark D and Wang, Wenwu}, journal={arXiv preprint arXiv:2308.05037}, year={2023} } </code></pre> <pre><code class="language-bibtex">@inproceedings{liu22w_interspeech, title={Separate What You Describe: Language-Queried Audio Source Separation}, author={Liu, Xubo and Liu, Haohe and Kong, Qiuqiang and Mei, Xinhao and Zhao, Jinzheng and Huang, Qiushi and Plumbley, Mark D and Wang, Wenwu}, year=2022, booktitle={Proc. Interspeech}, pages={1801--1805}, } </code></pre> - - \ No newline at end of file diff --git a/q%23/daily/index.xml b/q%23/daily/index.xml index b9a7e926e34..d4075ad576c 100644 --- a/q%23/daily/index.xml +++ b/q%23/daily/index.xml @@ -1,7 +1,7 @@ GitHub Q# Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:42Z + 2023-10-23T01:38:20Z Daily Trending of Q# in GitHub \ No newline at end of file diff --git a/q%23/weekly/index.xml b/q%23/weekly/index.xml deleted file mode 100644 index 9bf64290540..00000000000 --- a/q%23/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Q# Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:51Z - Weekly Trending of Q# in GitHub - - \ No newline at end of file diff --git a/q/daily/index.xml b/q/daily/index.xml index 0d0f76fe76f..9ed6b7ef60a 100644 --- a/q/daily/index.xml +++ b/q/daily/index.xml @@ -1,7 +1,7 @@ GitHub q Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:43Z + 2023-10-23T01:38:20Z Daily Trending of q in GitHub \ No newline at end of file diff --git a/q/weekly/index.xml b/q/weekly/index.xml deleted file mode 100644 index ed152a8f585..00000000000 --- a/q/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub q Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:48Z - Weekly Trending of q in GitHub - - \ No newline at end of file diff --git a/qmake/daily/index.xml b/qmake/daily/index.xml index fcecc5a1b60..451b06a453f 100644 --- a/qmake/daily/index.xml +++ b/qmake/daily/index.xml @@ -1,7 +1,7 @@ GitHub QMake Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:41Z + 2023-10-23T01:38:19Z Daily Trending of QMake in GitHub \ No newline at end of file diff --git a/qmake/weekly/index.xml b/qmake/weekly/index.xml deleted file mode 100644 index d89187d3d54..00000000000 --- a/qmake/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub QMake Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:50Z - Weekly Trending of QMake in GitHub - - \ No newline at end of file diff --git a/qml/daily/index.xml b/qml/daily/index.xml index 8b6007d77c5..d4f378a21ce 100644 --- a/qml/daily/index.xml +++ b/qml/daily/index.xml @@ -1,7 +1,7 @@ GitHub QML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:45Z + 2023-10-23T01:38:22Z Daily Trending of QML in GitHub \ No newline at end of file diff --git a/qml/weekly/index.xml b/qml/weekly/index.xml deleted file mode 100644 index ecfe68e3b41..00000000000 --- a/qml/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub QML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:53Z - Weekly Trending of QML in GitHub - - - hiroi-sora/Umi-OCR_v2 - 2023-10-22T01:59:53Z - tag:github.com,2023-10-22:/hiroi-sora/Umi-OCR_v2 - - <p>开源、免费、实用的离线OCR软件。支持截屏/批量导入图片,支持还原排版和排序整理。兼容两种离线OCR引擎,内置多国语言识别库。</p><hr> - - - zhuzichu520/PySide6-FluentUI-QML - 2023-10-22T01:59:53Z - tag:github.com,2023-10-22:/zhuzichu520/PySide6-FluentUI-QML - - <p>FluentUI for PySide6 and QML</p><hr> - - \ No newline at end of file diff --git a/qt-script/daily/index.xml b/qt-script/daily/index.xml index cb965e3aa2e..839d46e72e6 100644 --- a/qt-script/daily/index.xml +++ b/qt-script/daily/index.xml @@ -1,7 +1,7 @@ GitHub Qt Script Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:50Z + 2023-10-23T01:38:23Z Daily Trending of Qt Script in GitHub \ No newline at end of file diff --git a/qt-script/weekly/index.xml b/qt-script/weekly/index.xml deleted file mode 100644 index 3999fe77dd8..00000000000 --- a/qt-script/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Qt Script Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:54Z - Weekly Trending of Qt Script in GitHub - - \ No newline at end of file diff --git a/quake/daily/index.xml b/quake/daily/index.xml index 2ad8d0e6aec..b5110146a1a 100644 --- a/quake/daily/index.xml +++ b/quake/daily/index.xml @@ -1,7 +1,7 @@ GitHub Quake Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:46Z + 2023-10-23T01:38:24Z Daily Trending of Quake in GitHub \ No newline at end of file diff --git a/quake/weekly/index.xml b/quake/weekly/index.xml deleted file mode 100644 index 9551b5c5dd6..00000000000 --- a/quake/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Quake Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:52Z - Weekly Trending of Quake in GitHub - - \ No newline at end of file diff --git a/r/daily/index.xml b/r/daily/index.xml index f0b593c50a6..05b59ea216a 100644 --- a/r/daily/index.xml +++ b/r/daily/index.xml @@ -1,21 +1,28 @@ GitHub R Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:50Z + 2023-10-23T01:38:26Z Daily Trending of R in GitHub - bayesianops/stan-survival-model-workshop - 2023-10-22T01:40:50Z - tag:github.com,2023-10-22:/bayesianops/stan-survival-model-workshop - - <p>Building a Survival Model in Stan.</p><hr><h1>Building a Survival Model in Stan</h1> <p>This repository contains the materials from a 2-hour workshop taught on October 16, 2023 as part of <a href="https://rinpharma.com/workshop/2023conference/">R/Pharma 2023</a>.</p> <h2>Contents</h2> <ul> <li>Slides: <a href="https://raw.githubusercontent.com/bayesianops/stan-survival-model-workshop/main/Building-a-Survival-Model-in-Stan.pdf">Building-a-Survival-Model-in-Stan.pdf</a></li> <li>R script to generate data and run models: <a href="https://raw.githubusercontent.com/bayesianops/stan-survival-model-workshop/main/script.R">script.R</a></li> </ul> <p>There are 4 examples, each in its own Stan program (<code>survival_1.stan</code>, <code>survival_2.stan</code>, <code>survival_3.stan</code>, <code>survival_4.stan</code>). These programs are meant for you to complete as part of the workshop. The full, working programs are in the <code>solution/</code> folder.</p> <h2>Description</h2> <p>In this hands-on workshop, we will be building a survival model from scratch in Stan. We will work through some of the math, how it connects with Stan code, and building from a simple model to one that includes censoring. Although the example will be survival analysis, the workshop will be geared towards exploring hierarchical models, priors, and simulation. For this workshop, it would be helpful to have a working Stan installation (CmdStanR) and some familiarity with Stan programming.</p> <h2>Bio</h2> <p>Daniel Lee is a computational Bayesian statistician who helped create and develop Stan, the open-source statistical modeling language. He has 20 years of experience in numeric computation and software; over 10 years of experience creating and working with Stan; and has spent the last 5 years working on pharma-related models including joint models for estimating oncology treatment efficacy and PK/PD models. Past projects have covered estimating vote share for state and national elections; clinical trials for rare diseases and non-small-cell lung cancer; satellite control software for television and government; retail price sensitivity; data fusion for U.S. Navy applications; sabermetrics for an MLB team; and assessing “clutch” moments in NFL footage. Daniel has led workshops and given talks in applied statistics and Stan at Columbia University, MIT, Penn State, UC Irvine, UCLA, University of Washington, Vanderbilt University, Amazon, Climate Corp, Swiss Statistical Society, IBM AI Systems Day, R/Pharma, StanCon, PAGANZ, ISBA, PROBPROG, and NeurIPS. He holds a B.S. in Mathematics with Computer Science from MIT, and a Master of Advanced Studies in Statistics from Cambridge University.</p> + maju116/platypus + 2023-10-23T01:38:26Z + tag:github.com,2023-10-23:/maju116/platypus + + <p>R package for object detection and image segmentation.</p><hr><img src="https://raw.githubusercontent.com/maju116/platypus/master/man/figures/hexsticker_platypus.png" align="right" alt="" width="130"> <h1>platypus</h1> <!-- badges: start --> <p><a href="https://codecov.io/gh/maju116/platypus"><img src="https://codecov.io/gh/maju116/platypus/branch/master/graph/badge.svg?sanitize=true" alt="codecov"></a></p> <!-- badges: end --> <p><strong>R package for object detection and image segmentation</strong></p> <p>With <code>platypus</code> it is easy create advanced computer vision models like YOLOv3 and U-Net in a few lines of code.</p> <h2>How to install?</h2> <p>You can install the latest version of <code>platypus</code> with <code>remotes</code>:</p> <pre><code class="language-r">remotes::install_github("maju116/platypus") </code></pre> <p>(<code>master</code> branch contains the stable version. Use <code>develop</code> branch for latest features)</p> <p>To install <a href="">previous versions</a> you can run:</p> <pre><code class="language-r">remotes::install_github("maju116/platypus", ref = "0.1.0") </code></pre> <p>In order to install <code>platypus</code> you need to install <code>keras</code> and <code>tensorflow</code> packages and <code>Tensorflow</code> version <code>&gt;= 2.0.0</code> (<code>Tensorflow 1.x</code> will not be supported!)</p> <h2>YOLOv3 bounding box prediction with pre-trained COCO weights:</h2> <p>To create <code>YOLOv3</code> architecture use:</p> <pre><code class="language-r">library(tidyverse) library(platypus) library(abind) test_yolo &lt;- yolo3( net_h = 416, # Input image height. Must be divisible by 32 net_w = 416, # Input image width. Must be divisible by 32 grayscale = FALSE, # Should images be loaded as grayscale or RGB n_class = 80, # Number of object classes (80 for COCO dataset) anchors = coco_anchors # Anchor boxes ) test_yolo #&gt; Model #&gt; Model: "yolo3" #&gt; ________________________________________________________________________________ #&gt; Layer (type) Output Shape Param # Connected to #&gt; ================================================================================ #&gt; input_img (InputLayer) [(None, 416, 416, 0 #&gt; ________________________________________________________________________________ #&gt; darknet53 (Model) multiple 40620640 input_img[0][0] #&gt; ________________________________________________________________________________ #&gt; yolo3_conv1 (Model) (None, 13, 13, 51 11024384 darknet53[1][2] #&gt; ________________________________________________________________________________ #&gt; yolo3_conv2 (Model) (None, 26, 26, 25 2957312 yolo3_conv1[1][0] #&gt; darknet53[1][1] #&gt; ________________________________________________________________________________ #&gt; yolo3_conv3 (Model) (None, 52, 52, 12 741376 yolo3_conv2[1][0] #&gt; darknet53[1][0] #&gt; ________________________________________________________________________________ #&gt; grid1 (Model) (None, 13, 13, 3, 4984063 yolo3_conv1[1][0] #&gt; ________________________________________________________________________________ #&gt; grid2 (Model) (None, 26, 26, 3, 1312511 yolo3_conv2[1][0] #&gt; ________________________________________________________________________________ #&gt; grid3 (Model) (None, 52, 52, 3, 361471 yolo3_conv3[1][0] #&gt; ================================================================================ #&gt; Total params: 62,001,757 #&gt; Trainable params: 61,949,149 #&gt; Non-trainable params: 52,608 #&gt; ________________________________________________________________________________ </code></pre> <p>You can now load <a href="https://pjreddie.com/darknet/yolo/">YOLOv3 Darknet</a> weights trained on <a href="https://cocodataset.org/#home">COCO dataset</a>. Download pre-trained weights from <a href="https://pjreddie.com/media/files/yolov3.weights">here</a> and run:</p> <pre><code class="language-r">test_yolo %&gt;% load_darknet_weights("development/yolov3.weights") </code></pre> <p>Calculate predictions for new images:</p> <pre><code class="language-r">test_img_paths &lt;- list.files(system.file("extdata", "images", package = "platypus"), full.names = TRUE, pattern = "coco") test_imgs &lt;- test_img_paths %&gt;% map(~ { image_load(., target_size = c(416, 416), grayscale = FALSE) %&gt;% image_to_array() %&gt;% `/`(255) }) %&gt;% abind(along = 4) %&gt;% aperm(c(4, 1:3)) test_preds &lt;- test_yolo %&gt;% predict(test_imgs) str(test_preds) #&gt; List of 3 #&gt; $ : num [1:2, 1:13, 1:13, 1:3, 1:85] 0.294 0.478 0.371 1.459 0.421 ... #&gt; $ : num [1:2, 1:26, 1:26, 1:3, 1:85] -0.214 1.093 -0.092 2.034 -0.286 ... #&gt; $ : num [1:2, 1:52, 1:52, 1:3, 1:85] 0.242 -0.751 0.638 -2.419 -0.282 ... </code></pre> <p>Transform raw predictions into bounding boxes:</p> <pre><code class="language-r">test_boxes &lt;- get_boxes( preds = test_preds, # Raw predictions form YOLOv3 model anchors = coco_anchors, # Anchor boxes labels = coco_labels, # Class labels obj_threshold = 0.6, # Object threshold nms = TRUE, # Should non-max suppression be applied nms_threshold = 0.6, # Non-max suppression threshold correct_hw = FALSE # Should height and width of bounding boxes be corrected to image height and width ) test_boxes #&gt; [[1]] #&gt; # A tibble: 8 x 7 #&gt; xmin ymin xmax ymax p_obj label_id label #&gt; &lt;dbl&gt; &lt;dbl&gt; &lt;dbl&gt; &lt;dbl&gt; &lt;dbl&gt; &lt;int&gt; &lt;chr&gt; #&gt; 1 0.207 0.718 0.236 0.865 0.951 1 person #&gt; 2 0.812 0.758 0.846 0.868 0.959 1 person #&gt; 3 0.349 0.702 0.492 0.884 1.00 3 car #&gt; 4 0.484 0.543 0.498 0.558 0.837 3 car #&gt; 5 0.502 0.543 0.515 0.556 0.821 3 car #&gt; 6 0.439 0.604 0.469 0.643 0.842 3 car #&gt; 7 0.541 0.554 0.667 0.809 0.999 6 bus #&gt; 8 0.534 0.570 0.675 0.819 0.954 7 train #&gt; #&gt; [[2]] #&gt; # A tibble: 3 x 7 #&gt; xmin ymin xmax ymax p_obj label_id label #&gt; &lt;dbl&gt; &lt;dbl&gt; &lt;dbl&gt; &lt;dbl&gt; &lt;dbl&gt; &lt;int&gt; &lt;chr&gt; #&gt; 1 0.0236 0.0705 0.454 0.909 1.00 23 zebra #&gt; 2 0.290 0.206 0.729 0.901 0.997 23 zebra #&gt; 3 0.486 0.407 0.848 0.928 1.00 23 zebra </code></pre> <p>Plot / save images:</p> <pre><code class="language-r">plot_boxes( images_paths = test_img_paths, # Images paths boxes = test_boxes, # Bounding boxes correct_hw = TRUE, # Should height and width of bounding boxes be corrected to image height and width labels = coco_labels # Class labels ) </code></pre> <p><img src="https://raw.githubusercontent.com/maju116/platypus/master/man/figures/README-unnamed-chunk-8-1.png" alt=""><img src="https://raw.githubusercontent.com/maju116/platypus/master/man/figures/README-unnamed-chunk-8-2.png" alt=""></p> <h2>YOLOv3 Object detection with custom dataset:</h2> <p>Download images and annotations: <a href="https://www.kaggle.com/surajiiitm/bccd-dataset?">BCCD dataset</a></p> <p>Generate custom anchor boxes:</p> <pre><code class="language-r">library(tidyverse) library(platypus) library(abind) BCCD_path &lt;- "development/BCCD/" annot_path &lt;- file.path(BCCD_path, "Annotations/") blood_labels &lt;- c("Platelets", "RBC", "WBC") n_class &lt;- length(blood_labels) net_h &lt;- 416 # Must be divisible by 32 net_w &lt;- 416 # Must be divisible by 32 anchors_per_grid &lt;- 3 blood_anchors &lt;- generate_anchors( anchors_per_grid = anchors_per_grid, # Number of anchors (per one grid) to generate annot_path = annot_path, # Annotations directory labels = blood_labels, # Class labels n_iter = 10, # Number of k-means++ iterations annot_format = "pascal_voc", # Annotations format seed = 55, # Random seed centroid_fun = mean # Centroid function ) #&gt; label n #&gt; 1 Platelets 361 #&gt; 2 RBC 4153 #&gt; 3 WBC 372 </code></pre> <p><img src="https://raw.githubusercontent.com/maju116/platypus/master/man/figures/README-unnamed-chunk-9-1.png" alt=""></p> <pre><code class="language-r">blood_anchors #&gt; [[1]] #&gt; [[1]][[1]] #&gt; [1] 0.3552235 0.4417515 #&gt; #&gt; [[1]][[2]] #&gt; [1] 0.2911290 0.3292675 #&gt; #&gt; [[1]][[3]] #&gt; [1] 0.1971296 0.2346442 #&gt; #&gt; #&gt; [[2]] #&gt; [[2]][[1]] #&gt; [1] 0.1757463 0.1592062 #&gt; #&gt; [[2]][[2]] #&gt; [1] 0.1652637 0.2065506 #&gt; #&gt; [[2]][[3]] #&gt; [1] 0.1630269 0.2439239 #&gt; #&gt; #&gt; [[3]] #&gt; [[3]][[1]] #&gt; [1] 0.1391842 0.1769376 #&gt; #&gt; [[3]][[2]] #&gt; [1] 0.1245985 0.2258089 #&gt; #&gt; [[3]][[3]] #&gt; [1] 0.06237392 0.08062560 </code></pre> <p>Build <code>YOLOv3</code> model and compile it with correct loss and metric:</p> <pre><code class="language-r">blood_yolo &lt;- yolo3( net_h = net_h, # Input image height net_w = net_w, # Input image width grayscale = FALSE, # Should images be loaded as grayscale or RGB n_class = n_class, # Number of object classes (80 for COCO dataset) anchors = blood_anchors # Anchor boxes ) blood_yolo %&gt;% load_darknet_weights("development/yolov3.weights") # Optional blood_yolo %&gt;% compile( optimizer = optimizer_adam(lr = 1e-5), loss = yolo3_loss(blood_anchors, n_class = n_class), metrics = yolo3_metrics(blood_anchors, n_class = n_class) ) </code></pre> <p>Create data generators:</p> <pre><code class="language-r">train_blood_yolo_generator &lt;- yolo3_generator( annot_path = file.path(BCCD_path, "train", "Annotations/"), images_path = file.path(BCCD_path, "train", "JPEGImages/"), net_h = net_h, net_w = net_w, batch_size = 16, shuffle = FALSE, labels = blood_labels ) #&gt; 291 images with corresponding annotations detected! #&gt; Set 'steps_per_epoch' to: 19 valid_blood_yolo_generator &lt;- yolo3_generator( annot_path = file.path(BCCD_path, "valid", "Annotations/"), images_path = file.path(BCCD_path, "valid", "JPEGImages/"), net_h = net_h, net_w = net_w, batch_size = 16, shuffle = FALSE, labels = blood_labels ) #&gt; 69 images with corresponding annotations detected! #&gt; Set 'steps_per_epoch' to: 5 </code></pre> <p>Fit the model:</p> <pre><code class="language-r">blood_yolo %&gt;% fit_generator( generator = blood_yolo_generator, epochs = 1000, steps_per_epoch = 19, validation_data = valid_blood_yolo_generator, validation_steps = 5, callbacks = list(callback_model_checkpoint("development/BCCD/blood_w.hdf5", save_best_only = TRUE, save_weights_only = TRUE) ) ) </code></pre> <p>Predict on new images:</p> <pre><code class="language-r">blood_yolo &lt;- yolo3( net_h = net_h, net_w = net_w, grayscale = FALSE, n_class = n_class, anchors = blood_anchors ) blood_yolo %&gt;% load_model_weights_hdf5("development/BCCD/blood_w.hdf5") test_blood_yolo_generator &lt;- yolo3_generator( annot_path = file.path(BCCD_path, "test", "Annotations/"), images_path = file.path(BCCD_path, "test", "JPEGImages/"), net_h = net_h, net_w = net_w, batch_size = 4, shuffle = FALSE, labels = blood_labels ) #&gt; 4 images with corresponding annotations detected! #&gt; Set 'steps_per_epoch' to: 1 test_preds &lt;- predict_generator(blood_yolo, test_blood_yolo_generator, 1) test_boxes &lt;- get_boxes(test_preds, blood_anchors, blood_labels, obj_threshold = 0.6) plot_boxes( images_paths = list.files(file.path(BCCD_path, "test", "JPEGImages/"), full.names = TRUE), boxes = test_boxes, labels = blood_labels) </code></pre> <p><img src="https://raw.githubusercontent.com/maju116/platypus/master/man/figures/README-unnamed-chunk-13-1.png" alt=""><img src="https://raw.githubusercontent.com/maju116/platypus/master/man/figures/README-unnamed-chunk-13-2.png" alt=""><img src="https://raw.githubusercontent.com/maju116/platypus/master/man/figures/README-unnamed-chunk-13-3.png" alt=""><img src="https://raw.githubusercontent.com/maju116/platypus/master/man/figures/README-unnamed-chunk-13-4.png" alt=""></p> <p>See full example <a href="https://github.com/maju116/platypus/raw/master/examples/Blood%20Cell%20Detection/Blood-Cell-Detection.md">here</a></p> <h2>U-Net image segmentation with custom dataset:</h2> <p>Build <code>U-Net</code> model and compile it with correct loss and metric:</p> <pre><code class="language-r">library(tidyverse) library(platypus) library(abind) train_DCB2018_path &lt;- "development/data-science-bowl-2018/stage1_train" test_DCB2018_path &lt;- "development/data-science-bowl-2018/stage1_test" blocks &lt;- 4 # Number of U-Net convolutional blocks n_class &lt;- 2 # Number of classes net_h &lt;- 256 # Must be in a form of 2^N net_w &lt;- 256 # Must be in a form of 2^N DCB2018_u_net &lt;- u_net( net_h = net_h, net_w = net_w, grayscale = FALSE, blocks = blocks, n_class = n_class, filters = 16, dropout = 0.1, batch_normalization = TRUE, kernel_initializer = "he_normal" ) DCB2018_u_net %&gt;% compile( optimizer = optimizer_adam(lr = 1e-3), loss = loss_dice(), metrics = metric_dice_coeff() ) </code></pre> <p>Create data generator:</p> <pre><code class="language-r">train_DCB2018_generator &lt;- segmentation_generator( path = train_DCB2018_path, # directory with images and masks mode = "nested_dirs", # Each image with masks in separate folder colormap = binary_colormap, only_images = FALSE, net_h = net_h, net_w = net_w, grayscale = FALSE, scale = 1 / 255, batch_size = 32, shuffle = TRUE, subdirs = c("images", "masks") # Names of subdirs with images and masks ) #&gt; 670 images with corresponding masks detected! #&gt; Set 'steps_per_epoch' to: 21 </code></pre> <p>Fit the model:</p> <pre><code class="language-r">history &lt;- DCB2018_u_net %&gt;% fit_generator( train_DCB2018_generator, epochs = 20, steps_per_epoch = 21, callbacks = list(callback_model_checkpoint( "development/data-science-bowl-2018/DSB2018_w.hdf5", save_best_only = TRUE, save_weights_only = TRUE, monitor = "dice_coeff", mode = "max", verbose = 1) ) ) </code></pre> <p>Predict on new images:</p> <pre><code class="language-r">DCB2018_u_net &lt;- u_net( net_h = net_h, net_w = net_w, grayscale = FALSE, blocks = blocks, filters = 16, dropout = 0.1, batch_normalization = TRUE, kernel_initializer = "he_normal" ) DCB2018_u_net %&gt;% load_model_weights_hdf5("development/data-science-bowl-2018/DSB2018_w.hdf5") test_DCB2018_generator &lt;- segmentation_generator( path = test_DCB2018_path, mode = "nested_dirs", colormap = binary_colormap, only_images = TRUE, net_h = net_h, net_w = net_w, grayscale = FALSE, scale = 1 / 255, batch_size = 32, shuffle = FALSE, subdirs = c("images", "masks") ) #&gt; 65 images detected! #&gt; Set 'steps_per_epoch' to: 3 test_preds &lt;- predict_generator(DCB2018_u_net, test_DCB2018_generator, 3) test_masks &lt;- get_masks(test_preds, binary_colormap) </code></pre> <p>Plot / save images with masks:</p> <pre><code class="language-r">test_imgs_paths &lt;- create_images_masks_paths(test_DCB2018_path, "nested_dirs", FALSE, c("images", "masks"), ";")$images_paths plot_masks( images_paths = test_imgs_paths[1:4], masks = test_masks[1:4], labels = c("background", "nuclei"), colormap = binary_colormap ) </code></pre> <p><img src="https://raw.githubusercontent.com/maju116/platypus/master/man/figures/README-unnamed-chunk-18-1.png" alt=""><img src="https://raw.githubusercontent.com/maju116/platypus/master/man/figures/README-unnamed-chunk-18-2.png" alt=""><img src="https://raw.githubusercontent.com/maju116/platypus/master/man/figures/README-unnamed-chunk-18-3.png" alt=""><img src="https://raw.githubusercontent.com/maju116/platypus/master/man/figures/README-unnamed-chunk-18-4.png" alt=""></p> <p>See full example <a href="https://github.com/maju116/platypus/raw/master/examples/2018%20Data%20Science%20Bowl/2018-Data-Science-Bowl.md">here</a></p> - dankelley/oce - 2023-10-22T01:40:50Z - tag:github.com,2023-10-22:/dankelley/oce - - <p>R package for oceanographic processing</p><hr><h1>oce <img src="https://raw.githubusercontent.com/dankelley/oce/develop/oce-logo-3.png" align="right" height="95"></h1> <!-- badges: start --> <p><a href="https://cran.r-project.org/package=oce"><img src="https://www.r-pkg.org/badges/version/oce" alt="CRAN_Status_Badge"></a> <a href="https://joss.theoj.org/papers/10.21105/joss.03594"><img src="https://joss.theoj.org/papers/10.21105/joss.03594/status.svg?sanitize=true" alt="status"></a> <a href="https://www.repostatus.org/"><img src="http://www.repostatus.org/badges/latest/active.svg?sanitize=true" alt="Project Status: Active – The project has reached a stable, usable state and is being actively developed."></a> <a href="https://img.shields.io/github/last-commit/dankelley/oce"><img src="https://img.shields.io/github/last-commit/dankelley/oce" alt="GitHub last commit"></a> <a href="https://github.com/dankelley/oce/actions/workflows/R-CMD-check.yaml"><img src="https://github.com/dankelley/oce/actions/workflows/R-CMD-check.yaml/badge.svg?sanitize=true" alt="R-CMD-check"></a> <img src="https://cranlogs.r-pkg.org/badges/last-month/oce" alt="RStudio CRAN mirror downloads"> <img src="https://cranlogs.r-pkg.org/badges/last-week/oce" alt="RStudio CRAN mirror downloads"> <img src="https://cranlogs.r-pkg.org/badges/last-day/oce" alt="RStudio CRAN mirror downloads"> <img src="https://cranlogs.r-pkg.org/badges/grand-total/oce" alt="RStudio CRAN mirror downloads"></p> <!-- badges: end --> <h2>Why use R for oceanographic analysis?</h2> <p>The R language is popular in many branches of science, and Oceanography is no exception. With its broad statistical support, R is a natural choice for oceanographers in the biological, chemical and geological sub-disciplines. However, some physical oceanographers have remained attached to Matlab, which was widely adopted during the 1990s. Lately, this has been changing, as oceanographers turn to open-source systems such as Python and R. A particular strength of R is its provision of many powerful and well-vetted packages for handling specialized calculations. The oce package is a prime example.</p> <h2>What the oce package provides</h2> <p>The oce package handles a wide variety of tasks that come up in the analysis of Oceanographic data. In addition to the present README file, a brief sketch of the package has been written by the core developers (Kelley Dan E., Clark Richards and Chantelle Layton, 2022. <a href="https://doi.org/10.21105/joss.03594">oce: an R package for Oceanographic Analysis</a>. Journal of Open Source Software, 7(71), 3594), and the primary developer uses the package extensively in his book about the place of R in oceanographic analysis (Kelley, Dan E., 2018. <a href="https://link.springer.com/book/10.1007/978-1-4939-8844-0">Oceanographic Analysis with R</a>. New York. Springer-Verlag ISBN 978-1-4939-8844-0). Details of oce functions are provided within the R help system, and in the package <a href="https://dankelley.github.io/oce/">webpage</a>.</p> <h2>Installing oce</h2> <p>Stable versions of oce are available from CRAN, and may be installed from within R, in the same way as other packages. However, the CRAN version is only updated a few times a year (pursuant to policy), so many users install the <code>"develop"</code> branch instead. This branch may be updated several times per day, as the authors fix bugs or add features that are motivated by day-to-day usage. This is the branch favoured by users who need new features or who would wish to contribute to Oce development.</p> <p>The easy way to install the <code>"develop"</code> branch is to execute the following commands in R.</p> <pre><code>remotes::install_github("dankelley/oce", ref="develop") </code></pre> <p>and most readers should also install Ocedata, with</p> <pre><code>remotes::install_github("dankelley/ocedata", ref="main") </code></pre> <h2>Evolution of oce</h2> <p>Oce is emphatically an open-source system, and so the participation of users is very important. This is why Git is used for version control of the Oce source code, and why GitHub is the host for that code. Users are invited to take part in the development process, by suggesting features, by reporting bugs, or just by watching as others do such things. Oceanography is a collaborative discipline, so it makes sense that the evolution of Oce be similarly collaborative.</p> <h2>Examples using built-in datasets</h2> <h3>CTD</h3> <pre><code>library(oce) data(ctd) plot(ctd, which=c(1,2,3,5), type="l", span=150) </code></pre> <p><img src="https://raw.githubusercontent.com/dankelley/oce/develop/oce-demo-1.png" alt="Sample CTD plot."></p> <h3>Acoustic Doppler profiler</h3> <pre><code>library(oce) data(adp) plot(adp) </code></pre> <p><img src="https://raw.githubusercontent.com/dankelley/oce/develop/oce-demo-2.png" alt="Sample adp plot."></p> <h3>Sealevel and tides</h3> <pre><code>library(oce) data(sealevel) m &lt;- tidem(sealevel) par(mfrow=c(2, 1)) plot(sealevel, which=1) plot(m) </code></pre> <p><img src="https://raw.githubusercontent.com/dankelley/oce/develop/oce-demo-3.png" alt="Sample sealevel plot."></p> <h3>Echosounder</h3> <pre><code>library(oce) data(echosounder) plot(echosounder, which=2, drawTimeRange=TRUE, drawBottom=TRUE) </code></pre> <p><img src="https://raw.githubusercontent.com/dankelley/oce/develop/oce-demo-4.png" alt="Sample echosounder plot."></p> <h3>Map</h3> <pre><code>library(oce) par(mar=rep(0.5, 4)) data(endeavour, package="ocedata") data(coastlineWorld, package="oce") mapPlot(coastlineWorld, col="gray") mapPoints(endeavour$longitude, endeavour$latitude, pch=20, col="red") </code></pre> <p><img src="https://raw.githubusercontent.com/dankelley/oce/develop/oce-demo-5.png" alt="Sample map plot."></p> <h3>Landsat image</h3> <pre><code>library(ocedata) library(oce) data(landsat) plot(landsat) </code></pre> <p><img src="https://raw.githubusercontent.com/dankelley/oce/develop/oce-demo-6.png" alt="Sample landsat image plot."></p> + ohdsi-studies/HowOften + 2023-10-23T01:38:26Z + tag:github.com,2023-10-23:/ohdsi-studies/HowOften + + <p>[under development] Large-scale incidence characterization</p><hr><h2>How Often: An Incidence Analysis for a series of OHDSI Community Submissions</h2> <img src="https://img.shields.io/badge/Study%20Status-Design%20Finalized-brightgreen.svg?sanitize=true" alt="Study Status: Design Finalized"> <ul> <li>Analytics use case(s): <strong>Characterization</strong></li> <li>Study type: <strong>Clinical Application</strong></li> <li>Tags: <strong>Incidence</strong></li> <li>Study lead: <strong>George Hripcsak</strong></li> <li>Study lead forums tag: <strong><a href="https://forums.ohdsi.org/u/hripcsa">hripcsa</a></strong></li> <li>Study start date: <strong>August 2023</strong></li> <li>Study end date: <strong>-</strong></li> <li>Protocol: <a href="https://github.com/ohdsi-studies/HowOften/raw/master/Documents/HowOften%20protocol%20v1.0.pdf">HowOften Study Protocol</a></li> <li>Publications: <strong>None</strong></li> <li>Results explorer: <strong><a href="https://results.ohdsi.org/">ShinyApp Explorer</a></strong></li> </ul> <h2>Overview</h2> <p>How Often is a Large-Scale Characterization analysis to compute incidence for a broad collection of target populations and outcomes across the OHDSI network. Incidence analyses can be framed as: "Amongst patients who are <em>insert your favorite target cohort i</em>, how many patients experienced <em>insert your favorite outcome j</em> within <em>time horizon relative to target start</em>?", and HowOften aims to systematically apply this analysis to range of target cohorts, outcome cohorts, and time horizons, to address an array of clinical questions that incidence evidence can inform.</p> <h2>Getting Started</h2> <p>There are 3 parts to executing the study: Pre-Configuration (to get base R libraries set up), Keyring Setup and finally Analysis Execution.</p> <h3>Pre-Configuration</h3> <p>HowOften requires:</p> <ul> <li>R v4.2 (Preferably 4.2.3)</li> <li>DatabaseConnector &gt;= 6.2.3</li> <li>Strategus v0.1.0</li> <li>Cohortgenerator v0.8.1</li> </ul> <p>DatabaseConnector may have challenges to updating if already installed as a Package. Either update the package in a R CLI (outside of RStudio) or use <code>unloadNamespace()</code> to remove DatabaseConnector from memory. Execute the following to install these packages:</p> <pre><code> install.packages("DatabaseConnector") remotes::install_github("OHDSI/Strategus", ref="v0.1.0") remotes::install_github("OHDSI/CohortGenerator", ref="v0.8.1") </code></pre> <h3>Keyring Setup</h3> <p>This repository provides a <a href="https://raw.githubusercontent.com/ohdsi-studies/HowOften/master/keyringSetup.R">keyringSetup.R</a> script that provides initialization scripts to set up your R environment and register connection details as <code>connection refs</code> for use in Strategus.</p> <p><strong>Part 1</strong> is to ensure your environment has 2 environment variables:</p> <ul> <li>STRATEGUS_KEYRING_PASSWORD: used to unlock your Strategus keyring.</li> <li>INSTANTIATED_MODULES_FOLDER: a shared folder location that is used to download and cache Strategus Modules.</li> </ul> <pre><code>install.packages("keyring") if (Sys.getenv("STRATEGUS_KEYRING_PASSWORD") == "") { # set keyring password by adding STRATEGUS_KEYRING_PASSWORD='sos' to renviron usethis::edit_r_environ() # then add STRATEGUS_KEYRING_PASSWORD='yourPassword', save and close # Restart your R Session to confirm it worked stop("Please add STRATEGUS_KEYRING_PASSWORD='yourPassword' to your .Renviron file via usethis::edit_r_environ() as instructed, save and then restart R session") } if (Sys.getenv("INSTANTIATED_MODULES_FOLDER") == "") { # set a env var to a path to cache Strategus modules usethis::edit_r_environ() # then add INSTANTIATED_MODULES_FOLDER='path/to/module/cache', save and close # Restart your R Session to confirm it worked stop("Please add INSTANTIATED_MODULES_FOLDER='{path to module cache folder}' to your .Renviron file via usethis::edit_r_environ() as instructed, save and then restart R session") } </code></pre> <p><strong>Part 2</strong> is where you will instantiate your connection details in memory, and test connectivity:</p> <pre><code># Provide your environment specific values ------ connectionDetails &lt;- NULL # fetch/create your own connection details here connectionDetailsReference &lt;- "mYDatasourceKey" # short abbreviation that describes these connection details # test the connection conn &lt;- DatabaseConnector::connect(connectionDetails) DatabaseConnector::disconnect(conn) </code></pre> <p>In the above, you will assign connectionDetails in your r environment through your own script.</p> <p><strong>Please change the value of <code>myDatasourceKey</code> to a short, meaningful label for this cdm source.</strong></p> <p><strong>Part 3</strong> is to create your Keyring if it does not exist:</p> <pre><code># Create the keyring if it does not exist. allKeyrings &lt;- keyring::keyring_list() if (!(keyringName %in% allKeyrings$keyring)) { keyring::keyring_create(keyring = keyringName, password = Sys.getenv("STRATEGUS_KEYRING_PASSWORD")) } else { stop("Keyring already exists. You do not need to create it again.") } </code></pre> <p><strong>Part 4</strong> will store your connection details into your keyring:</p> <pre><code># excecute this for each connectionDetails/ConnectionDetailsReference you are going to use Strategus::storeConnectionDetails( connectionDetails = connectionDetails, connectionDetailsReference = connectionDetailsReference, keyringName = keyringName ) </code></pre> <h3>Executing the Analysis</h3> <p>The <a href="https://raw.githubusercontent.com/ohdsi-studies/HowOften/master/StrategusCodeToRun.R">StrategusCodeToRun.R</a> contains the script that will perform the execution of the 7 individual analyes in HowOften:</p> <p><strong>Part 1</strong> sets up variables that will be used as input to execution:</p> <pre><code>##=========== START OF INPUTS ========== keyringName &lt;- "HowOften" connectionDetailsReference &lt;- "mYDatasourceKey" workDatabaseSchema &lt;- 'writable_schema' cdmDatabaseSchema &lt;- 'cdm_schema' outputLocation &lt;- '{path/to/Strategus/Output}' resultsLocation &lt;- '{path/to/Strategus/Results}' minCellCount &lt;- 5 # set this to a value where you want to censor small cells cohortTableName &lt;- "howoften_cohort" </code></pre> <p>Note: the outputLocation will be reused between analysis exeuctions to cache cohort generation info. Each analysis execution will copy from the <code>outputLocation</code> to the <code>resultsLocation</code> under the directory dedicated to the individual studies. The <code>resultsLocation</code> folder will be zipped and submitted for inclusion in the ShinyApp viewer.</p> <p><strong>Please change the value of <code>myDatasourceKey</code> to a short, meaningful label for this cdm source. This must be the same value that was use dwhen executing SetupKeyring.R</strong></p> <p><strong>Part 2</strong> sets up execution settings and creates the helper function to execute the analysis and copy results to the result folder:</p> <pre><code>################################## # DO NOT MODIFY BELOW THIS POINT ################################## executionSettings &lt;- Strategus::createCdmExecutionSettings( connectionDetailsReference = connectionDetailsReference, workDatabaseSchema = workDatabaseSchema, cdmDatabaseSchema = cdmDatabaseSchema, cohortTableNames = CohortGenerator::getCohortTableNames(cohortTable = cohortTableName), workFolder = file.path(outputLocation, connectionDetailsReference, "strategusWork"), resultsFolder = file.path(outputLocation, connectionDetailsReference, "strategusOutput"), minCellCount = minCellCount ) executeAnalysis &lt;- function(analysisFile, executionSettings, analysisName, outputLocation, resultsLocation, keyringName) { analysisSpecifications &lt;- ParallelLogger::loadSettingsFromJson( fileName = analysisFile ) Strategus::execute( analysisSpecifications = analysisSpecifications, executionSettings = executionSettings, executionScriptFolder = file.path(outputLocation, connectionDetailsReference, "strategusExecution"), keyringName = keyringName ) # copy Results to final location resultsDir &lt;- file.path(resultsLocation, analysisName, connectionDetailsReference) if (dir.exists(resultsDir)) { unlink(resultsDir, recursive = TRUE) } dir.create(file.path(resultsDir), recursive = TRUE) file.copy(file.path(outputLocation, connectionDetailsReference, "strategusOutput"), file.path(resultsDir), recursive = TRUE) return(NULL) } </code></pre> <p><strong>Part 3</strong> executes the individual HowOften analyses:</p> <pre><code># Step 1 : Execute Azza Analysis executeAnalysis("howoften_azza.json", executionSettings, "azza", outputLocation, resultsLocation, keyringName) # Step 2 : Execute Andreas Analysis executeAnalysis("howoften_andreas.json", executionSettings, "andreas", outputLocation, resultsLocation, keyringName) # Step 3, Joel Analysis executeAnalysis("howoften_joel.json", executionSettings, "joel", outputLocation, resultsLocation, keyringName) # step 4, Evan analysis executeAnalysis("howoften_evan.json", executionSettings, "evan", outputLocation, resultsLocation, keyringName) # step 5, gowza analysis executeAnalysis("howoften_gowza.json", executionSettings, "gowza", outputLocation, resultsLocation, keyringName) # step 6, overall analysis executeAnalysis("howoften_overall.json", executionSettings, "overall", outputLocation, resultsLocation, keyringName) # step 7, george analysis executeAnalysis("howoften_george.json", executionSettings, "george", outputLocation, resultsLocation, keyringName) </code></pre> <h3>Submitting Results</h3> <p>Once the analyses executions are complete (not all are required to be completed, some analyses are very large and may not be completed in time for the OHDSI Symposium), the Results folder is zipped and submitted to an FTP location for processing. Results that are properlly submitted and formatted will be uploaded to OHDSI servers and will be available on <a href="https://results.ohdsi.org/">results.ohdsi.org</a></p> + + + 5vxssbdahves/General-R-Scripts + 2023-10-23T01:38:26Z + tag:github.com,2023-10-23:/5vxssbdahves/General-R-Scripts + + <p></p><hr> \ No newline at end of file diff --git a/r/weekly/index.xml b/r/weekly/index.xml deleted file mode 100644 index 5fdd309719b..00000000000 --- a/r/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub R Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:59:57Z - Weekly Trending of R in GitHub - - - kozaka93/2023Z-DataVisualizationTechniques - 2023-10-22T01:59:57Z - tag:github.com,2023-10-22:/kozaka93/2023Z-DataVisualizationTechniques - - <p>📊 Data Visualization Techniques course for DS studies in Winter 2023/24</p><hr><h1>Data Visualization Techniques</h1> <p>Winter Semester 2023/24 <a href="https://github.com/kozaka93">@kozaka93</a> <a href="https://github.com/krzyzinskim">@krzyzinskim</a> <a href="https://github.com/mikolajsp">@mikolajsp</a> <a href="https://github.com/woznicak">@woznicak</a></p> <p>Previous: <a href="https://github.com/MI2-Education/2023Z-DataVisualizationTechniques">Winter Semester 2022/23</a></p> <h2>Schedule</h2> <div class="tg-wrap"> <table style="undefined;table-layout: fixed; width: 865px"> <colgroup> <col style="width: 25px"> <col style="width: 80px"> <col style="width: 250px"> <col style="width: 250px"> <col style="width: 160px"> <col style="width: 100px"> </colgroup> <tbody> <tr> <td><b>#</b></td> <td><b>Month-Day</b></td> <td><b>Lecture</b></td> <td><b>Lab</b></td> <td><b>Project</b></td> <td><b>Points</b></td> </tr> <tr> <td rowspan="2">1</td> <td rowspan="2">10-05</td> <td rowspan="2"><a href="https://github.com/kozaka93/2023Z-DataVisualizationTechniques/raw/main/lectures/L1-course-introduction.pdf">Course introduction, </a><a href="https://github.com/kozaka93/2023Z-DataVisualizationTechniques/raw/main/lectures/L1-Intro.pdf">data types, visualization tools</a></td> <td rowspan="2"><a href="https://github.com/kozaka93/2023Z-DataVisualizationTechniques/tree/main/labs/lab1">R: review: proton, GitHub</a></td> <td rowspan="2"><a href="https://github.com/kozaka93/2023Z-DataVisualizationTechniques/tree/main/projects/project1">Introducing P1</a></td> <td rowspan="2"></td> </tr> <tr> </tr> <tr> <td rowspan="2">2</td> <td rowspan="2">10-12</td> <td rowspan="2"><a href="https://github.com/kozaka93/2023Z-DataVisualizationTechniques/raw/main/lectures/L2-gramatyka.pdf">The Grammar of Graphics</a></td> <td rowspan="2"><a href="https://github.com/kozaka93/2023Z-DataVisualizationTechniques/tree/main/labs/lab2">R: dplyr, tidyr, forcats</a></td> <td rowspan="2">Group work</td> <td rowspan="2">P1 (1p)</td> </tr> <tr> </tr> <tr> <td rowspan="2">3</td> <td rowspan="2">10-19</td> <td rowspan="2"><a href="https://github.com/kozaka93/2023Z-DataVisualizationTechniques/raw/main/lectures/L3-kolory-skale.pdf">Colors and scales</a></td> <td rowspan="2"><a href="https://github.com/kozaka93/2023Z-DataVisualizationTechniques/tree/main/labs/lab3">R: ggplot2 - introduction</a></td> <td rowspan="2">Consultations</td> <td rowspan="2"><a href="https://github.com/kozaka93/2023Z-DataVisualizationTechniques/issues/69">HW1 </a>(6p)</td> </tr> <tr> </tr> <tr> <td rowspan="2">4</td> <td rowspan="2">11-02</td> <td rowspan="2">Don't do this at home</td> <td rowspan="2">R: ggplot2 - plot modification, theme, facets</td> <td rowspan="2">Data exploration &amp; First visualizations</td> <td rowspan="2">P1 (2p)</td> </tr> <tr> </tr> <tr> <td rowspan="2">5</td> <td rowspan="2">11-09</td> <td rowspan="2">Maps - is it so complicated?</td> <td rowspan="2">R: ggplot2 - advanced, extensions: patchwork, ggrepel, ggpubr</td> <td rowspan="2">Advanced visualizations &amp; Prototype</td> <td rowspan="2">P1 (2p)<br>HW2 (6p)</td> </tr> <tr> </tr> <tr> <td rowspan="2">6</td> <td rowspan="2">11-16</td> <td rowspan="2">Hans Rosling: The best stats you've ever seen, Let my dataset change your mindset <br>Alberto Cairo: How Charts Lie</td> <td rowspan="2">R: maps</td> <td rowspan="2">Consultations</td> <td rowspan="2"></td> </tr> <tr> </tr> <tr> <td rowspan="2">7</td> <td rowspan="2">11-23</td> <td rowspan="2">Presentation of P1</td> <td rowspan="2">R: plotly - interactive visualization</td> <td rowspan="2">Presentation of P1</td> <td rowspan="2">HW3 (6p)<br>P1 (20p)</td> </tr> <tr> </tr> <tr> <td rowspan="2">8</td> <td rowspan="2">11-30</td> <td rowspan="2">Dashboard</td> <td rowspan="2">R: Shiny - introduction</td> <td rowspan="2">Introducing P2<br>Group work</td> <td rowspan="2">P2 (1p)</td> </tr> <tr> </tr> <tr> <td rowspan="2">9</td> <td rowspan="2">12-07</td> <td rowspan="2">User Friendly - rules of design</td> <td rowspan="2">R: Shiny - exercise</td> <td rowspan="2">Consultations</td> <td rowspan="2">HW4 (6p)</td> </tr> <tr> </tr> <tr> <td rowspan="2">10</td> <td rowspan="2">12-14</td> <td rowspan="2">History of Statistical Graphics</td> <td rowspan="2">R: Shiny - advanced</td> <td rowspan="2">Data analysis</td> <td rowspan="2">P2 (2p)</td> </tr> <tr> </tr> <tr> <td rowspan="2">11</td> <td rowspan="2">12-21</td> <td rowspan="2">The International Business Communication Standards</td> <td rowspan="2">Python: pandas, numpy, pandas.plot</td> <td rowspan="2">Consultations</td> <td rowspan="2"></td> </tr> <tr> </tr> <tr> <td rowspan="2">12</td> <td rowspan="2">01-04</td> <td rowspan="2">Other Data Visualization Tools</td> <td rowspan="2">Python: matplotlib, seaborn</td> <td rowspan="2">Consultations</td> <td rowspan="2">HW5 (6p)</td> </tr> <tr> </tr> <tr> <td rowspan="2">13</td> <td rowspan="2">01-11</td> <td rowspan="2">TBA</td> <td rowspan="2">Python: graphs + plotly</td> <td rowspan="2">Prototype</td> <td rowspan="2">P2 (2p)</td> </tr> <tr> </tr> <tr> <td rowspan="2">14</td> <td rowspan="2">01-18</td> <td rowspan="2">Test</td> <td rowspan="2">Python: matplotlib, seaborn - advanced</td> <td rowspan="2">Consultations</td> <td rowspan="2">HW6 (6p)<br>T (10p)</td> </tr> <tr> </tr> <tr> <td rowspan="2">15</td> <td rowspan="2">01-25</td> <td rowspan="2">Presentation of P2 (part 1)</td> <td rowspan="2">Python: EDA</td> <td rowspan="2">Presentation of P2 (part 2)</td> <td rowspan="2">P2 (24p)</td> </tr> <tr> </tr> </tbody> </table> </div> <h2>General rules and course assessment</h2> <p>You can obtain up to 100 points during the term, which will be assigned according to the following list:</p> <ul> <li>Projects (1 x 25 points, 1 x 29 points)</li> <li>Homeworks (6 x 6 points)</li> <li>Test (10 points)</li> </ul> <p>You need at least 51 points overall, in this at least 50% of points from each of the projects, in order to pass the course.</p> <p>The grades will be given according to the table:</p> <table> <thead> <tr> <th align="center">Grade</th> <th align="center"></th> <th align="center">3</th> <th align="center">3.5</th> <th align="center">4</th> <th align="center">4.5</th> <th align="center">5</th> </tr> </thead> <tbody> <tr> <td align="center">Score</td> <td align="center"></td> <td align="center">(50, 60]</td> <td align="center">(60, 70]</td> <td align="center">(70, 80]</td> <td align="center">(80, 90]</td> <td align="center">(90, ∞)</td> </tr> </tbody> </table> - - \ No newline at end of file diff --git a/racket/daily/index.xml b/racket/daily/index.xml index cf218a49c25..061c567953c 100644 --- a/racket/daily/index.xml +++ b/racket/daily/index.xml @@ -1,7 +1,7 @@ GitHub Racket Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:59Z + 2023-10-23T01:38:37Z Daily Trending of Racket in GitHub \ No newline at end of file diff --git a/racket/weekly/index.xml b/racket/weekly/index.xml deleted file mode 100644 index abb79968f3e..00000000000 --- a/racket/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Racket Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:08Z - Weekly Trending of Racket in GitHub - - \ No newline at end of file diff --git a/ragel/daily/index.xml b/ragel/daily/index.xml index e3f58a462dc..66f67842cde 100644 --- a/ragel/daily/index.xml +++ b/ragel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ragel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:58Z + 2023-10-23T01:38:39Z Daily Trending of Ragel in GitHub \ No newline at end of file diff --git a/ragel/weekly/index.xml b/ragel/weekly/index.xml deleted file mode 100644 index ad1c3d1f8d3..00000000000 --- a/ragel/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ragel Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:07Z - Weekly Trending of Ragel in GitHub - - \ No newline at end of file diff --git a/raku/daily/index.xml b/raku/daily/index.xml index 4db800bbd05..1ef08145ea3 100644 --- a/raku/daily/index.xml +++ b/raku/daily/index.xml @@ -1,7 +1,7 @@ GitHub Raku Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:40:57Z + 2023-10-23T01:38:40Z Daily Trending of Raku in GitHub \ No newline at end of file diff --git a/raku/weekly/index.xml b/raku/weekly/index.xml deleted file mode 100644 index 2ff1430e44c..00000000000 --- a/raku/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Raku Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:09Z - Weekly Trending of Raku in GitHub - - - kimryan/perl6-Lingua-EN-Sentence - 2023-10-22T02:00:09Z - tag:github.com,2023-10-22:/kimryan/perl6-Lingua-EN-Sentence - - <p>Perl6 Port of the Lingua::EN::Sentence CPAN module</p><hr> - - \ No newline at end of file diff --git a/raml/daily/index.xml b/raml/daily/index.xml index 60786c632d8..85e1a1db17b 100644 --- a/raml/daily/index.xml +++ b/raml/daily/index.xml @@ -1,7 +1,7 @@ GitHub RAML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:00Z + 2023-10-23T01:38:38Z Daily Trending of RAML in GitHub \ No newline at end of file diff --git a/raml/weekly/index.xml b/raml/weekly/index.xml deleted file mode 100644 index cbb33cd6211..00000000000 --- a/raml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RAML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:07Z - Weekly Trending of RAML in GitHub - - \ No newline at end of file diff --git a/rascal/daily/index.xml b/rascal/daily/index.xml index 53ffde23101..b761a4887d0 100644 --- a/rascal/daily/index.xml +++ b/rascal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Rascal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:01Z + 2023-10-23T01:38:43Z Daily Trending of Rascal in GitHub \ No newline at end of file diff --git a/rascal/weekly/index.xml b/rascal/weekly/index.xml deleted file mode 100644 index be626207c77..00000000000 --- a/rascal/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Rascal Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:12Z - Weekly Trending of Rascal in GitHub - - \ No newline at end of file diff --git a/raw-token-data/daily/index.xml b/raw-token-data/daily/index.xml index 8b3b66860d6..1725ac6a4fe 100644 --- a/raw-token-data/daily/index.xml +++ b/raw-token-data/daily/index.xml @@ -1,7 +1,7 @@ GitHub Raw token data Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:03Z + 2023-10-23T01:38:41Z Daily Trending of Raw token data in GitHub \ No newline at end of file diff --git a/raw-token-data/weekly/index.xml b/raw-token-data/weekly/index.xml deleted file mode 100644 index e7d160d1795..00000000000 --- a/raw-token-data/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Raw token data Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:11Z - Weekly Trending of Raw token data in GitHub - - \ No newline at end of file diff --git a/rdoc/daily/index.xml b/rdoc/daily/index.xml index 2f2daa1a66e..c5db6445944 100644 --- a/rdoc/daily/index.xml +++ b/rdoc/daily/index.xml @@ -1,7 +1,7 @@ GitHub RDoc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:03Z + 2023-10-23T01:38:44Z Daily Trending of RDoc in GitHub \ No newline at end of file diff --git a/rdoc/weekly/index.xml b/rdoc/weekly/index.xml deleted file mode 100644 index ac3d485f26f..00000000000 --- a/rdoc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RDoc Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:11Z - Weekly Trending of RDoc in GitHub - - \ No newline at end of file diff --git a/readline-config/daily/index.xml b/readline-config/daily/index.xml index b24abdf4acd..7aa2ec8ea1c 100644 --- a/readline-config/daily/index.xml +++ b/readline-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub Readline Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:05Z + 2023-10-23T01:38:46Z Daily Trending of Readline Config in GitHub \ No newline at end of file diff --git a/readline-config/weekly/index.xml b/readline-config/weekly/index.xml deleted file mode 100644 index d7f5f5f3ea5..00000000000 --- a/readline-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Readline Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:15Z - Weekly Trending of Readline Config in GitHub - - \ No newline at end of file diff --git a/realbasic/daily/index.xml b/realbasic/daily/index.xml index 4148daad666..9d17cc4bfe0 100644 --- a/realbasic/daily/index.xml +++ b/realbasic/daily/index.xml @@ -1,7 +1,7 @@ GitHub REALbasic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:07Z + 2023-10-23T01:38:48Z Daily Trending of REALbasic in GitHub \ No newline at end of file diff --git a/realbasic/weekly/index.xml b/realbasic/weekly/index.xml deleted file mode 100644 index dcea07e8feb..00000000000 --- a/realbasic/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub REALbasic Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:17Z - Weekly Trending of REALbasic in GitHub - - \ No newline at end of file diff --git a/reason/daily/index.xml b/reason/daily/index.xml index cbc66af845c..6fdee253e28 100644 --- a/reason/daily/index.xml +++ b/reason/daily/index.xml @@ -1,7 +1,7 @@ GitHub Reason Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:05Z + 2023-10-23T01:38:46Z Daily Trending of Reason in GitHub \ No newline at end of file diff --git a/reason/weekly/index.xml b/reason/weekly/index.xml deleted file mode 100644 index 44ffabd79dd..00000000000 --- a/reason/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Reason Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:16Z - Weekly Trending of Reason in GitHub - - \ No newline at end of file diff --git a/rebol/daily/index.xml b/rebol/daily/index.xml index 0426b6a7b42..db246008caf 100644 --- a/rebol/daily/index.xml +++ b/rebol/daily/index.xml @@ -1,7 +1,7 @@ GitHub Rebol Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:11Z + 2023-10-23T01:38:52Z Daily Trending of Rebol in GitHub \ No newline at end of file diff --git a/rebol/weekly/index.xml b/rebol/weekly/index.xml deleted file mode 100644 index 78cbbcdc72a..00000000000 --- a/rebol/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Rebol Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:20Z - Weekly Trending of Rebol in GitHub - - \ No newline at end of file diff --git a/record-jar/daily/index.xml b/record-jar/daily/index.xml index 8fdefc409c7..33d92d12a39 100644 --- a/record-jar/daily/index.xml +++ b/record-jar/daily/index.xml @@ -1,7 +1,7 @@ GitHub Record Jar Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:09Z + 2023-10-23T01:38:51Z Daily Trending of Record Jar in GitHub \ No newline at end of file diff --git a/record-jar/weekly/index.xml b/record-jar/weekly/index.xml deleted file mode 100644 index 92a7fb1f4d0..00000000000 --- a/record-jar/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Record Jar Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:19Z - Weekly Trending of Record Jar in GitHub - - \ No newline at end of file diff --git a/red/daily/index.xml b/red/daily/index.xml index 2f1fc624767..706b967fcf4 100644 --- a/red/daily/index.xml +++ b/red/daily/index.xml @@ -1,7 +1,7 @@ GitHub Red Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:09Z + 2023-10-23T01:38:50Z Daily Trending of Red in GitHub \ No newline at end of file diff --git a/red/weekly/index.xml b/red/weekly/index.xml deleted file mode 100644 index 39eb35f7e1e..00000000000 --- a/red/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Red Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:18Z - Weekly Trending of Red in GitHub - - \ No newline at end of file diff --git a/redcode/daily/index.xml b/redcode/daily/index.xml index 4e07aa0a2f8..9688cbb8e07 100644 --- a/redcode/daily/index.xml +++ b/redcode/daily/index.xml @@ -1,7 +1,7 @@ GitHub Redcode Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:10Z + 2023-10-23T01:38:49Z Daily Trending of Redcode in GitHub \ No newline at end of file diff --git a/redcode/weekly/index.xml b/redcode/weekly/index.xml deleted file mode 100644 index 5be176ceb45..00000000000 --- a/redcode/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Redcode Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:20Z - Weekly Trending of Redcode in GitHub - - \ No newline at end of file diff --git a/redirect-rules/daily/index.xml b/redirect-rules/daily/index.xml index f0eccaa281c..7c84066ea13 100644 --- a/redirect-rules/daily/index.xml +++ b/redirect-rules/daily/index.xml @@ -1,7 +1,7 @@ GitHub Redirect Rules Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:12Z + 2023-10-23T01:38:55Z Daily Trending of Redirect Rules in GitHub \ No newline at end of file diff --git a/redirect-rules/weekly/index.xml b/redirect-rules/weekly/index.xml deleted file mode 100644 index 90cecc20a0e..00000000000 --- a/redirect-rules/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Redirect Rules Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:22Z - Weekly Trending of Redirect Rules in GitHub - - \ No newline at end of file diff --git a/regular-expression/daily/index.xml b/regular-expression/daily/index.xml index d84ef600486..84010eb54fd 100644 --- a/regular-expression/daily/index.xml +++ b/regular-expression/daily/index.xml @@ -1,7 +1,7 @@ GitHub Regular Expression Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:15Z + 2023-10-23T01:38:53Z Daily Trending of Regular Expression in GitHub \ No newline at end of file diff --git a/regular-expression/weekly/index.xml b/regular-expression/weekly/index.xml deleted file mode 100644 index 317da3241a0..00000000000 --- a/regular-expression/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Regular Expression Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:22Z - Weekly Trending of Regular Expression in GitHub - - \ No newline at end of file diff --git a/ren'py/daily/index.xml b/ren'py/daily/index.xml index ad4e3e37a56..7321e8ba5e5 100644 --- a/ren'py/daily/index.xml +++ b/ren'py/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ren'Py Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:13Z + 2023-10-23T01:38:56Z Daily Trending of Ren'Py in GitHub \ No newline at end of file diff --git a/ren'py/weekly/index.xml b/ren'py/weekly/index.xml deleted file mode 100644 index 07b20b9cda2..00000000000 --- a/ren'py/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ren'Py Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:23Z - Weekly Trending of Ren'Py in GitHub - - \ No newline at end of file diff --git a/renderscript/daily/index.xml b/renderscript/daily/index.xml index d8d5acbc565..65ddda824cf 100644 --- a/renderscript/daily/index.xml +++ b/renderscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub RenderScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:14Z + 2023-10-23T01:38:54Z Daily Trending of RenderScript in GitHub \ No newline at end of file diff --git a/renderscript/weekly/index.xml b/renderscript/weekly/index.xml deleted file mode 100644 index 69264fe3a0f..00000000000 --- a/renderscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RenderScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:24Z - Weekly Trending of RenderScript in GitHub - - \ No newline at end of file diff --git a/rescript/daily/index.xml b/rescript/daily/index.xml index f5ca13f90e3..7aea2c84996 100644 --- a/rescript/daily/index.xml +++ b/rescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub ReScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:16Z + 2023-10-23T01:38:59Z Daily Trending of ReScript in GitHub \ No newline at end of file diff --git a/rescript/weekly/index.xml b/rescript/weekly/index.xml deleted file mode 100644 index c00157e8174..00000000000 --- a/rescript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ReScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:26Z - Weekly Trending of ReScript in GitHub - - \ No newline at end of file diff --git a/restructuredtext/daily/index.xml b/restructuredtext/daily/index.xml index 72c6dd621f7..cf9e4b73e49 100644 --- a/restructuredtext/daily/index.xml +++ b/restructuredtext/daily/index.xml @@ -1,7 +1,7 @@ GitHub reStructuredText Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:18Z + 2023-10-23T01:39:01Z Daily Trending of reStructuredText in GitHub \ No newline at end of file diff --git a/restructuredtext/weekly/index.xml b/restructuredtext/weekly/index.xml deleted file mode 100644 index 81deb47515e..00000000000 --- a/restructuredtext/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub reStructuredText Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:28Z - Weekly Trending of reStructuredText in GitHub - - \ No newline at end of file diff --git a/rexx/daily/index.xml b/rexx/daily/index.xml index f68272e720c..11d78fb9fce 100644 --- a/rexx/daily/index.xml +++ b/rexx/daily/index.xml @@ -1,7 +1,7 @@ GitHub REXX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:19Z + 2023-10-23T01:38:59Z Daily Trending of REXX in GitHub \ No newline at end of file diff --git a/rexx/weekly/index.xml b/rexx/weekly/index.xml deleted file mode 100644 index b82e40c2f7a..00000000000 --- a/rexx/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub REXX Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:27Z - Weekly Trending of REXX in GitHub - - \ No newline at end of file diff --git a/rich-text-format/daily/index.xml b/rich-text-format/daily/index.xml index dcd743d8646..21dd751c664 100644 --- a/rich-text-format/daily/index.xml +++ b/rich-text-format/daily/index.xml @@ -1,14 +1,7 @@ GitHub Rich Text Format Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:24Z + 2023-10-23T01:39:06Z Daily Trending of Rich Text Format in GitHub - - mstoisor/SOAC_23-24 - 2023-10-22T01:41:24Z - tag:github.com,2023-10-22:/mstoisor/SOAC_23-24 - - <p>This is a repo for SOAC students to push their homework and projects</p><hr> - \ No newline at end of file diff --git a/rich-text-format/weekly/index.xml b/rich-text-format/weekly/index.xml deleted file mode 100644 index a63ab0b95b7..00000000000 --- a/rich-text-format/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Rich Text Format Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:32Z - Weekly Trending of Rich Text Format in GitHub - - \ No newline at end of file diff --git a/ring/daily/index.xml b/ring/daily/index.xml index 43652695f47..78a29f3a858 100644 --- a/ring/daily/index.xml +++ b/ring/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ring Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:21Z + 2023-10-23T01:39:04Z Daily Trending of Ring in GitHub \ No newline at end of file diff --git a/ring/weekly/index.xml b/ring/weekly/index.xml deleted file mode 100644 index 70069a142c3..00000000000 --- a/ring/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ring Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:30Z - Weekly Trending of Ring in GitHub - - \ No newline at end of file diff --git a/riot/daily/index.xml b/riot/daily/index.xml index 49e7fa5e3df..a6657c68fe7 100644 --- a/riot/daily/index.xml +++ b/riot/daily/index.xml @@ -1,7 +1,7 @@ GitHub Riot Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:20Z + 2023-10-23T01:39:03Z Daily Trending of Riot in GitHub \ No newline at end of file diff --git a/riot/weekly/index.xml b/riot/weekly/index.xml deleted file mode 100644 index 503e792f3d2..00000000000 --- a/riot/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Riot Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:31Z - Weekly Trending of Riot in GitHub - - \ No newline at end of file diff --git a/rmarkdown/daily/index.xml b/rmarkdown/daily/index.xml index 1a803901b8f..c872ee043ea 100644 --- a/rmarkdown/daily/index.xml +++ b/rmarkdown/daily/index.xml @@ -1,7 +1,7 @@ GitHub RMarkdown Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:22Z + 2023-10-23T01:39:02Z Daily Trending of RMarkdown in GitHub \ No newline at end of file diff --git a/rmarkdown/weekly/index.xml b/rmarkdown/weekly/index.xml deleted file mode 100644 index f110c0b2cd0..00000000000 --- a/rmarkdown/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RMarkdown Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:29Z - Weekly Trending of RMarkdown in GitHub - - \ No newline at end of file diff --git a/robotframework/daily/index.xml b/robotframework/daily/index.xml index 3f4789cedff..cc74817023d 100644 --- a/robotframework/daily/index.xml +++ b/robotframework/daily/index.xml @@ -1,7 +1,7 @@ GitHub RobotFramework Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:26Z + 2023-10-23T01:39:11Z Daily Trending of RobotFramework in GitHub \ No newline at end of file diff --git a/robotframework/weekly/index.xml b/robotframework/weekly/index.xml deleted file mode 100644 index 5e4273a612c..00000000000 --- a/robotframework/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RobotFramework Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:35Z - Weekly Trending of RobotFramework in GitHub - - \ No newline at end of file diff --git a/robots.txt/daily/index.xml b/robots.txt/daily/index.xml index 6ab3615814a..5a2feb6c0ec 100644 --- a/robots.txt/daily/index.xml +++ b/robots.txt/daily/index.xml @@ -1,7 +1,7 @@ GitHub robots.txt Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:25Z + 2023-10-23T01:39:10Z Daily Trending of robots.txt in GitHub \ No newline at end of file diff --git a/robots.txt/weekly/index.xml b/robots.txt/weekly/index.xml deleted file mode 100644 index 8f909738de7..00000000000 --- a/robots.txt/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub robots.txt Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:33Z - Weekly Trending of robots.txt in GitHub - - \ No newline at end of file diff --git a/roff-manpage/daily/index.xml b/roff-manpage/daily/index.xml index 59088028822..ade3bbc6a1f 100644 --- a/roff-manpage/daily/index.xml +++ b/roff-manpage/daily/index.xml @@ -1,7 +1,7 @@ GitHub Roff Manpage Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:27Z + 2023-10-23T01:39:07Z Daily Trending of Roff Manpage in GitHub \ No newline at end of file diff --git a/roff-manpage/weekly/index.xml b/roff-manpage/weekly/index.xml deleted file mode 100644 index f427b5b4d4f..00000000000 --- a/roff-manpage/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Roff Manpage Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:34Z - Weekly Trending of Roff Manpage in GitHub - - \ No newline at end of file diff --git a/roff/daily/index.xml b/roff/daily/index.xml index 82d1493c9ab..6e792fa9880 100644 --- a/roff/daily/index.xml +++ b/roff/daily/index.xml @@ -1,7 +1,7 @@ GitHub Roff Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:28Z + 2023-10-23T01:39:09Z Daily Trending of Roff in GitHub \ No newline at end of file diff --git a/roff/weekly/index.xml b/roff/weekly/index.xml deleted file mode 100644 index ebe663ad8e6..00000000000 --- a/roff/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Roff Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:37Z - Weekly Trending of Roff in GitHub - - - E3SM-Project/PAM - 2023-10-22T02:00:37Z - tag:github.com,2023-10-22:/E3SM-Project/PAM - - <p></p><hr> - - \ No newline at end of file diff --git a/rouge/daily/index.xml b/rouge/daily/index.xml index 4abdbb05e0f..a4c66d91ff3 100644 --- a/rouge/daily/index.xml +++ b/rouge/daily/index.xml @@ -1,7 +1,7 @@ GitHub Rouge Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:31Z + 2023-10-23T01:39:13Z Daily Trending of Rouge in GitHub \ No newline at end of file diff --git a/rouge/weekly/index.xml b/rouge/weekly/index.xml deleted file mode 100644 index e9b624469a9..00000000000 --- a/rouge/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Rouge Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:39Z - Weekly Trending of Rouge in GitHub - - \ No newline at end of file diff --git a/rpc/daily/index.xml b/rpc/daily/index.xml index a5d1265d26d..db351a1b0ec 100644 --- a/rpc/daily/index.xml +++ b/rpc/daily/index.xml @@ -1,7 +1,7 @@ GitHub RPC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:29Z + 2023-10-23T01:39:12Z Daily Trending of RPC in GitHub \ No newline at end of file diff --git a/rpc/weekly/index.xml b/rpc/weekly/index.xml deleted file mode 100644 index 6beedfef89b..00000000000 --- a/rpc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RPC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:38Z - Weekly Trending of RPC in GitHub - - \ No newline at end of file diff --git a/rpgle/daily/index.xml b/rpgle/daily/index.xml index 0c0cf702e80..56411c36578 100644 --- a/rpgle/daily/index.xml +++ b/rpgle/daily/index.xml @@ -1,7 +1,7 @@ GitHub RPGLE Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:32Z + 2023-10-23T01:39:14Z Daily Trending of RPGLE in GitHub \ No newline at end of file diff --git a/rpgle/weekly/index.xml b/rpgle/weekly/index.xml deleted file mode 100644 index e8b2db4dbb8..00000000000 --- a/rpgle/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RPGLE Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:40Z - Weekly Trending of RPGLE in GitHub - - \ No newline at end of file diff --git a/rpm-spec/daily/index.xml b/rpm-spec/daily/index.xml index 749ec0296d2..6e0cd783c7f 100644 --- a/rpm-spec/daily/index.xml +++ b/rpm-spec/daily/index.xml @@ -1,7 +1,7 @@ GitHub RPM Spec Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:34Z + 2023-10-23T01:39:16Z Daily Trending of RPM Spec in GitHub \ No newline at end of file diff --git a/rpm-spec/weekly/index.xml b/rpm-spec/weekly/index.xml deleted file mode 100644 index e7b25b03eac..00000000000 --- a/rpm-spec/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RPM Spec Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:43Z - Weekly Trending of RPM Spec in GitHub - - \ No newline at end of file diff --git a/ruby/daily/index.xml b/ruby/daily/index.xml index 0e252cbd8a8..36db2240e81 100644 --- a/ruby/daily/index.xml +++ b/ruby/daily/index.xml @@ -1,14 +1,7 @@ GitHub Ruby Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:40Z + 2023-10-23T01:39:30Z Daily Trending of Ruby in GitHub - - mikker/passwordless - 2023-10-22T01:41:40Z - tag:github.com,2023-10-22:/mikker/passwordless - - <p>🗝 Authentication for your Rails app without the icky-ness of passwords</p><hr><p align="center"> <img src="https://s3.brnbw.com/Passwordless-title-gaIVkX0sPg.svg?sanitize=true" alt="Passwordless"> <br> <br> </p> <p><a href="https://github.com/mikker/passwordless/actions/workflows/ci.yml"><img src="https://github.com/mikker/passwordless/actions/workflows/ci.yml/badge.svg?sanitize=true" alt="CI"></a> <a href="https://rubygems.org/gems/passwordless"><img src="https://img.shields.io/gem/v/passwordless.svg?sanitize=true" alt="Rubygems"></a> <a href="https://codecov.io/gh/mikker/passwordless"><img src="https://codecov.io/gh/mikker/passwordless/branch/master/graph/badge.svg?sanitize=true" alt="codecov"></a></p> <p>Add authentication to your Rails app without all the icky-ness of passwords. <em>Magic link</em> authentication, if you will. We call it <em>passwordless</em>.</p> <hr> <h2>Installation</h2> <p>Add to your bundle and copy over the migrations:</p> <pre><code class="language-sh">$ bundle add passwordless $ bin/rails passwordless:install:migrations </code></pre> <h3>Upgrading</h3> <p>See <a href="https://raw.githubusercontent.com/mikker/passwordless/master/docs/upgrading_to_1_0.md">Upgrading to Passwordless 1.0</a> for more details.</p> <h2>Usage</h2> <p>Passwordless creates a single model called <code>Passwordless::Session</code>. It doesn't come with its own <code>User</code> model, it expects you to create one:</p> <pre><code class="language-sh">$ bin/rails generate model User email </code></pre> <p>Then specify which field on your <code>User</code> record is the email field with:</p> <pre><code class="language-ruby">class User &lt; ApplicationRecord validates :email, presence: true, uniqueness: { case_sensitive: false }, format: { with: URI::MailTo::EMAIL_REGEXP } passwordless_with :email # &lt;-- here! end </code></pre> <p>Finally, mount the engine in your routes:</p> <pre><code class="language-ruby">Rails.application.routes.draw do passwordless_for :users # other routes end </code></pre> <h3>Getting the current user, restricting access, the usual</h3> <p>Passwordless doesn't give you <code>current_user</code> automatically. Here's how you could add it:</p> <pre><code class="language-ruby">class ApplicationController &lt; ActionController::Base include Passwordless::ControllerHelpers # &lt;-- This! # ... helper_method :current_user private def current_user @current_user ||= authenticate_by_session(User) end def require_user! return if current_user save_passwordless_redirect_location!(User) # &lt;-- optional, see below redirect_to root_path, flash: { error: 'You are not worthy!' } end end </code></pre> <p>Et voilà:</p> <pre><code class="language-ruby">class VerySecretThingsController &lt; ApplicationController before_action :require_user! def index @things = current_user.very_secret_things end end </code></pre> <h3>Providing your own templates</h3> <p>To make Passwordless look like your app, override the bundled views by adding your own. You can manually copy the specific views that you need or copy them to your application with <code>rails generate passwordless:views</code>.</p> <p>Passwordless has 2 action views and 1 mailer view:</p> <pre><code class="language-sh"># the form where the user inputs their email address app/views/passwordless/sessions/new.html.erb # the form where the user inputs their just received token app/views/passwordless/sessions/show.html.erb # the email with the token and magic link app/views/passwordless/mailer/sign_in.text.erb </code></pre> <p>See <a href="https://github.com/mikker/passwordless/tree/master/app/views/passwordless">the bundled views</a>.</p> <h3>Registering new users</h3> <p>Because your <code>User</code> record is like any other record, you create one like you normally would. Passwordless provides a helper method to sign in the created user after it is saved – like so:</p> <pre><code class="language-ruby">class UsersController &lt; ApplicationController include Passwordless::ControllerHelpers # &lt;-- This! # (unless you already have it in your ApplicationController) def create @user = User.new(user_params) if @user.save sign_in(build_passwordless_session(@user)) # &lt;-- This! redirect_to(@user, flash: { notice: 'Welcome!' }) else render(:new) end end # ... end </code></pre> <h3>URLs and links</h3> <p>By default, Passwordless uses the resource name given to <code>passwordless_for</code> to generate its routes and helpers.</p> <pre><code class="language-ruby">passwordless_for :users # &lt;%= users_sign_in_path %&gt; # =&gt; /users/sign_in passwordless_for :users, at: '/', as: :auth # &lt;%= auth_sign_in_path %&gt; # =&gt; /sign_in </code></pre> <p>Also be sure to <a href="http://guides.rubyonrails.org/action_mailer_basics.html#generating-urls-in-action-mailer-views">specify ActionMailer's <code>default_url_options.host</code></a>.</p> <h2>Configuration</h2> <p>To customize Passwordless, create a file <code>config/initializers/passwordless.rb</code>.</p> <p>The default values are shown below. It's recommended to only include the ones that you specifically want to modify.</p> <pre><code class="language-ruby">Passwordless.configure do |config| config.default_from_address = "CHANGE_ME@example.com" config.parent_mailer = "ActionMailer::Base" config.restrict_token_reuse = false # Can a token/link be used multiple times? config.token_generator = Passwordless::ShortTokenGenerator.new # Used to generate magic link tokens. config.expires_at = lambda { 1.year.from_now } # How long until a signed in session expires. config.timeout_at = lambda { 10.minutes.from_now } # How long until a token/magic link times out. config.redirect_back_after_sign_in = true # When enabled the user will be redirected to their previous page, or a page specified by the `destination_path` query parameter, if available. config.redirect_to_response_options = {} # Additional options for redirects. config.success_redirect_path = '/' # After a user successfully signs in config.failure_redirect_path = '/' # After a sign in fails config.sign_out_redirect_path = '/' # After a user signs out end </code></pre> <h3>Delivery method</h3> <p>By default, Passwordless sends emails. See <a href="https://raw.githubusercontent.com/mikker/passwordless/master/#providing-your-own-templates">Providing your own templates</a>. If you need to customize this further, you can do so in the <code>after_session_save</code> callback.</p> <p>In <code>config/initializers/passwordless.rb</code>:</p> <pre><code class="language-ruby">Passwordless.configure do |config| config.after_session_save = lambda do |session, request| # Default behavior is # Passwordless::Mailer.sign_in(session).deliver_now # You can change behavior to do something with session model. For example, # SmsApi.send_sms(session.authenticatable.phone_number, session.token) end end </code></pre> <h3>Token generation</h3> <p>By default Passwordless generates short, 6-digit, alpha numeric tokens. You can change the generator using <code>Passwordless.config.token_generator</code> to something else that responds to <code>call(session)</code> eg.:</p> <pre><code class="language-ruby">Passwordless.configure do |config| config.token_generator = lambda do |session| "probably-stupid-token-#{session.user_agent}-#{Time.current}" end end </code></pre> <p>Passwordless will keep generating tokens until it finds one that hasn't been used yet. So be sure to use some kind of method where matches are unlikely.</p> <h3>Timeout and Expiry</h3> <p>The <em>timeout</em> is the time by which the generated token and magic link is invalidated. After this the token cannot be used to sign in to your app and the user will need to request a new token.</p> <p>The <em>expiry</em> is the expiration time of the session of a logged in user. Once this is expired, the user is signed out.</p> <p><strong>Note:</strong> Passwordless' session relies on Rails' own session and so will never live longer than that.</p> <p>To configure your Rails session, in <code>config/initializers/session_store.rb</code>:</p> <pre><code class="language-ruby">Rails.application.config.session_store :cookie_store, expire_after: 1.year, # ... </code></pre> <h3>Redirection after sign-in</h3> <p>By default Passwordless will redirect back to where the user wanted to go <em>if</em> it knows where that is -- so you'll have to help it. <code>Passwordless::ControllerHelpers</code> provide a method:</p> <pre><code class="language-ruby">class ApplicationController &lt; ActionController::Base include Passwordless::ControllerHelpers # &lt;-- Probably already have this! # ... def require_user! return if current_user save_passwordless_redirect_location!(User) # &lt;-- this one! redirect_to root_path, flash: {error: 'You are not worthy!'} end end </code></pre> <p>This can also be turned off with <code>Passwordless.config.redirect_back_after_sign_in = false</code>.</p> <h3>Looking up the user</h3> <p>By default Passwordless uses the <code>passwordless_with</code> column to <em>case insensitively</em> fetch the user resource.</p> <p>You can override this by defining a class method <code>fetch_resource_for_passwordless</code> in your user model. This method will be called with the down-cased, stripped <code>email</code> and should return an <code>ActiveRecord</code> instance.</p> <pre><code class="language-ruby">class User &lt; ApplicationRecord def self.fetch_resource_for_passwordless(email) find_or_create_by(email: email) end end </code></pre> <h3>Claiming tokens</h3> <p>By default, a token/magic link <strong>can</strong> be used more than once.</p> <p>To change, in <code>config/initializers/passwordless.rb</code>:</p> <pre><code class="language-ruby">Passwordless.configure do |config| config.restrict_token_reuse = true end </code></pre> <h2>Test helpers</h2> <p>To help with testing, a set of test helpers are provided.</p> <p>If you are using RSpec, add the following line to your <code>spec/rails_helper.rb</code>:</p> <pre><code class="language-ruby">require "passwordless/test_helpers" </code></pre> <p>If you are using TestUnit, add this line to your <code>test/test_helper.rb</code>:</p> <pre><code class="language-ruby">require "passwordless/test_helpers" </code></pre> <p>Then in your controller, request, and system tests/specs, you can utilize the following methods:</p> <pre><code class="language-ruby">passwordless_sign_in(user) # signs you in as a user passwordless_sign_out # signs out user </code></pre> <h2>Security considerations</h2> <p>There's no reason that this approach should be less secure than the usual username/password combo. In fact this is most often a more secure option, as users don't get to choose the horrible passwords they can't seem to stop using. In a way, this is just the same as having each user go through "Forgot password" on every login.</p> <p>But be aware that when everyone authenticates via emails, the way you send those mails becomes a weak spot. Email services usually provide a log of all the mails you send so if your email delivery provider account is compromised, every user in the system is as well. (This is the same for "Forgot password".) <a href="https://thenextweb.com/hardfork/2018/01/05/reddit-bitcoin-cash-stolen-hack/">Reddit was once compromised</a> using this method.</p> <p>Ideally you should set up your email provider to not log these mails. And be sure to turn on non-SMS 2-factor authentication if your provider supports it.</p> <h2>Alternatives</h2> <ul> <li><a href="https://github.com/stas/otp-jwt">OTP JWT</a> -- Passwordless JSON Web Tokens</li> </ul> <h2>License</h2> <p>MIT</p> - \ No newline at end of file diff --git a/ruby/weekly/index.xml b/ruby/weekly/index.xml deleted file mode 100644 index 4e9efafa941..00000000000 --- a/ruby/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Ruby Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:00Z - Weekly Trending of Ruby in GitHub - - - realfalcary/Pokemon-Myth - 2023-10-22T02:01:00Z - tag:github.com,2023-10-22:/realfalcary/Pokemon-Myth - - <p></p><hr> - - - modularml/homebrew-packages - 2023-10-22T02:01:00Z - tag:github.com,2023-10-22:/modularml/homebrew-packages - - <p>Homebrew TAP for MacOS modular CLI tool</p><hr><h1>Modular CLI Homebrew Tap</h1> <h2>How do I install these formulae?</h2> <p><code>brew install modularml/packages/modular</code></p> <p>Or <code>brew tap modularml/packages</code> and then <code>brew install modular</code>.</p> <h2>Documentation</h2> <p><code>brew help</code>, <code>man brew</code> or check <a href="https://docs.brew.sh">Homebrew's documentation</a>.</p> - - - hotwired/turbo-rails - 2023-10-22T02:01:00Z - tag:github.com,2023-10-22:/hotwired/turbo-rails - - <p>Use Turbo in your Ruby on Rails app</p><hr><h1><img src="https://raw.githubusercontent.com/hotwired/turbo-rails/main/assets/logo.png?sanitize=true" width="24" height="24" alt="Turbo"> Turbo</h1> <p><a href="https://turbo.hotwired.dev">Turbo</a> gives you the speed of a single-page web application without having to write any JavaScript. Turbo accelerates links and form submissions without requiring you to change your server-side generated HTML. It lets you carve up a page into independent frames, which can be lazy-loaded and operate as independent components. And finally, helps you make partial page updates using just HTML and a set of CRUD-like container tags. These three techniques reduce the amount of custom JavaScript that many web applications need to write by an order of magnitude. And for the few dynamic bits that are left, you're invited to finish the job with <a href="https://github.com/hotwired/stimulus">Stimulus</a>.</p> <p>On top of accelerating web applications, Turbo was built from the ground-up to form the foundation of hybrid native applications. Write the navigational shell of your <a href="https://github.com/hotwired/turbo-android">Android</a> or <a href="https://github.com/hotwired/turbo-ios">iOS</a> app using the standard platform tooling, then seamlessly fill in features from the web, following native navigation patterns. Not every mobile screen needs to be written in Swift or Kotlin to feel native. With Turbo, you spend less time wrangling JSON, waiting on app stores to approve updates, or reimplementing features you've already created in HTML.</p> <p>Turbo is a language-agnostic framework written in JavaScript, but this gem builds on top of those basics to make the integration with Rails as smooth as possible. You can deliver turbo updates via model callbacks over Action Cable, respond to controller actions with native navigation or standard redirects, and render turbo frames with helpers and layout-free responses.</p> <h2>Navigate with Turbo Drive</h2> <p>Turbo is a continuation of the ideas from the previous <a href="https://github.com/turbolinks/turbolinks">Turbolinks</a> framework, and the heart of that past approach lives on as Turbo Drive. When installed, Turbo automatically intercepts all clicks on <code>&lt;a href&gt;</code> links to the same domain. When you click an eligible link, Turbo prevents the browser from following it. Instead, Turbo changes the browser’s URL using the History API, requests the new page using <code>fetch</code>, and then renders the HTML response.</p> <p>During rendering, Turbo replaces the current <code>&lt;body&gt;</code> element outright and merges the contents of the <code>&lt;head&gt;</code> element. The JavaScript window and document objects, and the HTML <code>&lt;html&gt;</code> element, persist from one rendering to the next.</p> <p>Whereas Turbolinks previously just dealt with links, Turbo can now also process form submissions and responses. This means the entire flow in the web application is wrapped into Turbo, making all the parts fast. No more need for <code>data-remote=true</code>.</p> <p>Turbo Drive can be disabled on a per-element basis by annotating the element or any of its ancestors with <code>data-turbo="false"</code>. If you want Turbo Drive to be disabled by default, then you can adjust your import like this:</p> <pre><code class="language-js">import "@hotwired/turbo-rails" Turbo.session.drive = false </code></pre> <p>Then you can use <code>data-turbo="true"</code> to enable Drive on a per-element basis.</p> <p><a href="https://turbo.hotwired.dev/handbook/drive">See documentation</a>.</p> <h2>Decompose with Turbo Frames</h2> <p>Turbo reinvents the old HTML technique of frames without any of the drawbacks that lead to developers abandoning it. With Turbo Frames, <strong>you can treat a subset of the page as its own component</strong>, where links and form submissions <strong>replace only that part</strong>. This removes an entire class of problems around partial interactivity that before would have required custom JavaScript.</p> <p>It also makes it dead easy to carve a single page into smaller pieces that can all live on their own cache timeline. While the bulk of the page might easily be cached between users, a small personalized toolbar perhaps cannot. With Turbo::Frames, you can designate the toolbar as a frame, which will be <strong>lazy-loaded automatically</strong> by the publicly-cached root page. This means simpler pages, easier caching schemes with fewer dependent keys, and all without needing to write a lick of custom JavaScript.</p> <p>This gem provides a <code>turbo_frame_tag</code> helper to create those frames.</p> <p>For instance:</p> <pre><code class="language-erb">&lt;%# app/views/todos/show.html.erb %&gt; &lt;%= turbo_frame_tag @todo do %&gt; &lt;p&gt;&lt;%= @todo.description %&gt;&lt;/p&gt; &lt;%= link_to 'Edit this todo', edit_todo_path(@todo) %&gt; &lt;% end %&gt; &lt;%# app/views/todos/edit.html.erb %&gt; &lt;%= turbo_frame_tag @todo do %&gt; &lt;%= render "form" %&gt; &lt;%= link_to 'Cancel', todo_path(@todo) %&gt; &lt;% end %&gt; </code></pre> <p>When the user will click on the <code>Edit this todo</code> link, as direct response to this direct user interaction, the turbo frame will be replaced with the one in the <code>edit.html.erb</code> page automatically.</p> <p><a href="https://turbo.hotwired.dev/handbook/frames">See documentation</a>.</p> <h3>A note on custom layouts</h3> <p>In order to render turbo frame requests without the application layout, Turbo registers a custom <a href="https://api.rubyonrails.org/classes/ActionView/Layouts/ClassMethods.html#method-i-layout">layout method</a>. If your application uses custom layout resolution, you have to make sure to return <code>"turbo_rails/frame"</code> (or <code>false</code> for TurboRails &lt; 1.4.0) for turbo frame requests:</p> <pre><code class="language-ruby">layout :custom_layout def custom_layout return "turbo_rails/frame" if turbo_frame_request? # ... your custom layout logic </code></pre> <p>If you are using a custom, but "static" layout,</p> <pre><code class="language-ruby">layout "some_static_layout" </code></pre> <p>you <strong>have</strong> to change it to a layout method in order to conditionally return <code>false</code> for turbo frame requests:</p> <pre><code class="language-ruby">layout :custom_layout def custom_layout return "turbo_rails/frame" if turbo_frame_request? "some_static_layout" </code></pre> <h2>Come Alive with Turbo Streams</h2> <p>Partial page updates that are <strong>delivered asynchronously over a web socket connection</strong> is the hallmark of modern, reactive web applications. With Turbo Streams, you can get all of that modern goodness using the existing server-side HTML you're already rendering to deliver the first page load. With a set of simple CRUD container tags, you can send HTML fragments over the web socket (or in response to direct interactions), and see the page change in response to new data. Again, <strong>no need to construct an entirely separate API</strong>, <strong>no need to wrangle JSON</strong>, <strong>no need to reimplement the HTML construction in JavaScript</strong>. Take the HTML you're already making, wrap it in an update tag, and, voila, your page comes alive.</p> <p>With this Rails integration, you can create these asynchronous updates directly in response to your model changes. Turbo uses Active Jobs to provide asynchronous partial rendering and Action Cable to deliver those updates to subscribers.</p> <p>This gem provides a <code>turbo_stream_from</code> helper to create a turbo stream.</p> <pre><code class="language-erb">&lt;%# app/views/todos/show.html.erb %&gt; &lt;%= turbo_stream_from dom_id(@todo) %&gt; &lt;%# Rest of show here %&gt; </code></pre> <p><a href="https://turbo.hotwired.dev/handbook/streams">See documentation</a>.</p> <h2>Installation</h2> <p>This gem is automatically configured for applications made with Rails 7+ (unless --skip-hotwire is passed to the generator). But if you're on Rails 6, you can install it manually:</p> <ol> <li>Add the <code>turbo-rails</code> gem to your Gemfile: <code>gem 'turbo-rails'</code></li> <li>Run <code>./bin/bundle install</code></li> <li>Run <code>./bin/rails turbo:install</code></li> <li>Run <code>./bin/rails turbo:install:redis</code> to change the development Action Cable adapter from Async (the default one) to Redis. The Async adapter does not support Turbo Stream broadcasting.</li> </ol> <p>Running <code>turbo:install</code> will install through NPM if Node.js is used in the application. Otherwise the asset pipeline version is used. To use the asset pipeline version, you must have <code>importmap-rails</code> installed first and listed higher in the Gemfile.</p> <p>If you're using node and need to use the cable consumer, you can import <a href="https://github.com/hotwired/turbo-rails/raw/main/app/javascript/turbo/cable.js"><code>cable</code></a> (<code>import { cable } from "@hotwired/turbo-rails"</code>), but ensure that your application actually <em>uses</em> the members it <code>import</code>s when using this style (see <a href="https://github.com/hotwired/turbo-rails/issues/48">turbo-rails#48</a>).</p> <p>The <code>Turbo</code> instance is automatically assigned to <code>window.Turbo</code> upon import:</p> <pre><code class="language-js">import "@hotwired/turbo-rails" </code></pre> <h2>Usage</h2> <p>You can watch <a href="https://hotwired.dev/#screencast">the video introduction to Hotwire</a>, which focuses extensively on demonstrating Turbo in a Rails demo. Then you should familiarize yourself with <a href="https://turbo.hotwired.dev/handbook/introduction">Turbo handbook</a> to understand Drive, Frames, and Streams in-depth. Finally, dive into the code documentation by starting with <a href="https://github.com/hotwired/turbo-rails/raw/main/app/helpers/turbo/frames_helper.rb"><code>Turbo::FramesHelper</code></a>, <a href="https://github.com/hotwired/turbo-rails/raw/main/app/helpers/turbo/streams_helper.rb"><code>Turbo::StreamsHelper</code></a>, <a href="https://github.com/hotwired/turbo-rails/raw/main/app/models/turbo/streams/tag_builder.rb"><code>Turbo::Streams::TagBuilder</code></a>, and <a href="https://github.com/hotwired/turbo-rails/raw/main/app/models/concerns/turbo/broadcastable.rb"><code>Turbo::Broadcastable</code></a>.</p> <h3>RubyDoc Documentation</h3> <p>For the API documentation covering this gem's classes and packages, [visit the RubyDoc page][].</p> <p><a href="https://rubydoc.info/github/hotwired/turbo-rails/main">visit the RubyDoc page</a></p> <h2>Compatibility with Rails UJS</h2> <p>Turbo can coexist with Rails UJS, but you need to take a series of upgrade steps to make it happen. See <a href="https://github.com/hotwired/turbo-rails/raw/main/UPGRADING.md">the upgrading guide</a>.</p> <h2>Testing</h2> <p>The <a href="https://raw.githubusercontent.com/hotwired/turbo-rails/main/lib/turbo/test_assertions.rb"><code>Turbo::TestAssertions</code></a> concern provides Turbo Stream test helpers that assert the presence or absence of <code>&lt;turbo-stream&gt;</code> elements in a rendered fragment of HTML. <code>Turbo::TestAssertions</code> are automatically included in <a href="https://edgeapi.rubyonrails.org/classes/ActiveSupport/TestCase.html"><code>ActiveSupport::TestCase</code></a> and depend on the presence of <a href="https://github.com/rails/rails-dom-testing/"><code>rails-dom-testing</code></a> assertions.</p> <p>The <a href="https://raw.githubusercontent.com/hotwired/turbo-rails/main/lib/turbo/test_assertions/integration_test_assertions.rb"><code>Turbo::TestAssertions::IntegrationTestAssertions</code></a> are built on top of <code>Turbo::TestAssertions</code>, and add support for passing a <code>status:</code> keyword. They are automatically included in <a href="https://edgeguides.rubyonrails.org/testing.html#integration-testing"><code>ActionDispatch::IntegrationTest</code></a>.</p> <p>The <a href="https://raw.githubusercontent.com/hotwired/turbo-rails/main/lib/turbo/broadcastable/test_helper.rb"><code>Turbo::Broadcastable::TestHelper</code></a> concern provides Action Cable-aware test helpers that assert that <code>&lt;turbo-stream&gt;</code> elements were or were not broadcast over Action Cable. They are not automatically included. To use them in your tests, make sure to <code>include Turbo::Broadcastable::TestHelper</code>.</p> <h2>Development</h2> <p>Run the tests with <code>./bin/test</code>.</p> <h2>License</h2> <p>Turbo is released under the <a href="https://opensource.org/licenses/MIT">MIT License</a>.</p> - - \ No newline at end of file diff --git a/runoff/daily/index.xml b/runoff/daily/index.xml index 36ffe2d468d..755912d4683 100644 --- a/runoff/daily/index.xml +++ b/runoff/daily/index.xml @@ -1,7 +1,7 @@ GitHub RUNOFF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:33Z + 2023-10-23T01:39:17Z Daily Trending of RUNOFF in GitHub \ No newline at end of file diff --git a/runoff/weekly/index.xml b/runoff/weekly/index.xml deleted file mode 100644 index 9bb077338b1..00000000000 --- a/runoff/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RUNOFF Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:42Z - Weekly Trending of RUNOFF in GitHub - - \ No newline at end of file diff --git a/rust/daily/index.xml b/rust/daily/index.xml index c984ee7b98f..1c831980afa 100644 --- a/rust/daily/index.xml +++ b/rust/daily/index.xml @@ -1,14 +1,28 @@ GitHub Rust Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:41:54Z + 2023-10-23T01:39:23Z Daily Trending of Rust in GitHub - exein-io/pulsar - 2023-10-22T01:41:54Z - tag:github.com,2023-10-22:/exein-io/pulsar - - <p>A modular and blazing fast runtime security framework for the IoT, powered by eBPF.</p><hr><div align="center"> <img width="300" src="https://raw.githubusercontent.com/exein-io/pulsar/main/assets/pulsar-logo-black.png#gh-light-mode-only" alt="Pulsar dark logo"> <img width="300" src="https://raw.githubusercontent.com/exein-io/pulsar/main/assets/pulsar-logo-white.png#gh-dark-mode-only" alt="Pulsar light logo"> <p> <a href="https://github.com/Exein-io/pulsar/actions/workflows/test.yml"> <img src="https://github.com/Exein-io/pulsar/actions/workflows/test.yml/badge.svg?branch=main" alt="Lint and Tests"> </a> <a href="https://discord.gg/ZrySDqhBtZ"><img src="https://img.shields.io/discord/986983233256321075?color=%2331c753&amp;logo=discord"> </a><a href="https://opensource.org/licenses/Apache-2.0"> <img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg?sanitize=true" alt="License"> <img src="https://img.shields.io/badge/License-GPL--2.0-blue.svg?sanitize=true" alt="License"> </a> </p> </div> <p>Pulsar is a security tool for monitoring the activity of Linux devices at runtime, powered by <a href="https://ebpf.io/">eBPF</a>.</p> <p>The Pulsar core modules use eBPF probes to collect events from the kernel in a safe and efficient way. Pulsar events can be categorized in the four main following areas:</p> <ul> <li><strong>File I/O</strong>: I/O operations on disk and memory.</li> <li><strong>Network</strong>: data from the network stack.</li> <li><strong>Processes</strong>: processes information, including file execution and file opening.</li> <li><strong>System Activity</strong>: device activity, including system calls.</li> </ul> <p>Pulsar is built with a modular design that makes it easy to adapt the core architecture to new use cases, create new modules or write custom rules.</p> <h2>Quickstart</h2> <blockquote> <p><strong>Warning</strong><br> A kernel 5.5 or higher with BPF and BTF enabled is required. Visit the official Pulsar website for the full <a href="https://pulsar.sh/docs/faq/kernel-requirements/">requirements</a> and <a href="https://pulsar.sh/docs/getting-started/installation">installation options</a> available.</p> </blockquote> <p>To download and install Pulsar, run the following in your terminal:</p> <pre><code class="language-sh">curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/Exein-io/pulsar/main/pulsar-install.sh | sh </code></pre> <p>Launch the pulsar daemon in a terminal <strong>with administrator privileges</strong>:</p> <pre><code class="language-sh">pulsard </code></pre> <p>That's pretty much it. At this point Pulsar is actively monitoring the activity of all the target processes, and checking it against the set of security policies defined in the rules file. You can test this by triggering a threat event, for example running the following command in another terminal:</p> <pre><code class="language-sh">ln -s /etc/shadow /tmp/secret </code></pre> <p>In the pulsar terminal you should see something similar to:</p> <pre><code class="language-console">[2023-02-07T14:29:09Z THREAT /usr/bin/ln (36267)] [rules-engine - { rule_name = "Create sensitive files symlink" }] File Link { source: /tmp/secret, destination: /etc/shadow, hard_link: false } </code></pre> <p>As you can see Pulsar identifies the previous command as a threat event.</p> <h3>How does it work?</h3> <p>Behind the scenes, when an application performs an operation, it gets intercepted at kernel level by the Pulsar BPF probes, turned into a unique event object and sent to the userspace. There, the Pulsar rule engine processes the event against the set of rules defined in the rules file and, if there is a match, it emits a new event, marked as a threat. Finally a logger module prints threat events to the terminal.</p> <p>In the example above, the event produced matched the following rule:</p> <pre><code class="language-yaml">- name: Create sensitive files symlink type: FileLink condition: (payload.destination IN ["/etc/shadow", "/etc/sudoers", "/etc/pam.conf", "/etc/security/pwquality.conf"] OR payload.destination STARTS_WITH "/etc/sudoers.d/" OR payload.destination STARTS_WITH "/etc/pam.d") AND payload.hard_link == "false" </code></pre> <h2>Installation</h2> <h3>(Recommended) Using the official installation script</h3> <p>The recommended approach to getting started with Pulsar is by using the official installations script. Follow the guide in the <a href="https://raw.githubusercontent.com/exein-io/pulsar/main/#quickstart">Quickstart</a> section.</p> <h3>Use Pre-built Binaries</h3> <p>Another approach to install Pulsar is by using a pre-built binary. Binaries are available for the <a href="https://github.com/Exein-io/pulsar/releases/latest">latest release</a>. Use <code>pulsar-exec</code> for x86-64 (<code>pulsar-exec-static</code> for a static build) or <code>pulsar-exec-static-aarch64</code> for AArch64 platform. Using there approach you also need to download and setup the <a href="https://raw.githubusercontent.com/exein-io/pulsar/main/scripts">helper scripts</a> to have a more convenient way to start in daemon/cli mode.</p> <h3>Build from source</h3> <p>We do not recommend build Pulsar from source. Building from source is only necessary if you wish to make modifications. If you want to play with the source code check the <a href="https://pulsar.sh/docs/category/developers">Developers</a> section of the documentation.</p> <h2>Resources</h2> <ul> <li><a href="https://pulsar.sh/docs">Read the docs</a>: understand how to install and set up Pulsar.</li> <li><a href="https://pulsar.sh/docs/category/concepts">Concepts</a>: dive deep into Pulsar architecture and main concepts.</li> <li><a href="https://pulsar.sh/docs/category/tutorials">Tutorials</a>: learn how to use Pulsar with practical examples.</li> <li><a href="https://pulsar.sh/docs/developers/tutorials/create-ebpf-probe-module">Develop new eBPF modules</a>: build new eBPF probes and integrate them into Pulsar through the modules system;</li> <li><a href="https://github.com/orgs/Exein-io/projects/14">Roadmap</a>: check out the plan for next Pulsar releases;</li> <li><a href="https://discord.gg/MQgaTPef7a">Support</a>: join the Discord server for community support.</li> </ul> <h2>Contributing</h2> <p>If you're interested in contributing to Pulsar — thank you!</p> <p>We have a <a href="https://raw.githubusercontent.com/exein-io/pulsar/main/CONTRIBUTING.md">contributing guide</a> which will help you getting involved in the project. Also check the <a href="https://pulsar.sh/docs/category/developers">Developers</a> section of the documentation for more information on Pulsar development.</p> <h2>Community</h2> <p>Join the Pulsar <a href="https://discord.gg/MQgaTPef7a">Discord server</a> to chat with developers, maintainers, and the whole community. You can also drop any question about Pulsar on the official <a href="https://github.com/Exein-io/pulsar/discussions">GitHub discussions</a> or use the <a href="https://github.com/Exein-io/pulsar/issues">GitHub issues</a> for feature requests and bug reports.</p> <h2>License</h2> <p>Pulsar is <a href="https://raw.githubusercontent.com/exein-io/pulsar/main/LICENSE">licensed</a> under two licenses — Pulsar userspace code is licensed under <a href="https://raw.githubusercontent.com/exein-io/pulsar/main/LICENSES/LICENSE-APACHE-2.0">APACHE-2.0</a>. Pulsar eBPF probes are licensed under <a href="https://raw.githubusercontent.com/exein-io/pulsar/main/LICENSES/LICENSE-GPL-2.0">GPL-2.0</a>.</p> + sammwyy/mindns + 2023-10-23T01:39:23Z + tag:github.com,2023-10-23:/sammwyy/mindns + + <p>Minimal DNS server built in Rust with rule system and logging.</p><hr><h1>MinDNS</h1> <p>MinDNS is a minimal DNS server written in Rust. It is intended to be used as a firewall, black-hole or proxy DNS server.</p> <h2>⚡ Features</h2> <ul> <li><input type="checkbox" checked disabled> Fully asynchronous</li> <li><input type="checkbox" checked disabled> High performance</li> <li><input type="checkbox" checked disabled> DNS over UDP</li> <li><input type="checkbox" disabled> DNS over TCP</li> <li><input type="checkbox" checked disabled> Block certain domains</li> <li><input type="checkbox" checked disabled> Custom DNS records</li> <li><input type="checkbox" checked disabled> Logging</li> <li><input type="checkbox" checked disabled> Mirroring from another DNS servers</li> <li><input type="checkbox" disabled> DNSSEC</li> </ul> <h2>🤝 Contributing</h2> <p>Contributions, issues and feature requests are welcome! Feel free to check <a href="https://github.com/sammwyy/mindns/issues">issues page</a>.</p> <h2>❤️ Show your support</h2> <p>Give a ⭐️ if this project helped you!</p> <p>Or buy me a coffeelatte 🙌 on <a href="https://ko-fi.com/sammwy">Ko-fi</a></p> <h2>📝 License</h2> <p>Copyright © 2023 <a href="https://github.com/sammwyy">Sammwy</a>.<br> This project is <a href="https://raw.githubusercontent.com/sammwyy/mindns/main/LICENSE">MIT</a> licensed.</p> + + + tauri-apps/plugins-workspace + 2023-10-23T01:39:23Z + tag:github.com,2023-10-23:/tauri-apps/plugins-workspace + + <p>All of the official Tauri plugins in one place!</p><hr><h2>Plugins Found Here</h2> <table> <thead> <tr> <th></th> <th></th> <th>Win</th> <th>Mac</th> <th>Lin</th> <th>iOS</th> <th>And</th> </tr> </thead> <tbody> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/authenticator">authenticator</a></td> <td>Interface with hardware security keys.</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>?</td> <td>?</td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/autostart">autostart</a></td> <td>Automatically launch your app at system startup.</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>?</td> <td>?</td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/fs-extra">fs-extra</a></td> <td>File system methods that aren't included in the core API.</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>?</td> <td>?</td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/fs-watch">fs-watch</a></td> <td>Watch the filesystem for changes.</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>?</td> <td>?</td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/localhost">localhost</a></td> <td>Use a localhost server in production apps.</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>?</td> <td>?</td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/log">log</a></td> <td>Configurable logging.</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/persisted-scope">persisted-scope</a></td> <td>Persist runtime scope changes on the filesystem.</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>?</td> <td>?</td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/positioner">positioner</a></td> <td>Move windows to common locations.</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>?</td> <td>?</td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/single-instance">single-instance</a></td> <td>Ensure a single instance of your tauri app is running.</td> <td>✅</td> <td>?</td> <td>✅</td> <td>?</td> <td>?</td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/sql">sql</a></td> <td>Interface with SQL databases.</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>?</td> <td>?</td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/store">store</a></td> <td>Persistent key value storage.</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>?</td> <td>?</td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/stronghold">stronghold</a></td> <td>Encrypted, secure database.</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>?</td> <td>?</td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/upload">upload</a></td> <td>Tauri plugin for file uploads through HTTP.</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>?</td> <td>?</td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/websocket">websocket</a></td> <td>Open a WebSocket connection using a Rust client in JS.</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>?</td> <td>?</td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/tauri-apps/plugins-workspace/v1/plugins/window-state">window-state</a></td> <td>Persist window sizes and positions.</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>?</td> <td>?</td> </tr> </tbody> </table> <p><em>This repo and all plugins require a Rust version of at least <strong>1.64</strong></em></p> + + + tailcallhq/tailcall + 2023-10-23T01:39:23Z + tag:github.com,2023-10-23:/tailcallhq/tailcall + + <p>A high-performance no-code GraphQL backend</p><hr><p><a href="https://tailcall.run"><img src="https://raw.githubusercontent.com/tailcallhq/tailcall/main/assets/logo_main.png" alt="Tailcall"></a></p> <p>Tailcall is an open-source solution for building <a href="https://github.com/tailcallhq/graphql-benchmarks">high-performance</a> GraphQL backends.</p> <p><a href="https://console.algora.io/org/tailcallhq/bounties?status=open"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fconsole.algora.io%2Fapi%2Fshields%2Ftailcallhq%2Fbounties%3Fstatus%3Dopen&amp;style=for-the-badge" alt="Open Bounties"></a> <a href="https://console.algora.io/org/tailcallhq/bounties?status=completed"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fconsole.algora.io%2Fapi%2Fshields%2Ftailcallhq%2Fbounties%3Fstatus%3Dcompleted&amp;style=for-the-badge" alt="Rewarded Bounties"></a> <a href="https://github.com/tailcallhq/tailcall/actions"><img src="https://img.shields.io/github/actions/workflow/status/tailcallhq/tailcall/ci.yml?style=for-the-badge" alt="GitHub Workflow Status (with event)"></a> <img src="https://img.shields.io/github/downloads/tailcallhq/tailcall/total?style=for-the-badge" alt="GitHub release (by tag)"> <a href="https://discord.gg/Q2ZExpFCnA"><img src="https://img.shields.io/discord/1044859667798568962?style=for-the-badge&amp;cacheSeconds=60" alt="Discord"></a> <a href="https://app.codecov.io/gh/tailcallhq/tailcall"><img src="https://img.shields.io/codecov/c/github/tailcallhq/tailcall?style=for-the-badge" alt="Codecov"></a></p> <h2>Installation</h2> <pre><code class="language-bash">brew tap tailcallhq/tailcall brew install tailcall </code></pre> <h2>Get Started</h2> <p>The below file is a standard <code>.graphQL</code> file, with a few additions such as <code>@server</code> and <code>@http</code> directives. So basically we specify the GraphQL schema and how to resolve that GraphQL schema in the same file, without having to write any code!</p> <p><a href="https://raw.githubusercontent.com/tailcallhq/tailcall/main/assets/jsonplaceholder.graphql"><img src="https://raw.githubusercontent.com/tailcallhq/tailcall/main/assets/json_placeholder.png" alt="GraphQL Config Screenshot"></a></p> <p>Now, run the following command to start the server with the full path to the jsonplaceholder.graphql file that you created above.</p> <pre><code class="language-bash">tc start ./jsonplaceholder.graphql </code></pre> <p>Head out to <a href="https://tailcall.run/docs">docs</a> to learn about other powerful tailcall features.</p> <h3>Contributing</h3> <p>Your contributions are invaluable! Kindly go through our <a href="https://raw.githubusercontent.com/tailcallhq/tailcall/main/.github/contributing.md">contribution guidelines</a> if you are a first time contributor.</p> <h3>Support Us</h3> <p>⭐️ Give us a star.</p> <p>👀 Watch us for updates.</p> <h3>License</h3> <p>This initiative is protected under the Apache 2.0 License.</p> \ No newline at end of file diff --git a/rust/weekly/index.xml b/rust/weekly/index.xml deleted file mode 100644 index d19c0e7236b..00000000000 --- a/rust/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Rust Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:00:48Z - Weekly Trending of Rust in GitHub - - - ArroyoSystems/arroyo - 2023-10-22T02:00:48Z - tag:github.com,2023-10-22:/ArroyoSystems/arroyo - - <p>Distributed stream processing engine in Rust</p><hr><h1 align="center"> <img src="https://raw.githubusercontent.com/ArroyoSystems/arroyo/master/docs/images/arroyo_logo.png" width="400px" alt="Arroyo"> </h1> <h4 align="center"> <a href="https://arroyo.dev/">Arroyo Cloud</a> | <a href="https://doc.arroyo.dev/getting-started">Getting started</a> | <a href="https://doc.arroyo.dev">Docs</a> | <a href="https://discord.gg/cjCr5rVmyR">Discord</a> | <a href="https://arroyo.dev">Website</a> </h4> <h4 align="center"> <a href="https://github.com/ArroyoSystems/arroyo/raw/master/LICENSE-APACHE"> <img src="https://img.shields.io/badge/license-MIT%2FApache--2.0-orange" alt="Arroyo is dual-licensed under Apache 2 and MIT licenses."> </a> <a href="https://github.com/ArroyoSystems/arroyo/raw/master/CONTRIBUTING.md"> <img src="https://img.shields.io/badge/PRs-Welcome-brightgreen" alt="PRs welcome!"> </a> <a href="https://github.com/ArroyoSystems/arroyo/commits"> <img src="https://img.shields.io/github/commit-activity/m/ArroyoSystems/arroyo" alt="git commit activity"> </a> <img alt="CI" src="https://github.com/ArroyoSystems/arroyo/actions/workflows/ci.yml/badge.svg?sanitize=true"> <a href="https://github.com/ArroyoSystems/arroyo/releases"> <img alt="GitHub release (latest by date)" src="https://img.shields.io/github/v/release/ArroyoSystems/arroyo?display_name=release"> </a> </h4> <p><a href="https://arroyo.dev">Arroyo</a> is a distributed stream processing engine written in Rust, designed to efficiently perform stateful computations on streams of data. Unlike traditional batch processing, streaming engines can operate on both bounded and unbounded sources, emitting results as soon as they are available.</p> <p>In short: Arroyo lets you ask complex questions of high-volume real-time data with subsecond results.</p> <p><img src="https://raw.githubusercontent.com/ArroyoSystems/arroyo/master/docs/images/header_image.png" alt="running job"></p> <h2>Features</h2> <p>🦀 SQL and Rust pipelines</p> <p>🚀 Scales up to millions of events per second</p> <p>🪟 Stateful operations like windows and joins</p> <p>🔥State checkpointing for fault-tolerance and recovery of pipelines</p> <p>🕒 Timely stream processing via the <a href="https://www.oreilly.com/radar/the-world-beyond-batch-streaming-101/">Dataflow model</a></p> <h2>Use cases</h2> <p>Some example use cases include:</p> <ul> <li>Detecting fraud and security incidents</li> <li>Real-time product and business analytics</li> <li>Real-time ingestion into your data warehouse or data lake</li> <li>Real-time ML feature generation</li> </ul> <h2>Why Arroyo</h2> <p>There are already a number of existing streaming engines out there, including <a href="https://flink.apache.org">Apache Flink</a>, <a href="https://spark.apache.org/docs/latest/streaming-programming-guide.html">Spark Streaming</a>, and <a href="https://kafka.apache.org/documentation/streams/">Kafka Streams</a>. Why create a new one?</p> <ul> <li><em>Serverless operations</em>: Arroyo pipelines are designed to run in modern cloud environments, supporting seamless scaling, recovery, and rescheduling</li> <li><em>High performance SQL</em>: SQL is a first-class concern, with consistently excellent performance</li> <li><em>Designed for non-experts</em>: Arroyo cleanly separates the pipeline APIs from its internal implementation. You don't need to be a streaming expert to build real-time data pipelines.</li> </ul> <h2>Getting Started</h2> <p>You can get started with a single node Arroyo cluster by running the following docker command:</p> <pre><code>$ docker run -p 8000:8000 ghcr.io/arroyosystems/arroyo-single:latest </code></pre> <p>or if you have Cargo installed, you can use the <code>arroyo</code> cli:</p> <pre><code>$ cargo install arroyo $ arroyo start </code></pre> <p>Then, load the Web UI at <a href="http://localhost:8000">http://localhost:8000</a>.</p> <p>For a more in-depth guide, see the <a href="https://doc.arroyo.dev/getting-started">getting started guide</a>.</p> <p>Once you have Arroyo running, follow the <a href="https://doc.arroyo.dev/tutorial">tutorial</a> to create your first real-time pipeline.</p> <h2>Developing Arroyo</h2> <p>We love contributions from the community! See the <a href="https://doc.arroyo.dev/developing/dev-setup">developer setup</a> guide to get started, and reach out to the team on <a href="https://discord.gg/cjCr5rVmyR">discord</a> or create an issue.</p> <h2>Community</h2> <ul> <li><a href="https://discord.gg/cjCr5rVmyR">Discord</a> — support and project discussion</li> <li><a href="https://github.com/ArroyoSystems/arroyo/issues">GitHub issues</a> — bugs and feature requests</li> <li><a href="https://arroyo.dev/blog">Arroyo Blog</a> — updates from the Arroyo team</li> </ul> <h2>Arroyo Cloud</h2> <p>Don't want to self-host? Arroyo Systems provides fully-managed cloud hosting for Arroyo. Sign up <a href="https://arroyo.dev">here</a>.</p> - - - paritytech/polkadot-sdk - 2023-10-22T02:00:48Z - tag:github.com,2023-10-22:/paritytech/polkadot-sdk - - <p>The Parity Polkadot Blockchain SDK</p><hr><blockquote> <p>NOTE: We have recently made significant changes to our repository structure. In order to streamline our development process and foster better contributions, we have merged three separate repositories Cumulus, Substrate and Polkadot into this repository. Read more about the changes <a href="https://polkadot-public.notion.site/Polkadot-SDK-FAQ-fbc4cecc2c46443fb37b9eeec2f0d85f"> here</a>.</p> </blockquote> <h1>Polkadot SDK</h1> <p><img src="https://cms.polkadot.network/content/images/2021/06/1-xPcVR_fkITd0ssKBvJ3GMw.png" alt=""></p> <p><a href="https://substrate.stackexchange.com/"><img src="https://img.shields.io/badge/StackExchange-Community%20&amp;%20Support-222222?logo=stackexchange" alt="StackExchange"></a></p> <p>The Polkadot SDK repository provides all the resources needed to start building on the Polkadot network, a multi-chain blockchain platform that enables different blockchains to interoperate and share information in a secure and scalable way. The Polkadot SDK comprises three main pieces of software:</p> <h2><a href="https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/polkadot/">Polkadot</a></h2> <p><a href="https://forum.polkadot.network/"><img src="https://img.shields.io/badge/Polkadot_Forum-e6007a?logo=polkadot" alt="PolkadotForum"></a> <a href="https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/polkadot/LICENSE"><img src="https://img.shields.io/badge/License-GPL3-blue" alt="Polkadot-license"></a></p> <p>Implementation of a node for the <a href="https://polkadot.network">https://polkadot.network</a> in Rust, using the Substrate framework. This directory currently contains runtimes for the Polkadot, Kusama, Westend, and Rococo networks. In the future, these will be relocated to the <a href="https://github.com/polkadot-fellows/runtimes/"><code>runtimes</code></a> repository.</p> <h2><a href="https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/substrate/">Substrate</a></h2> <p><a href="https://paritytech.github.io/substrate/master/substrate/index.html"><img src="https://img.shields.io/badge/Rust_Docs-Substrate-24CC85?logo=rust" alt="SubstrateRustDocs"></a> <a href="https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/substrate/README.md#LICENSE"><img src="https://img.shields.io/badge/License-GPL3%2FApache2.0-blue" alt="Substrate-license"></a></p> <p>Substrate is the primary blockchain SDK used by developers to create the parachains that make up the Polkadot network. Additionally, it allows for the development of self-sovereign blockchains that operate completely independently of Polkadot.</p> <h2><a href="https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/cumulus/">Cumulus</a></h2> <p><a href="https://paritytech.github.io/cumulus/cumulus_client_collator/index.html"><img src="https://img.shields.io/badge/Rust_Docs-Cumulus-222222?logo=rust" alt="CumulusRustDocs"></a> <a href="https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/cumulus/LICENSE"><img src="https://img.shields.io/badge/License-GPL3-blue" alt="Cumulus-license"></a></p> <p>Cumulus is a set of tools for writing Substrate-based Polkadot parachains.</p> <h2>Upstream Dependencies</h2> <p>Below are the primary upstream dependencies utilized in this project:</p> <ul> <li><a href="https://crates.io/crates/parity-scale-codec"><code>parity-scale-codec</code></a></li> <li><a href="https://crates.io/crates/parity-db"><code>parity-db</code></a></li> <li><a href="https://github.com/paritytech/parity-common"><code>parity-common</code></a></li> <li><a href="https://github.com/paritytech/trie"><code>trie</code></a></li> </ul> <h2>Security</h2> <p>The security policy and procedures can be found in <a href="https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/docs/SECURITY.md">docs/SECURITY.md</a>.</p> <h2>Contributing &amp; Code of Conduct</h2> <p>Ensure you follow our <a href="https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/docs/CONTRIBUTING.md">contribution guidelines</a>. In every interaction and contribution, this project adheres to the <a href="https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/docs/CODE_OF_CONDUCT.md">Contributor Covenant Code of Conduct</a>.</p> <h2>Additional Resources</h2> <ul> <li>For monitoring upcoming changes and current proposals related to the technical implementation of the Polkadot network, visit the <a href="https://github.com/polkadot-fellows/RFCs"><code>Requests for Comment (RFC)</code></a> repository. While it's maintained by the Polkadot Fellowship, the RFC process welcomes contributions from everyone.</li> </ul> - - - web-infra-dev/oxc - 2023-10-22T02:00:48Z - tag:github.com,2023-10-22:/web-infra-dev/oxc - - <p>⚓ A suite of high-performance tools for JavaScript and TypeScript written in Rust.</p><hr><p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/Boshen/oxc-assets/main/preview-dark-transparent.png" width="600"> <img alt="OXC Logo" src="https://raw.githubusercontent.com/Boshen/oxc-assets/main/preview-white.png" width="600"> </picture> </p> <div align="center"> <p><a href="https://raw.githubusercontent.com/web-infra-dev/oxc/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg?sanitize=true" alt="MIT licensed"></a> <a href="https://github.com/web-infra-dev/oxc/actions/workflows/ci.yml?query=event%3Apush+branch%3Amain"><img src="https://github.com/web-infra-dev/oxc/actions/workflows/ci.yml/badge.svg?event=push&amp;branch=main" alt="Build Status"></a> <a href="https://codecov.io/gh/web-infra-dev/oxc"><img src="https://codecov.io/github/web-infra-dev/oxc/branch/main/graph/badge.svg?sanitize=true" alt="Code Coverage"></a> <a href="https://github.com/sponsors/Boshen"><img src="https://img.shields.io/github/sponsors/Boshen" alt="Sponsors"></a></p> <p><a href="https://discord.gg/9uXCAwqQZW"><img src="https://img.shields.io/discord/1079625926024900739?logo=discord&amp;label=Discord" alt="Discord chat"></a> <a href="https://web-infra-dev.github.io/oxc/playground"><img src="https://img.shields.io/badge/Playground-blue?color=9BE4E0" alt="Playground"></a></p> </div> <h2>⚓ Oxc</h2> <p>The Oxidation Compiler is creating a suite of high-performance tools for JavaScript and TypeScript.</p> <p>Oxc is building a parser, linter, formatter, transpiler, minifier, resolver ... all written in Rust.</p> <h2>💡 Philosophy</h2> <p>This project shares the same philosophies as <a href="https://biomejs.dev/">Biome</a> and <a href="https://beta.ruff.rs">Ruff</a>.</p> <ol> <li>JavaScript tooling could be rewritten in a more performant language.</li> <li>An integrated toolchain can tap into efficiencies that are not available to a disparate set of tools.</li> </ol> <h2>⚡️ Quick Start</h2> <p>The linter is ready to catch mistakes for you. It comes with over 60 default rules and no configuration is required.</p> <p>To start using, install <a href="https://www.npmjs.com/package/oxlint">oxlint</a> or via <code>npx</code>:</p> <pre><code class="language-bash">npx oxlint@latest . </code></pre> <p>To give you an idea of its capabilities, here is an example from the <a href="https://github.com/microsoft/vscode">vscode</a> repository, which finishes linting 4000+ files in 0.5 seconds.</p> <p float="left" align="left"> <img src="https://raw.githubusercontent.com/Boshen/oxc-assets/main/linter-screenshot.png" width="60%"> </p> <h2>⚡️ Performance</h2> <ul> <li>The parser aim to be the fastest Rust-based ready-for-production parser.</li> <li>The linter is more than 50 times faster than <a href="https://eslint.org/">ESLint</a>, and scales with the number of CPU cores.</li> </ul> <p float="left" align="middle"> <img src="https://raw.githubusercontent.com/Boshen/bench-javascript-parser-written-in-rust/main/bar-graph.svg?sanitize=true" width="49%"> <img src="https://raw.githubusercontent.com/Boshen/bench-javascript-linter/main/bar-graph.svg?sanitize=true" width="49%"> </p> <h2>⌨️ Programming Usage</h2> <h3>Rust</h3> <p>Individual crates are published, you may use them to build your own JavaScript tools.</p> <ul> <li>The umbrella crate <a href="https://docs.rs/oxc">oxc</a> exports all public crates from this repository.</li> <li>The AST and parser crates <a href="https://docs.rs/oxc_ast">oxc_ast</a> and <a href="https://docs.rs/oxc_parser">oxc_parser</a> are production ready.</li> <li>See <code>crates/*/examples</code> for example usage.</li> </ul> <p>While Rust has gained a reputation for its comparatively slower compilation speed, we have dedicated significant effort to fine-tune the Rust compilation speed. Our aim is to minimize any impact on your development workflow, ensuring that developing your own Oxc based tools remains a smooth and efficient experience.</p> <p>This is demonstrated by our <a href="https://github.com/web-infra-dev/oxc/actions/workflows/ci.yml?query=branch%3Amain">CI runs</a>, where warm runs complete in 5 minutes.</p> <h3>Node.js</h3> <ul> <li>You may use the parser via napi: <a href="https://www.npmjs.com/package/@oxidation-compiler/napi">@oxidation-compiler/napi</a></li> </ul> <hr> <h2>🎯 Tools</h2> <ul> <li><a href="https://raw.githubusercontent.com/web-infra-dev/oxc/main/#-ast-and-parser">AST and Parser</a></li> <li><a href="https://raw.githubusercontent.com/web-infra-dev/oxc/main/#-linter">Linter</a></li> <li><a href="https://raw.githubusercontent.com/web-infra-dev/oxc/main/#-resolver">Resolver</a></li> <li><a href="https://raw.githubusercontent.com/web-infra-dev/oxc/main/#-minifier">Minifier</a></li> <li><a href="https://raw.githubusercontent.com/web-infra-dev/oxc/main/#-formatter">Formatter</a></li> <li><a href="https://raw.githubusercontent.com/web-infra-dev/oxc/main/#-transpiler">Transpiler</a></li> <li><a href="https://raw.githubusercontent.com/web-infra-dev/oxc/main/#-ezno-type-checker">Ezno Type Checker</a></li> </ul> <h3>🔸 AST and Parser</h3> <p>Oxc maintains its own AST and parser, which is by far the fastest and most conformant JavaScript and TypeScript (including JSX and TSX) parser written in Rust.</p> <p>As the parser often represents a key performance bottleneck in JavaScript tooling, any minor improvements can have a cascading effect on our downstream tools. By developing our parser, we have the opportunity to explore and implement well-researched performance techniques.</p> <p>While many existing JavaScript tools rely on <a href="https://github.com/estree/estree">estree</a> as their AST specification, a notable drawback is its abundance of ambiguous nodes. This ambiguity often leads to confusion during development with <a href="https://github.com/estree/estree">estree</a>.</p> <p>The Oxc AST differs slightly from the <a href="https://github.com/estree/estree">estree</a> AST by removing ambiguous nodes and introducing distinct types. For example, instead of using a generic <a href="https://github.com/estree/estree">estree</a> <code>Identifier</code>, the Oxc AST provides specific types such as <code>BindingIdentifier</code>, <code>IdentifierReference</code>, and <code>IdentifierName</code>. This clear distinction greatly enhances the development experience by aligning more closely with the ECMAScript specification.</p> <h4>🏆 Parser Performance</h4> <p>Our <a href="https://github.com/Boshen/bench-javascript-parser-written-in-rust">benchmark</a> reveals that the Oxc parser surpasses the speed of the <a href="https://swc.rs">swc</a> parser by approximately 2 times and the <a href="https://biomejs.dev/">Biome</a> parser by 3 times.</p> <details> <summary>How is it so fast?</summary> <ul> <li>AST is allocated in a memory arena (<a href="https://crates.io/crates/bumpalo">bumpalo</a>) for fast AST memory allocation and deallocation.</li> <li>Short strings are inlined by <a href="https://crates.io/crates/compact_str">CompactString</a>.</li> <li>No other heap allocations are done except the above two.</li> <li>Scope binding, symbol resolution and some syntax errors are not done in the parser, they are delegated to the semantic analyzer.</li> </ul> </details> <h3>🔸 Linter</h3> <p>The linter embraces convention over configuration, eliminating the need for extensive configuration and plugin setup. Unlike other linters like <a href="https://eslint.org/">ESLint</a>, which often require intricate configurations and plugin installations (e.g. <a href="https://typescript-eslint.io">@typescript-eslint</a>), our linter only requires a single command that you can immediately run on your codebase:</p> <pre><code class="language-bash">npx oxlint@latest . </code></pre> <p>We also plan to port essential plugins such as <a href="https://www.npmjs.com/package/eslint-plugin-import">eslint-plugin-import</a> and <a href="https://www.npmjs.com/package/eslint-plugin-jest">eslint-plugin-jest</a>.</p> <h4>🏆 Linter Performance</h4> <p>The linter is 50 - 100 times faster than <a href="https://eslint.org/">ESLint</a> depending on the number of rules and number of CPU cores used. It completes in less than a second for most codebases with a few hundred files and completes in a few seconds for larger monorepos. See <a href="https://github.com/Boshen/bench-javascript-linter">bench-javascript-linter</a> for details.</p> <p>As an upside, the binary is approximately 3MB, whereas <a href="https://eslint.org/">ESLint</a> and its associated plugin dependencies can easily exceed 100.</p> <p>You may also download the linter binary from the <a href="https://github.com/web-infra-dev/oxc/releases/latest">latest release tag</a> as a standalone binary, this lets you run the linter without a Node.js installation in your CI.</p> <details> <summary>How is it so fast?</summary> <ul> <li>Oxc parser is used.</li> <li>AST visit is a fast operation due to linear memory scan from the memory arena.</li> <li>Files are linted in a multi-threaded environment, so scales with the total number of CPU cores.</li> <li>Every single lint rule is tuned for performance.</li> </ul> </details> <h4>Linter Plugin</h4> <p>We are currently developing a DSL-based plugin system. The plugin system uses <a href="https://github.com/obi1kenobi/trustfall">trustfall</a> as its query engine and a subset of GraphQL as its query language.</p> <p>You will not need to use JavaScript or Rust to write a plugin, this is useful for QAs and security researchers.</p> <h3>🔸 Resolver</h3> <p>Module resolution plays a crucial role in JavaScript tooling, especially for tasks like multi-file analysis or bundling. However, it can often become a performance bottleneck. To address this, we are actively working on porting <a href="https://github.com/webpack/enhanced-resolve">enhanced-resolve</a>.</p> <p><a href="https://www.npmjs.com/package/eslint-plugin-import">eslint-plugin-import</a> will be our first application for the resolver, since it is currently a performance and complexity blocker for a lot of projects.</p> <h3>🔸 Transpiler</h3> <p>A transpiler is responsible for turning higher versions of ECMAScript to a lower version that can be used in older browsers. We are currently focusing on an esnext to es2015 transpiler. See the <a href="https://github.com/web-infra-dev/oxc/issues/974">umbrella issue</a> for details.</p> <h3>🔸 Minifier</h3> <p>JavaScript minification plays a crucial role in optimizing website performance as it reduces the amount of data sent to users, resulting in faster page loads. This holds tremendous economic value, particularly for e-commerce websites, where every second can equate to millions of dollars.</p> <p>However, existing minifiers typically require a trade-off between compression quality and speed. You have to choose between the slowest for the best compression or the fastest for less compression. But what if we could develop a faster minifier without compromising on compression?</p> <p>We are actively working on a prototype that aims to achieve this goal, by porting all test cases from well-known minifiers such as <a href="https://github.com/google/closure-compiler">google-closure-compiler</a>, <a href="https://terser.org">terser</a>, <a href="https://esbuild.github.io/">esbuild</a>, and <a href="https://github.com/tdewolff/minify">tdewolff-minify</a>.</p> <p>Preliminary results indicate that we are on track to achieve our objectives. With the Oxc minifier, you can expect faster minification times without sacrificing compression quality.</p> <h3>🔸 Formatter</h3> <p>While <a href="https://github.com/prettier/prettier">prettier</a> has established itself as the de facto code formatter for JavaScript, there is a significant demand in the developer community for a less opinionated alternative. Recognizing this need, our ambition is to undertake research and development to create a new JavaScript formatter that offers increased flexibility and customization options. Unfortunately we are currently lacking the resources to do so.</p> <h3>🔸 Ezno Type Checker</h3> <p>Developed by @kaleidawave, <a href="https://github.com/kaleidawave/ezno">ezno</a> is a TypeScript checker written in Rust with a focus on static analysis and runtime performance. You may read the <a href="https://kaleidawave.github.io/posts/introducing-ezno/">announcement blog post</a> for more information.</p> <p>The type checker is available via <code>npx oxidation-compiler@latest check path</code> and the <a href="https://web-infra-dev.github.io/oxc/playground">playground</a>.</p> <hr> <h2>✍️ Contribute</h2> <p>See <a href="https://raw.githubusercontent.com/web-infra-dev/oxc/main/CONTRIBUTING.md">CONTRIBUTING.md</a> for guidance.</p> <p>Check out some of the <a href="https://github.com/web-infra-dev/oxc/contribute">good first issues</a> or ask us on <a href="https://discord.gg/9uXCAwqQZW">Discord</a>.</p> <p>If you are unable to contribute by code, you can still participate by:</p> <ul> <li>Add a <a href="https://github.com/web-infra-dev/oxc/stargazers">GitHub Star</a> to the project.</li> <li>Join us on <a href="https://discord.gg/9uXCAwqQZW">Discord</a>.</li> <li><a href="https://twitter.com/boshen_c">Follow me on twitter</a> and tweet about this project.</li> </ul> <h2>📚 Learning Resources</h2> <ul> <li>My small tutorial on <a href="https://boshen.github.io/javascript-parser-in-rust/">how to write a JavaScript Parser in Rust</a></li> <li>My small article <a href="https://rustmagazine.org/issue-3/javascript-compiler/">Pursuit of Performance on Building a JavaScript Compiler</a></li> <li><a href="https://craftinginterpreters.com">Crafting Interpreters</a></li> <li><a href="https://vimeo.com/649009599">Andrew Kelley - Practical DOD</a></li> </ul> <h2>🧑‍💻 Maintenance</h2> <ul> <li>Oxc is currently being developed and maintained by project lead <a href="https://github.com/boshen">Boshen</a> with the help of <a href="https://github.com/web-infra-dev/oxc/graphs/contributors">contributors</a> from all over the world</li> <li>APIs should be simple and well-documented</li> <li>All performance issues (runtime and compilation speed) are considered as bugs in this project</li> <li>Third-party dependencies should be minimal</li> <li>Code coverage should be monitored for unused code. Aim for 99% code coverage</li> <li>Embrace data-oriented design</li> </ul> <h2>🤝 Credits</h2> <p>This project was incubated with the assistance of these exceptional mentors and their projects:</p> <ul> <li><a href="https://biomejs.dev/">Biome</a> - <a href="https://github.com/ematipico">@ematipico</a></li> <li><a href="https://beta.ruff.rs">Ruff</a> - <a href="https://github.com/charliermarsh">@charliermarsh</a>, <a href="https://github.com/MichaReiser">@MichaReiser</a></li> <li><a href="https://quick-lint-js.com">quick-lint-js</a> - <a href="https://github.com/strager">@strager</a></li> <li><a href="https://package.elm-lang.org/packages/jfmengels/elm-review/latest">elm-review</a> - <a href="https://github.com/jfmengels">@jfmengels</a></li> </ul> <p>Special thanks go to</p> <ul> <li><a href="https://github.com/domonji">@domonji</a> for contribution to the TypeScript parser</li> <li><a href="https://github.com/guan-wy">@guan-wy</a> for the <a href="https://github.com/Boshen/oxc-assets">project logo</a></li> </ul> <p>And also</p> <ul> <li><a href="https://github.com/kaleidawave">@kaleidawave</a> for <a href="https://raw.githubusercontent.com/web-infra-dev/oxc/main/#-ezno-type-checker">Ezno Type Checker</a></li> <li><a href="https://github.com/zackradisic">@zackradisic</a> for <a href="https://github.com/zackradisic/tyvm">tyvm</a></li> <li><a href="https://github.com/u9g">@u9g</a> for the work in progress <a href="https://raw.githubusercontent.com/web-infra-dev/oxc/main/crates/oxc_linter_plugin">oxc_linter_plugin</a></li> </ul> <h2>📖 License</h2> <p>Oxc is free and open-source software licensed under the <a href="https://raw.githubusercontent.com/web-infra-dev/oxc/main/LICENSE">MIT License</a>.</p> <p>Oxc partially copies code from the following projects, their licenses are listed in <a href="https://raw.githubusercontent.com/web-infra-dev/oxc/main/THIRD-PARTY-LICENSE"><strong>Third-party library licenses</strong></a>.</p> <table> <thead> <tr> <th>Project</th> <th>License</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/eslint/eslint">eslint/eslint</a></td> <td><a href="https://github.com/eslint/eslint/raw/main/LICENSE">MIT</a></td> </tr> <tr> <td><a href="https://github.com/typescript-eslint/typescript-eslint">typescript-eslint/typescript-eslint</a></td> <td><a href="https://github.com/typescript-eslint/typescript-eslint/raw/main/LICENSE">MIT</a></td> </tr> <tr> <td><a href="https://github.com/import-js/eslint-plugin-import">import-js/eslint-plugin-import</a></td> <td><a href="https://github.com/import-js/eslint-plugin-import/raw/main/LICENSE">MIT</a></td> </tr> <tr> <td><a href="https://github.com/jest-community/eslint-plugin-jest">jest-community/eslint-plugin-jest</a></td> <td><a href="https://github.com/jest-community/eslint-plugin-jest/raw/main/LICENSE">MIT</a></td> </tr> <tr> <td><a href="https://github.com/microsoft/TypeScript">microsoft/TypeScript</a></td> <td><a href="https://github.com/microsoft/TypeScript/raw/main/LICENSE.txt">Apache 2.0</a></td> </tr> <tr> <td><a href="https://github.com/rome/tools">rome/tools</a></td> <td><a href="https://github.com/rome/tools/raw/main/LICENSE">MIT</a></td> </tr> <tr> <td><a href="https://github.com/mozilla-spidermonkey/jsparagus">mozilla-spidermonkey/jsparagus</a></td> <td><a href="https://github.com/mozilla-spidermonkey/jsparagus/raw/master/LICENSE-MIT">MIT</a> <a href="https://github.com/mozilla-spidermonkey/jsparagus/raw/master/LICENSE-APACHE-2.0">Apache 2.0</a></td> </tr> <tr> <td><a href="https://github.com/acornjs/acorn">acorn</a></td> <td><a href="https://github.com/acornjs/acorn/raw/master/acorn/LICENSE">MIT</a></td> </tr> <tr> <td><a href="https://github.com/zkat/miette">zkat/miette</a></td> <td><a href="https://github.com/zkat/miette/raw/main/LICENSE">Apache 2.0</a></td> </tr> <tr> <td><a href="https://github.com/sindresorhus/globals">sindresorhus/globals</a></td> <td><a href="https://github.com/sindresorhus/globals/raw/main/license">MIT</a></td> </tr> <tr> <td><a href="https://github.com/terser/terser">terser</a></td> <td><a href="https://github.com/terser/terser/raw/master/LICENSE">BSD</a></td> </tr> <tr> <td><a href="https://github.com/evanw/esbuild">evanw/esbuild</a></td> <td><a href="https://github.com/evanw/esbuild/raw/main/LICENSE.md">MIT</a></td> </tr> <tr> <td><a href="https://github.com/google/closure-compiler">google/closure-compiler</a></td> <td><a href="https://github.com/google/closure-compiler#closure-compiler-license">Apache 2.0</a></td> </tr> <tr> <td><a href="https://github.com/tdewolff/minify">tdewolff/minify</a></td> <td><a href="https://github.com/tdewolff/minify/raw/master/LICENSE">MIT</a></td> </tr> <tr> <td><a href="https://github.com/parcel-bundler/parcel">parcel-bundler/parcel</a></td> <td><a href="https://github.com/parcel-bundler/parcel/raw/v2/LICENSE">MIT</a></td> </tr> <tr> <td><a href="https://github.com/dividab/tsconfig-paths">dividab/tsconfig-paths</a></td> <td><a href="https://github.com/dividab/tsconfig-paths/raw/master/LICENSE">MIT</a></td> </tr> <tr> <td><a href="https://github.com/tmccombs/json-comments-rs">tmccombs/json-comments-rs</a></td> <td><a href="https://github.com/tmccombs/json-comments-rs/raw/main/LICENSE">Apache 2.0</a></td> </tr> </tbody> </table> - - \ No newline at end of file diff --git a/sage/daily/index.xml b/sage/daily/index.xml index 9d2c324811a..847ddcbc2e1 100644 --- a/sage/daily/index.xml +++ b/sage/daily/index.xml @@ -1,7 +1,7 @@ GitHub Sage Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:06Z + 2023-10-23T01:39:42Z Daily Trending of Sage in GitHub \ No newline at end of file diff --git a/sage/weekly/index.xml b/sage/weekly/index.xml deleted file mode 100644 index 13c36f48b9b..00000000000 --- a/sage/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Sage Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:15Z - Weekly Trending of Sage in GitHub - - \ No newline at end of file diff --git a/saltstack/daily/index.xml b/saltstack/daily/index.xml index 0065d61377a..1443759b7c3 100644 --- a/saltstack/daily/index.xml +++ b/saltstack/daily/index.xml @@ -1,7 +1,7 @@ GitHub SaltStack Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:05Z + 2023-10-23T01:39:41Z Daily Trending of SaltStack in GitHub \ No newline at end of file diff --git a/saltstack/weekly/index.xml b/saltstack/weekly/index.xml deleted file mode 100644 index 3b9fc72df54..00000000000 --- a/saltstack/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SaltStack Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:13Z - Weekly Trending of SaltStack in GitHub - - \ No newline at end of file diff --git a/sas/daily/index.xml b/sas/daily/index.xml index 345691fa8ca..d93f73e5a8c 100644 --- a/sas/daily/index.xml +++ b/sas/daily/index.xml @@ -1,7 +1,7 @@ GitHub SAS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:06Z + 2023-10-23T01:39:40Z Daily Trending of SAS in GitHub \ No newline at end of file diff --git a/sas/weekly/index.xml b/sas/weekly/index.xml deleted file mode 100644 index dd551f7ab93..00000000000 --- a/sas/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SAS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:13Z - Weekly Trending of SAS in GitHub - - \ No newline at end of file diff --git a/sass/daily/index.xml b/sass/daily/index.xml index f1f252668a0..251aeaa16fc 100644 --- a/sass/daily/index.xml +++ b/sass/daily/index.xml @@ -1,7 +1,7 @@ GitHub Sass Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:07Z + 2023-10-23T01:39:43Z Daily Trending of Sass in GitHub \ No newline at end of file diff --git a/sass/weekly/index.xml b/sass/weekly/index.xml deleted file mode 100644 index 687e6d98132..00000000000 --- a/sass/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Sass Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:15Z - Weekly Trending of Sass in GitHub - - \ No newline at end of file diff --git a/scala/daily/index.xml b/scala/daily/index.xml index 892ed7d0dbc..0f491c423ee 100644 --- a/scala/daily/index.xml +++ b/scala/daily/index.xml @@ -1,14 +1,14 @@ GitHub Scala Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:14Z + 2023-10-23T01:39:50Z Daily Trending of Scala in GitHub - softwaremill/bootzooka - 2023-10-22T01:42:14Z - tag:github.com,2023-10-22:/softwaremill/bootzooka - - <p>Simple project to quickly start developing a Scala-based microservice or web application, without the need to write login, user registration etc.</p><hr><p><img src="https://github.com/softwaremill/bootzooka/raw/master/banner.png" alt="Bootzooka"></p> <p><a href="http://softwaremill.github.io/bootzooka/">See the docs</a> for more information.</p> <p><a href="https://github.com/softwaremill/bootzooka/actions?query=workflow%3A%22Bootzooka+CI%22"><img src="https://github.com/softwaremill/bootzooka/workflows/Bootzooka%20CI/badge.svg?sanitize=true" alt=" CI "></a></p> <h2>Quick start</h2> <h3>Backend: PostgreSQL &amp; API</h3> <p>In order to run Bootzooka, you'll need a running instance of the PostgreSQL with a <code>bootzooka</code> database. You can spin up one easily using docker:</p> <pre><code class="language-sh"># use "bootzooka" as a password docker run --name bootzooka-postgres -p 5432:5432 -e POSTGRES_PASSWORD=bootzooka -e POSTGRES_DB=bootzooka -d postgres </code></pre> <p>Then, you can start the backend:</p> <pre><code class="language-sh">export SQL_PASSWORD=bootzooka ./backend-start.sh </code></pre> <h3>Frontend: Yarn &amp; webapp</h3> <p>You will need the <a href="https://yarnpkg.com">yarn package manager</a> to run the UI. Install it using your package manager or:</p> <pre><code class="language-sh">curl -o- -L https://yarnpkg.com/install.sh | bash </code></pre> <p>Then, you can start the frontend:</p> <pre><code class="language-sh">./frontend-start.sh </code></pre> <p>And open <code>http://localhost:3000</code>.</p> <h2>Commercial Support</h2> <p>We offer commercial support for Bootzooka and related technologies, as well as development services. <a href="https://softwaremill.com">Contact us</a> to learn more about our offer!</p> <h2>Copyright</h2> <p>Copyright (C) 2013-2022 SoftwareMill <a href="https://softwaremill.com">https://softwaremill.com</a>.</p> + jumpbox-academy/simple-web-api-boilerplates + 2023-10-23T01:39:50Z + tag:github.com,2023-10-23:/jumpbox-academy/simple-web-api-boilerplates + + <p></p><hr><h1>Simple web application with golang</h1> <h2>Compile to executable file</h2> <pre><code>cargo build --release </code></pre> <h2>Executable file output to</h2> <pre><code>target/release/&lt;name&gt; </code></pre> <h2>how to run</h2> <pre><code>./&lt;name&gt; </code></pre> \ No newline at end of file diff --git a/scala/weekly/index.xml b/scala/weekly/index.xml deleted file mode 100644 index 7acf0b6a10e..00000000000 --- a/scala/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Scala Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:22Z - Weekly Trending of Scala in GitHub - - - databricks/spark-xml - 2023-10-22T02:01:22Z - tag:github.com,2023-10-22:/databricks/spark-xml - - <p>XML data source for Spark SQL and DataFrames</p><hr><h1>XML Data Source for Apache Spark 3.x</h1> <ul> <li> <p>A library for parsing and querying XML data with <a href="https://spark.apache.org">Apache Spark</a>, for Spark SQL and DataFrames. The structure and test tools are mostly copied from <a href="https://github.com/databricks/spark-csv">CSV Data Source for Spark</a>.</p> </li> <li> <p>This package supports to process format-free XML files in a distributed way, unlike JSON datasource in Spark restricts in-line JSON format.</p> </li> <li> <p>Compatible with Spark 3.0 and later with Scala 2.12, and also Spark 3.2 and later with Scala 2.12 or 2.13. Scala 2.11 and Spark 2 support ended with version 0.13.0.</p> </li> <li> <p>Currently, <code>spark-xml</code> is planned to <a href="https://github.com/apache/spark/pull/41832">become a part of Apache Spark 4.0</a>. This library will remain in maintenance mode for Spark 3.x versions.</p> </li> </ul> <h2>Linking</h2> <p>You can link against this library in your program at the following coordinates:</p> <pre><code>groupId: com.databricks artifactId: spark-xml_2.12 version: 0.17.0 </code></pre> <h2>Using with Spark shell</h2> <p>This package can be added to Spark using the <code>--packages</code> command line option. For example, to include it when starting the spark shell:</p> <pre><code>$SPARK_HOME/bin/spark-shell --packages com.databricks:spark-xml_2.12:0.17.0 </code></pre> <h2>Features</h2> <p>This package allows reading XML files in local or distributed filesystem as <a href="https://spark.apache.org/docs/latest/sql-programming-guide.html">Spark DataFrames</a>.</p> <p>When reading files the API accepts several options:</p> <ul> <li><code>path</code>: Location of files. Similar to Spark can accept standard Hadoop globbing expressions.</li> <li><code>rowTag</code>: The row tag of your xml files to treat as a row. For example, in this xml <code>&lt;books&gt; &lt;book&gt;&lt;book&gt; ...&lt;/books&gt;</code>, the appropriate value would be <code>book</code>. Default is <code>ROW</code>.</li> <li><code>samplingRatio</code>: Sampling ratio for inferring schema (0.0 ~ 1). Default is 1. Possible types are <code>StructType</code>, <code>ArrayType</code>, <code>StringType</code>, <code>LongType</code>, <code>DoubleType</code>, <code>BooleanType</code>, <code>TimestampType</code> and <code>NullType</code>, unless user provides a schema for this.</li> <li><code>excludeAttribute</code> : Whether you want to exclude attributes in elements or not. Default is false.</li> <li><code>treatEmptyValuesAsNulls</code> : (DEPRECATED: use <code>nullValue</code> set to <code>""</code>) Whether you want to treat whitespaces as a null value. Default is false</li> <li><code>mode</code>: The mode for dealing with corrupt records during parsing. Default is <code>PERMISSIVE</code>. <ul> <li><code>PERMISSIVE</code> : <ul> <li>When it encounters a corrupted record, it sets all fields to <code>null</code> and puts the malformed string into a new field configured by <code>columnNameOfCorruptRecord</code>.</li> <li>When it encounters a field of the wrong datatype, it sets the offending field to <code>null</code>.</li> </ul> </li> <li><code>DROPMALFORMED</code> : ignores the whole corrupted records.</li> <li><code>FAILFAST</code> : throws an exception when it meets corrupted records.</li> </ul> </li> <li><code>inferSchema</code>: if <code>true</code>, attempts to infer an appropriate type for each resulting DataFrame column, like a boolean, numeric or date type. If <code>false</code>, all resulting columns are of string type. Default is <code>true</code>.</li> <li><code>columnNameOfCorruptRecord</code>: The name of new field where malformed strings are stored. Default is <code>_corrupt_record</code>.</li> <li><code>attributePrefix</code>: The prefix for attributes so that we can differentiate attributes and elements. This will be the prefix for field names. Default is <code>_</code>. Can be empty, but only for reading XML.</li> <li><code>valueTag</code>: The tag used for the value when there are attributes in the element having no child. Default is <code>_VALUE</code>.</li> <li><code>charset</code>: Defaults to 'UTF-8' but can be set to other valid charset names</li> <li><code>ignoreSurroundingSpaces</code>: Defines whether or not surrounding whitespaces from values being read should be skipped. Default is false.</li> <li><code>wildcardColName</code>: Name of a column existing in the provided schema which is interpreted as a 'wildcard'. It must have type string or array of strings. It will match any XML child element that is not otherwise matched by the schema. The XML of the child becomes the string value of the column. If an array, then all unmatched elements will be returned as an array of strings. As its name implies, it is meant to emulate XSD's <code>xs:any</code> type. Default is <code>xs_any</code>. New in 0.11.0.</li> <li><code>rowValidationXSDPath</code>: Path to an XSD file that is used to validate the XML for each row individually. Rows that fail to validate are treated like parse errors as above. The XSD does not otherwise affect the schema provided, or inferred. Note that if the same local path is not already also visible on the executors in the cluster, then the XSD and any others it depends on should be added to the Spark executors with <a href="https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.SparkContext@addFile(path:String):Unit"><code>SparkContext.addFile</code></a>. In this case, to use local XSD <code>/foo/bar.xsd</code>, call <code>addFile("/foo/bar.xsd")</code> and pass just <code>"bar.xsd"</code> as <code>rowValidationXSDPath</code>.</li> <li><code>ignoreNamespace</code>: If true, namespaces prefixes on XML elements and attributes are ignored. Tags <code>&lt;abc:author&gt;</code> and <code>&lt;def:author&gt;</code> would, for example, be treated as if both are just <code>&lt;author&gt;</code>. Note that, at the moment, namespaces cannot be ignored on the <code>rowTag</code> element, only its children. Note that XML parsing is in general not namespace-aware even if <code>false</code>. Defaults to <code>false</code>. New in 0.11.0.</li> <li><code>timestampFormat</code>: Specifies an additional timestamp format that will be tried when parsing values as <code>TimestampType</code> columns. The format is specified as described in <a href="https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html">DateTimeFormatter</a>. Defaults to try several formats, including <a href="https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_INSTANT">ISO_INSTANT</a>, including variations with offset timezones or no timezone (defaults to UTC). New in 0.12.0. As of 0.16.0, if a custom format pattern is used without a timezone, the default Spark timezone specified by <code>spark.sql.session.timeZone</code> will be used.</li> <li><code>timezone</code>: identifier of timezone to be used when reading timestamps without a timezone specified. New in 0.16.0.</li> <li><code>dateFormat</code>: Specifies an additional timestamp format that will be tried when parsing values as <code>DateType</code> columns. The format is specified as described in <a href="https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html">DateTimeFormatter</a>. Defaults to <a href="https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_DATE">ISO_DATE</a>. New in 0.12.0.</li> </ul> <p>When writing files the API accepts several options:</p> <ul> <li><code>path</code>: Location to write files.</li> <li><code>rowTag</code>: The row tag of your xml files to treat as a row. For example, in <code>&lt;books&gt; &lt;book&gt;&lt;book&gt; ...&lt;/books&gt;</code>, the appropriate value would be <code>book</code>. Default is <code>ROW</code>.</li> <li><code>rootTag</code>: The root tag of your xml files to treat as the root. For example, in <code>&lt;books&gt; &lt;book&gt;&lt;book&gt; ...&lt;/books&gt;</code>, the appropriate value would be <code>books</code>. It can include basic attributes by specifying a value like <code>books foo="bar"</code> (as of 0.11.0). Default is <code>ROWS</code>.</li> <li><code>declaration</code>: Content of XML declaration to write at the start of every output XML file, before the <code>rootTag</code>. For example, a value of <code>foo</code> causes <code>&lt;?xml foo?&gt;</code> to be written. Set to empty string to suppress. Defaults to <code>version="1.0" encoding="UTF-8" standalone="yes"</code>. New in 0.14.0.</li> <li><code>arrayElementName</code>: Name of XML element that encloses each element of an array-valued column when writing. Default is <code>item</code>. New in 0.16.0.</li> <li><code>nullValue</code>: The value to write <code>null</code> value. Default is string <code>null</code>. When this is <code>null</code>, it does not write attributes and elements for fields.</li> <li><code>attributePrefix</code>: The prefix for attributes so that we can differentiating attributes and elements. This will be the prefix for field names. Default is <code>_</code>. Cannot be empty for writing XML.</li> <li><code>valueTag</code>: The tag used for the value when there are attributes in the element having no child. Default is <code>_VALUE</code>.</li> <li><code>compression</code>: compression codec to use when saving to file. Should be the fully qualified name of a class implementing <code>org.apache.hadoop.io.compress.CompressionCodec</code> or one of case-insensitive shorten names (<code>bzip2</code>, <code>gzip</code>, <code>lz4</code>, and <code>snappy</code>). Defaults to no compression when a codec is not specified.</li> <li><code>timestampFormat</code>: Controls the format used to write <code>TimestampType</code> format columns. The format is specified as described in <a href="https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html">DateTimeFormatter</a>. Defaults to <a href="https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_INSTANT">ISO_INSTANT</a>. New in 0.12.0. As of 0.16.0, if a custom format pattern is used without a timezone, the default Spark timezone specified by <code>spark.sql.session.timeZone</code> will be used.</li> <li><code>timezone</code>: identifier of timezone to be used when writing timestamps without a timezone specified. New in 0.16.0.</li> <li><code>dateFormat</code>: Controls the format used to write <code>DateType</code> format columns. The format is specified as described in <a href="https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html">DateTimeFormatter</a>. Defaults to <a href="https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_DATE">ISO_DATE</a>. New in 0.12.0.</li> </ul> <p>Currently it supports the shortened name usage. You can use just <code>xml</code> instead of <code>com.databricks.spark.xml</code>.</p> <h3>XSD Support</h3> <p>Per above, the XML for individual rows can be validated against an XSD using <code>rowValidationXSDPath</code>.</p> <p>The utility <code>com.databricks.spark.xml.util.XSDToSchema</code> can be used to extract a Spark DataFrame schema from <em>some</em> XSD files. It supports only simple, complex and sequence types, and only basic XSD functionality.</p> <pre><code class="language-scala">import com.databricks.spark.xml.util.XSDToSchema import java.nio.file.Paths val schema = XSDToSchema.read(Paths.get("/path/to/your.xsd")) val df = spark.read.schema(schema)....xml(...) </code></pre> <h3>Parsing Nested XML</h3> <p>Although primarily used to convert (portions of) large XML documents into a <code>DataFrame</code>, <code>spark-xml</code> can also parse XML in a string-valued column in an existing DataFrame with <code>from_xml</code>, in order to add it as a new column with parsed results as a struct.</p> <pre><code class="language-scala">import com.databricks.spark.xml.functions.from_xml import com.databricks.spark.xml.schema_of_xml import spark.implicits._ val df = ... /// DataFrame with XML in column 'payload' val payloadSchema = schema_of_xml(df.select("payload").as[String]) val parsed = df.withColumn("parsed", from_xml($"payload", payloadSchema)) </code></pre> <ul> <li>This can convert arrays of strings containing XML to arrays of parsed structs. Use <code>schema_of_xml_array</code> instead</li> <li><code>com.databricks.spark.xml.from_xml_string</code> is an alternative that operates on a String directly instead of a column, for use in UDFs</li> <li>If you use <code>DROPMALFORMED</code> mode with <code>from_xml</code>, then XML values that do not parse correctly will result in a <code>null</code> value for the column. No rows will be dropped.</li> <li>If you use <code>PERMISSIVE</code> mode with <code>from_xml</code> et al, which is the default, then the parse mode will actually instead default to <code>DROPMALFORMED</code>. If however you include a column in the schema for <code>from_xml</code> that matches the <code>columnNameOfCorruptRecord</code>, then <code>PERMISSIVE</code> mode will still output malformed records to that column in the resulting struct.</li> </ul> <h4>Pyspark notes</h4> <p>The functions above are exposed in the Scala API only, at the moment, as there is no separate Python package for <code>spark-xml</code>. They can be accessed from Pyspark by manually declaring some helper functions that call into the JVM-based API from Python. Example:</p> <pre><code class="language-python">from pyspark.sql.column import Column, _to_java_column from pyspark.sql.types import _parse_datatype_json_string def ext_from_xml(xml_column, schema, options={}): java_column = _to_java_column(xml_column.cast('string')) java_schema = spark._jsparkSession.parseDataType(schema.json()) scala_map = spark._jvm.org.apache.spark.api.python.PythonUtils.toScalaMap(options) jc = spark._jvm.com.databricks.spark.xml.functions.from_xml( java_column, java_schema, scala_map) return Column(jc) def ext_schema_of_xml_df(df, options={}): assert len(df.columns) == 1 scala_options = spark._jvm.PythonUtils.toScalaMap(options) java_xml_module = getattr(getattr( spark._jvm.com.databricks.spark.xml, "package$"), "MODULE$") java_schema = java_xml_module.schema_of_xml_df(df._jdf, scala_options) return _parse_datatype_json_string(java_schema.json()) </code></pre> <h2>Structure Conversion</h2> <p>Due to the structure differences between <code>DataFrame</code> and XML, there are some conversion rules from XML data to <code>DataFrame</code> and from <code>DataFrame</code> to XML data. Note that handling attributes can be disabled with the option <code>excludeAttribute</code>.</p> <h3>Conversion from XML to <code>DataFrame</code></h3> <ul> <li> <p><strong>Attributes</strong>: Attributes are converted as fields with the heading prefix, <code>attributePrefix</code>.</p> <pre><code class="language-xml">&lt;one myOneAttrib="AAAA"&gt; &lt;two&gt;two&lt;/two&gt; &lt;three&gt;three&lt;/three&gt; &lt;/one&gt; </code></pre> <p>produces a schema below:</p> <pre><code>root |-- _myOneAttrib: string (nullable = true) |-- two: string (nullable = true) |-- three: string (nullable = true) </code></pre> </li> <li> <p><strong>Value in an element that has no child elements but attributes</strong>: The value is put in a separate field, <code>valueTag</code>.</p> <pre><code class="language-xml">&lt;one&gt; &lt;two myTwoAttrib="BBBBB"&gt;two&lt;/two&gt; &lt;three&gt;three&lt;/three&gt; &lt;/one&gt; </code></pre> <p>produces a schema below:</p> <pre><code>root |-- two: struct (nullable = true) | |-- _VALUE: string (nullable = true) | |-- _myTwoAttrib: string (nullable = true) |-- three: string (nullable = true) </code></pre> </li> </ul> <h3>Conversion from <code>DataFrame</code> to XML</h3> <ul> <li> <p><strong>Element as an array in an array</strong>: Writing a XML file from <code>DataFrame</code> having a field <code>ArrayType</code> with its element as <code>ArrayType</code> would have an additional nested field for the element. This would not happen in reading and writing XML data but writing a <code>DataFrame</code> read from other sources. Therefore, roundtrip in reading and writing XML files has the same structure but writing a <code>DataFrame</code> read from other sources is possible to have a different structure.</p> <p><code>DataFrame</code> with a schema below:</p> <pre><code> |-- a: array (nullable = true) | |-- element: array (containsNull = true) | | |-- element: string (containsNull = true) </code></pre> <p>with data below:</p> <pre><code>+------------------------------------+ | a| +------------------------------------+ |[WrappedArray(aa), WrappedArray(bb)]| +------------------------------------+ </code></pre> <p>produces a XML file below:</p> <pre><code class="language-xml">&lt;a&gt; &lt;item&gt;aa&lt;/item&gt; &lt;/a&gt; &lt;a&gt; &lt;item&gt;bb&lt;/item&gt; &lt;/a&gt; </code></pre> </li> </ul> <h2>Examples</h2> <p>These examples use a XML file available for download <a href="https://github.com/databricks/spark-xml/raw/master/src/test/resources/books.xml">here</a>:</p> <pre><code>$ wget https://github.com/databricks/spark-xml/raw/master/src/test/resources/books.xml </code></pre> <h3>SQL API</h3> <p>XML data source for Spark can infer data types:</p> <pre><code class="language-sql">CREATE TABLE books USING com.databricks.spark.xml OPTIONS (path "books.xml", rowTag "book") </code></pre> <p>You can also specify column names and types in DDL. In this case, we do not infer schema.</p> <pre><code class="language-sql">CREATE TABLE books (author string, description string, genre string, _id string, price double, publish_date string, title string) USING com.databricks.spark.xml OPTIONS (path "books.xml", rowTag "book") </code></pre> <h3>Scala API</h3> <p>Import <code>com.databricks.spark.xml._</code> to get implicits that add the <code>.xml(...)</code> method to <code>DataFrame</code>. You can also use <code>.format("xml")</code> and <code>.load(...)</code>.</p> <pre><code class="language-scala">import org.apache.spark.sql.SparkSession import com.databricks.spark.xml._ val spark = SparkSession.builder().getOrCreate() val df = spark.read .option("rowTag", "book") .xml("books.xml") val selectedData = df.select("author", "_id") selectedData.write .option("rootTag", "books") .option("rowTag", "book") .xml("newbooks.xml") </code></pre> <p>You can manually specify the schema when reading data:</p> <pre><code class="language-scala">import org.apache.spark.sql.SparkSession import org.apache.spark.sql.types.{StructType, StructField, StringType, DoubleType} import com.databricks.spark.xml._ val spark = SparkSession.builder().getOrCreate() val customSchema = StructType(Array( StructField("_id", StringType, nullable = true), StructField("author", StringType, nullable = true), StructField("description", StringType, nullable = true), StructField("genre", StringType, nullable = true), StructField("price", DoubleType, nullable = true), StructField("publish_date", StringType, nullable = true), StructField("title", StringType, nullable = true))) val df = spark.read .option("rowTag", "book") .schema(customSchema) .xml("books.xml") val selectedData = df.select("author", "_id") selectedData.write .option("rootTag", "books") .option("rowTag", "book") .xml("newbooks.xml") </code></pre> <h3>Java API</h3> <pre><code class="language-java">import org.apache.spark.sql.SparkSession; SparkSession spark = SparkSession.builder().getOrCreate(); DataFrame df = spark.read() .format("xml") .option("rowTag", "book") .load("books.xml"); df.select("author", "_id").write() .format("xml") .option("rootTag", "books") .option("rowTag", "book") .save("newbooks.xml"); </code></pre> <p>You can manually specify schema:</p> <pre><code class="language-java">import org.apache.spark.sql.SparkSession; import org.apache.spark.sql.types.*; SparkSession spark = SparkSession.builder().getOrCreate(); StructType customSchema = new StructType(new StructField[] { new StructField("_id", DataTypes.StringType, true, Metadata.empty()), new StructField("author", DataTypes.StringType, true, Metadata.empty()), new StructField("description", DataTypes.StringType, true, Metadata.empty()), new StructField("genre", DataTypes.StringType, true, Metadata.empty()), new StructField("price", DataTypes.DoubleType, true, Metadata.empty()), new StructField("publish_date", DataTypes.StringType, true, Metadata.empty()), new StructField("title", DataTypes.StringType, true, Metadata.empty()) }); DataFrame df = spark.read() .format("xml") .option("rowTag", "book") .schema(customSchema) .load("books.xml"); df.select("author", "_id").write() .format("xml") .option("rootTag", "books") .option("rowTag", "book") .save("newbooks.xml"); </code></pre> <h3>Python API</h3> <pre><code class="language-python">from pyspark.sql import SparkSession spark = SparkSession.builder.getOrCreate() df = spark.read.format('xml').options(rowTag='book').load('books.xml') df.select("author", "_id").write \ .format('xml') \ .options(rowTag='book', rootTag='books') \ .save('newbooks.xml') </code></pre> <p>You can manually specify schema:</p> <pre><code class="language-python">from pyspark.sql import SparkSession from pyspark.sql.types import * spark = SparkSession.builder.getOrCreate() customSchema = StructType([ StructField("_id", StringType(), True), StructField("author", StringType(), True), StructField("description", StringType(), True), StructField("genre", StringType(), True), StructField("price", DoubleType(), True), StructField("publish_date", StringType(), True), StructField("title", StringType(), True)]) df = spark.read \ .format('xml') \ .options(rowTag='book') \ .load('books.xml', schema = customSchema) df.select("author", "_id").write \ .format('xml') \ .options(rowTag='book', rootTag='books') \ .save('newbooks.xml') </code></pre> <h3>R API</h3> <p>Automatically infer schema (data types)</p> <pre><code class="language-R">library(SparkR) sparkR.session("local[4]", sparkPackages = c("com.databricks:spark-xml_2.12:0.17.0")) df &lt;- read.df("books.xml", source = "xml", rowTag = "book") # In this case, `rootTag` is set to "ROWS" and `rowTag` is set to "ROW". write.df(df, "newbooks.csv", "xml", "overwrite") </code></pre> <p>You can manually specify schema:</p> <pre><code class="language-R">library(SparkR) sparkR.session("local[4]", sparkPackages = c("com.databricks:spark-xml_2.12:0.17.0")) customSchema &lt;- structType( structField("_id", "string"), structField("author", "string"), structField("description", "string"), structField("genre", "string"), structField("price", "double"), structField("publish_date", "string"), structField("title", "string")) df &lt;- read.df("books.xml", source = "xml", schema = customSchema, rowTag = "book") # In this case, `rootTag` is set to "ROWS" and `rowTag` is set to "ROW". write.df(df, "newbooks.csv", "xml", "overwrite") </code></pre> <h2>Hadoop InputFormat</h2> <p>The library contains a Hadoop input format for reading XML files by a start tag and an end tag. This is similar with <a href="https://github.com/apache/mahout/raw/9d14053c80a1244bdf7157ab02748a492ae9868a/integration/src/main/java/org/apache/mahout/text/wikipedia/XmlInputFormat.java">XmlInputFormat.java</a> in <a href="https://mahout.apache.org">Mahout</a> but supports to read compressed files, different encodings and read elements including attributes, which you may make direct use of as follows:</p> <pre><code class="language-scala">import com.databricks.spark.xml.XmlInputFormat import org.apache.spark.SparkContext import org.apache.hadoop.io.{LongWritable, Text} val sc: SparkContext = _ // This will detect the tags including attributes sc.hadoopConfiguration.set(XmlInputFormat.START_TAG_KEY, "&lt;book&gt;") sc.hadoopConfiguration.set(XmlInputFormat.END_TAG_KEY, "&lt;/book&gt;") val records = sc.newAPIHadoopFile( "path", classOf[XmlInputFormat], classOf[LongWritable], classOf[Text]) </code></pre> <h2>Building From Source</h2> <p>This library is built with <a href="https://www.scala-sbt.org/">SBT</a>. To build a JAR file simply run <code>sbt package</code> from the project root.</p> <h2>Acknowledgements</h2> <p>This project was initially created by <a href="https://github.com/HyukjinKwon">HyukjinKwon</a> and donated to <a href="https://databricks.com">Databricks</a>.</p> - - - neerajgangwar/echo - 2023-10-22T02:01:22Z - tag:github.com,2023-10-22:/neerajgangwar/echo - - <p>E-Book Search Engine</p><hr><h1>Echo</h1> <p>E-Book search Engine. Code for indexing and searching.</p> - - \ No newline at end of file diff --git a/scaml/daily/index.xml b/scaml/daily/index.xml index 5d2d9342853..a0cad98be60 100644 --- a/scaml/daily/index.xml +++ b/scaml/daily/index.xml @@ -1,7 +1,7 @@ GitHub Scaml Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:09Z + 2023-10-23T01:39:44Z Daily Trending of Scaml in GitHub \ No newline at end of file diff --git a/scaml/weekly/index.xml b/scaml/weekly/index.xml deleted file mode 100644 index 488e1ae7978..00000000000 --- a/scaml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Scaml Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:17Z - Weekly Trending of Scaml in GitHub - - \ No newline at end of file diff --git a/scheme/daily/index.xml b/scheme/daily/index.xml index a62d91c9375..904c45afffa 100644 --- a/scheme/daily/index.xml +++ b/scheme/daily/index.xml @@ -1,7 +1,7 @@ GitHub Scheme Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:11Z + 2023-10-23T01:39:47Z Daily Trending of Scheme in GitHub \ No newline at end of file diff --git a/scheme/weekly/index.xml b/scheme/weekly/index.xml deleted file mode 100644 index 917d4004d00..00000000000 --- a/scheme/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Scheme Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:19Z - Weekly Trending of Scheme in GitHub - - - erik/gallus - 2023-10-22T02:01:19Z - tag:github.com,2023-10-22:/erik/gallus - - <p>An IRC bouncer type deal written in Chicken Scheme</p><hr> - - \ No newline at end of file diff --git a/scilab/daily/index.xml b/scilab/daily/index.xml index e6ae4d0e8ba..ec6734f4a02 100644 --- a/scilab/daily/index.xml +++ b/scilab/daily/index.xml @@ -1,7 +1,7 @@ GitHub Scilab Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:23Z + 2023-10-23T01:40:00Z Daily Trending of Scilab in GitHub \ No newline at end of file diff --git a/scilab/weekly/index.xml b/scilab/weekly/index.xml deleted file mode 100644 index 128a2eadb5d..00000000000 --- a/scilab/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Scilab Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:31Z - Weekly Trending of Scilab in GitHub - - \ No newline at end of file diff --git a/scss/daily/index.xml b/scss/daily/index.xml index 859a0e1040c..dc9a0f93a93 100644 --- a/scss/daily/index.xml +++ b/scss/daily/index.xml @@ -1,7 +1,21 @@ GitHub SCSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:26Z + 2023-10-23T01:40:03Z Daily Trending of SCSS in GitHub + + glegoux/jekyll-tech-blog + 2023-10-23T01:40:03Z + tag:github.com,2023-10-23:/glegoux/jekyll-tech-blog + + <p>Jekyll Tech Blog is a template to build your tech blog about engineering. It contains an example of integration with my blog at https://glegoux.com</p><hr> + + + alphardex/aqua.css + 2023-10-23T01:40:03Z + tag:github.com,2023-10-23:/alphardex/aqua.css + + <p>An elegant CSS Framework.</p><hr> + \ No newline at end of file diff --git a/scss/weekly/index.xml b/scss/weekly/index.xml deleted file mode 100644 index 55bf1f6dce8..00000000000 --- a/scss/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub SCSS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:34Z - Weekly Trending of SCSS in GitHub - - - StefMa/hugo-fresh - 2023-10-22T02:01:34Z - tag:github.com,2023-10-22:/StefMa/hugo-fresh - - <p>Hugo Fresh Theme</p><hr> - - - department-of-veterans-affairs/github-handbook - 2023-10-22T02:01:34Z - tag:github.com,2023-10-22:/department-of-veterans-affairs/github-handbook - - <p>A handbook of how the VA uses GitHub</p><hr> - - \ No newline at end of file diff --git a/sed/daily/index.xml b/sed/daily/index.xml index b59630b463f..7da9d9f1410 100644 --- a/sed/daily/index.xml +++ b/sed/daily/index.xml @@ -1,7 +1,7 @@ GitHub sed Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:22Z + 2023-10-23T01:39:59Z Daily Trending of sed in GitHub \ No newline at end of file diff --git a/sed/weekly/index.xml b/sed/weekly/index.xml deleted file mode 100644 index 0152ccaec60..00000000000 --- a/sed/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub sed Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:30Z - Weekly Trending of sed in GitHub - - \ No newline at end of file diff --git a/self/daily/index.xml b/self/daily/index.xml index 72e1a76dced..338f1e30c5d 100644 --- a/self/daily/index.xml +++ b/self/daily/index.xml @@ -1,7 +1,7 @@ GitHub Self Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:21Z + 2023-10-23T01:39:58Z Daily Trending of Self in GitHub \ No newline at end of file diff --git a/self/weekly/index.xml b/self/weekly/index.xml deleted file mode 100644 index 50abc92907f..00000000000 --- a/self/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Self Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:30Z - Weekly Trending of Self in GitHub - - \ No newline at end of file diff --git a/selinux-policy/daily/index.xml b/selinux-policy/daily/index.xml index 0efa68f4716..abc7834076e 100644 --- a/selinux-policy/daily/index.xml +++ b/selinux-policy/daily/index.xml @@ -1,7 +1,7 @@ GitHub SELinux Policy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:27Z + 2023-10-23T01:40:04Z Daily Trending of SELinux Policy in GitHub \ No newline at end of file diff --git a/selinux-policy/weekly/index.xml b/selinux-policy/weekly/index.xml deleted file mode 100644 index 50723d34ebb..00000000000 --- a/selinux-policy/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SELinux Policy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:36Z - Weekly Trending of SELinux Policy in GitHub - - \ No newline at end of file diff --git a/shaderlab/daily/index.xml b/shaderlab/daily/index.xml index f8d0fb7ebd1..46fcb3d8a96 100644 --- a/shaderlab/daily/index.xml +++ b/shaderlab/daily/index.xml @@ -1,7 +1,7 @@ GitHub ShaderLab Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:29Z + 2023-10-23T01:40:07Z Daily Trending of ShaderLab in GitHub \ No newline at end of file diff --git a/shaderlab/weekly/index.xml b/shaderlab/weekly/index.xml deleted file mode 100644 index 98be50cf3d8..00000000000 --- a/shaderlab/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub ShaderLab Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:38Z - Weekly Trending of ShaderLab in GitHub - - - tiagoair/plataformaspjd4v2021 - 2023-10-22T02:01:38Z - tag:github.com,2023-10-22:/tiagoair/plataformaspjd4v2021 - - <p></p><hr> - - \ No newline at end of file diff --git a/shell/daily/index.xml b/shell/daily/index.xml index e079d69b628..2a290f5810e 100644 --- a/shell/daily/index.xml +++ b/shell/daily/index.xml @@ -1,28 +1,14 @@ GitHub Shell Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:32Z + 2023-10-23T01:40:10Z Daily Trending of Shell in GitHub - TinrLin/sing-box - 2023-10-22T01:42:32Z - tag:github.com,2023-10-22:/TinrLin/sing-box - - <p></p><hr><h1><strong>说明</strong></h1> <ul> <li><strong>脚本使用sing-box、Juicity内核。</strong></li> <li><strong>脚本支持IPV6单栈机。</strong></li> <li><strong>脚本支持 CentOS 8+、Debian 10+、Ubuntu 20+ 操作系统。</strong></li> <li><strong>脚本支持 warp 解锁 ChatGPT、Netflix、Disney+。</strong></li> <li><strong>脚本所有协议均支持自签证书(NaiveProxy除外)。</strong></li> <li><strong>脚本支持多用户。</strong></li> <li><strong>脚本支持所有协议共存。</strong></li> <li><strong>脚本支持自动续签证书。</strong></li> <li><strong>脚本支持生成Clash客户端配置文件,需要配合Meta内核。</strong></li> <li><strong>脚本支持生成sing-box客户端配置文件。</strong></li> <li><strong>电脑端使用方法:下载生成的win_client.json文件====&gt;&gt;V2rayN客户端添加自定义配置服务器====&gt;&gt;地址加载生成的win_client.json文件====&gt;&gt;Core类型选sing_box====&gt;&gt;Socks端口1080。</strong></li> <li><strong>手机端使用方法:下载生成的phone_client.json文件====&gt;&gt;手机下载sing-box官方客户端====&gt;&gt;Profiles点击New profile====&gt;&gt;name自己命名====&gt;&gt;Source选择Import====&gt;&gt;点击Import File====&gt;&gt;选择下载的phone_client.json文件。</strong></li> </ul> <h1><strong>安装</strong></h1> <ul> <li><strong>Debian&amp;&amp;Ubuntu使用以下命令安装依赖</strong></li> </ul> <pre><code>apt update &amp;&amp; apt -y install curl wget tar socat jq git openssl uuid-runtime build-essential zlib1g-dev libssl-dev libevent-dev dnsutils </code></pre> <ul> <li><strong>CentOS使用以下命令安装依赖</strong></li> </ul> <pre><code>yum update &amp;&amp; yum -y install curl wget tar socat jq git openssl util-linux gcc-c++ zlib-devel openssl-devel libevent-devel bind-utils </code></pre> <ul> <li><strong>使用以下命令运行脚本</strong></li> </ul> <pre><code>wget -N -O /root/singbox.sh https://raw.githubusercontent.com/TinrLin/sing-box/main/Install.sh &amp;&amp; chmod +x /root/singbox.sh &amp;&amp; ln -sf /root/singbox.sh /usr/local/bin/singbox &amp;&amp; bash /root/singbox.sh </code></pre> <h1><strong>Hysteria端口跳跃</strong></h1> <pre><code># Debian&amp;&amp;Ubuntu ## 安装iptables-persistent apt install iptables-persistent ## 清空默认规则 iptables -F ## 清空自定义规则 iptables -X ## 允许本地访问 iptables -A INPUT -i lo -j ACCEPT ## 开放SSH端口(假设SSH端口为22) iptables -A INPUT -p tcp --dport 22 -j ACCEPT ## 开放HTTP端口 iptables -A INPUT -p tcp --dport 80 -j ACCEPT ## 开放UDP端口(10010替换为节点的监听端口) iptables -A INPUT -p udp --dport 10010 -j ACCEPT ## 开放UDP端口范围(假设UDP端口范围为20000-40000) iptables -A INPUT -p udp --dport 20000:40000 -j ACCEPT ## 允许接受本机请求之后的返回数据 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT ## 其他入站一律禁止 iptables -P INPUT DROP ## 允许所有出站 iptables -P OUTPUT ACCEPT ## 查看开放的端口 iptables -L ## 添加NAT规则,20000:40000替换为你设置端口跳跃的范围,10010替换为你节点的监听端口 iptables -t nat -A PREROUTING -p udp --dport 20000:40000 -j DNAT --to-destination :10010 ## 查看NAT规则 iptables -t nat -nL --line ## 保存iptables规则 netfilter-persistent save </code></pre> <pre><code># CentOS ## 安装iptables-service yum install iptables-services ## 启用iptables服务 systemctl enable iptables ## 启动iptables服务 systemctl start iptables ## 清空默认规则 iptables -F ## 清空自定义规则 iptables -X ## 允许本地访问 iptables -A INPUT -i lo -j ACCEPT ## 开放SSH端口(假设SSH端口为22) iptables -A INPUT -p tcp --dport 22 -j ACCEPT ## 开放HTTP端口 iptables -A INPUT -p tcp --dport 80 -j ACCEPT ## 开放UDP端口(10010替换为节点的监听端口) iptables -A INPUT -p udp --dport 10010 -j ACCEPT ## 开放UDP端口范围(假设UDP端口范围为20000-40000) iptables -A INPUT -p udp --dport 20000:40000 -j ACCEPT ## 允许接受本机请求之后的返回数据 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT ## 其他入站一律禁止 iptables -P INPUT DROP ## 允许所有出站 iptables -P OUTPUT ACCEPT ## 查看开放的端口 iptables -L ## 添加NAT规则,20000:40000替换为你设置端口跳跃的范围,10010替换为你节点的监听端口 iptables -t nat -A PREROUTING -p udp --dport 20000:40000 -j DNAT --to-destination :10010 ## 查看NAT规则 iptables -t nat -nL --line ## 保存iptables规则 service iptables save </code></pre> <h1><strong>脚本支持的节点类型</strong></h1> <ul> <li><strong>Socks</strong></li> <li><strong>TUIC V5</strong></li> <li><strong>juicity</strong></li> <li><strong>WireGuard--解锁 ChatGPT、Netflix、Disney+</strong></li> <li><strong>Hysteria2</strong></li> <li><strong>Vless+tcp</strong></li> <li><strong>Vless+ws</strong></li> <li><strong>Vless+gRPC</strong></li> <li><strong>Vless+vision+Reality</strong></li> <li><strong>Vless+h2+Reality</strong></li> <li><strong>Vless+gRPC+Reality</strong></li> <li><strong>Direct--sing-box版任意门</strong></li> <li><strong>Trojan+tcp</strong></li> <li><strong>Trojan+ws</strong></li> <li><strong>Trojan+gRPC</strong></li> <li><strong>Trojan+tcp+tls</strong></li> <li><strong>Trojan+H2C+tls</strong></li> <li><strong>Trojan+gRPC+tls</strong></li> <li><strong>Trojan+ws+tls</strong></li> <li><strong>Hysteria</strong></li> <li><strong>ShadowTLS V3</strong></li> <li><strong>NaiveProxy</strong></li> <li><strong>Shadowsocks</strong></li> <li><strong>Vmess+tcp</strong></li> <li><strong>Vmess+ws</strong></li> <li><strong>Vmess+grpc</strong></li> <li><strong>Vmess+tcp+tls</strong></li> <li><strong>Vmess+ws+tls</strong></li> <li><strong>Vmess+h2+tls</strong></li> <li><strong>Vmess+grpc+tls</strong></li> </ul> - - - wjz304/rr - 2023-10-22T01:42:32Z - tag:github.com,2023-10-22:/wjz304/rr - - <p>Automated Redpill Loader(i18n)</p><hr><h1>Automated Redpill Loader (i18n)</h1> <p>本库为 arpl i18n (多语言优化版):</p> <h3>原版:</h3> <p><b><a href="https://github.com/fbelavenuto/arpl">https://github.com/fbelavenuto/arpl</a></b></p> <ul> <li><a href="https://github.com/fbelavenuto/arpl/raw/main/README.md">arpl说明</a></li> </ul> <h3>汉化:</h3> <p><b><a href="https://github.com/wjz304/arpl-zh_CN">https://github.com/wjz304/arpl-zh_CN</a></b></p> <ul> <li>仅同步汉化原版, 所以功能与原版保持一致.</li> </ul> <h3>i18n:</h3> <p><b><a href="https://github.com/wjz304/arpl-i18n">https://github.com/wjz304/arpl-i18n</a></b></p> <ul> <li>addons: <a href="https://github.com/wjz304/arpl-addons">https://github.com/wjz304/arpl-addons</a></li> <li>modules: <a href="https://github.com/wjz304/arpl-modules">https://github.com/wjz304/arpl-modules</a></li> <li>rp-lkms: <a href="https://github.com/wjz304/redpill-lkm">https://github.com/wjz304/redpill-lkm</a></li> </ul> <h3>About GPU:</h3> <ul> <li>iGPU: <a href="https://jim.plus/">https://jim.plus/</a></li> <li>vGPU: <a href="https://blog.kkk.rs/">https://blog.kkk.rs/</a></li> </ul> <h2>说明 - Instructions</h2> <ul> <li><a href="https://raw.githubusercontent.com/wjz304/rr/main/guide.md">GUIDE</a></li> <li><a href="https://github.com/wjz304/arpl-i18n/issues/173">About get logs</a></li> <li><a href="https://github.com/wjz304/arpl-i18n/issues/175">About not find DSM after "boot the loader"</a></li> <li><a href="https://github.com/wjz304/arpl-i18n/issues/226">About DT(Device Tree) and *portcfg/maxdisks</a></li> </ul> <h2>翻译 - Translation</h2> <ul> <li> <p>其他语言的翻译 - Language translation work:</p> <pre><code class="language-shell"># If it does not involve adding or deleting, the following process is not required. sudo apt install gettext git clone https://github.com/wjz304/arpl-i18n.git cd files/board/arpl/overlayfs/opt/arpl xgettext -L Shell --keyword=TEXT *.sh -o lang/arpl.pot sed -i 's/charset=CHARSET/charset=UTF-8/' lang/arpl.pot # You need to replace the language you need and translate the po file. msginit -i lang/arpl.pot -l zh_CN.UTF-8 -o lang/zh_CN.po # This process will be automatically processed during packaging. msgfmt lang/zh_CN.po -o lang/zh_CN.mo </code></pre> </li> <li> <p>I am not proficient in language, and even my English is very poor. Developers who are familiar with various languages are welcome to submit PR.</p> </li> <li> <p>Translation maintenance personnel:</p> <ul> <li>zh_CN: @wjz304</li> <li>zh_TW: @豪客幫</li> </ul> </li> </ul> <h2>教程 - Usage</h2> <ul> <li>English: <a href="https://www.youtube.com/watch?v=VB67_FG5y-E">https://www.youtube.com/watch?v=VB67_FG5y-E</a> <h5><code>(From: @NETVN82)</code></h5> </li> <li>Español: <a href="https://www.youtube.com/watch?v=KC6oCcAyoV4">https://www.youtube.com/watch?v=KC6oCcAyoV4</a> <h5><code>(From: @Jay tech 2023)</code></h5> </li> <li>한국어: <a href="https://www.youtube.com/watch?v=4O7EfU6MT60">https://www.youtube.com/watch?v=4O7EfU6MT60</a> <h5><code>(From: @pageinnet)</code></h5> </li> <li>ภาษาไทย: <a href="https://www.youtube.com/watch?v=4sGrMMEQQ6I">https://www.youtube.com/watch?v=4sGrMMEQQ6I</a> <h5><code>(From: @stnology)</code></h5> </li> <li>中文繁體: <a href="https://www.youtube.com/watch?v=cW2eRCjtAEs">https://www.youtube.com/watch?v=cW2eRCjtAEs</a> <h5><code>(From: @豪客幫)</code></h5> </li> <li>中文简体: <a href="https://www.bilibili.com/video/BV1jk4y1Y7B7">https://www.bilibili.com/video/BV1jk4y1Y7B7</a> <h5><code>(From: http://mi-d.cn)</code></h5> </li> </ul> <h2>免责声明 - Disclaimer</h2> <ul> <li>硬盘有价,数据无价,任何对引导的修改都是有风险的,本人不承担数据丢失的责任。</li> <li>本工具仅用作学习交流,严禁用于商业用途。</li> </ul> <hr> <ul> <li>The hard drive has a price, but the data is priceless. Any modification to the bootloader is risky. I will not be responsible for data loss.</li> <li>This tool is only for learning and communication, and commercial use is strictly prohibited.</li> </ul> <h2>打赏一下</h2> <ul> <li> <blockquote> <h3>作者: Ing</h3> </blockquote> </li> <li> <blockquote> <p>QQ群1: 21609194 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=z5O89os88QEKXCbz-0gwtEz1AeQiCwk3">点击链接加入QQ群</a></p> </blockquote> </li> <li> <blockquote> <p>QQ群2: 73119176 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=6GFSrSYX2LTd9PD0r0hl_YJZsfLp53Oh">点击链接加入QQ群</a></p> </blockquote> </li> <li> <blockquote> <p>QQ频道: redpill2syno <a href="https://pd.qq.com/s/5nmli9qgn">点击链接加入QQ频道</a></p> </blockquote> </li> <li> <blockquote> <p>TG频道: redpill2syno <a href="https://t.me/redpill2syno">点击链接加入TG频道</a></p> </blockquote> </li> <li> <img src="https://raw.githubusercontent.com/wjz304/wjz304/master/my/20220908134226.jpg" width="400"> </li> </ul> - - - mrcrilly/WorldOfSolocraft - 2023-10-22T01:42:32Z - tag:github.com,2023-10-22:/mrcrilly/WorldOfSolocraft - - <p>WoS is a project focused on building a fully solo-able World of Warcraft experience.</p><hr><h1>World Of Solocraft (WoS)</h1> <p><em>NOTE: this project is a <strong>Work In Progress</strong>. There's a lot of work to be done on this project. It's got basically no instructions at the moment.</em></p> <p>WoS is a project focused building a fully solo-able World of Warcraft experience whilst staying as close to "blizzlike" as possible. The ability to run this as a public server and play with other players still remains, but some things have been tweaked to ensure someone playing alone can do so for the most part.</p> <p>Put another way: WoS turns WoW into a single player RPG game that just so happens to support you and your friends playing in the same world (coop).</p> <h2>How</h2> <p><em>This is very much a work in progress.</em></p> <ol> <li>Clone this repository to a Ubuntu 22.04 server</li> <li>Open and edit the <code>config.sh</code> file... <ol> <li>... replacing <code>AZEROTHCORE_SERVER_REMOTE_ENDPOINT</code> with your <em>public</em> IP address</li> <li>... replacing <code>AZEROTHCORE_SERVER_BIND_IP</code> with your <em>private</em>, <em>internal</em> IP address</li> <li>... replacing <code>AZEROTHCORE_SERVER_LOCAL_SUBNETMASK</code> with your <em>private</em>, <em>internal</em> IP subnet mask</li> </ol> </li> <li>Run <code>bash setup.sh</code> and you should get a working WotLK server</li> </ol> <h3>A note about <code>AZEROTHCORE_SERVER_LOCAL_SUBNETMASK</code></h3> <p>These configuration is actually important if you want to make your server available on the public Internet <em>and</em> you want to be able to access it from <em>inside</em> the network.</p> <p>When your WoW 3.3.5.a client connects to the value set in your local <code>realmlist</code> - say <code>127.0.0.1</code> - you authenticate against the <em>authentication server</em>, not the world server. After authenticating, your client is given a list of <em>world</em> servers (realms) that you can connect to: on their IP address.</p> <p>If the IP address <em>you're coming from</em> is inside the <code>AZEROTHCORE_SERVER_LOCAL_SUBNETMASK</code> subnet, then you're client is given the world IP that matches <code>AZEROTHCORE_SERVER_BIND_IP</code> (the local, LAN IP), but if you're outside the subnet mask, then you're given <code>AZEROTHCORE_SERVER_REMOTE_ENDPOINT</code>, because you're coming from the Internet.</p> <p>If this doesn't make sense to you, don't worry about it. It's an advanced networking feature that you should consider revisiting if you encounter problems connecting to your WoW instance from inside your network.</p> <h2>Why?</h2> <p><a href="https://worldofwarcraft.com/en-gb/">World of Warcraft</a> is an awesome game filled with years of content. <a href="https://www.gamermaps.net/world-of-warcraft/map/">It's massive!</a> But it's not always possible for <a href="https://us.forums.blizzard.com/en/wow/t/classic-wow-banned-in-indonesia/1293532">everyone to access the game</a>; it requires a monthly subscription that some (this author) aren't willing to pay; it's published by Activision, who engage in <a href="https://www.svg.com/703293/the-shady-side-of-activision-blizzard/">less than ideal employment conditions</a>; and some of us simply enjoy the single-player experience, whilst maintaining the option of playing with other people should that be desirable (it's an MMO after all - built-in coop.)</p> <p>With these reasons in mind (and more), I wanted to build and document the process of building a solo-friendly, Wrath of the Lich King (WotLK; 3.3.5a) server that one can host locally on your PC (to play truly solo), or host on a local/public network for others to join.</p> <h3>Yeah, but <em>why</em>?</h3> <p>Primarily, I want to solve some critical issues playing WoW solo, but <em>without spoon feeding the player</em>:</p> <ol> <li><em>Accessibility</em> to content like dungeons, raids, and the endgame;</li> <li><em>Accessibility</em> of end-game content like gear;</li> <li>The <em>mobility</em> of the player in the world, such as mounts and fast travel options;</li> <li>More questing and access to solo-friendly content;</li> <li>Making professions and gathering actually worth it;</li> <li>And more...</li> </ol> <p>So I wanted to make a project that brings to gether AzerothCore, some modules, some custom code (as a module), and a balanced configuration, so that others can experience my solution to this.</p> <h2>OK, how do I get the ball rolling?</h2> <p>Assuming a Windows (Server) installation:</p> <ol> <li>Download <a href="https://www.azerothcore.org/">AzerothCore</a></li> <li>Download <em>all</em> the required, prerequisite software needed to compile <a href="https://www.azerothcore.org/">AzerothCore</a></li> <li>Read the instructions on how-to "install" modules</li> <li>Download the modules listed below</li> <li>Compile <a href="https://www.azerothcore.org/">AzerothCore</a> (and the modules you installed)</li> <li>Run the MySQLd server</li> <li>Execute the <code>auth-server.exe</code> executable</li> <li>Create and override settings in <code>worldserver.conf</code> to adjust the world to your liking</li> <li>Use the <code>module/*.conf</code> I provide in this repository to re-configure the defaults for the modules you're installing</li> <li>Execute the <code>world-server.exe</code> executable</li> <li>Use the <code>AC&gt; </code> the World Server gives you to create an account (<code>account create &lt;name&gt; &lt;password&gt;</code>)</li> <li>Use your Wrath of the Lich King (WotLK) <code>3.3.5a</code> client to connect and login with your new (none Game Master) account</li> <li>Enjoy your WoW WotLK server</li> </ol> <h3>What modules are installed, and why that module?</h3> <p>These are the <em>key</em> modules that I believe make for a true, working WoW solo experience:</p> <ol> <li><a href="https://github.com/milestorme/mod-solo-lfg"><code>mod-solo-lfg</code></a></li> <li><a href="https://github.com/azerothcore/mod-solocraft"><code>mod-solocraft</code></a></li> </ol> <h4>Why <code>solo-lfg</code>?</h4> <p>This module makes WoW's "Looking for Group" (LFG) feature to skip waiting for other players, and just lets you jump straight into the content. So, if you queue for The Deadmines, you'll instantly enter the dungeon and you can begin your solo run.</p> <p>Sort of a no brainer really, eh?</p> <h4>Why <code>solocraft</code>?</h4> <p>It's a module designed to make solo or small-group dungeons and raids more possible. It's not perfect, but it's the best we can offer today.</p> <h2>Support</h2> <p>Join the <a href="https://discord.gg/TZBZ6quZuG">AzerothCore Discord server</a> and ask for assistance in the <code>#support-general</code>, but make sure to read the rules and notices first.</p> + wjz304/rpcb + 2023-10-23T01:40:10Z + tag:github.com,2023-10-23:/wjz304/rpcb + + <p>Redpill 定制化编译,自定义配置及驱动并通过 Github Action 编译 DSM redpill 引导的平台.</p><hr><h1>Redpill Custom Build</h1> <p><a href="https://github.com/wjz304/rpcb/issues?q=label%3Acustom"><img src="https://img.shields.io/github/issues-search?label=%E5%AE%9A%E5%88%B6%E6%AC%A1%E6%95%B0&amp;query=repo%3Awjz304%2Frpcb%20label%3Acustom" alt=""></a> <a href="https://github.com/wjz304/rpcb/issues?q=label%3Aschedule"><img src="https://img.shields.io/github/issues-search?label=%E6%AF%8F%E6%97%A5%E6%9E%84%E5%BB%BA&amp;query=repo%3Awjz304%2Frpcb%20label%3Aschedule" alt=""></a></p> <h3><a href="https://github.com/wjz304/rpcb_old">rpcb_old (旧版)</a></h3> <h2>介绍</h2> <p><a href="https://github.com/wjz304/rpcb">rpcb</a><br> 一个自定义配置及驱动并通过 Github Action 编译 DSM redpill 引导的平台.</p> <blockquote> <p>源码仓库: <a href="https://github.com/RedPill-TTG/redpill-load">@RedPill-TTG</a><br> 编译参考: <a href="https://github.com/pocopico/redpill-load">@pocopico</a> <a href="https://github.com/jumkey/redpill-load">@jumkey</a> <a href="https://github.com/PeterSuh-Q3/redpill-load">@PeterSuh-Q3</a> <a href="https://github.com/fbelavenuto/arpl">@fbelavenuto</a><br> 驱动来源: <a href="https://github.com/pocopico/rp-ext">@pocopico</a> <a href="https://github.com/jim3ma/synology-igc">@jim3ma</a> <a href="https://github.com/fbelavenuto/arpl-modules">@fbelavenuto</a></p> </blockquote> <blockquote> <p>😎 为什么用 GitHub Action?<br> 托管于 GitHub 服务器, 只要 GitHub 不宕机, 它就不受影响(Private 项目每月有 2000 次的限制, Public 项目无限制).</p> </blockquote> <h2>链接</h2> <p><em><strong>如果没有魔法,请参考 <a href="https://github.com/wjz304/hosts">https://github.com/wjz304/hosts</a> 设置hosts</strong></em><br> <em><strong>请使用 Chromium 内核浏览器 (Chrome / Edge / 360极速 ...)</strong></em><br> <a href="https://wjz304.github.io/rpcb/Issues.html">【👉快速创建】</a><br> <code>并发较多时, 有概率出现curl错误或者 未触发编译的情况, 过几分钟再试...</code><br> <code>如果你看不懂, 或者其他疑难杂症, 请不要浪费时间. 尝试使用arpl构建. https://github.com/wjz304/arpl-i18n</code></p> <h2>使用</h2> <p>在本项目 Issues 中创建问题(符合下述规范), 按需填写即可发起定制构建<a href="https://github.com/wjz304/rpcb/raw/main/guide/Issues.md">【👉图文说明】</a> <a href="https://github.com/wjz304/rpcb/raw/main/docs/tips.md">【👉注意事项】</a>.</p> <h3>Issue title:</h3> <p>标题请以 custom 开头(不区分大小写), 且不要包含'(单引号),"(双引号) 等转义字符.</p> <h3>Issue body:</h3> <p>内容 以json格式编写(切记符号为英文符号, <a href="https://json-online.com/check/">【👉JSON检测】</a>)</p> <table> <thead> <tr> <th>参数</th> <th>必选</th> <th>默认值</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>model</td> <td>√</td> <td>-</td> <td>请选择你需要编译的型号. (具体包含型号以基础库支持为准)</td> </tr> <tr> <td>version</td> <td>√</td> <td>-</td> <td>请选择你需要编译的版本. (具体包含版本以基础库支持为准)</td> </tr> <tr> <td>jun</td> <td>√</td> <td>1</td> <td>请选择是否以jun模式编译.</td> </tr> <tr> <td>lkm</td> <td>×</td> <td>-</td> <td>如不了解请保持默认, 请选择 LKM 版本.(目前具体有何区别不详, 如无必要选默认的 redpill).</td> </tr> <tr> <td>config</td> <td>×</td> <td>-</td> <td>如不了解请保持默认, 设置默认 user_config.json <sup><a href="">①</a></sup></td> </tr> <tr> <td>maxdisks</td> <td>×</td> <td>-</td> <td>如不了解请保持默认, 请输入最大硬盘数 maxdisks. 默认: 无, 范围: 1~26</td> </tr> <tr> <td>maxlanport</td> <td>×</td> <td>7</td> <td>如不了解请保持默认, 请输入最大网卡索引 maxlanport. 默认: 8, 范围: 1~8</td> </tr> <tr> <td>internalportcfg</td> <td>×</td> <td>"0xffff"</td> <td>如不了解请保持默认, 请输入sata接口配置 internalportcfg(十六进制数). <sup><a href="">④</a></sup> 默认: 0xffff</td> </tr> <tr> <td>esataportcfg</td> <td>×</td> <td>-</td> <td>如不了解请保持默认, 请输入esata接口配置 esataportcfg(十六进制数). <sup><a href="">④</a></sup> 默认: 无</td> </tr> <tr> <td>usbportcfg</td> <td>×</td> <td>-</td> <td>如不了解请保持默认, 请输入usb接口配置 usbportcfg(十六进制数). <sup><a href="">④</a></sup> 默认: 无</td> </tr> <tr> <td><del>sn</del></td> <td>×</td> <td>-</td> <td><del>序列号. 默认根据型号随机生成.</del> <sup><a href="">②</a></sup></td> </tr> <tr> <td><del>mac</del></td> <td>×</td> <td>-</td> <td><del>MAC地址. 多个请以 "," 间隔. 默认根据型号随机生成.</del> <sup><a href="">②</a></sup></td> </tr> <tr> <td>netif_num</td> <td>×</td> <td>2</td> <td>请输入网卡数量 netif_num. 默认: 2, 范围: 1~8</td> </tr> <tr> <td>vid</td> <td>×</td> <td>"0x46f4"</td> <td>请输入USB设备供应商识别码(Vender ID). 默认: 0x46f4</td> </tr> <tr> <td>pid</td> <td>×</td> <td>"0x0001"</td> <td>请输入USB设备产品识别码(Product ID). 默认: 0x0001</td> </tr> <tr> <td>diskidxmap</td> <td>×</td> <td>-</td> <td>请输入SATA控制器盘序 DiskIdxMap. <sup><a href="">④</a></sup> DS920+, DS923+, DS1520+, DS1621+, DS2422+, DVA1622 不需要填写. 默认: 无</td> </tr> <tr> <td>sataportmap</td> <td>×</td> <td>-</td> <td>请输入SATA控制器盘数 SataPortMap. <sup><a href="">④</a></sup> DS920+, DS923+, DS1520+, DS1621+, DS2422+, DVA1622 不需要填写. 默认: 无</td> </tr> <tr> <td>sasidxmap</td> <td>×</td> <td>-</td> <td>请输入SAS控制器盘数 SasIdxMap. <sup><a href="">④</a></sup> DS920+, DS923+, DS1520+, DS1621+, DS2422+, DVA1622 不需要填写. 默认: 无</td> </tr> <tr> <td>dtb</td> <td>×</td> <td>-</td> <td>请输入dtb 文件的下载链接(支持的文件类型: .dts,.dtb,.tar.gz,.zip), 仅 DS920+, DS923+, DS1520+, DS1621+, DS2422+, DVA1622 需要填写, 其他型号请勿填写. <a href="https://github.com/wjz304/rpcb/issues/47">#47</a></td> </tr> <tr> <td>addons</td> <td>×</td> <td>-</td> <td>请输入需要集成的扩展, 多个请以','间隔(不加 boot-wait, misc 基本会起不来, acpid2也建议添加.).</td> </tr> <tr> <td>modules</td> <td>×</td> <td>-</td> <td>请输入需要集成的驱动, 多个请以','间隔(请酌情添加, 太多编不过). eg: "r8125, tg3"</td> </tr> <tr> <td>ext3rds</td> <td>×</td> <td>-</td> <td>请输入需要集成的其他驱动(URL), 多个请以','间隔(请酌情添加, 太多编不过).</td> </tr> <tr> <td>-</td> <td>×</td> <td>-</td> <td>高级自定义 <sup><a href="">③</a></sup></td> </tr> </tbody> </table> <pre><code>①: 格式 json, key会更新到默认的user_config.json中, 因此请谨慎编写. - 比如 想修改 maxlanport, 需要填写完整的 synoinfo 属性, 当仅填写 {"synoinfo": {"maxlanport": "8"}} 时, 将更新 synoinfo 为只有 maxlanport, 原有 internalportcfg 将会丢失. ②: 由于SN/MAC发生盗用情况, 不再接受SN/MAC的定制, 请勿再填写. ③: body 中可直接插入shell脚本:"由于权限太高, 防止有些人执行非法操作, 仅仓库作者可操作, 请联系该仓库管理员或者fork到自己名下操作." - 在 body 中 以 ```xxx``` 包裹自定义的 shell 命令, 将在 build 前运行. 参考[#3](https://github.com/wjz304/rpcb/issues/3) ④:详细信息请查看:https://github.com/wjz304/rpcb/issues/1252#issuecomment-1242677916 </code></pre> <h4>关于 dtb 现在共两种形式3种方案:</h4> <table> <thead> <tr> <th>\</th> <th>参数</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>dtb参数 填写 dtb/dts 的下载链接</td> <td>内部会自动加入 dtbstatic, 并替换自定义的 dtb 到 dtbstatic 中.</td> </tr> <tr> <td>2</td> <td>dtb参数 为空</td> <td>内部会自动加入 disks, disks 均自动识别已插入硬盘并修改dtb.</td> </tr> </tbody> </table> <h2>说明</h2> <ol start="0"> <li><strong>感谢 <a href="https://github.com/htmambo">hoping</a> 大佬制作的 WEB 界面.</strong></li> <li>构建成功 Issues 会自动 closed.</li> <li>构建失败 后请调整参数重新创建Issues发起重新构建, 或者修改body后 Close Issue + Reopen 重新触发.(触发编译:open, reopen).</li> <li>再次构建, 直接 reopen 会再次触发构建.</li> <li>每日构建, 打上'schedule' <a href="https://github.com/wjz304/rpcb/raw/main/guide/Issues.md#issues-%E6%AF%8F%E6%97%A5%E5%BE%AA%E7%8E%AF%E6%9E%84%E5%BB%BA%E6%95%99%E7%A8%8B">【👉标签说明】</a>标签 将会每日构建(通过Reopen的方式, 因此如果构建失败Issues没有Closed 将终止).</li> <li>驱动的选择请参考<a href="https://raw.githubusercontent.com/wjz304/rpcb/main/drivers.md">【👉驱动列表】</a>.</li> <li>根据github官方说明所有的编译结果保留90天,周知.</li> <li>如果没有魔法, 参考 <a href="https://github.com/wjz304/hosts">https://github.com/wjz304/hosts</a> 设置 hosts.</li> <li>fork 本项目 Issues 和 Action 使用没有问题的.<br> 但是快速创建的WEB页面由于 涉及 guthub 的 pages, 且含有CDN加速, 存在一些硬编码, 如要使用, 需要开通pages后方可使用.</li> <li>在Issues下评论 "transfer" 附件转快传 🚲-&gt;🏍. (请勿重复发, 转换操作时间 ≈ 该Issue编译成功次数 X 3分钟).</li> <li>在Issues下评论 "delete builds" 即可删该Issues的所有历史编译记录.</li> <li>Web页 Title 后面的红色标签是可以点击的哦!(<em><strong>PS:只有读到这里的人才会知道.</strong></em>).</li> <li><a href="https://github.com/wjz304/rpcb/issues/807">【👉问题反馈】</a></li> </ol> <h2>举例</h2> <ul> <li>普通参数示例: <ul> <li>{"model":"DS3622xs+", "version":"7.0.1-42218", "jun":"1", "lkm":"dev", "diskidxmap":"00", "sataportmap":"6", "addons":"misc", "modules":"r8125"}</li> <li>{"model":"DS3622xs+", "version":"7.0.1-42218", "jun":"1", "lkm":"dev", "maxdisks":"16", "maxlanport":"7", "addons":"misc", "modules":"r8125"}</li> <li>{<br> "model":"DS3622xs+",<br> "version":"7.0.1-42218",<br> "netif_num":"3",<br> "addons":"misc", "modules":"r8125, r8168, e1000e, igb, vmxnet3, ixgbe"<br> }</li> </ul> </li> <li>dtb参数示例: <ul> <li>{<br> "model":"DS920+",<br> "version":"7.0.1-42218",<br> "dtb": "<a href="https://github.com/wjz304/rpcbfiles/9235785/ds920p.zip">https://github.com/wjz304/rpcbfiles/9235785/ds920p.zip</a>",<br> "addons":"dtbstatic, misc"<br> }</li> </ul> </li> <li>ext3rds参数链接示例: <ul> <li>{<br> "model":"DS3622xs+",<br> "version":"7.1.1-42962",<br> "addons":"dtbstatic, misc", "modules":"r8125, e1000, e1000e, vmxnet3", "ext3rds":"<a href="https://raw.githubusercontent.com/wjz304/rp-ext/main/rtl8150/rpext-index.json">https://raw.githubusercontent.com/wjz304/rp-ext/main/rtl8150/rpext-index.json</a>"<br> }</li> </ul> </li> <li>config参数示例: <ul> <li>{<br> "model":"DS3622xs+",<br> "version":"7.0.1-42218",<br> "config":{"ramdisk_copy": {}},<br> "addons":"misc"<br> }</li> </ul> </li> <li>高级自定义示例: <ul> <li>{"model":"DS3622xs+", "version":"7.0.1-42218", "lkm":"dev", "addons":"misc"}<br> ```<br> echo "${model}"<br> ```</li> </ul> </li> </ul> <h2>打赏一下</h2> <ul> <li> <blockquote> <h3>作者: Ing</h3> </blockquote> </li> <li> <blockquote> <p>QQ群1: 21609194 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=z5O89os88QEKXCbz-0gwtEz1AeQiCwk3">点击链接加入QQ群</a></p> </blockquote> </li> <li> <blockquote> <p>QQ群2: 73119176 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=6GFSrSYX2LTd9PD0r0hl_YJZsfLp53Oh">点击链接加入QQ群</a></p> </blockquote> </li> <li> <blockquote> <p>QQ频道: redpill2syno <a href="https://pd.qq.com/s/5nmli9qgn">点击链接加入QQ频道</a></p> </blockquote> </li> <li> <blockquote> <p>TG频道: redpill2syno <a href="https://t.me/redpill2syno">点击链接加入TG频道</a></p> </blockquote> </li> <li> <img src="https://raw.githubusercontent.com/wjz304/wjz304/master/my/20220908134226.jpg" width="400"> </li> </ul> <h2>鸣谢</h2> <p><a href="https://github.com/RedPill-TTG/redpill-load">https://github.com/RedPill-TTG/redpill-load</a><br> <a href="https://github.com/jumkey/redpill-load">https://github.com/jumkey/redpill-load</a><br> <a href="https://github.com/pocopico/redpill-load">https://github.com/pocopico/redpill-load</a><br> <a href="https://github.com/PeterSuh-Q3/redpill-load">https://github.com/PeterSuh-Q3/redpill-load</a><br> <a href="https://github.com/Online24Hours/Redpill_Build">https://github.com/Online24Hours/Redpill_Build</a></p> \ No newline at end of file diff --git a/shell/weekly/index.xml b/shell/weekly/index.xml deleted file mode 100644 index 5311bfdc814..00000000000 --- a/shell/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Shell Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:41Z - Weekly Trending of Shell in GitHub - - - JamesTurland/JimsGarage - 2023-10-22T02:01:41Z - tag:github.com,2023-10-22:/JamesTurland/JimsGarage - - <p>Homelab Goodies</p><hr><p><a href="https://discord.gg/qW5vEBekz5">Discord</a> <br> <a href="https://twitter.com/jimsgarage_">Twitter</a> <br> <a href="https://www.reddit.com/user/Jims-Garage">Reddit</a></p> <p><img src="https://github.com/JamesTurland/JimsGarage/raw/main/Logo/Jim'sGarage-1(2).png?raw=true" alt="alt text"></p> <h1>Jim's Garage</h1> <p>Here's a collection of Docker Compose and config files for use in my videos. Simply tweak to your environment and deploy!</p> - - - wjz304/rr - 2023-10-22T02:01:41Z - tag:github.com,2023-10-22:/wjz304/rr - - <p>Automated Redpill Loader(i18n)</p><hr><h1>Automated Redpill Loader (i18n)</h1> <p>本库为 arpl i18n (多语言优化版):</p> <h3>原版:</h3> <p><b><a href="https://github.com/fbelavenuto/arpl">https://github.com/fbelavenuto/arpl</a></b></p> <ul> <li><a href="https://github.com/fbelavenuto/arpl/raw/main/README.md">arpl说明</a></li> </ul> <h3>汉化:</h3> <p><b><a href="https://github.com/wjz304/arpl-zh_CN">https://github.com/wjz304/arpl-zh_CN</a></b></p> <ul> <li>仅同步汉化原版, 所以功能与原版保持一致.</li> </ul> <h3>i18n:</h3> <p><b><a href="https://github.com/wjz304/arpl-i18n">https://github.com/wjz304/arpl-i18n</a></b></p> <ul> <li>addons: <a href="https://github.com/wjz304/arpl-addons">https://github.com/wjz304/arpl-addons</a></li> <li>modules: <a href="https://github.com/wjz304/arpl-modules">https://github.com/wjz304/arpl-modules</a></li> <li>rp-lkms: <a href="https://github.com/wjz304/redpill-lkm">https://github.com/wjz304/redpill-lkm</a></li> </ul> <h3>About GPU:</h3> <ul> <li>iGPU: <a href="https://jim.plus/">https://jim.plus/</a></li> <li>vGPU: <a href="https://blog.kkk.rs/">https://blog.kkk.rs/</a></li> </ul> <h2>说明 - Instructions</h2> <ul> <li><a href="https://raw.githubusercontent.com/wjz304/rr/main/guide.md">GUIDE</a></li> <li><a href="https://github.com/wjz304/arpl-i18n/issues/173">About get logs</a></li> <li><a href="https://github.com/wjz304/arpl-i18n/issues/175">About not find DSM after "boot the loader"</a></li> <li><a href="https://github.com/wjz304/arpl-i18n/issues/226">About DT(Device Tree) and *portcfg/maxdisks</a></li> </ul> <h2>翻译 - Translation</h2> <ul> <li> <p>其他语言的翻译 - Language translation work:</p> <pre><code class="language-shell"># If it does not involve adding or deleting, the following process is not required. sudo apt install gettext git clone https://github.com/wjz304/arpl-i18n.git cd files/board/arpl/overlayfs/opt/arpl xgettext -L Shell --keyword=TEXT *.sh -o lang/arpl.pot sed -i 's/charset=CHARSET/charset=UTF-8/' lang/arpl.pot # You need to replace the language you need and translate the po file. msginit -i lang/arpl.pot -l zh_CN.UTF-8 -o lang/zh_CN.po # This process will be automatically processed during packaging. msgfmt lang/zh_CN.po -o lang/zh_CN.mo </code></pre> </li> <li> <p>I am not proficient in language, and even my English is very poor. Developers who are familiar with various languages are welcome to submit PR.</p> </li> <li> <p>Translation maintenance personnel:</p> <ul> <li>zh_CN: @wjz304</li> <li>zh_TW: @豪客幫</li> </ul> </li> </ul> <h2>教程 - Usage</h2> <ul> <li>English: <a href="https://www.youtube.com/watch?v=VB67_FG5y-E">https://www.youtube.com/watch?v=VB67_FG5y-E</a> <h5><code>(From: @NETVN82)</code></h5> </li> <li>Español: <a href="https://www.youtube.com/watch?v=KC6oCcAyoV4">https://www.youtube.com/watch?v=KC6oCcAyoV4</a> <h5><code>(From: @Jay tech 2023)</code></h5> </li> <li>한국어: <a href="https://www.youtube.com/watch?v=4O7EfU6MT60">https://www.youtube.com/watch?v=4O7EfU6MT60</a> <h5><code>(From: @pageinnet)</code></h5> </li> <li>ภาษาไทย: <a href="https://www.youtube.com/watch?v=4sGrMMEQQ6I">https://www.youtube.com/watch?v=4sGrMMEQQ6I</a> <h5><code>(From: @stnology)</code></h5> </li> <li>中文繁體: <a href="https://www.youtube.com/watch?v=cW2eRCjtAEs">https://www.youtube.com/watch?v=cW2eRCjtAEs</a> <h5><code>(From: @豪客幫)</code></h5> </li> <li>中文简体: <a href="https://www.bilibili.com/video/BV1jk4y1Y7B7">https://www.bilibili.com/video/BV1jk4y1Y7B7</a> <h5><code>(From: http://mi-d.cn)</code></h5> </li> </ul> <h2>免责声明 - Disclaimer</h2> <ul> <li>硬盘有价,数据无价,任何对引导的修改都是有风险的,本人不承担数据丢失的责任。</li> <li>本工具仅用作学习交流,严禁用于商业用途。</li> </ul> <hr> <ul> <li>The hard drive has a price, but the data is priceless. Any modification to the bootloader is risky. I will not be responsible for data loss.</li> <li>This tool is only for learning and communication, and commercial use is strictly prohibited.</li> </ul> <h2>打赏一下</h2> <ul> <li> <blockquote> <h3>作者: Ing</h3> </blockquote> </li> <li> <blockquote> <p>QQ群1: 21609194 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=z5O89os88QEKXCbz-0gwtEz1AeQiCwk3">点击链接加入QQ群</a></p> </blockquote> </li> <li> <blockquote> <p>QQ群2: 73119176 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=6GFSrSYX2LTd9PD0r0hl_YJZsfLp53Oh">点击链接加入QQ群</a></p> </blockquote> </li> <li> <blockquote> <p>QQ频道: redpill2syno <a href="https://pd.qq.com/s/5nmli9qgn">点击链接加入QQ频道</a></p> </blockquote> </li> <li> <blockquote> <p>TG频道: redpill2syno <a href="https://t.me/redpill2syno">点击链接加入TG频道</a></p> </blockquote> </li> <li> <img src="https://raw.githubusercontent.com/wjz304/wjz304/master/my/20220908134226.jpg" width="400"> </li> </ul> - - - mjjonone/mjj - 2023-10-22T02:01:41Z - tag:github.com,2023-10-22:/mjjonone/mjj - - <p>该仓库提供了一键部署mjj试用项目的镜像和脚本,支持多种容器平台。包含科学上网功能,可以查看节点信息和订阅链接。同时包含Minecraft服务器搭建方案。</p><hr><h1>合格的mjj专用白嫖项目(重构版),必看说明,必看说明!</h1> <h2>白嫖使人快乐,独乐乐不如众乐乐。如果您有任何问题,请随时提出Issues。</h2> <p>Documentation: <a href="https://github.com/mjjonone/mjj/raw/main/README_EN.md">English version</a> | 中文版</p> <hr> <p>更新说明</p> <ul> <li>nezha cloudflared 更新到最新版本</li> <li>修复nezha启动问题,请尽快更新到新版本</li> <li>修复argo隧道json的使用,请尽快更新到新版本</li> <li>增加保活说明</li> <li>修复glitch的封禁问题,如需使用,请尽快更新到新版本</li> </ul> <hr> <p>推荐使用临时隧道。</p> <hr> <h2>保活使用uptimerobot监控项目网址,如果不会使用,自行搜索。<a href="https://uptimerobot.com">网站地址</a></h2> <p>已打包成的镜像名为<code>mjjonone/mjj:amd64</code>,变量设置如下:容器的<code>SERVER_PORT</code>变量可设置为3000、7860等,具体根据容器平台的要求进行设置,一般可以将<code>SERVER_PORT</code>设置为3000。</p> <hr> <pre><code class="language-diff">!有些平台会检测关键词(比如render,huggingface),可以使用打包好的Dockerfile文件解决,建议都Fork仓库再部署,防止封号。in red !! 无法用github仓库部署的平台(比如huggingface),复制下面Dockerfile文件的内容,然后新建Dockerfile文件,要求内容一样 !!! 请先Fork下面的仓库,再部署你自己Fork的仓库。 </code></pre> <h2>Dockerfile文件仓库 <a href="https://github.com/mjjonone/mjj-docker">项目地址链接</a></h2> <p>镜像支持x64和arm64架构,支持通过项目网址<code>/list</code>查看节点信息和<code>/sub</code>节点订阅地址。容器平台可能会睡眠,请更新订阅试试</p> <hr> <p>游戏托管平台需要上传的文件要赋予权限777,除了<code>server.jar</code>,它的权限要设置为444。</p> <hr> <p>一些游戏托管平台:<a href="https://github.com/Myuui/Free-Minecraft-Hosts.git">https://github.com/Myuui/Free-Minecraft-Hosts.git</a></p> <hr> <p>docker以及类似平台:</p> <ul> <li><a href="https://app.patr.cloud/deployment">https://app.patr.cloud/deployment</a></li> <li><a href="https://huggingface.co/">https://huggingface.co/</a></li> <li><a href="https://www.render.com">https://www.render.com</a></li> <li><a href="https://www.back4app.com/">https://www.back4app.com/</a></li> <li><a href="https://codesandbox.io/">https://codesandbox.io/</a></li> <li><a href="https://glitch.com/">https://glitch.com/</a></li> <li><a href="https://replit.com/">https://replit.com/</a></li> <li><a href="https://fly.io/">https://fly.io/</a></li> </ul> <hr> <p>在node.js环境中,上传<code>index.js</code>、<code>package.json</code>和<code>start.sh</code>文件,同时支持通过网址<code>/list</code>查看节点信息和<code>/sub</code>节点订阅地址。</p> <hr> <p>Minecraft相关的服务器(同时支持通过网址<code>/list</code>查看节点信息和<code>/sub</code>节点订阅地址):</p> <ol> <li>Vanilla Bedrock或Minecraft Bedrock,启动文件为<code>bedrock_server</code>。</li> <li>Paper Minecraft Java,启动文件为<code>server.jar</code>。</li> <li>Minecraft Bungeecord 的启动文件已经打包成server1.jar,直接上传即可,配合2-1的方法</li> </ol> <hr> <p>1-1:在上传之前,将原来的<code>bedrock_server</code>重命名为<code>bedrock_server1</code>,然后上传<code>start.sh</code>脚本并将其重命名为<code>bedrock_server</code>。</p> <p>2-1:在上传之前,将原来的<code>server.jar</code>重命名为<code>server1.jar</code>,然后上传<code>server.jar</code>和<code>start.sh</code>。</p> <hr> <p>在<code>start.sh</code>文件中填写变量信息。</p> <hr> <p>自动输出vless节点信息,并保存在<code>list.txt</code>文件中。</p> <hr> <p>变量说明:</p> <ul> <li><code>NAME</code>:节点名称,默认ips。</li> <li><code>CFIP</code>:优选IP或网址,默认icook.hk。</li> <li><code>NEZHA_SERVER</code>:Nezha地址(如果没有可不填)。</li> <li><code>NEZHA_PORT</code>:Nezha端口(如果没有可不填)。</li> <li><code>NEZHA_KEY</code>:Nezha密匙(如果没有可不填)。</li> <li><code>TLS</code>:默认为1,代表开启tls,如果不需要TLS,请将变量设置为0。</li> <li><code>ARGO_DOMAIN</code>:隧道固定域名(如果没有可不填)。</li> <li><code>ARGO_AUTH</code>:隧道的token或者json(如果没有可不填)。</li> <li><code>WSPATH</code>:默认值为<code>argo</code>。</li> <li><code>UUID</code>:默认值为<code>de04add9-5c68-8bab-950c-08cd5320df18</code>。</li> <li><code>ARGO_AUTH</code>:隧道的值,请参考f佬的说明。</li> <li>变量的填写方法也可以参考f佬的说明。</li> </ul> <p>说明链接:<a href="https://github.com/fscarmen2/Argo-X-Container-PaaS/raw/main/README.md">https://github.com/fscarmen2/Argo-X-Container-PaaS/blob/main/README.md</a></p> <blockquote> <p>鸣谢 F佬,3Kmf佬,WL佬,HF佬</p> </blockquote> - - \ No newline at end of file diff --git a/shellcheck-config/daily/index.xml b/shellcheck-config/daily/index.xml index 1045b758f8d..bbdb492e381 100644 --- a/shellcheck-config/daily/index.xml +++ b/shellcheck-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub ShellCheck Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:28Z + 2023-10-23T01:40:05Z Daily Trending of ShellCheck Config in GitHub \ No newline at end of file diff --git a/shellcheck-config/weekly/index.xml b/shellcheck-config/weekly/index.xml deleted file mode 100644 index d8ec14cdda9..00000000000 --- a/shellcheck-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ShellCheck Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:35Z - Weekly Trending of ShellCheck Config in GitHub - - \ No newline at end of file diff --git a/shellsession/daily/index.xml b/shellsession/daily/index.xml index 7e98afad673..a0414d842cd 100644 --- a/shellsession/daily/index.xml +++ b/shellsession/daily/index.xml @@ -1,7 +1,7 @@ GitHub ShellSession Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:45Z + 2023-10-23T01:40:28Z Daily Trending of ShellSession in GitHub \ No newline at end of file diff --git a/shellsession/weekly/index.xml b/shellsession/weekly/index.xml deleted file mode 100644 index 63bf03b9828..00000000000 --- a/shellsession/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ShellSession Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:54Z - Weekly Trending of ShellSession in GitHub - - \ No newline at end of file diff --git a/shen/daily/index.xml b/shen/daily/index.xml index 154d05dc8d6..8294d8ad1f0 100644 --- a/shen/daily/index.xml +++ b/shen/daily/index.xml @@ -1,7 +1,7 @@ GitHub Shen Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:44Z + 2023-10-23T01:40:27Z Daily Trending of Shen in GitHub \ No newline at end of file diff --git a/shen/weekly/index.xml b/shen/weekly/index.xml deleted file mode 100644 index 0b9f1a57b6b..00000000000 --- a/shen/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Shen Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:55Z - Weekly Trending of Shen in GitHub - - \ No newline at end of file diff --git a/sieve/daily/index.xml b/sieve/daily/index.xml index ef4e472d95b..7f4c9dadb36 100644 --- a/sieve/daily/index.xml +++ b/sieve/daily/index.xml @@ -1,7 +1,7 @@ GitHub Sieve Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:46Z + 2023-10-23T01:40:26Z Daily Trending of Sieve in GitHub \ No newline at end of file diff --git a/sieve/weekly/index.xml b/sieve/weekly/index.xml deleted file mode 100644 index be41d9b6d02..00000000000 --- a/sieve/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Sieve Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:57Z - Weekly Trending of Sieve in GitHub - - \ No newline at end of file diff --git a/singularity/daily/index.xml b/singularity/daily/index.xml index fe5d8838c24..998dde044be 100644 --- a/singularity/daily/index.xml +++ b/singularity/daily/index.xml @@ -1,7 +1,7 @@ GitHub Singularity Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:47Z + 2023-10-23T01:40:33Z Daily Trending of Singularity in GitHub \ No newline at end of file diff --git a/singularity/weekly/index.xml b/singularity/weekly/index.xml deleted file mode 100644 index 52b274cf6e6..00000000000 --- a/singularity/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Singularity Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:00Z - Weekly Trending of Singularity in GitHub - - \ No newline at end of file diff --git a/slash/daily/index.xml b/slash/daily/index.xml index 54ff867b02a..ef457de7a33 100644 --- a/slash/daily/index.xml +++ b/slash/daily/index.xml @@ -1,7 +1,7 @@ GitHub Slash Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:50Z + 2023-10-23T01:40:31Z Daily Trending of Slash in GitHub \ No newline at end of file diff --git a/slash/weekly/index.xml b/slash/weekly/index.xml deleted file mode 100644 index 86f01e66e53..00000000000 --- a/slash/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Slash Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:58Z - Weekly Trending of Slash in GitHub - - \ No newline at end of file diff --git a/slice/daily/index.xml b/slice/daily/index.xml index 9ad3ecd507e..3015f8bcff5 100644 --- a/slice/daily/index.xml +++ b/slice/daily/index.xml @@ -1,7 +1,7 @@ GitHub Slice Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:48Z + 2023-10-23T01:40:30Z Daily Trending of Slice in GitHub \ No newline at end of file diff --git a/slice/weekly/index.xml b/slice/weekly/index.xml deleted file mode 100644 index 8657fe34e48..00000000000 --- a/slice/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Slice Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:01Z - Weekly Trending of Slice in GitHub - - \ No newline at end of file diff --git a/slim/daily/index.xml b/slim/daily/index.xml index ccf90802401..5d13795c3eb 100644 --- a/slim/daily/index.xml +++ b/slim/daily/index.xml @@ -1,7 +1,7 @@ GitHub Slim Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:49Z + 2023-10-23T01:40:32Z Daily Trending of Slim in GitHub \ No newline at end of file diff --git a/slim/weekly/index.xml b/slim/weekly/index.xml deleted file mode 100644 index 45a4fb062b0..00000000000 --- a/slim/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Slim Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:01:59Z - Weekly Trending of Slim in GitHub - - \ No newline at end of file diff --git a/smali/daily/index.xml b/smali/daily/index.xml index c7d4a8f5ac4..efd4e6dd339 100644 --- a/smali/daily/index.xml +++ b/smali/daily/index.xml @@ -1,7 +1,7 @@ GitHub Smali Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:52Z + 2023-10-23T01:40:39Z Daily Trending of Smali in GitHub \ No newline at end of file diff --git a/smali/weekly/index.xml b/smali/weekly/index.xml deleted file mode 100644 index f4daee08c9b..00000000000 --- a/smali/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Smali Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:02Z - Weekly Trending of Smali in GitHub - - \ No newline at end of file diff --git a/smalltalk/daily/index.xml b/smalltalk/daily/index.xml index 423d1569d91..984b18e87e0 100644 --- a/smalltalk/daily/index.xml +++ b/smalltalk/daily/index.xml @@ -1,7 +1,7 @@ GitHub Smalltalk Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:55Z + 2023-10-23T01:40:37Z Daily Trending of Smalltalk in GitHub \ No newline at end of file diff --git a/smalltalk/weekly/index.xml b/smalltalk/weekly/index.xml deleted file mode 100644 index 1aa629fd743..00000000000 --- a/smalltalk/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Smalltalk Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:08Z - Weekly Trending of Smalltalk in GitHub - - \ No newline at end of file diff --git a/smarty/daily/index.xml b/smarty/daily/index.xml index 73c7952301d..5b64a848963 100644 --- a/smarty/daily/index.xml +++ b/smarty/daily/index.xml @@ -1,14 +1,7 @@ GitHub Smarty Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:58Z + 2023-10-23T01:40:42Z Daily Trending of Smarty in GitHub - - SwanseaUniversityMedical/Canary - 2023-10-22T01:42:58Z - tag:github.com,2023-10-22:/SwanseaUniversityMedical/Canary - - <p>Kubernetes native HTTP health probes logged to Prometheus.</p><hr> - \ No newline at end of file diff --git a/smarty/weekly/index.xml b/smarty/weekly/index.xml deleted file mode 100644 index 665512fb457..00000000000 --- a/smarty/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Smarty Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:05Z - Weekly Trending of Smarty in GitHub - - - spiffe/helm-charts-flex - 2023-10-22T02:02:05Z - tag:github.com,2023-10-22:/spiffe/helm-charts-flex - - <p></p><hr> - - \ No newline at end of file diff --git a/smpl/daily/index.xml b/smpl/daily/index.xml index c2d88dd1b1c..e595b84aa67 100644 --- a/smpl/daily/index.xml +++ b/smpl/daily/index.xml @@ -1,7 +1,7 @@ GitHub SmPL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:00Z + 2023-10-23T01:40:44Z Daily Trending of SmPL in GitHub \ No newline at end of file diff --git a/smpl/weekly/index.xml b/smpl/weekly/index.xml deleted file mode 100644 index 5620193c966..00000000000 --- a/smpl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SmPL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:09Z - Weekly Trending of SmPL in GitHub - - \ No newline at end of file diff --git a/smt/daily/index.xml b/smt/daily/index.xml index baf432f66bb..171e640a576 100644 --- a/smt/daily/index.xml +++ b/smt/daily/index.xml @@ -1,7 +1,7 @@ GitHub SMT Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:42:59Z + 2023-10-23T01:40:45Z Daily Trending of SMT in GitHub \ No newline at end of file diff --git a/smt/weekly/index.xml b/smt/weekly/index.xml deleted file mode 100644 index 27c028a46a6..00000000000 --- a/smt/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SMT Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:10Z - Weekly Trending of SMT in GitHub - - \ No newline at end of file diff --git a/solidity/daily/index.xml b/solidity/daily/index.xml index 9471b9ae466..e31657afb92 100644 --- a/solidity/daily/index.xml +++ b/solidity/daily/index.xml @@ -1,7 +1,28 @@ GitHub Solidity Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:03Z + 2023-10-23T01:40:48Z Daily Trending of Solidity in GitHub + + 6boris/awesome-web3-contracts + 2023-10-23T01:40:48Z + tag:github.com,2023-10-23:/6boris/awesome-web3-contracts + + <p>Holds the contracts that web3 developers use on a daily basis, including Ethernaut, Uniswap,Damn Vulnerable DeFi etc.</p><hr> + + + expertlisting/token_code + 2023-10-23T01:40:48Z + tag:github.com,2023-10-23:/expertlisting/token_code + + <p>Token, Meme Token Smart Contract Code (SOLIDITY) 🔥 BEP20 and ERC20 Smart Contracts, Create Your OWN Cryptocurrency! Smart Contract, Contract Address, Solidity SOL Code Contract, Solidity Cryptocurrency Token Meme Token Smart Contract Code</p><hr> + + + base-org/contracts + 2023-10-23T01:40:48Z + tag:github.com,2023-10-23:/base-org/contracts + + <p></p><hr> + \ No newline at end of file diff --git a/solidity/weekly/index.xml b/solidity/weekly/index.xml deleted file mode 100644 index db75cbb0b2d..00000000000 --- a/solidity/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Solidity Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:14Z - Weekly Trending of Solidity in GitHub - - - code-423n4/2023-10-brahma - 2023-10-22T02:02:14Z - tag:github.com,2023-10-22:/code-423n4/2023-10-brahma - - <p></p><hr> - - - daimo-eth/p256-verifier - 2023-10-22T02:02:14Z - tag:github.com,2023-10-22:/daimo-eth/p256-verifier - - <p>P256 signature verification solidity contract: Fallback contract from EIP-7212 precompile</p><hr> - - - matter-labs/zksync-hardhat-template - 2023-10-22T02:02:14Z - tag:github.com,2023-10-22:/matter-labs/zksync-hardhat-template - - <p>Template project for zksync-hardhat</p><hr> - - \ No newline at end of file diff --git a/soong/daily/index.xml b/soong/daily/index.xml index e1f82113ea3..353e607e261 100644 --- a/soong/daily/index.xml +++ b/soong/daily/index.xml @@ -1,7 +1,7 @@ GitHub Soong Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:06Z + 2023-10-23T01:40:51Z Daily Trending of Soong in GitHub \ No newline at end of file diff --git a/soong/weekly/index.xml b/soong/weekly/index.xml deleted file mode 100644 index aac8213d284..00000000000 --- a/soong/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Soong Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:15Z - Weekly Trending of Soong in GitHub - - \ No newline at end of file diff --git a/sourcepawn/daily/index.xml b/sourcepawn/daily/index.xml index c526dbb3a71..0b9751904e2 100644 --- a/sourcepawn/daily/index.xml +++ b/sourcepawn/daily/index.xml @@ -1,7 +1,7 @@ GitHub SourcePawn Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:07Z + 2023-10-23T01:40:49Z Daily Trending of SourcePawn in GitHub \ No newline at end of file diff --git a/sourcepawn/weekly/index.xml b/sourcepawn/weekly/index.xml deleted file mode 100644 index 71ab2548729..00000000000 --- a/sourcepawn/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SourcePawn Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:18Z - Weekly Trending of SourcePawn in GitHub - - \ No newline at end of file diff --git a/sparql/daily/index.xml b/sparql/daily/index.xml index e5deee80cf0..d7641bf630f 100644 --- a/sparql/daily/index.xml +++ b/sparql/daily/index.xml @@ -1,7 +1,7 @@ GitHub SPARQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:06Z + 2023-10-23T01:40:52Z Daily Trending of SPARQL in GitHub \ No newline at end of file diff --git a/sparql/weekly/index.xml b/sparql/weekly/index.xml deleted file mode 100644 index 4d5764b5118..00000000000 --- a/sparql/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SPARQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:17Z - Weekly Trending of SPARQL in GitHub - - \ No newline at end of file diff --git a/spline-font-database/daily/index.xml b/spline-font-database/daily/index.xml index 2e0652860b9..0d711228b67 100644 --- a/spline-font-database/daily/index.xml +++ b/spline-font-database/daily/index.xml @@ -1,7 +1,7 @@ GitHub Spline Font Database Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:05Z + 2023-10-23T01:40:50Z Daily Trending of Spline Font Database in GitHub \ No newline at end of file diff --git a/spline-font-database/weekly/index.xml b/spline-font-database/weekly/index.xml deleted file mode 100644 index 69f468d24c1..00000000000 --- a/spline-font-database/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Spline Font Database Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:16Z - Weekly Trending of Spline Font Database in GitHub - - \ No newline at end of file diff --git a/sqf/daily/index.xml b/sqf/daily/index.xml index a0e0e0b7154..d3467eb9e25 100644 --- a/sqf/daily/index.xml +++ b/sqf/daily/index.xml @@ -1,7 +1,7 @@ GitHub SQF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:11Z + 2023-10-23T01:40:56Z Daily Trending of SQF in GitHub \ No newline at end of file diff --git a/sqf/weekly/index.xml b/sqf/weekly/index.xml deleted file mode 100644 index 3eb3a5cbcdc..00000000000 --- a/sqf/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SQF Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:22Z - Weekly Trending of SQF in GitHub - - \ No newline at end of file diff --git a/sql/daily/index.xml b/sql/daily/index.xml index b6bf0b1334c..535d38c6423 100644 --- a/sql/daily/index.xml +++ b/sql/daily/index.xml @@ -1,7 +1,7 @@ GitHub SQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:10Z + 2023-10-23T01:40:56Z Daily Trending of SQL in GitHub \ No newline at end of file diff --git a/sql/weekly/index.xml b/sql/weekly/index.xml deleted file mode 100644 index 974d2524d58..00000000000 --- a/sql/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:19Z - Weekly Trending of SQL in GitHub - - \ No newline at end of file diff --git a/sqlpl/daily/index.xml b/sqlpl/daily/index.xml index ca58cf73578..42fa9bc4171 100644 --- a/sqlpl/daily/index.xml +++ b/sqlpl/daily/index.xml @@ -1,7 +1,7 @@ GitHub SQLPL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:09Z + 2023-10-23T01:40:53Z Daily Trending of SQLPL in GitHub \ No newline at end of file diff --git a/sqlpl/weekly/index.xml b/sqlpl/weekly/index.xml deleted file mode 100644 index 6df3819d24a..00000000000 --- a/sqlpl/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub SQLPL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:20Z - Weekly Trending of SQLPL in GitHub - - - ruchva/code-helpers - 2023-10-22T02:02:20Z - tag:github.com,2023-10-22:/ruchva/code-helpers - - <p>METODOS, QUERYS, VARIOS SALVAVIDAS</p><hr> - - \ No newline at end of file diff --git a/squirrel/daily/index.xml b/squirrel/daily/index.xml index f5a9539605c..2f7e5339e52 100644 --- a/squirrel/daily/index.xml +++ b/squirrel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Squirrel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:08Z + 2023-10-23T01:40:54Z Daily Trending of Squirrel in GitHub \ No newline at end of file diff --git a/squirrel/weekly/index.xml b/squirrel/weekly/index.xml deleted file mode 100644 index 1ab32a7ac8e..00000000000 --- a/squirrel/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Squirrel Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:21Z - Weekly Trending of Squirrel in GitHub - - \ No newline at end of file diff --git a/srecode-template/daily/index.xml b/srecode-template/daily/index.xml index 72b374fe2db..2be85e5109a 100644 --- a/srecode-template/daily/index.xml +++ b/srecode-template/daily/index.xml @@ -1,7 +1,7 @@ GitHub SRecode Template Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:13Z + 2023-10-23T01:41:01Z Daily Trending of SRecode Template in GitHub \ No newline at end of file diff --git a/srecode-template/weekly/index.xml b/srecode-template/weekly/index.xml deleted file mode 100644 index 5c1403c644a..00000000000 --- a/srecode-template/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SRecode Template Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:24Z - Weekly Trending of SRecode Template in GitHub - - \ No newline at end of file diff --git a/ssh-config/daily/index.xml b/ssh-config/daily/index.xml index 58ae4b6d73e..9c8b98f3a83 100644 --- a/ssh-config/daily/index.xml +++ b/ssh-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub SSH Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:15Z + 2023-10-23T01:40:58Z Daily Trending of SSH Config in GitHub \ No newline at end of file diff --git a/ssh-config/weekly/index.xml b/ssh-config/weekly/index.xml deleted file mode 100644 index b76222f622f..00000000000 --- a/ssh-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SSH Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:26Z - Weekly Trending of SSH Config in GitHub - - \ No newline at end of file diff --git a/stan/daily/index.xml b/stan/daily/index.xml index a72c9767ebc..b337335ab5d 100644 --- a/stan/daily/index.xml +++ b/stan/daily/index.xml @@ -1,7 +1,7 @@ GitHub Stan Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:12Z + 2023-10-23T01:40:59Z Daily Trending of Stan in GitHub \ No newline at end of file diff --git a/stan/weekly/index.xml b/stan/weekly/index.xml deleted file mode 100644 index 9fc6ff4cb69..00000000000 --- a/stan/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Stan Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:23Z - Weekly Trending of Stan in GitHub - - \ No newline at end of file diff --git a/standard-ml/daily/index.xml b/standard-ml/daily/index.xml index 53aa72a0f2d..a4afb4c2c85 100644 --- a/standard-ml/daily/index.xml +++ b/standard-ml/daily/index.xml @@ -1,7 +1,7 @@ GitHub Standard ML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:14Z + 2023-10-23T01:41:00Z Daily Trending of Standard ML in GitHub \ No newline at end of file diff --git a/standard-ml/weekly/index.xml b/standard-ml/weekly/index.xml deleted file mode 100644 index 0fa379195c2..00000000000 --- a/standard-ml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Standard ML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:25Z - Weekly Trending of Standard ML in GitHub - - \ No newline at end of file diff --git a/starlark/daily/index.xml b/starlark/daily/index.xml index 3f60c18525a..d19a30ea088 100644 --- a/starlark/daily/index.xml +++ b/starlark/daily/index.xml @@ -1,14 +1,7 @@ GitHub Starlark Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:21Z + 2023-10-23T01:41:06Z Daily Trending of Starlark in GitHub - - bazeltools/bazel_jar_jar - 2023-10-22T01:43:21Z - tag:github.com,2023-10-22:/bazeltools/bazel_jar_jar - - <p>JarJar rules for bazel (rename packages and classes in existing jars)</p><hr> - \ No newline at end of file diff --git a/starlark/weekly/index.xml b/starlark/weekly/index.xml deleted file mode 100644 index ae684420182..00000000000 --- a/starlark/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Starlark Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:32Z - Weekly Trending of Starlark in GitHub - - - GaloyMoney/galoy - 2023-10-22T02:02:32Z - tag:github.com,2023-10-22:/GaloyMoney/galoy - - <p>bitcoin banking infrastructure</p><hr> - - \ No newline at end of file diff --git a/stata/daily/index.xml b/stata/daily/index.xml index e34b0e26b75..9d1b1a2bdac 100644 --- a/stata/daily/index.xml +++ b/stata/daily/index.xml @@ -1,7 +1,7 @@ GitHub Stata Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:18Z + 2023-10-23T01:41:03Z Daily Trending of Stata in GitHub \ No newline at end of file diff --git a/stata/weekly/index.xml b/stata/weekly/index.xml deleted file mode 100644 index 8baab328731..00000000000 --- a/stata/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Stata Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:28Z - Weekly Trending of Stata in GitHub - - \ No newline at end of file diff --git a/ston/daily/index.xml b/ston/daily/index.xml index 172f78ff5f1..2fe51b68d6a 100644 --- a/ston/daily/index.xml +++ b/ston/daily/index.xml @@ -1,7 +1,7 @@ GitHub STON Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:24Z + 2023-10-23T01:41:08Z Daily Trending of STON in GitHub \ No newline at end of file diff --git a/ston/weekly/index.xml b/ston/weekly/index.xml deleted file mode 100644 index 504bb6e1597..00000000000 --- a/ston/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub STON Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:35Z - Weekly Trending of STON in GitHub - - \ No newline at end of file diff --git a/stringtemplate/daily/index.xml b/stringtemplate/daily/index.xml index 41c68377436..985b9cf85ea 100644 --- a/stringtemplate/daily/index.xml +++ b/stringtemplate/daily/index.xml @@ -1,7 +1,7 @@ GitHub StringTemplate Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:22Z + 2023-10-23T01:41:09Z Daily Trending of StringTemplate in GitHub \ No newline at end of file diff --git a/stringtemplate/weekly/index.xml b/stringtemplate/weekly/index.xml deleted file mode 100644 index 8f5d84383e8..00000000000 --- a/stringtemplate/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub StringTemplate Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:33Z - Weekly Trending of StringTemplate in GitHub - - \ No newline at end of file diff --git a/stylus/daily/index.xml b/stylus/daily/index.xml index 2390ffa8895..544aa10acb5 100644 --- a/stylus/daily/index.xml +++ b/stylus/daily/index.xml @@ -1,14 +1,7 @@ GitHub Stylus Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:25Z + 2023-10-23T01:41:10Z Daily Trending of Stylus in GitHub - - luommy/luommy.github.io - 2023-10-22T01:43:25Z - tag:github.com,2023-10-22:/luommy/luommy.github.io - - <p>siyuan&hexo Notes~</p><hr> - \ No newline at end of file diff --git a/stylus/weekly/index.xml b/stylus/weekly/index.xml deleted file mode 100644 index d41aeeaf608..00000000000 --- a/stylus/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Stylus Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:34Z - Weekly Trending of Stylus in GitHub - - \ No newline at end of file diff --git a/subrip-text/daily/index.xml b/subrip-text/daily/index.xml index 30f4d9f7449..f600988b245 100644 --- a/subrip-text/daily/index.xml +++ b/subrip-text/daily/index.xml @@ -1,7 +1,7 @@ GitHub SubRip Text Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:23Z + 2023-10-23T01:41:07Z Daily Trending of SubRip Text in GitHub \ No newline at end of file diff --git a/subrip-text/weekly/index.xml b/subrip-text/weekly/index.xml deleted file mode 100644 index d686782aabe..00000000000 --- a/subrip-text/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SubRip Text Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:36Z - Weekly Trending of SubRip Text in GitHub - - \ No newline at end of file diff --git a/sugarss/daily/index.xml b/sugarss/daily/index.xml index 3384bf46e17..b7c4898b6eb 100644 --- a/sugarss/daily/index.xml +++ b/sugarss/daily/index.xml @@ -1,7 +1,7 @@ GitHub SugarSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:26Z + 2023-10-23T01:41:13Z Daily Trending of SugarSS in GitHub \ No newline at end of file diff --git a/sugarss/weekly/index.xml b/sugarss/weekly/index.xml deleted file mode 100644 index 6a56b2c1295..00000000000 --- a/sugarss/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SugarSS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:39Z - Weekly Trending of SugarSS in GitHub - - \ No newline at end of file diff --git a/supercollider/daily/index.xml b/supercollider/daily/index.xml index a551b24e612..d4f1cd9108b 100644 --- a/supercollider/daily/index.xml +++ b/supercollider/daily/index.xml @@ -1,7 +1,7 @@ GitHub SuperCollider Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:27Z + 2023-10-23T01:41:11Z Daily Trending of SuperCollider in GitHub \ No newline at end of file diff --git a/supercollider/weekly/index.xml b/supercollider/weekly/index.xml deleted file mode 100644 index 62f812fffa7..00000000000 --- a/supercollider/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SuperCollider Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:38Z - Weekly Trending of SuperCollider in GitHub - - \ No newline at end of file diff --git a/svelte/daily/index.xml b/svelte/daily/index.xml index d566c6fa4bb..7111f71c749 100644 --- a/svelte/daily/index.xml +++ b/svelte/daily/index.xml @@ -1,14 +1,14 @@ GitHub Svelte Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:31Z + 2023-10-23T01:41:16Z Daily Trending of Svelte in GitHub - ya-erm/money-keeper - 2023-10-22T01:43:31Z - tag:github.com,2023-10-22:/ya-erm/money-keeper - - <p>Manage your finances</p><hr> + yizhe-ang/interactive-transformer + 2023-10-23T01:41:16Z + tag:github.com,2023-10-23:/yizhe-ang/interactive-transformer + + <p>A visual interface for understanding and interpreting Transformers</p><hr> \ No newline at end of file diff --git a/svelte/weekly/index.xml b/svelte/weekly/index.xml deleted file mode 100644 index 4a92e507c28..00000000000 --- a/svelte/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Svelte Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:41Z - Weekly Trending of Svelte in GitHub - - - wevisdemo/parliament-watch - 2023-10-22T02:02:41Z - tag:github.com,2023-10-22:/wevisdemo/parliament-watch - - <p>Citizens are watching 👀</p><hr> - - - IshaanAdarsh/ezmail - 2023-10-22T02:02:41Z - tag:github.com,2023-10-22:/IshaanAdarsh/ezmail - - <p>An open-source user-friendly Web application with 50+ pre-designed easily customisable email templates for effective communication</p><hr> - - - SOH69/mm_radio - 2023-10-22T02:02:41Z - tag:github.com,2023-10-22:/SOH69/mm_radio - - <p>A Radio Script for Fivem Server</p><hr> - - \ No newline at end of file diff --git a/svg/daily/index.xml b/svg/daily/index.xml index a83427e8a3c..1be8bc88d20 100644 --- a/svg/daily/index.xml +++ b/svg/daily/index.xml @@ -1,7 +1,7 @@ GitHub SVG Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:31Z + 2023-10-23T01:41:16Z Daily Trending of SVG in GitHub \ No newline at end of file diff --git a/svg/weekly/index.xml b/svg/weekly/index.xml deleted file mode 100644 index 71a131791b9..00000000000 --- a/svg/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SVG Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:41Z - Weekly Trending of SVG in GitHub - - \ No newline at end of file diff --git a/swift/daily/index.xml b/swift/daily/index.xml index f9912de4639..7cb41664a4f 100644 --- a/swift/daily/index.xml +++ b/swift/daily/index.xml @@ -1,14 +1,7 @@ GitHub Swift Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:39Z + 2023-10-23T01:41:24Z Daily Trending of Swift in GitHub - - krzysztofzablocki/Swift-Macros - 2023-10-22T01:43:39Z - tag:github.com,2023-10-22:/krzysztofzablocki/Swift-Macros - - <p>A curated list of awesome Swift Macros</p><hr><h1>Swift Macros <span>🚀</span></h1> <img align="left" width="256" height="256" src="https://github.com/krzysztofzablocki/Swift-Macros/raw/d218dea43b205e1c002feb28610d58d2c4d105dc/Icon.png"> <br> <br> <p>Swift Macros have brought in a new wave of possibilities. The aim of this project is to curate a list of community-created Macros and associated learning resources.</p> <p>A lot of use-cases my <a href="https://github.com/krzysztofzablocki/Sourcery">Sourcery</a> covered before can now be implemented by Swift Macros.</p> <p><br><br><br><br><br></p> <h2>Learning Resources <span>📚</span></h2> <h3><strong>Tools</strong></h3> <ul> <li><a href="https://swift-ast-explorer.com/">Swift AST Explorer</a> <ul> <li>This is extremely helpful when working with <a href="https://github.com/apple/swift-syntax">SwiftSyntax</a>, I used this when writing <a href="https://github.com/krzysztofzablocki/Sourcery">Sourcery</a> parser and you can leverage it to build your own Macros.</li> </ul> </li> </ul> <h3><strong>Apple:</strong></h3> <p>Dive into Swift Macros with these WWDC sessions:</p> <ul> <li><a href="https://developer.apple.com/videos/play/wwdc2023-10166">Write Swift Macros</a>: An introductory session on Macros, their roles, and workings with a basic example.</li> <li><a href="https://developer.apple.com/videos/play/wwdc2023-10167">Expand Swift Macros</a>: A deeper exploration into crafting your Macros and testing their functionality.</li> </ul> <p>Other Apple Resources:</p> <ul> <li><a href="https://docs.swift.org/swift-book/documentation/the-swift-programming-language/macros">Macros</a>: The Official Step-by-Step Guide to Using Macros for Compile-Time Code Generation in Swift.</li> <li><a href="https://github.com/apple/swift-syntax/tree/main/Examples/Sources/MacroExamples">Example Swift Macros</a>: Check out real-world examples from Apple, like <code>@AddCompletionHandler</code> and <code>@AddAsync</code>.</li> </ul> <h3><strong>Community Blogs</strong></h3> <ul> <li><a href="https://www.avanderlee.com/swift/macros/">Swift Macros by SwiftLee</a> <ul> <li>Antoine goes over the introduction of what Macros are and how you can build your own one with an example.</li> </ul> </li> <li><a href="https://blog.leonifrancesco.com/articles/swift-macros">How to Create Swift Macros in Xcode 15</a> <ul> <li>Francesco goes over creating your first macro with testing and some interesting tidbits.</li> </ul> </li> <li><a href="https://medium.com/dev-genius/exploring-new-swift-macros-api-245e0b1f7c8d">Exploring Swift Macros</a> <ul> <li>Sergey goes over creating a macro for a memberwise initaliser step by step with tests and convenience methods for SwiftSyntax</li> </ul> </li> <li><a href="https://otbivnoe.ru/2023/06/13/Automating-RawRepresentable-Conformance-with-Swift-Macros.html">Automating RawRepresentable Conformance with Swift Macros</a> <ul> <li>Nikita goes over creating a macro for automating the String RawRepresentable conformance.</li> </ul> </li> <li><a href="https://medium.com/@tim_wang/setup-to-develop-swift-macros-68d8fe2fea59">Setup to develop Swift Macros</a> <ul> <li>A step-by-step tutorial to develop Swift Macros.</li> </ul> </li> </ul> <hr> <h2>Macros <span>💻</span></h2> <h3>SwiftUI</h3> <ul> <li><a href="https://github.com/Wouter01/SwiftUI-Macros/tree/main">EnvironmentValues &amp; EnvironmentValue</a>: Bypass boilerplate code and swiftly support new SwiftUI Environment Keys and Values.</li> <li><a href="https://github.com/lukepistrol/SFSymbolsMacro">SFSymbols Macro</a>: A Swift Macro for "type-safe" SF Symbols.</li> <li><a href="https://github.com/zijievv/sf-symbols-generator">SF Symbols Generator</a>: A Swift macro generating type-safe SF Symbols.</li> <li><a href="https://github.com/mrylmz/Prototype">Prototype (WIP)</a>: Prototype generates SwiftUI Forms and Views for data structures and classes, designed to complement SwiftData Models seamlessly.</li> <li><a href="https://github.com/alvmo/HexColors">HexColors</a>: Swift Macros for validating hex colors from string and hexadecimal integer literals.</li> </ul> <h3>Models</h3> <ul> <li><a href="https://github.com/Ryu0118/CodingKeysMacro">Coding Keys</a>: Effortlessly generate CodingKeys for converting <code>snake_case</code> to <code>lowerCamelCase</code>.</li> <li><a href="https://github.com/sasha-riabchuk/CodingKeysMacro-swift">Coding Keys</a>: A Swift Macro for automating CodingKeys creation in Codable structs. Supports custom string mappings for properties.</li> <li><a href="https://github.com/zijievv/CodingKeysGenerator">Coding Keys</a>: Swift macros generating customizable <code>CodingKeys</code>.</li> <li><a href="https://github.com/dziobaczy/SwiftBuilderMacro">Builder pattern</a>: Apply the <a href="https://refactoring.guru/design-patterns/builder">Builder Pattern</a> with ease by generating a <code>Builder</code> helper class, mimicking stored properties of the associated struct.</li> <li><a href="https://github.com/alschmut/StructBuilderMacro">Struct Builder Macro</a>: An attached macro that produces a peer struct which implements the builder pattern. This allows the creation of the struct with minimal effort using default values.</li> <li><a href="https://github.com/unixzii/EnhancedMirror">EnhancedMirror</a>: An experimental Mirror alternative that utilizes Swift Macros for static reflection.</li> <li><a href="https://github.com/SwiftyLab/MetaCodable">MetaCodable</a>: Generates <code>Codable</code> implementation with following features: <ul> <li>Allows custom <code>CodingKey</code> value declaration per variable, instead of requiring you to write for all fields.</li> <li>Allows to create flattened model for nested <code>CodingKey</code> values.</li> <li>Allows to create composition of multiple <code>Codable</code> types.</li> <li>Allows to provide default value <strong>in case of decoding failures</strong>.</li> <li>Generates member-wise initializer <strong>considering the default values</strong>.</li> <li>Allows to create custom decoding/encoding strategies.</li> </ul> </li> <li><a href="https://github.com/leedh2004/SealedMacro">Sealed</a>: Parsing easily Sealed Class JSON Model on Server. (ex. kotlin server)</li> <li><a href="https://github.com/mikhailmaslo/macro-codable-kit">MacroCodableKit</a>: Fully self-sufficient <code>Codable</code> kit: <ul> <li>Implements OpenAPI <a href="https://spec.openapis.org/oas/v3.1.0#composition-and-inheritance-polymorphism">allOf</a> and <a href="https://spec.openapis.org/oas/v3.1.0#fixed-fields-20">oneOf</a> specs</li> <li>Adjusts coding keys with a simple <code>@CodingKey</code> annotation</li> <li>Decodes arrays and dictionaries in a safe manner with <code>@CustomCoding(SafeDecoding)</code></li> <li>Has built-in per-property <code>Codable</code> strategies and is extendible for new ones.</li> </ul> </li> </ul> <h3>Dependency Injection</h3> <ul> <li><a href="https://github.com/shackley/swift-blade">swift-blade</a>: A macro powered dependency injection framework.</li> <li><a href="https://github.com/renato-iar/MDI">MDI</a>: High performance dependency injection framework.</li> </ul> <h3>Testing</h3> <ul> <li><a href="https://github.com/kishikawakatsumi/swift-power-assert">Power Assert</a>: Adds assertions that can automatically produce information about the values being evaluated, and present it in an easily digestible form.</li> <li><a href="https://github.com/Matejkob/swift-spyable">Spyable</a>: A Swift macro that simplifies and automates the process of creating spies for testing. Using the <code>@Spyable</code> annotation on a protocol, the macro generates a spy class that implements the same interface as the protocol and keeps track of interactions with its methods and properties.</li> <li><a href="https://github.com/MetalheadSanya/swift-mock">SwiftMock</a>: A Swift framework that simplifies and automates the process of creating mock objects for testing. Using the <code>@Mock</code> macro on a protocol generates Mock class. You can stub methods and properties, verifying mock calls.</li> </ul> <h3>Networking</h3> <ul> <li><a href="https://github.com/ailtonvivaz/swift-request">SwiftRequest</a>: SwiftRequest is a lightweight, type-safe HTTP client for Swift, streamlining the construction and execution of HTTP request build on top of Macros.</li> <li><a href="https://github.com/joshuawright11/papyrus">Papyrus</a>: A type-safe, protocol based HTTP client - turn your APIs into Swift protocols. Includes first-class testing support with out of the box mocking.</li> </ul> <h3>Enums</h3> <ul> <li><a href="https://github.com/fruitcoder/extract-case-value">ExtractCaseValue</a>: A Swift macro that extracts associated values from enum cases.</li> </ul> <h3>Misc</h3> <ul> <li><a href="https://github.com/IanKeen/MacroKit">MacroKit</a>: A collection of macros including: <ul> <li><code>@PublicInit</code>: Generate public memberwise init</li> <li><code>@GenerateMock</code>: Create a mock object for testing from a protocol</li> <li><code>@KeyPathIterable</code>: Like <code>CaseIterable</code> but for available keypaths on a type</li> <li><code>@StaticMemberIterable</code>: Like <code>CaseIterable</code> but for available static members on a type</li> <li>More to come...</li> </ul> </li> <li><a href="https://github.com/LeonardoCardoso/InitMacro">InitMacro</a>: A Swift Macro implementation that generates initializers for classes and structs with support for default values, wildcards and access control.</li> <li><a href="https://github.com/p-x9/AssociatedObject">AssociatedObject</a>: A Swift Macro for adding stored properties in Extension to classes defined in external modules, etc.<br> (This is implemented by wrapping <code>objc_getAssociatedObject</code>/<code>objc_setAssociatedObject</code>.)</li> <li><a href="https://github.com/syt2/AssociatedObjectMacro">AssociatedObjectMacro</a>: A Swift Macro for convenient declaration of variables in class extensions.</li> <li><a href="https://github.com/p-x9/AliasMacro">AliasMacro</a>: A Swift Macro for defining aliases for types, functions, or variables.</li> <li><a href="https://github.com/bannzai/UtilityType">UtilityType</a>: UtilityType is an innovative library designed to realize TypeScript's UtilityTypes in Swift. See more details: <a href="https://www.typescriptlang.org/docs/handbook/utility-types.html">https://www.typescriptlang.org/docs/handbook/utility-types.html</a> <ul> <li><code>@Partial</code>,<code>@Required</code>: Constructs a type with all properties set to optional(<code>@Partial</code>) or require(<code>@Required</code>). This utility will return a type that represents all subsets of a given type.</li> <li><code>@Pick</code>,<code>@Omit</code>: Constructs a type by picking(<code>@Pick</code>) or removing(<code>@Omit</code>) the set of specific properties keys (only string literal) from attached Type.</li> <li><code>@Exclude</code>,<code>@Extract</code>: Constructs a type by excluding(<code>@Exclude</code>) or extracting(<code>@Extract</code>) from enum all cases.</li> <li><code>@Parameters</code>: Constructs a tuple type from the types used in the parameters of a function type.</li> <li><code>@ReturnType</code>: Constructs a type consisting of the return type of function.</li> </ul> </li> <li><a href="https://github.com/collisionspace/ReuseIdentifierMacro">Reuse Identifier</a>: A Reuse Identifier Macro that is useful in generation of a reuse id for your UICollectionViewCells and UITableViewCells</li> <li><a href="https://github.com/ShenghaiWang/SwiftMacros">SwiftMacros collection</a>: A practical collection of Swift Macros that help code correctly and smartly.</li> <li><a href="https://github.com/WilhelmOks/ModifiedCopyMacro">ModifiedCopyMacro</a>: A Swift macro for making inline copies of a struct by modifying a property.</li> <li><a href="https://github.com/Dcard/DictionaryLiteralShorthandMacro">DictionaryLiteralShorthandMacro</a>: A Swfit macro for creating dictionary literals with keys as "string representations of corresponding variable names".</li> <li><a href="https://github.com/yume190/TemporaryVariable">TemporaryVariable</a>: <code>TemporaryVariable</code> provide a macro <code>#info {...}</code>. It capture most function calls and assign them to temporary variables.</li> <li><a href="https://github.com/ADiks09/Localizable">Localizable</a>: <code>Localizable</code> A macro that produces variables and methods, for your localization files. From the enumeration keys.</li> <li><a href="https://github.com/renato-iar/SafeDecoding">SafeDecoding</a>: <code>SafeDecoding</code> A macro that implements failable decoding via custom initializer; allows auto-conformance to `Decodable`` and per-property opt-out.</li> </ul> <hr> <p><em><strong>Take part in this exciting evolution in Swift. Your contributions are most welcome!</strong></em></p> - \ No newline at end of file diff --git a/swift/weekly/index.xml b/swift/weekly/index.xml deleted file mode 100644 index 584cfaaebb3..00000000000 --- a/swift/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Swift Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:49Z - Weekly Trending of Swift in GitHub - - \ No newline at end of file diff --git a/swig/daily/index.xml b/swig/daily/index.xml index ab0f3386e9e..d4af5628ce7 100644 --- a/swig/daily/index.xml +++ b/swig/daily/index.xml @@ -1,7 +1,7 @@ GitHub SWIG Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:39Z + 2023-10-23T01:41:21Z Daily Trending of SWIG in GitHub \ No newline at end of file diff --git a/swig/weekly/index.xml b/swig/weekly/index.xml deleted file mode 100644 index 2491214e5e1..00000000000 --- a/swig/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SWIG Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:02:46Z - Weekly Trending of SWIG in GitHub - - \ No newline at end of file diff --git a/systemverilog/daily/index.xml b/systemverilog/daily/index.xml index 775c69ba580..7df80ea4556 100644 --- a/systemverilog/daily/index.xml +++ b/systemverilog/daily/index.xml @@ -1,7 +1,7 @@ GitHub SystemVerilog Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:57Z + 2023-10-23T01:41:47Z Daily Trending of SystemVerilog in GitHub \ No newline at end of file diff --git a/systemverilog/weekly/index.xml b/systemverilog/weekly/index.xml deleted file mode 100644 index 8a89aa44a2e..00000000000 --- a/systemverilog/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub SystemVerilog Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:10Z - Weekly Trending of SystemVerilog in GitHub - - - MiSTer-devel/Saturn_MiSTer - 2023-10-22T02:03:10Z - tag:github.com,2023-10-22:/MiSTer-devel/Saturn_MiSTer - - <p>Sega Saturn for MiSTer</p><hr> - - - Purdue-SoCET/FPU - 2023-10-22T02:03:10Z - tag:github.com,2023-10-22:/Purdue-SoCET/FPU - - <p>Floating-point unit for RISC-V core</p><hr> - - \ No newline at end of file diff --git a/talon/daily/index.xml b/talon/daily/index.xml index a640409b8bb..56cf3ac0aa3 100644 --- a/talon/daily/index.xml +++ b/talon/daily/index.xml @@ -1,7 +1,7 @@ GitHub Talon Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:52Z + 2023-10-23T01:41:42Z Daily Trending of Talon in GitHub \ No newline at end of file diff --git a/talon/weekly/index.xml b/talon/weekly/index.xml deleted file mode 100644 index 3df89b9794f..00000000000 --- a/talon/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Talon Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:06Z - Weekly Trending of Talon in GitHub - - \ No newline at end of file diff --git a/tcl/daily/index.xml b/tcl/daily/index.xml index d8a672d1afe..bdb93c8ef9e 100644 --- a/tcl/daily/index.xml +++ b/tcl/daily/index.xml @@ -1,7 +1,7 @@ GitHub Tcl Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:54Z + 2023-10-23T01:41:44Z Daily Trending of Tcl in GitHub \ No newline at end of file diff --git a/tcl/weekly/index.xml b/tcl/weekly/index.xml deleted file mode 100644 index f343da8004c..00000000000 --- a/tcl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Tcl Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:08Z - Weekly Trending of Tcl in GitHub - - \ No newline at end of file diff --git a/tcsh/daily/index.xml b/tcsh/daily/index.xml index 7dc558994f8..544a155df04 100644 --- a/tcsh/daily/index.xml +++ b/tcsh/daily/index.xml @@ -1,7 +1,7 @@ GitHub Tcsh Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:53Z + 2023-10-23T01:41:45Z Daily Trending of Tcsh in GitHub \ No newline at end of file diff --git a/tcsh/weekly/index.xml b/tcsh/weekly/index.xml deleted file mode 100644 index ce5c29add0a..00000000000 --- a/tcsh/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Tcsh Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:05Z - Weekly Trending of Tcsh in GitHub - - \ No newline at end of file diff --git a/tea/daily/index.xml b/tea/daily/index.xml index 8bc231962c6..b7e6df600f1 100644 --- a/tea/daily/index.xml +++ b/tea/daily/index.xml @@ -1,7 +1,7 @@ GitHub Tea Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:00Z + 2023-10-23T01:41:50Z Daily Trending of Tea in GitHub \ No newline at end of file diff --git a/tea/weekly/index.xml b/tea/weekly/index.xml deleted file mode 100644 index 9f12109e720..00000000000 --- a/tea/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Tea Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:13Z - Weekly Trending of Tea in GitHub - - \ No newline at end of file diff --git a/terra/daily/index.xml b/terra/daily/index.xml index c231940527b..2b88d5889be 100644 --- a/terra/daily/index.xml +++ b/terra/daily/index.xml @@ -1,7 +1,7 @@ GitHub Terra Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:58Z + 2023-10-23T01:41:48Z Daily Trending of Terra in GitHub \ No newline at end of file diff --git a/terra/weekly/index.xml b/terra/weekly/index.xml deleted file mode 100644 index 465ec1bf9ad..00000000000 --- a/terra/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Terra Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:11Z - Weekly Trending of Terra in GitHub - - - OrangeX4/NJUAI-Notes - 2023-10-22T02:03:11Z - tag:github.com,2023-10-22:/OrangeX4/NJUAI-Notes - - <p>我在南京大学人工智能专业学习时所做的笔记 :-)</p><hr> - - \ No newline at end of file diff --git a/tex/daily/index.xml b/tex/daily/index.xml index 1c905500b70..05d4ea26753 100644 --- a/tex/daily/index.xml +++ b/tex/daily/index.xml @@ -1,21 +1,14 @@ GitHub TeX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:03Z + 2023-10-23T01:41:53Z Daily Trending of TeX in GitHub - felixwellen/synthetic-zariski - 2023-10-22T01:44:03Z - tag:github.com,2023-10-22:/felixwellen/synthetic-zariski - - <p>Latex documentation of our understanding of the synthetic /internal theory of the Zariski-Topos</p><hr><h1>Synthetic Algebraic Geometry in the Zariski-Topos</h1> <p>Stay updated on synthetic algebraic geometry by <a href="https://raw.githubusercontent.com/felixwellen/synthetic-zariski/main/#watching-this-repo">watching this repository</a>, joining the next <a href="https://felix-cherubini.de/sag-meeting-3.html">meeting</a> or with the <a href="https://lists.chalmers.se/mailman/listinfo/sag">mailing list</a>. Due to a <em>bug</em> in the mailinglist-service of chalmers, it does not work to just answer to the email-confirmation email - so use the link to confirm your email address instead. You know that you really signed up to the list, if you can login on the page linked above.</p> <p>This is a latex documentation of our understanding of the synthetic /internal theory of the Zariski-Topos. There are currently the following parts:</p> <ul> <li>Foundations (<a href="https://felix-cherubini.de/iag.pdf">latest pdf</a>, <a href="https://arxiv.org/abs/2307.00073">arxiv</a>)</li> <li>Čech-Cohomology (<a href="https://felix-cherubini.de/cech.pdf">early draft pdf</a>)</li> <li>Differential Geometry/étale maps (<a href="https://felix-cherubini.de/diffgeo.pdf">early draft pdf</a>)</li> <li>Proper Schemes (<a href="https://felix-cherubini.de/proper.pdf">early draft pdf</a>)</li> <li>Topology of Synthetic Schemes (<a href="https://felix-cherubini.de/topology.pdf">early draft pdf</a>)</li> <li>$\mathbb A^1$-homotopy theory (<a href="https://felix-cherubini.de/A1-homotopy.pdf">early draft pdf</a>)</li> <li>Algebraic spaces and stacks (<a href="https://felix-cherubini.de/stacks.pdf">very early draft pdf</a>)</li> <li>More general topologies, in particular fppf (<a href="https://felix-cherubini.de/sheaves.pdf">very early draft pdf</a>)</li> <li>Random Facts, i.e. a collection of everything that still needs to find a good place (<a href="https://felix-cherubini.de/random.pdf">very early draft pdf</a>)</li> </ul> <p>There is a related <a href="https://github.com/felixwellen/synthetic-geometry">formalization project</a>.</p> <h1>Questions</h1> <ul> <li>Is every étale proposition (formally étale and a scheme) an open proposition?</li> <li>Is every étale scheme a sub-quotient of a finite set?</li> <li>For $f : A$, is $f$ not not zero iff $f$ becomes zero in $A \otimes R/\sqrt{0}$? (A corollary of that would be: If the algebra $A$ is not not trivial, then it is trivial.)</li> <li>If $A$ is an étale $R$-algebra (finitely presented and the spectrum is étale), is it impossible to have an injective algebra map $R[X] \to A$?</li> <li>Is the proposition "X is affine" not-not-stable, for X a scheme? (Then deformations ($D(1) \to \mathrm{Sch}$) of affine schemes would stay affine.)</li> <li>Can every bundle (on $Sp A$) of strongly quasicoherent $R$-modules be recovered from its $A$-module of global sections?</li> </ul> <h1>Answered Questions</h1> <ul> <li> <p>Is $\mathrm{Spec} A$ quasi-complete ("compact") for $A$ a finite $R$-algebra (fin gen as $R$-module)?</p> <p><em>Yes</em>: By the discussion in <a href="https://raw.githubusercontent.com/felixwellen/issues/5">#5</a> and <a href="https://raw.githubusercontent.com/felixwellen/issues/6">#6</a>, $\mathrm{Spec} A$ is even projective, whenever $A$ is finitely generated as an $R$-module.</p> </li> </ul> <h1>Learning material</h1> <p>There are some recordings of talks from the last <a href="https://www.felix-cherubini.de/sag-meeting-3.html">workshop</a> on synthetic algebraic geometry. And there is <a href="https://www.youtube.com/watch?v=lp4kcmQ0ueY">hottest talk</a> on the foundations article.</p> <h1>Building the drafts</h1> <p>We use latex now instead of xelatex, to be compatible with the arxiv. For each draft, a build command may be found at the start of <code>main.tex</code>.</p> <h1>Arxiv</h1> <p>To put one of the drafts on the arxiv, we have to</p> <ul> <li>copy everything into one (temporary) folder: all tex-files, zariski.cls, zariski.sty from util and main.bbl.</li> <li>change the paths in zariski.cls and main.tex</li> <li>remove "if you are viewing online [...]" from main.tex</li> <li>possibly change formulation from "This is a draft [...]"</li> <li>test by running latexmk</li> <li>put all the files into a <code>.tar.gz</code>, so everything can be uploaded in one step</li> </ul> <h1>Watching this repo</h1> <p>... is a good idea since we started to use the issue-tracker</p> <p><img src="https://github.com/felixwellen/synthetic-zariski/assets/22154668/1716ae10-4692-4549-abbf-955b2cdb8aac" alt="grafik"></p> <p>for mathematical discussions. If you watch this repo, you should be notified by email if there are new posts. You can watch it, by clicking this button:</p> <p><img src="https://github.com/felixwellen/synthetic-zariski/assets/22154668/a25ec091-f1db-42bb-9d0f-3c1dff47c8f6" alt="grafik"></p> - - - jcolomb/CV - 2023-10-22T01:44:03Z - tag:github.com,2023-10-22:/jcolomb/CV - - <p>this is my CV, which is now version controlled</p><hr><h1>Julien Colomb, PhD</h1> <p>looking for: freelance, part-time job, full-time job</p> <p>present revenue source: working 50% at the HU (ending march 2018)</p> <h2>Keywords</h2> <ul> <li>Open science, behavior analysis, drosophila melanogaster, mus musculus.</li> <li>Open science, Automation, reproducible research workflow, startup</li> </ul> <h2>Present projects</h2> <ul> <li>Open science project (HU Berlin): data management and analysis project: mice home cage monitoring <a href="https://github.com/jcolomb/HCS_analysis">https://github.com/jcolomb/HCS_analysis</a></li> <li>Steering committee of the open science mooc <a href="http://www.opensciencemooc.eu">www.opensciencemooc.eu</a></li> <li>Workshops: data management in a reproducible research workflow <a href="https://reproducibleresearch.wordpress.com/workshops/">https://reproducibleresearch.wordpress.com/workshops/</a></li> <li>Flystockcleaner: open source Rshiny app: <a href="https://colomb.shinyapps.io/Flystockcleaner/">https://colomb.shinyapps.io/Flystockcleaner/</a></li> <li>Drososhare GmbH: web-platform facilitating fly transaction between labs <a href="http://www.drososhare.net">www.drososhare.net</a></li> <li>Service for fly stock curation: <a href="https://www.scienceexchange.com/labs/drososhare">https://www.scienceexchange.com/labs/drososhare</a></li> <li>Co-organiser berlin open science meetup <a href="https://www.meetup.com/Berlin-Open-Science-Meetup/">https://www.meetup.com/Berlin-Open-Science-Meetup/</a></li> <li>Part of the marchforscience berlin team <a href="http://marchforscienceberlin.de/wer-wir-sind">http://marchforscienceberlin.de/wer-wir-sind</a></li> </ul> <h2>Background</h2> <ul> <li>Neurogenetics (Drosophila melanogaster, &gt;10 years)</li> <li>Preclinical studies (mus msuculus, &gt;2 years)</li> <li>Data analysis (R,Rmarkdown,Rshiny, &gt;5 years)</li> <li>Interest in open science, open data and peer review</li> <li>Founder and CEO of Drososhare (since dec. 2012).</li> </ul> <p><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_US"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png"></a><br>This repository is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_US">Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License</a>.</p> + HKU-CG/HKU-CG.github.io + 2023-10-23T01:41:53Z + tag:github.com,2023-10-23:/HKU-CG/HKU-CG.github.io + + <p>https://hku-cg.github.io</p><hr><h1>Best-practices documentation for modifying the website</h1> <h2>Read this before you push anything!</h2> <ul> <li>Don't use <code>push -f</code>. It will overwrite other people's changes. Before you push, make sure you pull the latest version of the website.</li> <li>After pushing, check if the website is deployed correctly. If it's successfully deployed, you should see a green tick beside the commit. If it fails, you'll see a red cross. If you see a red cross, click on it and check the error message. If you can't figure out what's wrong, ask someone else for help.</li> <li><code>.md</code> files in this repo use YAML format. So it's sensitive to the indentation! If you're not confident enough, copy existing files and modify them.</li> <li>After it is deployed, it will take a few minutes for the website to be updated. Make sure you check the website to see if your changes are reflected.</li> </ul> <h2>Run the website locally</h2> <ul> <li>Follow instructions on <a href="https://university.wowchemy.com/getting-started/install-hugo/">this page</a> to install Go and Hugo</li> <li>cd into a directory you want to have the file in</li> <li>git clone <a href="https://github.com/HKU-CG/HKU-CG.github.io">https://github.com/HKU-CG/HKU-CG.github.io</a></li> <li>cd into the HKU-CG.github.io folder</li> <li>run <code>hugo server</code></li> <li>Check it is up and running at localhost:1313</li> </ul> <h2>How to add your own profile</h2> <ul> <li>Go to <code>content/authors</code></li> <li>Create a new folder with your name, e.g., <code>Taku-Komura</code></li> <li>Create a <code>index.md</code> file in the folder, you're suggested to copy the <code>index.md</code> file from other people's folder and modify it accordingly</li> <li>Add your profile picture to the folder, and name it <code>avatar.jpg</code> or <code>avatar.png</code></li> <li>Important: the variable <code>authors</code> and <code>name</code> should be the same, they should also match the folder name (except the folder uses hyphen (-) instead of space)</li> <li>Important: set the variable <code>weight</code> as your start year&amp;month (e.g., 202301) so that the order of people is correct. If you're an alumni, set the <code>weight</code> as your graduation -year&amp;month (e.g., -202307)</li> <li>Important: set your user_groups as one of the following: <code>Principal Investigator</code>, <code>Research Staff</code>, <code>Graduate Students</code>, <code>Research Assistant</code>, <code>Undergraduate Students</code>, <code>Postdoctoral Alumni</code>, <code>PhD Alumni</code>, <code>Masters Alumni</code>, <code>Undergraduate Alumni</code>, <code>RA Alumni</code></li> </ul> <h2>How to add a publication</h2> <ul> <li>Go to <code>content/publications</code></li> <li>Create a new folder with the name of your publication, e.g., <code>2021-TOG-My-Paper-Title</code></li> <li>Create a <code>index.md</code> file in the folder, you're suggested to copy the <code>index.md</code> file from other people's folder and modify it accordingly</li> <li>Important: the abstract is a variable, so it should be one line (in Markdown format). If you want to change the line, use <code>&lt;br&gt;</code>. Some special symbols need to be escaped, for example, if you want to use <code>:</code>, you should type <code>\:</code>. Here's a detailed list of <a href="https://github.com/mattcone/markdown-guide/raw/master/_basic-syntax/escaping-characters.md">Markdown escaping characters</a></li> <li>(optional) add a <code>featured.jpg</code> or <code>featured.png</code> file to the folder, this will be the thumbnail of your publication</li> </ul> <h2>How to add a news</h2> <ul> <li>Go to <code>content/talk</code></li> <li>Create a new folder, e.g., <code>202307-iccv</code> and create a <code>index.md</code> file in the folder</li> </ul> <h2>How to modify the text on the homepage</h2> <ul> <li>Go to <code>content/authors/admin/_index.md</code></li> </ul> <h2>How to add an image in the text</h2> <ul> <li>Put the image in <code>static/media</code></li> <li>Use the following syntax (Markdown) to add the image in the text: <code>![image name](/media/image.png)</code></li> </ul> <h2>How to update the logo</h2> <ul> <li>The big logo: <code>content/authors/admin/avatar.png</code></li> <li>The small logo: <code>assets/images/logo.png</code></li> <li>The website icon: <code>assets/images/icon.png</code> # can also be .svg</li> </ul> <h2>Website Structure Overview</h2> <ul> <li>The general file structure looks like this: <a href="https://wowchemy.com/docs/get-started/#remove-any-unused-example-pages">https://wowchemy.com/docs/get-started/#remove-any-unused-example-pages</a></li> <li>You can figure out which folders correspond to which tabs on the menu by looking at menus.toml under config_default <ul> <li>for example the "People" tab can be accessed via <website url> /People-Genetic-Logic-Lab and the web code for the content of the page is found under content/People-Genetic-Logic-Lab </website></li> </ul> </li> <li>Individual webpages are built using the index.md or _index.md file in the content folder. There are two types of index file: <ul> <li>_index.md: it is a simple functionality that displays the rest of the content from the folder based on the view style chosen. It is flanked by "---" at the start and end of the file. Example:</li> </ul> </li> </ul> <pre><code>--- title: Publications # View. # 1 = List # 2 = Compact # 3 = Card # 4 = Citation view: 1 # Optional header image (relative to `static/media/` folder). header: caption: "" image: "" --- </code></pre> <ul> <li>index.md: It is a widget page (A page that will include widgets). The page is flanked by "+++" at the top and bottom. Example:</li> </ul> <pre><code>+++ # People type = "widget_page" headless = false # Homepage is headless, other widget pages are not. +++ </code></pre> <ul> <li> <p>Widgets</p> <p>Widgets are functions which take in parameters and generate html code accordingly. There are 3 parts to a widget:</p> <p><strong>Widget Call:</strong> This is an .md file in the directory where the widget is being called. E.g. publications.md in the home directory under content. It is flanked by "+++" and contains the name of the widget being called (in the example case pages), provides a series of parameters for the function to work (headless, active, weight, title, subtitle) and widget specific parameters (content.filters, design, design.background, custom css). For examples of the widget call function for each of the different widgets see /themes/academic/exampleSite/content/home and open any of the .md files other than index.</p> <p><strong>Widget Function:</strong> A widget function is called based on the widget parameter in the widget call. The widget is code (Go's html/template and text/template libraries) interspersed with code to build it (you have functionality like if statements, loops, etc, for more info see: <a href="https://gohugo.io/templates/introduction/">https://gohugo.io/templates/introduction/</a>). There are two locations where the widgets are found: /themes/academic/layouts/partials/widgets or any custom widgets are found in layouts/partials/widgets</p> <p><strong>Widget Data:</strong> The widget may not have anymore data than the parameters provided in the widget call (this is the case for widgets like featurette) or they might link out to get more information (for example the people widget obtains its information by looping through all authors files and filling in the template using the information provided in the author's index file e.g. Chris Myers/_index.md)</p> </li> <li> <p>Partials</p> <p>Widgets are a subset of partials. Partials are html files that contain go code and are used to provide the general structure of the web page, e.g the navbar, the citation views, page footer etc. You can go in and edit them too but I suggest leaving them alone for now</p> </li> <li> <p>Images</p> <p>Any image files not associated with authors should go in the static\media file. It can be called in an html image tag using "/media/example.png"</p> <p>Author images go in the file associated with the author and must be named avatar. <extension> e.g. avatar.png or avatar.jpg </extension></p> </li> <li> <p>CSS</p> <p>like most website there are css files. You can go in and edit them to change the way the page appears. Better practice is to use the file for custom scss located under themes\academic\assests\scss\custom.scss. Be careful overriding anything in here as it can drastically affect the way widgets works</p> </li> </ul> <h2>How To's:</h2> <ul> <li><strong>Import new references</strong>: For this, please install and use the <a href="https://github.com/wowchemy/hugo-academic-cli/#usage">Academic Import</a> (for alternate instructions see <a href="https://wowchemy.com/docs/managing-content/#create-a-publication">https://wowchemy.com/docs/managing-content/#create-a-publication</a>) command to import new references into the webpage. Please make sure to use the <code>--overwrite</code> (to avoid reference duplicates) flags when importing references using the academic import command. Check out <a href="https://github.com/wowchemy/hugo-academic-cli/#usage">https://github.com/wowchemy/hugo-academic-cli/#usage</a> for more information.</li> </ul> <p>NB: currently use this command to run academic import to ensure no additional quotes are added to tags <code>pip3 install -U git+https://github.com/wowchemy/hugo-academic-cli.git</code></p> <p>If that isn't working tags can be cleaned up using the cleanup_hugo_tagging.py script (make sure the path is to the publications folder) to clean up the extra "" in tags.</p> <p>Talking about tags, <a href="https://github.com/wowchemy/hugo-academic-cli/#usage">Academic Import</a> will automatically generate tags for all references imported, created from a mixture of keywords and titles extracted from the bib information. However, sometimes this can go a-wire and add weird tags. If any tag has a <em>"."</em> or a <em>"?"</em> or any other non-alphanumerical value, the site won't build. Please make sure you remove all characters that are not alpha-numerical from tags to run correctly.</p> <h2>Common error and mistakes</h2> <ul> <li>Folders <strong>must not</strong> have any spaces. Use web-friendly hyphens instead.</li> </ul> \ No newline at end of file diff --git a/tex/weekly/index.xml b/tex/weekly/index.xml deleted file mode 100644 index 079b664f92b..00000000000 --- a/tex/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub TeX Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:15Z - Weekly Trending of TeX in GitHub - - - acl-org/acl-style-files - 2023-10-22T02:03:15Z - tag:github.com,2023-10-22:/acl-org/acl-style-files - - <p>Official style files for papers submitted to venues of the Association for Computational Linguistics</p><hr><h1>*ACL Paper Styles</h1> <p>This directory contains the latest LaTeX and Word templates for *ACL conferences.</p> <h2>Instructions for authors</h2> <p>Paper submissions to *ACL conferences must use the official ACL style templates.</p> <p>The LaTeX style files are available</p> <ul> <li>as an <a href="https://www.overleaf.com/read/crtcwgxzjskr">Overleaf template</a></li> <li>in this repository, in the <a href="https://github.com/acl-org/acl-style-files/raw/master/latex"><code>latex</code></a> subdirectory</li> <li>as a <a href="https://github.com/acl-org/acl-style-files/archive/refs/heads/master.zip">.zip file</a></li> </ul> <p>Please see <a href="https://github.com/acl-org/acl-style-files/raw/master/acl_latex.tex"><code>latex/acl_latex.tex</code></a> for an example.</p> <p>The Microsoft Word template is available in this repository at <a href="https://github.com/acl-org/acl-style-files/raw/master/word/acl.docx"><code>word/acl.docx</code></a>.</p> <p>Please follow the paper formatting guidelines general to *ACL conferences:</p> <ul> <li><a href="https://acl-org.github.io/ACLPUB/formatting.html">Paper formatting guidelines</a></li> </ul> <p>Authors may not modify these style files or use templates designed for other conferences.</p> <h2>Instructions for publications chairs</h2> <p>To adapt the style files for your conference, please fork this repository and make necessary changes. Minimally, you'll need to update the name of the conference and rename the files.</p> <p>If you make improvements to the templates that should be propagated to future conferences, please submit a pull request. Thank you in advance!</p> <p>In older versions of the templates, authors were asked to fill in the START submission ID so that it would be stamped at the top of each page of the anonymized version. This is no longer needed, because it is now possible to do this stamping automatically within START. Currently, the way to do this is for the program chair to email <a href="mailto:support@softconf.com">support@softconf.com</a> and request it.</p> - - - sdx-workshop/sdx-submissions - 2023-10-22T02:03:15Z - tag:github.com,2023-10-22:/sdx-workshop/sdx-submissions - - <p>Sound Demixing Challenge Submission Repo</p><hr><h1>SDX Workshop Submissions</h1> <p>⏰ _Abstract Deadline: <strong>October 15th 2023 (Anywhere on Earth)</strong></p> <p>The SDX23 workshop is a satellite event at <a href="https://ismir2023.ismir.net/">ISMIR 2023</a>. We will feature invited talks as well as presentations and posters from submitted extended abstracts. The contents of the abstracts can be descriptions of your submission to the SDX23 challenge as well as other topics around audio source separation that you would like to share with the community.</p> <p>This is the submission repository for the <a href="https://sdx-workshop.github.io">Sound Demixing Workshop 2023</a>. The submission system is based on Github pull requests and is fully transparent and open for both, authors and reviewers.</p> <p>In case you have any question, please open an <a href="https://github.com/sdx-workshop/sdx-submissions/issues">issue in this repository</a>.</p> <h3>Submissions</h3> <p>We encourage participants to submit a short abstract. Submissions are markdown abstracts. Please make sure that the abstract is within <strong>250 words</strong>.</p> <p>After a reviewing, you would have the opportunity to present your work in virtually or on-site at the workshop.</p> <h3>How to write an article</h3> <p>All submissions are created via markdown files and uses the same template and syntax as in the <a href="https://joss.readthedocs.io/en/latest/submitting.html">Journal of Open Source Software</a>. An example paper can be seen in <a href="https://raw.githubusercontent.com/sdx-workshop/sdx-submissions/main/paper.md">paper.md</a>.</p> <h3>How to submit an article ?</h3> <ol> <li> <p>Create a <a href="https://github.com">github</a> account</p> </li> <li> <p><a href="https://help.github.com/articles/fork-a-repo/">Fork</a> the <a href="https://github.com/sdx-workshop/sdx-submissions">SDX workshop submission</a> repository</p> </li> <li> <p>Clone this new repository into your desktop environment</p> <pre><code>git clone https://github.com/YOUR-USERNAME/sdx-submissions </code></pre> </li> <li> <p>Create a branch (the branch name should be author names separated with dashes)</p> <pre><code>git checkout -b AUTHOR1-AUTHOR2 </code></pre> </li> <li> <p>Add your article and commit your changes:</p> <pre><code>git commit -a -m "Some comment" </code></pre> </li> <li> <p><a href="https://help.github.com/articles/pushing-to-a-remote/">Push</a> to github</p> <pre><code>git push origin AUTHOR1-AUTHOR2 </code></pre> </li> <li> <p>Issue a <a href="https://help.github.com/articles/using-pull-requests/">pull request</a> (PR) with title containing author(s) name and follow the template that will appear once you opened the pull request.</p> </li> <li> <p>Answer questions and requests by the reviewers made in the PR conversation page.</p> </li> <li> <p>The pull request will be closed when the paper is accepted and published.</p> </li> </ol> <h3>How to preview an article</h3> <p>All markdown papers are automatically compiled to PDF using a github action service. This can be used to preview the PDF before submission. Look for the <code>paper</code> artifacts of the <code>Paper Draft</code>.</p> <img width="1369" alt="screenshot" src="https://user-images.githubusercontent.com/72940/128880968-51d10e51-c1d7-4892-bb4f-8071bb164594.png"> - - - mwxely/AIGS - 2023-10-22T02:03:15Z - tag:github.com,2023-10-22:/mwxely/AIGS - - <p>AI-Generated Images as Data Source: The Dawn of Synthetic Era</p><hr><img src="https://raw.githubusercontent.com/mwxely/AIGS/main/title.png" align="center"> <p><a href="https://arxiv.org/abs/2310.01830"><img src="https://img.shields.io/badge/arXiv-2310.01830-b31b1b.svg?sanitize=true" alt="arXiv"></a> <a href="https://github.com/sindresorhus/awesome"><img src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg?sanitize=true" alt="Survey"></a> <a href="https://GitHub.com/Naereen/StrapDown.js/graphs/commit-activity"><img src="https://img.shields.io/badge/Maintained%3F-yes-green.svg?sanitize=true" alt="Maintenance"></a> <a href="http://makeapullrequest.com"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat" alt="PR's Welcome"></a> <a href="https://github.com/Naereen/StrapDown.js/raw/master/LICENSE"><img src="https://badgen.net/github/license/Naereen/Strapdown.js" alt="GitHub license"></a></p> <div align="center"> <h1>AI-Generated Images as Data Sources: The Dawn of Synthetic Era [<a href="https://arxiv.org/abs/2310.01830">Paper</a>]</h1> <div> <a href="https://mwxely.github.io/" target="_blank">Zuhao Yang</a>  <a href="https://fnzhan.com/" target="_blank">Fangneng Zhan</a>  <a href="https://kunhao-liu.github.io/" target="_blank">Kunhao Liu</a>  Muyu Xu  <a href="https://personal.ntu.edu.sg/shijian.lu/" target="_blank">Shijian Lu</a> </div> <div> Nanyang Technological University, Max Planck Institute for Informatics  </div> </div> <p><br><img src="https://raw.githubusercontent.com/mwxely/AIGS/main/teaser.png" align="center"><br></p> <p>This project is associated with our survey paper which comprehensively contextualizes the advance of the recent <strong>AI</strong>-<strong>G</strong>enerated Images as Data <strong>S</strong>ources (<strong>AIGS</strong>) and visual AIGC by formulating taxonomies according to methodologies and applications.</p> <p><a href="http://makeapullrequest.com"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat" alt="PR's Welcome"></a> You are welcome to promote papers via pull request. <br> The process to submit a pull request:</p> <ul> <li>a. Fork the project into your own repository.</li> <li>b. Add the Title, Author, Conference, Paper link, Project link, Code link, and Video link in <code>README.md</code> with below format:</li> </ul> <pre><code>**Title**&lt;br&gt; *Author*&lt;br&gt; Conference [[Paper](Paper link)] [[Project](Project link)] [[Code](Code link)] [[Video](Video link)] </code></pre> <ul> <li>c. Submit the pull request to this branch.</li> </ul> <br> <h2>Related Surveys &amp; Projects</h2> <p><strong>Machine Learning for Synthetic Data Generation: A Review</strong><br> <em>Yingzhou Lu, Minjie Shen, Huazheng Wang, Wenqi Wei</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2302.04062">Paper</a>]</p> <p><strong>Synthetic Image Data for Deep Learning</strong><br> <em>Jason W Anderson, Marcin Ziolkowski, Ken Kennedy, Amy W Apon</em><br> arXiv 2022 [<a href="https://arxiv.org/abs/2212.06232">Paper</a>]</p> <p><strong>Synthetic Data in Human Analysis: A Survey</strong><br> <em>Indu Joshi, Marcel Grimmer, Christian Rathgeb, Christoph Busch, Francois Bremond, Antitza Dantcheva</em><br> arXiv 2022 [<a href="https://arxiv.org/abs/2208.09191">Paper</a>]</p> <p><strong>A Review of Synthetic Image Data and Its Use in Computer Vision</strong><br> <em>Keith Man, Javaan Chahl</em><br> J. Imaging 2022 [<a href="https://www.mdpi.com/2313-433X/8/11/310">Paper</a>]</p> <p><strong>Survey on Synthetic Data Generation, Evaluation Methods and GANs</strong><br> <em>Alvaro Figueira, Bruno Vaz</em><br> Mathematics 2022 [<a href="https://www.mdpi.com/2227-7390/10/15/2733">Paper</a>]</p> <h2>Table of Contents (Work in Progress)</h2> <p>Methods:</p> <ul> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#GenerativeModels-link">Generative Models</a> <ul> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#GenLabelAcquisition-link">Label Acquisition</a></li> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#GenDataAugmentation-link">Data Augmentation</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#NeuralRendering-link">Neural Rendering</a> <ul> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#NeuLabelAcquisition-link">Label Acquisition</a></li> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#NeuDataAugmentation-link">Data Augmentation</a></li> </ul> </li> </ul> <p>Applications:</p> <ul> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#2DVisualPerception-link">2D Visual Perception</a> <ul> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#Classification-link">Image Classification</a></li> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#Segmentation-link">Image Segmentation</a></li> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#Detection-link">Object Detection</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#VisualGeneration-link">Visual Generation</a></li> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#SelfsupervisedLearning-link">Self-supervised Learning</a></li> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#3DVisualPerception-link">3D Visual Perception</a> <ul> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#Robotics-link">Robotics</a></li> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#AutonomousDriving-link">Autonomous Driving</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#OtherApplications-link">Other Applications</a> <ul> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#Medical-link">Medical</a></li> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#Test-link">Testing Data</a></li> </ul> </li> </ul> <p>Datasets:</p> <ul> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#TextimageAligned-link">Text-image Aligned</a></li> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#HumanPreference-link">Human Preference</a></li> <li><a href="https://raw.githubusercontent.com/mwxely/AIGS/main/#DeepfakeDetection-link">Deepfake Detection</a></li> </ul> <h2>Methods</h2> <h3>Generative Models</h3> <p><a id="GenerativeModels-link"></a></p> <h4><em>Label Acquisition</em></h4> <p><a id="GenLabelAcquisition-link"></a></p> <p><strong>[BigGAN] Large Scale GAN Training for High Fidelity Natural Image Synthesis</strong><br> <em>Andrew Brock, Jeff Donahue, Karen Simonyan</em><br> ICLR 2019 [<a href="https://arxiv.org/abs/1809.11096">Paper</a>]</p> <p><strong>[VQ-Diffusion] Vector Quantized Diffusion Model for Text-to-Image Synthesis</strong><br> <em>Shuyang Gu, Dong Chen, Jianmin Bao, Fang Wen, Bo Zhang, Dongdong Chen, Lu Yuan, Baining Guo</em><br> CVPR 2022 [<a href="https://arxiv.org/abs/2111.14822">Paper</a>][<a href="https://github.com/cientgu/VQ-Diffusion#vector-quantized-diffusion-model-for-text-to-image-synthesis-cvpr2022-oral">Code</a>]</p> <p><strong>[LDM] High-Resolution Image Synthesis with Latent Diffusion Models</strong><br> <em>Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, Björn Ommer</em><br> CVPR 2022 [<a href="https://arxiv.org/abs/2112.10752">Paper</a>][<a href="https://github.com/CompVis/latent-diffusion">Code</a>]</p> <p><strong>[Imagen] Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding</strong><br> <em>Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily Denton, Seyed Kamyar Seyed Ghasemipour, Burcu Karagol Ayan, S. Sara Mahdavi, Rapha Gontijo Lopes, Tim Salimans, Jonathan Ho, David J Fleet, Mohammad Norouzi</em><br> NeurIPS 2022 [<a href="https://arxiv.org/abs/2205.11487">Paper</a>][<a href="https://imagen-ai.com/?v=0j">Project</a>]</p> <p><strong>[DALL-E 2] Hierarchical Text-Conditional Image Generation with CLIP Latents</strong><br> <em>Aditya Ramesh, Prafulla Dhariwal, Alex Nichol, Casey Chu, Mark Chen</em><br> arXiv 2022 [<a href="https://arxiv.org/abs/2204.06125">Paper</a>]</p> <p><strong>GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models</strong><br> <em>Alex Nichol, Prafulla Dhariwal, Aditya Ramesh, Pranav Shyam, Pamela Mishkin, Bob McGrew, Ilya Sutskever, Mark Chen</em><br> ICML 2022 [<a href="https://arxiv.org/abs/2112.10741">Paper</a>][<a href="https://github.com/openai/glide-text2im">Code</a>]</p> <p><strong>DatasetGAN: Efficient Labeled Data Factory with Minimal Human Effort</strong><br> <em>Yuxuan Zhang, Huan Ling, Jun Gao, Kangxue Yin, Jean-Francois Lafleche, Adela Barriuso, Antonio Torralba, Sanja Fidler</em><br> CVPR 2021 [<a href="https://arxiv.org/abs/2104.06490">Paper</a>][<a href="https://nv-tlabs.github.io/datasetGAN/">Project</a>][<a href="https://github.com/nv-tlabs/datasetGAN_release/tree/master">Code</a>]</p> <p><strong>DatasetDM: Synthesizing Data with Perception Annotations Using Diffusion Models</strong><br> <em>Weijia Wu, Yuzhong Zhao, Hao Chen, Yuchao Gu, Rui Zhao, Yefei He, Hong Zhou, Mike Zheng Shou, Chunhua Shen</em><br> NeurIPS 2023 [<a href="https://arxiv.org/abs/2308.06160">Paper</a>][<a href="https://weijiawu.github.io/DatasetDM_page/">Project</a>][<a href="https://github.com/showlab/DatasetDM">Code</a>]</p> <p><strong>DALL-E for Detection: Language-driven Compositional Image Synthesis for Object Detection</strong><br> <em>Yunhao Ge, Jiashu Xu, Brian Nlong Zhao, Neel Joshi, Laurent Itti, Vibhav Vineet</em><br> arXiv 2022 [<a href="https://arxiv.org/abs/2206.09592">Paper</a>][<a href="https://github.com/gyhandy/Text2Image-for-Detection">Code</a>]</p> <h4><em>Data Augmentation</em></h4> <p><a id="GenDataAugmentation-link"></a></p> <p><strong>[StyleGAN 2]Analyzing and Improving the Image Quality of StyleGAN</strong><br> <em>Tero Karras, Samuli Laine, Miika Aittala, Janne Hellsten, Jaakko Lehtinen, Timo Aila</em><br> CVPR 2020 [<a href="https://arxiv.org/abs/1912.04958">Paper</a>][<a href="https://github.com/NVlabs/stylegan2">Code</a>][<a href="https://www.youtube.com/watch?v=c-NJtV9Jvp0&amp;feature=youtu.be">Video</a>]</p> <p><strong>Data augmentation generative adversarial networks</strong></p> <p><strong>GAN Augmentation: Augmenting Training Data using Generative Adversarial Networks</strong><br> <em>Christopher Bowles, Liang Chen, Ricardo Guerrero, Paul Bentley, Roger Gunn, Alexander Hammers, David Alexander Dickie, Maria Valdés Hernández, Joanna Wardlaw, Daniel Rueckert</em><br> arXiv 2018 [<a href="https://arxiv.org/abs/1810.10863">Paper</a>]</p> <p><strong>Enhancement of Image Classification Using Transfer Learning and GAN-Based Synthetic Data Augmentation</strong><br> <em>Subhajit Chatterjee, Debapriya Hazra, Yung-Cheol Byun, Yong-Woon Kim</em><br> Mathmatics 2022 [<a href="https://www.mdpi.com/2227-7390/10/9/1541">Paper</a>]</p> <p><strong>A data augmentation perspective on diffusion models and retrieval</strong><br> <em>Max F. Burg, Florian Wenzel, Dominik Zietlow, Max Horn, Osama Makansi, Francesco Locatello, Chris Russell</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2304.10253">Paper</a>]</p> <p><strong>Effective Data Augmentation With Diffusion Models</strong><br> <em>Brandon Trabucco, Kyle Doherty, Max Gurinas, Ruslan Salakhutdinov</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2302.07944">Paper</a>][<a href="http://btrabuc.co/da-fusion/">Project</a>]</p> <p><strong>Diversify Your Vision Datasets with Automatic Diffusion-Based Augmentation</strong><br> <em>Lisa Dunlap, Alyssa Umino, Han Zhang, Jiezhi Yang, Joseph E. Gonzalez, Trevor Darrell</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2305.16289">Paper</a>][<a href="https://github.com/lisadunlap/ALIA">Code</a>]</p> <br> <h3>Neural Rendering</h3> <p><a id="NeuralRendering-link"></a></p> <h4><em>Label Acquisition</em></h4> <p><a id="NeuLabelAcquisition-link"></a></p> <p><strong>VMRF: View Matching Neural Radiance Fields</strong><br> <em>Jiahui Zhang, Fangneng Zhan, Rongliang Wu, Yingchen Yu, Wenqing Zhang, Bai Song, Xiaoqin Zhang, Shijian Lu</em><br> ACM MM 2022 [<a href="https://arxiv.org/abs/2207.02621">Paper</a>]</p> <p><strong>NeRF-Supervision: Learning Dense Object Descriptors from Neural Radiance Fields</strong><br> <em>Thomas Lips, Victor-Louis De Gusseme, Francis wyffels</em><br> ICRA 2022 [<a href="https://arxiv.org/abs/2203.01913">Paper</a>][<a href="https://yenchenlin.me/nerf-supervision/">Project</a>][<a href="https://github.com/yenchenlin/nerf-supervision-public">Code</a>][<a href="https://www.youtube.com/watch?v=_zN-wVwPH1s">Video</a>]</p> <h4><em>Data Augmentation</em></h4> <p><a id="NeuDataAugmentation-link"></a></p> <p><strong>Neural-Sim: Learning to Generate Training Data with NeRF</strong><br> <em>Yunhao Ge, Harkirat Behl, Jiashu Xu, Suriya Gunasekar, Neel Joshi, Yale Song, Xin Wang, Laurent Itti, Vibhav Vineet</em><br> ECCV 2022 [<a href="https://arxiv.org/abs/2207.11368">Paper</a>][<a href="https://github.com/gyhandy/Neural-Sim-NeRF">Code</a>]</p> <p><strong>3D Data Augmentation for Driving Scenes on Camera</strong><br> <em>Wenwen Tong, Jiangwei Xie, Tianyu Li, Hanming Deng, Xiangwei Geng, Ruoyi Zhou, Dingchen Yang, Bo Dai, Lewei Lu, Hongyang Li</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2303.10340">Paper</a>]</p> <br> <h2>Applications</h2> <h3>2D Visual Perception</h3> <p><a id="2DVisualPerception-link"></a></p> <h4><em>Image Classification</em></h4> <p><a id="Classification-link"></a></p> <p><strong>This Dataset Does Not Exist: Training Models from Generated Images</strong><br> <em>Victor Besnier, Himalaya Jain, Andrei Bursuc, Matthieu Cord, Patrick Pérez</em><br> ICASSP 2020 [<a href="https://arxiv.org/abs/1911.02888">Paper</a>][<a href="https://valeoai.github.io/blog/publications/gan-dataset/">Project</a>]</p> <p><strong>OpenGAN: Open-Set Recognition via Open Data Generation</strong><br> <em>Shu Kong, Deva Ramanan</em><br> ICCV 2021 [<a href="https://arxiv.org/abs/2104.02939">Paper</a>][<a href="https://www.cs.cmu.edu/~shuk/OpenGAN.html">Project</a>][<a href="https://github.com/aimerykong/OpenGAN">Code</a>][<a href="https://www.youtube.com/watch?v=CNYqYXyUHn0">Video</a>]</p> <p><strong>Is synthetic data from generative models ready for image recognition?</strong><br> <em>Ruifei He, Shuyang Sun, Xin Yu, Chuhui Xue, Wenqing Zhang, Philip Torr, Song Bai, Xiaojuan Qi</em><br> ICLR 2023 [<a href="https://arxiv.org/abs/2206.09592">Paper</a>][<a href="https://github.com/CVMI-Lab/SyntheticData">Code</a>]</p> <p><strong>Fake it till you make it: Learning transferable representations from synthetic ImageNet clones</strong><br> <em>Mert Bulent Sariyildiz, Karteek Alahari, Diane Larlus, Yannis Kalantidis</em><br> CVPR 2023 [<a href="https://arxiv.org/abs/2212.08420">Paper</a>][<a href="https://www.youtube.com/watch?v=C8cCvXBNvCI">Video</a>]</p> <p><strong>Training on Thin Air: Improve Image Classification with Generated Data</strong><br> <em>Yongchao Zhou, Hshmat Sahak, Jimmy Ba</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2305.15316">Paper</a>][<a href="https://sites.google.com/view/diffusion-inversion">Project</a>][<a href="https://github.com/yongchao97/diffusion_inversion">Code</a>]</p> <p><strong>Not Just Pretty Pictures: Text-to-Image Generators Enable Interpretable Interventions for Robust Representations</strong><br> <em>Jianhao Yuan, Francesco Pinto, Adam Davies, Aarushi Gupta, Philip Torr</em><br> arXiv 2022 [<a href="https://arxiv.org/abs/2212.11237">Paper</a>]</p> <p><strong>Diversity is Definitely Needed: Improving Model-Agnostic Zero-shot Classification via Stable Diffusion</strong><br> <em>Jordan Shipard, Arnold Wiliem, Kien Nguyen Thanh, Wei Xiang, Clinton Fookes</em><br> CVPRW 2023 [<a href="https://arxiv.org/abs/2302.03298">Paper</a>]</p> <p><strong>Leaving Reality to Imagination: Robust Classification via Generated Datasets</strong><br> <em>Hritik Bansal, Aditya Grover</em><br> arXiv 2022 [<a href="https://arxiv.org/abs/2302.02503">Paper</a>][<a href="https://github.com/Hritikbansal/generative-robustness">Code</a>]</p> <p><strong>Image Captions are Natural Prompts for Text-to-Image Models</strong><br> <em>Shiye Lei, Hao Chen, Sen Zhang, Bo Zhao, Dacheng Tao</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2307.08526">Paper</a>]</p> <p><strong>Diversify Your Vision Datasets with Automatic Diffusion-Based Augmentation</strong><br> <em>Lisa Dunlap, Alyssa Umino, Han Zhang, Jiezhi Yang, Joseph E. Gonzalez, Trevor Darrell</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2305.16289">Paper</a>]</p> <p><strong>Synthetic Data from Diffusion Models Improves ImageNet Classification</strong><br> <em>Shekoofeh Azizi, Simon Kornblith, Chitwan Saharia, Mohammad Norouzi, David J. Fleet</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2304.08466">Paper</a>][<a href="https://lisadunlap.github.io/alia-website/">Project</a>][<a href="https://github.com/lisadunlap/ALIA">Code</a>]</p> <p><strong>Imagic: Text-Based Real Image Editing with Diffusion Models</strong><br> <em>Bahjat Kawar, Shiran Zada, Oran Lang, Omer Tov, Huiwen Chang, Tali Dekel, Inbar Mosseri, Michal Irani</em><br> CVPR 2023 [<a href="https://arxiv.org/abs/2210.09276">Paper</a>][<a href="https://imagic-editing.github.io/">Project</a>]</p> <p><strong>An Image is Worth One Word: Personalizing Text-to-Image Generation using Textual Inversion</strong><br> <em>Rinon Gal, Yuval Alaluf, Yuval Atzmon, Or Patashnik, Amit H. Bermano, Gal Chechik, Daniel Cohen-Or</em><br> ICLR 2023 [<a href="https://arxiv.org/abs/2208.01618">Paper</a>][<a href="https://textual-inversion.github.io/">Project</a>][<a href="https://github.com/rinongal/textual_inversion">Code</a>]</p> <p><strong>Fill-Up: Balancing Long-Tailed Data with Generative Models</strong><br> <em>Joonghyuk Shin, Minguk Kang, Jaesik Park</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2306.07200">Paper</a>][<a href="https://joonghyuk.com/Fill-Up/">Project</a>][<a href="https://github.com/alex4727/Fill-Up">Code</a>]</p> <p><strong>Diffusion Models and Semi-Supervised Learners Benefit Mutually with Few Labels</strong><br> <em>Zebin You, Yong Zhong, Fan Bao, Jiacheng Sun, Chongxuan Li, Jun Zhu</em><br> NeurIPS 2023 [<a href="https://arxiv.org/abs/2302.10586">Paper</a>][<a href="https://github.com/ML-GSAI/DPT">Code</a>]</p> <h4><em>Image Segmentation</em></h4> <p><a id="Segmentation-link"></a> <strong>Learning Semantic Segmentation from Synthetic Data: A Geometrically Guided Input-Output Adaptation Approach</strong><br> <em>Yuhua Chen, Wen Li, Xiaoran Chen, Luc Van Gool</em><br> CVPR 2019 [<a href="https://arxiv.org/abs/1812.05040">Paper</a>]</p> <p><strong>Semantic Segmentation with Generative Models: Semi-Supervised Learning and Strong Out-of-Domain Generalization</strong><br> <em>Daiqing Li, Junlin Yang, Karsten Kreis, Antonio Torralba, Sanja Fidler</em><br> CVPR 2021 [<a href="https://arxiv.org/abs/2104.05833">Paper</a>][<a href="https://nv-tlabs.github.io/semanticGAN/">Project</a>][<a href="https://github.com/nv-tlabs/semanticGAN_code">Code</a>]</p> <p><strong>Repurposing GANs for One-shot Semantic Part Segmentation</strong><br> <em>Nontawat Tritrong, Pitchaporn Rewatbowornwong, Supasorn Suwajanakorn</em><br> CVPR 2021 [<a href="https://arxiv.org/abs/2103.04379">Paper</a>][<a href="https://repurposegans.github.io/">Project</a>][<a href="https://github.com/bryandlee/repurpose-gan/">Code</a>]</p> <p><strong>Few-shot 3D Multi-modal Medical Image Segmentation using Generative Adversarial Learning</strong><br> <em>Arnab Kumar Mondal, Jose Dolz, Christian Desrosiers</em><br> arXiv 2018 [<a href="https://arxiv.org/abs/1810.12241">Paper</a>][<a href="https://github.com/arnab39/FewShot_GAN-Unet3D">Code</a>]</p> <p><strong>Semi and Weakly Supervised Semantic Segmentation Using Generative Adversarial Network</strong><br> <em>Nasim Souly, Concetto Spampinato, Mubarak Shah</em><br> ICCV 2017 [<a href="https://arxiv.org/abs/1703.09695">Paper</a>]</p> <p><strong>Using GANs to Augment Data for Cloud Image Segmentation Task</strong><br> <em>Mayank Jain, Conor Meegan, Soumyabrata Dev</em><br> ICARSS 2021 [<a href="https://arxiv.org/abs/2106.03064">Paper</a>]</p> <p><strong>Diffusion Models for Zero-Shot Open-Vocabulary Segmentation</strong><br> <em>Laurynas Karazija, Iro Laina, Andrea Vedaldi, Christian Rupprecht</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2306.09316">Paper</a>][<a href="https://github.com/jain15mayank/GAN-augmentation-cloud-image-segmentation">Code</a>]</p> <p><strong>Open-vocabulary Object Segmentation with Diffusion Models</strong><br> <em>Ziyi Li, Qinye Zhou, Xiaoyun Zhang, Ya Zhang, Yanfeng Wang, Weidi Xie</em><br> ICCV 2023 [<a href="https://arxiv.org/abs/2301.05221">Paper</a>][<a href="https://lipurple.github.io/Grounded_Diffusion/">Project</a>][<a href="https://github.com/Lipurple/Grounded-Diffusion">Code</a>]</p> <p><strong>Semantic Segmentation with Generative Models: Semi-Supervised Learning and Strong Out-of-Domain Generalization</strong><br> <em>Daiqing Li, Junlin Yang, Karsten Kreis, Antonio Torralba, Sanja Fidler</em><br> CVPR 2021 [<a href="https://arxiv.org/abs/2104.05833">Paper</a>][<a href="https://nv-tlabs.github.io/semanticGAN/">Project</a>][<a href="https://github.com/nv-tlabs/semanticGAN_code">Code</a>]</p> <p><strong>Segmentation in Style: Unsupervised Semantic Image Segmentation with Stylegan and CLIP</strong><br> <em>Daniil Pakhomov, Sanchit Hira, Narayani Wagle, Kemar E. Green, Nassir Navab</em><br> arXiv 2021 [<a href="https://arxiv.org/abs/2107.12518">Paper</a>][<a href="https://segmentation-in-style.github.io/">Project</a>][<a href="https://github.com/warmspringwinds/segmentation_in_style">Code</a>][<a href="https://www.youtube.com/watch?v=ik-v3e1Qmd0">Video</a>]</p> <p><strong>BigDatasetGAN: Synthesizing ImageNet with Pixel-wise Annotations</strong><br> <em>Daiqing Li, Huan Ling, Seung Wook Kim, Karsten Kreis, Adela Barriuso, Sanja Fidler, Antonio Torralba</em><br> CVPR 2022 [<a href="https://arxiv.org/abs/2201.04684">Paper</a>][<a href="https://nv-tlabs.github.io/big-datasetgan/">Project</a>][<a href="https://github.com/nv-tlabs/bigdatasetgan_code">Code</a>]</p> <p><strong>HandsOff: Labeled Dataset Generation With No Additional Human Annotations</strong><br> <em>Austin Xu, Mariya I. Vasileva, Achal Dave, Arjun Seshadri</em><br> CVPR 2023 [<a href="https://arxiv.org/abs/2212.12645">Paper</a>][<a href="https://austinxu87.github.io/handsoff/">Project</a>][<a href="https://github.com/austinxu87/handsoff/">Code</a>]</p> <p><strong>DiffuMask: Synthesizing Images with Pixel-level Annotations for Semantic Segmentation Using Diffusion Models</strong><br> <em>Weijia Wu, Yuzhong Zhao, Mike Zheng Shou, Hong Zhou, Chunhua Shen</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2303.11681">Paper</a>][<a href="https://weijiawu.github.io/DiffusionMask/">Project</a>][<a href="https://github.com/weijiawu/DiffuMask">Code</a>]</p> <p><strong>Dataset Diffusion: Diffusion-based Synthetic Dataset Generation for Pixel-Level Semantic Segmentation</strong><br> <em>Quang Nguyen, Truong Vu, Anh Tran, Khoi Nguyen</em><br> NeurIPS 2023 [<a href="https://arxiv.org/abs/2309.14303">Paper</a>][<a href="https://github.com/VinAIResearch/Dataset-Diffusion">Code</a>]</p> <p><strong>MosaicFusion: Diffusion Models as Data Augmenters for Large Vocabulary Instance Segmentation</strong><br> <em>Jiahao Xie, Wei Li, Xiangtai Li, Ziwei Liu, Yew Soon Ong, Chen Change Loy</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2309.13042">Paper</a>][<a href="https://github.com/Jiahao000/MosaicFusion">Code</a>]</p> <p><strong>Self-Ensembling with GAN-based Data Augmentation for Domain Adaptation in Semantic Segmentation</strong><br> <em>Jaehoon Choi, Taekyung Kim, Changick Kim</em><br> ICCV 2019 [<a href="https://arxiv.org/abs/1909.00589">Paper</a>]</p> <p><strong>Intra-Source Style Augmentation for Improved Domain Generalization</strong><br> <em>Yumeng Li, Dan Zhang, Margret Keuper, Anna Khoreva</em><br> WACV 2023 [<a href="https://arxiv.org/abs/2210.10175">Paper</a>][<a href="https://github.com/boschresearch/ISSA">Code</a>]</p> <p><strong>DifFSS: Diffusion Model for Few-Shot Semantic Segmentation</strong><br> <em>Weimin Tan, Siyuan Chen, Bo Yan</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2307.00773">Paper</a>]</p> <p><strong>Pixel Level Data Augmentation for Semantic Image Segmentation using Generative Adversarial Networks</strong><br> <em>Shuangting Liu, Jiaqi Zhang, Yuxin Chen, Yifan Liu, Zengchang Qin, Tao Wan</em><br> ICASSP 2019 [<a href="https://arxiv.org/abs/1811.00174">Paper</a>]</p> <p><strong>Can segmentation models be trained with fully synthetically generated data?</strong><br> <em>Virginia Fernandez, Walter Hugo Lopez Pinaya, Pedro Borges, Petru Daniel Tudosiu, Mark S. Graham, Tom Vercauteren, M. Jorge Cardoso</em><br> MICCAI 2022 [<a href="https://arxiv.org/abs/2209.08256">Paper</a>]</p> <p><strong>Label-Efficient Semantic Segmentation with Diffusion Models</strong><br> <em>Dmitry Baranchuk, Ivan Rubachev, Andrey Voynov, Valentin Khrulkov, Artem Babenko</em><br> ICLR 2022 [<a href="https://arxiv.org/abs/2112.03126">Paper</a>][<a href="https://yandex-research.github.io/ddpm-segmentation/">Project</a>][<a href="https://github.com/yandex-research/ddpm-segmentation">Code</a>]</p> <p><strong>[ODISE] Open-Vocabulary Panoptic Segmentation with Text-to-Image Diffusion Models</strong><br> <em>Jiarui Xu, Sifei Liu, Arash Vahdat, Wonmin Byeon, Xiaolong Wang, Shalini De Mello</em><br> CVPR 2023 [<a href="https://arxiv.org/abs/2303.04803">Paper</a>][<a href="https://jerryxu.net/ODISE/">Project</a>][<a href="https://github.com/NVlabs/ODISE">Code</a>]</p> <h4><em>Object Detection</em></h4> <p><a id="Detection-link"></a></p> <p><strong>[GeoDiffusion] Integrating Geometric Control into Text-to-Image Diffusion Models for High-Quality Detection Data Generation via Text Prompt</strong><br> <em>Kai Chen, Enze Xie, Zhe Chen, Lanqing Hong, Zhenguo Li, Dit-Yan Yeung</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2306.04607">Paper</a>][<a href="https://kaichen1998.github.io/projects/geodiffusion/">Project</a>]</p> <p><strong>Explore the Power of Synthetic Data on Few-shot Object Detection</strong><br> <em>Shaobo Lin, Kun Wang, Xingyu Zeng, Rui Zhao</em><br> CVPRW 2023 [<a href="https://arxiv.org/abs/2303.13221">Paper</a>]</p> <p><strong>[SODGAN] Synthetic Data Supervised Salient Object Detection</strong><br> <em>Zhenyu Wu, Lin Wang, Wei Wang, Tengfei Shi, Chenglizhao Chen, Aimin Hao, Shuo Li</em><br> ACM MM 2022 [<a href="https://arxiv.org/abs/2210.13835">Paper</a>]</p> <p><strong>ImaginaryNet: Learning Object Detectors without Real Images and Annotations</strong><br> <em>Minheng Ni, Zitong Huang, Kailai Feng, Wangmeng Zuo</em><br> ICLR 2023 [<a href="https://arxiv.org/abs/2210.06886">Paper</a>][<a href="https://github.com/kodenii/ImaginaryNet">Code</a>]</p> <p><strong>The Big Data Myth: Using Diffusion Models for Dataset Generation to Train Deep Detection Models</strong><br> <em>Roy Voetman, Maya Aghaei, Klaas Dijkstra</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2306.09762">Paper</a>]</p> <br> <h3>Visual Generation</h3> <p><a id="VisualGeneration-link"></a> <strong>Re-Aging GAN: Toward Personalized Face Age Transformation</strong><br> <em>Farkhod Makhmudkhujaev, Sungeun Hong, and In Kyu Park</em><br> ICCV 2021 [<a href="https://openaccess.thecvf.com/content/ICCV2021/papers/Makhmudkhujaev_Re-Aging_GAN_Toward_Personalized_Face_Age_Transformation_ICCV_2021_paper.pdf">Paper</a>][<a href="https://www.youtube.com/watch?v=NRl0GPgtcBY">Video</a>]</p> <p><strong>Only a Matter of Style: Age Transformation Using a Style-Based Regression Model</strong><br> <em>Yuval Alaluf, Or Patashnik, Daniel Cohen-Or</em><br> SIGGRAPH 2021 [<a href="https://arxiv.org/abs/2102.02754">Paper</a>][<a href="https://yuval-alaluf.github.io/SAM/">Project</a>][<a href="https://github.com/yuval-alaluf/SAM">Code</a>][<a href="https://www.youtube.com/watch?v=X_pYC_LtBFw">Video</a>]</p> <p><strong>Production-Ready Face Re-Aging for Visual Effects</strong><br> <em>Gaspard Zoss, Prashanth Chandran, Eftychios Sifakis, Markus Gross, Paulo Gotardo, Derek Bradley</em><br> TOG 2021 [<a href="https://studios.disneyresearch.com/app/uploads/2022/10/Production-Ready-Face-Re-Aging-for-Visual-Effects.pdf">Paper</a>][<a href="https://studios.disneyresearch.com/2022/11/30/production-ready-face-re-aging-for-visual-effects/">Project</a>][<a href="https://www.youtube.com/watch?v=ZP1ApcdyAjk">Video</a>]</p> <p><strong>Zero-1-to-3: Zero-shot One Image to 3D Object</strong><br> <em>Ruoshi Liu, Rundi Wu, Basile Van Hoorick, Pavel Tokmakov, Sergey Zakharov, Carl Vondrick</em><br> ICCV 2023 [<a href="https://arxiv.org/abs/2303.11328">Paper</a>][<a href="https://zero123.cs.columbia.edu/">Project</a>][<a href="https://github.com/cvlab-columbia/zero123">Code</a>]</p> <p><strong>DreamBooth3D: Subject-Driven Text-to-3D Generation</strong><br> <em>Amit Raj, Srinivas Kaza, Ben Poole, Michael Niemeyer, Nataniel Ruiz, Ben Mildenhall, Shiran Zada, Kfir Aberman, Michael Rubinstein, Jonathan Barron, Yuanzhen Li, Varun Jampani</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2303.13508">Paper</a>][<a href="https://dreambooth3d.github.io/">Project</a>][<a href="https://youtu.be/kKVDrbfvOoA">Video</a>]</p> <p><strong>StyleAvatar3D: Leveraging Image-Text Diffusion Models for High-Fidelity 3D Avatar Generation</strong><br> <em>Chi Zhang, Yiwen Chen, Yijun Fu, Zhenglin Zhou, Gang YU, Billzb Wang, Bin Fu, Tao Chen, Guosheng Lin, Chunhua Shen</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2305.19012">Paper</a>]</p> <br> <h3>Self-supervised Learning</h3> <p><a id="SelfsupervisedLearning-link"></a> <strong>Generative Models as a Data Source for Multiview Representation Learning</strong><br> <em>Ali Jahanian, Xavier Puig, Yonglong Tian, Phillip Isola</em><br> ICLR 2022 [<a href="https://arxiv.org/abs/2106.05258">Paper</a>][<a href="https://ali-design.github.io/GenRep/">Project</a>][<a href="https://github.com/ali-design/GenRep">Code</a>][<a href="https://www.youtube.com/watch?v=qYmGvVrGZno">Video</a>]</p> <p><strong>StableRep: Synthetic Images from Text-to-Image Models Make Strong Visual Representation Learners</strong><br> <em>Yonglong Tian, Lijie Fan, Phillip Isola, Huiwen Chang, Dilip Krishnan</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2306.00984">Paper</a>]</p> <p><strong>Ensembling with Deep Generative Views</strong><br> <em>Lucy Chai, Jun-Yan Zhu, Eli Shechtman, Phillip Isola, Richard Zhang</em><br> CVPR 2021 [<a href="https://arxiv.org/abs/2104.14551">Paper</a>][<a href="https://chail.github.io/gan-ensembling/">Project</a>][<a href="https://github.com/chail/gan-ensembling">Code</a>]</p> <p><strong>DreamTeacher: Pretraining Image Backbones with Deep Generative Models</strong><br> <em>Daiqing Li, Huan Ling, Amlan Kar, David Acuna, Seung Wook Kim, Karsten Kreis, Antonio Torralba, Sanja Fidler</em><br> ICCV 2023 [<a href="https://arxiv.org/abs/2307.07487">Paper</a>][<a href="https://research.nvidia.com/labs/toronto-ai/DreamTeacher/">Project</a>]</p> <br> <h3>3D Visual Perception</h3> <p><a id="3DVisualPerception-link"></a></p> <h4><em>Robotics</em></h4> <p><a id="Robotics-link"></a></p> <p><strong>INeRF: Inverting Neural Radiance Fields for Pose Estimation</strong><br> <em>Lin Yen-Chen, Pete Florence, Jonathan T. Barron, Alberto Rodriguez, Phillip Isola, Tsung-Yi Lin</em><br> IROS 2021 [<a href="https://arxiv.org/abs/2012.05877">Paper</a>][<a href="https://yenchenlin.me/inerf/">Project</a>][<a href="https://github.com/yenchenlin/iNeRF-public">Code</a>][<a href="https://www.youtube.com/watch?v=eQuCZaQN0tI">Video</a>]</p> <p><strong>LENS: Localization enhanced by NeRF synthesis</strong><br> <em>Arthur Moreau, Nathan Piasco, Dzmitry Tsishkou, Bogdan Stanciulescu, Arnaud de La Fortelle</em><br> CoRL 2021 [<a href="https://arxiv.org/abs/2110.06558">Paper</a>][<a href="https://www.youtube.com/watch?v=DgIpVoS6ejY">Video</a>]</p> <p><strong>NeRF-Pose: A First-Reconstruct-Then-Regress Approach for Weakly-supervised 6D Object Pose Estimation</strong><br> <em>Fu Li, Hao Yu, Ivan Shugurov, Benjamin Busam, Shaowu Yang, Slobodan Ilic</em><br> arXiv 2022 [<a href="https://arxiv.org/abs/2203.04802">Paper</a>]</p> <p><strong>Vision-only robot navigation in a neural radiance world</strong><br> <em>Michal Adamkiewicz, Timothy Chen, Adam Caccavale, Rachel Gardner, Preston Culbertson, Jeannette Bohg, Mac Schwager</em><br> RAL 2022 [<a href="https://arxiv.org/abs/2110.00168">Paper</a>][<a href="https://mikh3x4.github.io/nerf-navigation/">Project</a>][<a href="https://github.com/mikh3x4/nerf-navigation">Code</a>][<a href="https://www.youtube.com/watch?v=5JjWpv9BaaE">Video</a>]</p> <p><strong>Event-based Camera Tracker by ∇t NeRF</strong><br> <em>Mana Masuda, Yusuke Sekikawa, Hideo Saito</em><br> WACV 2023 [<a href="https://arxiv.org/abs/2304.04559">Paper</a>]</p> <h4><em>Autonomous Driving</em></h4> <p><a id="AutonomousDriving-link"></a></p> <p><strong>Lift3D: Synthesize 3D Training Data by Lifting 2D GAN to 3D Generative Radiance Field</strong><br> <em>Leheng Li, Qing Lian, Luozhou Wang, Ningning Ma, Ying-Cong Chen</em><br> CVPR 2023 [<a href="https://arxiv.org/abs/2304.03526">Paper</a>][<a href="https://len-li.github.io/lift3d-web/">Project</a>][<a href="https://github.com/EnVision-Research/Lift3D">Code</a>]</p> <p><strong>UniSim: A Neural Closed-Loop Sensor Simulator</strong><br> <em>Ze Yang, Yun Chen, Jingkang Wang, Sivabalan Manivasagam, Wei-Chiu Ma, Anqi Joyce Yang, Raquel Urtasun</em><br> CVPR 2023 [<a href="https://arxiv.org/abs/2308.01898">Paper</a>][<a href="https://waabi.ai/unisim/">Project</a>][<a href="https://research-assets.waabi.ai/wp-content/uploads/2023/05/UniSim-video_compressed.mp4">Video</a>]</p> <p><strong>MARS: An Instance-aware, Modular and Realistic Simulator for Autonomous Driving</strong><br> <em>Zirui Wu, Tianyu Liu, Liyi Luo, Zhide Zhong, Jianteng Chen, Hongmin Xiao, Chao Hou, Haozhe Lou, Yuantao Chen, Runyi Yang, Yuxin Huang, Xiaoyu Ye, Zike Yan, Yongliang Shi, Yiyi Liao, Hao Zhao</em><br> CICAI 2023 [<a href="https://arxiv.org/abs/2307.15058">Paper</a>][<a href="https://open-air-sun.github.io/mars/">Project</a>][<a href="https://github.com/OPEN-AIR-SUN/mars">Code</a>][<a href="https://www.youtube.com/watch?v=AdC-jglWvfU">Video</a>]</p> <br> <h3>Other Applications</h3> <p><a id="OtherApplications-link"></a></p> <h4><em>Medical</em></h4> <p><a id="Medical-link"></a></p> <p><strong>[MedGAN] Generating Multi-label Discrete Patient Records using Generative Adversarial Networks</strong><br> <em>Edward Choi, Siddharth Biswal, Bradley Malin, Jon Duke, Walter F. Stewart, Jimeng Sun</em><br> MLHC 2017 [<a href="https://arxiv.org/abs/1703.06490">Paper</a>]</p> <p><strong>CorGAN: Correlation-Capturing Convolutional Generative Adversarial Networks for Generating Synthetic Healthcare Records</strong><br> <em>Amirsina Torfi, Edward A. Fox</em><br> FLAIRS 2020 [<a href="https://arxiv.org/abs/2001.09346">Paper</a>][<a href="https://github.com/astorfi/cor-gan">Code</a>]</p> <p><strong>Adapting Pretrained Vision-Language Foundational Models to Medical Imaging Domains</strong><br> <em>Pierre Chambon, Christian Bluethgen, Curtis P. Langlotz, Akshay Chaudhari</em><br> NeurIPS 2022 [<a href="https://arxiv.org/abs/2210.04133">Paper</a>]</p> <p><strong>Skin Lesion Classification Using GAN based Data Augmentation</strong><br> <em>Rashid Haroon, Tanveer M. Asjid, Aqeel Khan Hassan</em><br> EMBC 2019 [<a href="https://ieeexplore.ieee.org/document/8857905">Paper</a>]</p> <p><strong>GAN-based synthetic medical image augmentation for increased CNN performance in liver lesion classification</strong><br> <em>Maayan Frid-Adar, Idit Diamant, Eyal Klang, Michal Amitai, Jacob Goldberger, Hayit Greenspan</em><br> Neurocomputing 2018 [<a href="https://arxiv.org/abs/1803.01229">Paper</a>]</p> <p><strong>Synthetic data augmentation using GAN for improved liver lesion classification</strong><br> <em>Maayan Frid-Adar, Eyal Klang, Michal Amitai, Jacob Goldberger, Hayit Greenspan</em><br> ISBI 2018 [<a href="https://arxiv.org/abs/1801.02385">Paper</a>]</p> <p><strong>Leveraging GANs for data scarcity of COVID-19: Beyond the hype</strong><br> <em>Hazrat Ali, Christer Gronlund, Zubair Shah</em><br> CVPRW 2023 [<a href="https://arxiv.org/abs/2304.03536">Paper</a>]</p> <h4><em>Testing Data</em></h4> <p><a id="Test-link"></a></p> <p><strong>4D Gaussian Splatting for Real-Time Dynamic Scene Rendering</strong><br> <em>Guanjun Wu, Taoran Yi, Jiemin Fang, Lingxi Xie, Xiaopeng Zhang, Wei Wei, Wenyu Liu, Qi Tian, Xinggang Wang</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2310.08528">Paper</a>][<a href="https://guanjunwu.github.io/4dgs/index.html">Project</a>][<a href="https://github.com/hustvl/4DGaussians">Code</a>]</p> <p><strong>Benchmarking Deepart Detection</strong><br> <em>Yabin Wang, Zhiwu Huang, Xiaopeng Hong</em><br> arXiv 2023 [<a href="https://arxiv.org/abs/2302.14475">Paper</a>]</p> <p><strong>Benchmarking Robustness to Text-Guided Corruptions</strong><br> <em>Mohammadreza Mofayezi, Yasamin Medghalchi</em><br> CVPRW 2023 [<a href="https://arxiv.org/abs/2304.02963">Paper</a>][<a href="https://github.com/ckoorosh/RobuText">Code</a>]</p> <br> <h2>Datasets</h2> <h3>Text-image Aligned</h3> <p><a id="TextimageAligned-link"></a></p> <p>DiffusionDB (<a href="https://github.com/poloclub/diffusiondb">https://github.com/poloclub/diffusiondb</a>)</p> <p>JourneyDB (<a href="https://github.com/JourneyDB/JourneyDB">https://github.com/JourneyDB/JourneyDB</a>)</p> <h3>Human Preference</h3> <p><a id="HumanPreference-link"></a></p> <p>Pick-a-Pic v2 (<a href="https://huggingface.co/datasets/yuvalkirstain/pickapic_v2">https://huggingface.co/datasets/yuvalkirstain/pickapic_v2</a>)</p> <p>ImageReward (<a href="https://huggingface.co/datasets/THUDM/ImageRewardDB">https://huggingface.co/datasets/THUDM/ImageRewardDB</a>)</p> <p>HPD v2 (<a href="https://huggingface.co/datasets/xswu/human_preference_dataset">https://huggingface.co/datasets/xswu/human_preference_dataset</a>)</p> <h3>Deepfake Detection</h3> <p><a id="DeepfakeDetection-link"></a></p> <p>DFFD (<a href="http://cvlab.cse.msu.edu/dffd-dataset.html">http://cvlab.cse.msu.edu/dffd-dataset.html</a>)</p> <p>ForgeryNet (<a href="https://yinanhe.github.io/projects/forgerynet.html">https://yinanhe.github.io/projects/forgerynet.html</a>)</p> <p>CNNSpot (<a href="https://github.com/peterwang512/CNNDetection">https://github.com/peterwang512/CNNDetection</a>)</p> <p>CIFAKE (<a href="https://www.kaggle.com/datasets/birdy654/cifake-real-and-ai-generated-synthetic-images">https://www.kaggle.com/datasets/birdy654/cifake-real-and-ai-generated-synthetic-images</a>)</p> <p>GenImage (<a href="https://github.com/GenImage-Dataset/GenImage">https://github.com/GenImage-Dataset/GenImage</a>)</p> <h2><span>🤟</span> Citation</h2> <p>If you find our work useful for your research, please consider citing the paper:</p> <pre><code class="language-bibtex">@article{yang2023aigs, title={AI-Generated Images as Data Source: The Dawn of Synthetic Era}, author={Zuhao Yang and Fangneng Zhan and Kunhao Liu and Muyu Xu and Shijian Lu}, journal={arXiv preprint arXiv:2310.01830}, year={2023} } </code></pre> - - \ No newline at end of file diff --git a/texinfo/daily/index.xml b/texinfo/daily/index.xml index d192f086796..81f8b80e2a8 100644 --- a/texinfo/daily/index.xml +++ b/texinfo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Texinfo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:43:59Z + 2023-10-23T01:41:49Z Daily Trending of Texinfo in GitHub \ No newline at end of file diff --git a/texinfo/weekly/index.xml b/texinfo/weekly/index.xml deleted file mode 100644 index ceeca7dc6f5..00000000000 --- a/texinfo/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Texinfo Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:12Z - Weekly Trending of Texinfo in GitHub - - \ No newline at end of file diff --git a/text/daily/index.xml b/text/daily/index.xml index d6aca94f57a..fa7a80cca9d 100644 --- a/text/daily/index.xml +++ b/text/daily/index.xml @@ -1,7 +1,7 @@ GitHub Text Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:10Z + 2023-10-23T01:42:03Z Daily Trending of Text in GitHub \ No newline at end of file diff --git a/text/weekly/index.xml b/text/weekly/index.xml deleted file mode 100644 index e110c8d427c..00000000000 --- a/text/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Text Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:25Z - Weekly Trending of Text in GitHub - - \ No newline at end of file diff --git a/textile/daily/index.xml b/textile/daily/index.xml index 3f1eafd94e1..25f574b1ee0 100644 --- a/textile/daily/index.xml +++ b/textile/daily/index.xml @@ -1,7 +1,7 @@ GitHub Textile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:12Z + 2023-10-23T01:42:05Z Daily Trending of Textile in GitHub \ No newline at end of file diff --git a/textile/weekly/index.xml b/textile/weekly/index.xml deleted file mode 100644 index 7b7c85889fe..00000000000 --- a/textile/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Textile Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:22Z - Weekly Trending of Textile in GitHub - - \ No newline at end of file diff --git a/textmate-properties/daily/index.xml b/textmate-properties/daily/index.xml index eeac59459d9..552b86923c0 100644 --- a/textmate-properties/daily/index.xml +++ b/textmate-properties/daily/index.xml @@ -1,7 +1,7 @@ GitHub TextMate Properties Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:09Z + 2023-10-23T01:42:04Z Daily Trending of TextMate Properties in GitHub \ No newline at end of file diff --git a/textmate-properties/weekly/index.xml b/textmate-properties/weekly/index.xml deleted file mode 100644 index 80548e0a621..00000000000 --- a/textmate-properties/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TextMate Properties Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:24Z - Weekly Trending of TextMate Properties in GitHub - - \ No newline at end of file diff --git a/thrift/daily/index.xml b/thrift/daily/index.xml index b2d72490738..825190509a3 100644 --- a/thrift/daily/index.xml +++ b/thrift/daily/index.xml @@ -1,7 +1,7 @@ GitHub Thrift Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:11Z + 2023-10-23T01:42:06Z Daily Trending of Thrift in GitHub \ No newline at end of file diff --git a/thrift/weekly/index.xml b/thrift/weekly/index.xml deleted file mode 100644 index 0d21b040829..00000000000 --- a/thrift/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Thrift Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:23Z - Weekly Trending of Thrift in GitHub - - \ No newline at end of file diff --git a/ti-program/daily/index.xml b/ti-program/daily/index.xml index 7d9f353cf2d..2a5d1aee28c 100644 --- a/ti-program/daily/index.xml +++ b/ti-program/daily/index.xml @@ -1,7 +1,7 @@ GitHub TI Program Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:14Z + 2023-10-23T01:42:07Z Daily Trending of TI Program in GitHub \ No newline at end of file diff --git a/ti-program/weekly/index.xml b/ti-program/weekly/index.xml deleted file mode 100644 index 7f5a6e5da68..00000000000 --- a/ti-program/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TI Program Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:27Z - Weekly Trending of TI Program in GitHub - - \ No newline at end of file diff --git a/tla/daily/index.xml b/tla/daily/index.xml index 8360865c2ab..f3678d0ee3c 100644 --- a/tla/daily/index.xml +++ b/tla/daily/index.xml @@ -1,7 +1,7 @@ GitHub TLA Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:15Z + 2023-10-23T01:42:09Z Daily Trending of TLA in GitHub \ No newline at end of file diff --git a/tla/weekly/index.xml b/tla/weekly/index.xml deleted file mode 100644 index 60afb745dc1..00000000000 --- a/tla/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TLA Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:28Z - Weekly Trending of TLA in GitHub - - \ No newline at end of file diff --git a/toml/daily/index.xml b/toml/daily/index.xml index f4220e33ce5..45d81346d03 100644 --- a/toml/daily/index.xml +++ b/toml/daily/index.xml @@ -1,7 +1,7 @@ GitHub TOML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:13Z + 2023-10-23T01:42:08Z Daily Trending of TOML in GitHub \ No newline at end of file diff --git a/toml/weekly/index.xml b/toml/weekly/index.xml deleted file mode 100644 index c2a37291a7c..00000000000 --- a/toml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TOML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:29Z - Weekly Trending of TOML in GitHub - - \ No newline at end of file diff --git a/tsql/daily/index.xml b/tsql/daily/index.xml index 0ad62f83c96..9386ca4dd0d 100644 --- a/tsql/daily/index.xml +++ b/tsql/daily/index.xml @@ -1,14 +1,7 @@ GitHub TSQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:18Z + 2023-10-23T01:42:14Z Daily Trending of TSQL in GitHub - - BelozertsevVS/Management-systems-and-methods-of-database-analysis-2023 - 2023-10-22T01:44:18Z - tag:github.com,2023-10-22:/BelozertsevVS/Management-systems-and-methods-of-database-analysis-2023 - - <p>Materials from the educational discipline "Management systems and methods of database analysis". Oles Honchar Dnipro National University</p><hr> - \ No newline at end of file diff --git a/tsql/weekly/index.xml b/tsql/weekly/index.xml deleted file mode 100644 index 08cc880d976..00000000000 --- a/tsql/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TSQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:32Z - Weekly Trending of TSQL in GitHub - - \ No newline at end of file diff --git a/tsv/daily/index.xml b/tsv/daily/index.xml index e0f58c5987e..f4d61015c25 100644 --- a/tsv/daily/index.xml +++ b/tsv/daily/index.xml @@ -1,7 +1,7 @@ GitHub TSV Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:20Z + 2023-10-23T01:42:11Z Daily Trending of TSV in GitHub \ No newline at end of file diff --git a/tsv/weekly/index.xml b/tsv/weekly/index.xml deleted file mode 100644 index dbcd2e12294..00000000000 --- a/tsv/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TSV Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:31Z - Weekly Trending of TSV in GitHub - - \ No newline at end of file diff --git a/tsx/daily/index.xml b/tsx/daily/index.xml index c9cc9d5479d..3253a9444ec 100644 --- a/tsx/daily/index.xml +++ b/tsx/daily/index.xml @@ -1,7 +1,7 @@ GitHub TSX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:17Z + 2023-10-23T01:42:12Z Daily Trending of TSX in GitHub \ No newline at end of file diff --git a/tsx/weekly/index.xml b/tsx/weekly/index.xml deleted file mode 100644 index a361344c7b7..00000000000 --- a/tsx/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TSX Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:30Z - Weekly Trending of TSX in GitHub - - \ No newline at end of file diff --git a/turing/daily/index.xml b/turing/daily/index.xml index 0b8f35ca152..4cd254e8762 100644 --- a/turing/daily/index.xml +++ b/turing/daily/index.xml @@ -1,7 +1,7 @@ GitHub Turing Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:19Z + 2023-10-23T01:42:13Z Daily Trending of Turing in GitHub \ No newline at end of file diff --git a/turing/weekly/index.xml b/turing/weekly/index.xml deleted file mode 100644 index 8a9b2b5f944..00000000000 --- a/turing/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Turing Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:33Z - Weekly Trending of Turing in GitHub - - \ No newline at end of file diff --git a/turtle/daily/index.xml b/turtle/daily/index.xml index 4ca33c2f8d5..64bc94f1489 100644 --- a/turtle/daily/index.xml +++ b/turtle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Turtle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:23Z + 2023-10-23T01:42:19Z Daily Trending of Turtle in GitHub \ No newline at end of file diff --git a/turtle/weekly/index.xml b/turtle/weekly/index.xml deleted file mode 100644 index 3ece4661a24..00000000000 --- a/turtle/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Turtle Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:34Z - Weekly Trending of Turtle in GitHub - - \ No newline at end of file diff --git a/twig/daily/index.xml b/twig/daily/index.xml index 3728364294c..9f1fdd4bae8 100644 --- a/twig/daily/index.xml +++ b/twig/daily/index.xml @@ -1,7 +1,7 @@ GitHub Twig Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:21Z + 2023-10-23T01:42:16Z Daily Trending of Twig in GitHub \ No newline at end of file diff --git a/twig/weekly/index.xml b/twig/weekly/index.xml deleted file mode 100644 index 643978803ce..00000000000 --- a/twig/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Twig Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:36Z - Weekly Trending of Twig in GitHub - - \ No newline at end of file diff --git a/txl/daily/index.xml b/txl/daily/index.xml index 04f4045cb7a..a5128546439 100644 --- a/txl/daily/index.xml +++ b/txl/daily/index.xml @@ -1,7 +1,7 @@ GitHub TXL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:22Z + 2023-10-23T01:42:17Z Daily Trending of TXL in GitHub \ No newline at end of file diff --git a/txl/weekly/index.xml b/txl/weekly/index.xml deleted file mode 100644 index 2f6b247829b..00000000000 --- a/txl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TXL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:36Z - Weekly Trending of TXL in GitHub - - \ No newline at end of file diff --git a/type-language/daily/index.xml b/type-language/daily/index.xml index 626df1e12bc..3bc123abcf7 100644 --- a/type-language/daily/index.xml +++ b/type-language/daily/index.xml @@ -1,7 +1,7 @@ GitHub Type Language Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:24Z + 2023-10-23T01:42:18Z Daily Trending of Type Language in GitHub \ No newline at end of file diff --git a/type-language/weekly/index.xml b/type-language/weekly/index.xml deleted file mode 100644 index 30ed4fbdf2e..00000000000 --- a/type-language/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Type Language Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:35Z - Weekly Trending of Type Language in GitHub - - \ No newline at end of file diff --git a/typescript/daily/index.xml b/typescript/daily/index.xml index 60e55976f9f..cc04b7f40f3 100644 --- a/typescript/daily/index.xml +++ b/typescript/daily/index.xml @@ -1,28 +1,28 @@ GitHub TypeScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:30Z + 2023-10-23T01:42:26Z Daily Trending of TypeScript in GitHub - WisdomShell/codeshell-vscode - 2023-10-22T01:44:30Z - tag:github.com,2023-10-22:/WisdomShell/codeshell-vscode - - <p>An intelligent coding assistant plugin for Visual Studio Code, developed based on CodeShell</p><hr><h1>CodeShell VSCode Extension</h1> <p><code>codeshell-vscode</code>项目是基于<a href="https://github.com/WisdomShell/codeshell">CodeShell大模型</a>开发的支持<a href="https://code.visualstudio.com/Download">Visual Studio Code</a>的智能编码助手插件,支持python、java、c++/c、javascript、go等多种编程语言,为开发者提供代码补全、代码解释、代码优化、注释生成、对话问答等功能,旨在通过智能化的方式帮助开发者提高编程效率。</p> <h2>环境要求</h2> <ul> <li><a href="https://nodejs.org/en">node</a>版本要要v18及以上</li> <li>Visual Studio Code版本要求 1.68 及以上</li> <li><a href="https://github.com/WisdomShell/llama_cpp_for_codeshell">CodeShell 模型服务</a>已启动</li> </ul> <h2>编译插件</h2> <p>如果要从源码进行打包,需要安装 <code>node</code> v18 以上版本,并执行以下命令:</p> <pre><code class="language-zsh">git clone https://github.com/WisdomShell/codeshell-vscode.git cd codeshell-vscode npm install npm exec vsce package </code></pre> <p>然后会得到一个名为<code>codeshell-vscode-${VERSION_NAME}.vsix</code>的文件。</p> <h2>模型服务</h2> <p><a href="https://github.com/WisdomShell/llama_cpp_for_codeshell"><code>llama_cpp_for_codeshell</code></a>项目提供<a href="https://github.com/WisdomShell/codeshell">CodeShell大模型</a> 4bits量化后的模型,模型名称为<code>codeshell-chat-q4_0.gguf</code>。以下为部署模型服务步骤:</p> <h3>编译代码</h3> <ul> <li> <p>Linux / Mac(Apple Silicon设备)</p> <pre><code class="language-bash">git clone https://github.com/WisdomShell/llama_cpp_for_codeshell.git cd llama_cpp_for_codeshell make </code></pre> <p>在 macOS 上,默认情况下启用了Metal,启用Metal可以将模型加载到 GPU 上运行,从而显著提升性能。</p> </li> <li> <p>Mac(非Apple Silicon设备)</p> <pre><code class="language-bash">git clone https://github.com/WisdomShell/llama_cpp_for_codeshell.git cd llama_cpp_for_codeshell LLAMA_NO_METAL=1 make </code></pre> <p>对于非 Apple Silicon 芯片的 Mac 用户,在编译时可以使用 <code>LLAMA_NO_METAL=1</code> 或 <code>LLAMA_METAL=OFF</code> 的 CMake 选项来禁用Metal构建,从而使模型正常运行。</p> </li> <li> <p>Windows</p> <p>您可以选择在<a href="https://learn.microsoft.com/en-us/windows/wsl/about">Windows Subsystem for Linux</a>中按照Linux的方法编译代码,也可以选择参考<a href="https://github.com/ggerganov/llama.cpp#build">llama.cpp仓库</a>中的方法,配置好<a href="https://github.com/skeeto/w64devkit/releases">w64devkit</a>后再按照Linux的方法编译。</p> </li> </ul> <h3>下载模型</h3> <p>在<a href="https://huggingface.co/WisdomShell">Hugging Face Hub</a>上,我们提供了三种不同的模型,分别是<a href="https://huggingface.co/WisdomShell/CodeShell-7B">CodeShell-7B</a>、<a href="https://huggingface.co/WisdomShell/CodeShell-7B-Chat">CodeShell-7B-Chat</a>和<a href="https://huggingface.co/WisdomShell/CodeShell-7B-Chat-int4">CodeShell-7B-Chat-int4</a>。以下是下载模型的步骤。</p> <ul> <li>使用<a href="https://huggingface.co/WisdomShell/CodeShell-7B-Chat-int4">CodeShell-7B-Chat-int4</a>模型推理,将模型下载到本地后并放置在以上代码中的 <code>llama_cpp_for_codeshell/models</code> 文件夹的路径</li> </ul> <pre><code>git clone https://huggingface.co/WisdomShell/CodeShell-7B-Chat-int4/blob/main/codeshell-chat-q4_0.gguf </code></pre> <ul> <li>使用<a href="https://huggingface.co/WisdomShell/CodeShell-7B">CodeShell-7B</a>、<a href="https://huggingface.co/WisdomShell/CodeShell-7B-Chat">CodeShell-7B-Chat</a>推理,将模型放置在本地文件夹后,使用<a href="https://github.com/WisdomShell/text-generation-inference.git">TGI</a>加载本地模型,启动模型服务</li> </ul> <pre><code class="language-bash">git clone https://huggingface.co/WisdomShell/CodeShell-7B-Chat git clone https://huggingface.co/WisdomShell/CodeShell-7B </code></pre> <h3>加载模型</h3> <ul> <li><code>CodeShell-7B-Chat-int4</code>模型使用<code>llama_cpp_for_codeshell</code>项目中的<code>server</code>命令即可提供API服务</li> </ul> <pre><code class="language-bash">./server -m ./models/codeshell-chat-q4_0.gguf --host 127.0.0.1 --port 8080 </code></pre> <p>注意:对于编译时启用了 Metal 的情况下,若运行时出现异常,您也可以在命令行添加参数 <code>-ngl 0 </code>显式地禁用Metal GPU推理,从而使模型正常运行。</p> <ul> <li><a href="https://huggingface.co/WisdomShell/CodeShell-7B">CodeShell-7B</a>和<a href="https://huggingface.co/WisdomShell/CodeShell-7B-Chat">CodeShell-7B-Chat</a>模型,使用<a href="https://github.com/WisdomShell/text-generation-inference.git">TGI</a>加载本地模型,启动模型服务</li> </ul> <h2>模型服务[NVIDIA GPU]</h2> <p>对于希望使用NVIDIA GPU进行推理的用户,可以使用<a href="https://github.com/huggingface/text-generation-inference"><code>text-generation-inference</code></a>项目部署<a href="https://github.com/WisdomShell/codeshell">CodeShell大模型</a>。以下为部署模型服务步骤:</p> <h3>下载模型</h3> <p>在 <a href="https://huggingface.co/WisdomShell/CodeShell-7B-Chat">Hugging Face Hub</a>将模型下载到本地后,将模型放置在 <code>$HOME/models</code> 文件夹的路径下,即可从本地加载模型。</p> <pre><code class="language-bash">git clone https://huggingface.co/WisdomShell/CodeShell-7B-Chat </code></pre> <h3>部署模型</h3> <p>使用以下命令即可用text-generation-inference进行GPU加速推理部署:</p> <pre><code class="language-bash">docker run --gpus 'all' --shm-size 1g -p 9090:80 -v $HOME/models:/data \ --env LOG_LEVEL="info,text_generation_router=debug" \ ghcr.nju.edu.cn/huggingface/text-generation-inference:1.0.3 \ --model-id /data/CodeShell-7B-Chat --num-shard 1 \ --max-total-tokens 5000 --max-input-length 4096 \ --max-stop-sequences 12 --trust-remote-code </code></pre> <p>更详细的参数说明请参考<a href="https://github.com/huggingface/text-generation-inference">text-generation-inference项目文档</a>。</p> <h2>配置插件</h2> <p>VSCode中执行<code>Install from VSIX...</code>命令,选择<code>codeshell-vscode-${VERSION_NAME}.vsix</code>,完成插件安装。</p> <ul> <li>设置CodeShell大模型服务地址</li> <li>配置是否自动触发代码补全建议</li> <li>配置自动触发代码补全建议的时间延迟</li> <li>配置补全的最大tokens数量</li> <li>配置问答的最大tokens数量</li> <li>配置模型运行环境</li> </ul> <p>注意:不同的模型运行环境可以在插件中进行配置。对于<a href="https://huggingface.co/WisdomShell/CodeShell-7B-Chat-int4">CodeShell-7B-Chat-int4</a>模型,您可以在<code>Code Shell: Run Env For LLMs</code>选项中选择<code>CPU with llama.cpp</code>选项。而对于<a href="https://huggingface.co/WisdomShell/CodeShell-7B">CodeShell-7B</a>和<a href="https://huggingface.co/WisdomShell/CodeShell-7B-Chat">CodeShell-7B-Chat</a>模型,应选择<code>GPU with TGI toolkit</code>选项。</p> <p><img src="https://resource.zsmarter.cn/appdata/codeshell-vscode/screenshots/docs_settings.png" alt="插件配置截图"></p> <h2>功能特性</h2> <h3>1. 代码补全</h3> <ul> <li>自动触发代码建议</li> <li>热键触发代码建议</li> </ul> <p>在编码过程中,当停止输入时,代码补全建议可自动触发(在配置选项<code>Auto Completion Delay</code>中可设置为1~3秒),或者您也可以主动触发代码补全建议,使用快捷键<code>Alt+\</code>(对于<code>Windows</code>电脑)或<code>option+\</code>(对于<code>Mac</code>电脑)。</p> <p>当插件提供代码建议时,建议内容以灰色显示在编辑器光标位置,您可以按下Tab键来接受该建议,或者继续输入以忽略该建议。</p> <p><img src="https://resource.zsmarter.cn/appdata/codeshell-vscode/screenshots/docs_completion.png" alt="代码建议截图"></p> <h3>2. 代码辅助</h3> <ul> <li>对一段代码进行解释/优化/清理</li> <li>为一段代码生成注释/单元测试</li> <li>检查一段代码是否存在性能/安全性问题</li> </ul> <p>在vscode侧边栏中打开插件问答界面,在编辑器中选中一段代码,在鼠标右键CodeShell菜单中选择对应的功能项,插件将在问答界面中给出相应的答复。</p> <p>在问答界面的代码块中,可以点击复制按钮复制该代码块,也可点击插入按钮将该代码块内容插入到编辑器光标处。</p> <p><img src="https://resource.zsmarter.cn/appdata/codeshell-vscode/screenshots/docs_assistants.png" alt="代码辅助截图"></p> <h3>3. 智能问答</h3> <ul> <li>支持多轮对话</li> <li>支持会话历史</li> <li>基于历史会话(做为上文)进行多轮对话</li> <li>可编辑问题,重新提问</li> <li>对任一问题,可重新获取回答</li> <li>在回答过程中,可以打断</li> </ul> <p><img src="https://resource.zsmarter.cn/appdata/codeshell-vscode/screenshots/docs_chat.png" alt="智能问答截图"></p> <h2>开源协议</h2> <p>Apache 2.0</p> + hjdhjd/homebridge-myq + 2023-10-23T01:42:26Z + tag:github.com,2023-10-23:/hjdhjd/homebridge-myq + + <p>🚗 myQ Liftmaster and Chamberlain Plugin for Homebridge https://github.com/nfarina/homebridge</p><hr><span align="CENTER" style="text-align:center"> <div align="CENTER" style="text-align:center"> <p><a href="https://github.com/hjdhjd/homebridge-myq"><img src="https://raw.githubusercontent.com/hjdhjd/homebridge-myq/main/homebridge-myq.svg?sanitize=true" alt="homebridge-myq: Native HomeKit support for myQ garage door openers and other devices"></a></p> <h1>Homebridge myQ</h1> <p><a href="https://www.npmjs.com/package/homebridge-myq"><img src="https://img.shields.io/npm/dt/homebridge-myq?color=%235EB5E5&amp;logo=icloud&amp;logoColor=%23FFFFFF&amp;style=for-the-badge" alt="Downloads"></a> <a href="https://www.npmjs.com/package/homebridge-myq"><img src="https://img.shields.io/npm/v/homebridge-myq?color=%235EB5E5&amp;label=Homebridge%20myQ&amp;logoColor=%23FFFFFF&amp;style=for-the-badge&amp;logo=data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBzdHlsZT0iZmlsbDojRkZGRkZGIiBkPSJNMjMuOTkzIDkuODE2TDEyIDIuNDczbC00LjEyIDIuNTI0VjIuNDczSDQuMTI0djQuODE5TC4wMDQgOS44MTZsMS45NjEgMy4yMDIgMi4xNi0xLjMxNXY5LjgyNmgxNS43NDl2LTkuODI2bDIuMTU5IDEuMzE1IDEuOTYtMy4yMDIiLz48L3N2Zz4K" alt="Version"></a> <a href="https://discord.gg/QXqfHEW"><img src="https://img.shields.io/discord/432663330281226270?color=%235EB5E5&amp;label=Discord&amp;logo=discord&amp;logoColor=%23FFFFFF&amp;style=for-the-badge" alt="myQ@Homebridge Discord"></a> <a href="https://github.com/homebridge/homebridge/wiki/Verified-Plugins"><img src="https://img.shields.io/badge/homebridge-verified-blueviolet?color=%2357277C&amp;style=for-the-badge&amp;logoColor=%23FFFFFF&amp;logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5OTIuMDkiIGhlaWdodD0iMTAwMCIgdmlld0JveD0iMCAwIDk5Mi4wOSAxMDAwIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iYSIgZD0iTTk1MC4xOSw1MDguMDZhNDEuOTEsNDEuOTEsMCwwLDEtNDItNDEuOWMwLS40OC4zLS45MS4zLTEuNDJMODI1Ljg2LDM4Mi4xYTc0LjI2LDc0LjI2LDAsMCwxLTIxLjUxLTUyVjEzOC4yMmExNi4xMywxNi4xMywwLDAsMC0xNi4wOS0xNkg3MzYuNGExNi4xLDE2LjEsMCwwLDAtMTYsMTZWMjc0Ljg4bC0yMjAuMDktMjEzYTE2LjA4LDE2LjA4LDAsMCwwLTIyLjY0LjE5TDYyLjM0LDQ3Ny4zNGExNiwxNiwwLDAsMCwwLDIyLjY1bDM5LjM5LDM5LjQ5YTE2LjE4LDE2LjE4LDAsMCwwLDIyLjY0LDBMNDQzLjUyLDIyNS4wOWE3My43Miw3My43MiwwLDAsMSwxMDMuNjIuNDVMODYwLDUzOC4zOGE3My42MSw3My42MSwwLDAsMSwwLDEwNGwtMzguNDYsMzguNDdhNzMuODcsNzMuODcsMCwwLDEtMTAzLjIyLjc1TDQ5OC43OSw0NjguMjhhMTYuMDUsMTYuMDUsMCwwLDAtMjIuNjUuMjJMMjY1LjMsNjgwLjI5YTE2LjEzLDE2LjEzLDAsMCwwLDAsMjIuNjZsMzguOTIsMzlhMTYuMDYsMTYuMDYsMCwwLDAsMjIuNjUsMGwxMTQtMTEyLjM5YTczLjc1LDczLjc1LDAsMCwxLDEwMy4yMiwwbDExMywxMTEsLjQyLjQyYTczLjU0LDczLjU0LDAsMCwxLDAsMTA0TDU0NS4wOCw5NTcuMzV2LjcxYTQxLjk1LDQxLjk1LDAsMSwxLTQyLTQxLjk0Yy41MywwLC45NS4zLDEuNDQuM0w2MTYuNDMsODA0LjIzYTE2LjA5LDE2LjA5LDAsMCwwLDQuNzEtMTEuMzMsMTUuODUsMTUuODUsMCwwLDAtNC43OS0xMS4zMmwtMTEzLTExMWExNi4xMywxNi4xMywwLDAsMC0yMi42NiwwTDM2Ny4xNiw3ODIuNzlhNzMuNjYsNzMuNjYsMCwwLDEtMTAzLjY3LS4yN2wtMzktMzlhNzMuNjYsNzMuNjYsMCwwLDEsMC0xMDMuODZMNDM1LjE3LDQyNy44OGE3My43OSw3My43OSwwLDAsMSwxMDMuMzctLjlMNzU4LjEsNjM5Ljc1YTE2LjEzLDE2LjEzLDAsMCwwLDIyLjY2LDBsMzguNDMtMzguNDNhMTYuMTMsMTYuMTMsMCwwLDAsMC0yMi42Nkw1MDYuNSwyNjUuOTNhMTYuMTEsMTYuMTEsMCwwLDAtMjIuNjYsMEwxNjQuNjksNTgwLjQ0QTczLjY5LDczLjY5LDAsMCwxLDYxLjEsNTgwTDIxLjU3LDU0MC42OWwtLjExLS4xMmE3My40Niw3My40NiwwLDAsMSwuMTEtMTAzLjg4TDQzNi44NSwyMS40MUE3My44OSw3My44OSwwLDAsMSw1NDAsMjAuNTZMNjYyLjYzLDEzOS4zMnYtMS4xYTczLjYxLDczLjYxLDAsMCwxLDczLjU0LTczLjVINzg4YTczLjYxLDczLjYxLDAsMCwxLDczLjUsNzMuNVYzMjkuODFhMTYsMTYsMCwwLDAsNC43MSwxMS4zMmw4My4wNyw4My4wNWguNzlhNDEuOTQsNDEuOTQsMCwwLDEsLjA4LDgzLjg4WiIvPjwvc3ZnPg==" alt="verified-by-homebridge"></a></p> <h2>myQ garage door and other myQ-enabled device support for <a href="https://homebridge.io">Homebridge</a>.</h2> </div> </span> <p><code>homebridge-myq</code> is a <a href="https://homebridge.io">Homebridge</a> plugin that makes myQ-enabled devices available to <a href="https://www.apple.com">Apple's</a> <a href="https://www.apple.com/ios/home">HomeKit</a> smart home platform. myQ-enabled devices include many smart garage door openers made primarily by Liftmaster, Chamberlain, and Craftsman, but includes other brands as well. You can determine if your garage door or other device is myQ-enabled by checking the <a href="https://www.myq.com/myq-compatibility">myQ compatibility check tool</a> on the myQ website.</p> <p>There are two ways to control a myQ-compatible garage door opener through <a href="https://www.apple.com/ios/home">HomeKit</a>:</p> <ol> <li> <p>Liftmaster and Chamberlain make a hardware HomeKit bridge also called <a href="https://www.liftmaster.com/myq-home-bridge/p/G819LMB">Home Bridge</a> (not to be confused with the open source <a href="https://homebridge.io">Homebridge project</a>). Unfortunately, some of us have encountered significant issues with the hardware bridge in a real world setting, where it either stops working or hangs for extended periods of time. That said, other users have encountered no issues and this hardware solution works well.</p> </li> <li> <p>A plugin for <a href="https://homebridge.io">Homebridge</a> like this one that emulates the capabilities of a myQ <a href="https://www.apple.com/ios/home">HomeKit</a> bridge device.</p> </li> </ol> <p>Either solution will provide you with robust HomeKit integration, and you'll soon be automating your myQ smart garage with the richness of Apple's HomeKit ecosystem!</p> <h2>Why use this plugin for myQ support in HomeKit?</h2> <p>In a nutshell, the aim of this plugin for things to <em>just work</em> with minimal required configuration by users. The goal is to provide as close to a streamlined experience as you would expect from a first-party or native HomeKit solution. For the adventurous, those additional granular options are, of course, available to support more esoteric use cases or other unique needs.</p> <p>What does <em>just work</em> mean in practice? It means that this plugin will discover all your myQ devices and poll at regular, reasonable intervals for changes in state of a garage door opener, lamp, or other myQ devices and inform HomeKit of those changes. By default. Without additional configuration beyond the login information required for myQ services.</p> <p><code>homebridge-myq</code> has been around a long time and is trusted by thousands of users. It's the first myQ <a href="https://homebridge.io">Homebridge</a> plugin to provide comprehensive support for various myQ features such as obstruction detection, and the first to provide support for multiple myQ device types. As more of the API can be decoded, my aim is to support as many device types as possible. I rely on this plugin every day and actively maintain and support it.</p> <h3>Features</h3> <ul> <li> <p><strong><em>Easy</em> configuration - all you need is your myQ username and password to get started.</strong> The defaults work for the vast majority of users. When you want more, there are <a href="https://raw.githubusercontent.com/hjdhjd/homebridge-myq/main/#advanced-config">advanced options</a> you can play with, if you choose.</p> </li> <li> <p><strong>Automatic detection and configuration of all lamps, garage door and gate openers.</strong> By default - all of your supported myQ devices are made available in HomeKit.</p> </li> <li> <p><strong><a href="https://raw.githubusercontent.com/hjdhjd/homebridge-myq/main/#obstruction-status">Obstruction detection</a> on supported myQ garage door and gate openers.</strong> When a garage door or gate is obstructed, and the myQ API provides that information, you'll see an alert raised in the Home app.</p> </li> <li> <p><strong><a href="https://raw.githubusercontent.com/hjdhjd/homebridge-myq/main/#battery-status">Battery status detection</a> on supported myQ door position sensor devices.</strong> If you have a myQ supported door position sensor, you'll see an alert raised in the Home app to inform you when the battery is running low.</p> </li> <li> <p><strong>The ability to <a href="https://raw.githubusercontent.com/hjdhjd/homebridge-myq/main/#feature-options">selectively hide and show</a> specific myQ devices.</strong> For those who only want to show particular devices in HomeKit, or particular homes, a flexible and intuitive way to configure device availability at a granular level is available.</p> </li> <li> <p><strong>Full MQTT support.</strong> For those who use MQTT, this plugin provides full MQTT support with a rich set of options. <a href="https://github.com/hjdhjd/homebridge-myq/raw/main/docs/MQTT.md">Read the MQTT documentation</a> for more details.</p> </li> </ul> <h3><a name="myq-contribute"></a>How you can contribute and make this plugin even better</h3> <p>The myQ API is undocumented and implementing a plugin like this one is the result of many hours of reverse engineering, trial and error, and community support. This work stands on the shoulders of other myQ API projects out there and this project attempts to contribute back to that community base of knowledge to further improve myQ support for everyone.</p> <p>I would love to support more types of myQ devices. Currently <code>homebridge-myq</code> supports the following device types:</p> <ul> <li>Garage door and gate openers</li> <li>Lamps and myQ switches</li> </ul> <p>Additional device types will be added as time allows. It's unlikely I will add support for myQ locks due to their deprecated protocol support. myQ cameras may be added at some point, but there are additional non-technical considerations related to the paid myQ product that I want to be mindful of.</p> <h2>Documentation</h2> <ul> <li> <p>Getting Started</p> <ul> <li><a href="https://raw.githubusercontent.com/hjdhjd/homebridge-myq/main/#installation">Installation</a>: installing this plugin, including system requirements.</li> <li><a href="https://raw.githubusercontent.com/hjdhjd/homebridge-myq/main/#plugin-configuration">Plugin Configuration</a>: how to quickly get up and running.</li> <li><a href="https://raw.githubusercontent.com/hjdhjd/homebridge-myq/main/#notes">Additional Notes</a>: some things you should be aware of, including myQ-specific quirks.</li> </ul> </li> <li> <p>Advanced Topics</p> <ul> <li><a href="https://github.com/hjdhjd/homebridge-myq/raw/main/docs/FeatureOptions.md">Feature Options</a>: granular options to allow you to show or hide specific garage door openers and more.</li> <li><a href="https://github.com/hjdhjd/homebridge-myq/raw/main/docs/MQTT.md">MQTT</a>: how to configure MQTT support.</li> <li><a href="https://github.com/hjdhjd/homebridge-myq/raw/main/docs/AdvancedOptions.md">Advanced Configuration</a>: complete list of configuration options available in this plugin.</li> <li><a href="https://github.com/hjdhjd/homebridge-myq/raw/main/docs/Changelog.md">Changelog</a>: changes and release history of this plugin, starting with v2.0.</li> </ul> </li> </ul> <h2>Installation</h2> <p>If you are new to Homebridge, please first read the <a href="https://homebridge.io">Homebridge</a> <a href="https://github.com/homebridge/homebridge/wiki">documentation</a> and installation instructions before proceeding.</p> <p>If you have installed the <a href="https://github.com/homebridge/homebridge-config-ui-x">Homebridge Config UI</a>, you can intall this plugin by going to the <code>Plugins</code> tab and searching for <code>homebridge-myq</code> and installing it.</p> <h3><a name="notes"></a>Things To Be Aware Of</h3> <ul> <li> <p><a name="myq-errors"></a>The myQ API has largely stabilized in recent years, particularly with the advent of the v6 version of the API. However, the myQ cloud can (and does) have occasional reliability challenges that can manifest through connectivity issues that you will see in the Homebridge logs related to this plugin. These are not bugs in <code>homebridge-myq</code> and there's not much we can do it aside from attempt to gracefully handle the errors when they occur. The myQ cloud is quite reliable the large majority (~93-95% by my estimate) of the time. Please do not open bug reports related to API issues - they'll be closed summarily unless it's a new API-specific issue that's emerged as a result of changes to the undocumented myQ API. These issues are largely harmless and resolve themselves on their own, usually in minutes, and occasionally in hours or days.</p> </li> <li> <p><strong>As a result of the above you <em>will</em> see errors similar to this on an occasional basis in the Homebridge logs:</strong></p> <pre><code>myQ API: Unable to update device status from the myQ API. Acquiring a new access token. </code></pre> <p>These messages can be safely ignored. myQ API errors <em>will</em> inevtiably happen. The myQ cloud infrastructure from Liftmaster / Chamberlain is not completely reliable and occasionally errors out due to infrastructure maintenance, network issues, or other infrastructure hiccups that occur on the myQ end of things. This plugin has no control over this. The logging is informative and <strong>not a cause for significant concern unless it is constant and ongoing for multiple days</strong>, which would be indicative of the larger API issues referenced above. When one of these errors is detected, we log back into the myQ infrastructure, obtain new API security credentials, and attempt refresh our status in the next scheduled update, which by is roughly <a href="https://raw.githubusercontent.com/hjdhjd/homebridge-myq/main/#advanced-config">every 12 seconds by default</a>.</p> </li> <li> <p><a name="obstruction-status"></a>Obstruction detection in myQ is more nuanced than one might think at first glance. When myQ detects an obstruction, that obstruction is only visible in the API for a <em>very</em> small amount of time, typically no more than a few seconds. This presents a user experience problem - if you remain completely faithful to the myQ API and only show the user the obstruction for the very short amount of time that it actually occurs, the user might never notice it because the alert is not visible for more than a few seconds. Instead, the design decision I've chosen to make is to ensure that any detected obstruction is alerted in HomeKit for 30 seconds from the last time myQ detected that obstruction. This ensures that the user has a reasonable chance of noticing there was an obstruction at some point in the very recent past, without having to have the user stare at the Home app constantly to happen to catch an ephemeral state.</p> </li> </ul> <h2>Plugin Configuration</h2> <p>If you choose to configure this plugin directly instead of using the <a href="https://github.com/oznu/homebridge-config-ui-x">Homebridge Configuration web UI</a>, you'll need to add the platform to your <code>config.json</code> in your home directory inside <code>.homebridge</code>.</p> <pre><code class="language-js">"platforms": [{ "platform": "myQ", "email": "email@email.com", "password": "password" }] </code></pre> <p>For most people, I recommend using <a href="https://github.com/oznu/homebridge-config-ui-x">Homebridge Configuration web UI</a> to configure this plugin rather than doing so directly. It's easier to use for most users, especially newer users, and less prone to typos, leading to other problems.</p> <h2>Plugin Development Dashboard</h2> <p>This is mostly of interest to the true developer nerds amongst us.</p> <p><a href="https://github.com/hjdhjd/homebridge-myq/raw/main/LICENSE.md"><img src="https://img.shields.io/npm/l/homebridge-myq?color=%230559C9&amp;logo=open%20source%20initiative&amp;logoColor=%23FFFFFF&amp;style=for-the-badge" alt="License"></a> <a href="https://github.com/hjdhjd/homebridge-myq/actions?query=workflow%3A%22Continuous+Integration%22"><img src="https://img.shields.io/github/actions/workflow/status/hjdhjd/homebridge-myq/ci.yml?branch=main&amp;color=%230559C9&amp;logo=github-actions&amp;logoColor=%23FFFFFF&amp;style=for-the-badge" alt="Build Status"></a> <a href="https://libraries.io/npm/homebridge-myq"><img src="https://img.shields.io/librariesio/release/npm/homebridge-myq?color=%230559C9&amp;logo=dependabot&amp;style=for-the-badge" alt="Dependencies"></a> <a href="https://github.com/hjdhjd/homebridge-myq/commits/main"><img src="https://img.shields.io/github/commits-since/hjdhjd/homebridge-myq/latest?color=%230559C9&amp;logo=github&amp;sort=semver&amp;style=for-the-badge" alt="GitHub commits since latest release (by SemVer)"></a></p> - devfullcycle/imersao15 - 2023-10-22T01:44:30Z - tag:github.com,2023-10-22:/devfullcycle/imersao15 - - <p></p><hr><h1>Imersão Fullcycle 15 - Codepix</h1> <p><img src="https://events-fullcycle.s3.amazonaws.com/events-fullcycle/static/site/img/grupo_4417.png" alt="Imersão Full Stack &amp;&amp; Full Cycle"></p> <p>Participe gratuitamente: <a href="https://imersao.fullcycle.com.br/">https://imersao.fullcycle.com.br/</a></p> <h2>Sobre o repositório</h2> <p>Esse repositório contém todo código utilizado durante as aulas para referência.</p> <p>Faça seu fork e também nos dê uma estrelinha para nos ajudar a divulgar o projeto.</p> <hr> <h3>Alterações no <code>Dockerfile - Go</code>:</h3> <p>Vamos atualizar a versão do <code>Go</code> para a <code>golang:1.19</code>, desta forma os pacotes instalados serão compatíveis entre eles.</p> <p>Durante a aula 01 o Wesley configura o <code>Dockerfile</code> com a instalação do <code>cobra</code> que vamos utilizar mais a frente no curso, mas há uma alteração a ser feita na instalação desta ferramenta como abaixo:</p> <p>Precisamos substituir e incluir o comando de instalação do <code>cobra-cli</code>: <code>go get github.com/spf13/cobra-cli@v1.3.0 &amp;&amp; \</code></p> <p>Após realizar as alterações acima o <code>Dockerfile</code> ficará da seguinte forma:</p> <pre><code class="language-docker">FROM golang:1.19 WORKDIR /go/src ENV PATH="/go/bin:${PATH}" ENV GO111MODULE=on ENV CGO_ENABLED=1 RUN apt-get update &amp;&amp; \ apt-get install build-essential protobuf-compiler librdkafka-dev -y &amp;&amp; \ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0 &amp;&amp; \ go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.31.0 &amp;&amp; \ go install github.com/spf13/cobra-cli@v1.3.0 &amp;&amp; \ wget https://github.com/ktr0731/evans/releases/download/0.9.1/evans_linux_amd64.tar.gz &amp;&amp; \ tar -xzvf evans_linux_amd64.tar.gz &amp;&amp; \ mv evans ../bin &amp;&amp; rm -f evans_linux_amd64.tar.gz CMD ["tail", "-f", "/dev/null"] </code></pre> <p>Dentro do arquivo <code>go.mod</code> apague todo o conteúdo de <code>require</code> e no terminal rode o comando abaixo para instalar todas as depêndencias:</p> <p><code>go mod init</code></p> <p>Com isso a aplicação deve funcionar corretamente.</p> <hr> <h3>Alteração de comando - Aula 02 - Imersão - gRPC e o abismo entre devs e empresas</h3> <p>Como explicado acima, precisamos incluir o <code>cobra-cli</code> nas instalações internas do <code>container</code>, por isso o comando para iniciar o <code>cobra</code> será: <code>cobra-cli init</code></p> + JessYan0913/pictode + 2023-10-23T01:42:26Z + tag:github.com,2023-10-23:/JessYan0913/pictode + + <p>🎨 Pictode最方便集成的绘图工具</p><hr><h1>Pictode 🎨</h1> <p>Welcome to <strong>Pictode</strong> - your canvas for unlimited creativity! 🚀</p> <p><img src="https://github.com/JessYan0913/picx-images-hosting/raw/master/Kapture%202023-10-18%20at%2022.26.09.gif" alt="banner"></p> <p><a href="https://pictode.com">Experience it now</a></p> <p><a href="https://raw.githubusercontent.com/JessYan0913/pictode/main/README.zh-CN.md">简体中文</a> | English</p> <p><strong>Pictode</strong> is a canvas project built on cutting-edge technologies like Vue 3, TypeScript, Konva, HeadlessUI, and Tailwind CSS. It empowers you to draw, create, and express your creativity freely. ✨</p> <h2>🖌️ Drawing Tools</h2> <p><strong>Pictode</strong> offers a range of drawing tools, from simple rectangles to intricate lines, allowing you to craft your unique artworks. 🎨</p> <ul> <li>Unleash your doodling talent with the <strong>✏️ Pencil tool</strong>.</li> <li>Insert photos and colorful elements into your canvas with the <strong>📷 Image tool</strong>.</li> <li>Express your thoughts and ideas with the <strong>🖋️ Text tool</strong>.</li> <li>Create perfect geometric shapes like <strong>🟩 Rectangles</strong>, <strong>🔶 Diamonds</strong>, and <strong>🟤 Ellipses</strong>.</li> </ul> <h2>🪄 Import and Export</h2> <p>Share your artistic creations with the world! <strong>Pictode</strong> supports various import and export options, including JPG, PNG, and JSON formats. 📤📥</p> <ul> <li>Export your projects and share them with friends or colleagues.</li> <li>Import others' projects to gain inspiration and make edits.</li> </ul> <h2>✨ Enhanced by Plugins</h2> <p><strong>Pictode</strong> offers various plugins to cater to diverse needs.</p> <p><a href="https://codesandbox.io/p/sandbox/pictode-playground-7rm8zq?file=%2Fsrc%2FApp.vue%3A1%2C1"><img src="https://codesandbox.io/static/img/play-codesandbox.svg?sanitize=true" alt="Edit pictode"></a></p> <h3>🕒 History Plugin</h3> <ol> <li>Install the <code>@pictode/plugin-history</code> dependency.</li> </ol> <pre><code class="language-shell">npm install @pictode/plugin-selector </code></pre> <ol start="2"> <li>Instantiate the historyPlugin plugin.</li> </ol> <pre><code class="language-ts">import { HistoryPlugin } from '@pictode/plugin-history'; const historyPlugin = new HistoryPlugin(); </code></pre> <ol start="3"> <li>Use the app.use(historyPlugin) method to load the plugin.</li> </ol> <pre><code class="language-ts">app.use(historyPlugin); </code></pre> <ol start="4"> <li>You can now implement undo and redo functionality with the app.undo() and app.redo() methods.</li> </ol> <h3>✅ Selector Plugin</h3> <ol> <li>Install the @pictode/plugin-selector dependency.</li> </ol> <pre><code class="language-shell">npm install @pictode/plugin-selector </code></pre> <ol start="2"> <li>Instantiate the selectorPlugin plugin.</li> </ol> <pre><code class="language-ts">import { SelectorPlugin } from '@pictode/plugin-selector'; const selectorPlugin = new SelectorPlugin(); </code></pre> <ol start="3"> <li>Use the app.use(selectorPlugin) method to load the plugin.</li> </ol> <pre><code class="language-ts">app.use(selectorPlugin); </code></pre> <ol start="4"> <li>Implement selecting and deselecting shapes using mouse clicks or the app.select(...) and app.cancelSelect(...) methods. Hold down the Shift key to enable multi-selection and deselection.</li> </ol> <h3>🔄 Alignment Tools</h3> <ol> <li>Install the @pictode/plugin-alignment dependency.</li> </ol> <pre><code class="language-shell">npm install @pictode/plugin-selector </code></pre> <ol start="2"> <li>Instantiate the alignmentPlugin plugin.</li> </ol> <pre><code class="language-ts">import { AlignmentPlugin } from '@pictode/plugin-alignment'; const alignmentPlugin = new AlignmentPlugin(); </code></pre> <ol start="3"> <li>Use the app.use(alignmentPlugin) method to load the plugin.</li> </ol> <pre><code class="language-ts">app.use(alignmentPlugin); </code></pre> <ol start="4"> <li> <p>You can now perform alignment operations using a range of methods, including app.alignTop, app.alignRight, app.alignBottom, app.alignLeft, app.alignCenterX, app.alignCenterY, and more.</p> </li> <li> <p>Additionally, use app.distributeX and app.distributeY methods to achieve horizontal and vertical distribution.</p> </li> </ol> <h2>🌟 Why Choose Pictode?</h2> <ul> <li>Powerful drawing tools to meet all creative needs.</li> <li>A flexible plugin system for expanding functionality as needed.</li> <li>User-friendly undo and redo functionality to fearlessly correct mistakes.</li> <li>Rich import and export options for easy sharing and collaboration.</li> </ul> <p>Start using <strong>Pictode</strong> to unleash your creativity! 🚀</p> <h2>🚀 Getting Started</h2> <p>You can launch <strong>Pictode</strong> and start creating in just a few simple steps:</p> <ol> <li>Clone this repository to your local machine.</li> <li>Install the required dependencies: pnpm bootstrap.</li> <li>Run the project: pnpm pictode.</li> <li>Open your browser and visit <a href="http://localhost:8800">http://localhost:8800</a>.</li> </ol> <p>Now you can dive into <strong>Pictode</strong>, let your creativity flow, and create unique masterpieces! 🚀</p> <h2>🙌 Contribute</h2> <p><strong>Pictode</strong> is an open-source project, and we welcome contributions in all forms. If you have suggestions, questions, or want to contribute code, don't hesitate to join our community!</p> <h2>📝 License</h2> <p><strong>Pictode</strong> is released under the MIT License. Check out the LICENSE for more information.</p> <p>Thank you for choosing <strong>Pictode</strong>, and we hope it becomes your ultimate tool for creative expression! 🎉</p> <p><a href="https://pictode.com">Visit Online</a></p> <p>If you have any questions, feel free to contact us at:<a href="mailto:1141326491@qq.com">1141326491@qq.com</a> 📧</p> <hr> <p>🌟 Let <strong>Pictode</strong> be your canvas for creative expression, where art can freely flourish! 🌟</p> - learnhouse/learnhouse - 2023-10-22T01:44:30Z - tag:github.com,2023-10-22:/learnhouse/learnhouse - - <p>The Next-Gen Open Source learning platform ✨</p><hr><p align="center"> <a href="https://learnhouse.app"> <img src="https://raw.githubusercontent.com/learnhouse/learnhouse/dev/.github/images/readme.png" height="300"> </a> </p> <p>LearnHouse is an open source platform that makes it easy for anyone to provide world-class educational content and it offers a variety of content types : Dynamic Pages, Videos, Documents &amp; more..</p> <h2>Progress</h2> <p>🚧 LearnHouse is still on early development (alpha) and should not be used (yet) on production, as we reach stability we will release a stable version and add more features.</p> <h2>Features</h2> <p><img src="https://docs.learnhouse.app/img/pages/features.png" alt="image"></p> <ul> <li>📄✨Dynamic notion-like pages</li> <li>👨‍🎓 Easy to use</li> <li>👥 Multi-Organization</li> <li>📹 Supports Uploadable Videos and external videos like YouTube</li> <li>📄 Supports documents like PDF</li> <li>🍱 Course Collections</li> <li>🙋 Quizzes</li> <li>👟 Course progress</li> <li>⚡ (Incoming) Live Collaboration</li> <li>More to come</li> </ul> <h2>Community</h2> <p>Please visit our <a href="https://discord.gg/CMyZjjYZ6x">Discord</a> community 👋</p> <h2>Contributing</h2> <p>Thank you for you interest 💖, here is how you can help :</p> <ul> <li><a href="https://raw.githubusercontent.com/learnhouse/learnhouse/dev/CONTRIBUTING.md">Getting Started</a></li> <li><a href="https://docs.learnhouse.app/setup-dev-environment">Developers Quick start</a></li> <li><a href="https://github.com/learnhouse/learnhouse/issues/new?assignees=&amp;labels=bug%2Ctriage&amp;projects=&amp;template=bug.yml&amp;title=%5BBug%5D%3A+">Submit a bug report</a></li> <li><a href="https://github.com/learnhouse/learnhouse/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22+label%3A%22help+wanted%22">Check good first issues &amp; Help Wanted</a></li> <li>Spread the word and share the project with your friends</li> </ul> <h2>Documentation</h2> <ul> <li><a href="https://docs.learnhouse.app">Overview</a></li> <li><a href="https://docs.learnhouse.app/setup-dev-environment">Developers</a></li> </ul> <h2>Tech</h2> <p>LearnHouse uses a number of open source projects to work properly:</p> <ul> <li><strong>Next.js</strong> (13 with the App Directory) - The React Framework</li> <li><strong>TailwindCSS</strong> - Styling</li> <li><strong>Radix UI</strong> - Accessible UI Components</li> <li><strong>Tiptap</strong> - An editor framework and headless wrapper around ProseMirror</li> <li><strong>FastAPI</strong> - A high performance, async API framework for Python</li> <li><strong>YJS</strong> - Shared data types for building collaborative software</li> <li><strong>MongoDB</strong> - NoSQL Database</li> <li><strong>React</strong> - duh</li> </ul> <h2>A word</h2> <p>Learnhouse is made with 💜, from the UI to the features it is carefully designed to make students and teachers lives easier and make education software more enjoyable.</p> <p>Thank you and have fun using/developing/testing LearnHouse !</p> + enricoros/big-agi + 2023-10-23T01:42:26Z + tag:github.com,2023-10-23:/enricoros/big-agi + + <p>💬 Personal AI application powered by GPT-4 and beyond, with AI personas, AGI functions, text-to-image, voice, response streaming, code highlighting and execution, PDF import, presets for developers, much more. Deploy and gift #big-AGI-energy! Using Next.js, React, Joy.</p><hr><h1><code>BIG-AGI</code> 🤖💬</h1> <p>Welcome to <code>big-AGI</code> 👋 your personal AGI application powered by OpenAI GPT-4 and beyond. Designed for smart humans and super-heroes, this responsive web app comes with Personas, Drawing, Code Execution, PDF imports, Voice support, data Rendering, AGI functions, chats and much more. Comes with plenty of <code>#big-AGI-energy</code> 🚀</p> <p><a href="https://big-agi.com"><img src="https://img.shields.io/badge/BIG--AGI.com-%23096bde?style=for-the-badge&amp;logo=vercel&amp;label=demo" alt="Official Website"></a></p> <p>Or fork &amp; run on Vercel</p> <p><a href="https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fenricoros%2Fbig-agi&amp;env=OPENAI_API_KEY,OPENAI_API_HOST&amp;envDescription=OpenAI%20KEY%20for%20your%20deployment.%20Set%20HOST%20only%20if%20non-default."><img src="https://vercel.com/button" alt="Deploy with Vercel"></a></p> <h2>✨ Key Features 👊</h2> <p><img src="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/pixels/big-AGI-compo1.png" alt="Ask away, paste a ton, copy the gems"></p> <ul> <li><strong>AI Personas</strong></li> <li><strong>Polished UI</strong>: installable web app, mobile-friendly, token counters, etc.</li> <li><strong>Fast UX</strong>: Microphone, Camera OCR, Drag files, Voice Synthesis</li> <li><strong>Models</strong>: <a href="https://platform.openai.com/overview">OpenAI</a>, <a href="https://www.anthropic.com/product">Anthropic</a>, <a href="https://oai.azure.com/">Azure</a>, <a href="https://openrouter.ai/">OpenRouter</a>, <a href="https://github.com/oobabooga/text-generation-webui">Local models</a>, and more</li> <li><strong>Private</strong>: use your own API keys and self-host if you like</li> <li><strong>Advanced</strong>: PDF import &amp; Summarization, code execution</li> <li><strong>Integrations</strong>: ElevenLabs, Helicone, Paste.gg, Prodia and more</li> </ul> <h2>💖 Support</h2> <p><a href="https://discord.gg/MkH4qj2Jp9"><img src="https://discordapp.com/api/guilds/1098796266906980422/widget.png?style=banner2" alt="Official Discord"></a></p> <ul> <li>Enjoy the hosted open-source app on <a href="https://big-agi.com">big-AGI.com</a></li> <li><a href="https://discord.gg/MkH4qj2Jp9">Chat with us</a></li> <li>Deploy your <a href="https://github.com/enricoros/big-agi/fork">fork</a> for your friends and family</li> <li>send PRs! ... 🎭<a href="https://github.com/enricoros/big-agi/issues/35">Editing Personas</a>, 🧩<a href="https://github.com/enricoros/big-agi/issues/36">Reasoning Systems</a>, 🌐<a href="https://github.com/enricoros/big-agi/issues/35">Community Templates</a>, and <a href="https://github.com/enricoros/big-agi/issues/new?labels=RFC&amp;body=Describe+the+idea">your big-IDEAs</a></li> </ul> <br> <h2>🧠 Latest Drops</h2> <h4>Next</h4> <ul> <li><strong>Cloudflare API Gateway</strong> support</li> <li><strong>Helicone for Anthropic</strong> support</li> <li><strong>Text Tools</strong> - incl. highlight differences</li> </ul> <h4>1.4.0: Sept/Oct: scale OUT</h4> <ul> <li><strong>Expanded Model Support</strong>: Azure and <a href="https://openrouter.ai/docs#models">OpenRouter</a> models, including gpt-4-32k</li> <li><strong>Share and clone</strong> conversations with public links</li> <li>Removed the 20 chats hard limit (<a href="https://github.com/enricoros/big-agi/pull/158">Ashesh3</a>)</li> <li>Latex Rendering</li> <li>Augmented Chat modes (Labs)</li> </ul> <h4>July/Aug: More Better Faster</h4> <ul> <li><strong>Camera OCR</strong> - real-world AI - take a picture of a text, and chat with it</li> <li><strong>Anthropic models</strong> support, e.g. Claude</li> <li><strong>Backup/Restore</strong> - save chats, and restore them later</li> <li><strong><a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/config-local-oobabooga">Local model support with Oobabooga server</a></strong> - run your own LLMs!</li> <li><strong>Flatten conversations</strong> - conversations summarizer with 4 modes</li> <li><strong>Fork conversations</strong> - create a new chat, to experiment with different endings</li> <li>New commands: /s to add a System message, and /a for an Assistant message</li> <li>New Chat modes: Write-only - just appends the message, without assistant response</li> <li>Fix STOP generation - in sync with the Vercel team to fix a long-standing NextJS issue</li> <li>Fixes on the HTML block - particularly useful to see error pages</li> </ul> <h4>June: scale UP</h4> <ul> <li><strong><a href="https://openai.com/blog/function-calling-and-other-api-updates">New OpenAI Models</a> support</strong> - 0613 models, including 16k and 32k</li> <li><strong>Cleaner UI</strong> - with rationalized Settings, Modals, and Configurators</li> <li><strong>Dynamic Models Configurator</strong> - easy connection with different model vendors</li> <li><strong>Multiple Model Vendors Support</strong> framework to support many LLM vendors</li> <li><strong>Per-model Options</strong> (temperature, tokens, etc.) for fine-tuning AI behavior to your needs</li> <li>Support for GPT-4-32k</li> <li>Improved Dialogs and Messages</li> <li>Much Enhanced DX: TRPC integration, modularization, pluggable UI, etc</li> </ul> <h4>April / May: more #big-agi-energy</h4> <ul> <li><strong><a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/pixels/feature_react_google.png">Google Search</a></strong> active in ReAct - add your keys to Settings &gt; Google Search</li> <li><strong><a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/pixels/feature_react_turn_on.png">Reason+Act</a></strong> preview feature - activate with 2-taps on the 'Chat' button</li> <li><strong><a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/pixels/feature_imagine_command.png">Image Generation</a></strong> using Prodia (BYO Keys) - /imagine - or menu option</li> <li><strong><a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/pixels/feature_voice_1.png">Voice Synthesis</a></strong> 📣 with ElevenLabs, including selection of custom voices</li> <li><strong><a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/pixels/feature_token_counter.png">Precise Token Counter</a></strong> 📈 extra-useful to pack the context window</li> <li><strong><a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/pixels/feature_pwa.png">Install Mobile APP</a></strong> 📲 looks like native (@harlanlewis)</li> <li><strong><a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/pixels/feature_language.png">UI language</a></strong> with auto-detect, and future app language! (@tbodyston)</li> <li><strong>PDF Summarization</strong> 🧩🤯 - ask questions to a PDF! (@fredliubojin)</li> <li><strong>Code Execution: <a href="https://codepen.io/">Codepen</a>/<a href="https://replit.com/">Replit</a></strong> 💻 (@harlanlewis)</li> <li><strong><a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/pixels/feature_svg_drawing.png">SVG Drawing</a></strong> - draw with AI 🎨</li> <li>Chats: multiple chats, AI titles, Import/Export, Selection mode</li> <li>Rendering: Markdown, SVG, improved Code blocks</li> <li>Integrations: OpenAI organization ID</li> <li><a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/deploy-cloudflare.md">Cloudflare deployment instructions</a>, <a href="https://github.com/enricoros/awesome-agi">awesome-agi</a></li> <li><a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/pixels/gif_typing_040123.gif">Typing Avatars</a> ⌨️ <!-- p><a href="docs/pixels/gif_typing_040123.gif"><img src="docs/pixels/gif_typing_040123.gif" width='700' alt="New Typing Avatars"/></a></p --> </li> </ul> <h4>March: first release</h4> <ul> <li><strong><a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/pixels/feature_purpose_two.png">AI Personas</a></strong> - including Code, Science, Corporate, and Chat 🎭</li> <li><strong>Privacy</strong>: user-owned API keys 🔑 and localStorage 🛡️</li> <li><strong>Context</strong> - Attach or <a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/pixels/feature_drop_target.png">Drag &amp; Drop files</a> to add them to the prompt 📁</li> <li><strong>Syntax highlighting</strong> - for multiple languages 🌈</li> <li><strong>Code Execution: Sandpack</strong> - <a href="https://raw.githubusercontent.com/enricoros/big-agi/main/(https://github.com/enricoros/big-agi/commit/f678a0d463d5e9cf0733f577e11bd612b7902d89)">now on branch</a> <code>variant-code-execution</code></li> <li>Chat with GPT-4 and 3.5 Turbo 🧠💨</li> <li>Real-time streaming of AI responses ⚡</li> <li><strong>Voice Input</strong> 🎙️ - works great on Chrome / Windows</li> <li>Integration: <strong><a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/pixels/feature_paste_gg.png">Paste.gg</a></strong> integration for chat sharing 📥</li> <li>Integration: <strong><a href="https://www.helicone.ai/">Helicone</a></strong> integration for API observability 📊</li> <li>🌙 Dark model - Wide mode ⛶</li> </ul> <br> <h2>Why this? 💡</h2> <p>Because the official Chat <em><strong>lacks important features</strong></em>, is <em><strong>more limited than the api</strong></em>, at times <em><strong>slow or unavailable</strong></em>, and you cannot deploy it yourself, remix it, add features, or share it with your friends. Our users report that <em><strong>big-AGI is faster</strong></em>, <em><strong>more reliable</strong></em>, and <em><strong>features rich</strong></em> with features that matter to them.</p> <p><img src="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/pixels/big-AGI-compo2b.png" alt="Much features, so fun"></p> <h2>Develop 🧩</h2> <p><img src="https://img.shields.io/badge/TypeScript-007ACC?style=&amp;logo=typescript&amp;logoColor=white" alt="TypeScript"> <img src="https://img.shields.io/badge/React-61DAFB?style=&amp;logo=react&amp;logoColor=black" alt="React"> <img src="https://img.shields.io/badge/Next.js-000000?style=&amp;logo=vercel&amp;logoColor=white" alt="Next.js"></p> <p>Clone this repo, install the dependencies, and run the development server:</p> <pre><code class="language-bash">git clone https://github.com/enricoros/big-agi.git cd big-agi npm install npm run dev </code></pre> <p>Now the app should be running on <code>http://localhost:3000</code></p> <h3>Integrations:</h3> <ul> <li><a href="https://elevenlabs.io/">ElevenLabs</a> Voice Synthesis (bring your own voice too) - Settings &gt; Text To Speech</li> <li><a href="https://www.helicone.ai/">Helicone</a> LLM Observability Platform - Models &gt; OpenAI &gt; Advanced &gt; API Host: 'oai.hconeai.com'</li> <li><a href="https://paste.gg/">Paste.gg</a> Paste Sharing - Chat Menu &gt; Share via paste.gg</li> <li><a href="https://prodia.com/">Prodia</a> Image Generation - Settings &gt; Image Generation &gt; Api Key &amp; Model</li> </ul> <h2>Deploy with Docker 🐳</h2> <p>For more detailed information on deploying with Docker, please refer to the <a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/deploy-docker.md">docker deployment documentation</a>.</p> <h3>🔧 Locally built image</h3> <blockquote> <p>Firstly, write all your API keys and env vars to an <code>.env</code> file, and make sure the env file is using <em>both build and run</em>. See <a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/environment-variables.md">docs/environment-variables.md</a> for a list of all environment variables.</p> </blockquote> <pre><code class="language-bash"> ```bash docker build -t big-agi . docker run --detach 'big-agi' </code></pre> <h3>Pre-built image</h3> <blockquote> <p>Warning: the UI will still be asking for keys, as the image was built without the API keys</p> </blockquote> <pre><code class="language-bash">docker-compose up </code></pre> <h2>Deploy with Cloudflare Pages ☁️</h2> <p>Please refer to the <a href="https://raw.githubusercontent.com/enricoros/big-agi/main/docs/deploy-cloudflare.md">Cloudflare deployment documentation</a>.</p> <h2>Deploy with Vercel 🚀</h2> <p>Create your GitHub fork, create a Vercel project over that fork, and deploy it. Or press the button below for convenience.</p> <p><a href="https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fenricoros%2Fbig-agi&amp;env=OPENAI_API_KEY,OPENAI_API_HOST&amp;envDescription=OpenAI%20KEY%20for%20your%20deployment.%20Set%20HOST%20only%20if%20non-default."><img src="https://vercel.com/button" alt="Deploy with Vercel"></a></p> <br> <p>This project is licensed under the MIT License.</p> <p><a href="https://github.com/enricoros/big-agi/stargazers"><img src="https://img.shields.io/github/stars/enricoros/big-agi" alt="GitHub stars"></a> <a href="https://github.com/enricoros/big-agi/network"><img src="https://img.shields.io/github/forks/enricoros/big-agi" alt="GitHub forks"></a> <a href="https://github.com/enricoros/big-agi/pulls"><img src="https://img.shields.io/github/issues-pr/enricoros/big-agi" alt="GitHub pull requests"></a> <a href="https://github.com/enricoros/big-agi/LICENSE"><img src="https://img.shields.io/github/license/enricoros/big-agi" alt="License"></a></p> <p>Made with 💙</p> \ No newline at end of file diff --git a/typescript/weekly/index.xml b/typescript/weekly/index.xml deleted file mode 100644 index b09308d0b11..00000000000 --- a/typescript/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub TypeScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:42Z - Weekly Trending of TypeScript in GitHub - - - AntonioErdeljac/notion-clone-tutorial - 2023-10-22T02:03:42Z - tag:github.com,2023-10-22:/AntonioErdeljac/notion-clone-tutorial - - <p></p><hr><h1>Fullstack Notion Clone: Next.js 13, React, Convex, Tailwind | Full Course 2023</h1> <p><img src="https://github.com/AntonioErdeljac/notion-clone-tutorial/assets/23248726/66bcfca3-93bf-4aa4-950d-f98c020e1156" alt="Copy of Copy of Copy of Fullstack Twitter Clone (6)"></p> <p>This is a repository for Fullstack Notion Clone: Next.js 13, React, Convex, Tailwind | Full Course 2023</p> <p><a href="https://www.youtube.com/watch?v=ZbX4Ok9YX94">VIDEO TUTORIAL</a></p> <p>Key Features:</p> <ul> <li>Real-time database 🔗</li> <li>Notion-style editor 📝</li> <li>Light and Dark mode 🌓</li> <li>Infinite children documents 🌲</li> <li>Trash can &amp; soft delete 🗑️</li> <li>Authentication 🔐</li> <li>File upload</li> <li>File deletion</li> <li>File replacement</li> <li>Icons for each document (changes in real-time) 🌠</li> <li>Expandable sidebar ➡️🔀⬅️</li> <li>Full mobile responsiveness 📱</li> <li>Publish your note to the web 🌐</li> <li>Fully collapsable sidebar ↕️</li> <li>Landing page 🛬</li> <li>Cover image of each document 🖼️</li> <li>Recover deleted files 🔄📄</li> </ul> <h3>Prerequisites</h3> <p><strong>Node version 18.x.x</strong></p> <h3>Cloning the repository</h3> <pre><code class="language-shell">git clone https://github.com/AntonioErdeljac/notion-clone-tutorial.git </code></pre> <h3>Install packages</h3> <pre><code class="language-shell">npm i </code></pre> <h3>Setup .env file</h3> <pre><code class="language-js"># Deployment used by `npx convex dev` CONVEX_DEPLOYMENT= NEXT_PUBLIC_CONVEX_URL= NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY= CLERK_SECRET_KEY= EDGE_STORE_ACCESS_KEY= EDGE_STORE_SECRET_KEY= </code></pre> <h3>Setup Convex</h3> <pre><code class="language-shell">npx convex dev </code></pre> <h3>Start the app</h3> <pre><code class="language-shell">npm run dev </code></pre> - - - Codecademy/docs - 2023-10-22T02:03:42Z - tag:github.com,2023-10-22:/Codecademy/docs - - <p>Codecademy Docs is a collection of information for all things code. 📕</p><hr><div align="center"> <h1>📕 Docs</h1> <strong>Documentation for popular programming languages and frameworks.</strong> <br> <strong>Built by the community. Maintained by Codecademy.</strong> </div> <br> <h2>What is Docs?</h2> <p><a href="https://www.codecademy.com/resources/docs">Docs</a> is a free, easily accessible reference for coding terms and concepts, available to developers all over the world. If you forget what JavaScript hoisting is, we want you to be able to look up "JS hoisting" on any search engine, click a Doc entry, and have an answer in seconds.</p> <h2>What stage of development are we in right now?</h2> <p>Docs is live with over 1000 high-quality entries. Now that the MVP is out, our goal is to transition some ownership of Docs content to the Codecademy community, since maintaining a resource of this type at-scale is only possible if it's open-contribution. That means we need your help, whether it's contributing, reviewing, or evangelizing!</p> <h3>📝 Content Team</h3> <ul> <li><a href="https://github.com/aherman91">@aherman91</a>, Curriculum Developer</li> <li><a href="https://github.com/caupolicandiaz">@caupolicandiaz</a>, Content Contributor</li> <li><a href="https://github.com/HishamT">@HishamT</a>, Content Contributor</li> <li><a href="https://github.com/KTom101">@KTom101</a>, Content Contributor</li> <li><a href="https://github.com/sswiniarski">@sswiniarski</a>, Content Contributor</li> <li><a href="https://github.com/yangc95">@yangc95</a>, Content Contributor</li> </ul> <p>We are currently building a team of community volunteers and educators to maintain Docs. Let us know if you are interested.</p> <h3>🏗 Engineering Team</h3> <ul> <li><a href="https://github.com/awgraves">@awgraves</a></li> <li><a href="https://github.com/bndiep">@bndiep</a></li> <li><a href="https://github.com/christian-dinh">@christian-dinh</a></li> <li><a href="https://github.com/codecademy-aditya">@codecademy-aditya</a></li> <li><a href="https://github.com/jrood">@jrood</a></li> </ul> <h2>How do I contribute?</h2> <p>There are many ways to contribute to Docs:</p> <ul> <li>Submit a Pull Request to edit an existing entry.</li> <li>Submit a Pull Request to create a new entry.</li> <li>Submit a typo/bug in <a href="https://github.com/Codecademy/docs/issues">GitHub Issues</a>.</li> <li>Reply to the thread on <a href="https://discuss.codecademy.com/t/find-a-starting-point-possible-content-discussion/745868">Possible Content Discussion</a> to share ideas and collaborate with other contributors, maintainers, or super users to determine good future issues.</li> <li>Share your thoughts in this <a href="https://codecademyready.typeform.com/to/hzVIWDgz">Docs feedback form</a> to tell us how we can improve Docs!</li> </ul> <p>Whether you are a code newbie or a seasoned hacker, there's something for you!</p> <p>Please read through the <a href="https://www.codecademy.com/resources/docs/contribution-guide">Contribution Guide</a> ✨. There you'll find a write-up of our content standards and style guide, as well as templates for creating your entries.</p> <h2>Additional Notes</h2> <p>Remember, if you ever have any questions at all, we're always here to help in the <a href="https://discuss.codecademy.com/c/community/community-docs/2205">Codecademy Forums</a> and <a href="https://discord.com/invite/codecademy">Codecademy Discord</a>.</p> - - - th-ch/youtube-music - 2023-10-22T02:03:42Z - tag:github.com,2023-10-22:/th-ch/youtube-music - - <p>YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)</p><hr><h1>YouTube Music</h1> <div align="center"> <p><a href="https://github.com/th-ch/youtube-music/releases/"><img src="https://img.shields.io/github/release/th-ch/youtube-music.svg?style=for-the-badge&amp;logo=youtube-music" alt="GitHub release"></a> <a href="https://github.com/th-ch/youtube-music/raw/master/LICENSE"><img src="https://img.shields.io/github/license/th-ch/youtube-music.svg?style=for-the-badge" alt="GitHub license"></a> <a href="https://github.com/th-ch/youtube-music/raw/master/.eslintrc.js"><img src="https://img.shields.io/badge/code_style-eslint-5ed9c7.svg?style=for-the-badge" alt="eslint code style"></a> <a href="https://GitHub.com/th-ch/youtube-music/releases/"><img src="https://img.shields.io/github/actions/workflow/status/th-ch/youtube-music/build.yml?branch=master&amp;style=for-the-badge&amp;logo=youtube-music" alt="Build status"></a> <a href="https://snyk.io/test/github/th-ch/youtube-music"><img src="https://img.shields.io/snyk/vulnerabilities/github/th-ch/youtube-music?style=for-the-badge" alt="Known Vulnerabilities"></a> <a href="https://GitHub.com/th-ch/youtube-music/releases/"><img src="https://img.shields.io/github/downloads/th-ch/youtube-music/total?style=for-the-badge&amp;logo=youtube-music" alt="GitHub All Releases"></a> <a href="https://aur.archlinux.org/packages/youtube-music-bin"><img src="https://img.shields.io/aur/version/youtube-music-bin?color=blueviolet&amp;style=for-the-badge&amp;logo=youtube-music" alt="AUR"></a></p> </div> <p><img src="https://raw.githubusercontent.com/th-ch/youtube-music/master/web/screenshot.jpg" alt="Screenshot" title="Screenshot"></p> <div align="center"> <a href="https://github.com/th-ch/youtube-music/releases/latest"> <img src="https://raw.githubusercontent.com/th-ch/youtube-music/master/web/youtube-music.svg?sanitize=true" width="400" height="100" alt="YouTube Music SVG"> </a> </div> <p><strong>Electron wrapper around YouTube Music featuring:</strong></p> <ul> <li>Native look &amp; feel, aims at keeping the original interface</li> <li>Framework for custom plugins: change YouTube Music to your needs (style, content, features), enable/disable plugins in one click</li> </ul> <h2>Download</h2> <p>You can check out the <a href="https://github.com/th-ch/youtube-music/releases/latest">latest release</a> to quickly find the latest version.</p> <h3>Arch Linux</h3> <p>Install the <code>youtube-music-bin</code> package from the AUR. For AUR installation instructions, take a look at this <a href="https://wiki.archlinux.org/index.php/Arch_User_Repository#Installing_packages">wiki page</a>.</p> <h3>MacOS</h3> <p>If you get an error "is damaged and can’t be opened." when launching the app, run the following in the Terminal:</p> <pre><code class="language-bash">xattr -cr /Applications/YouTube\ Music.app </code></pre> <h3>Windows</h3> <p>You can use the <a href="https://scoop.sh">Scoop package manager</a> to install the <code>youtube-music</code> package from the <a href="https://github.com/ScoopInstaller/Extras"><code>extras</code> bucket</a>.</p> <pre><code class="language-bash">scoop bucket add extras scoop install extras/youtube-music </code></pre> <p>Alternately you can use <a href="https://learn.microsoft.com/en-us/windows/package-manager/winget/">Winget</a>, Windows 11s official CLI package manager to install the <code>th-ch.YouTubeMusic</code> package.</p> <p><em>Note: Microsoft Defender SmartScreen might block the installation since it is from an "unknown publisher". This is also true for the manual installation when trying to run the executable(.exe) after a manual download here on github (same file).</em></p> <pre><code class="language-bash">winget install th-ch.YouTubeMusic </code></pre> <h4>How to install without a network connection? (in Windows)</h4> <ul> <li>Download the <code>*.nsis.7z</code> file for <em>your device architecture</em> in <a href="https://github.com/th-ch/youtube-music/releases/latest">release page</a>. <ul> <li><code>x64</code> for 64-bit Windows</li> <li><code>ia32</code> for 32-bit Windows</li> <li><code>arm64</code> for ARM64 Windows</li> </ul> </li> <li>Download installer in release page. (<code>*-Setup.exe</code>)</li> <li>Place them in the <strong>same directory</strong>.</li> <li>Run the installer.</li> </ul> <h2>Available plugins:</h2> <ul> <li> <p><strong>Ad Blocker</strong>: Block all ads and tracking out of the box</p> </li> <li> <p><strong>Album Color Theme</strong>: Applies a dynamic theme and visual effects based on the album color palette</p> </li> <li> <p><strong>Ambient Mode</strong>: Applies a lighting effect by casting gentle colors from the video, into your screen’s background.</p> </li> <li> <p><strong>Audio Compressor</strong>: Apply compression to audio (lowers the volume of the loudest parts of the signal and raises the volume of the softest parts)</p> </li> <li> <p><strong>Blur Nav Bar</strong>: makes navigation bar transparent and blurry</p> </li> <li> <p><strong>Bypass age restrictions</strong>: bypass YouTube's age verification</p> </li> <li> <p><strong>Captions selector</strong>: Enable captions</p> </li> <li> <p><strong>Compact sidebar</strong>: Always set the sidebar in compact mode</p> </li> <li> <p><strong>Crossfade</strong>: Crossfade between songs</p> </li> <li> <p><strong>Disable Autoplay</strong>: Makes every song start in "paused" mode</p> </li> <li> <p><a href="https://discord.com/"><strong>Discord</strong></a>: Show your friends what you listen to with <a href="https://user-images.githubusercontent.com/28219076/104362104-a7a0b980-5513-11eb-9744-bb89eabe0016.png">Rich Presence</a></p> </li> <li> <p><strong>Downloader</strong>: downloads MP3 <a href="https://user-images.githubusercontent.com/61631665/129977677-83a7d067-c192-45e1-98ae-b5a4927393be.png">directly from the interface</a> <a href="https://github.com/ytdl-org/youtube-dl">(youtube-dl)</a></p> </li> <li> <p><strong>Exponential Volume</strong>: Makes the volume slider <a href="https://greasyfork.org/en/scripts/397686-youtube-music-fix-volume-ratio/">exponential</a> so it's easier to select lower volumes.</p> </li> <li> <p><strong>In-App Menu</strong>: <a href="https://user-images.githubusercontent.com/78568641/112215894-923dbf00-8c29-11eb-95c3-3ce15db27eca.png">gives bars a fancy, dark look</a></p> <blockquote> <p>(see <a href="https://github.com/th-ch/youtube-music/issues/410#issuecomment-952060709">this post</a> if you have problem accessing the menu after enabling this plugin and hide-menu option)</p> </blockquote> </li> <li> <p><a href="https://www.last.fm/"><strong>Last.fm</strong></a>: Scrobbles support</p> </li> <li> <p><strong>Lumia Stream</strong>: Adds <a href="https://lumiastream.com/">Lumia Stream</a> support</p> </li> <li> <p><strong>Lyrics Genius</strong>: Adds lyrics support for most songs</p> </li> <li> <p><strong>Navigation</strong>: Next/Back navigation arrows directly integrated in the interface, like in your favorite browser</p> </li> <li> <p><strong>No Google Login</strong>: Remove Google login buttons and links from the interface</p> </li> <li> <p><strong>Notifications</strong>: Display a notification when a song starts playing (<a href="https://user-images.githubusercontent.com/78568641/114102651-63ce0e00-98d0-11eb-9dfe-c5a02bb54f9c.png">interactive notifications</a> are available on windows)</p> </li> <li> <p><strong>Picture in picture</strong>: allows to switch the app to picture-in-picture mode</p> </li> <li> <p><strong>Playback Speed</strong>: Listen fast, listen slow! <a href="https://user-images.githubusercontent.com/61631665/129976003-e55db5ba-bf42-448c-a059-26a009775e68.png">Adds a slider that controls song speed</a></p> </li> <li> <p><strong>Precise Volume</strong>: Control the volume precisely using mousewheel/hotkeys, with a custom hud and customizable volume steps</p> </li> <li> <p><strong>Quality Changer</strong>: Allows changing the video quality with a <a href="https://user-images.githubusercontent.com/78568641/138574366-70324a5e-2d64-4f6a-acdd-dc2a2b9cecc5.png">button</a> on the video overlay</p> </li> <li> <p><strong>Shortcuts</strong>: Allows setting global hotkeys for playback (play/pause/next/previous) + disable <a href="https://user-images.githubusercontent.com/84923831/128601225-afa38c1f-dea8-4209-9f72-0f84c1dd8b54.png">media osd</a> by overriding media keys + enable Ctrl/CMD + F to search + enable linux mpris support for mediakeys + <a href="https://github.com/Araxeus/youtube-music/raw/1e591d6a3df98449bcda6e63baab249b28026148/providers/song-controls.js#L13-L50">custom hotkeys</a> for <a href="https://github.com/th-ch/youtube-music/issues/106#issuecomment-952156902">advanced users</a></p> </li> <li> <p><strong>Skip-Silences</strong> - Automatically skip silenced sections</p> </li> <li> <p><a href="https://github.com/ajayyy/SponsorBlock"><strong>SponsorBlock</strong></a>: Automatically Skips non-music parts like intro/outro or parts of music videos where the song isn't playing</p> </li> <li> <p><strong>Taskbar Media Control</strong>: Control playback from your <a href="https://user-images.githubusercontent.com/78568641/111916130-24a35e80-8a82-11eb-80c8-5021c1aa27f4.png">Windows taskbar</a></p> </li> <li> <p><strong>Touchbar</strong>: Custom TouchBar layout for macOS</p> </li> <li> <p><strong>Tuna-OBS</strong>: Integration with <a href="https://obsproject.com/">OBS</a>'s plugin <a href="https://obsproject.com/forum/resources/tuna.843/">Tuna</a></p> </li> <li> <p><strong>Video Toggle</strong>: Adds a <a href="https://user-images.githubusercontent.com/28893833/173663950-63e6610e-a532-49b7-9afa-54cb57ddfc15.png">button</a> to switch between Video/Song mode. can also optionally remove the whole video tab</p> </li> <li> <p><strong>Visualizer</strong>: Different music visualizers</p> </li> </ul> <hr> <ul> <li><strong>Auto confirm when paused</strong> (Always Enabled): disable the <a href="https://user-images.githubusercontent.com/61631665/129977894-01c60740-7ec6-4bf0-9a2c-25da24491b0e.png">"Continue Watching?"</a> popup that pause music after a certain time</li> </ul> <blockquote> <p>If <code>Hide Menu</code> option is on - you can show the menu with the <kbd>alt</kbd> key (or <kbd>`</kbd> [backtick] if using the in-app-menu plugin)</p> </blockquote> <h2>Themes</h2> <p>You can load CSS files to change the look of the application (Options &gt; Visual Tweaks &gt; Themes).</p> <p>Some predefined themes are available in <a href="https://github.com/kerichdev/themes-for-ytmdesktop-player">https://github.com/kerichdev/themes-for-ytmdesktop-player</a>.</p> <h2>Dev</h2> <pre><code class="language-bash">git clone https://github.com/th-ch/youtube-music cd youtube-music pnpm install --frozen-lockfile pnpm start </code></pre> <h2>Build your own plugins</h2> <p>Using plugins, you can:</p> <ul> <li>manipulate the app - the <code>BrowserWindow</code> from electron is passed to the plugin handler</li> <li>change the front by manipulating the HTML/CSS</li> </ul> <h3>Creating a plugin</h3> <p>Create a folder in <code>plugins/YOUR-PLUGIN-NAME</code>:</p> <ul> <li>if you need to manipulate the BrowserWindow, create a file with the following template:</li> </ul> <pre><code class="language-typescript">// file: back.ts export default (win: Electron.BrowserWindow, config: ConfigType&lt;'YOUR-PLUGIN-NAME'&gt;) =&gt; { // something }; </code></pre> <p>then, register the plugin in <code>index.ts</code>:</p> <pre><code class="language-typescript">import yourPlugin from './plugins/YOUR-PLUGIN-NAME/back'; // ... const mainPlugins = { // ... 'YOUR-PLUGIN-NAME': yourPlugin, }; </code></pre> <ul> <li>if you need to change the front, create a file with the following template:</li> </ul> <pre><code class="language-typescript">// file: front.ts export default (config: ConfigType&lt;'YOUR-PLUGIN-NAME'&gt;) =&gt; { // This function will be called as a preload script // So you can use front features like `document.querySelector` }; </code></pre> <p>then, register the plugin in <code>preload.ts</code>:</p> <pre><code class="language-typescript">import yourPlugin from './plugins/YOUR-PLUGIN-NAME/front'; const rendererPlugins: PluginMapper&lt;'renderer'&gt; = { // ... 'YOUR-PLUGIN-NAME': yourPlugin, }; </code></pre> <h3>Common use cases</h3> <ul> <li>injecting custom CSS: create a <code>style.css</code> file in the same folder then:</li> </ul> <pre><code class="language-typescript">import path from 'node:path'; import { injectCSS } from '../utils'; // back.ts export default (win: Electron.BrowserWindow) =&gt; { injectCSS(win.webContents, path.join(__dirname, 'style.css')); }; </code></pre> <ul> <li>changing the HTML:</li> </ul> <pre><code class="language-typescript">// front.ts export default () =&gt; { // Remove the login button document.querySelector(".sign-in-link.ytmusic-nav-bar").remove(); }; </code></pre> <ul> <li>communicating between the front and back: can be done using the ipcMain module from electron. See <code>utils.js</code> file and example in <code>navigation</code> plugin.</li> </ul> <h2>Build</h2> <ol> <li>Clone the repo</li> <li>Follow <a href="https://pnpm.io/installation">this guide</a> to install <code>pnpm</code></li> <li>Run <code>pnpm install --frozen-lockfile</code> to install dependencies</li> <li>Run <code>pnpm build:OS</code></li> </ol> <ul> <li><code>pnpm dist:win</code> - Windows</li> <li><code>pnpm dist:linux</code> - Linux</li> <li><code>pnpm dist:mac</code> - MacOS</li> </ul> <p>Builds the app for macOS, Linux, and Windows, using <a href="https://github.com/electron-userland/electron-builder">electron-builder</a>.</p> <h2>Tests</h2> <pre><code class="language-bash">pnpm test </code></pre> <p>Uses <a href="https://playwright.dev/">Playwright</a> to test the app.</p> <h2>License</h2> <p>MIT © <a href="https://github.com/th-ch/youtube-music">th-ch</a></p> - - \ No newline at end of file diff --git a/unified-parallel-c/daily/index.xml b/unified-parallel-c/daily/index.xml index ea3f15c9fce..c4a011682e8 100644 --- a/unified-parallel-c/daily/index.xml +++ b/unified-parallel-c/daily/index.xml @@ -1,7 +1,7 @@ GitHub Unified Parallel C Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:25Z + 2023-10-23T01:42:22Z Daily Trending of Unified Parallel C in GitHub \ No newline at end of file diff --git a/unified-parallel-c/weekly/index.xml b/unified-parallel-c/weekly/index.xml deleted file mode 100644 index 33cc9de07f6..00000000000 --- a/unified-parallel-c/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Unified Parallel C Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:39Z - Weekly Trending of Unified Parallel C in GitHub - - \ No newline at end of file diff --git a/unity3d-asset/daily/index.xml b/unity3d-asset/daily/index.xml index 38ddeb0928a..082e96f25e4 100644 --- a/unity3d-asset/daily/index.xml +++ b/unity3d-asset/daily/index.xml @@ -1,7 +1,7 @@ GitHub Unity3D Asset Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:27Z + 2023-10-23T01:42:21Z Daily Trending of Unity3D Asset in GitHub \ No newline at end of file diff --git a/unity3d-asset/weekly/index.xml b/unity3d-asset/weekly/index.xml deleted file mode 100644 index 7633655ad90..00000000000 --- a/unity3d-asset/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Unity3D Asset Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:38Z - Weekly Trending of Unity3D Asset in GitHub - - \ No newline at end of file diff --git a/unix-assembly/daily/index.xml b/unix-assembly/daily/index.xml index 29add916d0a..985729d817b 100644 --- a/unix-assembly/daily/index.xml +++ b/unix-assembly/daily/index.xml @@ -1,7 +1,7 @@ GitHub Unix Assembly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:39Z + 2023-10-23T01:42:39Z Daily Trending of Unix Assembly in GitHub \ No newline at end of file diff --git a/unix-assembly/weekly/index.xml b/unix-assembly/weekly/index.xml deleted file mode 100644 index f617600b99b..00000000000 --- a/unix-assembly/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Unix Assembly Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:55Z - Weekly Trending of Unix Assembly in GitHub - - \ No newline at end of file diff --git a/unknown/daily/index.xml b/unknown/daily/index.xml index 9c5bc6ec11d..03583b777a3 100644 --- a/unknown/daily/index.xml +++ b/unknown/daily/index.xml @@ -1,28 +1,28 @@ GitHub Unknown Languages Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:26:41Z + 2023-10-23T01:24:06Z Daily Trending of Unknown Languages in GitHub - danieldonda/Cybersecurity101 - 2023-10-22T01:26:41Z - tag:github.com,2023-10-22:/danieldonda/Cybersecurity101 - - <p>Um guia abrangente para iniciantes na área de cibersegurança.</p><hr> + alex-xu-system/bytebytego + 2023-10-23T01:24:06Z + tag:github.com,2023-10-23:/alex-xu-system/bytebytego + + <p></p><hr> - slowmist/SlowMist-Learning-Roadmap-for-Becoming-a-Smart-Contract-Auditor - 2023-10-22T01:26:41Z - tag:github.com,2023-10-22:/slowmist/SlowMist-Learning-Roadmap-for-Becoming-a-Smart-Contract-Auditor - - <p>Smart contract audit skills roadmap for beginners, auditors, engineers, etc.</p><hr> + Nikhilthadani/MERN-AI-ChatBot + 2023-10-23T01:24:06Z + tag:github.com,2023-10-23:/Nikhilthadani/MERN-AI-ChatBot + + <p></p><hr> - milkv-duo/duo-buildroot-sdk - 2023-10-22T01:26:41Z - tag:github.com,2023-10-22:/milkv-duo/duo-buildroot-sdk - - <p>Milk-V Duo Official buildroot SDK</p><hr> + joe-shenouda/awesome-cyber-skills + 2023-10-23T01:24:06Z + tag:github.com,2023-10-23:/joe-shenouda/awesome-cyber-skills + + <p>A curated list of hacking environments where you can train your cyber skills legally and safely</p><hr> \ No newline at end of file diff --git a/unknown/weekly/index.xml b/unknown/weekly/index.xml deleted file mode 100644 index 97c8ee9a606..00000000000 --- a/unknown/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Unknown languages Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:46:06Z - Weekly Trending of Unknown languages in GitHub - - - ProfSynapse/Synapse_CoR - 2023-10-22T01:46:06Z - tag:github.com,2023-10-22:/ProfSynapse/Synapse_CoR - - <p></p><hr> - - - nsacyber/ELITEWOLF - 2023-10-22T01:46:06Z - tag:github.com,2023-10-22:/nsacyber/ELITEWOLF - - <p>OT security monitoring #nsacyber</p><hr> - - - e2b-dev/awesome-ai-agents - 2023-10-22T01:46:06Z - tag:github.com,2023-10-22:/e2b-dev/awesome-ai-agents - - <p>A list of AI autonomous agents</p><hr> - - \ No newline at end of file diff --git a/uno/daily/index.xml b/uno/daily/index.xml index c8a14b25b5c..5e666df4aa1 100644 --- a/uno/daily/index.xml +++ b/uno/daily/index.xml @@ -1,7 +1,7 @@ GitHub Uno Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:40Z + 2023-10-23T01:42:38Z Daily Trending of Uno in GitHub \ No newline at end of file diff --git a/uno/weekly/index.xml b/uno/weekly/index.xml deleted file mode 100644 index d97a4c3a309..00000000000 --- a/uno/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Uno Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:53Z - Weekly Trending of Uno in GitHub - - \ No newline at end of file diff --git a/unrealscript/daily/index.xml b/unrealscript/daily/index.xml index fbdf72a2997..95e40578f70 100644 --- a/unrealscript/daily/index.xml +++ b/unrealscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub UnrealScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:38Z + 2023-10-23T01:42:40Z Daily Trending of UnrealScript in GitHub \ No newline at end of file diff --git a/unrealscript/weekly/index.xml b/unrealscript/weekly/index.xml deleted file mode 100644 index bfc0e33abaa..00000000000 --- a/unrealscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub UnrealScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:52Z - Weekly Trending of UnrealScript in GitHub - - \ No newline at end of file diff --git a/urweb/daily/index.xml b/urweb/daily/index.xml index 13164e7b5b2..943c7cdbf5a 100644 --- a/urweb/daily/index.xml +++ b/urweb/daily/index.xml @@ -1,7 +1,7 @@ GitHub UrWeb Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:39Z + 2023-10-23T01:42:40Z Daily Trending of UrWeb in GitHub \ No newline at end of file diff --git a/urweb/weekly/index.xml b/urweb/weekly/index.xml deleted file mode 100644 index 0838202ad25..00000000000 --- a/urweb/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub UrWeb Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:54Z - Weekly Trending of UrWeb in GitHub - - \ No newline at end of file diff --git a/v/daily/index.xml b/v/daily/index.xml index 5b748f64d4e..d3b1e0703b5 100644 --- a/v/daily/index.xml +++ b/v/daily/index.xml @@ -1,7 +1,7 @@ GitHub V Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:43Z + 2023-10-23T01:42:45Z Daily Trending of V in GitHub \ No newline at end of file diff --git a/v/weekly/index.xml b/v/weekly/index.xml deleted file mode 100644 index a3ce105c611..00000000000 --- a/v/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub V Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:58Z - Weekly Trending of V in GitHub - - \ No newline at end of file diff --git a/vala/daily/index.xml b/vala/daily/index.xml index 49b1137fe37..b5c21c1ecbf 100644 --- a/vala/daily/index.xml +++ b/vala/daily/index.xml @@ -1,7 +1,7 @@ GitHub Vala Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:45Z + 2023-10-23T01:42:44Z Daily Trending of Vala in GitHub \ No newline at end of file diff --git a/vala/weekly/index.xml b/vala/weekly/index.xml deleted file mode 100644 index ed547081b28..00000000000 --- a/vala/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Vala Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:59Z - Weekly Trending of Vala in GitHub - - - zylex/valabattery - 2023-10-22T02:03:59Z - tag:github.com,2023-10-22:/zylex/valabattery - - <p>battery monitor in system tray coded in vala</p><hr> - - \ No newline at end of file diff --git a/valve-data-format/daily/index.xml b/valve-data-format/daily/index.xml index f72addf9601..17dd4f12f67 100644 --- a/valve-data-format/daily/index.xml +++ b/valve-data-format/daily/index.xml @@ -1,7 +1,7 @@ GitHub Valve Data Format Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:42Z + 2023-10-23T01:42:43Z Daily Trending of Valve Data Format in GitHub \ No newline at end of file diff --git a/valve-data-format/weekly/index.xml b/valve-data-format/weekly/index.xml deleted file mode 100644 index 872753253f9..00000000000 --- a/valve-data-format/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Valve Data Format Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:56Z - Weekly Trending of Valve Data Format in GitHub - - \ No newline at end of file diff --git a/vba/daily/index.xml b/vba/daily/index.xml index 4d441043045..98c3bc61772 100644 --- a/vba/daily/index.xml +++ b/vba/daily/index.xml @@ -1,7 +1,7 @@ GitHub VBA Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:44Z + 2023-10-23T01:42:42Z Daily Trending of VBA in GitHub \ No newline at end of file diff --git a/vba/weekly/index.xml b/vba/weekly/index.xml deleted file mode 100644 index af527b6eff1..00000000000 --- a/vba/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub VBA Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:03:57Z - Weekly Trending of VBA in GitHub - - \ No newline at end of file diff --git a/vbscript/daily/index.xml b/vbscript/daily/index.xml index 416b8a09b6a..49c6af39687 100644 --- a/vbscript/daily/index.xml +++ b/vbscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub VBScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:46Z + 2023-10-23T01:42:48Z Daily Trending of VBScript in GitHub \ No newline at end of file diff --git a/vbscript/weekly/index.xml b/vbscript/weekly/index.xml deleted file mode 100644 index 84a1909ca6c..00000000000 --- a/vbscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub VBScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:02Z - Weekly Trending of VBScript in GitHub - - \ No newline at end of file diff --git a/vcl/daily/index.xml b/vcl/daily/index.xml index 9cffa040da9..67a2bd0284e 100644 --- a/vcl/daily/index.xml +++ b/vcl/daily/index.xml @@ -1,7 +1,7 @@ GitHub VCL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:47Z + 2023-10-23T01:42:48Z Daily Trending of VCL in GitHub \ No newline at end of file diff --git a/vcl/weekly/index.xml b/vcl/weekly/index.xml deleted file mode 100644 index 2b52f653805..00000000000 --- a/vcl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub VCL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:01Z - Weekly Trending of VCL in GitHub - - \ No newline at end of file diff --git a/verilog/daily/index.xml b/verilog/daily/index.xml index 744e87b2bfe..fb3076c10ce 100644 --- a/verilog/daily/index.xml +++ b/verilog/daily/index.xml @@ -1,7 +1,7 @@ GitHub Verilog Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:50Z + 2023-10-23T01:42:50Z Daily Trending of Verilog in GitHub \ No newline at end of file diff --git a/verilog/weekly/index.xml b/verilog/weekly/index.xml deleted file mode 100644 index 2d8c39c6b4c..00000000000 --- a/verilog/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Verilog Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:04Z - Weekly Trending of Verilog in GitHub - - \ No newline at end of file diff --git a/vhdl/daily/index.xml b/vhdl/daily/index.xml index f8600e919dd..b1f1a34a4f2 100644 --- a/vhdl/daily/index.xml +++ b/vhdl/daily/index.xml @@ -1,7 +1,14 @@ GitHub VHDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:51Z + 2023-10-23T01:42:52Z Daily Trending of VHDL in GitHub + + etf-unibl/pds-2023 + 2023-10-23T01:42:52Z + tag:github.com,2023-10-23:/etf-unibl/pds-2023 + + <p>Teaching materials for subject PDS (2023)</p><hr> + \ No newline at end of file diff --git a/vhdl/weekly/index.xml b/vhdl/weekly/index.xml deleted file mode 100644 index 44bb81ef2db..00000000000 --- a/vhdl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub VHDL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:06Z - Weekly Trending of VHDL in GitHub - - \ No newline at end of file diff --git a/vim-help-file/daily/index.xml b/vim-help-file/daily/index.xml index 4b808c765be..71f797704fb 100644 --- a/vim-help-file/daily/index.xml +++ b/vim-help-file/daily/index.xml @@ -1,7 +1,7 @@ GitHub Vim Help File Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:52Z + 2023-10-23T01:42:54Z Daily Trending of Vim Help File in GitHub \ No newline at end of file diff --git a/vim-help-file/weekly/index.xml b/vim-help-file/weekly/index.xml deleted file mode 100644 index b74b1df12b7..00000000000 --- a/vim-help-file/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Vim Help File Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:08Z - Weekly Trending of Vim Help File in GitHub - - \ No newline at end of file diff --git a/vim-script/daily/index.xml b/vim-script/daily/index.xml index bf4192f8238..de3477e62ef 100644 --- a/vim-script/daily/index.xml +++ b/vim-script/daily/index.xml @@ -1,7 +1,7 @@ GitHub Vim Script Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:56Z + 2023-10-23T01:42:57Z Daily Trending of Vim Script in GitHub \ No newline at end of file diff --git a/vim-script/weekly/index.xml b/vim-script/weekly/index.xml deleted file mode 100644 index 57b42f9b753..00000000000 --- a/vim-script/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Vim Script Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:10Z - Weekly Trending of Vim Script in GitHub - - - killtheliterate/dotvim - 2023-10-22T02:04:10Z - tag:github.com,2023-10-22:/killtheliterate/dotvim - - <p>Vim Configuration</p><hr> - - - kristijanhusak/vim-dadbod-completion - 2023-10-22T02:04:10Z - tag:github.com,2023-10-22:/kristijanhusak/vim-dadbod-completion - - <p>Database autocompletion powered by https://github.com/tpope/vim-dadbod</p><hr> - - - guumaster/vimrc - 2023-10-22T02:04:10Z - tag:github.com,2023-10-22:/guumaster/vimrc - - <p>My fabulous VIM configuration. Includes vundle and several plugins.</p><hr> - - \ No newline at end of file diff --git a/vim-snippet/daily/index.xml b/vim-snippet/daily/index.xml index 4f757ecada7..46bc59f6540 100644 --- a/vim-snippet/daily/index.xml +++ b/vim-snippet/daily/index.xml @@ -1,7 +1,7 @@ GitHub Vim Snippet Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:53Z + 2023-10-23T01:42:53Z Daily Trending of Vim Snippet in GitHub \ No newline at end of file diff --git a/vim-snippet/weekly/index.xml b/vim-snippet/weekly/index.xml deleted file mode 100644 index 3dd7daeb354..00000000000 --- a/vim-snippet/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Vim Snippet Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:07Z - Weekly Trending of Vim Snippet in GitHub - - - dishao123/rules_script - 2023-10-22T02:04:07Z - tag:github.com,2023-10-22:/dishao123/rules_script - - <p>Quantumult X,Shadowrocket,Clash,Stash,Surge,Loon,Quan X,QX, 圈X,圈叉,小火箭,气球,色鸡,分流,重写,脚本,规则,插件,IOS去广告,解锁 VIP,破解会员,懒人配置,懒人规则</p><hr> - - \ No newline at end of file diff --git a/visual-basic-.net/daily/index.xml b/visual-basic-.net/daily/index.xml index 9cde741eea3..1776fed6a59 100644 --- a/visual-basic-.net/daily/index.xml +++ b/visual-basic-.net/daily/index.xml @@ -1,7 +1,7 @@ GitHub Visual Basic .NET Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:01Z + 2023-10-23T01:43:02Z Daily Trending of Visual Basic .NET in GitHub \ No newline at end of file diff --git a/visual-basic-.net/weekly/index.xml b/visual-basic-.net/weekly/index.xml deleted file mode 100644 index 9709d7b896c..00000000000 --- a/visual-basic-.net/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Visual Basic .NET Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:15Z - Weekly Trending of Visual Basic .NET in GitHub - - - PartTimeLegend/BitcoinExchangeAutoHacker - 2023-10-22T02:04:15Z - tag:github.com,2023-10-22:/PartTimeLegend/BitcoinExchangeAutoHacker - - <p></p><hr> - - \ No newline at end of file diff --git a/volt/daily/index.xml b/volt/daily/index.xml index 06c7bc4783d..0ea0d974449 100644 --- a/volt/daily/index.xml +++ b/volt/daily/index.xml @@ -1,7 +1,7 @@ GitHub Volt Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:44:57Z + 2023-10-23T01:42:59Z Daily Trending of Volt in GitHub \ No newline at end of file diff --git a/volt/weekly/index.xml b/volt/weekly/index.xml deleted file mode 100644 index bcedfb287ff..00000000000 --- a/volt/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Volt Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:13Z - Weekly Trending of Volt in GitHub - - \ No newline at end of file diff --git a/vue/daily/index.xml b/vue/daily/index.xml index 72be1d004de..d5b7db7bec2 100644 --- a/vue/daily/index.xml +++ b/vue/daily/index.xml @@ -1,7 +1,28 @@ GitHub Vue Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:07Z + 2023-10-23T01:43:09Z Daily Trending of Vue in GitHub + + ParisNeo/lollms-webui + 2023-10-23T01:43:09Z + tag:github.com,2023-10-23:/ParisNeo/lollms-webui + + <p>Lord of Large Language Models Web User Interface</p><hr> + + + WanyueKJ/Food-delivery-uniapp + 2023-10-23T01:43:09Z + tag:github.com,2023-10-23:/WanyueKJ/Food-delivery-uniapp + + <p>万岳同城外卖(food delivery) 系统开源版,前端uniapp+后台php搭建,系统包含商家端、配送端、用户端以及总管理后台、城市配送后台</p><hr> + + + schouffy/gamedev-portfolio + 2023-10-23T01:43:09Z + tag:github.com,2023-10-23:/schouffy/gamedev-portfolio + + <p>A gamedev portfolio template</p><hr> + \ No newline at end of file diff --git a/vue/weekly/index.xml b/vue/weekly/index.xml deleted file mode 100644 index f17ed5e6fd6..00000000000 --- a/vue/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Vue Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:21Z - Weekly Trending of Vue in GitHub - - - scalar/scalar - 2023-10-22T02:04:21Z - tag:github.com,2023-10-22:/scalar/scalar - - <p>Beautiful API references from Swagger/OpenAPI files ✨</p><hr> - - \ No newline at end of file diff --git a/vyper/daily/index.xml b/vyper/daily/index.xml index e0c897a7323..032939123c3 100644 --- a/vyper/daily/index.xml +++ b/vyper/daily/index.xml @@ -1,7 +1,7 @@ GitHub Vyper Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:04Z + 2023-10-23T01:43:04Z Daily Trending of Vyper in GitHub \ No newline at end of file diff --git a/vyper/weekly/index.xml b/vyper/weekly/index.xml deleted file mode 100644 index 9ca6b8ee433..00000000000 --- a/vyper/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Vyper Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:16Z - Weekly Trending of Vyper in GitHub - - \ No newline at end of file diff --git a/wavefront-material/daily/index.xml b/wavefront-material/daily/index.xml index fa277617878..5b9327e2f59 100644 --- a/wavefront-material/daily/index.xml +++ b/wavefront-material/daily/index.xml @@ -1,7 +1,7 @@ GitHub Wavefront Material Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:02Z + 2023-10-23T01:43:06Z Daily Trending of Wavefront Material in GitHub \ No newline at end of file diff --git a/wavefront-material/weekly/index.xml b/wavefront-material/weekly/index.xml deleted file mode 100644 index c1bd0b3b75e..00000000000 --- a/wavefront-material/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Wavefront Material Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:17Z - Weekly Trending of Wavefront Material in GitHub - - \ No newline at end of file diff --git a/wavefront-object/daily/index.xml b/wavefront-object/daily/index.xml index 688979f33a4..b4414416d60 100644 --- a/wavefront-object/daily/index.xml +++ b/wavefront-object/daily/index.xml @@ -1,7 +1,7 @@ GitHub Wavefront Object Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:03Z + 2023-10-23T01:43:05Z Daily Trending of Wavefront Object in GitHub \ No newline at end of file diff --git a/wavefront-object/weekly/index.xml b/wavefront-object/weekly/index.xml deleted file mode 100644 index 1b4f805bcf2..00000000000 --- a/wavefront-object/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Wavefront Object Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:18Z - Weekly Trending of Wavefront Object in GitHub - - \ No newline at end of file diff --git a/wdl/daily/index.xml b/wdl/daily/index.xml index 6ff470df427..3afa81104d3 100644 --- a/wdl/daily/index.xml +++ b/wdl/daily/index.xml @@ -1,7 +1,7 @@ GitHub WDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:08Z + 2023-10-23T01:43:11Z Daily Trending of WDL in GitHub \ No newline at end of file diff --git a/wdl/weekly/index.xml b/wdl/weekly/index.xml deleted file mode 100644 index cb7243c79e1..00000000000 --- a/wdl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub WDL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:23Z - Weekly Trending of WDL in GitHub - - \ No newline at end of file diff --git a/web-ontology-language/daily/index.xml b/web-ontology-language/daily/index.xml index b9893aeb6cc..184f2c60041 100644 --- a/web-ontology-language/daily/index.xml +++ b/web-ontology-language/daily/index.xml @@ -1,7 +1,7 @@ GitHub Web Ontology Language Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:09Z + 2023-10-23T01:43:12Z Daily Trending of Web Ontology Language in GitHub \ No newline at end of file diff --git a/web-ontology-language/weekly/index.xml b/web-ontology-language/weekly/index.xml deleted file mode 100644 index 9a58e2c9239..00000000000 --- a/web-ontology-language/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Web Ontology Language Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:25Z - Weekly Trending of Web Ontology Language in GitHub - - \ No newline at end of file diff --git a/webassembly/daily/index.xml b/webassembly/daily/index.xml index a200b1df263..30cf2c15a26 100644 --- a/webassembly/daily/index.xml +++ b/webassembly/daily/index.xml @@ -1,7 +1,7 @@ GitHub WebAssembly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:10Z + 2023-10-23T01:43:13Z Daily Trending of WebAssembly in GitHub \ No newline at end of file diff --git a/webassembly/weekly/index.xml b/webassembly/weekly/index.xml deleted file mode 100644 index ed9401e8d21..00000000000 --- a/webassembly/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub WebAssembly Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:24Z - Weekly Trending of WebAssembly in GitHub - - \ No newline at end of file diff --git a/webidl/daily/index.xml b/webidl/daily/index.xml index 226b7f18841..9753f00c902 100644 --- a/webidl/daily/index.xml +++ b/webidl/daily/index.xml @@ -1,7 +1,7 @@ GitHub WebIDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:14Z + 2023-10-23T01:43:16Z Daily Trending of WebIDL in GitHub \ No newline at end of file diff --git a/webidl/weekly/index.xml b/webidl/weekly/index.xml deleted file mode 100644 index ed082e8aa1c..00000000000 --- a/webidl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub WebIDL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:27Z - Weekly Trending of WebIDL in GitHub - - \ No newline at end of file diff --git a/webvtt/daily/index.xml b/webvtt/daily/index.xml index 5947568e4c7..37666e1e866 100644 --- a/webvtt/daily/index.xml +++ b/webvtt/daily/index.xml @@ -1,7 +1,7 @@ GitHub WebVTT Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:12Z + 2023-10-23T01:43:15Z Daily Trending of WebVTT in GitHub \ No newline at end of file diff --git a/webvtt/weekly/index.xml b/webvtt/weekly/index.xml deleted file mode 100644 index af8e92189aa..00000000000 --- a/webvtt/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub WebVTT Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:28Z - Weekly Trending of WebVTT in GitHub - - \ No newline at end of file diff --git a/wget-config/daily/index.xml b/wget-config/daily/index.xml index 040fa1174c1..c89cf0c4cf6 100644 --- a/wget-config/daily/index.xml +++ b/wget-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub Wget Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:15Z + 2023-10-23T01:43:14Z Daily Trending of Wget Config in GitHub \ No newline at end of file diff --git a/wget-config/weekly/index.xml b/wget-config/weekly/index.xml deleted file mode 100644 index 23762010abe..00000000000 --- a/wget-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Wget Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:26Z - Weekly Trending of Wget Config in GitHub - - \ No newline at end of file diff --git a/wikitext/daily/index.xml b/wikitext/daily/index.xml index a52a83347ba..6f25726ee57 100644 --- a/wikitext/daily/index.xml +++ b/wikitext/daily/index.xml @@ -1,7 +1,7 @@ GitHub Wikitext Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:17Z + 2023-10-23T01:43:19Z Daily Trending of Wikitext in GitHub \ No newline at end of file diff --git a/wikitext/weekly/index.xml b/wikitext/weekly/index.xml deleted file mode 100644 index eabbb403a11..00000000000 --- a/wikitext/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Wikitext Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:30Z - Weekly Trending of Wikitext in GitHub - - \ No newline at end of file diff --git a/windows-registry-entries/daily/index.xml b/windows-registry-entries/daily/index.xml index 8d3657c11d6..36c44504463 100644 --- a/windows-registry-entries/daily/index.xml +++ b/windows-registry-entries/daily/index.xml @@ -1,7 +1,7 @@ GitHub Windows Registry Entries Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:18Z + 2023-10-23T01:43:21Z Daily Trending of Windows Registry Entries in GitHub \ No newline at end of file diff --git a/windows-registry-entries/weekly/index.xml b/windows-registry-entries/weekly/index.xml deleted file mode 100644 index 110f65568fb..00000000000 --- a/windows-registry-entries/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Windows Registry Entries Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:30Z - Weekly Trending of Windows Registry Entries in GitHub - - \ No newline at end of file diff --git a/wisp/daily/index.xml b/wisp/daily/index.xml index a078365b1c8..222ab2a6e40 100644 --- a/wisp/daily/index.xml +++ b/wisp/daily/index.xml @@ -1,7 +1,7 @@ GitHub wisp Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:20Z + 2023-10-23T01:43:23Z Daily Trending of wisp in GitHub \ No newline at end of file diff --git a/wisp/weekly/index.xml b/wisp/weekly/index.xml deleted file mode 100644 index dbe7688e7ed..00000000000 --- a/wisp/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub wisp Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:36Z - Weekly Trending of wisp in GitHub - - \ No newline at end of file diff --git a/witcher-script/daily/index.xml b/witcher-script/daily/index.xml index 6f6e7b78430..d28c68771c3 100644 --- a/witcher-script/daily/index.xml +++ b/witcher-script/daily/index.xml @@ -1,7 +1,7 @@ GitHub Witcher Script Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:22Z + 2023-10-23T01:43:22Z Daily Trending of Witcher Script in GitHub \ No newline at end of file diff --git a/witcher-script/weekly/index.xml b/witcher-script/weekly/index.xml deleted file mode 100644 index bdf6fa399e1..00000000000 --- a/witcher-script/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Witcher Script Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:34Z - Weekly Trending of Witcher Script in GitHub - - \ No newline at end of file diff --git a/wollok/daily/index.xml b/wollok/daily/index.xml index efe6d78c756..2026fd48c4c 100644 --- a/wollok/daily/index.xml +++ b/wollok/daily/index.xml @@ -1,7 +1,7 @@ GitHub Wollok Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:23Z + 2023-10-23T01:43:25Z Daily Trending of Wollok in GitHub \ No newline at end of file diff --git a/wollok/weekly/index.xml b/wollok/weekly/index.xml deleted file mode 100644 index efcd0df34a9..00000000000 --- a/wollok/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Wollok Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:33Z - Weekly Trending of Wollok in GitHub - - \ No newline at end of file diff --git a/world-of-warcraft-addon-data/daily/index.xml b/world-of-warcraft-addon-data/daily/index.xml index 4f495bb7c4f..6b75e848e22 100644 --- a/world-of-warcraft-addon-data/daily/index.xml +++ b/world-of-warcraft-addon-data/daily/index.xml @@ -1,7 +1,7 @@ GitHub World of Warcraft Addon Data Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:21Z + 2023-10-23T01:43:24Z Daily Trending of World of Warcraft Addon Data in GitHub \ No newline at end of file diff --git a/world-of-warcraft-addon-data/weekly/index.xml b/world-of-warcraft-addon-data/weekly/index.xml deleted file mode 100644 index 41df35b1b88..00000000000 --- a/world-of-warcraft-addon-data/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub World of Warcraft Addon Data Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:35Z - Weekly Trending of World of Warcraft Addon Data in GitHub - - \ No newline at end of file diff --git a/x-bitmap/daily/index.xml b/x-bitmap/daily/index.xml index abf72eee2d1..8faa757ce7c 100644 --- a/x-bitmap/daily/index.xml +++ b/x-bitmap/daily/index.xml @@ -1,7 +1,7 @@ GitHub X BitMap Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:25Z + 2023-10-23T01:43:29Z Daily Trending of X BitMap in GitHub \ No newline at end of file diff --git a/x-bitmap/weekly/index.xml b/x-bitmap/weekly/index.xml deleted file mode 100644 index 54e4f7e0be7..00000000000 --- a/x-bitmap/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub X BitMap Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:37Z - Weekly Trending of X BitMap in GitHub - - \ No newline at end of file diff --git a/x-font-directory-index/daily/index.xml b/x-font-directory-index/daily/index.xml index 60b5ba186ac..6279fd66637 100644 --- a/x-font-directory-index/daily/index.xml +++ b/x-font-directory-index/daily/index.xml @@ -1,7 +1,7 @@ GitHub X Font Directory Index Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:24Z + 2023-10-23T01:43:28Z Daily Trending of X Font Directory Index in GitHub \ No newline at end of file diff --git a/x-font-directory-index/weekly/index.xml b/x-font-directory-index/weekly/index.xml deleted file mode 100644 index 7543e011f59..00000000000 --- a/x-font-directory-index/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub X Font Directory Index Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:40Z - Weekly Trending of X Font Directory Index in GitHub - - \ No newline at end of file diff --git a/x-pixmap/daily/index.xml b/x-pixmap/daily/index.xml index 39e51f28cc2..9d38847575a 100644 --- a/x-pixmap/daily/index.xml +++ b/x-pixmap/daily/index.xml @@ -1,7 +1,7 @@ GitHub X PixMap Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:26Z + 2023-10-23T01:43:26Z Daily Trending of X PixMap in GitHub \ No newline at end of file diff --git a/x-pixmap/weekly/index.xml b/x-pixmap/weekly/index.xml deleted file mode 100644 index 321670edfbe..00000000000 --- a/x-pixmap/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub X PixMap Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:38Z - Weekly Trending of X PixMap in GitHub - - \ No newline at end of file diff --git a/x10/daily/index.xml b/x10/daily/index.xml index 669cc080f74..341d5c12b83 100644 --- a/x10/daily/index.xml +++ b/x10/daily/index.xml @@ -1,7 +1,7 @@ GitHub X10 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:30Z + 2023-10-23T01:43:32Z Daily Trending of X10 in GitHub \ No newline at end of file diff --git a/x10/weekly/index.xml b/x10/weekly/index.xml deleted file mode 100644 index 1f2f63857ec..00000000000 --- a/x10/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub X10 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:41Z - Weekly Trending of X10 in GitHub - - \ No newline at end of file diff --git a/xbase/daily/index.xml b/xbase/daily/index.xml index d25521081f2..682d2884734 100644 --- a/xbase/daily/index.xml +++ b/xbase/daily/index.xml @@ -1,7 +1,7 @@ GitHub xBase Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:29Z + 2023-10-23T01:43:30Z Daily Trending of xBase in GitHub \ No newline at end of file diff --git a/xbase/weekly/index.xml b/xbase/weekly/index.xml deleted file mode 100644 index 2eb15932dda..00000000000 --- a/xbase/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub xBase Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:42Z - Weekly Trending of xBase in GitHub - - \ No newline at end of file diff --git a/xc/daily/index.xml b/xc/daily/index.xml index 44bbff322b6..ab44566a42f 100644 --- a/xc/daily/index.xml +++ b/xc/daily/index.xml @@ -1,7 +1,7 @@ GitHub XC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:31Z + 2023-10-23T01:43:33Z Daily Trending of XC in GitHub \ No newline at end of file diff --git a/xc/weekly/index.xml b/xc/weekly/index.xml deleted file mode 100644 index 9aa8e7d3c8f..00000000000 --- a/xc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:43Z - Weekly Trending of XC in GitHub - - \ No newline at end of file diff --git a/xcompose/daily/index.xml b/xcompose/daily/index.xml index 8526af37b98..8614c624a5e 100644 --- a/xcompose/daily/index.xml +++ b/xcompose/daily/index.xml @@ -1,7 +1,7 @@ GitHub XCompose Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:28Z + 2023-10-23T01:43:31Z Daily Trending of XCompose in GitHub \ No newline at end of file diff --git a/xcompose/weekly/index.xml b/xcompose/weekly/index.xml deleted file mode 100644 index 158b289b5b0..00000000000 --- a/xcompose/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XCompose Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:43Z - Weekly Trending of XCompose in GitHub - - \ No newline at end of file diff --git a/xml-property-list/daily/index.xml b/xml-property-list/daily/index.xml index 87a51b4b099..a28bd1af154 100644 --- a/xml-property-list/daily/index.xml +++ b/xml-property-list/daily/index.xml @@ -1,7 +1,7 @@ GitHub XML Property List Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:32Z + 2023-10-23T01:43:34Z Daily Trending of XML Property List in GitHub \ No newline at end of file diff --git a/xml-property-list/weekly/index.xml b/xml-property-list/weekly/index.xml deleted file mode 100644 index 18bfd49d8e3..00000000000 --- a/xml-property-list/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XML Property List Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:45Z - Weekly Trending of XML Property List in GitHub - - \ No newline at end of file diff --git a/xml/daily/index.xml b/xml/daily/index.xml index 35ea061f35e..ee246eea7ff 100644 --- a/xml/daily/index.xml +++ b/xml/daily/index.xml @@ -1,7 +1,7 @@ GitHub XML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:35Z + 2023-10-23T01:43:37Z Daily Trending of XML in GitHub \ No newline at end of file diff --git a/xml/weekly/index.xml b/xml/weekly/index.xml deleted file mode 100644 index d63219ae6d2..00000000000 --- a/xml/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub XML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:47Z - Weekly Trending of XML in GitHub - - - johnfelipe/juegoplantilla1 - 2023-10-22T02:04:47Z - tag:github.com,2023-10-22:/johnfelipe/juegoplantilla1 - - <p></p><hr><h1>PhoneGap Build App Template</h1> <p><em>Copyright (c) 2012 Daniele Veneroni. Released under MIT License.</em></p> <p>PhoneGap Build App Template is a template (a ready-to-use project) to create web app and it's formatted to be easly wrapped on a stand-alone application using PhoneGap Build to build app for iOS, Android, Windows Phone, BlackBerry, WebOS and Symbian.</p> <p>You can easly replace or modify the resources of the project to create your own app.</p> <h2>Project Structure:</h2> <h3>index.html</h3> <p>Your main page, that's the first page that the app will show when loaded.</p> <h3>manifest.webapp</h3> <p>Open Web App manifest, useful if you wish to create a web app for Firefox or Firefox OS.</p> <h3>manifest.appcache</h3> <p>App cache manifest, useful to declare what resources can be cached and what resources must always reload. It can be used to create an offline web app, or a web Firefox OS app.</p> <h3>config.xml</h3> <p>The configurations file. See <a href="https://build.phonegap.com/docs/config-xml">Using config.xml</a> to learn how to personalize yours. It's already formatted with the most common settings.</p> <h3>icon.png, splash.png</h3> <p>The essential icon and splash screen. These are used only if the the app runs on a device that don't support any of the provided icons or splash screens.</p> <h3>icons folder</h3> <p>Contains all formats of icons required for the various operative systems.</p> <h3>splash folder</h3> <p>Contains all formats of splash screens required for the various operative systems.</p> <h3>lib folder</h3> <p>Contains all the libraries, frameworks, CSS and images needed to the app. Provided frameworks:</p> <ul> <li><strong>add2home</strong> - it makes appear a message to allow the user to create a web app container on iOS from the browser version</li> </ul> - - \ No newline at end of file diff --git a/xojo/daily/index.xml b/xojo/daily/index.xml index ad130795e09..e54fc396ef5 100644 --- a/xojo/daily/index.xml +++ b/xojo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Xojo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:33Z + 2023-10-23T01:43:36Z Daily Trending of Xojo in GitHub \ No newline at end of file diff --git a/xojo/weekly/index.xml b/xojo/weekly/index.xml deleted file mode 100644 index 277bc294349..00000000000 --- a/xojo/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Xojo Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:45Z - Weekly Trending of Xojo in GitHub - - \ No newline at end of file diff --git a/xonsh/daily/index.xml b/xonsh/daily/index.xml index 0abb325dbc2..6863d4ceab6 100644 --- a/xonsh/daily/index.xml +++ b/xonsh/daily/index.xml @@ -1,7 +1,7 @@ GitHub Xonsh Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:34Z + 2023-10-23T01:43:35Z Daily Trending of Xonsh in GitHub \ No newline at end of file diff --git a/xonsh/weekly/index.xml b/xonsh/weekly/index.xml deleted file mode 100644 index dcee7148d38..00000000000 --- a/xonsh/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Xonsh Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:46Z - Weekly Trending of Xonsh in GitHub - - \ No newline at end of file diff --git a/xpages/daily/index.xml b/xpages/daily/index.xml index 8b74263f371..82282a7d617 100644 --- a/xpages/daily/index.xml +++ b/xpages/daily/index.xml @@ -1,7 +1,7 @@ GitHub XPages Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:36Z + 2023-10-23T01:43:39Z Daily Trending of XPages in GitHub \ No newline at end of file diff --git a/xpages/weekly/index.xml b/xpages/weekly/index.xml deleted file mode 100644 index 59a15a702f0..00000000000 --- a/xpages/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XPages Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:49Z - Weekly Trending of XPages in GitHub - - \ No newline at end of file diff --git a/xproc/daily/index.xml b/xproc/daily/index.xml index 98c8adbc9e5..8b4dd5c8934 100644 --- a/xproc/daily/index.xml +++ b/xproc/daily/index.xml @@ -1,7 +1,7 @@ GitHub XProc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:37Z + 2023-10-23T01:43:41Z Daily Trending of XProc in GitHub \ No newline at end of file diff --git a/xproc/weekly/index.xml b/xproc/weekly/index.xml deleted file mode 100644 index 02ee85f20a7..00000000000 --- a/xproc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XProc Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:51Z - Weekly Trending of XProc in GitHub - - \ No newline at end of file diff --git a/xquery/daily/index.xml b/xquery/daily/index.xml index 19861cfd5ec..79246eaaf04 100644 --- a/xquery/daily/index.xml +++ b/xquery/daily/index.xml @@ -1,7 +1,7 @@ GitHub XQuery Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:38Z + 2023-10-23T01:43:40Z Daily Trending of XQuery in GitHub \ No newline at end of file diff --git a/xquery/weekly/index.xml b/xquery/weekly/index.xml deleted file mode 100644 index 7f3e91559c6..00000000000 --- a/xquery/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XQuery Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:50Z - Weekly Trending of XQuery in GitHub - - \ No newline at end of file diff --git a/xs/daily/index.xml b/xs/daily/index.xml index b7720c3ef4d..7bf20140178 100644 --- a/xs/daily/index.xml +++ b/xs/daily/index.xml @@ -1,7 +1,7 @@ GitHub XS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:39Z + 2023-10-23T01:43:39Z Daily Trending of XS in GitHub \ No newline at end of file diff --git a/xs/weekly/index.xml b/xs/weekly/index.xml deleted file mode 100644 index 9fc63695244..00000000000 --- a/xs/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:50Z - Weekly Trending of XS in GitHub - - \ No newline at end of file diff --git a/xslt/daily/index.xml b/xslt/daily/index.xml index d1f80a61785..21e09bea087 100644 --- a/xslt/daily/index.xml +++ b/xslt/daily/index.xml @@ -1,7 +1,14 @@ GitHub XSLT Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:44Z + 2023-10-23T01:43:46Z Daily Trending of XSLT in GitHub + + briankavanaugh/APA-7th-Edition + 2023-10-23T01:43:46Z + tag:github.com,2023-10-23:/briankavanaugh/APA-7th-Edition + + <p>Microsoft Word XSD for generating APA 7th edition references</p><hr><h1>APA 7th Edition for Microsoft Word</h1> <p>Until (unless) Microsoft gets around to adding a template for the latest version, this is the APA 7th Edition XSLT modified by Mike Slagle, plus the two additional fixes posted in the comments found <a href="https://answers.microsoft.com/en-us/msoffice/forum/all/apa-7th-edition-in-ms-word/486fc70e-b7c7-40df-89bb-f8fc07169d40">here</a>. This way, if other changes are needed, this file can be updated.</p> <h2>How to Use</h2> <h3>Windows</h3> <h4>Manual Method</h4> <ol> <li>Exit Word</li> <li>Using Windows Explorer, copy the file APASeventhEdition.xsl to C:\Users&lt;your_user_name&gt;\AppData\Roaming\Microsoft\Bibliography\Style</li> <li>Restart Word and from the References tab in Word, you should be able to choose APA7.</li> </ol> <h4>Bat file method / Cmd method</h4> <ol> <li>Exit word</li> <li>Copy the APASeventhEdition.bat file and allow it to run.</li> <li>Restart Word and from the References tab in Word, you should be able to choose APA7.</li> </ol> <p>Note: The bat file simply runs the following line:</p> <pre><code>curl https://raw.githubusercontent.com/briankavanaugh/APA-7th-Edition/main/APASeventhEdition.xsl -o "%appdata%\Microsoft\Bibliography\Style\APASeventhEdition.xsl" </code></pre> <h3>MacOS</h3> <ol> <li>Exit Word</li> <li>Using Finder, copy the file APASeventhEdition.xsl to <em>two</em> locations: <ol> <li>HD/Applications/Microsoft Word.app/Contents/Resources/Style/ (note that you will have to right-click and "View Contents" on the app icon at HD/Applications/Microsoft Word.app/)</li> <li>HD/Users/&lt;your_user_name&gt;/Library/Containers/com.microsoft.Word/Data/Library/Application Support/Microsoft/Office/Style/</li> </ol> </li> <li>Restart Word and from the References tab in Word, you should be able to choose APA7.</li> </ol> <h2>Disclaimer</h2> <p>(same as Mike's) I am only providing this file and the necessary location for it for education purposes. If any installations of MS Office are corrupted as a result of using this file, I am not responsible to address or repair any issues.</p> + \ No newline at end of file diff --git a/xslt/weekly/index.xml b/xslt/weekly/index.xml deleted file mode 100644 index 2220f26306a..00000000000 --- a/xslt/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XSLT Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:56Z - Weekly Trending of XSLT in GitHub - - \ No newline at end of file diff --git a/xtend/daily/index.xml b/xtend/daily/index.xml index f1de58fd0cb..b690b93448f 100644 --- a/xtend/daily/index.xml +++ b/xtend/daily/index.xml @@ -1,7 +1,7 @@ GitHub Xtend Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:42Z + 2023-10-23T01:43:43Z Daily Trending of Xtend in GitHub \ No newline at end of file diff --git a/xtend/weekly/index.xml b/xtend/weekly/index.xml deleted file mode 100644 index 4d980ea21d0..00000000000 --- a/xtend/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Xtend Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:52Z - Weekly Trending of Xtend in GitHub - - \ No newline at end of file diff --git a/yacc/daily/index.xml b/yacc/daily/index.xml index 349e872f140..fe769db6ca1 100644 --- a/yacc/daily/index.xml +++ b/yacc/daily/index.xml @@ -1,7 +1,7 @@ GitHub Yacc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:41Z + 2023-10-23T01:43:44Z Daily Trending of Yacc in GitHub \ No newline at end of file diff --git a/yacc/weekly/index.xml b/yacc/weekly/index.xml deleted file mode 100644 index e32522383bf..00000000000 --- a/yacc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Yacc Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:53Z - Weekly Trending of Yacc in GitHub - - \ No newline at end of file diff --git a/yaml/daily/index.xml b/yaml/daily/index.xml index adde66b59b9..f997fe6e873 100644 --- a/yaml/daily/index.xml +++ b/yaml/daily/index.xml @@ -1,7 +1,7 @@ GitHub YAML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:40Z + 2023-10-23T01:43:45Z Daily Trending of YAML in GitHub \ No newline at end of file diff --git a/yaml/weekly/index.xml b/yaml/weekly/index.xml deleted file mode 100644 index 733521db561..00000000000 --- a/yaml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub YAML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:54Z - Weekly Trending of YAML in GitHub - - \ No newline at end of file diff --git a/yang/daily/index.xml b/yang/daily/index.xml index 103288209f0..8abb4cbb5d1 100644 --- a/yang/daily/index.xml +++ b/yang/daily/index.xml @@ -1,7 +1,7 @@ GitHub YANG Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:48Z + 2023-10-23T01:43:51Z Daily Trending of YANG in GitHub \ No newline at end of file diff --git a/yang/weekly/index.xml b/yang/weekly/index.xml deleted file mode 100644 index 3df103749ff..00000000000 --- a/yang/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub YANG Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:58Z - Weekly Trending of YANG in GitHub - - \ No newline at end of file diff --git a/yara/daily/index.xml b/yara/daily/index.xml index af054c02692..e846843c0c0 100644 --- a/yara/daily/index.xml +++ b/yara/daily/index.xml @@ -1,7 +1,7 @@ GitHub YARA Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:47Z + 2023-10-23T01:43:52Z Daily Trending of YARA in GitHub \ No newline at end of file diff --git a/yara/weekly/index.xml b/yara/weekly/index.xml deleted file mode 100644 index fa0daa9f481..00000000000 --- a/yara/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub YARA Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:05:00Z - Weekly Trending of YARA in GitHub - - \ No newline at end of file diff --git a/yasnippet/daily/index.xml b/yasnippet/daily/index.xml index f012b79d732..002d51c36ff 100644 --- a/yasnippet/daily/index.xml +++ b/yasnippet/daily/index.xml @@ -1,7 +1,7 @@ GitHub YASnippet Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:49Z + 2023-10-23T01:43:49Z Daily Trending of YASnippet in GitHub \ No newline at end of file diff --git a/yasnippet/weekly/index.xml b/yasnippet/weekly/index.xml deleted file mode 100644 index 16afe85a188..00000000000 --- a/yasnippet/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub YASnippet Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:04:59Z - Weekly Trending of YASnippet in GitHub - - \ No newline at end of file diff --git a/zap/daily/index.xml b/zap/daily/index.xml index b5743b3a856..66f8433359b 100644 --- a/zap/daily/index.xml +++ b/zap/daily/index.xml @@ -1,7 +1,7 @@ GitHub ZAP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:52Z + 2023-10-23T01:43:53Z Daily Trending of ZAP in GitHub \ No newline at end of file diff --git a/zap/weekly/index.xml b/zap/weekly/index.xml deleted file mode 100644 index b3fd13b0d5e..00000000000 --- a/zap/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ZAP Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:05:04Z - Weekly Trending of ZAP in GitHub - - \ No newline at end of file diff --git a/zeek/daily/index.xml b/zeek/daily/index.xml index 6e7c6f4d508..371b0e8d147 100644 --- a/zeek/daily/index.xml +++ b/zeek/daily/index.xml @@ -1,7 +1,7 @@ GitHub Zeek Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:51Z + 2023-10-23T01:43:54Z Daily Trending of Zeek in GitHub \ No newline at end of file diff --git a/zeek/weekly/index.xml b/zeek/weekly/index.xml deleted file mode 100644 index c5e041b0b6c..00000000000 --- a/zeek/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Zeek Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:05:04Z - Weekly Trending of Zeek in GitHub - - \ No newline at end of file diff --git a/zenscript/daily/index.xml b/zenscript/daily/index.xml index db14638db4d..1c4257ada5b 100644 --- a/zenscript/daily/index.xml +++ b/zenscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub ZenScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:52Z + 2023-10-23T01:43:57Z Daily Trending of ZenScript in GitHub \ No newline at end of file diff --git a/zenscript/weekly/index.xml b/zenscript/weekly/index.xml deleted file mode 100644 index 0cbfd548373..00000000000 --- a/zenscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ZenScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:05:03Z - Weekly Trending of ZenScript in GitHub - - \ No newline at end of file diff --git a/zephir/daily/index.xml b/zephir/daily/index.xml index b1bdbe5e815..d9fb598536e 100644 --- a/zephir/daily/index.xml +++ b/zephir/daily/index.xml @@ -1,7 +1,7 @@ GitHub Zephir Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:50Z + 2023-10-23T01:43:55Z Daily Trending of Zephir in GitHub \ No newline at end of file diff --git a/zephir/weekly/index.xml b/zephir/weekly/index.xml deleted file mode 100644 index 8824e1ffe8e..00000000000 --- a/zephir/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Zephir Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:05:01Z - Weekly Trending of Zephir in GitHub - - \ No newline at end of file diff --git a/zig/daily/index.xml b/zig/daily/index.xml index 8770befa2ce..659436fa285 100644 --- a/zig/daily/index.xml +++ b/zig/daily/index.xml @@ -1,7 +1,21 @@ GitHub Zig Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:54Z + 2023-10-23T01:44:02Z Daily Trending of Zig in GitHub + + andrewrk/tetris + 2023-10-23T01:44:02Z + tag:github.com,2023-10-23:/andrewrk/tetris + + <p>A simple tetris clone written in zig programming language.</p><hr> + + + 00JCIV00/cova + 2023-10-23T01:44:02Z + tag:github.com,2023-10-23:/00JCIV00/cova + + <p>Commands, Options, Values, Arguments. A simple yet robust cross-platform command line argument parsing library for Zig.</p><hr> + \ No newline at end of file diff --git a/zig/weekly/index.xml b/zig/weekly/index.xml deleted file mode 100644 index 889d29e64d4..00000000000 --- a/zig/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Zig Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:05:07Z - Weekly Trending of Zig in GitHub - - - cfrg/draft-irtf-cfrg-aegis-aead - 2023-10-22T02:05:07Z - tag:github.com,2023-10-22:/cfrg/draft-irtf-cfrg-aegis-aead - - <p>Specification for the AEGIS family of authenticated encryption algorithms.</p><hr> - - \ No newline at end of file diff --git a/zil/daily/index.xml b/zil/daily/index.xml index 10ac7777ea2..011d24d5edc 100644 --- a/zil/daily/index.xml +++ b/zil/daily/index.xml @@ -1,7 +1,7 @@ GitHub ZIL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:56Z + 2023-10-23T01:43:58Z Daily Trending of ZIL in GitHub \ No newline at end of file diff --git a/zil/weekly/index.xml b/zil/weekly/index.xml deleted file mode 100644 index dd1fb58bf1d..00000000000 --- a/zil/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ZIL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:05:08Z - Weekly Trending of ZIL in GitHub - - \ No newline at end of file diff --git a/zimpl/daily/index.xml b/zimpl/daily/index.xml index 2172fb2afb2..f7e2a9329c9 100644 --- a/zimpl/daily/index.xml +++ b/zimpl/daily/index.xml @@ -1,7 +1,7 @@ GitHub Zimpl Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T01:45:55Z + 2023-10-23T01:43:59Z Daily Trending of Zimpl in GitHub \ No newline at end of file diff --git a/zimpl/weekly/index.xml b/zimpl/weekly/index.xml deleted file mode 100644 index 7e5de1f0de1..00000000000 --- a/zimpl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Zimpl Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-10-22T02:05:06Z - Weekly Trending of Zimpl in GitHub - - \ No newline at end of file